Upload
hoangbao
View
262
Download
0
Embed Size (px)
Citation preview
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
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
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 …
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
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
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 ….)
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 …
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
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
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
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}
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
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
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
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
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
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
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
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
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 …
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.
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
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
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
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
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
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
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} ...
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
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é
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
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
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
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)
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
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
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
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
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» !
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
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
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
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
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)
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
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
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
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
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 ?
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
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
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
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 !
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)
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
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
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 ?
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 …
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
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 ?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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é
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
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
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
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
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
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
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 »
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
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é
Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes
90
Logique : calcul des propositions
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 »
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 »
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
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
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 ?’
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 ¬
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
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
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é
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
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
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
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
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
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)
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
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 ?
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
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
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 )
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)
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
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)
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
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
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)
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)
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é
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
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
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
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
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
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 |
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 !
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
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
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
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…
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ë.
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)
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…
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)
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)
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)
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
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é
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)
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
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
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
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
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)
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
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
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
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
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
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
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
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
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)
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
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
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
╞
╞
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
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
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.
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
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é
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é
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
Licence MIA Licence MIA 1ère année1ère année Madeleine Bonnet Université René Descartes
163
Conception de circuits logiques
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
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
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
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
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
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
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
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)
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)
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
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)
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
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
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
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
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
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)
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
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