Hello!

Inspiré(e) de prendre part à la discussion ? Ou de poser une question ou demander de l’aide ?

Alors bienvenues dans les grands sujets des forums de La Bulle : m’inscrire.

Cette partie du forum n’est pas compatible avec les bloqueurs publicitaires

Félicitations à vous, de préférer les accès payants plutôt que la gratuité par la publicité, c’est honnorable et cohérent de votre part. Malheureusement, l’accès payant par micropaiement (qui serait d’environ 1 cent pour 20 pages consultées) n’est pour l’instant pas encore mis en place, et l’accès gratuit sans publicité, est réservé aux membres actif(ve)s du forum. En attendant, si vous souhaitez poursuivre votre visite chez nous, vous pouvez ajouter le site à votre liste blanche, ou encore mieux, désactiver le bloqueur partout. Pour ajouter le site à votre liste blanche, pour Firefox (similaire pour les autres navigateurs), rendez‑vous en bas à gauche de la fenêtre de votre navigateur, et cliquez sur le menu comme dans l’exemple de l’image ci‑dessous, puis rechargez la page, en appuyant sur F5.

Conception d'une boite à réfléchir avec Ada et Prolog
Auteur Message
Beau Parleur
Beau Parleur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 320
Dim 1 Avr 2018 11:12
Message Conception d'une boite à réfléchir avec Ada et Prolog
Bonjour. Et Bon week end à tous.

/*****************/
/* introduction */
/*****************/
Je viens ici demander conseil avant de me lancer dans la section Sciences.

J'ai un projet, depuis 30ans, qui est de mettre mes idées et ma philosophie dans un ordinateur afin de pourvoir méditer/réflchir éfficacement sans trop me casser la tête.

Je ne suis pas logicien, et même, suis plein de contradictions, telle est la raison de ce projet.

J'ai depuis appris un peu de logique booléenne et à programmer avec le langage de programmtion Ada.

Depuis peu, je découvre le langage Prolog avec lequel j'ai rapidement écrit un petit programme qui va me permettre d'imager mon propos.

/*****************************/
/* Exposé de mon projet */
/*****************************/
Je souhaiterais écrire un ou plusieurs programme(s) qui me permettrai(en)t de m'exprimer dans un langage proche d'un langage naturel ; Pour moi ce sera un langage mixte (english/français), le franglais s'imposant aujourd'hui sur le territoire.

Je souhaiterais dans un premier temps simplement écrire une phrase "quelconque" ou presque et que le prgramme me réponde : oui ou false, ou encore no or vrai ; Et comment oui ou comment non.

/**************************************/
/* Prototype de mon programme */
/**************************************/
Le programme qui suit est écrit avec le langage de programmtion Prolog, il s'agit d'un ensemble de données et d'instruction à l'attention de l'ordinateur qui appliquera les instructions données avec les données données.

Code : 

/******************************************************************************\
/
/* Prolog *\
/
/* Linguistic Neuro Program *\
/
/* Version 0.0.1 *\
/
/******************************************************************************\
/
/* Date : 2018-03-27 04:00:00 *\
/
/* Author : E. Sens *\
/
/* Version : 0.0.1 *\
/
/* Description : Linguistic Neuro Program *\
/
/******************************************************************************\
/
antinomie(negative, positive).
antinomie(no, yes).
antinomie(true, false).


antinomie(peace, war).
antinomie(dead, life).

synonyme(no, negative).
synonyme(negative, false).

synonyme(yes, positive).
synonyme(positive, true).

synonyme(affirmative, positive).

synonyme(love, like).
synonyme(war, dead).
synonyme(life, will).

search_antinomie(Left, Right) :- (antinomie(Left, Right), !
; antinomie(Right, Left)).

search_synonyme(Left, Right) :- (synonyme(Left, Right), !
; synonyme(Right, Left)).

no_analyze(X, S) :-
(search_synonyme(X, Y),
search_antinomie(Y, A),
search_synonyme(A, S), !
;
search_antinomie(X, S)).

yes_analyze(X, A) :-
(search_antinomie(X, Y),
search_synonyme(Y, S),
search_antinomie(S, A), !
;
search_synonyme(X, A)).

no(X, S) :- no_analyze(X, S).
yes(X, A) :- yes_analyze(X, A).

une fois ce programme écris dans un document texte, il est enregistré (d'une certaine manière) par l'ordinateur et plus précisément par le programme Prolog afin de pouvoir répondre en utilisant les instructions données dans le documents texte.

Ainsi, j'utilise en suite les deux instructions principales "no" ou "yes".
(on peu utiliser les deux à la fois mais c'est trop compliqué pour moi même pour un programme de 30lignes.

/***************************/
/* Exemple d'utilisation */
/***************************/
Citation : 
Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 7.2.3)
Copyright (c) 1990-2015 University of Amsterdam, VU Amsterdam
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.

For help, use ?- help(Topic). or ?- apropos(Word).

?- yes(peace, X).
X = life.

?- no(war, X).
X = will.

?- no(true, X).
X = false.

?- yes(false, X).
X = negative.

?-

Ici le programme cherche, selon l'instruction "yes" ou "no" les synonymes et antinomie du propos exposé en paramettre de l'instruction, et répond par le biais d'un second paramettre libre (sans valeur initiale).

Je souhaiterais étendre ce programme à l'ensemble du dictionnaire de la langue française.

J'ai un dictonnaire complet, avec les noms, les verbe, les adjectif, etc.

/********************************************/
/* Comment réaliser ce programme ? */
/********************************************/
J'ai également à ma disposition un outils particulier qui me permet de trier et classer les expressions selon leur contenu dans une catégorie parmis plusieurs. Cet outils est un outils mathématique qui à la propriété d'établir une règle de classement selon des exemple donnés.

Ma difficulter ici est de percevoir comment joindre cet outils qui est à ma disposition dans le langage de programmation Ada et le programme "final" qui sera dans le langage de programmation Prolog.

/********************************/
Finalité du programme final */
/********************************/
Je souhaiterais en suite mettre ce prgramme à disposition grâce au réseau Internet à l'aide d'un petit système client/serveur.


Je viens vous demander votre aide, votre idée ou votre conseil pour poursuivre ma démarche.
Ma difficulté étant de trouver le bon bout par lequel commencer les choses.

En effet je dois générer un programme Prolog avec un outils Ada et interfaçer le programme Prolog avec un programme Ada.

Ce qui fait au moins 3 programmes distincts, mais je suis pas certain.


Si vous le voulez bien !

Merci pour votre contribution.

Edit : il manquait les deux dernières lignes du programme Prolog.
Profil
cron