• Aucun résultat trouvé

Intelligence Artificielle Contraintes

N/A
N/A
Protected

Academic year: 2021

Partager "Intelligence Artificielle Contraintes"

Copied!
49
0
0

Texte intégral

(1)

Intelligence Artificielle Contraintes

Bruno Bouzy

http://web.mi.parisdescartes.fr/~bouzy [email protected]

Licence 3 Informatique

UFR Mathématiques et Informatique

Université Paris Descartes

(2)

Probl` emes de satisfaction de contraintes

Exemples de CSP

Recherche en arri`ere pour les CSPs (backtracking search) Structure des probl`emes

CSP et recherche locale

(3)

Probl` emes de satisfaction de contraintes

Exemples de CSP

Recherche en arri`ere pour les CSPs (backtracking search) Structure des probl`emes

CSP et recherche locale

(4)

Probl` emes de satisfaction de contraintes (CSP)

Probl`emes de recherche “classiques” : Un´etatest une “boite noire”

N’importe quelle structure de donn´ees qui contient un test pour le but, une fonction d’´evaluation, une fonction successeur

CSP:

Un´etatest d´efini par un ensemble devariablesXi, dont lesvaleurs appartiennent audomaineDi

Letest pour le butest un ensemble decontraintesqui sp´ecifient les combinaisons autoris´ees pour les valeurs sur des sous-ensembles de variables Exemple simple d’unlangage formel de repr´esentation

(5)

Exemple : coloriage de carte

Western Australia

Northern Territory

South Australia

Queensland

New South Wales

Victoria

Tasmania

Variables : WA,NT,SA,Q,NSW,V,T Domaines : Di ={rouge,vert,bleu}

Contraintes : les r´egions adjacentes doivent ˆetre de couleurs diff´erentes

(6)

Exemple : coloriage de carte

Western Australia

Northern Territory

South Australia

Queensland

New South Wales

Victoria

Tasmania

(7)

Graphe de contraintes

CSP binaires: chaque contrainte lie au maximum deux variables

Graphe de contraintes: les nœuds sont des variables, les arcs repr´esentent les contraintes

Victoria

WA

NT

SA

Q

NSW V

T

(8)

Vari´ et´ es de CSPs

Variablesdiscr`etes

Domaines finis: si de tailled, il y aO(dn) affectations compl`etes Par exemple, CSPs bool´eens

