182
Licence MIA Licence MIA 1ère année 1ère année Madeleine Bonnet Université René Descartes 1 Numération et Logique Licence MIA semestre 2 mathématiques, informatique et applications

Licence MIA 1ère année

Embed Size (px)

Citation preview

Page 1: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

1

Numération et Logique

Licence MIA semestre 2

mathématiques, informatique et applications

Page 2: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

2

Contrôle des connaissances

� c1 mardi 26 février 2008 à 17h 30

� c2 mardi 8 avril 2008 à 17h30

� c3 mardi 6 mai 2008 à 17h30

� Note session 1 :– Écrit sur 18 points : ((c1+c2)/2+c3) /2

– Note de Travaux dirigés sur 2 points (assiduité, ponctualité, participation…)

� Note session 2 = note d’examen écrit

Page 3: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

3

Numération

�Traite de la représentation des nombres

�Comment représenter tous les nombres (il y en a une infinité)à l’aide d’un ensemble fini de symboles, assemblés selon des règles, le code ?

� Au cours des âges, l’homme a fait différents essais …

Page 4: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

4

Bases de numération

� Un entier est représenté par une suite de symboles (ou chiffres), pris dans un ensemble donné

� Ces chiffres ont une position précise dans la suite de symboles considérée

� La base b indique le nombre de symboles disponibles {0, 1, 2, …, b-1}

� Selon la base b, la suite s’interprète, dans le système décimal (base 10), par un polynôme arithmétique

(s3 s2 s1 s0)b = (s0∗b0+ s1∗b1 + s2∗b2+ s3 ∗ b3)10

Page 5: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

5

�Principe de positionLa significationd’un symbole (ou chiffre) dépend de son poids, de sa place, dans la suite des symboles qui est la représentation du nombre

�Principe du zéroLe zéro indique une position où il n’y a pas d’éléments.

10, représenté en base 10, signifie 0 unité et 1 dizaine

Deux principes

Page 6: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

6

Quelques bases utilisées ….

�binaire : {0, 1} en informatique, base de la logique booléenne

�base 5 : {0, 1, 2, 3, 4} …compter jusqu’à 30 avec ses deux mains : les doigts d’une main expriment les unités ceux de l’autre expriment des paquets de cinq

�octale : {0, 1, 2, 3, 4, 5, 6, 7} avant …

�décimale : {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} ……�base 12 : établie sur les signes du zodiaque ; pratique à

cause de la divisibilité par 2, 3, 4 et 6. Utilisée dans le commerce (œufs, huîtres, 2 fois 12 heures dans une journée, 12 mois ….)

Page 7: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

7

Quelques bases … suite

�hexadécimale : très utilisée en microinformatique

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}

�Base 20 construite à partir des doigts et des orteils. Quelques traces : quatre-vingts, quatre-vingt-dix, Hôpital des Quinze Vingts

�Base 60: 360° dans le cercle, 60 minutes dans une heure, soixante, soixante-dix …

Page 8: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

8

Définitions

� Bit (BInary digiT) plus petite quantité d’information qui ne peut prendre que les valeurs 0 ou 1

� Octet (byte en anglais) ensemble de 8 bits. S’utilise pour exprimer la capacité des mémoires– 1 octet = 8 bits– 1 Kilooctet (Ko) vaut 1024 octets (210 =1024)– 1 Mégaoctet (Mo) vaut 1024 Ko, soit 220 octets– 1 Gigaoctet (Go)vaut 1024 Mo, soit– 1 Téraoctet vaut 240 octets– 1 Pétaoctet vaut 250 octets– Les préfixes suivants : Exa, Zetta, Yotta

Page 9: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

9

Systèmes pondérés� Système en base 10

alphabet = {0, 1, … , 9}1942 = 1∗103 + 9∗102 +4∗101 +2∗100

– cette écriture utilise 4 positions d’un code à 10 symboles

– chaque position porte le nom dedigit

– de même, pour un nombre non entier 1942,57= 1∗103 + 9∗102 + 4∗101 + 2∗100+5∗10-1+ 7∗10-2

� Bits, digits, positions particuliers

– LSB least significant bit : bit de poids faible

– MSB most significant bit : bit de poids fort

Page 10: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

10

Systèmes pondérés suite...

� Système à base balphabet = {0,1, … , b−1}– code àb symboles

écriture en base b xb= an an-1 ……a0

valeur en base 10 x10= anbn + an-1bn-1…… + a0 b0

an est le MSB, a0 est le LSB

Page 11: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

11

�Tout nombre entier x, inférieur à bk

– se décompose de manière unique

– sous forme d’un polynôme en b de degré k-1

– avec des coefficients appartenant à l’alphabet {0,1,…, b-1}

Page 12: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

12

1er exemple : entiers ≥ 0

�binaire {0,1}exposant 11 10 9 8 7 6 5 4 3 2 1 0

nombre 1 0 1 1 0 0 1 1 0 1 0 1

– code à 2 symboles (2 bits)

– les bits de poids faible sont à droite

20 + 22 +24 +25 +28 +29 +211= 286910

Page 13: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

13

2ème exemple : entiers ≥ 0

�octal {0, 1, 2, 3, 4, 5, 6, 7}

exposant 3 2 1 0nombre 5 4 6 5 8 = 5∗80 + 6∗81 + 4∗82 + 5∗83

�hexadécimal {0,1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} où

le symbole A représente (10)10 , B représente (11)10 etc.

(B35)16 = 5∗160 + 3∗ 161 + 11∗162

Page 14: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

14

3ème exemple : nombres décimaux

�octal {0, 1, 2, 3, 4, 5, 6, 7}

(465, 23)8 = 5∗80 + 6∗81 + 4∗82 + 2∗∗∗∗8−−−−1+ 3∗∗∗∗8−−−−2

�hexadécimal {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}

(B5, AE)16 = 5∗160 + 11∗161 + 10∗∗∗∗16−−−−1+ 14∗∗∗∗16−−−−2

Page 15: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

15

Conversion facile (1)

� Conversion binaire ⇒ hexadécimal1 0 0 1 1 0 1 0 1 1, 1 1 0 0 1 = ( ? )16

� 0 01 0 0 1 1 0 1 0 1 1, 1 1 0 0 1 0 0 0

(2 6 B , C 8)16

� = 2∗162 + 6∗161 + 11∗160+ 12∗16-1 + 8∗16-2

= 619,78125

� on découpe en paquets de 4 bits de part et d’autre de la virgule

Page 16: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

16

Conversion facile (2)

�Conversion binaire ⇒ octal1 0 0 1 1 0 1 0 1 1, 1 1 0 0 1 = ( ? )8

� 0 01 0 0 1 1 0 1 0 1 1, 1 1 0 0 1 0

(1 1 5 3 , 6 2)8

� = 83 + 82 + 5∗81+ 3∗80 + 6∗8-1+ 2∗8-2

= 619,78125� on découpe en paquets de 3 bits de part et

d’autre de la virgule

Page 17: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

17

Conversion d’un entier : base 10 en base 2 par soustraction

� Exemple 173 à convertir en base 2– bits nécessaires : c’est 8 bits car 27 ≤ 173 < 28

– Dans 173, y-a-t-il 128 ? oui 173 -128 = 45 1 (MSB)– Dans 45, y-a-t-il 64 ? non, il reste toujours 45 0– Dans 45, y-a-t-il 32 ? oui 45 - 32 = 13 1– Dans 13, y-a-t-il 16 ? non, il reste toujours 13 0– Dans 13, y-a-t-il 8 ? oui 13 - 8 = 5 1– Dans 5, y-a-t-il 4 ? oui 5 - 4 = 1 1– Dans 1, y-a-t-il 2 ? non, il reste toujours 1 0– Dans 1, y-a-t-il 1 ? oui 1 - 1 = 0 1 (LSB)

� Le résultat est donc (1 0 1 0 1 1 0 1 )2

Page 18: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

18

Conversion d’un entier : base 10 en base 8par soustraction…..

� Exemple 173 à convertir en base 8

– positions nécessaires : c’est 3 car 82 ≤ 173 < 83

– Dans 173, combien de fois 64 ? 2 fois173 –2*64= 45 symbole en 3è position : 2 (MSB)

– Dans 45, combien de fois 8 ? 5 fois, il reste 5 symbole en 2è position : 5

– On s’arrête car le reste est inférieur à 8symbole en 1è position : 5 (LSB)

� (173)10 = (255)8

Page 19: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

19

Conversion d’un entier : base 10 en base 2par division

� Contrairement à la méthode par soustraction, on recherche d’abord les symboles de plus petit poids

� 173 à convertir en base 2173 21 86 2

0 43 21 21 2

1 10 20 5 2

1 2 20 1

� (173)10 = (1 0 1 0 1 1 0 1)2

Page 20: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

20

� 173 à convertir en base 8173 85 21 8

5 2 (173)10 = (255)8

�173 à convertir en base 16173 1613 10 (173)10 = (AD) 16

Conversion d’un entier : base 10 en base b par division …

Page 21: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

21

Reconnaître les multiples de la base

� D’après la forme polynomiale donnant la valeur, en base 10, d’un entier écrit en base bxb = an an-1….. a0

