utiliser les contraintes sans rien y comprendre christian bessiere lirmm (cnrs/u. montpellier)

Post on 03-Apr-2015

113 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Utiliser les contraintes sans rien y comprendre

Christian Bessiere

LIRMM

(CNRS/U. Montpellier)

Qu’est-ce que les “CSP” ?(CSP = problème de satisfaction de contraintes)

• Des variables

• Des domaines finis pour ces variables

• Des contraintes sur les combinaisons de valeurs autorisées sur certaines variables

Faire un plan de maisonAppartement 5 pièces (Chambre, Bain, Cuisine, Salon, Salle-à-Manger) sur un emplacement à 6 pièces

nord-ouest nord nord-

est

sud-est sud-ouest sud

• Cuisine et salle à manger communiquent

• SdeB et cuisine ont un mur en commun

• SdeB éloignée de salon

• Salon et SàM sont une même pièce

Plan de maison

• Variables : – C (chambre), – B (salle de bain), – K (cuisine), – S (salon), – M (salle à manger)

• Domaines : {no,n,ne,so,s,se}

no n ne

se so s

Plan de maison

• Contraintes : – X ≠ Y, X = Y– A-cote(X,Y) = {

(no,n),(no,so),(n,no),(n,ne),(n,s), (ne,n),(ne,se),(so,no),(so,s),(s,so), (s,n),(s,se),(se,s),(se,ne) }

– Loin(X,Y) = { (no,ne),(no,s),(no,se),(n,so),(n,se), (ne,no),(ne,so),(ne,s),(so,n),(so,ne), (so,se),(s,no),(s,ne),(se,no),(se,n),(se,so) }

no n ne

se so s

loin

a-cote a-cote

a-cote

Réseau de contraintes

Alldiff(K,B,M,S,C)

K B

C S M

nw,n,ne,sw,s,se

C

nw,n,ne,sw,s,se S

nw,n,ne,sw,s,se

M

nw,n,ne,sw,s,seB

nw,n,ne,sw,s,se

K

Chambre à l’estSalon au sudClient :

Programmation par contraintes

Problem Variables

Domains

Constraints Solution

modelling

solving

???

Modélisation(“it’s an art, not a science”)

• Longtemps considéré comme trivial– le zèbre de Lewis Carroll ou les problèmes

aléatoires

• Mais sur les “vrais” problèmes :– Quelles variables ? Quels domaines ? – Quelles contraintes pour coder le problème ?

• Et l’efficacité ?– Quelles contraintes pour que le solveur aille vite ?

• Contraintes globales, symétries…

Tout tient au savoir-faire de l’expert

Et si on n’est pas expert ?

• Choix des variables/domaines

• Acquisition des contraintes

• Améliorer un modèle de base

Choix des variables/domaines(prémodèles)

• A partir d’historiques des solutions passées• Solutions décrites par des tables

M S

C R K S M

S C K B K

S C M

Room Position

SàM nw

Cuisine n

Salon ne

Chambre sw

SdB s

Room Position

Salon nw

Cuisine n

Chambre ne

SàM

SdB se

Room Position

SdB nw

Kuisine n

Chambre sw

SàM s

Salon se

Extraire des prémodèles

Room, position

Room Position

Room Position

SdB nw

Kuisine n

Chambre sw

SàM s

Salon se

XSdB {nw,n,ne,sw,s,se}

XSalon {nw,n,ne,sw,s,se}

….

Extraire des prémodèles

• Deux prémodèles : – XB,…,XS {nw,n,ne,sw,s,se}

– Xnw,…,Xse {B,C,K,M,S,}

• Des prémodèles triviaux : – X1,…,X5 {B-nw,B-n,B-sw,…,

S-s,S-se}

– XB-nw,…,XS-se {0,1}

Room, position

Room Position

Room Position

SdB nw

Kuisine n

Chambre sw

SàM s

Salon se

Connecter les prémodèles

• PM1: XB,…,XS {nw,n,ne,sw,s,se}• PM2: Xnw,…,Xse {B,C,K,M,S,}

• Contraintes de connexion : – XB = nw Xnw = B

“nw” n’est pris qu’au plus une fois dans PM1

alldiff(XB,…,XS) est une contrainte de M1

Application: sudoku

L1 C4 3

L1 C5 1

L2 C1 3

L2 C3 4

L3 C4 2

L3 C9 8

… … …

L C V

XLC=V

XLV=C

XCV=L

Et si on n’est pas expert ?

• Choix des variables/domaines

• Acquisition des contraintes– Espace des réseaux– Redondance– Requêtes

• Améliorer un modèle de base

Acquérir les contraintes

• L’utilisateur ne sait pas spécifier des contraintes• Il sait reconnaître les solutions des non-

solutions– Ex: maison valide ou pas

Utilisation de techniques d’apprentissage– Interaction par des exemples (e+) ou contre-

exemples (e-)– Acquisition du réseau de contraintes exprimant son

problème

Espace des réseaux possibles

XM

XC