Domaines infinis(entiers, caract`eres...)

Par exemple, mise en place d’un planning, avec date de d´ebut/de fin pour chaque tˆache

ecessite unlangage de contraintes. EgStartJob1+ 5StartJob5

Si les contraintes sontlin´eaires, le probl`eme est soluble Si les contraintes sontnon lin´eaires, probl`eme ind´ecidable

Variablecontinues

Par exemple, temps de d´ebut/fin pour les observations du t´elescope de Hubble

Contraintes lin´eaires solubles en temps polynomial en utilisant des

(9)

Vari´ et´ es de contraintes

Contraintes unaires, ne concernent qu’une seule variable Par exemple,SA6=vert

Contraintes binaires, concernent une paire de variables Par exemple,SA6=WA

Contraintes d’ordre plus ´elev´e, concernent 3 variables ou plus Par exemple, contraintes sur les puzzles cryptarithm´etiques Pr´ef´erences(ou contraintes souples)

Par exemple,rougeest mieux quevert

Souvent repr´esentable par un coˆut associ´e `a chaque affectation de variable

Probl`emes d’optimisation de variables

(10)

Exemple : puzzle cryptarithm´ etique

O

W T

F U R

+

O W T

O W T

F O U R

X

2

X

1

X

3

Variables : F,T,U,W,R,O,X1,X2,X3

(11)

Probl` emes CSPs du monde r´ eel

Probl`emes d’affectation (eg. qui enseigne quel cours?) Probl`emes d’emploi du temps

Configuration de mat´eriels Planification pour les transports Planification dans les usines Allocation de salles . . .

Note: beaucoup de probl`emes du mond´e r´eel impliquent des variables `a valeurs r´eelles

(12)

Formulation de la recherche standard (recherche incr´ ementale)

Les ´etats sont d´efinis par les valeurs des variables d´ej`a affect´ees Etat initial: un ensemble d’affectations vides{}

Fonction successeur: attribuer une valeur `a une variable non encore affect´ee, de fa¸con coh´erente (vis `a vis des contraintes) `a l’affectation actuelle

Test du but: toutes les variables sont affect´ees

(13)

Formulation de la recherche standard (recherche incr´ ementale)

Cet algorithme de recherche marche pour tous les CSPs

Chaque solution apparait `a une profondeur dens’il y anvariables

Utiliser la recherche en profondeur d’abord

n: nombre de variables;d : taille du domaine des variables;b: facteur de branchement

b= (n−p)d `a profondeurp

n!dnfeuilles

alors qu’il n’y a quednaffectations possible!!

(14)

Probl` emes de satisfaction de contraintes

Exemples de CSP

Recherche en arri`ere pour les CSPs (backtracking search) Structure des probl`emes

CSP et recherche locale

(15)

Backtracking search

L’affectation des variables estcommutative

L’ordre dans lequel on affecte les variables n’a pas d’importance WA=rougepuisNT=vert est la mˆeme chose queNT=vertpuis WA=rouge

Il n’y a donc besoin de ne consid´ererqu’une seule variablepar nœud de l’arbre de recherche

b=d, et doncdnfeuilles

Recherche en profondeur d’abord avec l’affectation d’une variable `a la fois est appel´eerecherche par retour arri`ere(backtracking search)

Algorithme de recherche basique pour les CSPs

Permet de r´esoudre le probl`eme desnreines pourn∼25

(16)

Algorithme de recherche par retour ar-

ri` ere

(17)

Exemple

(18)

Exemple

(19)

Exemple

(20)

Exemple

(21)

Am´ eliorer l’efficacit´ e du la recherche par backtrack

1. Comment choisir la variable `a affecter ensuite?

(Select-Unassigned-Variable)

2. Comment ordonner les valeurs des variables? (Order-Domain-Values) 3. Est-il possible de d´etecter un ´echec in´evitable plus tˆot?

4. Comment tirer avantage de la structure du probl`eme?

(22)

Am´ eliorer l’efficacit´ e du la recherche par backtrack

1. Comment choisir la variable `a affecter ensuite?

(Select-Unassigned-Variable)

2. Comment ordonner les valeurs des variables? (Order-Domain-Values) 3. Est-il possible de d´etecter un ´echec in´evitable plus tˆot?

4. Comment tirer avantage de la structure du probl`eme?

(23)

Valeurs minimum restantes (MRV)

Heuristique desvaleurs minimum restantes(MRV)

choisir une des variables ayant le moins de valeur “l´egale” possible

(24)

Heuristique du degr´ e

Si plusieurs variables ne peuvent pas ˆetre d´epartag´ees par l’heuristique MRV

Heuristique du degr´e

choisir la variable qui a le plus de contraintes `a respecter parmi les variables restantes

(25)

Am´ eliorer l’efficacit´ e du la recherche par backtrack

1. Comment choisir la variable `a affecter ensuite?

(Select-Unassigned-Variable)

2. Comment ordonner les valeurs des variables? (Order-Domain-Values) 3. Est-il possible de d´etecter un ´echec in´evitable plus tˆot?

4. Comment tirer avantage de la structure du probl`eme?

(26)

Probl`emes de satisfaction de contraintes

Valeur la moins contraignante

Etant donn´e une variable, choisir celle qui a la valeur la moins contraignante

la variable qui empˆeche le moins d’affectations possibles sur les variables restantes

Allows 1 value for SA

Allows 0 values for SA

avecn= 1000

(27)

Valeur la moins contraignante

Etant donn´e une variable, choisir celle qui a la valeur la moins contraignante

la variable qui empˆeche le moins d’affectations possibles sur les variables restantes

Allows 1 value for SA

Allows 0 values for SA

Combiner ces heuristiques permet de r´esoudre le probl`eme desnreines, avecn= 1000

(28)

Am´ eliorer l’efficacit´ e du la recherche par backtrack

1. Comment choisir la variable `a affecter ensuite?

(Select-Unassigned-Variable)

2. Comment ordonner les valeurs des variables? (Order-Domain-Values) 3. Est-il possible de d´etecter un ´echec in´evitable plus tˆot?

4. Comment tirer avantage de la structure du probl`eme?

(29)

V´ erification en avant

Id´ee : garder en m´emoire les valeurs autoris´ee pour les variables qu’il reste

` a affecter

Arrˆete la recherche lorsqu’une variable n’a plus de valeur “l´egale” possible

WA NT Q NSW V SA T

(30)

V´ erification en avant

Id´ee : garder en m´emoire les valeurs autoris´ee pour les variables qu’il reste

` a affecter

Arrˆete la recherche lorsqu’une variable n’a plus de valeur “l´egale” possible

WA NT Q NSW V SA T

(31)

V´ erification en avant

Id´ee : garder en m´emoire les valeurs autoris´ee pour les variables qu’il reste

` a affecter

Arrˆete la recherche lorsqu’une variable n’a plus de valeur “l´egale” possible

WA NT Q NSW V SA T

(32)

V´ erification en avant

Id´ee : garder en m´emoire les valeurs autoris´ee pour les variables qu’il reste

` a affecter

Arrˆete la recherche lorsqu’une variable n’a plus de valeur “l´egale” possible

WA NT Q NSW V SA T

(33)

Probl`emes de satisfaction de contraintes

Propagation de contraintes

La v´erification en avant permet de propager l’information des variables affect´ees aux variables non affect´ees, mais ne permet pas de d´etecter tous les ´echecs

NT etSAne peuvent pas ˆetre tous les deux bleus!

Lapropagation de contraintespermet de v´erifier les contraintes localement

(34)

Probl`emes de satisfaction de contraintes

Propagation de contraintes

La v´erification en avant permet de propager l’information des variables affect´ees aux variables non affect´ees, mais ne permet pas de d´etecter tous les ´echecs

WA NT Q NSW V SA T

Lapropagation de contraintespermet de v´erifier les contraintes localement

(35)

Propagation de contraintes

La v´erification en avant permet de propager l’information des variables affect´ees aux variables non affect´ees, mais ne permet pas de d´etecter tous les ´echecs

WA NT Q NSW V SA T

(36)

Consistence des arcs

La forme la plus simple de propagation est de rendre les arcsconsistents X →Y est consistant ssi pourtoutevaleurx deX, il y aau moins uny autoris´e

WA NT Q NSW V SA T

(37)

Consistence des arcs

La forme la plus simple de propagation est de rendre les arcsconsistents X →Y est consisistant ssi pourtoutevaleurx deX, il y aau moins un y autoris´e

WA NT Q NSW V SA T

(38)

Consistence des arcs

La forme la plus simple de propagation est de rendre les arcsconsistents X →Y est consisistant ssi pourtoutevaleurx deX, il y aau moins un y autoris´e

WA NT Q NSW V SA T

(39)

Consistence des arcs

La forme la plus simple de propagation est de rendre les arcsconsistents X →Y est consisistant ssi pourtoutevaleurx deX, il y aau moins un y autoris´e

WA NT Q NSW V SA T

SiX perd une valeur, les voisins deX doivent ˆetre rev´erifi´es

(40)

Consistence des arcs

La forme la plus simple de propagation est de rendre les arcsconsistents X →Y est consisistant ssi pourtoutevaleurx deX, il y aau moins un y autoris´e

WA NT Q NSW V SA T

(41)

Algorithme de v´ erification de consis-

tence d’arcs

(42)

Probl` emes de satisfaction de contraintes

Exemples de CSP

Recherche en arri`ere pour les CSPs (backtracking search) Structure des probl`emes

CSP et recherche locale

(43)

Structure des probl` emes

Victoria

WA

NT

SA

Q

NSW V

T

La Tasmanie est unsous-probl`eme ind´ependant

(44)

CSPs structur´ es sous forme d’arbre

A

B C

D

E

F

Theorem

(45)

Algorithme pour les CSPs structur´ es sous forme d’arbre

1. Choisir une variable comme ´etant la racine, et ordonner les variables de la racine aux feuilles, de fa¸con `a ce que le parent de chaque nœud le pr´ec`ede

A B C

D E F

A B C D E F

2. Pourj den`a 2, appliquer RemoveInconsistent(Parent(Xj),Xj) 3. Pourj de 1 `an, affecterXjde fa¸con `a ce qu’il soit consistent avec

Parent(Xj)

(46)

CSPs quasiment structur´ es sous forme d’arbre

Conditionnement: instancier une variable, restreindre les domaines de ses voisins

Victoria

WA

NT

Q

NSW V

T T

Victoria

WA

NT

SA

Q

NSW V

(47)

Probl` emes de satisfaction de contraintes

Exemples de CSP

Recherche en arri`ere pour les CSPs (backtracking search) Structure des probl`emes

CSP et recherche locale

(48)

CSP et recherche locale

Les algorithmes de recherche locale fonctionnent avec des ´etats

“complets”, c’est `a dire dans lesquels toutes les variables sont affect´ees.

Pour appliquer ces algorithmes aux CSPs :

Permettre d’avoir des ´etats avec des contraintes non satisfaites Les op´erateurs permettent deeaffecterla valeur d’une variable S´election des variables : n’importe quelle variable en conflit S´election d’une valeur grace `a l’heuristicemin-conflict

choisir une valeur qui enfreint le moins de contraintes

par exemple,hillclimbavech(n) = nombre total de contraintes non respect´ees

(49)

Exemple : les n reines

Etats: 4 reines sur 4 colonnes (44= 256 ´etats) Actions: d´eplacer une reine dans sa colonne Test du but: pas d’attaque entre les reines

Evaluation: h(n) est le nombre d’attaques sur le plateau

h = 5 h = 2 h = 0

Etant donn´e un ´etat initial al´eatoire, cet algorithme peut r´esoudre avec

Références

Documents relatifs

le coˆ ut g(x) pour atteindre l’´ etat contenu dans le nœud depuis l’´ etat initial la profondeur du nœud, i.e., la distance entre le nœud et la racine de l’arbre.. Strat´

• Savoir expliquer quels sont les enjeux de la recherche dans le domaine... Histoire en

Lieu de formation : Mons Lancement au 1er trimestre 2018 - 2019 1500 Euros (gratuit pour les étudiants UMONS) Eligible au PAE.

Exempt de timbre, art.198 du code des taxes. Cycle de conférences à

ML4 We : normes RDF et RDFS pour organiser les infos sur le web avec la syntaxe XML (principe : ajout de méta données à la description des ressources sous forme d'objets =

Ainsi, par exemple, cette vision de l’aéroport du futur imaginée par le cabinet de conseil en innovation teague, inven- teur – entre autres – du Polaroid, de la console de jeu

attribut, chaque branche sortant de ce nœud correspond à une valeur possible de l’attribut en question. Intelligence Artificielle

[r]