x10 = an bn

+ an-1 bn-1+ an-2 bn-2

…. + a1 b1+ a0 b0

on voit que– un multiple de b se termine par 0

Il s’écrit x10 = b(an bn-1+ an-1 bn-2

+ an-2 bn-3…. + a1)

– un multiple de b2 se termine par 00

– un multiple de b3 se termine par 000 etc.

Page 22: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

22

Une réflexion

� Avec n bits on peut représenter 2n valeurs, par exemple tous les entiers de 0 à 2n −1

� Le plus grand entier représentable sur n bits s’écrit donc (plein 1):111…11111 et vaut donc 2n − 1,

c’est toujours un nombre impair !

� Ecrire en binaire les nombres5101024

n

Page 23: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

23

Conversion de la partie décimale

�De même que pour la conversion d’un entier, la partie décimale peut s’obtenir par deux méthodes – soustraction

– multiplication

�Nous allons voir un exemple en base 2, la généralisation à une autre base est immédiate

Page 24: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

24

� Soit à convertir 0,28125 en base 2

� On cherche successivement les bits qui seront les coefficients de 2−1, 2−2 , 2−3 , …

coefficient

– 2−1 vaut 0,5 0

– 2−2 vaut 0,25 0,28125−0,25 = 0,03125 1

– 2−3 vaut 0,125 0

– 2−4 vaut 0,0625 0

– 2−5 vaut 0,03125 0,03125 − 0,03125 = 0 1

�On s’arrête puisque le reste est nul, on a :(0,28125)10 = (0,01001)2

Conversion par soustraction

Page 25: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

25

� Soit à convertir 0,28125 en base 2

On applique la méthode par division vue pour la partie entière. Or, diviser par 2−i revient à multiplier par 2i

• 0,28125∗2 = 0,5625 : coefficient de 2−1 est 0

• 0,5625∗2 = 1,125 : coefficient de 2−2 est 1

• 0,125 ∗2 = 0,25 : coefficient de 2−3 est 0

• 0,25 ∗2 = 0,5 : coefficient de 2 − 4 est 0

• 0,5 ∗2 = 1,0 : coefficient de 2 − 5 est 1

� On s’arrête puisque la partie décimale est nulle(0,28125)10 = (0,01001)2

� Est-on sûr que le processus s’arrête ? Chercher avec 0,408

Conversion par multiplication

Page 26: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

26

Conversion partie décimale en base 8

� Toujours le nombre 0,28125 à convertir en base 8

• 0,28125∗8 = 2,25 coefficient de 8−1 : 2

• 0,25∗8 = 2,0 coefficient de 8− 2 : 2

�Donc (0,28125)10 = (22)8�On vérifie ce résultat en passant par la base 2

• On a trouvé (0,28125)10 = (0,01001)2• On décompose par paquets de 3 bits

0,010 0102 2

Page 27: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

27

Exercice

�Réfléchir à un algorithme qui « calcule » le successeur d’un entier donné dans une base donnée

Page 28: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

28

Codage de l’information

�Toute information à traiter doit être représentée en binaire pour être comprise par la machine

�Leibniz (1646-1716) et Boole (1815-1864) ont mis au point l’arithmétique binaire, base du traitement automatique

�La signification associée dépend du contexte : {0,1}, {faux, vrai}, {éteint, allumé}, {blanc, noir} ...

Page 29: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

29

Codage de l’information suite…

� Une information, représentée par une suite de bits, n’a que le sens que l’on veut bien lui donner

� Ainsi, nous avons déjà vu que la suite 101 représente– cent un en base 10, cinq en base 2, dix en base 3, dix-sept en

base 4, vingt-six en base 5, trente sept en base 6 etc.

– Nous pouvons convenir qu’elle représente un caractère, une image ou toute autre chose

� Pour traiter les suites de bits suivant les règles adaptées aux objets représentés, il faut connaître le code : alphabet et règles permettant de traduire l’information

Page 30: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

30

Codage de l’information suite …

� Certains codes permettent de détecter et corriger des erreurs grâce à l’ajout d’informations redondantes. Ceci peut être très intéressant lors de transmission de données où des erreurs peuvent apparaître.

� Selon l’application, le choix d’un code est très important, notamment pour « économiser les moyens ». On utilise alors des méthodes de compression.

� Ne pas confondre codageet cryptage. Le cryptage est un moyen pour transformer une suite de données afin d’assurer sa confidentialité

Page 31: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

31

Comment coder les entiers en machine ?

�Quelle que soit la taille des mots mémoire, cette taille sera toujours limitée

� Il faut pouvoir représenter les entiers relatifs

�Les opérations arithmétiques doivent être simples

Page 32: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

32

Codage des entiers en binaire

�Décimal codé binaire (entiers ≥ 0 seulement)

�Codage binaire naturel

�Codage complémenté– à 1

– à 2 : c’est le codage des entiers en Pascal

Page 33: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

33

Décimal codé binaire

�Chaque chiffre décimalest codé en binaire – (il faut donc 4 bits par chiffre)– 19032 codé par 0001 1001 0000 0011 0010

�Avantages• codage/décodage facile• pas de limitation des grandeurs représentées

� Inconvénients• grande place mémoire ⇒ opérations arithmétiques

lentes (penser au traitement de la retenue)• pas de représentation des entiers négatifs• 6 combinaisons non utilisées

Page 34: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

34

Codage binaire naturel

�Le bit de poids fort (à gauche) est réservé au signe• 0 pour + et 1 pour −

�On doit fixer la longueur des mots• + 6 codé par 0 110 − 6 codé par 1 110

�Avantages• codage/décodage facile• représentation des entiers négatifs

� Inconvénients• limitation de la grandeur des nombres représentables• 2 représentations du zéro• opérations arithmétiques peu commodes (0101 +1101)

Page 35: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

35

Complément à 1 : définition

� On fixe la tailledes mots du code

� entiers positifs codés en binaire signé+ 5 codé par 0101

� entiers négatifs: inversion des chiffres binaires− 5 codé par 1010

� Inconvénients

• 2 représentations du zéro

• opérations arithmétiques peu commodes

Page 36: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

36

Complément à 1 (suite …)

� Addition binaire (5 − 5) ⇒ 0101+ 1010

(d’où le nom ) =

On remarque qu’unnombre négatif s’obtient, en complément à 1, par soustraction de la valeur positive à 2n-1

Sur 4 bits, − 5 est donné par

1 1 1 1 représente 24 − 1− 0 1 0 1

Page 37: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

37

� 2 nombres de signe opposép et q

� on sait que le résultat est forcément représentabledans ce code avec le nombre de bits fixés car

min(p, q) < p + q < max (p, q)

Complément à 1 : addition

Page 38: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

38

� Pour avoir − 28, on calcule d’abord + 28+ 28 0 0 0 1 1 1 0 0

� + 63 0 0 1 1 1 1 1 1− 28 1 1 1 0 0 0 1 1

+ 35

Complément à 1 : addition

Page 39: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

39

Complément à 1 : qu’avons-nous fait ?

�En binaire naturel on a effectué l’opération suivante (traduite ici en base 10) :63 + (255 − 28) = 318 − 28 = 290

28 − 1 demande plus de 8 bits

Pour obtenir le résultat en binaire naturel (ici confondu avec le code complémenté à 1), il faut évidemment retrancher 255.Enlever la retenue revient à retrancher 28 = 256, il faut donc encore ajouter 1. C’est pourquoi l’on dit «on ajoute la retenue» !

Page 40: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

40

Addition (suite …)

� 2 nombres de signes opposés:− 63 1 1 0 0 0 0 0 0 + 28 0 0 0 1 1 1 0 0

qui, en complément à 1 vaut − 35

Qu’avons-nous fait ?(255 − 63) + 28 = 220

8 bits suffisent donc pas de retenue

Le résultat est directement donné en complément à 1

Page 41: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

41

� 2 nombres de signe positif– Dépassement réel de capacité quand le bit de signe du

résultat est 1– Exemple sur 4 bits (nombres représentables de-7 à 7)

+3 0011 +3 0011 +2 0010 +6 0110

� 2 nombres de signe négatif

Complément à 1 : addition

Page 42: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

42

2 nombres de signe négatif

�Il y a une retenue puisque les bits de signe valent 1Exemple sur 4 bits (nombres représentables de-7 à 7)−3 1 1 0 0 − 3 1 1 0 0−2 1 1 0 1 − 6 1 0 0 1

= =

�On « ajoute la retenue »� 0 pour bit de signe donne dépassement réel de capacité�1 pour bit de signe, on lit le résultat (en complément à 1)

Complément à 1 : addition

Page 43: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

43

Conclusions sur l’addition

� 2 nombres de signe opposé• le résultat est représentable, avec le nombre de bits

fixés : pas de dépassement « réel » de capacité• s’il n’y a pas de retenue : nombre négatif

sa valeur absolue est obtenue en inversant les bits• s’il y a une retenue : nombre positif

on « ajoute la retenue » pour avoir la valeur absolue

� 2 nombres de même signe• positifs• négatifs

Page 44: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

44

Conclusions sur l’addition (suite …)

