• Aucun résultat trouvé

Chapitre 6 Modélisation en logique propositionnelle Cours 2 Contraintes de Comptage

N/A
N/A
Protected

Academic year: 2022

Partager "Chapitre 6 Modélisation en logique propositionnelle Cours 2 Contraintes de Comptage"

Copied!
19
0
0

Texte intégral

(1)

Chapitre 6

Modélisation en logique propositionnelle Cours 2

Contraintes de Comptage

(2)

Contraintes comptage

Pour un sous-ensemble Y ⊆X de variables et un entier n une des trois formes :

1. au moins n des variables dans Y sont vraies;

2. au plus n des variables dans Y sont vraies;

3. exactement n des variables dans Y sont vraies.

Exemple : Coloration de la carte d'Australie Précisément 2 des régions sont colorées en rouges.

On a n=2 et

Y ={[WA,r],[NT,r],[SA,r],[QLD,r],[NSW,r],[VIC,r],[TAS,r]}

(3)

Contraintes comptage

Pour un sous-ensemble Y ⊆X de variables et un entier n une des trois formes :

1. au moins n des variables dans Y sont vraies;

2. au plus n des variables dans Y sont vraies;

3. exactement n des variables dans Y sont vraies.

Exemple : Coloration de la carte d'Australie Précisément 2 des régions sont colorées en rouges.

On a n=2 et

Y ={[WA,r],[NT,r],[SA,r],[QLD,r],[NSW,r],[VIC,r],[TAS,r]}

(4)

Comment coder les contraintes de comptage ?

La contrainte exactement n parmi les variables de Y sont vraies est équivalente à la conjonction de

I au moins n parmi les variables de Y sont vraies;

I au plus n parmi les variables de Y sont vraies.

Supposons que Y ={y1, . . . ,ym}.

(5)

Au moins n parmi les variables de Y sont vraies

Cas n=1

y1∨y2∨. . .∨ym Cas n=2

engendrer toutes les paires de deux variables diérentes de Y , et exprimer le fait qu'au moins une de ces paires est entièrement colorée en rouge :

(y1∧y2)∨. . .∨(y1∧ym)∨(y2∧y3)∨. . .∨(y2∧ym)∨. . .∨(ym1∧ym) Plus précisément :

_

i1=1,...,m1 i2=i1+1,...,m

(yi1 ∧yi2) i.e. _

i1,i2=1,...,m i1<i2

^

j=1,2

yij

(6)

Au moins n parmi les variables de Y sont vraies

Cas n=1

y1∨y2∨. . .∨ym Cas n=2

engendrer toutes les paires de deux variables diérentes de Y , et exprimer le fait qu'au moins une de ces paires est entièrement colorée en rouge :

(y1∧y2)∨. . .∨(y1∧ym)∨(y2∧y3)∨. . .∨(y2∧ym)∨. . .∨(ym1∧ym) Plus précisément :

_

i1=1,...,m1 i2=i1+1,...,m

(yi1 ∧yi2) i.e. _

i1,i2=1,...,m i1<i2

^

j=1,2

yij

(7)

Comment coder les contraintes de comptage ?

Cette construction se généralise à un nombre n quelconque : _

i1,...,in=1,...,m i1<...<in

^

j=1,...,n

yij

Comment construire une formule équivalente en forme CNF ? Considérons par exemple le cas n=2:

Au moins 2 variable de Y sont vraies si et seulement si pour n'importe quelle sélection de m−1 variables de Y , au moins une dans cette sélection est vraie.

^

i1,...,im1=1,...,m i1<...<im1

_

j=1,...,m1

yij

(8)

Comment coder les contraintes de comptage ?

Cette construction se généralise à un nombre n quelconque : _

i1,...,in=1,...,m i1<...<in

^

j=1,...,n

yij

Comment construire une formule équivalente en forme CNF ? Considérons par exemple le cas n=2:

Au moins 2 variable de Y sont vraies si et seulement si pour n'importe quelle sélection de m−1 variables de Y , au moins une dans cette sélection est vraie.

^

i1,...,im1=1,...,m i1<...<im1

_

j=1,...,m1

yij

(9)

Construction directe de la CNF équivalente

Plus généralement, sont équivalents :

I au moins n parmi les variables de Y sont vraies

I pour n'importe quelle sélection de m−n+1 variables de Y , au moins une dans cette sélection est vraie.

La formule :

^

i1,...,imn+1=1,...,m i1<...<im−n+1

_

j=1,...,mn+1

yij

(10)

Construction directe de la CNF équivalente

Plus généralement, sont équivalents :

I au moins n parmi les variables de Y sont vraies

I pour n'importe quelle sélection de m−n+1 variables de Y , au moins une dans cette sélection est vraie.

La formule :

^

i1,...,imn+1=1,...,m i1<...<im−n+1

_

j=1,...,mn+1

yij

(11)

Au moins deux régions de l'Australie sont rouges :

Nous avons m=7 et n =2.

[WA,r]∨[NT,r]∨[SA,r]∨[QLD,r]∨[NSW,r]∨[VIC,r]

