52
Formules polynomiales La m´ ethode de Karnaugh La m´ ethode des consensus Simplification des formules Arnaud Labourel Courriel : [email protected] Universit´ e de Provence 25 octobre 2011 Arnaud Labourel, [email protected] Simplification des formules

Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, [email protected] Simpli

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Simplification des formules

Arnaud LabourelCourriel : [email protected]

Universite de Provence

25 octobre 2011

Arnaud Labourel, [email protected] Simplification des formules

Page 2: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Limites de la forme canonique disjonctive

La forme canonique peut encore etre simplifiee

f (x1, x2, x3) = (x1x2x3) ∨ (x1x2x3) ∨ (x1x2x3) ∨ (x1x2x3)

devient f (x1, x2, x3) = x1

Consequence directe au niveau des dispositifs electriques

I Une formule represente une fonction, et le dispositif traduit laformule

I Plus un dispositif est simple, mieux il marche et moins il coute

I Le moins de litteraux et le moins d’operations possible

Formes polynomiales

Arnaud Labourel, [email protected] Simplification des formules

Page 3: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Premiers pas

Fonctions simples ou non ?

I Fonctions booleennes representables par formules les plussimples = litteraux (a, x , y , etc.)

I Puis, monomes = fonctions representables par produits delitteraux (ab, xy , min-termes, etc.)

I Attention aux fonctiones nulles (xx) !

Theoreme a propos de la fonction nulle

Pour qu’un produit de litteraux donne la fonction nulle, il faut et ilsuffit qu’on y trouve a la fois un litteral et son complementaire.

Autre resultatPuisque xn = x si x ∈ B, la repetition d’un meme litteral dans unproduit est inutile

Arnaud Labourel, [email protected] Simplification des formules

Page 4: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Une serie de resultats essentiels

Theoreme (preuve par l’absurde)

Modulo l’ordre des facteurs, il existe une et une seule facon dedefinir un monome par un produit de litteraux d’exposant 1.

xxz ≡ xxz ≡ xz z ≡ zx

Consequence

I Les litteraux multiplies ensembles pour faire un monomes’appellent les facteurs premiers du monome.

I Constante 1 = monome sans facteur premier

Arnaud Labourel, [email protected] Simplification des formules

Page 5: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Une serie de resultats essentiels (cont’d)

TheoremeParmi les fonctions booleennes de n variables, il y a 3n monomes(3 choix par variable : elle-meme, son complementaire, ou sonabsence).

Exemple

Avec les 3 variables a, b, c , il y a 27 monomes :

1 c c b bc bc b bc bca ac ac ab abc abc ab abc abca ac ac ab abc abc ab abc abc

Arnaud Labourel, [email protected] Simplification des formules

Page 6: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Une serie de resultats essentiels (cont’d)

Definition

I Un monome m divise le monome M si tout facteur premier dem est aussi un facteur premier de M

I (m est un diviseur de M, M est un multiple de m)

I Exemple : x1x3 divise x1x2x3

Theoremem divise M ⇔ M � m dans Fn (m 1 quand M le fait).

I Quand M prend la valeur 1 pour ω, tous ses f.p. sont a 1. Donc si mdivise M alors m prend la valeur 1 aussi.

I (absurde) Supposons M � m et x un f.p. de m qui n’apparaıt pas dansM. On pose p = Mx , non nulle : il existe un mot ω pour lequelp(ω) = 1. Puisque p(ω) = M(ω)x(ω), on a M(ω) = x(ω) = 1, doncx(ω) = 0 donc m(ω) = 0 : contradiction.

Arnaud Labourel, [email protected] Simplification des formules

Page 7: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Formule polynomiale

DefinitionOn appelle formule polynomiale d’une fonction booleenne f touteformule permettant d’exprimer f comme somme booleenne demonomes :

f = m1 ∨m2 ∨ · · · ∨mp

Remarques

I Quand m divise M, on a M � m donc M ∨m = m

I Une forme polynomiale est dite reduite s’il n’existe pas i et j ,i 6= j , tels que mi divise mj

I Pour obtenir la forme reduite d’une formule, on supprime toutmonome pour lequel il existe un diviseur dans la formule.

I La FCD est sous forme polynomiale reduite