�2 nombres de signe positif– dépassement « réel » de capacité quand le bit de

signe du résultat est 1

�2 nombres de signe négatif– il y a une retenue puisque les 2 bits de signe sont 1

– on ajoute la retenue » 0 pour bit de signe donne un dépassement « réel » de

capacité

» 1 pour bit de signe, on lit le résultat (en complément à 1)

Page 45: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

45

Complément à 2 : définition

�On fixe la taille des mots du code

�entiers positifs codés en binaire signé

�entiers négatifs• ajouter 1 au complément à 1 (complément à 2)

• Exemple : (− 6)10

• valeur absolue 0 1 1 0

• complément à 1 1 0 0 1

• complément à 2 1 0 1 0

Page 46: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

46

Complément à 2 (suite …)

� Sur n bits, un nombre négatif est donc représenté par le complément à 2n de son opposé !

exemple : avec n = 4− 5 a pour code binaire l’équivalent de 24 − 5 = 11

− 5 1 0 1 1 + 5 0 1 0 1

00001

Page 47: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

47

Complément à 2 (suite …)

Sur 4 bits0 0 0 0 0

1 1 1 1 − 1 0 0 0 1 11 1 1 0 − 2 0 0 1 0 21 1 0 1 − 3 0 0 1 1 31 1 0 0 − 4 0 1 0 0 41 0 1 1 − 5 0 1 0 1 51 0 1 0 − 6 0 1 1 0 61 0 0 1 − 7 0 1 1 1 71 0 0 0 − 8

24 valeurs distinctesde

−8 à + 7c’est-à-dire de

− 24−1 à 24−1 −1

Avantages • une seule représentation du zéro• opérations faciles

Page 48: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

48

Complément à 2 : opérations faciles

+5 0 1 0 1 en ignorant le report on trouve zéro−5 1 0 1 1 Pourquoi ?0

Qu’avons-nous fait ?(5 + (16 – 5)) = 16Ignorer la retenue revient à soustraire 24 = 16

1 0 0 0 0

Page 49: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

49

Complément à 2 : opérations faciles

3 0 0 1 1 4 0 1 0 0− 5 1 0 1 1 −3 1 1 0 1

0111 1001 0

−2 en complément à 2 On ignore la retenuePourquoi ?

Page 50: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

50

Complément à 2 : opérations faciles

+3 0 0 1 1 −5 1 0 1 1 −5 1 0 1 1 +5 0 1 0 1 −4 1 1 0 0 −2 1 1 1 0

0001 1 0 1 1 1 10011

Pas de dépassementDépassement

Dépassement

Page 51: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

51

Addition en complément à 2

�Attention au dépassement de capacité :• il n’y en a pas si les 2 nombres sont de

signe opposé

• il n’y a dépassement que si la retenue propagée sur le bit de signe diffère de celle engendrée par l’addition de ces bits

Page 52: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

52

Dépassement de capacité� Codage en complément à 2 sur 8 bits :

entiers représentables de –128 à +127� Que se passe-t-il en cas de dépassement de

capacité ? � Exemple : – 127 – 10

– 127 s’écrit 1 0 0 0 0 0 0 1– 10 s’écrit 1 1 1 1 0 1 1 0

1 0 1 1 1 0 1 1 1Dépassement de capacité puisque le bit de signe est 0

En omettant la retenue, on a(256 – 127) + (256 – 10) – 256 = +119

Page 53: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

53

Dépassement de capacité ….� Exemple : + 127 + 10

+ 127 s’écrit 0 1 1 1 1 1 1 1+ 10 s’écrit 0 0 0 0 1 0 1 0

1 0 0 0 1 0 0 1

� Dépassement de capacité puisque le bit de signe est 1

� En complément à 2, ce nombre se lit – 256 + 137= –119

� Selon le cas, on ajoute ou on retranche 2n = 256 pour obtenir le résultat affiché

Représentation de 137 en binaire naturel !

Page 54: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

54

Exemple en Pascal

� Entiers de type integer codés sur 2 octets : −215 à 215−1 soit − 32768 à 32767

� i : = 32000 ;i := i + 4000 ; donnera à la valeur i : - 29536qui est (32000 + 4000) − 216 = 36000 − 65536

� i := −30000 ; i := i −5000 donnera à la valeur i : + 30536qui est (216 − 35000)

Page 55: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

55

Autres codes

� En utilisant le code binaire décimal (chiffre décimal codé sur 4 bits)on a vu plusieurs inconvénients : place mémoire, calculs peu faciles. Les retenues imposent un traitement spécial– 8 + 9 = 17 s’écrit sur 5 bits (1000 + 1001) = 1 0001 où le 5è

bit est la retenue

– 8 + 4 = 12 s’écrit sur 4 bits (1000 + 0100) = 1100

� Une solution est donnée par le code ‘plus 3’(excess3) où l’on ajoute 3 à chaque chiffre décimal avant de le traduire en binaire– Voir avantages, inconvénients en exercice

Page 56: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

56

�On pourra chercher les codes suivants– Code biquinaire utilisé en téléphonie :

mot binaire de 7 bits contenant exactement 2 bits de valeur 1, l’un parmi les deux premiers, l’autre parmi les cinq derniers

– Code Hollerith utilisé pour les cartes perforées

– Code Gray ou binaire réfléchi : codage binaire dans lequel un nombre ne diffère de son prédécesseur que par un bit

Autres codes

Page 57: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

57

Code de Gray

� Utilisé en théorie des circuits logiques

� Un code de Gray d’ordre n est une permutation des 2n mots de n bits dans un ordre tel que le mot i+ 1 diffère du mot i par un seul bit

� Exemple sur 3 bits :000 001 011 010 110 111 101 100

� Existe-t-il une autre permutation qui donnerait un code différent ?

Page 58: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

58

Code de Gray sur 4 bits

�Chercher descodes de Gray sur 4 bits

� Il en existe 11 distincts …

Page 59: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

59

� 0 0 0 0 0 0

� 1 0 0 0 0 1

� 2 0 0 0 1 1

� 3 0 0 0 1 0

� 4 0 0 1 1 0

� 5 0 0 1 1 1

� 6 0 0 1 0 1

� 7 0 0 1 0 0

� 8 0 1 1 0 0

� 9 0 1 1 0 1

� 10 0 1 1 1 1

� 11 0 1 1 1 0

� 12 0 1 0 1 0

� 13 0 1 0 1 1

� 14 0 1 0 0 1

� 15 0 1 0 0 0

� 16 1 1 0 0 0

Code de Gray sur 5 bits

Poursuivre, réfléchir au décodage, aux autres codes sur 5 bits

Page 60: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

60

�L’objectif est de réduire le nombre de bits utilisés pour stocker ou transmettre des informations

�Deux types de compression– Sans perte: fichiers pour lesquels la perte

d’un bit peut être catastrophique

– Avec perte: appliquée aux sons et aux images numérisés

Qu’est-ce que la compression ?

Page 61: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

61

Compression de données nécessite modélisation + codage

�Flot de symboles transformé en codes

�Compression efficace : flot de codes qui résulte plus petit que le flot original

�Le code dépend d’un modèle. Le modèle définit les probabilités d’occurrence de chaque symbole pour produire le code

Flot entrée Modèle Codeur

Flot sortie

symboles probabilités

Page 62: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

62

Codage de Huffman

�Comment, à partir d’un modèle de probabilités, coder avec des mots de longueur variable (sur un nombre entier de bits)?

�Modèle : chaque symbole est affecté de son poids, la fréquence ou probabilité d’apparition du symbole

�Création d’un arbre binaire par une procédure simple

Page 63: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

63

Codage de Huffman

� Symboles, affectés de leur poids, alignés sous forme

d’une chaîne de nœuds

� Les deux nœuds de plus faible poids sont appariés et donnent un nouveau nœud ayant pour poids la somme des poids de ses fils

� Les nœuds fils sont enlevés de la liste et remplacés par le nœud parent

� À partir du nœud père, on désigne l’un des fils comme donnant le code 0, l’autre donnant le code 1

� On répète les étapes précédentes tant qu’il reste plus qu’un nœud libre

Page 64: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

64

Codage de Huffman : exemple

Α B C D E15 7 6 6 5

Pour coder ces cinq lettres avec un code de longueur fixe il faudrait 3 bits par lettre, soit 9 bits pour coder le mot BAC

Page 65: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

65

Codage de Huffman : exemple

Α B C D E15 7 6 6 5

13 11

24

39

On remarque que le nœud final a pour poids la somme des poids initiaux

Page 66: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

66

Codage de Huffman : exemple

Α B C D E15 7 6 6 5

13 11

24

39

0

0

0

0

1

1

11

Α 0Β 100C 101D 110E 111

Il ne faut plus que 7 bitspour coder le mot BAC

Page 67: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

67

Remarques sur ce code

� Le décodage se fait sans ambiguïté car aucun mot de code n’est préfixed’un autre

� Le décodage peut être fait au fur et à mesure, sans attendre la fin du message

� Les poids affectés aux lettres représentent, par exemple, la fréquence d’apparition des lettres dans un texte

� Les symboles de plus forte probabilité ont des codes plus courts

Page 68: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

68

Précision finie