XK

XB XS

?

?? ?

??

?

?

• Langage : ? { =, ≠, a-cote, loin}• Biais : XS=XB; a-cote(XS,XB);… …; XK≠XM; loin(XK,XM)

Positifs rejetés

Négatifs acceptés

Codage compact en SAT• Une formule SAT K qui code tous les réseaux

possibles : – Chaque contrainte ci

un littéral bi

– Modèles(K) = espace des versions– Exemple e- rejeté par {ci,cj,ck}

une clause (bi bj bk)

– Exemple e+ rejeté par ci une clauses (bi)

• m models(K)

(m) = {ci m(bi)=1} accepte tous les exemples positifs et rejette tous les exemples négatifs

Positifs rejetés

Négatifs acceptés

Réduire l’espace

C(XK,XM): , =, loin, a-cote C K

B S

M

e+1

C(XM,XS): , =, loin, a-cote

C(XK,XS): , =, loin, a-cote

e-2 K B

C

S M

K

B S

e+3 C

M

M

e-4

K

B

C

M

Sa-cote(XM,XS) loin(XK,XS)

Redondance

• Les contraintes ne sont pas indépendantes

• “a-cote(XK,XM) a-cote(XM,XS)

loin(XK,XS)”

• Voir consistances locales en CSP

• Différent de l’apprentissage attribut-valeur

K

M S

Redondance

• La redondance empêche la convergence

Ensemble R de règles de redondance : alldiff(X1,…,Xn) Xi≠Xj, i,j

a-cote(XK,XM) a-cote(XM,XS) loin(XK,XS)

• Dans K il y a – a-cote(XM,XS) loin(XK,XS) – a-cote(XK,XM)

• On déduit loin(XK,XS) de K+R

• Espace des versions = Modèles(K+R)– Bonnes propriétés quand R est complet

K

M S

Requêtes• Les exemples fournis apportent parfois peu d’information

nouvelle (plan négatif avec la cuisine loin de la salle à manger)

• Le système peut proposer des exemples (requêtes) pour accélérer la convergence

• Exemple e rejeté par k contraintes de l’espace – e positif k contraintes retirées de l’espace– e négatif une clause de taille k

• Bonne requête = exemple qui réduit beaucoup l’espace quelle que soit la réponse

Requêtes• Exemple e1 négatif :

cle1 = b1…bk K+R– Trouver m models(K+R) tel qu’un

seul littéral bi de cle1 soit faux– Trouver e2 sol((m)) :

e2 ne viole que la contrainte ci

bi ou bi ira dans K

• Si sol((m))= : tout conflict-set est une nouvelle règle de redondance! Convergence rapide

K+Rb1…bk

m contient bi

(m)

e2 sol((m))

Requête: “e2” ?

NPhard

Et si on n’est pas expert ?

• Choix des variables/domaines

• Acquisition des contraintes

• Améliorer le modèle de base

Améliorer le modèle

• Modèle de base M1 : solve(M1) ≈ ∞

Les experts ajoutent des contraintes implicites qui augmentent la quantité de propagation• Une contrainte implicite ne change pas l’ensemble de solutions

On va apprendre des contraintes globales implicites

The globalest is the best

Problem Variables

Domains

Constraints Solution

modelling

solving

BT-search + propagation

Contraintes globales implicites

• Modèle M1:

Il n’y a pas plus de deux 1 par solution

