Académique Documents
Professionnel Documents
Culture Documents
Dans toute la suite, B = {0, 1} et pour tout n ∈ N, Fn dénotera l’ensemble des fonctions boolèennes à n
→
− →
−
variables et Sf = { b ∈ Bn | f ( b ) = 1} est le support de la fonction f ∈ Fn .
Donc
Sf = {(0, 1), (1, 0)}.
— g(x1 , x2 , x3 ) = (x1 + x3 ) ⇒ x2 x3 .
Réponse :
x1 + x3 = 1 et x2 x3 = 0
x2 x3 = 0 est équivalent à (x2 , x3 ) = (0, 0) ou (1, 0) ou (1, 1).
Donc
Sg = {(0, 0, 1), (1, 0, 0), (1, 0, 1), (1, 1, 0)}.
— h(x1 , x2 , x3 , x4 ) = NAND2 (x2 , NOR2 (x1 , x3 )) + x2 x4
Réponse :
x2 x4 = 0 = x4 car x2 = 1 et donc, x4 = 1.
Donc, h(x1 , x2 , x3 , x4 ) = 0 si et seulement si (x1 , x2 , x3 , x4 ) = (0, 1, 0, 1). Donc,
Sh = B4 \ {(0, 1, 0, 1)}.
— k(x1 , x2 , x3 , x4 ) = x1 x2 + x2 x3 + x3 x4 + x4 x1 .
Réponse :
x1 x2 = 0 et x2 x3 = 0 et x3 x4 = 0 et x4 x1 = 0
En considérant la contrainte x1 x2 = 0, alors trois cas sont possibles :
Sk = B4 \ {(0, 0, 0, 0), (0, 0, 0, 1), (0, 0, 1, 0), (0, 1, 0, 0), (0, 1, 0, 1), (1, 0, 0, 0), (1, 0, 1, 0).}.
2. Exprimez tous les éléments de F2 en utilisant seulement par composition l’opérateur NAND2 et
les fonctions projections . Idem en utilisant l’opérateur NOR2 .
Réponse :
Donc il suffit d’engendrer la négation et les opérateurs . et + pour garantir la génération de toutes
les fonctions booléennes !
Soient x1 , x2 ∈ B.
• NAND2 (x1 , x1 ) = x1
2
• NAND2 (NAND2 (x1 , x2 ), NAND2 (x1 , x2 )) = NAND2 (x1 , x2 ) = x1 x2 .
Donc toute fonction booléenne peut être obtenue, par composition en utilisant seulement les
projections et la fonction NAND2 .
Soient x1 , x2 ∈ B
• NOR2 (x1 , x1 ) = x1
Donc toute fonction booléenne peut être obtenue, par composition en utilisant seulement les pro-
jections et la fonction NOR2 .
3. Existe-t-il un élément de F2 , autre que NAND2 et NOR2 , qui permet, seul par composition,
d’exprimer tous les éléments de F2 ?
Réponse :
• Soient f ∈ F2 telle que f (0, 0) = 0 et g ∈ Fn obtenue par composition, en utilisant les fonctions
de projéctions et la fonction f . Alors, on a nécessairement g(0, ..., 0) = 0.
Par conséquent, comme NOR2 (0, 0) = 1, alors NOR2 ne peux pas être obtenue par composition
en utilisant seulement l’opérateur NAND2 et les fonctions projections.
• Soient f ∈ F2 telle que f (1, 1) = 1 et g ∈ Fn obtenue par composition, en utilisant les fonctions
de projéctions et la fonction f . Alors, on a nécessairement g(1, ..., 1) = 1.
Par conséquent, comme NOR2 (1, 1) = 0, alors NOR2 ne peux pas être obtenue par composition
en utilisant seulement l’opérateur NAND2 et les fonctions projections.
0 0 0 0 0 0 0 1 1 0
0: :: .: ;: NOR2 :
0 0 1 0 0 1 0 0 0 0
0 0 0 1 1 0 0 1 1 0 1 1
x2 : XOR : x1 : x1 : ⇔: x2 :
1 1 1 0 1 0 0 1 0 1 0 0
0 1 1 0 1 1 1 1 1 1
+: ⇐: NAND2 : ⇒: 1:
1 1 1 1 1 0 0 1 1 1
3
Donc aucun autre élément de F2 , autre que NAND2 et NOR2 , ne permet, seul par composition,
et en utilisant les fonctions de projections d’exprimer tous les éléments de F2 .
4. Soient f1 , f2 ∈ Fn . Exprimer en fonction de f1 et f2 , les fonction boolèennes dont les supports sont
Bn \ Sf1 , Sf1 ∩ Sf2 , Sf1 ∪ Sf2 , Sf1 \ Sf2 , Sf1 ∆Sf2 et Pn−1 (Sf1 ) où \, ∩, ∪, ∆ respectivement Pn−1
est la soustraction, l’intersection, l’union, la différence symétrique ensemblistes respectivement la
projection sur les n − 1 premières composantes (Les définitions de ses opérations seront rappelées
au tableau).
Réponse :
Rappels :
Soient A et B deux ensembles.
• A ∪ B = {e|e ∈ A ou e ∈ B} (Union).
• A ∩ B = {e|e ∈ A et e ∈ B} (Interssection).
• A \ B = {e|e ∈ A et e ∈
/ B} (Différence).
• A ∆ B = (A \ B) ∪ (B \ A) (Différence symétrique).
Pn−1 (E) = {(e1 , ..., en−1 ) | ∃en ∈ B, (e1 , ..., en−1 , en ) ∈ E}.
Soient f1 , f2 ∈ Fn . Alors,
• Bn \ Sf1 = {(ε1 , ..., εn ) ∈ Bn | (ε1 , ..., εn ) ∈ / Sf1 } = {(ε1 , ..., εn ) ∈ Bn | f1 (ε1 , ..., εn ) = 0} =
n
{(ε1 , ..., εn ) ∈ B | f 1 (ε1 , ..., εn ) = 1} = Sf 1 .
• Sf1 ∩ Sf2 = {(ε1 , ..., εn ) ∈ Bn | (ε1 , ..., εn ) ∈ Sf1 et (ε1 , ..., εn ) ∈ Sf2 } = {(ε1 , ..., εn ) ∈
Bn | f1 (ε1 , ..., εn ).f2 (ε1 , ..., εn ) = 1} = Sf1 .f2 .
• Sf1 ∩ Sf2 = {(ε1 , ..., εn ) ∈ Bn | (ε1 , ..., εn ) ∈ Sf1 ou (ε1 , ..., εn ) ∈ Sf2 } = {(ε1 , ..., εn ) ∈
Bn | f1 (ε1 , ..., εn ) + f2 (ε1 , ..., εn ) = 1} = Sf1 +f2 .
• Sf1 ∆ Sf2 = (Sf1 \ Sf2 ) ∩ (Sf1 \ Sf2 ) = Sf1 .f + f 1 .f2 = SXOR(f1 ,f2 ) .
2
• Pn−1 (Sf1 ) = {(e1 , ..., en−1 ) | ∃en ∈ B, f1 (e1 , ..., en−1 , en ) = 1} = {(e1 , ..., en−1 ) | ∃en ∈
B, f1 (e1 , ..., en−1 , 0)+ f1 (e1 , ..., en−1 , 1) = 1} = Sg0 +g1 où g0 et g1 sont les fonctions booléennes
telles que g0 , g1 ∈ Fn−1 et pour tout (ε1 , ..., εn−1 ) ∈ Bn−1 ,
g0 (ε1 , ..., εn−1 ) = f1 (ε1 , ..., εn−1 , 0) et g1 (ε1 , ..., εn−1 ) = f1 (ε1 , ..., εn−1 , 1).
2 Fonctions génératrices
Soit C(x1 , x2 , x3 ) = x1 x2 + x1 x3 .
1. Montrez que pour tout entier n > 0 et pour toute fonction f ∈ Fn ,
f (x1 , ..., xn−1 , xn ) = C(xn , f (x1 , ..., xn−1 , 1), f (x1 , ..., xn−1 , 0)).
4
Réponse :
Remarque : La fonction C représente la conditionnelle :
Par conséquent,
f (x1 , x2 ) = C(x2 , f (x1 , 1), f (x1 , 0)) = C(x2 , C(x1 , f (1, 1), f (0, 1)), C(x1 , f (1, 0), f (0, 0))) = C(x2 , C(x1 , 0, 1), C(x1 , 1, 0)).
3. Déduire de la question 1., que toute fonction boolèenne peut s’exprimer en utilisant seulement la
fonction C et les constantes 0 et 1.
Réponse :
Pour tout f ∈ F1 , on a f (x1 ) = C(x1 , f (1), f (0)) et comme f (0), f (1) ∈ B alors la
propriété est vraie pour toutes les fonctions de F1 .
Soit n ∈ N et supposons que la propriété est vraie pour toutes les fonctions de Fn et soit
f ∈ Fn+1 . Alors,
f (x1 , ..., xn , xn+1 ) = C(xn+1 , f (x1 , ..., xn , 1), f (x1 , ..., xn , 0)).
Posons g1 (x1 , ..., xn ) = f (x1 , ..., xn , 1) et g2 (x1 , ..., xn ) = f (x1 , ..., xn , 0).
Comme g1 , g2 ∈ Fn , alors
g1 (x1 , ..., xn ) = expr1 (x1 , ..., xn ) et g2 (x1 , ..., xn ) = expr2 (x1 , ..., xn )
où expr1 et expr2 sont deux expressions utilisant seulement la fonction C et les constantes 0 et
1.
Donc,
f (x1 , ..., xn , xn+1 ) = C(xn+1 , expr1 (x1 , ..., xn ), expr2 (x1 , ..., xn )) = expr(x1 , ..., xn , xn+1 ).
5
Alors,
u1 = 1 et un = 2 ∗ un−1 + 1 pour n > 1.
Par conséquent,
n−1
X
∀n ∈ N, un = 2i = 2n − 1.
i=1
Comme bn est surjective et card(Bn ) = card(J0, 2n − 1K) = 2n , alors bn elle est nécessairement
injective et donc bn est une bijection.
n
2. Soit codn : Fn 7→ J0, 22 − 1K l’application définie par
X →
−
codn (f ) = 2bn ( ε )
→
−
ε ∈Sf
n
∀n ∈ N, ∀f ∈ Fn , 0 ≤ codn (f ) ≤ 22 − 1
Montrons que codn est surjective.
6
n
• Soit k ∈ N, tel que 0 ≤ k < 22 − 1 et ∃f ∈ Fn , k = codn (f ) et donc k appartient
à l’image de codn .
Soit m = max({j ∈ J0, 2n − 1K | J0, jK ⊆ {bn (ε1 , ..., εn ) | (ε1 , ..., εn ) ∈ Sf }}). Alors,
n
m < 2n − 1. En effet, si m = 2n , alors k = codn (f ) = 22 − 1!.
′ ′ n ′ ′
soit (ε1 , ..., εn ) ∈ B tel que bn (ε1 , ..., εn ) = m + 1 Soit g ∈ Fn tel que
Sg = (Sf \ {(ε1 , ..., εn ) ∈ Bn | bn (ε1 , ..., εn ) ≤ m}) ∪ {(ε′1 , ..., ε′n )}.
Alors,
codn (g) = m + 1 = codn (f ) + 1.
n n
Donc, codn et surjective et comme card(Fn ) = card(J0, 22 − 1K) = 22 , alors codn est aussi
injective donc elle est bijective.
(b) Explicitez complétement cod1 , cod2 .
Réponse :
3. Expliquez comment modéliser l’addition des entiers représentés en base 2 sur n bits en utilisant
certaines fonctions booléennes.
Réponse :
Soient a, b et c trois entiers positifs tels que c = a + b dont les repréntations en base deux sont
a = ak ak−1 ...a2 a1 , b = bk bk−1 ...b2 b1 et c = a + b = ck ck−1 ...c2 c1 .
rk ... ri ... r2 r1
ak ... ai ... a2 a1
+
bk ... bi ... b2 b1
ck ... ci ... c2 c1
r1 = 0,
c1 = res_ad_a_r(a1 , b1 , r1 ),
ci = res_ad_a_r(ai , bi , ri ) pour i ∈ J2, kK où ri = ret_ad_a_r(ai−1 , bi−1 , ri−1 ).
res_ad_a_r est le résultat de l’addition de deux bits avec retenue (en prenant en compte la
retenue de l’étape précédente).
ret_ad_a_r est la retenue de l’addition de deux bits avec retenue (en prenant en compte la
retenue de l’étape précédente).
ret_ad_a_r(ai , bi , ri ) = ai bi ri + ai bi ri + ai bi r i + ai bi ri .