� ATTENTIONLes calculs en précision finie sont différents de ceux de l’algèbre normale

� Exemple : soient les entiers > 0, en base 10, sur 3 chiffres• loi associative a = 700, b = 400, c = 300

a + (b − c) = (a + b) − c en algèbre normale

• loi distributive a = 5, b = 210, c = 195 a ∗ (b − c) = (a ∗ b) − (a ∗ c) en algèbre normale

Page 69: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

69

Réels en virgule fixe� Virgule fixe lorsque la base n’intervient pas dans

l’expression du nombre réel

� Virgule fixe en base 2 101 représente 5 si la virgule est implicitement à droite101 représente 0,625 . . . . . . . . . . . . . . . . . . . . . . . à gauche

� Pour représenter des nombres d’ordre de grandeur très différent, il n’est pas commode d’utiliser une représentation en virgule fixe• masse d’un électron 0,0……….9 grammes

• masse du Soleil 2 0………0grammes28 décimales

33 zéros

Page 70: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

70

Représentation des réels

�Comment représenter ces nombres d’ordre de grandeur très différent ?

�On utilise la notation scientifique • masse d’un électron 9 ∗ 10 −28 grammes

• masse du Soleil 2 ∗ 10 +33 grammes

Page 71: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

71

Réels en virgule flottante� Codage semblable à celui de la notation

scientifique, le nombre décimal x s’écrit :

x = ± m 10e ici en base 10, où

– mantissem précise les chiffres significatifs– exposante donne l’ordre de grandeur

� Exemple (en base 10)37,52 = 37520 10−3

= 3752 10−2

= 0,0003752 105

= 0,3752 102

représentation normalisée

Page 72: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

72

Réels en virgule flottante

� Dans cette représentation normalisée0,3752 102

– Les chiffres significatifs sont à droite de la virgule– La virgule n’est pas représentée– La mantisse est un nombre inférieur à 1– Le bit de poids fort est différent de 0

� Le zéro n’est alors pas représentable mais, par convention, sa représentation ne contient que des zéros

Page 73: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

73

Un exemple en base dix

� soit une représentation comprenant • une mantisse signée de 3 chiffres

• un exposant signé de 2 chiffres

� les nombres positifsreprésentables vont de

0,100 ∗10−99 à + 0,999 ∗10+99

� les nombres négatifs représentables vont de ...

(199 ordres de grandeur avec seulement 5 chiffres et 2 signes)

� MAIS, tous les réels compris dans cet intervalle ne sont pas

représentables

Page 74: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

74

Réels virgule flottante en base 2

� Base 10 27 = 0,27 10+2

� Base 2(11011) = (0,11011) 2(101)

que l’on peut coder par exemple sur 4 octets

signe signe

0000 0101 0110 1100 0000 0000 0000 0000

exposant mantisse

Représentat

ion normalisée

Page 75: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

75

Représentation des signes

� Les signes de la mantisse et de l’exposant n’apparaissent pas explicitement

� Pour la mantisse, on réserve un bit selon la convention habituelle

� Pour l’exposant on utilise la méthode dite du biais. Si l’on dispose de n bits on veut pouvoir représenter 2n exposants distincts :• de − 2n−1 à 2n−1 −1• pour obtenir la représentationde l’exposant, on

ajoute le biais2n−1 à la valeuren base dix

Page 76: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

76

Exposants biaisés : codage� Sur n bits, pour obtenir un entier, on ajoute le biais :

2n-1et on représente le résultat en binaire naturel� Exemple, sur 3 bits, le biaisest +4

� − 4 s’écrit 000 (– 4 +4)� − 3 s’écrit 001 (– 3 +4)� − 2 s’écrit 010 (– 2 +4)� − 1 s’écrit 011 (– 1+4)� 0 s’écrit 100 (0 + 4)� 1 s’écrit 101 (1 + 4)� 2 s’écrit 110 (2 + 4)� 3 s’écrit 111 (3 + 4)

Page 77: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

77

Exposants biaisés : décodage

� Inversement, étant donnée la représentation d’un exposant : � on lit cette représentationen binaire naturel

� on retranche le biaispour obtenir la valeur de l’exposant

� Exemple représentation 010 se lit « deux »biais quatre2 moins 4 donne valeur−2

Page 78: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

78

Réels en virgule flottante

�Du nombre d’octets réservés à la représentation en machine des réels dépend

• l’ordre de grandeur des nombres : exposant

• la précision donnée par le nombre de chiffres significatifs : mantisse

Page 79: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

79

Procédé du bit caché

� En base 2, à cause de la normalisation, on perd une possibilité d’information

� Pour un mot mémoire comportant n bits, on gagnera 1 bit de précision en ne représentant pas le bit 1 après la virgule

� Ce bit figure implicitement mais n’est pas représenté

� On peut donc avoir une représentation de la mantisse ne contenant que des zéros

� ATTENTION : ce procédé n’a de sens qu’en base 2

Page 80: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

80

Les réels forment un ensemble DISCRET

� Soit un motmémoire de 6 bits

Pour ne pas représenter le signe de l’exposant on utilise la méthode du biais

valeur décimale valeur diminuée

de 2

00 représente − 2 zéro−201 représente − 1 un −210 représente 0 deux−211 représente 1 trois −2

signe exposant mantisse en binaire normalisé

Page 81: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

81

Exposant biaisé� Si l’exposant est représenté sur n bits, cette méthode

permet de représenter 2n valeurs distinctes, de − 2n-1 à 2n-1 − 1

� On définit le biais par 2n-1

� Pour avoir la représentation binaire d’un exposant, on ajoutele biais à l’exposant et on écrit le résultat en binaire naturel

� À partir de la représentation binaire, il suffit de retrancherle biais pour obtenir la valeur de l’exposant

� Avantage: quand on cherche le successeur d’un réel positif, on peut faire l’addition sur tous les bits de la représentation du réel

Page 82: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

82

Exercice� Écrire tous les mots binaires de 6 bits, sans bit caché

� Donner la valeur du réel correspondant

� Calculer la différence de 2 réels « consécutifs »

contenu valeur décimale valeur décimale valeur décimale différence exposant mantisse mot mémoire

0 11 111 1 0,875 1,750 11 110 1 0,75 1,5 0,250 11 101 1 0,625 1,25 0,250 11 100 1 0,5 1 0,250 10 111 0 0,875 0,875 0,1250 10 110 0 0,75 0,75 0,1250 10 101 0 0,625 0,625 0,1250 10 100 0 0,5 0,5 0,125

Page 83: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

83

� contenu valeur décimale valeur décimale valeur décimale différence exposant mantisse mot mémoire

0 10 100

0 01 1110 01 1100 01 1010 01 1000 00 1110 00 1100 00 1010 00 100 1 00 1001 00 1011 00 1101 00 111

Page 84: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

84

Sur cet exemple, les réels sont divisés en 7 zones

débordement débordement supérieur supérieurnégatif positif

−1,75 −0,125 0 0,1251,75

négatifs positifsexprimables exprimables

débordement inférieurnégatif positif

Page 85: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

85

Successeurs et prédécesseurs� Comment calculer le successeur d’un réel x ≠ 0

dans une représentation fixée ?� Soit E l’exposant vrai, M la valeur de la mantisse et

m sa longueur : x = ± M 2E

� Si x n’est pas une puissance de 2 alors� Suc(x) = x + 2E –m

� Préd(x) = x − 2E –m

� Si x est une puissance de 2� x >0, suc(x) = x + 2E –m ; � préd(x) = x − 2E –(m+1)

� x <0, suc(x) = x + 2E –(m+1);

� préd(x) = x − 2E –m

Page 86: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

86

Utilisation du bit caché� Dans l’exemple précédent, bien que la mantisse utilise

3 bits nous n’avons eu que 4 mantisses distinctes : 100, 101, 110, 111

� Toujours avec une représentation sur 6 bits, supposons qu’il y a un bit caché.

La mantisse fait apparaître toujours 3 bits mais il y a un bit supplémentaire, caché, de poids fortIl y a alors 8 mantisses possibles :

o 000 soit 0,5 o 100 soit 0, 75 o 001 soit 0, 5625 o 101 soit 0, 8125o 010 soit 0,625 o 110 soit 0,875o 011 soit 0, 6875 o 111 soit 0,9375

La précision est augmentée

Page 87: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

87

Sur cet exemple, avec bit caché

�Donner les valeurs extrêmes des réels représentables

�Calculer, selon les cas, l’écart entre deux réels « successifs »

Page 88: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

88

Caractères alphanumériques

� Code normaliséASCII American Standard Code for Information Interchange – utilisait 7 bits donc 128 caractères représentables

– a été étendu à 8 bits pour représenter des commandes de format, de séparation, de communication etc.

� La lettre « a » est codée par l’entier 97 en binaire naturel : 110 0001

� Le code ASCII ajoute, à gauche 1 bit de parité

1110 0001

Page 89: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

89

Caractères alphanumériques

�Code normaliséASCII utilise 8 bits

