• 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 bruno.bouzy@parisdescartes.fr

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

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 =

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

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

[r]

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