Arnaud Labourel, [email protected] Simplification des formules

Page 8: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Exemples

I abc divise abcdef

I abc∨ abc ∨abc∨ ac

I abc ∨ abc ∨ ac

Arnaud Labourel, [email protected] Simplification des formules

Page 9: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Simplicite de formule

Definition

I Soient f = m1 ∨m2 ∨ · · · ∨mp et f = M1 ∨M2 ∨ · · · ∨Mq

FPR d’une meme fonction booleenne f .I La premiere est plus simple que la seconde si :

1. p ≤ q2. Chaque mi divise au moins un Mj

TheoremePour une fonction booleenne donnee, la relationest-plus-simple-que est une relation d’ordre sur l’ensemble deses formules polynomiales reduites.

Arnaud Labourel, [email protected] Simplification des formules

Page 10: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Exemple de simplicite

f = abc ∨ abc ∨ abc ∨ abc

(p1) f = abc ∨ abc ∨ abc ∨ abc (p5) f = abc ∨ ac ∨ bc(p2) f = abc ∨ ac ∨ abc (p6) f = ab ∨ ac ∨ abc(p3) f = abc ∨ abc ∨ bc (p7) f = ab ∨ abc ∨ bc(p4) f = ab ∨ abc ∨ abc (p8) f = ab ∨ ac ∨ bc

I p1 p2 car abc ∨ abc = ac

I p5 � p2 car bc divise abc

Arnaud Labourel, [email protected] Simplification des formules

Page 11: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Forme reduite minimale

DefinitionUne formule polynomiale reduite est minimale, si c’est un elementminimal dans le treillis des formes polynomiales reduites ordonneespar est-plus-simple-que.

Remarques

I Il s’agit des formules les plus simples possibles

I Il existe des methodes pour trouver les minimales dans le casde fonctions a trois ou 4 variables.

Arnaud Labourel, [email protected] Simplification des formules

Page 12: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Formes CD et PM de F2

Forme canonique disjonctive Formule polynomiale minimale

f0 = 0 f0 = 0f1 = xy f1 = xyf2 = xy f2 = xyf3 = xy ∨ xy f3 = xf4 = xy f4 = xyf5 = xy ∨ xy f5 = yf6 = xy ∨ xy f6 = xy ∨ xyf7 = xy ∨ xy ∨ xy f7 = x ∨ yf8 = x y f8 = x yf9 = x y ∨ xy f9 = x y ∨ xyf10 = x y ∨ xy f10 = yf11 = x y ∨ xy ∨ xy f11 = x ∨ yf12 = x y ∨ xy f12 = xf13 = x y ∨ xy ∨ xy f13 = x ∨ yf14 = x y ∨ xy ∨ xy f14 = x ∨ yf15 = x y ∨ xy ∨ xy ∨ xy f15 = 1

Arnaud Labourel, [email protected] Simplification des formules

Page 13: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Introduction

Objectif

Trouver les formules polynomiales minimales des fonctions de 3 ou4 variables (adaptable pour 5 et 6, mais difficilement).

Principe

I Facon particuliere de ranger les mots binaires : disposes dansun plan.

I Principe : les mots qui se ressemblent sont proches dans leplan.

I Reconnaissance facilite des monomes qui minorent unefonction donnee + resolution d’un probleme de couverture.

Arnaud Labourel, [email protected] Simplification des formules

Page 14: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Rangement des mots en tableaux (B3)

Le principe

I Disposition dans laquelle deux mots binaires adjacents nedifferent que d’un bit.

I Presque possible sur B4

Arnaud Labourel, [email protected] Simplification des formules

Page 15: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Le cas de B4

L’objectif est presque atteint

Imaginer le tableau comme un cylindre (vertical et horizontal...)

Arnaud Labourel, [email protected] Simplification des formules

Page 16: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Le cas de B4

L’objectif est presque atteint

Imaginer le tableau comme un cylindre (vertical et horizontal...)

Arnaud Labourel, [email protected] Simplification des formules

Page 17: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Le cas de B4

L’objectif est presque atteint

Imaginer le tableau comme un cylindre (vertical et horizontal...)

Arnaud Labourel, [email protected] Simplification des formules

Page 18: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Representation d’une fonction f

Principe