a 1 1 1 0 0 0 0 1 97b 1 1 1 0 0 0 1 0 98. . . . . . . . .z 1 1 1 1 1 0 1 0 122A 0 1 0 0 0 0 0 1 65+ 0 0 1 0 1 0 1 1 43, 1 0 1 0 1 1 0 0 44Bit de poids fort contrôle la parité

Page 90: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

90

Logique : calcul des propositions

Page 91: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

91

Introduction

� La logique est utile en informatique dans plusieurs domaines– Conception de circuits– Preuves de programmes– Programmation logique– Simulation de raisonnements en intelligence artificielle

� Nous n’aborderons ici que le calcul des propositionsbien qu’il soit limité pour décrire certaines situations réelles qui dépendent d’objets (ou d’individus)

� Il permet de décrire des propositions du type « il pleut » ou « 2+2 = 3 »

Page 92: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

92

Introduction suite…

� Le calcul des propositionsne peut représenter des phrases telles que « si x est le père de y et si z est le père de x alors z est grand-père de y » ou encore « tout individu a un père »

� Il ne peut non plus représenter les structures de propositions « tous les hommes sont mortels »

« Or Socrate est un homme »« Donc Socrate est mortel »

� Il faudra alors faire appel au calcul des prédicats qui englobe le calcul des propositions et qui le complète en permettant d’écrire par exemple « tout nombre premier strictement supérieur à 2 est impair »

Page 93: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

93

Calcul des propositions

� Dans ce calcul, les variables ne prennent que deux valeurs {vrai, faux} que l’on notera aussi {1, 0}.

� Le calcul ne traite que des expressions booléennes

� Une variable propositionnelle correspond à une variable de type booléen en Pascal

� Le calcul des propositions est un modèle mathématique qui permet de raisonner sur la nature vraieou faussedes expressions logiques

Page 94: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

94

Syntaxe, sémantique

� En logique, on distingue la syntaxe (règles d’écriture des formules) et la sémantique (interprétation des formules)

� Les formules seront représentées syntaxiquement par des arbres (par opposition à des suites de symboles)

� Le calcul des propositions traite du raisonne-ment sur les propositions indépendammentde leur sens

Page 95: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

95

Les propositions

� Une proposition est un énoncé qui peut être vrai ou faux. En arithmétique• 1 + 1 = 2 est une propositionvraie • 0 > 1 est une propositionfausse

� Certains énoncés sont des propositions mais nous ne savons pas si elles sont vraies ou fausses, c’est le cas de certaines conjectures mathématiques ni démontrées ni invalidées

� Certains énoncés ne sont pas des propositions :– ‘cet énoncé est faux’– ‘taisez-vous’– ‘c’est fini ?’

Page 96: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

96

Les connecteurs

� À partir de propositions p, q, r,…on peut construire de nouvelles propositions plus complexes grâce à desconnecteurs logiques qui vont relier les propositions entre elles. Les principaux sont– la conjonction ET, notée ∧– la disjonction OU, notée ∨– l’implication, notée →

– l’équivalence, notée ↔

– la négation, NON, notée ¬

Page 97: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

97

Tables de véritédes connecteurs principaux

�Négation NON a ¬ avrai (1) faux (0)faux (0) vrai (1)

a 0 0 1 1b 0 1 0 1

�Conjonction ET a ∧ b 0 0 0 1

�Disjonction OU a ∨ b 0 1 1 1

Connecteur unaire

Connecteurs binaires

Page 98: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

98

Tables de véritédes connecteurs principaux

a 0 0 1 1b 0 1 0 1

� Implication a → b 1 1 0 1

� Équivalence a ↔ b 1 0 0 1

� Attention au sens logique de la disjonctionet de l’implication– ‘Paris est un mot de 5 lettres’ → ‘Paris est la capitale de la France’

– 1+1=1 → ‘Paris est la capitale du Japon’

Sont des propositions vraiesATTENTION : L’implication n’est pas la causalité

Connecteurs binaires

Page 99: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

99

Définitions

� Deux définitions à connaître : � Relation d’ordre

� Ensemble totalement ordonné

� Un arbre est un ensemble partiellement ordonné tel que� Il existe un plus petit élément appelé racine

� Les minorants de tout élément forment un ensemble totalement ordonné

Page 100: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

100

Arbres binaires

� Une racine

� Chaque nœud peut avoir 0, 1 ou 2 branches

arbre de racine A

A

B

C

D E

F

G

H

J K

Page 101: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

101

Vocabulaire

� Les éléments d’un arbre sont les nœuds(ou sommets)

� Les successeurs(ou fils) d’un nœud a sont les nœuds b plus grands quea tels qu’aucun noeud ne se trouve entrea et b

� Un nœud sans successeur est une feuille. Les autres nœuds sont dits internes

� Un arbre estbinaire lorsque chaque nœud a au plus deux successeurs. On parle alors de fils gaucheet fils droit

� Notion de sous-arbre associé à un nœud a : ensemble des éléments b ≥ a

Page 102: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

102

Représentation d’une formule arithmétique

� ((a + b) − x / 2) ∗ (3 − y)� Cette formule est sous forme

parenthésée, symétrique (le connecteur binaire, est entre ses deux arguments)

� Les formules du calculdes propositions peuvent aussi se représenter sous forme d’arbres

� Nous verrons aussi des représentations linéairesdes arbres

*

_

+

a b

/

_

y

2x

3

Page 103: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

103

Formules du calcul des propositions

� On se donne un alphabet : des variables et des connecteurs propositionnels ¬, ∧ , ∨, →, ↔

� Une formule est un arbre étiqueté F vérifiant l’une des propriétés

� F est réduit à une feuille et est étiqueté par une variable

� La racine de F est étiquetée par l’un des symboles →, ↔, ∧, ∨. Elle a deux successeurs et chaque sous-arbre gauche et droit est une formule

� La racine de F est étiquetée par ¬, elle a un seul successeur. Le sous-arbre correspondant est une formule

Page 104: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

104

Une formule du calcul des propositions

→→→→

^

a

b

c ¬ ¬

^

∨∨∨∨

¬ ¬

a

b

�(((¬ a) ∨ b) ∧ c) → ((¬ (¬ a)) ∧ (¬ b))forme symétrique parenthésée

Page 105: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

105

Représentations linéaires

� Il est parfois commode de représenter une formule sous forme linéaire

�Notations – polonaise préfixée

– polonaise suffixée

– complètement parenthésée (déjà vue)

Page 106: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

106

Notation polonaise

� Sur l’exemple précédent on aurait→ ∧ ∨ ¬ a b c∧ ¬ ¬ a ¬ b

� Notation polonaise préfixéeF de F� si F est une feuille, F est l’étiquette de la

feuille � Si la racine de F est étiquetée par ∧, c’est

∧ F1 F2 où F1 et F2 sont les sous-arbres de F. De même pour les connecteurs →, ∨, ↔

� Si la racine est étiquetée par ¬, F s’écrit ¬F1

où F1 est le sous-arbre de cette racine

Page 107: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

107

Notation polonaise suite…

�Cette notation – n’utilise pas de parenthèses

– définit la formule F sans ambiguïté, c’est-à-dire que l’application qui fait passer de F à F est injective

�Comment retrouver la formule, c’est-à-dire construire l’arbre à partir de cette notation polonaise ?

Page 108: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

108

Lemme

� Evidemment, n’importe quelle suite de symboles ne représente pas une formule

� Comment vérifier qu’une suite de symboles représente bien une formule sous forme polonaise préfixée ? On affecte� le poids −1 aux variables� le poids +1 aux connecteur binaires� le poids0 au connecteur unaire¬¬¬¬

� Lemme� La somme des poidsd’une formule est − 1� Toute somme partielle à partir de la gauche est ≥ 0

Page 109: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

109

Notation totalement parenthésée

� Toujours avec le même exemple on a((((¬ a) ∨ b) ∧ c) → ((¬ (¬ a)) ∧ (¬ b)))

� On peut aussi établir un lemme qui permet de vérifier la cohérence des parenthèses. Ceci n’est pas suffisant pour prouver que la formule est syntaxiquement correcte.On attribue un poids 1 à la parenthèse ouvrante, un poids −1 à la parenthèse fermanteet 0 aux autres symbole� La somme des poids d’une formule est nulle� Tout facteur propre non vide est de poids > 0

� Ceci permet alors de reconstituer l’arbre si la formule est syntaxiquement correcte

Page 110: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

110

Ambiguïté de la forme symétrique

� Lorsqu’on utilise une forme symétrique (connecteur binaire encadré de ses deux arguments, par exemple p → q) on ne peut pas se passer des parenthèses

� Par exemple, comment interpréter p → q → r ?

� Ceci peut se traduire par l’une des deux formes préfixées

→→ p q r c’est-à-dire (p → q) → r ou → p → q r c’est-à-dire p → (q → r )

Page 111: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

111

Règles de simplification d’une formule complètement parenthésée

� supprimer les parenthèses externes de F

((((¬ a) ∨ b) ∧ c) → ((¬ (¬ a)) ∧ (¬ b)))Devient (((¬ a) ∨ b) ∧ c) → ((¬ (¬ a)) ∧ (¬ b))

� supprimer les parenthèses externes de ¬ (F)