• M1+{card[#1≤2](X1..Xn)}: mêmes solutions que M1

• Mais solve(M1+ card) est plus rapide que solve(M1)

X1 … Xn

112345332223551554124135

…..

sol(M1):

Card[..]+card[..]+card[..] = gcc[P]

gcc = propagation avec un algorithme de flot

Apprendre les paramètres P de gcc[P](X1..Xn)

Sol(M1) Sol(M2)

gcc[P](X1..Xn)

gcc[P’](X1..Xn)

M2

Très facile

M1

Très difficile

M1+ gcc[P’](X1..Xn)

Facile

Affectation de tâches

• Projets à affecter à des étudiants d’IUT en minimisant la déception

• Modèle M1 construit par des étudiants d’IUT (2h de formation CP) :

• optimize(M1) > 12h

Possibles(P)

obligatoires(P)

Affectation de tâches

• Lancer optimize(M1) pendant 1 sec.– Solution s0 de coût F0

• M2 = M1+(cost<F0)

• obligatoires(P) cardinalités(s0); possibles(P) Z

• choisir Pi possibles(P) \ obligatoires(P)• s solve(M2 + gcc[Pi ](X1..Xn) )

• Si s= alors possibles(P) possibles(P) \ Pi

• Sinon obligatoires(P) obligatoires(P) + cardinalités(s)

• optimize(M1 + gcc[possibles(P)](X1..Xn))

solution optimale en 43mn au lieu de >12h

Pi

Illustration: modélisation automatique Illustration: modélisation automatique d’actions élémentaires en robotiqued’actions élémentaires en robotique

Mathias PAULINMathias PAULIN

paulin@lirmm.fr

www.lirmm.fr/~paulin

ContexteContexte

1. Abstraire les actions élémentaires sous la forme de CSP

2. Combiner les CSP à l’aide d’outils de planification

3. Contrôler l’exécution d’une tâche, en corrigeant les écarts éventuels entre les prévisions et la réalité, via les mécanismes de propagation.

Couche décisionnelle

RobotCouche

physique

Planificateur{(Xi, D, Ci)}

Supervision Couche

exécutive

CONACQ Mission

plan

commandesdonnées

capteurs

Architecture de supervision

Acquisition automatique des actions élémentaires

Pour chaque action ai, on cherche à déterminer :

Prec(ai) modélise la pré condition de ai,

Action(ai) modélise le comportements des actionneurs,

Post(ai) modélise les effets de ai.

Modélisation automatique d’une action aModélisation automatique d’une action aii

Données fournies à CONACQ : (1I,…, p

I, 1,…, q, 1F,…, p

F, étiquette)

{1I, …, p

I} = valeurs initiales des descripteurs (capteurs) du robot

{1, …, q} = tensions appliquées sur les actionneurs (moteurs)

{1F, …, p

F} = valeurs finales des descripteurs

Objectif : Trouver les contraintes sur {1I,…, p

I, 1,…, q, 1F,…, p

F} consistantes avec les données d’entraînement.

Expérimentation : Tribot Mindstorms (1)Expérimentation : Tribot Mindstorms (1)

Tribot Mindstorms NXT : 3 servomoteurs 4 capteurs (pression, son, lumière, ultrasons)

5 actions : Trouver une cible, Avancer, Avancer avec précision, Ouvrir & Fermer la pince.

Discrétisation des variables descripteurs

Originalité : Ce n’est pas un utilisateur qui classe les exemples. C’est un simulateur ou le robot lui-même (échec, chute, etc.)

Expérimentation : Tribot Mindstorms (2)Expérimentation : Tribot Mindstorms (2)

Modélisation automatique par CONACQ

Implémentation en CHOCO du planificateur CSP-Plan [Lopez2003]

Commande du robot via le langage URBI

Objectif : Saisie d’un objet par le robot Tribot!

QuickTime™ et undécompresseur H.264

sont requis pour visionner cette image.

Perspectives

• Prises en compte de la connaissance de base (ontologies) pour renforcer le biais

• Techniques d’apprentissage résistant au bruit (erreurs de l’utilisateur)

• Plateforme de test pour novice (outils de visualisation, etc.)

• Reconnaissance de motifs pour cibler les contraintes implicites

Many thanks to...

BibliographieC. Bessiere, R. Coletta, T. Petit."Learning Implied Global Constraints”Proceedings IJCAI'07, Hyderabad, India, pages 50-55.

C. Bessiere, R. Coletta, B O'Sullivan, M. Paulin."Query-driven Constraint Acquisition”Proceedings IJCAI'07, Hyderabad, India, pages 44-49.

C. Bessiere, R. Coletta, F. Koriche, B. O'Sullivan."Acquiring Constraint Networks using a SAT-basedVersion Space Algorithm”Proceedings AAAI'06, Nectar paper, Boston MA, pages1565-1568.

C. Bessiere, J. Quinqueton, G. Raymond."Mining historical data to build constraint viewpoints”Proceedings CP'06 Workshop on Modelling andReformulation, Nantes, France, pages 1-16.

C. Bessiere, R. Coletta, F. Koriche, B. O'Sullivan."A SAT-Based Version Space Algorithm for AcquiringConstraint Satisfaction Problems”Proceedings ECML'05, Porto, Portugal, pages 23-34.

C. Bessiere, R. Coletta, E. Freuder, B. O'Sullivan."Leveraging the Learning Power of Examples inAutomated Constraint Acquisition”Proceedings CP'04, Toronto, Canada, pages 123-137.

R. Coletta, C. Bessiere, B. O'Sullivan, E. Freuder, S.O'Connell and J. Quinqueton."Constraint Acquisition as Semi-Automatic Modelling”Proceedings AI-2003, Cambridge, UK, pages 111--124.

Projet ANR blanc CANAR, Univ. Caen, Ecole desMines de Nantes, Univ. Orléans, Univ Montpellier.

Optimistic

• e5=(3,3,3) violates the two constraints XZ and YZ– e5 positive

• remove 3/4 of the possible CSPs

– e5 negative• remove 1/4 of the

possible CSPs

• Works well when the target CSP is under-constrained

e5=(3,3,3)

X=Y?

XZ?YZ?

XY=Z

X+Y+Z10

or

Optimal

X=Y?

XZ?YZ?

XY=Z

X+Y+Z10

e6=(1,2,3)• e6=(1,2,3) only violates

the constraint X=Y– e6 positive

• remove 1/2 of the possible CSPs

– e6 negative• remove 1/2 of the possible

CSPs

• Divides the number of candidate networks by half whatever the answer of the user

top related