Modélisation
Florent Capelli
14 Janvier 2025
Trouver F qui a cette table de vérité :
x | y | z | ⟦F⟧(ω) |
0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 0 |
F1 := (¬x∧¬y∧¬z) ∨ (¬x∧y∧¬z) ∨ (x∧¬y∧¬z)
Forme Normale Disjunctive (FND) ⋁⋀(¬)v :
disjonction de termes (= conjonction de littéraux).
F2 := (x∨y∨¬z) ∧ (x∨¬y∨¬z) ∧ (¬x∨y∨¬z) ∧ (¬x∨¬y∨z) ∧ (¬x∨¬y∨¬z)
Forme Normale Conjonctive (FNC) ⋀⋁(¬)v :
conjonction de clauses (= disjonction de littéraux).
Mettre ¬(a∨b) ∨ ¬(b∨¬d) en CNF.
⋀iCi
(a∧(b∨c)) ⇒ (¬(a⊕b)∧d)
Circuit | Encodage CNF |
---|---|
z0 ⇔ (z1⇒z6) | (¬z0∨¬z1∨z6) ∧ (z1∨z0) ∧ (¬z6∨z0) |
z6 ⇔ (z7∧z11) | (¬z6∨z7) ∧ (¬z6∨z11) ∧ (¬z7∨¬z11∨z6) |
… | … |
z8 ⇔ a ⊕ b | (z8∨a∨¬b) ∧ (z8∨¬a∨b) ∧ (¬z8∨¬a∨¬b) ∧ (¬z8∨a∨b) |
F une formule Booléenne sur les propositions atomiques X.
On construit G sur les variables X ∪ Z telle que :
Les modèles de F et de G sont isomorphes.
Il y deux portes. Derrière chacune d’elle se trouve soit un tigre soit de l’or. Voulez-vous tenter votre chance et en ouvrir une ?
Sur la porte 1, il est écrit : derrière chacune des portes se cache de l’or.
Sur la porte 2, il est écrit : derrière cette porte se trouve de l’or ou derrière l’autre se trouve un tigre.
Exemples possible :
Sont-elles toutes utiles ?
On va utiliser les propositions T1, T2, O1, O2, V1, V2 pour commencer :
On a donc un problème équivalent à la formule suivante :
(T1⇔¬O1) ∧ (T2⇔¬O2) ∧ (V1⇔O1) ∧ (V2⇔T2) ∧ (V1⇔(O1∧O2)) ∧ (V2⇔(O2∨T1))
On peut voir qu’il y a une seule solution :
T1 = 1, O1 = 0, T2 = 1, O2 = 0, V1 = 0, V2 = 1
Donc il vaut s’abstenir d’ouvrir une porte…
On n’a pas vraiment besoin de tant de propositions atomiques vu qu’elles dépendent toutes de T1, T2.
On a donc une autre modélisation (¬T1⇔(¬T1∧¬T2)) ∧ (T2⇔(¬T2∨T1))
Remplir la grille avec des nombres de 1 à 9 tel que :
. | . | . | . | 3 | . | 6 | 4 | . |
. | 3 | . | 7 | . | 5 | 8 | . | . |
8 | 2 | . | . | 9 | 6 | . | 7 | . |
. | . | . | . | 7 | . | 2 | 9 | 6 |
. | . | 3 | 4 | 2 | 9 | . | 1 | . |
2 | 9 | 8 | 5 | 6 | 1 | 4 | . | 7 |
7 | . | 2 | 9 | . | . | . | . | . |
. | . | . | . | . | . | . | 6 | 4 |
4 | 5 | 9 | . | . | . | 7 | . | . |
Propositions : ci, j, k = “la case i, j contient la valeur k” pour 0 ≤ i, j ≤ 8 et 1 ≤ k ≤ 9.
Écrire un sudoku solver en utilisant cette modélisation et un sat solver!