(((¬ a) ∨ b) ∧ c) → ((¬ (¬ a)) ∧ (¬ b))Devient ((¬ a ∨ b) ∧ c) → (¬ ¬ a ∧ ¬ b)

Page 112: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

112

Règles de simplification d’une formule complètement parenthésée

� donner une priorité plus forte à∧ et ∨ permet desupprimer les parenthèses externes de (A → B)(((¬ a) ∨ b) ∧ c)→ ((¬ ¬ a) ∧ (¬ b))Devient(¬ a ∨ b) ∧ c → ¬ ¬ a ∧ ¬ b

� La lecture s’effectuant de gauche à droite on pourrait encore supprimer des parenthèses mais, pour des raisons de clarté, nous ne le faisons pas

Page 113: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

113

Valeurs d’une formule

� Une distribution de vérité est une application de l’ensemble des variables propositionnelles dans {0, 1}

� Une distribution σ étant fixée, on peut définir la val(F, σ) de toute formule F

� On dit parfois qu’une distribution σ est un modèle de F si val(F, σ) = 1

� Exemple sur la formule utilisée si σ(a) = 0, σ(b) = 0, σ(c) = 1 alors val(F, σ) = 0(voir table page suivante)

Page 114: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

114

Table de vérité pour l’exemple choisi

formule

¬ ¬ a ∧ ¬ b

(¬ a ∨ b) ∧ c

¬ a ∨ b

10101010c

11001100b

11110000a

Page 115: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

115

Définitions

�Deux formules F et G sont équivalentes si pour tout σ on a val(F, σ) = val(G, σ)

�Une formule F est une tautologie si elle prend la valeur 1 pour toute distribution σ

� Une formule F est une antilogie si elle prend la valeur 0 pour toute distribution σ. On dit aussi qu’elle est contradictoire

Page 116: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

116

Règles de Morgan

�NON (a ET b) équivaut à(NON a) OU (NON b)

¬ (a ∧ b) équivaut à (¬ a) ∨ (¬ b)

�NON (a OU b) équivaut à(NON a) ET (NON b)

¬ (a ∨ b) équivaut à (¬ a) ∧ (¬ b)

Page 117: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

117

Quelques propriétés

� Que valent les expressions suivantes lorsque p, q, r sont des expressions booléennes ?

• ¬ ¬ p …. idempotence

• p ∧ p, p ∨ p …. idempotence

• p ∧ ¬ p …. contradiction

• p ∨ ¬ p …. tiers exclus• p ∧ (p ∨ q) … absorption

� p ∧ p ↔ p …. idempotence� p ∧ q ↔ q ∧ p commutativité� (p ∧ q) ∧ r ↔ p ∧ (q ∧ r) associativité

� (p ∨ q) ∧ r ↔ (p ∧ r) ∨ (q ∧ r) distributivité

(p ∧ q) ∨ r ↔ (p ∨ r) ∧ (q ∨ r)

Page 118: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

118

Quelques formules équivalentes

�p → q et ¬p ∨ q

� p ↔ q et (p ∧ q) ∨ (¬p ∧ ¬q )

�On voit alors que l’on peut supprimer les connecteurs → et ↔

�Évaluer la formule (p ∨ r) ∧ (q ∨ ¬ r) → p ∨ qpar les tables de vérité

Page 119: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

119

Autres formules à évaluer

� (p → q) ↔ (¬q → ¬p) contraposition

� (p → (q → r) ↔ (p ∧ q) → r) exportation

� (p → q) → ((q → r) → (p → r)) syllogisme

� (p ∧ ¬p) → q

� ((p → q) → p) → p

� (p → (q →r)) → ((p → q) → (p →r))

Ces formules sont toutes de tautologies

Page 120: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

120

Les connecteurs binaires (1)

�ensemble F des applications f : BB × BB → BB où B B = {faux, vrai}

que l’on notera aussi {0,1}

�Définir une application f ∈ F consiste à associer à chaque élément de BB × BBun élément de BB

�Quel est le cardinal de F ? Décrire tous ses éléments

Page 121: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

121

Les connecteurs binaires (2)

�Cherchons d’abord le cardinal de BB × BB

�Une application f peut s’écrire comme un mot de longueur 4 sur l’alphabet BB

� f(0,0) = af(0,1) = bf(1,0) = cf(1,1) = d

� f est définie par a b c d

où a, b, c, d ∈ {faux, vrai}=B

Page 122: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

122

Table de vérité des applications (1)

x 0 0 1 1 nom

y 0 1 0 1

f1(x,y) 0 0 0 0

f2(x,y) 0 0 0 1

f3(x,y) 0 0 1 0

f4(x,y) 0 0 1 1

f5(x,y) 0 1 0 0

f6(x,y) 0 1 0 1

f7(x,y) 0 1 1 0

f8(x,y) 0 1 1 1

Page 123: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

123

Table de vérité des applications (2)

x 0 0 1 1 nom

y 0 1 0 1

f9(x,y) 1 0 0 0

f10(x,y) 1 0 0 1

f11(x,y) 1 0 1 0

f12(x,y) 1 0 1 1

f13(x,y) 1 1 0 0

f14(x,y) 1 1 0 1

f15(x,y) 1 1 1 0

f16(x,y) 1 1 1 1

Page 124: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

124

Les 16 connecteurs binaires

�D’après ces tables de vérité représentant tous les connecteurs binaires possibles, on s’aperçoit qu’à chaque connecteur correspond sa négation. Ainsi f1 est la négation de f16, f2 est la négation de f15…

�Ce connecteur f15, négation de la conjonction s’appelle « barre de Sheffer » et se note |

Page 125: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

125

Système complet de connecteurs

� Un ensemble C de connecteurs est dit complet si n’importe quel connecteur peut s’écrire en fonction des connecteurs de l’ensemble C

� L’intérêt majeur d’un système complet, ou base de connecteurs, est que pour démontrer quelque chose concernant une formule, on peut se contenter de le démontrer pour une formule équivalente ne contenant que les connecteurs de la base

� L’intérêt est évident en informatique (démonstration automatique) avec les programmes qui effectuent un traitement cas par cas. Plus le nombre de cas augmente (nombre de connecteurs) plus le risque d’erreur est grand !

Page 126: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

126

Système complet de connecteurs

�On démontrera en TD que les ensembles de connecteurs suivants sont complets– { ¬, ∧}

– { ¬, ∨}

– { ¬ , →}

– {|}, ou barre de Sheffer (f15) définie par a b a|b0 0 10 1 11 0 11 1 0

Page 127: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

127

Formes normales

�On appelle littéral une formule qui est soit une variable propositionnelle soit la négation d’un telle variable

�Une formule est sous forme normale disjonctive si elle est écrite sous forme de disjonctions de conjonctions de littéraux

� Une formule est sous forme normale conjonctivesi elle est écrite sous forme de conjonctions de disjonctions de littéraux

Page 128: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

128

�Comme pour les systèmes complets de connecteurs, l’intérêt des formes normales est évident en informatique où l’on simplifie une formule en l’écrivant sous une forme équivalente

�Nous verrons deux façons de trouver une FND ou FNC d’une formule– Par les tables de vérité– Par les arbres sémantiques

Page 129: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

129

Construction des formes normales disjonctives par les tables de vérité

�Chercher les distributions σ qui donnent à la formule la valeur 1

�Pour chaque distribution donnant la valeur 1, écrire la conjonction des littéraux donnant cette valeur

�Ecrire ensuite la disjonction de ces conjonctions…

Page 130: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

130

(¬ a ∨ b) ∧ c → ¬ ¬ a ∧ ¬ b

Cette formule est présentée sous forme symétrique.

Son écriture sous forme préfixée est :

→ ∧ ∨ ¬ a b c ∧ ¬ ¬ a ¬ b

Son écriture sous forme suffixée est :

a ¬ b ∨ c ∧→ a ¬ ¬ b ¬ ∧→

Bien que non complètement parenthésée, elle n’est pasambiguë.

Page 131: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

131

(¬ a ∨ b) ∧ c → ¬ ¬ a ∧ ¬ b

formule

¬ ¬ a ∧ ¬ b

(¬ a ∨ b) ∧ c

¬ a ∨ b

10101010c

11001100b

11110000a

(¬a∧¬b∧¬c) ∨(¬a∧b∧¬c)∨(a∧¬b∧¬c) ∨(a∧¬b∧c) ∨(a∧b∧¬c)

Page 132: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

132

Construction des formes normales conjonctivespar les tables de vérité

�Chercher les distributions σ qui donnent à la formule la valeur 0

�Pour chaque distribution donnant la valeur 1, écrire la disjonction des négations des littéraux donnant cette valeur

�Ecrire ensuite la conjonction de ces disjonctions…

Page 133: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

133

formule

¬ ¬ a ∧ ¬ b

(¬ a ∨ b) ∧ c

¬ a ∨ b

10101010c

11001100b

11110000a

(a ∨ b ∨ ¬c) ∧(a ∨ ¬ b ∨ ¬c) ∧(¬ a ∨ ¬b ∨ ¬c)

Page 134: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

134

Construction

�Qu’avons-nous fait pour obtenir cette forme normale conjonctive ?

