Bonjour,
Je voudrais savoir à quoi sert le prédicat fd_labeling dans la prolog par contraintes
un petit exemple serait le bien venu
Merci beaucoup
Bonjour,
Je voudrais savoir à quoi sert le prédicat fd_labeling dans la prolog par contraintes
un petit exemple serait le bien venu
Merci beaucoup
fd_labeling est utilisé en gnu-prolog, je te donne un exemple en SWI-Prolog.
label permet d'unifier les variables avec toutes les valeurs possibles., tu obtiens ainsi toutes les solutions possibles au problème décrit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 3 ?- [X,Y] ins 0..5, X+Y#= 5. X in 0..5, X+Y#=5, Y in 0..5. 4 ?- [X,Y] ins 0..5, X+Y#= 5, label([X,Y]). X = 0, Y = 5 ; X = 1, Y = 4 ; X = 2, Y = 3 ; X = 3, Y = 2 ; X = 4, Y = 1 ; X = 5, Y = 0.
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
Merci
Est ce que tu peut juste me commenter les 6 première ligne de ton code s'il te plaît
Merci
Ben, en ligne 1, je dis que X et Y sont des nombres entiers compris entre 0 et 5 et que leur somme est 5.
Prolog me répond en disant exactement la même chose, il a enregistre les contraintes.
En ligne 6, je lui demande en plus de me donner les couples solutions. C'est tout.
Mais tu as raison mon exemple aurait été plus parlant si j'avais dit
On voit que des calculs ont déjà été effectués et des possibilités éliminées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ?- [X,Y] ins 0..5, X+Y#= 7. X in 2..5, X+Y#=7, Y in 2..5.
de même ici :
Dans le deuxième cas, pas de solution au problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ?- [X,Y] ins 0..5, X+Y#= -7. false.
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager