PDA

Voir la version complète : domains en prolog


Page : [1] 2 3 4

minen
25/02/2007, 12h55
bonjour alors voila comme d'habitude je reviens avec un autre problème en prolog

c'est au niveau de la section domains en visual-prolog je ne sais pas comment déclarer

ex:

homme(N,T, C, A) où

N c'est le nom
T c'est la taille
C c'est la couleur des cheveux
A c'est l'âge

L!nK0r
25/02/2007, 14h09
Bonjour tu peux être plus explicite stp ;)
tu parle de declaration mais je comprends pas ton probléme...

minen
25/02/2007, 15h07
salut linkor

bon alors c le probleme d'une agence matrimoniale qui possede un fichier de condidats au mariage organisé

femme(N,T,C,A)
homme(N,T,C,A)

N: nom
T: taille (petite, moyenne, grande)
C: (blonds, bruns, roux, chatains)
A: age (jeune, mur, vieux)

gout(N,M,L,S)

N:nom
M: musique (jazz, classique, pop)
L:litterature (polar, SF, aventure)
S:sport (tennis, natation, jogging)


on a aussi:

recherche(N,T,C,A) qui exprime que la personne N recherche un partenaire de taille T et couleur C et age A

:redface:

L!nK0r
25/02/2007, 15h12
ok!
et toi tu veux declarer les valurs N,A , C etc...
j'avoue que je ne vois pas en quoi ca va servir mais je dis ptet des bétises je vais faire quelques recherches... on vera bien ;)
on s'est limité a quelques fonctions en prolog on a jamais poussé plus!! :(

minen
25/02/2007, 15h15
si c pas necessaire de declarer ça va me faciliter le travail ^^

seulement dans la structure d'un programme prolog je crois qu'il faur bien mettre qq chose dans la partie "domains" :22:

L!nK0r
25/02/2007, 15h21
et ben c'est que je connais pas domains (je connaissais pas ;) )
mais je suis tombé sur un lien interessant : http://www.visual-prolog.com/vip6/Tutorial/tut20/compound_domains.htm

ils y explique ce qu'est un domains et un compund!!!
ya un exemple de declaration :

domains
date_cmp = date (string Month, unsigned Day, unsigned Year).

et une instanciation
D = date("October", 15, 2003),

comme struct ans le C++ ca va peut être t'aider

minen
25/02/2007, 15h26
c'est ce que je suis entrain de lire depuis tout a l'heure linkor :22: mais rien avoir avec ce que j'ai fait

ex:

domains:

nom=symbol

predicats:

homme(nom).
femme(nom).
enfant(nom, nom).
fils(nom, nom).
fille(nom, nom).

clauses:

enfant(x,y):-pere(y,x).
.......................

goal: .....

L!nK0r
25/02/2007, 15h31
aye aye aye !
et les fonctons recherche (N,T,C,A) elles sont declarées ?
genre recherche (N,T,C,A) :-homme(X,Y,Z,W),femme(N,T,C,A).

c'est un exemple je suis même pas sure que c'est juste...prolog et moi tu sais !!!

minen
25/02/2007, 15h39
nn j'ai tout fait j'ai proposé un ensemble d'assertions pour le fichiers et j'ai ecrit les regles et tout ce qui suit

mon probleme c juste au niveau de domains :22: qu'est ce que je dois mettre dedans!!

L!nK0r
25/02/2007, 15h43
sur ce coup je me couche :( j'ai jamais utilisé domains je viens seulement d'apprendre qu'il existe un visual prolog j'ai utilisé (swi prolog).

:'( c'est po juste, bon courage désolé peux pas t'aider la!

minen
25/02/2007, 15h46
merci linkor!

je vais pas te lacher je vais telecharger swi-prolog :mrgreen:

faut que ça marche lol

minen
25/02/2007, 15h52
oops!! et je fais quoi mtn?? c'est une page comme dans le bloc note :22:

L!nK0r
25/02/2007, 15h53
lol tu es la deuxiéme fille qui me dit je vais pas te lacher, mais pas dans le bon sens ^^, euh revenons a nos moutons :D
justement dans swi-prolog on pose des questions avec des valeurs genre :
femme (julie, X)
ca te donne les X (tous les hommes qui ont une femme appelé julie) un truc du genre domains jamais entendu parlé !
on vera bien


tu ecrit ton code dans note pad apres tu fait ouvrir et consult
en bas tu entre tes requettes
je crois que c'est pas dutout comme visual prolog

minen
25/02/2007, 15h55
lol

oui ça pour les requetes mais pour ecrire et compiler c'est ou exactement?

L!nK0r
25/02/2007, 16h01
alors ca marche ta testé ? je crois que le fichié doit être enregistré en .s
apres tu fais consult ...

minen
25/02/2007, 16h05
j'ai pas su l'utiliser ya pas un help qq part???

L!nK0r
25/02/2007, 16h12
ta bien une console non!
1-tu ecrit ton code dans notepad
2- tu sauvegarde en .s pas .txt
3- tu lance prolog et tu fais ouvrir tu cherche le .s
4- tu fais consult dans le menu
5- tu met tes requettes en bas

pour le help perso j'en ai pas...

tenebre
25/02/2007, 16h14
qu'est ce que vous racontez vous autres :mrgreen: ?

L!nK0r
25/02/2007, 16h15
ben c'est le tenebres qui nous emportent... l'ami un coup de main ne serait pas de refus :)

minen
25/02/2007, 16h18
voila ce que j'ai proposé

homme(nassim, grand, brun, mur).
homme(amir, petit, brun, mur).
homme(samy, moyen, blond, jeune).

gout(nassim, classique, aventure, tennis).
gout(amir, jazz, polar, natation).
gout(samy, pop, science_fiction, natation).


femme(nesrine, petite, blonde, jeune).
femme(sarah, petite, brune, mur).
femme(amina, moyenne, blonde, jeune)..


gout(nesrine, pop, science_fiction, natation).
gout(sarah, t, tennis) .
gout(amina, classique, aventure, tennis).


recherche(samy, t, blonde, jeune).
recherche(amina, grand, brun, jeune).
recherche(sarah, moyenne, brun, mur).
recherche(nassim, grande, rousse, jeune).
recherche(amir, petite, blonde, jeune).
recherche(nesrine, moyen, blond, jeune).


convient_physiquement(x,y):- homme(x, t1, c1, a1) , femme(y, t2, c2, a2) , recherche(x, t2, c2, a2) , recherche (y, t1, c1, a1).

meme_gout(x,y):- gout(x, m, l, s) , gout(y, m, l, s).

assorti(x,y) :- convient_physiquement(x,y) , meme_gout(x,y) , x=|y.