�Nous avons cherché toutes les distributions qui donnaient à la formule la valeur faux et nous avons pris la négation de chacune de ces distributionssachant que ¬(a ∨ b) équivaut à (¬a ∧ ¬ b)

Page 135: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

135

Simplification des FN Disjonctives

� Reprenons la FND trouvée de la formule(¬ a ∨ b) ∧ c → a ∧ ¬ b

(¬a ∧¬b ∧¬c)∨(¬a ∧ b∧¬c)∨(a ∧¬b∧¬c)∨(a ∧¬b ∧c) ∨ (a ∧ b ∧¬c)

� Cette formule comporte 5 termes– Regardons les deux premiers

(¬a ∧¬b ∧¬c) ∨ (¬a ∧ b ∧¬c) équivaut à (¬a ∧¬c) – Regardons les termes 3 et 4

(a ∧¬b ∧¬c) ∨ (a ∧¬b ∧ c) équivaut à (a ∧¬b)– Regardons enfin les termes 1, 2, 3 et 5 qui contiennent tous

¬c . Leur conjonction équivaut à¬c

� La formule est donc équivalente à (¬c) ∨ (a ∧¬b)

Page 136: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

136

Simplification des FN Conjonctives

� Pour cette même formule la FNC trouvée est(a ∨ b ∨ ¬c) ∧(a ∨ ¬ b ∨ ¬c) ∧(¬ a ∨ ¬b ∨ ¬c)

� Regardons les termes 1 et 2(a ∨ b ∨ ¬c) ∧(a ∨ ¬ b ∨ ¬c) équivaut à (a ∨ ¬c)

� La formule est donc équivalente à(a ∨ ¬c) ∧ (¬ a ∨ ¬b ∨ ¬c)

� La simplification des FND ou FNC n’est ni immédiate ni évidente

Page 137: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

137

Lois algébriques pour les expressions logiques

�Une écriture plus légère d’une formule peut être donnée en utilisant les opérateurs arithmétiques + pour OU et ∗ pour ET

�Ainsi, (a ∨ ¬c) ∧ (¬ a ∨ ¬b ∨ ¬c) s’écrirait

(a + ¬ c) (a + ¬ b + ¬ c )� L’intérêt de cette écriture est de pouvoir appliquer

les lois de simplification de l’algèbre mais attention, on ne peut appliquer que les lois d’additivité, de commutativité et de distributivité

Page 138: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

138

Lois similaires à l’arithmétique

� p.q ≡ q.p commutativité de ∧� p (q.r) ≡ (p.q) r associativité pour ∧� (p + q) ≡ (q + p) commutativité de ∨� (p + (q + r)) ≡ ((p + q) +r) associativité de ∨� p (q + r) ≡ (p.q + p.r) distributivité de ∧ sur ∨� p + 0 = p (false est l’identité pour ∨)

� p.1 = p (vrai est l’identité pour ∧)

� p.0 = 0 (faux ET p est faux)

Page 139: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

139

Différences avec l’arithmétique

� (p + q.r) ≡ (p+q) (p+r)

� 1 + p≡ 1 vrai est absorbant pour ∨� p.p ≡ p idempotence du ∧� p + p≡ p idempotence du ∨� (p + p.q) ≡ p

� p (p + q) ≡ p

� Ces formules, vraies en calcul des propositions, sont en général fausses en arithmétique

Page 140: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

140

Arbres de Beth

� Ce sont des arbres sémantiques qui peuvent remplacer les tables de vérité lorsqu’on recherche des distributions de vérité qui rendent une formule vraie ou fausse

� De ces arbres ont peut déduire des FND ou FNC souvent simplifiées par rapport à la méthodes des tables de vérité

� Ces arbres peuvent donner des solutions plus rapides que celles des tables de vérité lorsqu’une formule contient beaucoup de variables

Page 141: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

141

Arbres de Beth pour →

� vrai Pour que la formule(A → B) soit vraie, il suffit que

A soit faux ou B vrai.¬ A B Il y a deux branches qui

donnent chacune une distribution de vérité

�Cherchons maintenant comment rendre cette même formule fausse

non A ou B

Page 142: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

142

Arbres de Beth pour →

� faux Il y a une seule (A → B) distribution qui rende la

formule fausse. L’arbreA n’a qu’une branche.

¬ B

A et non B

Page 143: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

143

Arbres de Beth pour ↔

� vrai faux(A ↔ B) (A ↔ B)

A ¬ A ¬ A A

B ¬ B B ¬ B

(A et B) ou (non A et non B) (non A et B) ou (A et non B)

Page 144: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

144

� vrai A ∧ B faux A ∧ B

A ¬ A ¬ B

B

� vrai A ∨ B faux A ∨ B

A B ¬ A

¬ B

Arbres de Beth pour ∧, pour ∨

A et B non A ou non B

A ou B

non A et non B

Page 145: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

145

Distributions à partir des arbres de Beth

�Chaque chemin possible à partir de la racine donne alors une distribution de vérité de la formule

�Cette méthode permet de donner la formule de départ sous forme normale disjonctive

Page 146: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

146

Exemple

� ((¬ a ∨ b) ∧ c) → (a ∧ ¬ b)

(¬ a ∨ b) ∧ c a ∧ ¬ b

¬ a ∨ b c a

a ¬ b

¬ b

vrai

vraifaux

faux faux

d’où la forme équivalente (a ∧ ¬ b) ∨ ¬ cIci il y a 3 chemins mais 2 sont identiques

Page 147: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

147

Même exemple avec une autre valeur de vérité

� (1) ((¬ a ∨ b) ∧ c) → (a ∧ ¬ b) (1) donne (2) et (3)

