Vous êtes sur la page 1sur 30

Présentée par:

Zdira Meriem
LPC(R) : réels
Habri Amira
Remache Rabiaa PrologIV
Supervisée par:
Dr:Mellal.N

2009/2010 Université Larbi Ben M’Hidi-OEB


Présentée par:
Zdira Meriem
LPC(R) : réels
Habri Amira
Remache Rabiaa PrologIV
Supervisée par:
Dr:Mellal.N

2009/2010 Université Larbi Ben M’Hidi-OEB


LPC(R) : réels :

Plan de l ’exposé:
 Les variables, Domaine , Les
contraintes Réelles
 Variables et expressions dans le
domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV
Exemples

2009/2010 Université Larbi Ben M’Hidi-OEB


LPC(R) : réels :

Plan de l ’exposé:
 Les variables, Domaine , Les
contraintes Réelles
 Variables et expressions dans le
domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV
Exemples

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV
1
Exemples

Un système de programmation par


contraintes est défini par un
ensemble de variables, un
ensemble de domaines associés à
ces valeurs et un ensemble de
relations entre ces variables(les
contraintes).

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV
2
Exemples

Qu’est ce qu’une variable ?


C’est les données du problème
Qu’est ce qu’un domaine?
un domaine défini pour chacune
des variables.
D(Vi) est l'ensemble des valeurs que
peut prendre la variable Vi

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 3
Exemples

Qu’est ce qu’une contrainte ?


relation logique entre plusieurs
variables
une variable ne peut prendre
qu'une valeur appartenant à un
ensemble donné (domaine).

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 4
Exemples

 plusieurs types:
 contraintes booléennes
 contraintes sur les ensemble
 contraintes de Herbrand
 contraintes numériques:
*sur les entiers
*linéaires ( 2y + 3z )
*non linéaires ( log(x) )
*sur les réels

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 5
Exemples

On doit étudiées les contraintes


réelles:
 qui est de variété : domaines infinis,
un CSP réel est un CSP dont chaque
variable a un domaine infini des
réels et dont les contraintes sont des
contraintes arithmétiques.

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 6
Exemples

Variables & Expressions dans le


domaine réels :
Les opérations :
+,-,*,/, min(E1,E2),
max(E1,E2),dist(E1,E2),
# =,#\ =,# <,# >,# =<,# >=

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 7
Exemples

Programmation par contraintes


Réels :
• Avec la bibliothèque clpr :
F = {+, −, ∗, /, sin, cos, tan,...}
P= {=,<,>,=<,>=, =/=,...}
D=R (les nombres réels)
-On Utilise la consistance sur les réels et
examiner seulement les
bornes (inférieurs et supérieurs) du domaine
de chaque variable->Solution possible :
consistance aux bornes
2009/2010 Université Larbi Ben M’Hidi-OEB
Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 8
Exemples

L’interprète PrologIV peut faire


appel à des solveurs de
contraintes,
Pour savoir si une contrainte a une
solution ou pas.

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 9
Exemples

Historique (PrologIV) :
Ilog Solver
Newton CiLA
CLP(BNR) ICL CLP(F)
Syst.
Cleary Prolog IV
Salsa
Syst.
Hyvonen Numerica
BNR Ilog
Prolog Picos CLP OPL
Interlog II Helios Localizer

1987 1988 1989 1991 1992 1993 1994 1995 1997 99 2001
2009/2010 Université Larbi Ben M’Hidi-OEB
Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 9
Exemples

Historique (PrologIV) :
Ilog Solver
Newton CiLA
CLP(BNR) ICL CLP(F)
Syst.
Cleary Prolog IV
Salsa
Syst.
Hyvonen Numerica
BNR Ilog
Prolog Picos CLP OPL
Interlog II Helios Localizer

1987 1988 1989 1991 1992 1993 1994 1995 1997 99 2001
2009/2010 Université Larbi Ben M’Hidi-OEB
Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 10
Exemples

