Aller au contenu


Information tutoriel

  • Ajouté le: août 31 2008 03:22
  • Date Updated: juil. 12 2011 11:32
  • Lectures: 4826
 


* * * * *
0 Notes

Règles de l'algèbre de boole

Posté par lampleur on août 31 2008 03:22


Sommaire :

1. L'algèbre de boole, qu'est-ce que c'est ?
2. Ok, mais à quoi ça sert ??
3. Commençons par faire simple :
4. L'involution :
5. La commutativité :
6. Associativité :
7. La distributivité :
8. La priorité :
9. Théorème de "De Morgan" :

L'algèbre de boole, qu'est-ce que c'est ?

Inventé par un certain George Boole, cette algèbre permet de traduire des signaux en expressions mathématiques.
Par exemple, on peut représenter un interrupteur par une variable a qui prendra pour valeur 0 ou 1.
Ainsi, quand l'interrupteur est ouvert, a vaut 0 car le courant ne passe pas. Et quand l'interrupteur est fermé, a vaut 1 car le courant passe.

Ok, mais à quoi ça sert ??

Les mathématiques sont un outil. L'algèbre de Boole peut servir à décrire le fonctionnement d'un système et à le simplifier si possible.
Par exemple, vous devez faire avancer un robot, mais vous devez prendre en compte beaucoup de facteurs tels que sa position, la lumière ou encore le temps qui deviendront de simples variables. Pour simplifier au maximum, l'algèbre de boole se révèle très efficace.

Même si au début vous trouverez cela prise de tête, vous comprendrez très vite la logique qui en découle.

Enjoy!

Commençons par faire simple :

0 + 0 = 0 ( Non ce n'est pas la tête à toto et le + désigne la fonction ou(or) )

0 + 1 = 1

1 + 1 = 1

0 . 0 = 0

0 . 1 = 0

1 . 1 = 1

a . 0 = 0( Le point désigne la fonction 'and' ('et' en français))

a . a = a

En effet, si a vaut 1, alors 1 . 1 = 1 = a

Et si a vaut 0, alors 0.0=0=a

a. overline{a}=0 ( / Désigne la fonction 'not' ('non' en français)):

Si a=1, alors overline a=0. Or 1.0=0

Si a=0, alors overline{a}=1. Or 0.1=0

a+0=a

a+1=1

a+a=a

L'involution :

overline{overline{a}}=a

Prenons un exemple avec a=1 :

overline{1}=0, donc overline{a}=0

overline{overline{1}}=overline{0}=1, donc

overline{overline{a}}=a

La commutativité :

a+b=b+a

Si si, je vous assure lol ! On peut donc inverser sans y réfléchir.

De même, a.b=b.a.

Associativité :

(a+<img src='http://www.robot-maker.com/forum/public/style_emoticons/default/cool.gif' alt='Image IPB' class='bbc_emoticon' />+c = a+(b+c) = a+b+c

(a.<img src='http://www.robot-maker.com/forum/public/style_emoticons/default/cool.gif' alt='Image IPB' class='bbc_emoticon' />.c = a.(b.c) = a.b.c

Impressionant ! Non ? Bon tant pis.

La distributivité :

Il existe deux types de distributivités:

La distributivité du 'et' (comme la multiplication en mathématiques).

a.(b+c)= a.b+a.c

Par contre, contrairement aux habitudes (en mathématiques je parle), la distributivité du 'ou' existe aussi :

a+(b.c) = (a+<img src='http://www.robot-maker.com/forum/public/style_emoticons/default/cool.gif' alt='Image IPB' class='bbc_emoticon' />.(a+c)

La priorité :

Comme en maths:

a.b+c : "a.b" est prioritaire sur le "+" comme la multiplication est prioritaire sur l'addition.

Par exemple :

0.0+1

On effectue d'abord 0.0=0.

Il nous reste donc 0+1=1

Donc 0.0+1=1

Tandis que

0.(0+1) :

On effectue 0+1=1

Il nous reste donc : 0.1=0

D'où 0.(0+1)=0.

Théorème de "De Morgan" :

Le complément (c'est-à-dire la fonction non) d'une somme logique est égal au produit logique des compléments :

a b a+b Y1=/( a+B ) /a /b Y2=/(a)./( B )
0 0 0 1 1 1 1
0 1 1 0 1 0 0
1 0 1 0 0 1 0
1 1 1 0 0 0 0

aba+bY1=/( a+B )/a/bY2=/(a)./( B )
0001111
0110100
1010010
1110000


D'après le tableau, on a :

overline{(a+<img src='http://www.robot-maker.com/forum/public/style_emoticons/default/cool.gif' alt='Image IPB' class='bbc_emoticon' />}=overline{a}.overline{b}

Magnifique hein ?

On a aussi :

Le complément d'un produit logique est égal à la somme logique des compléments :

overline{(a.<img src='http://www.robot-maker.com/forum/public/style_emoticons/default/cool.gif' alt='Image IPB' class='bbc_emoticon' />}=overline{a}+overline{b}

Petit exemple de simplification :

S=overline{a}+overline{b}+a.b.c+a.b.overline{c}+ overline{a}.b.c

On factorise une partie par overline{a}et une autre par a.b

s=overline{a}.(1+bc)+ab.(c+overline{c})+overline{b}

Maintenant, on a 1+bc=1 et c+overline{c} =1

Ce qui donne :

s=overline{a}+ab+overline{b}

s=overline{a}+b+overline{b}

On a b+overline{b} =1 et

overline{a}+1 =1

D'où s=1.

J'espère que vous avez compris, sinon, direction le forum.