(2) ((¬ a ∨ b) ∧ c (2) donne (4) et (5)

(3) a ∧ ¬ b (3) donne soit (6) soit (7)

(4) ¬ a ∨ b (4) donne soit (6) soit (7)

(5) c

(6) ¬ a b (7)

Le chemin de gauche donne c ∧ ¬ a Celui de droite donne c ∧ b

faux

vrai

faux

vrai

Page 148: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

148

�Nous avons trouvé deux distributions de vérité qui rendent la formule F fausse : c ∧ ¬ a et c ∧ b

�Comment obtenir une forme normale conjonctive de la formule F ?

� Il suffit de nier les deux possibilités précédentes : ¬ ((c ∧ ¬ a) ∨ (c ∧ b))

¬ (c ∧ ¬ a) ∧ ¬ (c ∧ b)

(¬ c ∨ a) ∧ (¬ c ∨ ¬b) est une FNC

Page 149: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

149

Un exemple : additionneur 1 bit� Soit un circuit électronique destiné à l’addition

bit à bit x y

r c

z

où x et y sont les bits d’entrée,c la retenue d’entrée, r la retenue de sortie,z le bit de sortie

Page 150: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

150

Table de vérité de l’additionneur bit à bit

111

011

101

001

110

010

100

000

rzcyxx y

r c

z

entrées sorties

Page 151: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

151

Additionneur : formes normales

�FND pour la retenue de sortie :(¬x ∧y ∧ c) ∨ (x ∧¬ y ∧ c)∨ (x ∧y ∧¬ c)∨ (x ∧y ∧ c) (A)– En …– En …– En …

� Ces trois cas incluent toutes les distributions qui rendent la variable r vrai. On en déduit une forme normale disjonctive simplifiée :(x ∧ y) ∨ (x ∧ c) ∨ (y ∧ c) (B)

� Le passage de la forme (A) à la forme (B) n’est pas immédiat

Page 152: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

152

Simplification de la forme normale précédente

�Soit ¬xyc + x ¬ yc + xy ¬ c + xyc (A)

�On simplifie en remarquant que ¬ xyc + xyc = (¬ x + x) yc = yc(A) devient x ¬ yc + xy ¬ c +yc (A’)

�Cette forme est encore différente de la forme équivalente obtenue (B)

Page 153: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

153

Additionneur bit à bit

�Chercher la FNC de la variable r

�Chercher les FND et FNC de la variable z

Page 154: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

154

Notion de conséquence logique

�Soient Σ un ensemble de formules et Fune formule– Σ est dite satisfaisables’il existe une

distribution de vérité qui satisfait toutes les formules de Σ à la fois

– F est dite conséquencede Σ si toute distribution satisfaisant toutes les formules de Σ à la fois satisfait aussi F

On notera Σ ╞ F

Page 155: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

155

Exemples

�p ∧ q p

�p ╞ p ∨ q

� Σ= {p, q → ( p → r)} et F = q → r

Σ est vrai pour • σ(p) = 1 et σ(q) = 0

• σ’(p) = 1 et σ’(r) = 1

Ces deux distributions rendent F vrai doncΣ F

Page 156: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

156

Exemples suite …

�La déduction suivante est-elle légitime ?p → (q → r) , ¬s ∨ p, q ╞ s → r

�La déduction suivante est-elle légitime ?(p ∧ q) → r, r → s, q ∧ ¬s ╞ p

Page 157: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

157

ATTENTION

�Dire, ou écrire, que F est une conséquence logique de ΣΣ ╞ Fne signifie pas qu’une distribution de vérité qui donne àΣ la valeur faux donne aussi àF la valeur faux

Page 158: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

158

Résolution de problèmes par le calcul des propositions

� Lors d’une enquête A, B, C et D sont suspectés. Il a été établi que :– Si A et B sont coupables, il en est de même de C– Si A est coupable, l’un au moins des suspects B et C est

aussi coupable– Si C est coupable, D l’est aussi– Si A est innocent, D est coupable

� Peut-on établir avec certitude la culpabilité de l’un ou plusieurs des suspects ?On utilisera la proposition a pour A est coupable, b pour B

est coupable etc.

Page 159: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

159

Résolution

� On traduit le texte en langage des propositions

– (a ∧ b) → c

– a → (b ∨ c)

– c → d

– ¬a → d

� Après simplification, on trouve la FND équivalente (¬a ∧ d) ∨ (c ∧ d) donc D est certainement coupable

On cherche, par exemple par la méthode des arbres, les distributions qui satisfontà la fois ces quatre formules

Page 160: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

160

Un autre problème et sa résolution

� Sachant que chacune des phrases suivantes est vraie, que peut-on en déduire ?– De deux choses l’une : ou bien le malfaiteur est

venu en automobile, ou bien le témoin s’est trompé

– Si le malfaiteur a un complice, alors il est venu en automobile

– Le malfaiteur n’avait pas de complice et n’avait pas la clé ou le malfaiteur avait un complice et avait la clé

– Le malfaiteur avait la clé

Page 161: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

161

– a : venu en automobile– t : témoin s’est trompé– c : a un complice– k : avait la clé

� (a ∧ ¬t) ∨ (¬a ∧ t)� c → a� (¬c ∧ ¬ k) ∨ (c ∧ k)� k � Le malfaiteur est venu en voiture, il avait un

complice, il avait la clé, le témoin ne s’est pas trompé

Page 162: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

162

Tautologie par les arbres de Beth

� Pour montrer que la formule (¬s → ¬p) → ((p → (r → q)) → (p → (p →s))est une tautologie, on cherche s’il existe une distribution qui donne la valeur faux

� Tous les chemins sont fermés, c’est donc une tautologie

� Pour montrer qu’une formule est une antilogie on chercherait une distribution qui donne la valeur vrai

Page 163: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

163

Conception de circuits logiques

Page 164: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

164

Introduction

�Toutes les informations traitées par l’ordinateur sont codées en binaire

�Les circuits logiques, composants de base des ordinateurs, peuvent être conçus à partir de circuits élémentaires qui correspondent aux connecteurs de la logique des propositions

Page 165: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

165

Circuits logiques et booléens� Un circuit logique peut être vu comme une boîte

noire possédant n ports d’entrée e1, e2,…, en et mports de sortie s1, s2,…, sm (n ≥1, m≥1)

� Il traite des informations codées sur n bits et donne des informations codées sur mbits

� Le codage de l’information, en entrée ou sortie, est représenté par l’absence (0) ou la présence (1) d’une tension électrique

� On appelle ces circuits logiquescar un bit d’information 0 est assimilé à la valeur de véritéfaux et 1 àvrai

� C’est aussi une application de {0,1}n dans {0,1}m

Page 166: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

166

Un circuit logique déjà vu� Additionneur bit à bit

11111

10011

10101

01001

10110

01010

01100

00000

rzcyx

x y

r c

z

Page 167: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

167

Spécification d’un circuit logique� C’est la description du fonctionnement interne du circuit

– Par une table de vérité : on donne les valeurs de sortie pour chacune des entrées possibles : il y en a 2n

– Par m formules logiques, chacune donnant une colonne de sortie

� Ces deux formes de spécification sont équivalentes

……..………..…

om…..o1in…..i1

……..………..…

sm…s1en…..e1

Page 168: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

168

Un exemple : reste de la division par 3

�Spécifier un circuit logique dont l’entrée est un entier compris entre 0 et 15 et dont la sortie est le reste de la division entière de cet entier par 3– l’entrée peut être codée en binaire naturel

sur 4 bits– la sortie peut être codée sur 2 bits

e3e2 e1 e0

s1

s0

entrée sur 4 bits sortie sur 2 bits

Page 169: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

169

11107

01106

10105

00104

11003

01002

10001

00000

Valeur du reste

s0s1e0e1e2e3entier

Page 170: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

170

00018

111115

011114

101113

001112

110111

010110

10019

Valeur du reste

s0s1e0e1e2e3Entier

Page 171: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

171

Reste de la division par 3

�Spécification par table

�Spécification logiques0 = (¬e3 ∧ ¬e2 ∧ ¬e1∧ e0)

∨ (¬e3 ∧ e2 ∧¬e1∧ ¬e0) ∨ (¬e3 ∧ e2 ∧ e1∧ e0) ∨ (e3 ∧ ¬e2 ∧ e1∧ ¬e0)∨ (e3 ∧ e2 ∧ ¬ e1∧ e0)

Page 172: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

172

Reste de la division par 3 : suite

�s1 = (¬e3 ∧ ¬e2 ∧ e1∧ ¬e0)∨ (¬e3 ∧ e2 ∧¬e1∧ e0)∨ (e3 ∧ ¬ e2 ∧¬e1∧ ¬ e0)∨ (e3 ∧ ¬ e2 ∧ e1∧ e0)∨ (e3 ∧ e2 ∧ e1 ∧ ¬ e0)

Page 173: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

173

Une forme de représentation des circuits

�Trouver un circuit équivalent plus simple

(q∧r) ∨ (p ∧¬¬¬¬q∧r) ∨ (¬¬¬¬p∧¬¬¬¬q∧r)

q r

p ¬¬¬¬q r

¬¬¬¬p ¬¬¬¬q r

On lit

Cette formule est mise sous FND.

Les deux derniers termes se simplifient en un seul terme ¬¬¬¬q∧r

Il reste (q∧r) ∨ (¬¬¬¬q∧r) qui est équivalent àr

Page 174: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

174

Une forme de représentation des circuits

�Trouver un circuit équivalent plus simple

¬¬¬¬p q

rp

¬¬¬¬rq

pq

¬¬¬¬p

On lit :

{ [(p ∨ q) ∨ ((r ∨ p) ∧ (¬¬¬¬r ∨ q))] ∧ ¬¬¬¬p} ∨ (¬¬¬¬p ∧ q)

Page 175: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

175

Portes logiques élémentaires� Circuits de base permettant de construire tous les

circuitsx x

x ¬ x

x ∧ y xy

xy ¬(x∧ y)

Porte séparateur

Porte NON ou porte NOT

Porte ET ou porte AND

Porte NON ET ou porte NAND

Page 176: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

176

– Porte OU ou OR x ∨ y

– Porte NON OU ¬(x ∨ y) ou NOR

– Quelle est cette porte ?

Portes logiques élémentaires

yx

yx

yx C’est la porte de Sheffer,

équivalente à NANDxy

Page 177: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

177

Des formules aux circuits

� Pour construire un circuit logique à n entrées et une seule sortie, on construit l’arbre syntaxique. On oriente les arcs de l’arbre de bas en haut et on remplace les nœuds par les connecteurs associés

� Exemple (e1 ∨ e2) ∧ (¬ e1 ∨ e3 )

e1 e2 e1 e3

sortie

Page 178: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

178

Exemple (e1 ∨ e2) ∧ (¬ e1 ∨ e3 )

�Le circuit doit avoir autant d’entrées que de feuilles dans l’arbre. Certaines entrées étant identiques, on introduit des bifurcations par des . Le circuit précédent devient

e1

e2

e3

sortie

Page 179: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

179

Un exemple

�Celui du circuit logique représentant le reste de la division par 3 d’entiers compris entre 0 et 15

� Il est souvent commode de normaliser la spécification des circuits en utilisant les formes normales disjonctives FND ou conjonctives FNC. C’est le cas sur l’exemple suivant

Page 180: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

180

e0e1e2

e3

s0

s1

¬e3 ∧¬e2(¬e3 ∧¬e2 ∧¬e1 ∧¬e0)

(¬e3 ∧¬e2 ∧¬e1 ∧¬e0)∨(¬e3∧e2 ∧¬e1∧¬e0)

Page 181: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

181

Un autre exemple

� Un circuit additionneur 16 bits a 32 entrées et 17 sorties– 16 entrées reçoivent un entier naturel codé sur 16 bits

– 16 autres entrées reçoivent un entier naturel codé sur 16 bits

– 16 sorties constituent la représentation en base 2 de la somme des 2 entiers d’entrée

– Le 17è bit est un éventuel dépassement de capacité

� Il est évident ici qu’une spécification par table de vérité n’est pas envisageable…

� De même, écrire les 17 formules spécifiant les 17 sorties sous forme normale est exclus

� On construit donc un circuit additionneur 1 bit. On composera alors autant de « circuit 1 bit » que nécessaire

Page 182: Licence MIA 1ère année

Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes

182

Additionneur 1 bit avec retenue� Nous avons déjà vu l’additionneur 1 bit avec retenue

� L’additionneur 16 bits consiste en la succession de 16 additionneurs de ce type

ai bi

r i+1

ci

r i

Bit de dépassement de capacité

b0 a1 b1a0

c0

r2

c1

r1

a15 b15

c15

r15