INTRODUCTION À LA LOGIQUE COMBINATOIRE LOGIQUE

publicité
ES102
1
INTRODUCTION À LA
LOGIQUE COMBINATOIRE
ES102 / CM2
ES102
2
LOGIQUE COMBINATOIRE
Entrées
x0
x1
···
xn
Circuit
combinatoire
y0
y1
···
yp
Sorties
• Seules les valeurs actuelles des entrées interviennent
pas de mémoire du passé (≠ logique séquentielle)
• yk = fk(x0, x1, ···, xn) où fk fonction booléenne sur Bn
• On exprime une fonction booléenne pour l’implanter :
fonction
expression
implantation
formules, graphes, …
1
ES102
3
PREOCCUPATIONS BOOLEENNES
transformation
expression /
implantation 1
équivalence ?
expression /
implantation 2
– Comment exprime-t-on une fonction booléenne ?
– Comment transforme-t-on une expression en une autre ?
– Comment démontre-t-on l’équivalence entre 2 expressions
→ Algèbre de Boole
→ Représentations canoniques :
– Forme normale disjonctive
– Diagramme de décision binaire
ES102
4
ALGEBRE DE BOOLE :
DEFINITION
•
La structure {B,+,·} est appelée algèbre de Boole ssi :
ü + et · sont des lois internes, commutatives et associatives
ü chaque loi possède un élément neutre : 0 pour +, 1 pour ·
ü il y a DOUBLE distributivité :
∀a,b,c a·(b+c)=(a·b)+(a·c) et a+(b·c)=(a+b)·(a+c)
ü il existe un complément unique : ∀a, ∃!a’, a+a’=1 et a·a’=0
ü le cardinal de B est au moins 2 (0≠1)
•
∃ redondance entre certaines propriétés ci-dessus
•
•
B={0,1} muni de OU et ET est une algèbre de Boole
Soit E ensemble fini et P(E) ensemble des parties de E :
P(E) muni de ∪ et ∩ est une algèbre de Boole
2
ES102
5
ALGEBRE DE BOOLE :
PRINCIPAUX THEOREMES
Version
ensembliste
↓
• Idempotence : ∀x, x·x=x et x+x=x
(X X) = X = (X X)
⇒ donc pas de notion de puissance
• Absorption : ∀x,y, (y·x)+x=x
(y+x)·x=x
• Involution : ∀x, (x’)’=x
• Lois de De Morgan : ∀x,y, (x+y)’ = x’·y’
(x·y)’ = x’+y’
=
(Y X) X = X
(Y X) X = X
X∪Y=X∩Y
X∩Y=X∪Y
=
dualité : + et · échangent leur rôle à travers la complémentation
ES102
6
PRATIQUE DES
MANIPULATIONS ALGEBRIQUES
Commodités de notation : 1) Omission de ·
2) Précédence de · sur +
Un exemple
d’équivalence
démontrée
rigoureusement :
absorption ↓
distributivité ↓
complément ↓
élément neutre ↓
absorption ↓
distributivité ↓
complément ↓
élément neutre ↓
xy + xy’z + x’yz
xy + xyz + xy’z + x’yz
xy + x(y+y’)z + x’yz
xy + x1z + x’yz
xy + xz +x’yz
xy + xz + xyz + x’yz
xy + xz + (x+x’)yz
xy + xz + 1yz
xy + xz + yz
3
ES102
7
FORMES NORMALES
DISJONCTIVE ET CONJONCTIVE
• Soit n variables, x l’une d’elles, Y la liste des n-1 autres
• Soit f(x,Y) une fonction booléenne de ces n variables
• Formules d’expansion de Boole (souvent attribuées à Shannon) :
§ f(x,Y) = x’·f(0,Y) + x·f(1,Y)
§ f(x,Y) = [ x+f(0,Y) ] · [ x’+f(1,Y) ]
→ formule disjonctive
→ formule conjonctive
• f(0,Y) et f(1,Y) sont respectivement appelés cofacteurs
négatif et positif de f par rapport à la variable x
• Récursivité : les cofacteurs sont des fonctions booléennes de
n-1 variables, auxquelles l’expansion est de nouveau
applicable : il en découle les formes normales
respectivement disjonctive (∑∏) et conjonctive (∏∑).
ES102
8
Expansion
de Boole
FORME NORMALE
DISJONCTIVE : Exemple
Table
de
vérité
(x+y)z
%x
%y
%z
f(x,y,z)
xyz
x’ · yz +
x·z
x’y’ · 0 +
x’y · z +
xy’ · z +
xy · z
x’y’z’ x’y’z x’yz’ x’yz xy’z’ xy’z xyz’ xyz
·0+ ·0+ ·0+ ·1+ ·0+ ·1+ ·0+ ·1
0
000
0
001
0
010
1
011
0
100
1
101
0
1
110 111
f(x,y,z) = x’yz + xy’z + xyz
4
ES102
9
FORME NORMALE
DISJONCTIVE : Précisions
• Monôme = produit des n variables, complémentées ou non
• A tout point de Bn correspond un unique monôme qui est
sa fonction caractéristique :
– ex. : à (x,y,z)=(0,0,1) correspond le monôme x’y’z
• Une fonction booléenne est égale à la somme des
monômes correspondant à chaque point de f-1({1})
• Il s’agit de la Forme Normale Disjonctive …
• … et elle est unique
• Une fonction booléenne s’exprime souvent plus compactement
comme somme de produits (∑∏) qui ne sont pas tous des monômes,
mais pas de manière unique. Ex. : Maj(a,b,c) = ab + ac + bc
ES102
10
EXPANSION DIFFERENTIELLE
• dérivée binaire partielle de f par rapport à x :
f(0,Y)⊕f(1,Y)
• Formule de Taylor à l’ordre 1 :
f(x,Y) = f(0,Y) ⊕ [f(0,Y)⊕f(1,Y)] · x
• Application récursive :
→ « Ring Sum Expansion » (⊕ ∏)
→ vers la théorie spectrale des fonctions booléennes …
(B, ⊕, ·) a une structure d’anneau …
5
ES102
11
MULTIPLEXEUR 2 VERS 1
•
•
•
•
Un opérateur booléen ternaire ⇔ (c?a:b) en langage C
c : commande, a et b : données multiplexées
Aussi appelé SELECTEUR
Symbole :
– Les valeurs possibles pour le signal de commande apparaissent à l’intérieur
du symbole et désignent l’entrée sélectionnée.
– Les flèches évitent la confusion avec le démultiplexeur
c
a
1
b
0
Multiplexeur 2 vers 1
= a si c=1
MUX(c,a,b)
= b si c=0
A
B
C
D
S
3
2
1
0
bus
Extensions numériques
ES102
12
DIAGRAMME DE DECISION BINAIRE
• La formule d’expansion de Boole peut être réécrite en
utilisant l’opérateur multiplexeur 2 vers 1 :
– f(x,Y) = MUX[ x, f(1,Y), f(0,Y) ]
• Récursivité : cette formule peut, elle aussi, être réappliquée
aux deux cofacteurs, etc.
• Il en résulte une structure de calcul arborescente de f
appelée diagramme de décision binaire (BDD en anglais)
• Un BDD dépend de l’ordre dans lequel on a pris les
variables, contrairement à la FND
6
ES102
13
EXEMPLE DE BDD BRUT
x
0
0
0
0
0
0
0
0
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
f(x,y,z) = (x+y)z
f
0
0
0
1
0
1
0
1
x
y
z
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
ES102
14
REDUCTION DES BDD (par l’exemple)
1) Suppression des doublons non terminaux
2) Suppression des faux choix
3) Suppression des doublons terminaux
(x+y)z
x
0
(x+y)z
x
1
1
0
0
1
0
1
(x+y)z
x
1
2
y
Représentation
unique !
0
1
3
y
0
1
y
0
1
0
z
0
1
0
1
0
0
0
1
z
0
1
0
1
0
0
1
z
1
7
ES102
15
REPRESENTATION DES FONCTIONS
BOOLEENNES : RECAPITULATIF
• Tables de vérité :
– pratiques à la main pour n≤4, trop lourd ensuite
– pré-calcul de fonctions trop « aléatoires » (n=32 ⇒ ROM 4Gb)
• FND (forme normale disjonctive) :
– formule algébrique, unique mais lourde
• Somme de produits (forme disjonctive générale)
– Formule algébrique, souvent plus légère mais non unique
• BDD
→ ROBDD : Reduced Ordered Binary Decision Diagrams
– graphe, un peu plus léger, unique
– représentation de choix pour la CAO électronique actuelle
ES102
16
LOGIQUE A INTERRUPTEURS
1
a
interrupteur
a=0
a=1
a
a
a’
a
non passant
passant
passant
non passant
0
b
a·b
a
b
a+b
a
série
parallèle
8
Téléchargement