I Noircir les cases des mots ou f vaut 1

I Ensemble des cases noircies = diagramme de Karnaugh de f

Exemple avec f ∈ F3

B3 f0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 0

Arnaud Labourel, [email protected] Simplification des formules

Page 19: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Proprietes du diagramme de Karnaugh : Theoreme

1. Le diagramme de Karnaugh de la fonction constante 0 estvide, et celui de la fonction constante 1 est plein.

2. f � g ⇔ D.K. de f inclus dans celui de g .

3. Le D.K. de fg est l’intersection de ceux de f et g .

4. Le D.K. de f ∨ g est la reunion de ceux de f et g .

5. Le D.K. de f est le negatif de celui de f .

6. Les min-termes sont les fonctions booleennes dont le D.K. estreduit a une seule case.

Arnaud Labourel, [email protected] Simplification des formules

Page 20: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Forme canonique disjonctive facile a retrouver

Union de diagrammes de Karnaugh

est l’union de

f = abc ∨ abc ∨ abc ∨ abc

Arnaud Labourel, [email protected] Simplification des formules

Page 21: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Propriete importante

DefinitionUn rectangle d’un D.K. est une zone composee de plusieurs casescontrolee par au moins un litteral (ou sous-zone).

Theoreme

I Le diagramme de Karnaugh d’un monome de Fn, qui possedep facteurs premiers, est un rectangle forme de 2n−p cases

I Reciproquement, tout rectangle forme de 2n−p cases est leD.K. d’un monome qui est le produit de p litteraux.

Arnaud Labourel, [email protected] Simplification des formules

Page 22: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Les 27 monomes de F3

Arnaud Labourel, [email protected] Simplification des formules

Page 23: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Quelques monomes de F4

a, d , ac, bd , abd , bcd

Arnaud Labourel, [email protected] Simplification des formules

Page 24: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Methode pour trouver la formule d’un monome

Cas de F4 : monome d’une cellule

I La cellule est-elle couverte par les colonnes des litteraux a, a,b et b ?

I La cellule est-elle couverte par les lignes des litteraux c , c , det d ?

I Facteurs premiers du monome : litteraux repondant OUI.

Arnaud Labourel, [email protected] Simplification des formules

Page 25: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Exemple detaille ad

Arnaud Labourel, [email protected] Simplification des formules

Page 26: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Methode de simplification

Remarque

I On appelle cellule les D.K. des monomes (rectangles dont lenombre de cases est une puissance de 2)

I Plus une formule est simple, plus grand est son diagramme deKarnaugh

Pour simplifier une formule f

1. On dessine son diagramme de Karnaugh

2. On cherche un ensemble de cellules aussi grosses et peunombreuses que possible

3. La reunion de ces cellules doit etre egale au diagramme deKarnaugh de f

Arnaud Labourel, [email protected] Simplification des formules

Page 27: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Simplification de formules sur F4 : exemple

1. Le diagramme de Karnaugh initial

2. Grosses cellules qui couvrent le D.K. de f

Grosses cellules non contenues dans une plus grosse

Arnaud Labourel, [email protected] Simplification des formules

Page 28: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Simplification de formules sur F4 : exemple (cont’d)

3. Amorcer le recouvrementCases contenues dans une seule cellule : noircir la cellule

Arnaud Labourel, [email protected] Simplification des formules

Page 29: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Simplification de formules sur F4 : exemple (cont’d)

3. Amorcer le recouvrementCases contenues dans une seule cellule : noircir la cellule

Arnaud Labourel, [email protected] Simplification des formules

Page 30: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Simplification de formules sur F4 : exemple (cont’d)

3. Amorcer le recouvrementCases contenues dans une seule cellule : noircir la cellule

Arnaud Labourel, [email protected] Simplification des formules

Page 31: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Simplification de formules sur F4 : exemple (cont’d)

4 et 5. Terminer le recouvrement (a repeter)

Choix de la grosse cellule qui contient le plus de cases non noircies

Arnaud Labourel, [email protected] Simplification des formules

Page 32: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Simplification de formules sur F4 : exemple (cont’d)

4 et 5. Terminer le recouvrement (a repeter)

Choix de la grosse cellule qui contient le plus de cases non noircies

Arnaud Labourel, [email protected] Simplification des formules