Prolog IV:
est un outil particulièrement
efficace pour résoudre les
problèmes fortement combinatoires
car il permet d’allier la déclarativité
de Prolog `a des techniques
efficaces de résolution de
contraintes, il fournit un jeu de
contraintes qui nous permet de
raisonner sur les nombres réels.

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 11
Exemples

Interface PrologIV :

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 12
Exemples

 Syntaxe de PrologIV:
53 gt\2 ->{(a; b) E R2 |a > b}
54 gtlin\2 ->{(a; b) E R2 |a > b}
55 lt\2 ->{(a; b) E R2 |a < b}
56 ltlin\2 ->{(a; b) E R2 |a < b}
57 ge\2 ->{(a; b) E R2 | a >=b}
58 gelin\2 ->{(a; b) E R2 | a >= b}
59 le\2 ->{(a; b) E R2 | a <= b}
60 lelin\2 ->{(a; b) E R2 | a <= b}
61 cc\3 ->{(a; b; c) E R3 | a E [b; c]}
62 co\3 ->{(a; b; c) E R3 | a E [b; c)}
63 oc\3 ->{(a; b; c) E R3 | a E (b; c]}
64 oo\3 ->{(a; b; c) E R3 | a E (b; c)}

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 13
Exemples

Exemples en prologIV :
Voyons quelques exemples :
Exemple 1 : nous avons un certain nombre
de chats et d’oiseaux, ainsi que le nombre
de leurs têtes et de leurs pattes,
et nous nous demandons d’exprimer les
relations qui lient ces nombres. Si nous
appelons c le nombre de chats, v le
nombre d’oiseaux ,t le nombre de têtes et
p le nombre de pattes,
nous avons les équations suivantes :
t=c+v
p=4*c+2*v
2009/2010 Université Larbi Ben M’Hidi-OEB
Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 14
Exemples

qui sont bien linéaires (pas de produit ou


de rapport de variables) et qui
s’expriment naturellement en Prolog IV
(en mettant bien les variables en
majuscule) :
>> T = C+V , P = 4*C+2*V .
P ~ real,
V ~ real,
C ~ real,
T ~ real.
>>
2009/2010 Université Larbi Ben M’Hidi-OEB
Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 15
Exemples

>> consult.
Consulting ...
animaux(Chats,Oiseaux,Pattes,Tetes) :-
Pattes = 4 .*. Chats .+. 2 .*. Oiseaux,
Tetes = Chats + Oiseaux ,
int(Chats), int(Oiseaux),
ge(Chats,0), ge(Oiseaux,0),
ge(Pattes,0), ge(Tetes,0),
intsplit([Chats,Oiseaux]).
end_of_file.
true.
>>
Pour finir la saisie, il faut taper la séquence“end_of_file”
2009/2010 Université Larbi Ben M’Hidi-OEB
Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 16
Exemples

>> Pattes = 10, animaux(Chats,Oiseaux,Pattes,Tetes).


Tetes = 5,
Oiseaux = 5,
Chats = 0,
Pattes = 10;
Tetes = 4,
Oiseaux = 3,
Chats = 1,
Pattes = 10;
Tetes = 3,
Oiseaux = 1,
Chats = 2,
Pattes = 10.
2009/2010
>> Université Larbi Ben M’Hidi-OEB
Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 17
Exemples

Exemple 2 : Calculer la somme des éléments d’une


liste :
Somme([],0).
Somme([X|L], X.+.S) : - somme(L,S).
>>somme([1,2,3,4,5],S).
S=15.
>>somme([cc(1,2), cc(1,3), cc(2,4)], S).
S ~ cc(4,9).
>> X ~ cc(1,3) , Y ~ cc(2,4) , S ~ cc(2,4),
somme([X,Y],S).
S ~ cc(3,4) , Y ~ cc(2,3), X ~ cc(1,2).

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 18
Exemples

Exemple 3: Indexation d’une listes :


X est une valeur dans l’intervalle [1,5], L
est une liste de valeurs
N est un index (une position entre 1 et 5)
X doit d’etre dans L  que vaut X ? que
vaut N ?
>> cc(X,1,5), L = [2,3,6,7,10], X = L:N.
L = [2,3,6,7,10],
N ~ cc(1,2),
X ~ cc(2,3).

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 19
Exemples

Exemple 4:
en mode «union d’intervalles»:
>> square(X) = 2.
X ~ cc(-‘>1.4142136‘,-‘>1.4142135‘)u
cc(‘>1.4142135‘,‘>1.4142136‘).
>>

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 20
Exemples

CSP initial: Propagation


Dx= Dy= Dz= Dw={1,2,3,4,5}
C1: x + 3 <=y 12
C2: z = 2 * x 45
C3: w = x * y 12345
c1 12345
12345
12345 c2
12345 12
12345 45
24
12345
c3
1
1
45
45 c2 24
2
45
45

2009/2010 Université Larbi Ben M’Hidi-OEB


Les variables, Domaine,Les contraintes Réelles
Variables et expressions dans le domaine réels,
Programmation par contraintes réels
Domaine d’application :PrologIV 21
Exemples

Conclusion :
Ceci nous amène à formuler les deux propriétés
les plus importantes sur les contraintes sur les réels
en Prolog IV qui est La résolution d’une contrainte
de base est complète, et
la résolution d’un ensemble de contraintes est
incomplète.
Par incomplet, nous voulons dire que Prolog IV
peut ne pas détecter l’insolubilité
de certains systèmes de contraintes qui n’ont pas
de solution.

2009/2010 Université Larbi Ben M’Hidi-OEB


Access 2000:
Références:
* Le concept de contraintes :

*Les propagation, satisfaction, programmation


Pierre Lopez
variables,Domaine, Les LAAS, Toulouse , Novembre 2001
*Programmation Logique – Une extension de
contraintes Réelles Prolog

*Variables et Les sites web :


Narendra Jussien 2002

expressions dans le
domaine réels, http://www.informatik.huberlin.de/weinert/locals
earch.html

*Programmation par http://prologianet.univ-mrs.fr


http://www.cs.unh.edu/ccc/archive/
contraintes réels
*Domaine
d’application :PrologIV
*Exemples
LPC(Réels):
Références:
* Le concept de contraintes :

*Les propagation, satisfaction, programmation


Pierre Lopez
variables,Domaine, Les LAAS, Toulouse , Novembre 2001
*Programmation Logique – Une extension de
contraintes Réelles Prolog

*Variables et Les sites web :


Narendra Jussien 2002

expressions dans le
domaine réels, http://www.informatik.huberlin.de/weinert/locals
earch.html

*Programmation par http://prologianet.univ-mrs.fr


http://www.cs.unh.edu/ccc/archive/
contraintes réels
*Domaine
d’application :PrologIV
*Exemples
LPC(Réels):

Fin!
Université Larbi Ben M’Hidi-OEB
Département Informatique
Master1
2009/2010
Access 2000:

Université Larbi Ben M’Hidi-OEB


Département Informatique
Master1
2009/2010