∧ [WA,r]∨[NT,r]∨[SA,r]∨[QLD,r]∨[NSW,r]∨[TAS,r]

∧ [WA,r]∨[NT,r]∨[SA,r]∨[QLD,r]∨[VIC,r]∨[TAS,r]

∧ [WA,r]∨[NT,r]∨[SA,r]∨[NSW,r]∨[VIC,r]∨[TAS,r]

∧ [WA,r]∨[NT,r]∨[QLD,r]∨[NSW,r]∨[VIC,r]∨[TAS,r]

∧ [WA,r]∨[SA,r]∨[QLD,r]∨[NSW,r]∨[VIC,r]∨[TAS,r]

∧ [NT,r]∨[SA,r]∨[QLD,r]∨[NSW,r]∨[VIC,r]∨[TAS,r]

(12)

Au plus n des variables dans Y sont vraies

Équivalent à :

I au moins m−n des variables dans Y sont fausses

I Dans toute sélection de m−(m−n) +1=n+1 variables de Y il y a une qui est fausse

La formule

^

i1,...,in+1=1,...,m i1<...<in+1

_

j=1,...,n+1

¬yij

(13)

Au plus n des variables dans Y sont vraies

Équivalent à :

I au moins m−n des variables dans Y sont fausses

I Dans toute sélection de m−(m−n) +1=n+1 variables de Y il y a une qui est fausse

La formule

^

i1,...,in+1=1,...,m i1<...<in+1

_

j=1,...,n+1

¬yij

(14)

Au plus n des variables dans Y sont vraies

Équivalent à :

I au moins m−n des variables dans Y sont fausses

I Dans toute sélection de m−(m−n) +1=n+1 variables de Y il y a une qui est fausse

La formule

^

i1,...,in+1=1,...,m i1<...<in+1

_

j=1,...,n+1

¬yij

(15)

Au plus deux régions de l'Australie sont rouges :

¬[WA,r]∨ ¬[NT,r]∨ ¬[SA,r]

∧ ¬[WA,r]∨ ¬[NT,r]∨ ¬[QLD,r]

∧ ¬[WA,r]∨ ¬[NT,r]∨ ¬[NSW,r]

... ...

∧ ¬[NSW,r]∨ ¬[VIC,r]∨ ¬[TAS,r]

(16)

Remarques nales

I En logique propositionnelle, les variables ne peuvent prendre que deux valeurs diérentes.

I D'où le besoin d'encodages avec plusieurs variables.

I Il y a aussi une technique utilisant des variables qui peuvent prendre plusieurs valeurs diérentes (appelées des variables à domaine ni).

I Résolution de contraintes avec des variables de domaine ni : Voir les cours de programmation logique (et par contrainte) en M1 et M2.

(17)

Remarques nales

I En logique propositionnelle, les variables ne peuvent prendre que deux valeurs diérentes.

I D'où le besoin d'encodages avec plusieurs variables.

I Il y a aussi une technique utilisant des variables qui peuvent prendre plusieurs valeurs diérentes (appelées des variables à domaine ni).

I Résolution de contraintes avec des variables de domaine ni : Voir les cours de programmation logique (et par contrainte) en M1 et M2.

(18)

Remarques nales

I En logique propositionnelle, les variables ne peuvent prendre que deux valeurs diérentes.

I D'où le besoin d'encodages avec plusieurs variables.

I Il y a aussi une technique utilisant des variables qui peuvent prendre plusieurs valeurs diérentes (appelées des variables à domaine ni).

I Résolution de contraintes avec des variables de domaine ni : Voir les cours de programmation logique (et par contrainte) en M1 et M2.

(19)

Remarques nales

I En logique propositionnelle, les variables ne peuvent prendre que deux valeurs diérentes.

I D'où le besoin d'encodages avec plusieurs variables.

I Il y a aussi une technique utilisant des variables qui peuvent prendre plusieurs valeurs diérentes (appelées des variables à domaine ni).

I Résolution de contraintes avec des variables de domaine ni : Voir les cours de programmation logique (et par contrainte) en M1 et M2.

Références

Documents relatifs

Mais voilà, imaginez si vous avez envie de faire une tâche répétitive, du genre vérifier 10 fois si un nombre est égal à 10 ?!. Au lieu d'écrire 10 fois la même condition, on

Une variable aléatoire X sur Ω est une fonction, qui à chaque issue de Ω, associe un nombre réel Exemples: Un joueur lance un dé a

Dérivées

Chapitre 6 Modélisation en logique propositionnelle Cours 1 Premiers Exemples Exemple 1 : Colorier une carte1. Vers

Dans l’exemple 5, l’espérance mathématique vaut −0,5 ce qui signifie qu’en jouant un grand nombre de fois à ce jeu, la moyenne de gain est de −0,50 € par partie jouée

On considère l’expérience aléatoire suivante : un joueur lance un dé cubique équilibré : si le résultat est un nombre impair, il gagne, en euros, le triple du numéro

[r]

[r]