Page 33: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Simplification de formules sur F4 : exemple (cont’d)

6. Lire la formuleSomme booleenne des formules des cellules selectionnees :

f = abc ∨ abd ∨ ac

Arnaud Labourel, [email protected] Simplification des formules

Page 34: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Pas toujours si simple

Plusieurs choix a l’etape 5

I On fait tous les choix pour aller vers plusieurs solutions

I A l’etape 6., on choisit la formule qui comporte le moinsd’operations (si elle existe)

Reperer les plus grandes cellules

I Plus difficile s’il faut passer par les bords

I Une solution = pavage du plan

Arnaud Labourel, [email protected] Simplification des formules

Page 35: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Pavage du plan pour reperer les cellules

Arnaud Labourel, [email protected] Simplification des formules

Page 36: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Pavage du plan pour reperer les cellules

Arnaud Labourel, [email protected] Simplification des formules

Page 37: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Pavage du plan pour reperer les cellules

cellules abd et abc

Arnaud Labourel, [email protected] Simplification des formules

Page 38: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

Premisses

Avantages

Methode systematique, valable pour tout nombre de variables

Theoreme (rappel : f ∨m = f ⇔ m � f )

I Si f = m1 ∨m2 ∨ · · · ∨mp est une formule polynomiale de f :∀i ,mi � f .

I Reciproquement, quand m � f , il existe une formulepolynomiale f = m1∨ · · ·∨mp dans laquelle m est l’un des mi .

Arnaud Labourel, [email protected] Simplification des formules

Page 39: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

Les implicants

Definition d’un implicant

I Tout monome m inferieur ou egal a une fonction booleenne fest un implicant de f (m � f ).

I Dans la methode de karnaugh : monomes dont la cellule estentierement contenue dans le D.K. de f

Les implicants premiers

I Un monome m est un implicant premier de f s’il n’existe pasd’autre implicant M de f tel que m � M � f .

I Elements maximaux de l’ensemble des implicants

I Monomes des grosses cellules dans le diagramme de Karnaugh.

Arnaud Labourel, [email protected] Simplification des formules

Page 40: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

Exemple d’implicants et d’implicants premiers

Arnaud Labourel, [email protected] Simplification des formules

Page 41: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

Exemple d’implicants et d’implicants premiers

Arnaud Labourel, [email protected] Simplification des formules

Page 42: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

Resultat essentiel

TheoremeLa somme booleenne de tous les implicants premiers de f est uneformule polynomiale reduite de f .

Elements de preuve

Soit une formule polynomiale f = m1 ∨ · · · ∨mp de f .Implicants premiers = maximaux des impliquants, alors m1 � M,M implicant premier, donc :f =M ∨ f

=M ∨ (m1 ∨ · · · ∨mp) = (M ∨m1) ∨m2 ∨ · · · ∨mp

=M ∨m2 ∨ · · · ∨mp

Dans une FP, on peut toujours remplacer un monome par unimplicant premier qui le majore.

Arnaud Labourel, [email protected] Simplification des formules

Page 43: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

Sur l’exemple

f11 = f1 ∨ f2 ∨ f8 (min-termes)

Remplacer f1 par f3, et f2 par f10 et f8 par f10 : f11 = f3 ∨ f10

Arnaud Labourel, [email protected] Simplification des formules

Page 44: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

Principe de la methode des consensus

Les etapes

1. Depart : formule polynomiale qcq (ex. FCD)

2. Remplacement de chaque monome par un implicant premierqui le majore

3. Elimination de ceux qui apparaissent plusieurs fois

4. Remplacement eventuel (et repete) de f par f ∨M ou M estun implicant premier n’apparaissant pas (encore) dans laformule.

On obtient une forme reduite.

TheoremeChaque monome d’une formule polynomiale minimale est unimplicant premier.

Arnaud Labourel, [email protected] Simplification des formules

Page 45: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

La methode des consensus

On a vu...Les formules polynomiales minimales sont a chercher parmi lessommes booleennes d’implicants premiers.

Les deux etapes de la methode

1. Rechercher tous les implicants premiers de f

2. Parmi les ensembles d’implicants premiers dont f est la sommebooleenne, rechercher celui dont le cardinal est le plus petit.

Arnaud Labourel, [email protected] Simplification des formules

Page 46: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

Monome consensus

Definition

I Soit une variable booleenne x

I Soient deux monomes xm1 et xm2 (m1 et m2 sans facteur xni x)

I m1m2 est le consensus de xm1 et de xm2

I Si m1 = ym′1 et m2 = ym′2 alors le consensus de xm1 et xm2

est nul.

Consequences : soient deux monomes qcq

I Ou le consensus est impossible a faire

I Ou leur consensus est nul

I Ou leur consensus n’est pas nul

Arnaud Labourel, [email protected] Simplification des formules

Page 47: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

Monome consensus (cont’d)

Exemples

I ad et bc n’ont pas de consensus

I abc et bcd ont un consensus nul

I abc et bd ont pour consensus acd

Arnaud Labourel, [email protected] Simplification des formules

Page 48: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

Monome consensus (cont’d)

TheoremeLe consensus de deux monomes est inferieur ou egal a leur sommebooleenne.Puisque x ∨ x = 1 nous avons m1m2 = m1m2(x ∨ x) = m1m2x ∨m1m2x ; et

puisque m1m2x � m1x et m1m2x � m2x , on a finalement m1m2 � m1x ∨m2x .

Consequence

Le consensus de deux implicants est un implicant (monomeinferieur a la fonction).

Arnaud Labourel, [email protected] Simplification des formules

Page 49: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

Methode pour trouver les implicants premiers

f = acd ∨ ade ∨ bce ∨ d e ∨ bcde

1. Determiner une formule polynomiale reduite qcq de f et ecrirela liste de ses monomes : ensemble L d’implicants.

2. En prenant tour a tour chacune des variables a :2.1 Partage de L en trois parties :

2.1.1 A : les monomes ou a est en facteur2.1.2 B : les monomes ou a est en facteur2.1.3 C : les autres monomes

2.2 Si A ou B vide, on passe a la variable suivante. Sinon, calculdes consensus obtenus en prenant un monome de A, un de B :ajout dans L

2.3 A chaque ajout d’un consensus dans L, tentative de reductionde L en eliminant monomes divisibles par d’autres de la liste.

3. L est la liste des implicants premiers de f

Arnaud Labourel, [email protected] Simplification des formules

Page 50: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

Exemple : f = acd ∨ ade ∨ bce ∨ d e ∨ bcde

Variable a : acd ade bce d e bcdecde

Variable b : bcde bce acd ade d e cdecde

Variable c : cde bce acd cde ade d eVariable d : cde acd cde ade d e bce

acecde cde acd ade d e bce ace

ceVariable e : ce d e ade acd

cdade d e ce cd

ad

L = {ad , d e, ce, cd}

Arnaud Labourel, [email protected] Simplification des formules

Page 51: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

Plusieurs sommes booleennes possibles

Un probleme de couverture

Choisir le moins possible d’implicants premiers pour que chaquemin-terme de la fonction soit majore par au moins un desimplicants choisis.

Exemple : implicants premiers et min-termes

C1 = acd C2 = abd C3 = bcd C4 = abcm1 = abcd m2 = abcd m3 = abcd m4 = abcd m5 = abcd

Arnaud Labourel, [email protected] Simplification des formules

Page 52: Simplification des formulespageperso.lif.univ-mrs.fr/~arnaud.labourel/FI/cours6.pdfIConstante 1 = mon^ome sans facteur premier Arnaud Labourel, arnaud.labourel@lif.univ-mrs.fr Simpli

Formules polynomialesLa methode de Karnaugh

La methode des consensus

Recherche des implicants premiersEcriture de la formule finale de la fonction

Sur l’exemple

Le probleme de couverture

Tableau qui montre la couverture des min-termes par les implicantspremiersC1 = acd C2 = abd C3 = bcd C4 = abcm1 = abcd m2 = abcd m3 = abcd m4 = abcd m5 = abcd

Valeur 0 aux variables indeterminees(moins possible d’IP)

f = C1 ∨ C2 ∨ C4 = acd ∨ abd ∨ abc

f = C1 ∨ C3 ∨ C4 = acd ∨ bcd ∨ abc

Arnaud Labourel, [email protected] Simplification des formules