Louis Frcon
DPARTEMENT D'INFORMATIQUE
Le Dpartement d'Informatique de l'INSA de Lyon, fond en 1969, a t l'une des premires coles d'ingnieurs en informatique, cre en France. Ce dpartement forme 120 diplms par promotion. Les lves ingnieurs acquirent une formation de gnraliste en informatique leur permettant de matriser la fois la diversit des techniques informatiques (architecture, gnie logiciel, systmes d'information communicants, intelligence artificielle, systmes temps rel, architectures multi-tches et gestion du paralllisme, rseau et tlinformatique...) et la varit des domaines d'application (applications dites de gestion, mise en uvre d'ERP, systmes de production, systmes industriels, intgration de la dimension multimdia, ingnierie des connaissances...). Ces domaines, aussi bien au niveau technique qu'applicatif, voluent en permanence depuis la naissance de nouvelles techniques (apprhendes grce une veille technologique), leur dclin, puis leur disparition ; leur dveloppement est conditionn conjointement par leur maturit et celle du domaine auquel on les applique (intranets, systmes embarqus...), La formation des lves ingnieurs du dpartement est en permanence adapte ce contexte volutif. Elle est complte par des stages en entreprise constituant des ouvertures vers les futurs mtiers. Le contenu de ce livre correspond un enseignement dispens durant la formation des lves ingnieurs informaticiens du dpartement. Il se propose de couvrir les mathmatiques discrtes en se concentrant sur ce qui est utilis dans les divers domaines de la science informatique. Le choix des matires abordes est adquat et convaincant. Il se situe la convergence entre la thorie et les applications. Ce livre sera un outil prcieux non seulement pour les lves du Dpartement Informatique, mais aussi pour les ingnieurs et les informaticiens souhaitant parfaire leurs connaissances. Les exercices, problmes et pistes de rflexion proposs en fin de chapitre sont la fois trs originaux et d'un grand intrt pdagogique. L'originalit de cet ouvrage rside dans l'esprit et dans la forme de la prsentation. Son contenu est d'une grande qualit ; il est le fruit de trente annes de rflexion et d'exprience pdagogique dans le domaine toujours d'actualit, relatif aux outils pour la modlisation et la rsolution des problmes. Ce sont des mathmatiques discrtes pour l'ingnieur, l'informaticien et le chercheur. Nous tions nombreux attendre la parution de cet ouvrage et sommes reconnaissants l'auteur, enseignant au Dpartement d'Informatique de l'INSA, de l'avoir crit. Nous le recommandons fortement aux lves ingnieurs du Dpartement et aux anciens lves. Professeur Jean-Marie PINON Directeur du Dpartement d'Informatique de l'INSA de LYON
SOMMAIRE
I - Fondements Mmento de logique Ensembles Relations binaires Fonctions Relations binaires internes Calculabilit et rcursivit Notion de complexit
II-Graphes 7. 8. 9. 10. 11. Des points et des flches Chemins et circuits Fermetures transitives Arbres et connexits Graphes multipartis
O12.Oprateuset algbres Monodes et langages Diodes et algbres de chemin Algbre de Boole Algbre de Kleene et automates tats finis
Logique des propositions ................................ ..............................3 Logique des prdicats....................................... .............................11 Exercices ............................................................... .............................15 Problmes...........................................................................................17 Piste de rflexion.............................................................................18 Lectures..............................................................................................18
ENSEMBLES & LMENTS..................................................... .............................21 1.1 Prsentation.......................................................... .............................21 Inclusions .............................................................. .............................23 1.2 Parties d'un ensemble...................................................................25 1.3 1.4 Union...................................................................................................26 Intersection........................................................................................27 1.5 Diffrence ensembliste..................................................................28 1.6 Couvertures .......................................................... .............................29 1.7 Diffrence symtrique...................................... .............................31 1.8 Partitions.............................................................................................32 1.9 1.10 Paires & produits cartsiens........................................................34 1.11 Exercices ............................................................................................35 1.12 Problmes...........................................................................................37 1.13 Lectures...............................................................................................40 RELATIONS BINAIRES ...................................................................................41 Vue en extension .............................................................................41 2.1 Vue en comprhension................................................................44 2.2 2.3 Relation inverse ...............................................................................45 Union, intersection, finesse.........................................................46 2.4 Composition......................................................................................46 2.5 Exercices............................................................................................47 2.6 Problmes...........................................................................................48 2.7 2.8 Lectures...............................................................................................48
Chapitre 2
FONCTIONS..................................................................... ...............51
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13
Relations binaires rgulires.......................................................51 Fonctions .....................................................................................51 Surjection ...........................................................................................53 Image & inverse..............................................................................54 Injection & bijection......................................................................54 Synoptiques .......................................................................................56 Composition de fonctions............................................................57 Ensembles dnombrables et finis............................................58 Relations n-aires..............................................................................59 Fonctions gnralises..................................................................61 Exercices ............................................................................ ................63 Problmes...........................................................................................64 Lectures............................................................................... ................65
4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11
5.1
Proprits des relations binaires internes............... ................68 Restriction.......................................................................... ................72 Equivalence.......................................................................................72 Ordres ..................................................................................................75 Prordre...............................................................................................79 Rcapitulatifs.....................................................................................84 Exercices .............................................................................................85 Problmes........................................................................... ................87 Thmes de rflexion....................................................... ................92 Lectures............................................................................... ................94
.......................................95
Calculabilite, decidabilit............................................................95 Calculabilit e trcursivit.. Rcursivits convergente, divergente, stationnaire......... 101 Ensembles rcursifs et rcursivement numrables........ 103 Aux sources de l'arithmtique et de l'algbre...................104 Exercices................................................................................ .........106 Problmes............................................................................... .........107 Pistes de rflexion........................................................................108 Lectures................................................................................... 109
Rgles d'estimation de la complexit...................................112 Prordre de complexit .............................................................. 1 15 Classes de complexit.................................................................115 Optimisation du calcul d'une fonction.................................117 Reprsentations d'une table creuse.......................................121 Exercices.........................................................................................123 Problmes........................................................................................124 Lectures............................................................................................125
Graphes..................................................................................................... 127 DES POINTS ET DES FLCHES................................................................... 129 7.1 Prsentation.................................................................................... 129 7.2 Degrs & demi-degrs............................................................... 129 7.3 Prdcesseurs, successeurs, adjacents.................................. 130 7.4 Sommets initiaux, terminaux, isols..................................... 130 7.5 Sous-graphe.................................................................................... 130 7.6 Graphe partiel................................................................................ 131 7.7 Graphe complet, cliques............................................................ 131 7.8 Reprsentations............................................................................. 131 7.9 Proprits des relations binaires et graphes associs...... 133 7.10 Proprit faible / proprit forte............................................. 135 7.11 Graphe valu.................................................................................. 135 7.12 Exercices......................................................................................... 136 7.13 Problmes........................................................................................ 136 7.14 Thmes de rflexion....................................................................137 7.15 Lectures............................................................................................ 137 CHEMINS & CIRCUITS................................................................................ 139 8.1 Les chemins.................................................................................... 139 8.2 Circuits et boucles dans un graphe........................................ 141 8.3 Chemins lmentaires dans un graphe................................. 141 8.4 Recherche de chemins dans un graphe................................ 143 8.5 Mthodes matricielles................................................................ 145 8.6 Mthode locale 1 : recherche par niveaux.......................... 152 8.7 Mthode locale 2 : mthode du meilleur d'abord............ 155 8.8 Mthode locale 3 : recherche en profondeur..................... 158 8.9 Problmes hamiltoniens............................................................. 161 8.10 Problmes eulriens.................................................................... 162 8.11 Exercices......................................................................................... 164 8.12 Problmes........................................................................................ 165 8.13 Thmes de rflexion.................................................................... 169 8.14 Lectures............................................................................................ 169 FERMETURES TRANSITIVES ..................................................................... 171 9.1 Fermeture transitive et descendance stricte........................ 171 9.2 Fermeture rflexo-transitive et descendance large.......... 171 9.3 Interprtation des relations quelconques............................. 172 9.4 Accessibilit dans les systmes tats................................. 174 9.5 Exercices......................................................................................... 179 9.6 Problmes........................................................................................ 179 9.7 Lectures............................................................................................ 181 ARBRES & CONNEXIT.............................................................................. 183 10.1 Chanes & cycles.......................................................................... 183 10.2 Graphe (fortement) connexe.................................................... 184 10.3 Composante connexe d'un graphe......................................... 184
Chapitre 8
Chapitre 9
Chapitre 10
10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 10.13 10.14 10.15 10.16 10.17 Chapitre 11
Composantes fortement connexes .........................................185 Centres, rayon, diamtre d'un graphe.................................. 185 Arbres, forts, hirarchies, arborescences.......................... 187 Arbre couvrant.............................................................................. 188 Arbre couvrant minimal............................................................ 189 Points, ensembles d'articulation............................................. 190 Isthme............................................................................................... 191 k-Connexit et robustesse structurelle................................. 191 Multi-graphes................................................................................ 192 Exercices......................................................................................... 196 Problmes........................................................................................ 197 Pistes de rflexion........................................................................ 198 Vocabulaire.................................................................................... 198 Lectures............................................................................................200
GRAPHES MULTIPARTIS ............................................................................201 11.1 Prsentation....................................................................................201 11.2 Tests de multipartisme...............................................................202 11.3 Jeux & fonctions de Grundy....................................................204 11.4 Coloriage de graphes ..................................................................207 11.5 Graphes bipartis............................................................................212 11.6 Graphes et hypergraphes...........................................................214 11.7 Exercices .........................................................................................218 11.8 Problmes........................................................................................ 19 11.9 Pistes de rflexion........................................................................220 11.10 Lectures............................................................................................220 Algbres....................................................................................................221 OPRATEURS & ALGBRES......................................................................223 12.1 Oprateurs & signatures............................................................223 12.2 Syntaxe des expressions ............................................................224 12.3 Smantique formelle des expressions ..................................225 12.4 Algbres...........................................................................................225 12.5 Proprits des oprateurs ..........................................................227 12.6 Elments remarquables pour un oprateur......................... 228 12.7 Dparenthsages...........................................................................231 12.8 Proprits inter-oprateurs....................................................... 236 12.9 Morphismes....................................................................................237 12.10 Formes normales & canoniques.............................................239 12.11 Exercices .........................................................................................240 12.12 Problmes........................................................................................241 12.13 Pistes de rflexion........................................................................242 12.14 Lectures............................................................................................243 MONODES & GROUPES.............................................................................245 13.1 Prsentation....................................................................................245 13.2 Semi-Groupe..................................................................................248 13.3 Groupe..............................................................................................249
Chapitre 13
Table des matires 13.4 13.5 13.6 13.7 13.8 13.9 13.10 Monode finiment engendr.....................................................251 Langages formels.........................................................................254 Grammaires.................................................................................... 254 Exercices.........................................................................................256 Problmes........................................................................................258 Pistes de rflexion........................................................................260 Lectures............................................................................................261
DIODES..........................................................................................................263 14.1 Prsentation....................................................................................263 14.2 Semi-anneau...................................................................................264 14.3 Anneau.............................................................................................264 14.4 Corps.................................................................................................265 14.5 Graphe valu..................................................................................265 14.6 Calculs matriciels........................................................................^? 14.7 Thse centrale................................................................................267 14.8 Taille illimite...............................................................................267 14.9 Taille limite..................................................................................269 14.10 Exemples.........................................................................................270 14.11 Graphes multivalus............................................................-......273 14.12 Exercices.........................................................................................274 14.13 Problmes.......................................................................................277 14.14 Pistes de rflexion........................................................................277 14.15 Lectures............................................................................................279 14.16 Famille des diodes......................................................................279 ALGBRE DE BOOLE..................................................................................281 15.1 Intrt................................................................................................281 15.2 Algbre de boole lmentaire..................................................282 15.3 Modlisation boolenne de technologies............................283 15.4 Fonctions boolennes .................................................................285 15.5 Gomtrie boolenne..................................................................286 15.6 Bases d'une fonction...................................................................289 15.7 Des sommes de monmes aux produits de clauses.........300 15.8 Approches dichotomiques ........................................................305 15.9 Equations boolennes................................................................. 308 15.10 Anneau de Boole..........................................................................309 15.11 Equivalences majeures...............................................................312 15.12 Exercices.........................................................................................313 15.13 Problmes........................................................................................313 15.14 Piste de rflexion..........................................................................314 15.15 Lectures..................,.........................................................................314
ALGBRE DE KLEENE & AUTOMATES TATS FINIS.................317
16.1 Notion d'automate tats finis..............................................317 16.2 Grammaires de Kleene...............................................................321 16.3 Algbre de Kleene.......................................................................322 16.4 Proprit centrale......................................................................... 325
Des expressions rgulires aux graphes de transition....328 Synoptique...................................................................................... 333 Exercices.........................................................................................333 Problmes........................................................................................335 Pistes de rflexion........................................................................ 336 Lectures............................................................................................337
Chapitre 0 Memento de logique......................................................... 339 Chapitre 1 Ensembles & lments.................................................... 341 Chapitre 2 Relations binaires.............................................................. 344 Chapitre 3 Fonctions.............................................................................. 345 Chapitre 4 Relations binaires internes............................................. 348 Chapitre 5 Fonctions, calculabilit, rcurrence............................ 352 Chapitre 6 Notion de complexit.....................................................354 Chapitre 7 : Des points et des flches............................................... 355 Chapitre 8 Chemins & circuits...........................................................356 Chapitre 9 Fermetures transitives...................................................... 357 Chapitre 10 Arbres & connexit........................................................ 359 Chapitre 11 Graphes multipartis........................................................359 Chapitre 12 : Oprateurs et algbres.................................................361 Chapitre 13 Monodes...........................................................................361 Chapitre 14 Diodes................................................................................363 Chapitre 15 Algbre de Boole............................................................364 Chapitre 16 Algbres de Kleene & automates tats finis .....364 INDEX .............................................................................................................367
PREMIERE PARTIE
FONDEMENTS
CHAPITRE 0
MEMENTO DE LOGIQUE
Ce chapitre peut tre saut en premire lecture : il ne constitue qu' un bref aidemmoire et n' a pour mission que de lever certains doutes que pourrait avoir le lecteur en thorie des ensembles et dans diverses dmonstrations.
Des combinaisons plus complexes pourront tre formes par parenthsage. Ainsi : ((A D) -> (D B))(AB) se lira si A alors D implique que si D alors B, alors A implique B.
Le terme usuel est disjonction, mais il n'est pas appropri, et j'en dconseille l'usage.
0.1.2 Substitutions DFINITION 0.2 - Soit E un nonc contenant une variable propositionnelle p. L'nonc obtenu en remplaant dans E chaque occurrence de p par un nonc F sera dit substitu de E, et not E(p | F). On pourra procder plusieurs substitutions d'un seul coup s'il n'y a pas d'ambigut. EXEMPLE. E = p(qp) donne E(p | ab) =(ab)(q(ab)). 0.1.3 Rgles d'infrences DFINITION 0.3 - Toute logique possde des mcanismes gnrateurs, qui doivent permettre d'ajouter un nonc un contexte. Ces figures de raisonnement licites sont dites rgles d'infrence. REMARQUES Les rgles d'infrence sont notes X , Y , Z=>T, pour signifier que l'nonc de forme T, ou consquent, est valablement dduit d'noncs de forme X, Y, Z, les antcdents. Pour viter les confusions, on rserve en gnral les majuscules aux (mtavariables des) rgles d'infrence, et les minuscules aux (variables des) noncs spcifiques du problme.
0.1.4 Dmonstrations DFINITION 0.4 - Soit E1, E2, ..., En une suite d'noncs. On dira qu'il s'agit d'une dmonstration de germe E1, ... Ek; si : E1, ..., Ek sont des noncs au sens prcdent, chaque nonc Ei de la sous-suite d'noncs Ek+1, ..., En est driv de la sous-suite E1, ..., Ei-1 au sens suivant : - il existe une rgle d'infrence note X, Y, Z => T, - il existe une substitution d'noncs s telle que les substitus s(X), s(Y), s(Z) soient prcisment des noncs de E1, ..., Ei-1 ; - et enfin, Ei = s(T). Alors, chacun des Ek+1, ..., En est vrai si chacun des E1, ..., Ek est vrai. 0.1.5 Systmes et dmonstrations Soit un certain systme tudier. Nous connaissons au moins certaines de ses lois, causales ou empiriques, et au moins partiellement son tat. Avec cela, on peut constituer un germe : en associant des noncs lmentaires aux caractristiques de l'tat, une situation du systme sera dfinie par une suite de ces noncs ou de leurs ngations ; les lois connues du systme (causales ou factuelles) mneront en gnral des implications. Dans ces conditions, une dmonstration au sens ci-dessus fournit des noncs vrais, applicables au systme ds lors que le systme vrifie les lois et l'tat dfinis par le germe.
Mmento de logique Si le germe se limite des lois du systme, les dmonstrations (ne) produisent (que) des lois secondaires. Les rsultats seront d'autant plus concrets que le germe comprendra une dfinition plus fine de l'tat du systme. 0.1.6 Principales rgles d'infrence Rgles d'infrences positives, sans ngation Ces rgles sont essentiellement celles des tableaux 0.1 et 0.2. Tableau 0.1 Rgles d'infrence positive. Nom recopie dtachement conjonction ventilation conj + vent Notation XX X,XZZ X , YX Y XYX,Y X YX , Y si on a X, et X implique Z, alors on aZ si X, et Y, (isolment) alors X et Y (ensemble) si X et Y(ensemble) alors X, et aussi Y (isolment) X et Y est vrai (ensemble) si et seulement si X et aussi Y sont vrais isolment X quivaut Y si, et seulement si X implique Y et Y implique X si X est vrai, X ou Y l'est. si X ou Y, et X implique R, et Y implique R, alors R (sans avoir dterminer lequel, de X, ou Y, est vrai) Signification
quivalence
Tableau 0.2 Rgles d'articulation des dmonstrations. Nom composition Notation ( XY, YZ ) ( XZ ) Signification si X entrane Y, et si Y entrane Z alors X entrane Z Si X entrane Y (par quelque raisonnement valide), alors le fait X implique Y est vrai
dduction
( XY) ( XY )
La rgle de dduction engendre une implication comme trace utile d'une dmonstration auxiliaire imbrique localement dans la dmonstration principale, ou faite sparment comme dans certains lemmes ou thormes techniques.
Rgles d'infrence avec la ngation Le rle de l'adjonction se prcise. S'introduisent galement des rgles sur le thme si la prsence de A entrane toujours celle de B, l'absence de B entrane celle de A. On dtecte les contradictions, notes 1, et toute cause de contradiction est rfute (tab. 0.3).
Tableau 0.3 Rgles exploitant la ngation.
(XZ) => (Z X) si un effet Z a une cause X, alors l'absence de l'effet implique l'absence de la cause (XZ), Z => X si un effet a une cause, et si l'effet est absent, alors la cause est absente par contraposition + dtachement ^ dnote la contradiction ce qui mne une contradiction est faux
Z, Z ^ (X ^) X
Ces rgles suffiront tablir au paragraphe 0.1.8 le principe de noncontradiction (ex. 6). Rgles aristotliciennes Avec l'involution, la ngation se durcit ; la possibilit d'effacer les doubles ngations dorme des rsultats plus forts car plus simples ; la contraposition est symtrise, la rfutation engendre la reductio ad absurdum . Ces rgles, anciennes et efficaces, sont classiques en mathmatiques, o la droite coupe ou non le plan. Elles ont t isoles car elles sont inadquates pour modliser les systmes o les attributs ne sont pas bipolaires (X n'est ni pauvre ni riche...) ; o la double ngation est une forme faible de l'affirmation (ce n'est pas inintressant < c'est intressant).
Tableau 0.4 Rgles aristotliciennes.
Notation X X (XZ) (Z X) X^ X
Signification double ngation vaut affirmation symtrisation par effacement des doubles ngations si nier une hypothse entrane une contradiction, l'hypothse est tablie (par rfutation + involution)
Lorsqu'on rencontre plusieurs fois une mme suite d'infrences ayant des effets globaux simples et caractriss, on peut considrer ce strotype comme constituant une nouvelle rgle d'infrence, ou rgle d'infrence secondaire, qui peut se rvler plus commode que les rgles fondamentales. Un raisonnement est valide s'il emploie des rgles d'infrence valides, fondamentales ou secondaires. En pratique, l'homme a tendance multiplier les strotypes pour aller plus vite. Cependant, certains raisonnements sont faux (ou plutt invalides) du fait de strotypes invalides. En cas de doute, expliciter un raisonnement facilite sa vrification. 0.1.8 Exemples Nous numrotons les noncs dans un style niveau.rang qui permet d'imbriquer des dmonstrations. A chaque niveau, un trait horizontal sparera le germe (ou l'hypothse) de sa drivation. Une barre verticale commune marquera les noncs d'une mme dmonstration locale. Sans ngation EXEMPLE 1. Soit un systme formellement rgi par : 0.1 : 0.2: 0.3: h(rvp) Tm pm / / / noncs initiaux
Qu'en tirer ? h semble tre la cl du systme. Posons : on en dduit puis d'o la proprit 1.0 : h 1.1 : rp 1.2: m 0.4 : hm / / / / hypothse pour une sous-dmonstration dtachement 0.1, 1.0 (X | h , Y | rp) dilemme 1.1,0.2,0.3 (X| h, Y| r p , R| m) dduction 1.0-1.2 (X| h, Y| m)
EXEMPLE 2. Montrer que l'on a toujours (X(XY)). Partant d'un germe vide, nous tentons une sous-dmonstration sur une proposition quelconque : 1 .0 x xy 0.1 x(xy) / / / hypothse niveau 1 adjonction 1.0 (X|x, Y|y) dduction 1.0, 1.1 (X|x, Y|y )
Cette dmonstration est correcte quelles que soient les propositions substitues x et y, elle peut donc tre vue comme tout fait gnrale, et on retient son abstraction :
X (XY)
Ce rsultat a la forme d'un nonc, mais n'utilise que des mtavariables : c'est un mta-nonc qui vient d'tre tabli. Il constitue un mtathorme ou modle de tautologie, fournissant des noncs vrais pour toute substitution d'nonc X et/ou Y.
Fondements
Un modle de tautologie est assimilable une rgle d'infrence sans antcdent : tout substitu est une tautologie ou nonc universellement vrai, i.e. indpendamment de la vrit de ses variables ; ces tautologies peuvent toujours tre utilises comme tape d'une dmonstration. Une tautologie est une cheville ou un lieu commun de la logique : n'apportant rien en elle-mme, elle permet de relancer une dmonstration, par combinaison avec des noncs spcifiques au problme, et/ou en facilitant l'application de rgles d'infrence plus constructives. Ainsi peut-on, si ncessaire, insrer dans une dmonstration un nonc tel que 1.17 : ((ab)c) (((ab)c)(pa)) comme tautologie obtenue par substitution de ((ab)c) X, et de (pa) Y, dans le modle de tautologie X(XY). En remplaant l'adjonction en 1.1 par d'autres figures, on obtiendra d'autres modles de tautologies, tels que : (X X) (X (X X)) (X Y) X (X X) X par simple recopie, par conjonction, par ventilation, par dilemme...
EXEMPLE 3. Montrer que X(XY) XY. 0.1 1.0 1.1 1.2 0.2 (x( xy )) x (xy) y (xy) hypothse initiale hypothse niveau 1 dtachement 0.1,1.0 (X | x, Y| (x y)) dtachement 1.1, 1,0 (X x, Y y) dduction 1.0, 1.2 (X | x, Y | y)
Cette dmonstration n'a rien de circonstanciel. Pouvant supporter toute substitution de proposition aux variables prpositionnelles x et y, elle peut tre considre comme faisable en toute gnralit. L'infinit des dmonstrations possibles se rsume par l'abstraction obtenue en substituant des mta variables aux variables : (X(XY)) ( XY ) Cette rgle introduit un procd de simplification d'nonc, et aussi le modle de tautologie
((X(XY))( XY ))
EXEMPLE 4. SYLLOGISME. Montrer que (AB), (BC) (AC). La dmonstration ci-aprs pouvant supporter toute substitution de proposition aux variables a, b, c, elle pourra tre considre comme faisable en toute gnralit.
On pourra admettre comme rgle d'infrence son abstraction : (AB), (BC) (AC) Le procd s'tend aux sorites ou syllogismes en chane (AB), (BC), (CD), (DE), (EF) (AF) (cf. Lewis CAROLL et 0.3.10). Des dmonstrations semblables engendrent des tautologies apparentes : ((AB)(BC))(AC) ((AB)((BC)(AC)))... Avec ngation, sans involution EXEMPLE 5. Montrer que (A A) A. 0.1 1.0 1.1 1.2 0.2 0.3 (aa) a a ^ (a^) a germe hypothse dtachement 0.1, 1.0 (X|a,Y|-,a) dtection contradiction 1.0, 1.1 dduction 1.0 1.2 limination contradiction
Cette dmonstration, supportant toute substitution sur a, peut tre considre comme faisable en toute gnralit, et on peut admettre son abstraction : (AA) A Plus directement, on pourrait crire la mta-dduction : 0.1 1.0 1.1 1.2 0.2 0.3 (AA) A A ^ (A^) A germe hypothse dtachement 0.1, 1.0 dtection contradiction 1.0, 1.1 dduction limination contradiction (A A) A ((A A) A)
EXEMPLE 6. PRINCIPE DE NON-CONTRADICTION (LUKASIEWICZ). Le principe une proposition et sa contraire ne sont jamais simultanment vraies s'tablit en supposant une telle conjonction, qui entrane une contradiction et se trouve ainsi rfute. 1.0 1.1 1.2 1.3 0.0 (A A) A A ^ (A A) hypothse v e n t i l a t i o n v e n t i l a t i o n c o n t r a d i c t i o n rfutation 1.0, 1.3 1.1 1.1, 1.2 1.0
X 0.0 1.0 0.1 1.0 1.1 1.2 1.3 0.2 X(X Yh X Y(X X Y (X)(Y)
y p
Y Y )
o t h
a d j o n c t i o n d d u c t i o n
s e
1.0 1.01.1 1.0 1.0 1.1 0.0, 1.0 0.1, 1.0 1.2 1.3
Y Y )
a d j o n c t i o n d d u c t i o n
(X Y)((X)(Y))
non
datur
Ah y p o t h s e
(A A)h y p o t h hypothse s e A A ^ (A A) (A A) cont contraposition 0.0, 1.0 contraposition 0.1, 1.0 cont cont contradiction sur -.A, 1.1 1.2 rfut rfutation 1.0, 1.3 invo involution 0.2, ou absurdit 1.0 1.3
EXEMPLE 9. SECONDE RGLE DE DE 1S 1.0 1.1 0.0 1.0 1.1 0.1 1.0 1.1 1.2 1.3 1.4 1.5 0.2 0.3 0.4 X XY X (X Y) Y XY X (X Y) (X Y) X Y X Y XY (X Y)( XY) hypothse adjonction 1.0 dduction 1.0 1.1 hypothse adjonction 1.0 dduction 1.0 1.1 hypothse contraposition 0.0, 1.0 contraposition 0.1, 1.0 involution 1.1 involution 1.2 conjonction 1.3 1.4 dduction 1.0 1.5 contraposition 0.2 involution 0.3
Fondements
DFINITION 0.5 - Un terme est un objet ou individu dnot : soit par une constante ; ex : Pierre, jardin, soit par une variable ; ex : x, y... soit par une notation fonctionnelle f(t1, t2, ..., tk, o festun symbole fonctionnel ou nom de fonction, et o les t1, t2, ..., tk sont des termes ; ex : pre(Pierre), premier(enfants(Pierre, Marie)). On appelle terme clos un terme n'utilisant pas de variables, et qui dnote ainsi indirectement des constantes. 0.2.3 Formalisation des noncs Enoncs lmentaires DFINITION 0.6 - En logique des prdicats, un nonc lmentaire ou prdicat atomique est une criture fonctionnelle p(t1, t2, ..., tk) o p est un symbole prdicatif ou nom de prdicat, et dont les arguments t1, t2, ..., tk sont des termes. Un tel nonc dnote une relation prcise par le symbole prdicatif, et portant sur les termes mentionns ; a pour valeur non un terme mais une valeur de vrit associe cette relation, satisfaite ou non par ce jeu de termes. EXEMPLES estEn(pre(Pierre), jardin) plus(X, 0, X ) Enoncs composs DFINITION 0.7 - Plus gnralement on appellera nonc : tout nonc lmentaire, si E, E1, E2 sont des noncs, l'une des notations du tableau 0.5. Tableau 0.5 noncs composs. Notation (E1 E2) (E1 E2) (E1 E2) (E1 E2) E "x E(x) $x E(x) Signification E1 et E2 E1 ou E2 E1 implique E2 E1 quivaut E2 ; E1 si et seulement si E2 en abrg E1 ssi E2 non E pour tout x, E(x) il existe au moins un x tel que E(x), / o x est une variable muette / o x est une variable muette pour le pre de Pierre est au jardin (vrai/faux), pour X + 0 = X (vrai/faux).
Les symboles , , , , sont des connecteurs, les nouveaux symboles ", $ sont dits quantificateurs.
Mmento de logique Les deux dernires formes, dites quantifies, gnralisent l'nonc interne. Les noncs "x plus(x,0,x) "x $y plus(x,y,0) "x (homme(x)mortel(x)) s'interprtent
13
pour tout x, x + 0 = x pour tout x, il existe au moins un y tel que x + y = 0 pour tout x, si x est un homme alors x est mortel, ou : tout homme est mortel.
Lexiques Pour viter toute confusion, on utilise des lexiques disjoints pour les variables, les fonctions, les prdicats. Arits DFINITION 0.8 - On appelle arit d'une fonction ou d'un prdicat, le nombre de termes qu'il faut associer son nom. Le lexique des constantes symboliques s'identifie au lexique des fonctions d'arit 0. On appelle souvent propositions les prdicats d'arit 0, et proprits les prdicats d'arit 1.
0.2.4 Systmes et dmonstrations Comme prcdemment on modlise un systme en exprimant sous forme logique ses lois et son tat. Ceci constituera le germe de dmonstrations exploitant les rgles d'infrence. Si le germe est rduit aux lois du systme, la dmonstration tablit des lois secondaires du systme. Si le germe contient des noncs sur l'tat du systme, on obtient des rsultats factuels.
0.2.5 Rgles d'infrence Comme dans la section 0.1, elles sont notes antcdents consquent, et signifient : si le contexte satisfait les antcdents une substitution s prs, alors on peut, dans la logique considre, ajouter au contexte le consquent soumis la mme substitution s, o le contexte dsigne les noncs du germe, augment des consquents dj tablis. Les nouveauts sont relatives aux quantificateurs, et la ncessit pour les substitutions d'accorder entre eux les noncs d'une part, les termes de l'autre. Pour viter une dfinition trop complexe des ces rgles, commenons par celles qui permettent de faire apparatre ou d'liminer les connecteurs, les quantificateurs (en rapport avec les termes). Nous pouvons utiliser le systme du tableau 0.6, o le symbole ^ dnote une contradiction, complt par les tableaux 0.7 et 0.8.
14
Introduction (AB)(AB) A, B (A B)
Elimination A, (A B) B (A B) A, B
(AB)(BA) (AB) (AB) (A B)(BA) B, B ^ AA A (AB), (BA) rfutation (A^) A absurdit (A^) A AA par dilemme (A B), (A C), (BC) C par implications (A v B) (A B), (BA)
Tableau 0.7 Rgles sur les quantificateurs. Quantification universelle existentielle Gnralisation A(t) "x A(x), o t est une variable libre A(a) $x A(x), o a est un terme clos Spcification "x A(x) A(t), o t est un terme quelconque $x A(x) A(a), o a est une nouvelle constante, ajoute au lexique
Nom dualit
Enoncs "x E(x) "x E(x) $x E(x) $x E(x) $x E(x) "x E(x)
EXEMPLE 10. Prouver que si un entier a n'est pas divisible par 3, alors a2-1 est divisible par 3. Notons mod(a, p, r) le prdicat a divis par p a pour reste r . 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 "a"b"p mod(a, p, 0) mod(a b, p, 0) "a mod(a, 3, 0)mod(a-l, 3, 0)vmod(a+l, 3, 0) "a"b"p mod((a-l), p, 0) mod((a-l )-b, p, 0) "a"pmod((a-l),p,0)mod((a-l)- (a+l),p,0) "a"p mod((a-l ), p, 0) mod(a -1, p, 0) "a"b"p mod((a+l,p,0)mod((a+l)-b,p,0) VaVpmod((a+l),p,0)mod((a+l)-(a-l),p,0) "a"pmod((a+l), p, 0) mod(a2-1, p, 0) "amod(a,3,0)(mod(a-l,3,0)0)mod(a-lmod(a+l,3,0))
2
def mod spec mod 3 0.1 (a | a-1) 0.3(b|a+l) proprit de 0.1(a|a+l) 0.6 (b| (a-1)) proprit de lim. adj.0.2
Mmento de logique
15
mod(a,3,0) mod(a, 3, 0) (mod a-1, 3, 0)mod(a+l, 3, 0)) (mod(a-l, 3, 0) mod(a+l, 3, 0)) mod((a-l), 3, 0) mod(a -1, 3, 0) mod((a+l), 3, 0) mod(a2-1, 3, 0) mod(a -l,3,0) -, mod(a,3,0) mod (a -1 ,3,0) Va (-,mod(a,3,0) mod(a -1 ,3,0))
2 2 2 2
hypothse spec 0.9 dtachement 1.0, 1,1 spec 0.5 spec 0.8 dilemme 1.2-1.3-1.4 dduction 1.0-1.5 gnralisation 0.10
EXEMPLE 11. Montrer qu'une relation R intransitive est irrflexive. Argument : si un lment a est en relation avec lui-mme par R, il l'est autant de fois que l'on veut ; or s'il l'est deux fois, l'intransitivit interdit une troisime, d'o contradiction. 0.1 0.2 0.3 1.0 1.1 1.2 1.3 1.4 0.4 0.5 "a"b"c (R(a, b)AR(b, c) )R(a, c) "a"b (R(a, b)AR(b, b) ) R(a, "a (R(a, a)AR(a, a) ) R(a, R(a, a) R(a, a)R(a, a) (R(a, a)R(a, a) ) R(a, R(a, a) 1 R(a, a) "a R(a, a) a) a) b) def. intransitivit 0.1 spec univ (c| b) 0.2 spec univ (b| a) hypothse locale conjonction 1.0, 1.0 spec.univ. 0.3 dtachement 1.1, 1.2 contradiction 1.0, 1.3 rfutation 1.0,1.4 gnralisation univ. 0.4 = dfinition irrflexivit attendue
0.3 EXERCICES
0.3.0 Montrer que (AB)(AB). 1 0.3.1 Montrer que AB, BC, CA A. A est-il condition ncessaire ou suffisante de B ? 0.3.2 Montrer que AP, BP (AB)P et que PX, PY P(XY). Quelles sont les conditions suffisantes de P ? Ses conditions ncessaires ?
16 Montrer que
Fondements
On suppose que AB signifie que A est une condition suffisante de B. Que signifie la contraposition de cette implication ? Peut-on dire que B est condition ncessaire de A ?
0.3.4
La rgle exfaiso quodiibet sequitur , qu'on peut transcrire ^A, caractrise les systmes tolrant la contradiction. Montrer que, si la contradiction est admise, on obtient par rfutation, 1 => A (toute proposition est fausse), par absurdit, ^ => A (toute proposition est vraie), et que le fait qu'une proposition soit drivable n'est plus informatif. En dduire les comportements adopter si un germe et une hypothse locale entranent une contradiction, si un germe entrane une contradiction sans hypothse locale particulire, si une contradiction est drivable ex nihilo.
0.3.5
Montrer que A, AB B.
0.3.6
Trois personnes de trois nationalits diffrentes habitent les trois premires maisons d'une rue. Chaque maison a une couleur diffrente, et chaque personne un mtier diffrent. On constate que : Le Franais habite la maison rouge. L'Allemand est musicien. L'Anglais habite la seconde maison. La maison rouge est ct de la verte. L'crivain habite la premire maison. Quelle est la nationalit de l'crivain ? Qui habite la maison jaune ? O habite le peintre ? Dresser maintenant un bilan gnral de la situation.
0.3.8
On considre la suite de Fibonacci dfinie par : f(0) = 0 ; f(l) = 1 ; au-del, f(i) = f(i-l) + f(i-2) Montrer par rcurrence que l'on a toujours "I N, f(i) N, "I N, f(i) exp(i/2), "i N, f(i) = a' + b', o a et b sont les deux solutions de x2 - x - 1 = 0.
0.3.9
Partant de P(0) = 1 = 2 - 1 , montrer par rcurrence le prdicat P(n) = 1 + 2 + 4 + ... +2 n - l +2"=2" + l - 1. Jadis, aux Indes, l'inventeur du jeu d'checs en fit une dmonstration un puissant radjah. Celui-ci demanda l'inventeur quelle rcompense il voulait pour avoir invent un jeu aussi divin. L'inventeur demanda seulement 1 grain de bl pour la premire case, 2 pour la seconde, 4 pour la troisime en doublant ainsi de suite jusqu' la 64e. A raison de 0,1 gramme par grain, combien cela reprsente-t-il en tout de millions de tonnes de bl ? 0.3.10 Sachant que a. Les dentistes font les meilleurs rugbymen. b. Les Ecossais portent des chaussettes rouges. c. Ceux qui lvent des taureaux ne portent rien de rouge. d. Les meilleurs rugbymen sont Ecossais. e. f.
g.
Montrer que : Les Ecossais n 'lvent pas de taureaux. Les meilleurs rugbymen portent des chaussettes rouges.
Les meilleurs rugbymen n 'lvent pas de taureaux.
h. i. j.
Les dentistes sont Ecossais. Les dentistes portent des chaussettes rouges. Les dentistes n 'lvent pas de taureaux.
0.4 PROBLEMES
0.4.0
En tendant par rcurrence l'exemple 10 du paragraphe 0.2.6, montrer que pour n1 : si un entier a n'est pas divisible par 3, alors a2" - 1 est divisible par 3 ; si un entier a est congru 1 module p, alors a" - 1 est divisible par p . 0.4.1 Montrer par l'absurde que 2 est irrationnel (Euclide).
0.4.2
Montrer par l'absurde que l'ensemble des nombres premiers n'est pas born, i.e. qu'il n'y a pas de plus grand nombre premier (Euclide).
0.4.3
Montrer que toute proposition est logiquement encadre par l'adjonction de ses conditions suffisantes, la plus forte de ses dfinitions par dfaut, la conjonction de ses conditions ncessaires, la plus faible de ses dfinitions par excs.
0.4.4
Une fonction sera dite callimorphe si elle atteint son maximum sur la frontire F de son domaine D. On supposera dmontr que si festcallimorphe, - f l'est aussi. En dduire que si f est callimorphe, elle atteint son minimum la frontire F de son domaine D.
18
Fondements
Aussi, que si une fonction callimorphe est constante sur la frontire F de son domaine D, elle est constante dans tout le domaine D (Lejeune-Dirichlet).
0.4.5
Sur l'Ile aux Chevaux, les chevaux dtiennent la parole, la sagesse, la vrit et la vertu, tandis que les humains y sont des btes de somme rpugnantes et muettes. Comment Gulliver, l'trange humain-qui-parle va-t-il justifier aux Principaux des chevaux son arrive sur l'le ? Son naufrage conclut un voyage improvis du fait de la trahison d'un ami. Et les chevaux sont ici de redoutables logiciens, qui ignorent cependant tout de l'erreur et du mensonge (d'aprs Jonathan Swift).
0.4.6
A Ivanbourg, le Camarade Premier Secrtaire, du fait de ..., est ncessairement le plus intelligent de tous les habitants. D'autre part, du fait de ..., le Camarade Premier Secrtaire est ncessairement le moins intelligent de tous les habitants. En dduire que tous les habitants sont aussi intelligents les uns que les autres (d'aprs Zinoviev, Les Hauteurs Bantes, Ed. L'Age d'Homme).
0.4.7
Dans ce lointain pays, on s'accorde dans les milieux gouvernementaux penser que: pour gagner les lections, il faut rduire le chmage ; pour rduire le chmage, il faut dvelopper l'enseignement professionnel et
rduire les impts ;
pour dvelopper l'enseignement professionnel, il faut plus de fonds publics ; pour disposer de plus de fonds publics, il faut privatiser les firmes nationalises, ou augmenter les impts. Formaliser ces rgles en posant : g = gagner les lections, r = rduire le chmage... Ce gouvernement ayant l'intention de gagner les lections, en dduire qu'il va privatiser les firmes nationalises. Revoir d'un il critique les diffrents stades : nonc phras des rgles, formalisation des rgles, dmonstration. Examiner l'impact d'un changement dans l'une des 4 rgles nonces. Rduire et augmenter les impts sont-ils la parfaite ngation l'un de l'autre?
0.6 LECTURES
AHO A., ULLMAN J., Concepts fondamentaux de l'informatique, chap. XII et XIV, Dunod, Paris,1993. BENZAKEN C., Systmes formels, Masson, Paris, 1991.
Mmento de logique
19
FEJER P.A., SIMOVICI D.A., Mathematical Foundations ofComputer Science, vol. I, chap. IV.8, Coll. Texts and Monographs on Computer Science, Springer Verlag, NY& Berlin, 1991. GRIZE J.B., Logique moderne, 3 fascicules, Mouton & Gauthier-Villars, 1973. PABION J.F., Logique mathmatique, Hermann, Paris, 1972. REINHARDT R.& SOEDER H., Atlas des mathmatiques, chap. I, La Pochothque, Le Livre de Poche, Paris, 1997 ; traduction de DTV-Atlas der Mathematik, Deutscher Taschenbuch Verlag Gmbh, Munich, 1974. VELU J., Mthodes mathmatiques pour l'informatique, chap. 13, Dunod, Paris, 1994. Collectif, Petite encyclopdie des mathmatiques, chap. 15, Edition Pagoulatos, Paris, 1980 ; traduction de Kleine Enzykiopadie der Mathematik, VEB Bibliographisches Institut, Leipzig, 1975. Curiosit : CAROLLL. (DODGSON Ch. dit), Logique sans peine, Hermann, Paris, 1966 ; slection de textes de logique des annes 1890 ; normalisation des noncs textuels, sorites, paradoxes...
CHAPITRE 1
Par la suite, un grand nombre de notations ou de concepts seront introduits par l'criture : Nouveau concept ou nouvelle notation s dveloppement 1.1 PRSENTATION DFINITION 1.1 - Un ensemble est un regroupement en une entit d'objets distincts. Cette dfinition, considre comme premire, ne sera pas autrement justifie. Les objets appartenant un ensemble sont dits lments ou membres de l'ensemble. 1.1.1 Extension, appartenance DFINITION 1.2 - Un ensemble est dit ensemble dfini en extension s'il est dfini par la liste de ses lments. On notera : ClubDesAmandiers = (Julie, Marcel, Andr, Sophie } = Julie, Marcel, Andr et Sophie forment le Club des Amandiers ClubDesAmandiers dsigne Y ensemble des personnages. Les membres du club Julie, Marcel, Andr, Sophie appartiennent chacun au club, et forment ensemble son extension. ei E z E 1.1.2 Cardinalit DFINITION 1.3- Pour un ensemble E dfini en extension, on appelle cardinalit le nombre d'lments de sa liste, note |E|. Ainsi, E = {e1, e2, e3, e4) entrane |E| = 4. 1.1.3 Identit DFINITION 1.4 - Les deux ensembles A et B sont des ensembles identiques, si tout lment de A est lment de B et, rciproquement, si tout lment de B est lment de A ; autrement dit, si A et B ont mme extension (Leibniz). On pose : A = B "x (xA xB) et A B si les extensions diffrent. PROPOSITION 1.1 - A = B |A| = B. ei appartient E , ainsi Sophie ClubDesAmandiers. z n 'appartient pas E , ainsi Zo ClubDesAmandiers.
1.1.4 Diagramme d'Euler Pour raisonner sur de tels ensembles, on peut utiliser un diagramme d'Euler, figure plane dans laquelle un ensemble E est reprsent par une tache plus ou moins rgulire, et, s'il y a lieu, les lments par des points.
1.1.5 Abstraction L'numration peut tre lassante ou impossible. DFINITION 1.5 - La notation E = { x | K(x) } dfinit E comme ensemble des x tels queK(x). La notation peut tre associe un procd constructif, K caractrisant les objets construits. Cette notation est formelle et non factuelle : c'est seulement si K n'est pas faux pour tout x que le procd sera productif, et E effectif. 1.1.6 Comprhension II sera souvent plus commode ou intressant de stipuler un ensemble E comme restriction qualitative d'un ensemble U plus vaste. DFINITION 1.6- On dira un ensemble E ensemble dfini en comprhension si E est dfini comme l'ensemble des x d'un ensemble de rfrence U tels que p(x), o p(x) est un prdicat dfini dans U, et on notera E = { xU | p(x)}. L'appartenance cet ensemble U d'objets peut tre vue comme condition ncessaire d'appartenance E, le raffinement de U par p menant l'ensemble E vis. Le diagramme d'Euler de la figure 1.2 reprsente E par une tache plus ou moins rgulire interne celle reprsentant l'ensemble U dont E est une restriction. PROPOSITION 1.2 E = { x U | p ( x ) } | E | | U | 1.1.7 Ensemble vide DFINITION 1.7 - L'ensemble vide ou ensemble 0 lment, est not . PROPOSITION 1.3 - {} et || = . En termes d'abstraction / comprhension, 0 est Y ensemble des objets ralisant un prdicat toujours faux.
Fig. 1.1 Ensemble en comprhension.
NOTE. Logique et thorie des ensembles classiques reposent sur un principe de noncontradiction. Aucun objet ne peut satisfaire une proposition contradictoire, ou si l'on prfre, seuls les 0 objets de l'ensemble vide le font. 1.1.8 Autres ensembles remarquables Certains ensembles sont si remarquables qu'on leur a attribu un nom (en fait, une lettre) qui bnficie d'une typographie spciale pour viter toute confusion avec des homonymes. Par la suite, nous noterons donc : 18 = {0, 1}, N, Z, Q, R, C, l'ensemble des boolens ; l'ensemble des entiers naturels ; il contient 0, et s'il contient n, il contient n+ 1 ; l'ensemble des entiers algbriques ou signs ; il contient N, et s'il contient x et y, alors il contient x - y ; l'ensemble des rationnels ; il contient Z, et s'il contient p, et q non nul, alors il contient la forme irrductible de la fraction p/q. l'ensemble des rels, qui contient Q et les limites des suites convergentes valeurs dans Q; l'ensemble des complexes (x + iy), o x et y sont des rels.
1.2 INCLUSIONS
1.2.1 Inclusion large DFINITION 1.8 - L'ensemble E est inclus au sens large dans l'ensemble F (resp. F contient E) ssi tout lment de E est lment de F. Ce qu'on note : E F F E " X (xE) (xF) Avec E F, E est encore dit sous-ensemble (au sens large), ou partie de F. Dans le cas contraire, on notera E F.
Fi g. 1.2 Inclusion de E dans F. PROPOSITIONS
/rflexivit
PREUVE. Toute proposition fausse implique toute autre, au moins aussi vraie ! Donc "x x x E. D'autre part, E E dcoule directement de la dfinition 1.8. 1.5 - Pour tous les ensembles E, F : E F E |F|. 1.6- Pour tous les ensembles E, F, G : EF,FGEG, EF,FEE=F 1.7 est un ordre large entre ensembles. /transitivit /antisymtrie
24
Fondements NOTE. Rflexivit, transitivit, antisymtrie, ordre large signals ici seront vus au chapitre 4.
1.2.2 Ensemble rfrentiel DFINITION 1.9 - On appelle (ensemble) rfrentiel, ou, parfois, univers du discours, un ensemble U ou R (ou Ref) contenant tous ceux dont on parie (Venn, ~1860). Pour raisonner sur des ensembles ayant un rfrentiel commun, on utilise un diagramme de Venn. Ce diagramme se prsente comme un diagramme d'Euler dlimit par un rectangle qui figure alors l'univers du discours , englobant tous les ensembles spcifiques. La thorie se symtrise. PROPOSITION 1.8 - Tout ensemble E est inclus dans le rfrentiel : E R. Le principe de comprhension ( 1.1.5) permet de passer d'un ensemble au rfrentiel par une suite d'inclusions ; c'est en particulier le cas dans un formalisme objet, la classe la plus gnrale tenant lieu de rfrentiel, et toute sous-classe spcifique dfinissant un (sous-)ensemble inclus dans sa classe-mre.
Cette descente du gnral au particulier s'interprte, en extension, comme une rarfaction progressive des individus ; en comprhension, comme un cumul de proprits. A la limite, une collection surabondante, voire contradictoire, de proprits (n') est satisfaite (que) par 0 individu. 1.2.3 Inclusion stricte DFINITION 1.10 - L'ensemble E est inclus au sens strict dans l'ensemble F, ou encore E est sous-ensemble strict de F si tout lment de E est lment de F, et si au moins un lment de F n'appartient pas E. Ce qu'on note: Sinon, E F EF ( E F ) ($x(x F) (x E)) (E F) (F E) (E c F)
Ensembles & lments PROPOSITIONS 1.9- pour tout ensemble E : 1.10- pour tous les ensembles E, F : 1.11- pour tous les ensembles E , F , G : EE E F |E |< [F| EF,FGEG E F F E
25
/irrflexivit
/transitivit /asymtrie
1.12 - est un ordre strict entre ensembles. NOTE. Irrflexivit, asymtrie, ordre strict points ici seront dfinis au chapitre 4.
1.3 PARTIES D'UN ENSEMBLE DFINITION 1.11- On appelle ensemble des parties d'un ensemble E la collection i?(E) de tous les sous-ensembles possibles de E. Ce qu'on note : P(E) { A | A E }
PROPOSITION 1.13 - Si un ensemble E possde n lments, P(E) possde 2n lments. Ces derniers sont les sous-ensembles de E, dont exactement C'n i lments. Ainsi : P(E) =2lEI. EXEMPLE. Soit E = {a, b, c, d} ; alors, P (E) = {, {a}, {bj, {c}, {d}, {a, b}, {a, c}, {a, d}, (b, c}, (b, d}, {c, d, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d} } / 1 ensemble 0 lment / 4 ensembles 1 lment / 6 ensembles 2 lments / 4 ensembles 3 lments / 1 ensemble 4 lments Soit les 16= 24 sous-ensembles de E
NOTES Avec l'approche en comprhension, un sous-ensemble F tait la rduction d'un ensemble E aux seuls lments de E satisfaisant une proprit PF dite proprit caractristique de F, d'o l'ensemble F { xE | PF(x) }. Rciproquement, une proprit PF pourra tre dfinie dans E par l'extension de l'ensemble F E des objets de E qui la satisfont, en posant : Pp (x) = x F Bien distinguer les proprits d'individus des proprits d'ensemble. Si A est l'ensemble des Anglais, et que l'on considre les proprits : - tout Anglais est mortel : alors tre mortel est une proprit gnrique pour tous les individus de A, qui peut tre associe A ; on note : " xA mortel(x) ; - des Anglais sont bruns : alors il y en a au moins un, et tre brun pour un individu est me proprit spcifique ; on note : $ xA brun(x) ; - les Anglais sont roux : en voulant seulement dire que les roux sont majoritaires parmi les Anglais, ou simplement qu'ils sont plus nombreux que les blonds ou les bruns, tre roux pour un individu est alors une proprit
26
Fondements typique ; ce cas, important en matire de formalisation des connaissances empiriques, attend encore une formalisation logique adquate. Les noncs du genre les A sont B seront donc ramens selon les cas - tous les A sont B , chaque A est B , noncs gnriques, absolus, l'usage bien formalis, - ou des noncs typiques plus vagues comme la plupart des A sont des B , les A sont le plus souvent des B ou tous les A sont plus ou moins des B , d'exploitation nettement plus dlicate.
1.4 UNION DFINITION 1.12 - Soit C ={ X, Y, Z, ... } une collection d'ensembles. Leur union est l'ensemble form des objets de chacun d'eux. On note: C{x|$ACxA} Si C = { X, Y}, on utilise la notation X Y plutt que {X,Y}.
Tableau 1.1 Union, dfinition logique.
PROPOSITIONS
1.14 - Quels que soient les ensembles E, F, G, on a : E (F G) = (E F) G = {E, F, G} = E F G EF=FE EE=E E=E=E 1.15 Si les ensembles E et F sont finis : max(|E|,|F|)|EF||E|+[F|. 1.16 - Si on a un rfrentiel R : E F R, et si R est fini : |E F| |R|. 1.17-EFEF=F. COROLLAIRE. Avec un rfrentiel R : ERER=R. NOTE. On dit alors que le rfrentiel est un lment absorbant pour l'union. /associativit' /commutativit /idempotence / lment neutre
Ces proprits (associativit, commutativit, idempotence, lments neutres et absorbants...) seront dfinies au dbut de la partie Algbre (chap. 12) ; pour une meilleure accoutumance, elles sont signales au fur et mesure des rencontres, sans exclure un rappel en illustration de leur dfinition.
27
DFINITION 1.13 - Soit C ={ X, Y, Z, ... } une collection d'ensembles. Leur intersection C est l'ensemble form des objets communs tous : C {x V E C:x E } Pour deux ensembles on utilisera le plus souvent : X Y { X , Y } Tableau 1.2 Intersection. aX non non oui oui aY non oui non oui aXY non non non oui
Fig. 1.5 Intersection et diffrences.
X - Y XY
PROPOSITIONS
1.18 - Quels que soient les ensembles E, F, G : E (F G) = (E F) G = {E, F, G} = E F G /associativit E F=FE /commutativit EE=E /idempotence E = / lment absorbant 1.19 - Pour les ensembles E, F finis : 0|EF|min(|E|,|F|), |E|+|F|=|EF|+|EF|. 1.20 - Pour tous les ensembles E, F partageant un rfrentiel fini R : max(0, |E] + |F| - R ) |E F| min (|E|, |F|). 1.21-EFEF=E. 1.22 - Pour tous les sous-ensembles E d'un rfrentiel Ref : ERefERef=E. Le rfrentiel est alors dit lment neutre de l'intersection. 1.5.2 Ensembles disjoints DFINITION 1.14 - Deux ensembles E, F sont disjoints si leur intersection est vide : E et F ensembles disjoints E F = REMARQUE. On note parfois additivement l'union d'ensembles disjoints : E + FE Fs s iE F = 0
1.5.3 Distributivits Soit C = {X, Y, Z, quelconque. On montre : PROPOSITIONS 1 . 2 3 - ( C ) A = { X A XC }. 1.24 - ( C ) A = { XA | XC }. 1.25 - Pour 3 ensembles A, B, C quelconques on a : (B C) A = (B A) (C A), (B C) A = (B A) (B C), ... et et sont dits mutuellement distributifs. } une collection d'ensembles, et A un ensemble donn
aX
DFINITION 1.16 - Lorsque, dans une diffrence A - B, A n'a plus tre nomm, tant par convention le rfrentiel, l'univers du discours, incluant toutes les combinaisons des ensembles en cause, on parle de complment de B (sous-entendu : au rfrentiel A), qu'on note B surlign ou prim B' { xAref | x B} = Aref- B On peut considrer une diffrence A - B comme le complment de B relatif A pris comme rfrentiel. 1.6.3 Proprits PROPOSITION 1.26 - Pour tout ensemble E : -E= E-=E / lment absorbant gauche / lment neutre droite
29
PROPOSITION 1.27 - Soient C = {X, Y, Z, ...} une collection d'ensembles, et A un ensemble quelconque. A-(C) = {A-P|PC} A-(C) = {A-P|PC} COROLLAIRE 1.28 - Pour 3 ensembles A, B, C quelconques A - ( B C ) = (A-B)(A-C) A - ( B C ) = (A-B)(A-C) soit, en termes de complment : ( B C )' ( B C )' B'C B'C' (G. d'Occam / A. de Morgan)
Rfrentiel (AuB)'
1.7 COUVERTURES
1.7.1 Prsentation DFINITION 1.17 - Soit C = {x, y, z, ...} une collection d'lments et G = {X, Y, Z, ...} une collection de sous-ensembles de C. Alors, G couvre C C G PROPOSITION 1.29 - Si G couvre C, VxC ($AG (xA)). EXEMPLES Si C est un ensemble d'individus membres d'associations, une couverture de C est une liste d'associations telle que chaque individu soit membre d'au moins l'une d'elles. Si C est un ensemble d'achats faire, on considrera comme couverture une liste de magasins ou de fournisseurs suffisante pour pouvoir tous les faire. 1.7.2 Finesse DFINITION 1.18 - Soient G = {X, Y, Z...} et G* = {X*, Y*, Z*...} deux couvertures de C. On dira G* plus fine que G, et on notera G* G si tout ensemble de G* est inclus dans un ensemble de G. Soit : G* G = " X*G* ($XG ( X * X))
1.7.3 Redondance / irredondance DFINITION 1.19 - Soit une couverture G et A un de ses ensembles; A est dit ensemble redondant (pour G) s'il est inclus dans l'union des autres. A redondant pour G A (G - {A}) Alors, aucun lment couvert ne lui est propre, et : PROPOSITION 1.30 - Si A redondant pour G, (G -{A}) = G DFINITION 1.20 - Une couverture G est dite couverture irredondante si aucun de ses ensembles n'est redondant pour elle. PROPOSITION 1.31 - A toute couverture finie G correspond au moins une couverture irredondante plus fine que G. PREUVE. Dmonstration par descente rcursive : Toute couverture forme d'un ensemble non vide est irredondante. Toute couverture G form d'un nombre fini d'ensembles : soit est irredondante, soit comporte au moins un ensemble A redondant : alors, la couverture G* = G-{A} couvrira les mmes points que G avec un ensemble de moins ; cette nouvelle couverture G* son tour, soit sera irredondante (par exemple parce qu'elle ne comporte plus qu'un ensemble), soit comportera au moins un ensemble redondant B... A chaque tape, la nouvelle couverture forme comprend un ensemble de moins que la prcdente, ce qui mne ncessairement une couverture irredondante en moins de |G| tapes. NOTE. Dans de nombreux problmes de couverture optimale, l'irredondance sera une condition ncessaire de l'optimalit. 1.7.4 Exemple Soit C = {q, r, s, t, u, v, w, x, y, z }; F = {q, r}; G = {r, s, t}; H = {s, t, u, v}; I = { u , v , w } ; J = { w , x } ; K = { x , y , z } e tG = { F , G , H , I , J , K } . C = G, et G est donc couverture de C. Partant de G, quelles sont les couvertures irredondantes de C ? Les donnes sont rsumes par le tableau 1.4 ci-aprs, qui confronte les ensembles couvrants (1 par ligne) et les points couverts (1 par colonne). La dernire ligne indique par combien d'ensembles chaque point est couvert. Observons les points couverts 1 fois : la couverture de q exige F et celle de y et z exige K ; F et K seront ncessaires toute couverture de C. A contrario, G, H, I, J sont des ensembles redondants de cette couverture, car chacun des points qu'ils couvrent est couvert au moins 2 fois. Les couvertures irredondantes associes G comprennent donc F et K, et de quoi couvrir C - F - K = { s, t, u, v, w, x}. Pour couvrir s et t, il faut G ou H ; pour couvrir u et v, il faut H ou 1 ; enfin, w exige 1 ou J. D'o 3 couvertures irredondantes : G1 = {F, H, I, K} ; G2 ={F, H, J , K} ;G3,={F, G, I, K}.
Ensembles & lments Tableau 1.4 Ensembles couvrants et points couverts. Points Ensembles F G H 1 J K Nb. d'ensembles couvrants q
31
x r
x x x x x x x x x x x x
1.8 DIFFRENCE SYMTRIQUE 1.8.1 Prsentation DFINITION 1.21 - La diffrence symtrique de deux ensembles A et B est l'ensemble not A D B des objets appartenant soit A soit B, mais pas aux deux : A D B (A B ) - (A B) Tableau 1.5 Comparaison logique des diffrences, union, intersection. aX non non oui oui aY non oui non oui aX-Y non non oui non aY-X non oui non non aXDY non oui oui non aXY non oui oui oui aXY non non non oui
1.8.2 Proprits PROPOSITIONS 1.32 - Pour tous les ensembles A, B : ADB ADB ADB A B (A - B) (B-A) BDA (A - B) D (B - A) (A - B) D (B - A) D t A B ) ; A D B /commutativit (A B)
1.34 - Pour tous les ensembles A, B, C : (ADB)DC ADB=ADC BDA=CDA ADB=C =AD(BDC)=ADBDC B = C B = C B = A D C /associativit /simplifiabilit gauche /simplifiabilit droite /changement de membre
1.9 PARTITIONS 1.9.1 Prsentation DFINITION 1.22 - On appelle partition d'un ensemble E, une couverture de E par une collection d'ensembles disjoints deux deux. Une partition peut tre plus fine qu'une autre. La plus fine des partitions est la partition discrte qui isole chaque lment de E ; la moins fine des partitions est la partition universelle {E} qui rassemble tous les lments de E dans leur ensemble commun. Si chaque lment d'un ensemble E fini a reu un numro, on forme une partition P de E par la collection des En, ensemble des lments de E de numro n. Cette partition P est la plus fine possible si chaque lment de E a reu un numro distinct.
33
(1)
(2)
PROPOSITIONS
1.36 - Toute partition est une couverture irredondante. 1.37 - A toute couverture finie, on peut associer une partition plus fine (au sens du 1.7.2). PREUVE. Soit C une couverture d'un ensemble X. Si elle ne comporte qu'un ensemble, c'est une partition (la moins fine). Si elle comporte au moins deux ensembles : - s'ils sont tous disjoints deux deux, c'est une partition ; - sinon, soient F et G deux ensembles non disjoints de C ; on les remplace par les 2 ensembles disjoints F et G - F, qui couvrent les mmes points ; on obtient ainsi une couverture C+ strictement plus fine que C ; ou C+ est une partition, ou il existe dans C+ deux ensembles F+ et G+ non disjoints... Le processus est convergent pour un ensemble fini X, car le nombre de ses couvertures est fini, la couverture la plus fine d'un ensemble X tant prcisment sa partition discrte. Le processus peut tre appliqu soit la couverture traiter, soit une couverture irredondante associe. EXEMPLE. Reprenons le cas de la couverture traite prcdemment. Soit C = {q,r,s,t,u,v,w,x,y,z} ; F = {q, r}; G ={r, s, t}; H = {s, t, u, v } I = {u, v, w}; J = {w, x}; K = [x, y, z}; et G= {F, G, H, I, J, K} une couverture associe. Quelle partition plus fine peut-on driver de G ? Dans G, F et G ne sont pas disjoints, G - F = {s, t}. On pose G1 = {{q,r},{s,t},H, I, J, K} ; {s, t} et H = {s, t, u, v} ne sont pas disjoints ; H (s, t} = {u, v} ; On poseG2={{q, r}, {s,t}, {u,vj, I, J, K} ; {u, v} et I = {u, v, w} ne sont pas disjoints ; I - {u,v} = {w} ; O nposeG3={{q, r},{s,t}, {u,v}, { w },J,K}; {w} et J ne sont pas disjoints. On forme G4 = {{q, r},{s,t}, {u,v}, {w}, {x}, K} ; en considrant le couple ({x}, K) on obtient enfin la partition : ={{q,r}, {s,t}, {u,v},{w}, {x},{y,z}}; qui satisfait G4 G3 G2 G1 G En partant de la couverture irredondante G+ = {F, H, I, K} on obtient plus rapidement + ={{q,r}, {s,t,u,v},{w}, {x,y,z}}, partition plus proche de G puisque +G.
1.9.3 Finesse entre partitions La finesse entre couvertures peut tre restreinte une finesse entre partitions. On appelle chane de finesse une liste de partitions dont chacune est plus fine que la suivante. Une chane de finesse entre partitions d'un mme ensemble s'interprte comme l'observation d'une mme classification arborescente diffrents niveaux de finesse, de la partition la plus fine, qui isole chaque lment, la partition la plus grossire, qui rassemble tous les lments en une mme classe. Tableau 1.6 Partitions successives d'une classification arborescente. niveau 0 1 2 3 4 5 6
(abcdefgh) (abcde) (abcde) (ab) (a) (a) (a) (b) (b) (b) (c) (c) (cde) (cde) (de) (d) (e) (fgh) (i) (0 (0 (0 (0 (gh) (gh) (g) (g) (g) (h) (h) (h)
Chane de finesse d'une classification arborescente Le tableau 1.6 nous donne P6 = {{a}, {b}, {c}. {d}, {e},{j}. {g),{h}}= partition la plus fine P5={{a},{b},{c},{d,e},{f},{gj,{h}} P4={{a},{b},{c,d,e},{f},{g},{h}} P3={{a,b},{c,d,e},{f},{g,h}} P2={{a,b,c,d,e},{f},{g,h}} P1={{a,b,c,d,e},{f,g,h}} P0 = {{a, b, c, d, e, f , g, h) = partition la moins fine. La suite P6, P5, P4, P3, P2, P1, P0 est dite chane de finesse pour ces partitions : c'est une squence totalement ordonne, de la plus fine, ou partition discrte la moins fine, ou partition universelle (fig. 1.10).
Certains auteurs posent (a, b) = {a,{a, b}}, pour dcrire prcisment (a, b) comme une paire {a, b) dont un lment a est distingu.
012345 i
Fig. 1.10 Partitions successives d'une classification arborescente, diagramme ensembliste. 1.10.2 Produit cartsien DFINITION 1.24 - Soient A, B deux ensembles. Leur produit cartsien est l'ensemble des paires ordonnes formes d'un objet de A et d'un objet de B. On note : A B={ ( a , b a Ab B } EXEMPLE, {al, a2}{bl, b2, b3} = {(al, bl), (al, b2), (al, b3), (a2, bl), (a2, b2), (a2, b3)}. Cet ensemble est symbolis par les cases d'un tableau rectangulaire dont les lignes sont relatives aux lments de A et les colonnes ceux de B (tab. 1.7). Tableau 1.7 Produit cartsien AB. A\B al a2 bl (al,bl) (a2,bl) b2 (al,b2) (a2,b2) b3 (al,b3) (a2,b3)
PROPOSITIONS 1.39-|AB|=|A|- B 1.40 - Soient 4 ensembles A, B, C, D quelconques A B, C D => AC BD 1.11 EXERCICES 1.11.0 Complter le tableau 1.8 (au crayon d'abord !). /monotonie
36
Pointsensembles
AB
A
a b c d e f
x x
Ref
A-B B-A
ADB
AB
A' B'
A'B' <
(A'B')
x x x
x
x x x x
1.11.1
Dmontrer les lois d'absorption : A(AB) = A = A(AB). 1.11.2 Montrer que si A et B sont disjoints, alors A D B = A B ; s'en servir pour tablir la proposition 1.32 quater. 1.11.3 Montrer que pour 3 ensembles :
|ABC| = |A| + |B| + |C| - |AB| - |AC| - |BC| + |ABC|
1.11.4 Montrer que le nombre de couvertures d'un ensemble X n lments est fini. 1.11.5 Dfinir en fonction de B et C, A tel que A B = A C. 1.11.6 Soit {A, B, C, ..., K.} une collection d'ensembles de rfrentiel R. Montrer que tous les ensembles constructibles partir de cette collection et des oprateurs , , ', A le sont partir de la seule diffrence ensembliste - . 1.11.7 Dresser un tableau 2 dimensions mettant en regard des langues officielles correspondantes, les pays de l'Europe des Six, ceux de l'Union Europenne actuelle. Peut-on dire ces deux stades que la liste des langues officielles de l'Europe couvre la liste des langues officielles ces pays ? Montrer qu'une langue est obligatoire (pour l'Europe) si elle est langue officielle d'un pays membre unilingue. Un pays est-il critique ds lors qu'il est unilingue ?
37
30% du budget de fonctionnement administratif de l'Union Europenne est absorb par les traductions ; la langue devrait-elle tre un critre d'admission ? Quel sera(it) l'effet de l'admission des pays de Visegrad ? de la Suisse? de la Norvge ? ... 1.11.8 Thorie additive des couleurs A partir des 3 couleurs primaires : rouge magenta, vert, bleu, expliquer comment former 8 couleurs distinctes. Prsenter le rsultat sous forme d'un diagramme d'Euler-Venn.
1.12 PROBLEMES
1.12.0 Le club Sport & Culture comporte 230 membres qui paient exactement leur cotisations. Cette cotisation est de 100 francs pour une activit, 150 francs pour deux activits. Les 2 responsables d'activits comptent respectivement 145 et 105 membres. Quelle masse de cotisations peut esprer le Bureau du Club ? 1.12.1 Mme problme en supposant maintenant que la cotisation de 150 francs est pour 2 activits ou plus, et que les 3 responsables d'activits annoncent respectivement 100, 70 et 90 membres. Quelle masse de cotisations peut esprer le Bureau du Club ? Quel est l'cart entre les 2 prvisions extrmes? 1.12.2 Un observateur constate que, dans cette socit isole, il existe diffrentes corporations, fort jalouses les unes des autres, qui dnoncent vigoureusement leurs privilges respectifs, semble-t-il sans mentir. Sans comprendre tous les dtails, il voit que les A reprochent aux B 3 privilges ; que les B reprochent aux C 4 privilges, que les C reprochent aux D 5 privilges, et que ceux-ci en reprochent 6 aux A. Avec combien de privilges diffrents pi, p2, p3... peut-on expliquer ce systme social : si les privilges de noms diffrents sont diffrents, si un mme privilge peut tre nomm diffremment par 2 corporations. Montrer qu'un privilge partag se traduit ici par un non-dit, et que seuls sont reprables dans un tel systme les privilges qui font problme une partie de la population. (Adapt d'un problme de biomtrie de J. L. Sourrouille.) 1.12.3 Reconstitution d'archives Le jour o il ne faut pas, vous dcouvrez que : vous avez besoin du fichier clients C, et du fichier prospects P qui contenait la liste des clients prospects, c..d. des clients actuels ou potentiels visits par les reprsentants au dernier trimestre ; le stagiaire les a effacs par mgarde, en rpondant au hasard une question du systme qu'il ne comprenait pas. Au cours d'une runion de crise, vous apprenez cependant qu'il reste : le fichier F des clients non prospects ce dernier trimestre,
38
Fondements le fichier G des prospects du dernier trimestre non encore clients, le fichier H des clients et/ou prospects, mlangs sans distinction.
1.12.4 Fournisseurs et fournitures A l'aube, le prototype qui devrait tre prsent demain a t accident. Il faut d'urgence des pices a, b, c, d, e, f , g, h qui ne sont pas en stock. Aprs enqute auprs de vos fournisseurs sur les fournitures disponibles chez eux, on relve que : A B C D E peut fournir - - - - a, b b,c,d d,e,f,g,h h, i, j, a b,d,h,a.
La circulation est fluide mais le stationnement atroce, et le prix sans importance ; chez qui suffit-il d'aller pour acqurir une collection {a, b, c, d, e, f, g, h}? On procdera de deux faons diffrentes. On dressera une table rectangulaire fournisseurs / fourniture ; on cherchera les fournitures critiques ( 1 seul fournisseur), les fournisseurs ncessaires, l'ensemble
des fournitures que ces derniers peuvent fournir, celles restant trouver...
On assignera chaque fourniture l'union de ses fournisseurs, et on fera l'intersection de ces ensembles. En dveloppant cette intersection d'unions en union d'intersections, et en utilisant la proprit d'absorption, on montrera que l'on retrouve les rsultats prcdents.
1.12.5 Langues & communication Le Secrtariat de la Commission Technique pour l'Informatique de la Socit des Nations doit assurer la communication rapide d'une srie de documents chaque membre de la Commission. On dcide de tirer ces documents dans un nombre minimal de langues, de telle faon que chaque membre puisse en prendre connaissance dans la langue ou l'une des langues qu' il a indique(s) au pralable. L'enqute pralable donne la table 1.9 suivante (on a dj enlev les langues parles par un seul expert, et rcus les experts ne parlant que 0 ou 1 des langues restantes). Chercher les inclusions du style Dupont Gladstone, o Dupant dsigne l'ensemble des langues admises par Dupont. Chercher les inclusions du style turc russe, o turc dsigne l'ensemble des experts admettant le turc. Dfinir les lignes et colonnes qu'on peut retirer sans modifier la/les solutions) finale(s). Dresser un tableau simplifi. Proposer une ou des listes finales. Interprter les retraits de lignes et de colonnes en termes de redondance, criticit...
39
Langue Expert Y.Tchourmine P. Dupont I. Gladstone J. Navarro K.Suzuki F. Da Silva R. Tagore Lee Zefong C. van Meulen K. Cimoglu Zin Tekwan
Chinois
anglais
Espagnol
portuguais
japonais
Allemand
francais
Hindi
Russe
Turc
X
x x x
X X
x x x
x x
x
X
x x
x x
x x x x
x
x
1.12.6 Langues & communauts La Mairie Centrale de Mgapolis veut placarder rapidement des affiches avertissant tous les habitants des prcautions prendre contre une violente pidmie qui se rapproche dangereusement. Les habitants sont d'origines et de cultures varies, et forment un grand nombre de communauts caractrises par une ou plusieurs langues. On dcide de tirer les affiches dans un nombre minimal de langues, de telle faon que chaque habitant puisse en prendre connaissance dans l'une des langues de la communaut (ou des communauts) laquelle (auxquelles) il appartient. L'enqute pralable donne le tableau 1.10. Chercher la collection N des langues ncessaires (i.e. utilises par une ou plusieurs communauts unilingues). Dterminer la liste des communauts couvertes par N. Parmi les communauts restantes, en considrer une parlant 2 langues (A, B). Progresser en considrant successivement N{A} puis N{B} comme couvertures partielles... Donner les couvertures finales les plus simples possibles. Appelons langue vhiculaire celle parle par le plus grand nombre de communauts ; est-il utile de la considrer ?
40
Fondements
Tableau 1.10 Langues et Communauts.
portuguais allemands japonais francais espagnol
Langue Communaut Soyeux Auvergnats Mauriciens Fils du Condor Kamikazs Ibres Goans Formosans Luxembourgeois
Chinois
Hindirc tu
x x
x
x
x x x x x x x x
x
x x x
x x x
1.12.7 Une association comprend un grand nombre de membres inscrits dans un ou plusieurs collges correspondant aux secteurs d'activits de l'association. Montrer que la collection C de ces collges ci constitue une couverture des effectifs de l'association, ds lors que tout membre doit tre inscrit dans au moins un collge. L'association dsire mettre des circulaires, en fonction du profil de chaque membre (i.e. du ou des collges auquel il appartient). Montrer que la rpartition des membres en groupes de mme profil constitue une partition. Finalement, le nombre de collges est devenu trop lev pour le budget de l'association. Que se passera-t-il si on ne supprime que les collges n'ayant aucun membre en propre ? 1.12.8 Algorithmie On appelle algorithme-glouton un algorithme progressant sans retour en arrire. Donner un tel algorithme glouton pour la transformation d'une couverture en une partition plus fine.
1.13 LECTURES
AHO A., ULLMAN J., Concepts fondamentaux de l'informatique, chap. VII, Dunod, 1993. FEJER P.A., SIMOVICI D.A., Mathematical Foundations of Computer Science, vol. I, chap. I, Coll. Texts and Monographs on Computer Science, Springer Verlag. KUNTZMANN J., Algbre de Boole, Dunod, Paris, 1969. REINHARDT F. & SOEDER H., Atlas des mathmatiques, chap. 2, La Pochothque, Le Livre de Poche, Paris, 1997. VELU J., Mthodes mathmatiques pour l'informatique, chap. 1 3, Dunod, 1994. Collectif, Petite encyclopdie des mathmatiques, chap. 14, Edition Pagoulatos, Paris,1980.
CHAPITRE 2
RELATIONS BINAIRES
Elles apparaissent ds qu'il y a une correspondance entre lments d'un ensemble A et lments d'un ensemble B.
42
Fondements
Tableau 2.1 Matr ce caractristique d'une relation R.
[R]
a] a2 a3 Vecteur de vrit
bl 0 0 1
b2 0 1 0
b3 0 0 1
b4 1 1
b5 1
0 0
L'ensemble des (ai,, bj) A Btant suppos numr dans un ordre fixe, une relation R AB on associe le vecteur boolen R form raison d'un boolen par couple (ai, bj). Liste de coupes Cette liste associe chaque lment a de A la liste de ses images ou successeurs dans B : R = {(a, b) (a, c) (b, c) (b, d) (c, d) (e, a)} devient R = {(a :( b , c ) b : c, d) (c:d)(d:)(e:a)}. Table de successeurs C'est une mise en table de la reprsentation prcdente, utilisant 1 ligne par lment de A, et k colonnes pour ses successeurs, o k borne le nombre de points (de B) images d'un point (de A). Diagramme sagittal ou graphe Les lments des ensembles deviennent des points. A chaque couple ou paire ordonne de la relation est associ un arc ou flche, reliant un point de A (origine) un point de B (image) (voir aussi Partie II : les Graphes).
Tableau 2.2 Matrice caractristique de la relation <moteur> montSur <moiile>. Modles Moteurs Z1 Z2 Z3 Z4 Z5 x x x x
X
141
545L
545N
545XL
545S
2.1.3 Domaine & image Soit R, relation de A B. DFINITIONS 2.2 - On appelle domaine de R, l'ensemble des lments de A ayant par R une image dansB.On note : dom(R) { aA $bBaRb } 2.3 - On appelle image d'un point a de A par R, l'ensemble ventuellement vide des lments b de B tels que (a, b) R. On note : imR(a){bB (a, b) R } 2.4 - On appelle image ou codomaine de R, l'ensemble des lments de B image(s) par R d'au moins un lment de A. On note : im(R) {bB $aA (a, b) R } EXEMPLE. Soit A = B = P, o P est un ensemble de Personnes, et la relation E = tre enfant de dom(E) est le sous-ensemble des enfants, c'est--dire des personnes de P ayant au moins un parent dans P, imE(x) est l'ensemble des parents de x, im(E) est le sous-ensemble des parents, c'est--dire des personnes de P ayant au moins un enfant dans P. PROPOSITIONS. Soit une relation R AB. 2.1 - dom(R) A, im(R) B, R dom(R)im(R). 2.2 - R S AB dom(R) dom(S), im(R) im(S).
GR a n'est donc qu'une autre notation pour imR(a), rduite mme Fa s'il n'y a pas d'ambigut sur la relation.
2.2.2
Ensemble de relations
DFINITION 2.6 - On notera AB l' ensemble des relations de A B, de fait identique p(AB). Dans un tel ensemble on pourra combiner des relations, les comparer...
2.2.3
Relations extrmes
Nous bornons les ensembles de relations l'aide de relations extrmes, qui le sont ds prsent au sens de la logique, et le seront partir de la section 2.4 au sens de la finesse. DFINITION 2.7 - Soient A, B deux ensembles. Parmi les relations de A B, on note : OAB la relation nulle ou vide, jamais satisfaite, dont la matrice caractristique ne contiendra que des 0, UAB la relation universelle ou complte, toujours satisfaite, dont la matrice caractristique ne contiendra que des 1.
Relations binaires
45
Considrons un dictionnaire, ses entres, ses dfinitions : l'inverse de la relation <entre>signife<definition> est une relation <dfinition>dfinit<entre>, qui chaque dfinition associe l'entre (resp. les entres synonymes) correspondante(s). L'inverse d'une relation <personne> membreDe <club> est la relation <club> aPourMembre <personne>.
2.3.2 Reprsentations associes Graphe (d'une relation) inverse Le graphe G-1 de la relation R-1 a pour sommets les sommets du graphe G de la relation R, a autant d'arcs (x y) que G possde d'arcs (y x), i.e. tous ses arcs sont obtenus en inversant le sens des arcs d'origine. Matrice caractristique d'une relation inverse On passe de R R-1 en permutant les rles des ensembles de dpart A et d'arrive B : A, qui tait li aux lignes l'est maintenant aux colonnes, l'inverse pour B. Ainsi, [R-1], matrice de la relation inverse, est la transpose de la matrice boolenne [R] caractristique de la relation d'origine. Listes Elles sont inverses, au sens de la construction de listes associes aux graphes inverses :
R = {(a : b, c) (b : c, d) (c : d) (d : 0) (e : a)} 1 R ={(a:e),(b:a),(c:a,b),(d 2.3.3 Proprits PROPOSITIONS. Soit une relation R AB. 2.3 - L'inverse R-1 est toujours dfini dom(R-1) = im(R) ; im(R-1) = dom(R). 2.4 - R AB R-1 BA. 2.5 - [R-1] = [R]T 2.6 - (R-1)-1 = R /involution
46
Fondements /monotonie
2.5 COMPOSITION
2.5.1 Prsentation DFINITION 2.9 - Soient les relations R AB et S BC : on appelle compose de R et S la relation T AC :
T={(a,c)AC|$bB(aRbbSc)}
ce qu'on notera T R S. EXEMPLES Soit P l'ensemble des personnes travaillant sur un projet, E l'ensemble des quipes qu'elles forment, A l'ensemble des activits du projet. Soit R PE la relation exprimant si telle personne appartient telle quipe. Soit S EA la relation exprimant si telle quipe est ou sera affecte telle tche ou activit. La relation compose T = R S PA exprime si telle personne pourra se retrouver affecte telle activit du projet, au titre d'une quipe ou d'une autre. Soit n un ensemble de personnes, P la relation exprimant que telle personne est pre de telle autre, M la relation exprimant que telle personne est mre de telle autre. La relation compose G = PM est satisfaite s'il existe un couple (x y) de personnes telles qu'il existe un(e) z dont x soit le pre, et qui soit mre de y, i.e. ssi x est grand-pre maternel de y.
PROPOSITIONS. Soient une relation R AB et une relation S BC ; on a : 2.12 - dom(RS) dom(R), im(S) im(S).
2.13-O A B S=O A C =RO B C .
/associativit /distributivit /
47
PREUVE. c(R S)-1a a(RS)c$b(aRSc)$b(R-lacS-lb) $ b (c S-1 b b R-1 a) c (S-1 R-1) a 2.18 - [R S] = [R]-[S] au sens o V i , j : [ R S] i j =Vk(r i k S k j ) o A dnote le et et k un ou tendu un nombre quelconque d'arguments. NOTE. Bien distinguer : L'intersection de relations entre 2 mmes ensembles, dont la matrice se calcule par produit terme terme, dfinit la conjonction de 2 relations entre ces mmes ensembles. La composition, de relations de A vers B, puis de B vers C, induit une relation de A vers C, correspondant la mise en squence des 2 relations. La matrice de la compose se calcule par une variante boolenne du produit matriciel classique.
2.17 - Si T BC :S T
2.5.2 Intrt Le produit de composition est un puissant moyen de dfinir de nombreuses relations utiles, calculables partir d'un nombre rduit de relations gnriques qu'il suffira de documenter. Cette remarque est utilise aussi bien dans les rseaux smantiques que dans les
2.6 EXERCICES
2.6.0 Soient deux ensembles : A, m lments, et B, n lments. Montrer que AB. ensemble des relations de A B, contient exactement 2 m-n relations distinctes de A B. Combien existe-t-il de relations distinctes de B A ? 2.6.1 Gomtrie plane Soit P l'ensemble des points d'un plan, D l'ensemble des droites du plan, et C l'ensemble des cercles du plan. Soit R la relation d'appartenance d'un point de P une droite de D. Soit S la relation de contact en un seul point entre une droite de D et un cercle de C. Dfinir la signification de RS. L'interprter en termes de position du point vis-vis du cercle.
2.6.2 Gestion d'un parc de voitures Votre compagnie de taxi doit entretenir un parc de 300 voitures de marque TWK. Une documentation de ce constructeur indique sur quels modles de voitures parmi les 75 commercialiss sont monts chacun des 17 types de moteur employs, ce qui dfinit une relation montSur Moteurs Modles (cf. tab. 2.2 et fig. 2.1). Soit L la liste des diffrents modles de votre parc. Dfinir l'ensemble N des moteurs correspondants. Dfinir la liste L+ des modles de voiture que votre compagnie peut acqurir sans impliquer d'autres modles de moteur. Montrer que L L+. Aprs rception d'une petite liste A des moteurs dont la fabrication sera prochainement arrte, fournir la nouvelle liste L* des modles dont l'achat reste possible, et la liste L- des modles revendre d'occasion.
2.7 PROBLEMES
2.7.0 Plasturgie On considre une usine de moulage de produits en matire plastique. Dfinir les relations entre : un ensemble C de commandes, un ensemble 0 de (types d') objets, un ensemble M de moules (pour un seul type d'objets ou plusieurs), un ensemble P de presses injecter. Comment les reprsenter ? (On supposera |0|>1000, |M|>1500, |P|>100.)
Expliciter des produits de composition entre ces relations. Comment dfinir
quelles machines pourront tre utilises pour une commande particulire ? (D'aprs J.F. Petit.) 2.7.1 Communication On pose que la relation A PM est satisfaite par un couple (p, m) si la personne p P a accs au mdia m M. Vrifier que C = A A-1 est une relation interne P, concernant la possibilit pour deux personnes de communiquer par un mdia non prcis de M. Etendre ce raisonnement au cas suivant : soit E un ensemble d'tudiants rpartis dans un vaste monde, S l'ensemble des stations de travail auxquels ils ont accs, R l'ensemble des rseaux locaux et autres auxquels ont accs ces stations, P un ensemble de portes entre rseaux. A partir de relations de E S, de S R, de R P et de leurs inverses, quelle(s) relation(s) suffira-t-il de calculer pour savoir si deux tudiants x et y quelconques de E peuvent communiquer via cette techno jolie ?
2.8 LECTURES
FAURE R., LEMAIRE J., Mathmatiques pour l'informaticien, tome I, chap. II, Coll. Programmation, Ed. Gauthier-Villars, 1973. FEJERP.A., SIMOVICI D.A., Mathematical Foundations ofComputer Science, vol. I, chap. II, Coll. Texts and Monographs on Computer Science, Springer Verlag. GONDRAN M. & MINOUX M., Graphes et algorithmes. Collection de la Direction des Etudes et Recherche d'Electricit de France, Eyrolles, Paris, 1985, chap. I.
Relations binaires
49
REINHARDT F. & SOEDER H., Atlas des mathmatiques, Chap. 3, La Pochothque, Le Livre de Poche, Paris, 1997 ; traduction de DTV-Atlas der Mathematik, Deutscher Taschenbuch Verlag Gmbh, Munich, 1974. Collectif, Petite encyclopdie des mathmatiques, Chap. 14, Edition Pagoulatos, Paris, 1980 ; traduction de Kleine Enzykiopdie der Mathematik, VEB Bibliographisches Institut, Leipzig, 1975.
CHAPITRE 3
FONCTIONS
La notion de fonction a merg au XVIIIe sicle, en relation avec la notion de formule ou avec celle de trac. Ainsi, en 1749, Euler dfinissait une fonction comme une quantit variable dpendant d'une autre quantit variable . Au dbut du XIXe sicle, les travaux de Fourier ont montr l'insuffisance de ce point de vue, puis Cauchy et Dirichlet ont tabli une vue plus gnrale de la fonction comme correspondance univoque d'un ensemble un autre. Par exemple, la rservation obligatoire des places pour un spectacle fait associer chaque place soit une marque de disponibilit soit un nom de personne ou d'organisme rservataire ; au sens actuel, cette association constitue une fonction de l'ensemble des places vers l'ensemble des marques. Ce chapitre sera complt par le chapitre 5 sur la calculabilit des fonctions, et le chapitre 6 sur la complexit de ces calculs.
EXEMPLE. Considrons la relation est l'arrondi par dfaut de qui, tout entier relatif z associe chacun des rels r tels que z , r < z+1. Cette relation est rgulire gauche : un rel donn comme 3,742 n'est l'image que d'un entier relatif, ici 3. PROPOSITION 3.1 - La relation inverse d'une relation rgulire gauche est une relation rgulire droite, et rciproquement. 3.2 FONCTIONS 3.2.1 Prsentation DFINITION 3.2 - On appelle fonction de A vers B toute relation rgulire droite de A B. Une fonction est une relation telle que chaque point de A a au plus une image. Pour de petits ensembles finis, elle peut tre dfinie en extension par une table 2 colonnes : argument (ou valeur d'origine) / rsultat (ou valeur image). EXEMPLE. Si chaque tudiant j'associe (au plus) UNE note, la relation estNot est une fonction, souvent dfinie en extension par une table 2 colonnes nom/note. NOTE. On dira souvent d'une telle relation rgulire droite qu'elle est fonctionnelle.
Fondements
On appelle plafond d'un rel x, et on note x, l'entier qui lui est gal ou sinon immdiatement suprieur. On appelle plancher de x, et on note x, l'entier qui lui est gal ou sinon immdiatement infrieur Ainsi, pour x = - 7,537 : x = - 7 et x = - 8. Ces 2 fonctions sont des fonctions entires de variables relles, trs utiles pour des dfinitions prcises en algorithmie. EXEMPLE. Soit daller un espace rectangulaire P-L avec des dalles carres d-d. Une dalle pouvant tre recoupe dimension, sans que les restes soient rutilisables, il faudra P/d -L/ddalles, soit pour P = 4m, L = 5m, d = 30 cm : 500/ 30-40 /30 = 17-14 = 238 dalles, dont 16-13 = 208 utilises telles quelles et 17 + 14-1 = 30 recouper. 3.2.2 Fonctions mathmatiques / fonctions en programmation En programmation, on parle de fonctions pures pour les fonctions au sens mathmatique, qui donnent toujours le mme rsultat pour un argument donn. C'est le cas des fonctions standard telles que valeur absolue, sinus, exponentielle, logarithmes divers , c'est le cas des fonctions n'utilisant que leurs paramtres et des variables locales, l'exclusion de toute variable globale ou rmanente. Dans certains langages de programmation, on appelle tort fonction toute procdure ayant la mme syntaxe d'emploi qu'une fonction pure. Ne sont pas fonctions au sens mathmatique les fonctions des langages de programmation telles que des appels identiques ne donnent pas toujours le mme rsultat. Entrent dans ce cadre des pseudo-fonctions : la plupart des fonctions C, les fonctions pseudo-alatoires, d'entre/sortie, les date, heure ... Depuis quelques annes, on s'oriente vers un nouveau partage des procdures en : fonctions, ncessairement pures, rconciliant programmation et mathmatique, bnficiant facilement d'optimisations la compilation ; actions, procdures ayant le monopole de l'utilisation des variables globales et des effets de bord, assimilables de nouvelles instructions, traites moins finement, catgorie dont relve la plupart des pseudofonctions.
3.2.3 Applications & fonctions partielles Relation totale DFINITION 3.3 - Soit une relation R de A B. On dira : R totale gauche R totale droite R totale ssi ssi ssi chaque point de A a une image au moins dans B, chaque point de B est image d'au moins un point de A. elle est totale droite et gauche.
PROPOSITION 3.2 - La relation inverse d'une relation totale gauche est une relation totale droite, et rciproquement.
Fonctions Applications
53
DFINITION 3.4 - On appelle application de A vers B toute fonction de A vers B, de domaine A tout entier. Une application est une fonction telle que chaque point de A a exactement une image : c'est une relation totale gauche. On dnotera une application fdeA dans B par f : AB ou f BA BA dsigne par convention l'ensemble des applications de A dans B.1 EXEMPLE. Si f est une fonction de codage, f est une application ds que chaque lment de l'ensemble coder a reu un code. Fonction partielle DFINITION 3.5 - On appelle fonction partielle une fonction qui n'est pas une application, donc fonction sans image pour au moins un point de l'ensemble de dpart. EXEMPLE, fact(n) = (si n = 0 alors 1 sinon n-fact(n - 1)) dfinit la factorielle, qu'on montre (par rcurrence) tre une application NN. Par contre, dans Z, fact ne dfinit qu'une fonction partielle : aucun rsultat n'est atteint si n < 0. En informatique, une dfinition partielle sera souvent une dfinition bogue. On transforme une fonction partielle fenapplication soit en restreignant l'ensemble de dpart au seul domaine de la fonction, soit en ajoutant l'ensemble image, une ou plusieurs valeur(s) symbolique(s) rserve(s) aux cas initialement non dfinis, comme dans : fact(n) = (si n < 0 alors erreurArgumentNgatif sinon si n = 0 alors 1 sinon n-fact(n - 1 )) C'est le parti adopt dans la norme IEEE 754 concernant l'arithmtique des nombres en virgule flottante : toutes les oprations sont totalement dfinies ; si un oprande (ou un jeu d'oprandes) viole une condition de calculabilit, le rsultat est un code d'erreur non ambigu NaNxxx, form d'un code prfixe rserv NaN (Not a Number) et d'un suffixe xxx caractrisant l'erreur commise. Les relations comme applications multivoques C. Berge prsentait en 1958 une relation entre deux ensembles A et B comme application multivoque de A dans B, ou si l'on prfre, application de A dans l'ensemble des parties de B. Partant d'un point a de A, celui-ci avait pour image par la relation une partie Va. de B n(a) points, avec n(a) 0 : c'est l'origine de la notation G introduite au paragraphe 2.1.4. L'absence d'image par une relation R quelconque pour un point x s'interprte alors Gx = pour l'application multivoque associe, qui se trouve mme dans ce cas parfaitement dfinie.
3.3 SURJECTION DFINITION 3.6 - Une surjection ou fonction surjective est une fonction telle que chaque point de l'ensemble ci l'arrive est l'image d'au moins un point de l'ensemble de dpart. En ce sens, il s'agit d'une relation totale droite.
1
On peut aussi noter AB l'ensemble des applications de A dans B ; f : AB se lit alors comme fe(AB) ... (G. Boulaye).
54
Fondements
On parlera aussi de fonction de A sur B (par opposition une fonction de A dans B). EXEMPLE. Si f est une fonction de codage, f est surjective si tous les codes possibles sont utiliss ; le code est alors dit satur.
3.5 INJECTION & BIJECTION 3.5.1 Injection DFINITION 3.7 - On appelle injection une fonction rgulire gauche. COROLLAIRE 3.3 - Une fonction est inversible (en tant que fonction) ssi c'est une injection.
Fig. 3.1 Inversion de fonctions et injections.
PROPOSITION 3.4 - L'inverse d'une injection est une injection. PREUVE. Par la proposition 3.1, une injection tant une relation rgulire droite ET gauche, il en est de mme de son inverse.
55
DFINITION 3.8 - Une bijection ou application bijective est une application injective et surjective. Une bijection est une relation totale gauche (en tant qu'application) et droite (en tant que surjection). Elle garantit l'unicit d'origine pour un point image (en tant qu'injection) et l'unicit d'image d'un point origine (en tant qu'application). Une bijection f entre deux ensembles A et B les met en correspondance exacte et totale, ce qu'on notera souvent f : AB. 3.5.3 Proprits PROPOSITIONS 3.5 - L'inverse d'une injection festune fonction ; cette fonction inverse n'est une application (totale gauche) que si f est surjection (totale droite). Donc une fonction inverse n'est une application que si elle est l'inverse d'une injection surjective. 3.6 - L'inverse d'une injection surjective est une application injective. 3.7 - L'inverse d'une application bijective est une application bijective. Ces proprits s'tablissent :
EXEMPLE, f injection surjective donne-t-il F-1 application injective ? f est rgulire droite et gauche (injection), de plus totale droite (surjection) ; donc son inverse g est rgulire droite et gauche, et totale gauche ; donc l'inverse g est injection, et application (application injective). 3.8 - Deux ensembles A et B mis en correspondance par une bijection f ont mme cardinalit. 3.5.4 Permutation DFINITION 3.9 - Toute bijection interne un ensemble fini est dite permutation. Soit un ensemble E n lments, symboliquement e1, e2, ... en. PROPOSITION 3.9 - II y a nn applications de E dans E. En effet, chaque ei on peut faire correspondre n ej diffrents. PROPOSITION 3.10 - II y a n! permutations pour E . PREUVE. Ces permutations sont des bijections, donc chaque ei on doit faire correspondre un ej distinct. A e i on peut faire correspondre n e j diffrents, e1 tout lment de E saufp(e 1 ), soit n-1 ej diffrents entre eux, e3 tout lment de E s a u fp(e1)et p(e2) ( p(ei)) soit n - 2 lments de E diffrents entre eux, ... soit finalement n-(n - l)-(n - 2)-... 1 = n ! permutations possibles.
56
Fondements
3.6 SYNOPTIQUES
Tableau 3.1 Proprits des divers types de relations et fonctions. Nom Relation Observations Rgularit 7 Totalit 7 Schma o. o
O^V'0 0^ 0
Fonction
Droite
0^-0 0^^ 0
o^^o
0 0
Application
Droite
Gauche
0^-0 0^^^ 0
Surjection
Tout point d'origine a au plus une image, tout point de l'ensemble d'arrive est image
Droite
Droite
^
0^0 0 0 0^0 0 / "
0^0
Injection
Tout point d'origine a au plus une image tout point image a au plus une origine
Droite + Gauche
(
o7 Droite + Gauche Gauche + Droite
o
o
Bijection
Tout point d'origine a exactement une image tout point image a exactement une origine
\^ ^><^0
0^0
Surjection
Fonctions
57
Relation directe Nom Relation Fonction Application Surjection Injection Bijection Rgularit ? Droite Droite Droite Droite + Gauche Droite + Gauche Totalit ? ? Gauche Droite ? Gauche + Droite Nom Relation ? ? ? Injection Bijection
Relation inverse Rgularit ? Gauche Gauche Gauche Droite + Gauche Droite + Gauche Totalit ? ? Droite Gauche ? Gauche + Droite
3.7 COMPOSITION DE FONCTIONS 3.7.1 Prsentation PROPOSITION 3.11 - Soient les fonctions f : A-^B et g : B->C ; la relation compose h = f g est une fonction de A dans C. PREUVE. Par ftout lment a de A a au plus une image b dans B ; si ce b existe, il a au plus par g une image c dans C : donc chaque a de A a au plus une image c dans C, et h = f g est une fonction. PROPOSITION 3.12 - Soient les applications f : A->B et g : B->C ; la relation compose h = f g est une application h : A->C. PREUVE. Par f tout lment a de A a exactement une image b dans B, qui par g a exactement une image c dans C : donc chaque a de A a exactement une image c dans C, et h = f g est une application. NOTE. Si h = f g, o h est une fonction, x (f g) y se note y = h(x), et signifie y = g(f(x)). // est classique en thorie des fonctions de noter une telle fonction compose h = g o f(au lieu de h = f* g en thorie des relations). EXEMPLE. Soit f : x > x+1 et g : x > x2. Si x vaut successivement 0, 1, 2, 3, 4... f(x) vaut successivement 1, 2, 3, 4, 5... et h(x) = g(f(x)) vaut successivement 1, 4, 9, 16, 25... d'o h = g o f = x -> (x+1)2. 3.7.2 Proprits PROPOSITION 3.13 - Quelles que soient les fonctions f : A->B, g : B->C, h : C>D g o (fo h) = (g o f) o h /associativit de la composition
PROPOSITION 3.14 - L'identit I, qui tout lment x d'un ensemble A associe le mme lment x, est neutre pour la composition.
IAf=fIB=f
=
foIA=lBOf
58
Fondements
3.10 - On dit un ensemble dnombrable s'il peut tre mis en bijection avec N. 3.11 - On dit un ensemble fini s'il peut tre mis en bijection avec un sous-ensemble born de N ; ses lments se trouvent ainsi numrots. EXEMPLES On prouve que l'ensemble Z des entiers signs, l'ensemble N2 des paires d'entiers, l'ensemble des fractions, l'ensemble Q des rationnels sont dnombrables ; il n'en est pas de mme de R ni de C. B, un ensemble de chiffres, l'ensemble des caractres d'une criture alphabtique, d'une criture syllabique sont finis, et donc codables par des entiers borns. COROLLAIRE 3.15 - Tout ensemble qui peut tre mis en bijection avec le sousensemble des entiers de 1 n est un ensemble fini de cardinalit n. PREUVE. Par la proposition 3.8. PROPOSITION 3.16 - Soient A, B deux ensembles de cardinalit n : il existe une bijection fpourles mettre en correspondance. PREUVE. Par la dfinition 3.11 et le corollaire 3.15, les lments de A (resp. B) sont numrotables de 1 n. Ces lments ayant t numrots, festdfinie en posant : "i l i n f ( a i ) = b i 3.8.2 Suites indexes, suites finies Soit D un ensemble quelconque, et 1 un ensemble dnombrable. Une application s : ID dfinit une suite d'lments de D indexe par 1 ; on dit cette suite finie si 1 est fini. Avec iI, s(i) sera maintenant not si. On a alors : im(s) = { si | i l }
ou, frquemment, im(s) ={ E(i) | i l}, o E(i) dnote quelque expression algbrique en i valeur dans D. Ainsi notera-t-on { 2n+1 | n N } l'ensemble des impairs, au lieu de : { s, | i N } o s: NN avec s(n) = 2n+l "n N . (!). 3.8.3 N-uples N-uples homognes DFINITION 3.12 - On appelle n-uple sur D une squence finie s = (s0, s 1 S2, ... Sn-1) telle que pour chaque i de I on ait si D. N-uples htrognes Soit F = { Di | i I } une suite finie d'ensembles indexe par I.
Fonctions
59
DFINITION 3.13 - On appelle n-uple sur F une suite finie s = (S0, S i , S2, ... Sn-1) telle que pour chaque i de I on ait si D i NOTE. On considrera comme 0-uple l'ensemble vide, 1-uple les singletons, 2-uples les paires ordonnes, 3-uples / 4-uples, les triplets et quadruplets... ; tuple sera rserv aux n-uples de taille n inconnue. 3.8.4 Produit cartsien gnralis DFINITION 3.14 - On appelle produit cartsien gnralis des D, de F l'ensemble Di0Di...Din-1 = { s "i Isi Di} = Di. NOTES C'est le modle des articles Pascal (sans variante) ou des structures C (sans union). Quand "i I, Di, = D, et si n = |I|, on pose D n=D i .
iI EXEMPLES
Bm est l'ensemble des valeurs que peut prendre un vecteur boolen de m bits ; en programmation on assimilera un mot de m bits un tel vecteur . Soit V un ensemble de notes ; Vm est l'ensemble des valeurs que peut prendre un vecteur de m notes. Si chaque note du vecteur a une dfinition prcise lie son rang, alors les vecteurs assigns un individu, un systme, une solution... pour les reprsenter, sont dits profils de ces entits.
PROPOSITIONS 3.17 - La cardinalit d'un produit cartsien gnralis D est le produit des cardinalits des ensembles composants : D=Di|D|=|Di|
iI iI
60
|R| est alors donn par le nombre de lignes, tandis que le nombre n de colonnes correspond l'arit de la relation. C'est le modle fondateur des bases de donnes relationnelles.
Tableau 3.3 Dfinition tabulaire d'une relation quinaire (ou d'arit 5).
Relation CLIENT
-5d imensions Nom *** DUPONT DURAND MARTIN DE WERRA *** Adresse *** 20, Impasse du Progrs 25, Place d'Armes 3, Rue Sans-Souci 25, Rue Einstein Code Postal *** F 69684 L035 F 69425 CH 0456 Ville *** Pontcharra sur Turdine Bertrange Millery Ecublens Numroclient *** U017 Z043 W452 Z018
3.9.2 Projection DFINITION 3 1 . 6 -On oteproji(R)={ dD i | $ r R r i = d }. La i-me projection d'une relation n-aire, ou projection sur la i-me dimension, regroupe les lments de la i-me colonne de la table. 3.9.3 Dcomposition canonique PROPOSITION 3.19 - Toute relation n-aire R dfinie sur une suite finie d'ensembles indexe par I se ramne une suite Ri de n relations binaires indexes par I, o chaque Ri exprime alors la relation entre les n-uples ou lignes de la table s, et leur ime colonne ou composante : "i 1 "s R Ri(s, si) Cette proposition permet de transformer une table de relation n-aire en n tables de relations binaires, souvent fonctionnelles, entre les lignes s et leur i-me attribut : ici Client(nom, adresse, codePostal, ville, numCIient ) $ client Nom(client, nom) Adresse(client, adresse) CodePostal(client, codePostal) Ville(client, ville) NumroClient(client, numCIient). L'clatement d'une table de relation n-aire en n tables de relations binaires est notamment utile lorsqu'une dimension est elle-mme produit cartsien de sousdimensions. 3.9.4 Jointure ... Cn-1 Soient F1 = (A0, A1, ... Ak-1, ; B0, B1, ... B m-1 ) e tF2=(B0, B1, ... Bk-1 deux suites d'ensembles indexes non disjointes. ; C0, C1,
Fonctions A une relation R (k + m)-aire de F1,et associe une jointure R tx) S dfinie par : R t X S = {(a 0 ,a k -1, ... ak-1,b0, bk-1, ... b k - 1 ,Co,C1,... C n - 1 ) | (a 0 ,a 1 , ... ak-1, b0,b 1 ,... bk-1 ) R (b0, b1, ... b k - 1 ,c 0 ,c 1 , ... C n-1 ) S} REMARQUES Si F1 = F 2 la jointure se ramne l'intersection.
La jointure est idempotente ; elle peut tre considre comme commutative, et, sous certaines conditions, comme associative (Aho, VIII.9). Chaque relation R peut tre considre comme la jointure de ses relations binaires associes, vues comme partageant un index des n-uples de R.
3.9.5 Schmas de relation et relations En matire de bases de donnes, un schma de relation S = (I, F) est un couple o I, dit ensemble des attributs, indexe une suite finie F d'ensembles, tout a 6 1 ayant pour domaine l'ensemble Da correspondant dans F. Une relation n-aire R apparat alors comme un couple(S, T) associant un schma S, dont l'ensemble des attributs est de cardinalit n, une table T comportant exactement - une colonne par attribut de S, de mme nom et de mme domaine, - une ligne par n-uple de R. 3.10 FONCTIONS GNRALISES 3.10.1 Prsentation Tout ce qui a t dit des relations R AB qui, ds lors qu'elles sont rgulires droite, peuvent tre vues en tant que fonctions, applications, surjections, injections, bijections, reste vrai si A=D 0 D 1 ...D n-1 e tB=E 0 E 1 ...E k - 1 Une fonction f dfinie sur A et valeur dans B a maintenant un domaine dom(f) Di et une image im(f) E j . Cette fonction est d'arit n si A possde n composantes Di : elle peut alors tre considre comme ayant soit n arguments distincts, soit un n-uple de A comme argument unique. EXEMPLES Soit D l'ensemble des droites d'un plan ; l'angle entre deux de ces droites peut tre considr comme donn par une fonction angle : DD R. Considrons un certain volume rempli d'un fluide, et, tout instant, en chaque point, les vecteurs vitesse et acclration du fluide en ce point : on peut les considrer globalement comme donns par une fonction R4 R6. Les fonctions gnralises pourront associer au n-uple descriptif d'un objet, d'une solution, le k-uple l'valuant du point de vue de k critres. Ces profils permettront :
62
Fondements - d'valuer la proximit de profils-type (reconnaissance de formes, identifications et classifications diverses, diagnostics), si les critres correspondent des prfrences, des classements en vue de choix...
3.10.2 Distances Ce concept fonde la gomtrie, et aussi le concept de similarit. DFINITION 3.17 - La fonction d : AAR+est dite distance pour A ssi : 1 . " x , y A d(x, y) = 0 x = y 2. " x, y A d(x, y) = d(y, x) /symtrie 3. " x, y, z A d(x, z) d(x, y) + d(y, z) /ingalit du triangle PROPOSITION 3.20 - Si d est une distance pour A, " x, y, z A| d(x, y) - d(y, z) | d(x, z) Distance discrte PROPOSITION 3.21 - Pour tout ensemble A, la fonction d : AANdfinie par d(x,y) = (si x = y alors 0 sinon l ) est toujours une distance, dite distance discrte. NOTE. Cette distance est vraiment grossire, et on utilise le plus souvent en mathmatiques discrtes, des distances valeur entire ( 3.11.8). Famille de distances dans Rk PROPOSITION 3.22 - Pour A = Rk , les fonctions dn,(x,y)=n ki=1xi-y i nconstituent une famille de distances. Pour tout couple x, y de points, on a toujours n m dn(x, y) d m (x, y). NOTES. Une distance dn est dite urbanistique ou de Manhattan si n = 1 : c'est la longueur du plus court chemin form seulement de segments parallles aux axes, ce qui voque les dplacements dans une ville avec plan en grille ; est dite euclidienne ou vol d'oiseau si n = 2, pour n = , est assimile max (|xi - yi |).
i=1k
3.10.3 Evaluation partielle Soit une fonction f : XYZ W. On peut vouloir fixer le premier argument, et considrer maintenant f(a, y, z) comme une fonction particulire en y et z, note fx=a(y, z) : YZW. Cette fonction sera dite valuation partielle de fpourx = a. L'opration peut tre rpte, et en ce sens la fonction initiale peut tre considre comme une fonction f : X(Y(ZW)), menant f x=a : Y(ZW), fx=a, y=b : ZW, puis la constante fx=a, y=b, w=c. On considre alors successivement x, y... comme des paramtres, les arguments rsiduels tant des variables.
EXEMPLE. Soit f(p, x, y) = x+p-x-y + y2. L'valuation partielle de fpourp = -2, -1, 0, 1,2 donnera respectivement : fp=-2 (x, y) = x2 - 2.x.y + y2 = (x - y)2, f p=0 ( x , y) = x2 - x-y + y2, fp=o (x, y) = x2 + y2, f p =l ( x , y ) = x 2 + 2 . x . y + y 2 , f p=2 (x,y)=x+2.x.y+y=(x+y) 2
3.11 EXERCICES
3.11.0 Montrer que toute fonction fdeA vers B peut s'interprter : comme une application de dom(f) vers B, comme surjection de A dans im(f). 3.11.1 Montrer que toute relation de A B peut s'interprter : comme une application de AB dans {0,1} ; comme une application de A dans 2B 3.11.2 Montrer qu'une fonction paire RR. n'est inversible que dans un cas trivial. 3.11.3 Pour un entier sign k, on considre les fonctions f k : xRx kR. sont-elles totalement dfinies ? sont-elles inversibles ? 3.11.4 Soit f : x x + l ; expliciter fofof . 3.11.5 Assimiler N N un quadrillage ; montrer qu' chaque sommet (p, q) de ce quadrillage on peut associer un numro n(p,q) distinct. En dduire que N2 et Q sont dnombrables. 3.11.6 Soient 2 ensembles : A comporte k lments, et B en comporte n. Combien y-at-il d'applications de A dans B ? combien de fonctions ? En dduire que B A =B A . 3.11.7 On considre le quadrilatre convexe ABCD, dont les cts ont pour longueurs respectives AB = 17, BC = 23, CD = 15, DA =13. Encadrer les longueurs des deux diagonales (i.e. associer chacune une borne infrieure et une borne suprieure). 3.11.8 Distance de Hamming Pour sa thorie des codes dtecteurs/correcteurs d'erreur, Hamming pose : " x,yB n dh(x,y) = nombre de composantes par lesquelles x et y diffrent Vrifier que cette fonction dH est bien une distance entre n-uples boolens.
3.11.9 Soit une table traante dont la plume peut se dplacer dans deux directions perpendiculaires en x et en y . Choisir la distance di, qui permettra d'estimer au mieux la dure d'un dplacement si les moteurs agissant pour chacune des coordonnes doivent travailler successivement, peuvent travailler simultanment. (On ngligera les temps de mise en route et d'arrt des moteurs.) 3.11.10 On considre un plan P muni d'une distance di, et un point O du plan. On appelle cercles de rayon R, de centre O et d'ordre i les Ci (R, O) = {x | d i (O,x)=R}. Dcrire les familles C1, C2, C. Montrer que 0 < i <1 donne des familles d'astrodes 4 pointes ou losanges curvilignes concaves, 1 < i < 2 des losanges curvilignes convexes, i > 2 des ovales de plus en plus proches, quand i crot, du carr dans lequel ils sont inscrits.
3.12 PROBLMES
3.12.1 Devinette numrique Un camarade vous propose de deviner le nombre auquel vous avez pens ; il vous dit : Pense un nombre entier de 1 30, multiplie-le par l'entier prcdent, divise par 2 ; a fait combien ? vous lui dites 55 ; il rpond c'tait 11 ; il a raison ; vous lui dites 300 ; il rpond c'tait 25 ; il a raison ; vous lui dites 75 ; il rpond pas possible ; il a raison. Expliquer pourquoi. 3.12.2 Emploi du temps On considre les ensembles G de groupes d'tudiants de l'tablissement, H des heures ouvrables, A d'activits, S de salles (banalises ou spcialises), E d'enseignants. Dfinir sur ces ensembles la relation d'emploi du temps de la semaine. En vue d'en extraire divers emplois du temps particuliers, prsentables sous la forme de tables 2 dimensions, dfinir les cas o cette relation se ramne une fonction de VW vers XYZ. En prenant par exemple |G| = 20, |H| = 80, |A| = 200, |S| = 15, |E| = 60, montrer que le nombre d'emplois du temps admissibles est faible devant |GHASE| (on suppose qu'un groupe a un emploi du temps de 32 heures par semaine). Expliciter des contraintes de validit permettant une relation gnralise R GHASE d'tre un emploi du temps admissible. 3.12.3 Dictionnaires multilingues On considre le cas de dictionnaires n langues, comme une relation L ABCD... entre vocabulaires des n langues, dfinie en extension par m n-
uples ou quivalences dcrivant un concept suffisamment troit raison d'un mot ou locution par langue. Un premier systme consiste prsenter tous ces n-uples dans l'ordre alphabtique de la premire langue, puis de la seconde... Montrer que la taille du dictionnaire est alors de l'ordre de m-n2. Un second systme numrote chaque n-uple et est form : de n lexiques d'entre faisant correspondre chaque mot ou locution a le numro k de son n-uple ; d'un lexique gnral faisant correspondre chaque numro k le n-uple (a, b, c, d, ...) correspondant, explicitant le concept de numro k dans chacune des langues. Commenter cette approche en termes de dcomposition canonique de L. En comptant les numros comme locution dans une (n + l)-ime langue, montrer que la taille du dictionnaire varie alors en m-(3n +1). Pourquoi cette formule est-elle la plus rpandue partir de quatre langues? Les considrations prcdentes restent-elles valides si on considre que chaque entre participe en moyenne m (>1) n-uples ? 3.12.4 Gomtries Soit P un demi-plan limit par une droite D, et soit C l'ensemble des demi-cercles de P centrs sur D. On considre C comme reprsentant l'ensemble des alignements dans une gomtrie particulire, alignements dfinis par 2 points distincts de P-D. On notera a(x,y,z) le fait que x, y, z soient aligns, z faisant partie de l'alignement dfini par x et y. Etablir une condition cond telle que : a(x, y, z) a(x, z, t) cond a(x, y, t). Donner quelques autres proprits de a. Donner une dfinition des relations coupe et parallle de ces alignements, qui justifient le postulat de cette gomtrie : par un point hors d'un alignement A passe un alignement parallle A et une infinit d'alignements non scants avec A . (Cf. modle euclidien de Poincar pour la gomtrie de Lobatchewski, in Pabion, Logique mathmatique, Hermann, op.cit.) 3.12.5 Induction fonctionnelle Vous souponnez un phnomne p de dpendre des variables x et y. Vous faites 2 expriences en fixant une des valeurs. Vous trouvez px=4 = 7y - 3 ; et py=z = 4x - 5. Ces expriences sont-elles compatibles avec l'existence d'une fonction p(x, y) ? Peut-on admettre l'existence d'une fonction p(x, y) = q + r.x + s.y ? Peut-on admettre l'existence d'une fonction de la forme p(x, y) = f(x).g(y) ? Supposons qu'en ralit p(x, y)= q + r.x + s.y + t.xy. Montrer que les deux expriences ne suffisent pas la reconstitution de p(x, y)= q + r.x + s.y + t.xy. Quel est alors le statut des solutions antrieures ?
3.13 LECTURES
AHO A., ULLMAN J., Concepts fondamentaux de l'informatique, chap. VII, section 7 et suivantes, chap. VIII, Dunod, Paris, 1993. BERGE C., Principes de combinatoire, Dunod, 1968.
FEJER P.A., SIMOVICI D.A., Mathematical Foundations of Computer Science, vol. I, chap. II, Coll. Texts and Monographs on Computer Science, Springer Verlag. LIVERCY, Thorie des programmes, Dunod, Paris, 1978. REINHARDT F.& SOEDER H., Atlas des mathmatiques, chap. 3, La Pochothque, Le Livre de Poche, Paris, 1997 ; traduction de DTV-Atlas der Mathematik, Deutscher Taschenbuch Verlag Gmbh, Munich, 1974. Collectif, Petite encyclopdie des mathmatiques, chap. 14 et 5, Edition Pagoulatos, Paris, 1980 ; traduction de Kleine Enzykiopdie der Mathematik, VEB Bibliographisches Institut, Leipzig, 1975.
CHAPITRE 4
4.1 PRESENTATION
Un ensemble A se prsente comme une collection d'lments. Lorsque A modlise un ensemble concret, on peut avoir rendre compte d'une correspondance existant, d'un certain point de vue, entre ses lments. Cette correspondance est prcisment une relation, interne A. Souvent, on considrera que la relation structure l'ensemble, au sens du point de vue adopt. DFINITION 4.1 - Une relation binaire R sera dite relation binaire interne A ssi R A A. EXEMPLES P, ensemble de Personnes, pereOuMere = {(p1, p2) PP | p1 preOuMreDe p2}, relation interne P. ; Relation de divisibilit, note a | b pour a divise b , sur l'ensemble des entiers non nuls. Tableau 4.1 Matrice caractristique de la relation de
divisibilit dans (1, ... ,8}.
4.1.1 Reprsentations Matrice caractristique La table boolenne ou matrice caractristique d'une relation binaire interne R est maintenant une matrice boolenne carre [R] qui comporte, en supposant les lments de A numrots : une i-me ligne par lment ai A considr comme origine, une j-ime colonne par lment a j A considr comme image, pour chaque couple (i, j) un lment
divise 1 1
0
0 0 0
2 1
1
0 0 0
3 1
0
1 0 0
4 1
1
0 1 0
5 1
0
0 0 1
6 1
1
1 0 0
7 1
0
0 0 0
8 1
1
0 1 0
0
0 0
0
0 0
0
0 0
0
0 0
0
0 0
1
0 0
0
1 0
0
0 1
[R]ij = rij = (si (ai, aj)R alors 1 sinon 0) Graphes Pour les diagrammes sagittaux ou graphes d'une relation interne (tudis en dtail dans la partie Graphes), on confond ensemble de dpart et d'arrive. Le graphe visualise alors la structuration de l'ensemble support par la relation sous tude.
68
Fondements Le graphe G = <A, R> associ la relation R de l'ensemble A considre A comme ensemble de points ou sommets du graphe, considre R comme l'ensemble des flches ou arcs de G, (appels boucles s'ils relient un point lui-mme : fg. 4.1).
Note 0A IA
Dfinition jamais satisfaite satisfaite par chaque lment avec lui-mme toujours satisfaite
Graphe points isols, sans boucle points isols avec 1 boucle par point graphe complet, i.e. comprenant la totalit des arcs possibles
relation universelle
UA
Relations binaires internes 4.2.1 Rflexivit DFINITION 4.2 - Pour une relation R interne A, on pose : R relation rflexive R relation ir flexive R relation non rflexive PROPOSITIONS 4.1 - Toute relation rflexive a sa matrice caractristique de diagonale 1. = "xAx R x = " xA xRx = ($xA xRx) ( $yA yRy)
69
EXEMPLES. Relations IA, UA ; analogies, prordres larges, quivalences, ordres larges... 4.2 - Tout graphe rflexif comporte une boucle par sommet (fig. 4.1). 4.3 - Toute relation irrflexive a sa matrice caractristique de diagonale 0. EXEMPLES. Relation 0A ; perpendicularit entre droites d'un plan, antriorits entre tches d'un projet ; (pr)ordres stricts... 4.4 - Les graphes irrflexifs ne comportent que des sommets sans boucles. 4.5 - La diagonale de la matrice caractristique d'une relation non rflexive comporte au moins un 1 et au moins un 0. Rflexivit et modlisation La qualit de rflexivit / irrflexivit est souvent arbitraire, et fixe par convention explicite en fonction de la seule commodit d'exploitation. Au contraire, la non-rflexivit sera une irrgularit informative prserver. 4.2.2 Symtrie DFINITION 4.3 - Pour une relation R interne un ensemble A, on pose : R relation symtrique R relation asymtrique R relation antisymtrique R relation non symtrique = " x,y A xRy yRx = " x,y A xRy Rx = " x,y A xRy yRx x=y sinon.
EXEMPLES Symtries : relations 0A, IA, UA ; perpendicularit entre droites ; analogies, quivalences. Antisymtries : ordres larges. Asymtries : filiations, (pr)ordres stricts, prcdences entre tches. PROPOSITION 4.6 - Toute relation symtrique a sa matrice caractristique symtrique par rapport sa diagonale principale. NOTE. Aux relations symtriques on associera un graphe symtrique, obtenu en remplaant chaque paire d'arcs opposs par un trait dmuni de flche, appel arte. PROPOSITION 4.7 - Toute relation asymtrique est irrflexive. PREUVE. Soit R une relation asymtrique, et a un point tel que aRa ; par l'asymtrie de R, on aurait aRa aRa, et aRa serait contradictoire ; il n'existe donc aucun point pour lequel on ait aRa. Donc R est irrflexive.
4.2.3 Transitivit DFINITION 4.4 - On dit d'une relation R interne un ensemble A : R relation transitive R relation intransitive R relation non transitive EXEMPLES les relations 0A, IA, UA sont transitives, de mmes que les prordres, ordres et quivalences ; la relation entre droites ^ ( tre perpendiculaire ) est intransitive ; la relation est non transitive. = " x,y,z A xRyyRz xRz = " x,y,z A xRyyRz xRz sinon.
REMARQUE. Soit [R] une matrice boolenne caractristique d'une relation interne R. Considrons dans cette matrice le rectangle ayant pour sommets les cases (j,j), (i,j), (j,k),(i,k): r(j, j) est sur la diagonale, r(i, j) est sur la mme colonne que r(j, j), r(j, k) est sur la mme ligne que r(j, j), finalement, le sommet diagonalement oppos r(j, j) dsigne r(i, k). La relation reprsente est transitive si rjk est 1 chaquefoisque rij et rjk sont 1 ; ex : r24=1 r48=l r28=1 intransitive si rjk est 0 chaque fois que r i j et r j k sont 1 ; non transitive sinon. Tableau 43 Matrice d'une relation transitive. divise 1 i2 3 j4 5 6 7 8 1 1 0 0 0 0 0 0 0 2 1 1 0 0 0 0 0 0 3 1 0 1 0 0 0 0 0 j 4 1 5 1 6 1 7 1 k 8 1 0
1 0 1 01
0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1
NOTE. Le test de transitivit est acclr en transcrivant la dfinition "x"y xRy ("z yRz xRz) PROPOSITION 4.8 - Toute relation intransitive est irrflexive. PREUVE, cf. 0.2.6, ex. 11. EXEMPLE. La perpendicularit entre droites est une relation intransitive donc irrflexive. Modlisation La transitivit s'interprte souvent en termes de cohrence ou de consquence naturelle. REMARQUE. Les graphes transitifs sont trs chevelus . Pour y voir clair, on dessine souvent un graphe simplifi de la relation, o ne figurent pas les arcs dductibles par transitivit ou rflexivit, en faisant par ailleurs mention vidente de la transitivit (resp.
71
rflexivit). Strictement, ce graphe simplifi s'obtient en substituant la relation transitive R une relation plus fine (ou relation squelette), dfinie par R' = R - 1 et RS = R' - R'2. En retour, R = R*s si R est rflexive, et R = Rs si R est irrflexive (chap. 9).
4.2.4 Retour sur la finesse Union, intersection, inclusion, finesse, composition de relations s'adaptent facilement au cas o ensemble de dpart et d'arrive sont identiques. Cependant, les proprits nouvellement dfinies et la relation d'identit introduisent de nouveaux rsultats. Proprits de la finesse entre relations internes PROPOSITIONS
4 . 9 -0 AI AU A .
4.10 - R est rflexive ssi IA R. 4.11 - R est symtrique ssi R = R-1. DFINITION 4.5 - On appelle symtrise de R : Rs R R-1. PROPOSITIONS 4.12 - Si R est la symtrise de R, R Rs et R-1 Rs 4.13 - Rs est la relation symtrique la plus fine majorant R (et R-1). 4.14-I A R = R = R I A = R . 4.15 - R est transitive ssi RR R. PREUVE. Par les dfinitions de la composition (2.8) et de la transitivit (4.4). 4.16- Soient deux relations R, T AA 0ARTRRTUA OARTTRTUA R OA R T T
Fig. 4.3 Diagramme en losange pour la finesse entre relations, leurs intersection et leur union.
T UA
72
Fondements
4.3 RESTRICTION
DFINITION 4.6 - Soit une relation R AA, et B un sous-ensemble de A. On pose : R|B restriction de R B = R|B = R (BB) PROPOSITION 4.17 - Entre la restriction de R un ensemble E, et R on a toujours R|ER EXEMPLES une relation dfinie sur R. peut tre restreinte N ; une relation de jumelage entre villes peut tre restreinte un sous-ensemble de ces villes.
4.4 QUIVALENCE
4.4.1 Prsentation DFINITION 4.7 - On appelle quivalence toute relation binaire interne rflexive symtrique et transitive. EXEMPLES dans tout ensemble A, l' identit IA, la relation universelle UA ; la congruence module k dans N, k tant considr comme paramtre ; le paralllisme entre droites du plan, not a // b, en admettant que toute droite est parallle elle-mme ; la similitude entre triangles du plan, en admettant que tout triangle est semblable lui-mme.
4.4.2 Postulat d'Euclide PROPOSITION 4.18 - 2 lments quivalents un mme troisime sont quivalents entre eux. PREUVE. Soit une quivalence dans A. Pour tous les a, b, c de A nous avons : a C b c a C c b aCCbab soit finalement : a C b c a b . 4.4.3 Reprsentations La matrice carre reprsentative d'une quivalence est diagonale par blocs. Elle ne comporte que des 0, sauf des blocs carrs ne comportant que des l, centrs sur la diagonale principale, sous l'ventuelle rserve d'une permutation des lignes et des colonnes refltant un rarrangement des lments de l'ensemble. Le graphe associ est form de sous-graphes disjoints. Chacun de ces sousgraphes est une clique (sect. 7.7). Blocs et cliques correspondent aux classes d'quivalence dfinies au paragraphe 4.4.5.
73
1 1 0 1 1
0 0
0
0
0
0 0
0 0 0
1 1 1 1 1
1 1 1
K2
K3
Fig. 4.4 Cliques de l'quivalence du tableau 4.4. 4.4.4 Partition attache une quivalence PROPOSITION 4.19 - A toute quivalence de E, ensemble fini, est attache une partition de E. PREUVE. Soit un ensemble E muni d'une quivalence . Soient a, b deux lments de E, et soit Ca= { xE | a x } et Cb= { xE b x } les sous-ensembles de E regroupant les lments de E quivalents a, respectivement b. Ca et Cb sont non vides puisqu'ils contiennent au moins a (resp. b) et que est rflexive. Montrons que Ca et Cb sont disjoints ou confondus. S'ils ne sont pas disjoints, ils ont au moins un lment en commun, disons c. Alors a et b sont quivalents (prop. 4-17). Par la mme proposition, tout x Cb tant quivalent b, l'est a, et appartient Ca ; donc Cb Ca. Symtriquement, tout x Ca tant quivalent a, l'est b, et donc appartient Cb ; donc Ca Cb. Donc, Ca et Cb sont confondus si un c commun existe ; sinon Ca et Cb sont disjoints par dfinition. Ainsi, tout a appartient un et un seul Ca. Par suite, C = { Cx P(E) | x E Cx = { yE | xy }} est une partition de E. On peut la construire par puisement : On choisit un lment a de E. On btit Ca = { xE | ax }. Si Ca ne recouvre pas tout E, on choisit b E- Ca, puis on btit Cb = { xE | bx } = { xE-Ca bx }. De mme, si E n'est pas puis, on choisira c E - Ca - Cb,...
Ce procd est fini ds que E est fini, car le nombre de classes est au pire gal au nombre d'lments (pour l'identit). Choisir une certaine tape un autre lment ne pourra que changer l'ordre d'numration des Cx, mais pas leur dfinition.
4.4.5 Ensemble-quotient DFINITIONS 4.8 - Soit E un ensemble muni d'une quivalence . On note E/ la partition associe, dite quotient de E par l'quivalence . 4.9 - Tout ensemble de E/ est dit classe d'quivalence dans E pour . 4.10 - Dans chacune des classes C d'un ensemble-quotient E/, on peut choisir un lment rc qui sera dit reprsentant de C. Le choix d'un reprsentant pour une classe est en principe arbitraire. EXEMPLES Pour les entiers naturels, la congruence modulo k mne une partition de N en k classes Ci ayant pour reprsentant i {0, 1,2, ... , k-1 }, l'un des k restes distincts possibles. Pour l'ensemble des droites d'un plan, la relation d'quivalence // (est parallle ) mne une partition des droites, raison d'une classe par direction du plan.
4.4.6 Equivalence attache une partition PROPOSITION 4.20 - A toute partition de E est attache une quivalence. PREUVE. Soient x, y deux lments de E. Posons x y ssi il existe un ensemble C telle que x C et y C. La relation est rfexive et symtrique. Supposons maintenant que pour x, y, z E on ait x y et y z. Alors il existe un ensemble C1 de tel que x C1 et y C1 et un ensemble C2 de tel que y C2 et z
C2
tant une partition, y appartient un ensemble de et un seul : donc C1 = C2, x et z appartiennent au mme ensemble, et x z. Ce qui tablit la transitivit. est donc bien une quivalence induite par sur E. 4.4.7 Equivalence et partition attaches une application DFINITION 4.11- Soit f : AB une application, et posons : "x,yA(xy)(f(x)=f(y)) La relation f , dite isovalence par f , est gnralement note ker(f). PROPOSITION 4.21 - Une isovalence ker(f) est une quivalence.
PREUVE. Notons l'isovalence ker(f) ; il vient : " x A, f(x) = f(x) x x /rflexivit de = rflexivit de " x, y A, (f(x)=f(y) f(y) = f(x)) (x y y x) /symtrie de = symtrie de "x,y,zA,x yy zx z/transitivit de = transit , c 'est dire ker(f), est donc quivalence dans A du fait que = en est une dans B. EXEMPLES Si f : AN, f numrote les lments de A, et A est partitionn en classes Cn regroupant les lments de A de mme numro n. Si festune fonction de codage, l'quivalence ker(f) groupe en une mme classe (d'ambigut) les lments de mme code.
75
Si festune fonction d'indexation, l'quivalence ker(f) dfinit les classes d'lments de mme cl. Si f est une fonction de notation lie un critre, l'quivalence ker(f) dfinit les classes d'ex aequo.
PROPOSITION 4.22 - A toute application surjective f : AB,on peut associer une application bijective f: A/ker(f)B. PREUVE. Soit r(C) le reprsentant d'une classe C dans A/ker(f) ; par dfinition de l'isovalence, f(r(C)) = f(a) pour tout lment a de la classe C. On peut donc btir une fonction f* : A/ker(f)B, en posant f*(C) = f(r(C)), pour chaque classe C de A/ker(f), suppos fini. La fonction f* : A/ker(f)B obtenue est injective, car chaque classe C distincte a une image f*(C) = f(r(C)) distincte par dfinition, surjective comme f, donc finalement elle est bijective.
4.5 ORDRES 4.5.1 Ordre large DFINITION 4.12 - On appelle ordre large toute relation binaire interne rflexive antisymtrique et transitive. EXEMPLES Dans l'ensemble des entiers, la relation divise, note | est un ordre large. PREUVE. De sa dfinition " a, b N a | b ($ p N a.p = b ) on tire "a N a | a car "a a. 1 = a /rflexivit de | "a, b N ( a | b b | a ) a = b /antisymtrie de | "a, b , c N ( a | b b | c ) a | c /transitivit de . Sont ordres larges l'inclusion entre sous-ensembles d'un ensemble, la finesse entre relations, entre couvertures, entre partitions. dans N, Z, Q, R.
4.5.2 Fonctions monotones DFINITION 4.13 - Soit f: AB une fonction d'un ensemble A, ordonn par Z, vers B ordonn par <. On dira : f isotone "x,y A xy f(x) < f(y) f antitone "x,y Axy f(y) < f(x) f monotone fi s o t o n eOU fa n t i t o n e 4.5.3 Ordre total / partiel
DFINITIONS
4.14 - On dira ordre total sur A un ordre large sur A << tel que : "x, y A x< y y< <x Sinon, l'ordre sera dit ordre partiel.
4.15 - Un ensemble acceptant un ordre total est souvent appel chane ou chelle. NOTE. Un tel ensemble sera souvent reprsent sur un axe orient. EXEMPLES dans N, Z, Q, R la relation est un ordre total ; dans l'ensemble des entiers, la relation divise, note |, est un ordre partiel, car 3 ne divise pas 7, et 7 ne divise pas 3 ; l'inclusion entre sous-ensembles d'un ensemble, la finesse entre relations, entre couvertures, entre partitions sont respectivement des ordres partiels.
REMARQUE. De nombreux problmes pratiques se ramnent la recherche d'un ordre total << compatible avec un ordre partiel <, i.e tel que " x, y x<y x << y. 4.5.4 Ordre strict DFINITION 4.16 - On appelle ordre strict toute relation binaire interne asymtrique et transitive. PROPOSITIONS 4.23 - Tout ordre strict est irrflexif(dufait de l'asymtrie). 4.24 - Un ordre strict est un ordre partiel, car il rejette la comparaison d'un objet avec lui-mme. 4.25 - A tout ordre large correspond un ordre strict < obtenu en posant : (a<b) "a,b ((a b) -( b a)) "a,b ((a b) (a b)) 4.26 - A tout ordre large total correspond un ordre strict < dit linaire, i.e. tel que : "a , ba < b a = b b < a NOTE. Cette version affaiblie de la totalit conserve la notion d'chelle, et la possibilit de reprsentation selon un axe orient. EXEMPLES. Dans N, Z, Q, R la relation < est l'ordre strict linaire associ . Mais l'inclusion stricte d'ensembles est un ordre strict (non linaire). 4.5.5 Ordres induits sur des tuples On considre des tuples de AB... K bass sur des ensembles ordonns <A, A >, <B, B > ... <K, K >. Ces ordres sur les dimensions induisent-ils un ou des ordres sur les tuples ? Ordre unanime DFINITION 4.17 - Une relation d'infriorit unanime (resp. supriorit / prfrence) < entre tuples est satisfaite par deux tuples quand chaque paire de composantes de mme dimension respecte l'ordre total ou partiel de la dimension correspondante. On pose par exemple dans ABC : (a b c) < ( f g h) a A f b B g c c h
77
PROPOSITION 4.27 - L'infriorit (resp. supriorit / prfrence) unanime est un ordre partiel entre n-uples. REMARQUES L'extension unanime de C ou R n'est toujours qu'un ordre partiel. Si chaque dimension est munie d'un ordre total, partir d'un n-uple donn l'espace des n-uples comprend 2n angles solides (ou orthants) diffrents, dont 1 de n-uples suprieurs , 1 de n-uples infrieurs , et 2n - 2 de n-uples non comparables . B ? (ab) + ? ? A Quadrants + : couples suprieurs - : couples infrieurs ? : couples non comparables
(a b) (a b) (a b)
Fig. 4.5 Ordre unanime 2 composantes : quadrants de comparabilit associs un couple (a, b).
Ordre lexicographique DFINITION 4.18 - Entre tuples de AB...K bass sur des ensembles ordonns <A, A >, <B,B>.. <K, K>, on appellera ordre lexicographique une relation qui ordonne les tuples sur leur premire composante, sinon, en cas d'galit, sur la seconde, sinon, en cas d'galit, sur la suivante, et ainsi de suite jusqu' la dernire. EXEMPLE. Posons : (a b c d) < (x y z t) a <A x (a = x (b <B y (b = y (c <c z (c = z d d t))))) Si A = B = ... = K, (a b c d) et (x y z t) se comparent comme deux entres abcd et xyzt d'un dictionnaire. PROPOSITION 4.28 - L'ordre lexicographique est un ordre. Cet ordre est total ssi l'ordre de chaque dimension est total. 4.5.6 Minoration/majoration Minorant/majorant DFINITION 4.19 - Soit E un ensemble muni d'un ordre et F un sous-ensemble de E. On appelle minorant de F tout lment m de E tel que "x F mx. On appelle majorant de F tout lment M de E tel que "x F xM. Elment minimal/maximal DFINITION 4.20 - Un lment est minimal (resp. : maximal) dans un ensemble ordonn s'il n'admet pas d'lment minorant (resp. : majorant) dans cet ensemble.
Minimum / maximum DFINITION 4.21 - Un lment est minimum (resp. : maximum) d'un ensemble ordonn s'il est le seul lment minimal (resp. : maximal) de l'ensemble.
Fig. 4.6 Elments minorants et minimaux EXEMPLES Dans la figure 4.6, 1 et 2 sont minorants de F ; 3 et 4 sont minimaux dans F ; F ne possde pas de minimum. N2 = {2, 3, 4, 5, ...}, ordonn par la relation divise, admet comme lments minimaux les nombres premiers. Dans N, N2 admet 1 comme minorant. N1 = {1} N2 ordonn par la relation divise, admet 1 comme minimum. L'ensemble des relations sur un ensemble E, ordonn par la finesse, admet 0E comme minimum, UE omme maximum. L'ensemble des relations rflexives (resp. des prordres, des ordres larges, des quivalences) sur un ensemble E, ordonn par la finesse, admet I E comme minimum, UE comme maximum, 0E comme minorant.
4.5.7 Demi-treillis & treillis DFINITION 4.22 - Soit E un ensemble muni d'un ordre . Si pour chaque paire x, y d'lments de E il existe un plus grand minorant, dit borne infrieure, et not inf(x, y), alors structure E en inf-demi-treil is, il existe un plus petit majorant, dit borne suprieure, et not sup(x, y), alors structure E en sup-deml-treillis, il existe un plus grand minorant et un plus petit majorant, alors structure E en treillis. EXEMPLES N1 = {1, 2, ...} , ordonn par la relation divise, a une structure de treillis, avec pour chaque paire (j, k) : pgcd(j,k) |j, pgcd(j,k) | k, et j | ppcm(j,k), k | ppcm(j,k) pgcd et ppcm donnent ainsi les bornes infetsup cherches. L'ensemble des parties d'un ensemble E, ordonn par l'inclusion, forme un treillis o et associent toute paire de sous-ensembles les bornes cherches. L'ensemble des relations sur un ensemble E, ordonn par la finesse, forme un treillis o et associent toute paire de relations les relations-bornes cherches.
79
Par contre, la figure 4.6 ne contient pas de treillis : car les paires {1,2}, {3, 4} ont des paires {3, 4}, {5, 6} de majorants immdiats non comparables, et elles n'ont donc pas de borne suprieure ; de mme pour les minorants.
PROPOSITION 4.29 - Un ensemble muni d'un ordre total est dot d'une structure
de treillis. REMARQUES N, Z, Q, R sont des treillis pour les relations et , max et min fournissant les bornes. La proprit de treillis sera en fait le plus souvent recherche comme proprit forte de certains ordres partiels. En particulier, Nn, Zn, Qn, Rn sont des treillis non triviaux pour les ordres unanimes tendant aux n-uples les relations = et . Les bornes inf et sup sont fournies par les max et min calculs composante composante. Un treillis issu d'un ordre partiel associe chaque paire d'lments (x, y) une maille ou losange lui associant (inf(x, y), sup(x, y)) (fig. 4.7).
4.6 PREORDRE
4.6.1 Prsentation Les prordres sont des relations de dfinition moins contraignante que celle d'ordre ou d'quivalence : on les rencontre donc plus souvent, avec un risque de proprits trop faibles. L'intrt pratique des prordres vient de ce que chacun engendre une quivalence, puis un ordre sur l'ensemble-quotient associ, ce qui permet d'interprter les prordres comme des ordres sur des paquets. D'autre part, un procd standard dfini au chapitre 9 (fermetures transitives) permettra d'associer toute relation, si quelconque soit-elle, le prordre le plus fin la majorant. L'analyse de donnes exploite ces deux remarques pour donner aux relations empiriques quelconques le sens le plus clair possible moyennant la plus faible distorsion. A de telles relations, souvent impossibles interprter directement, on associera donc le prordre majorant le plus fin, puis une quivalence induisant une partition de l'ensemble initial, enfin un ordre entre ses classes, exprimant la relation d'origine en termes de rapports (i) entre paquets (ii) l'intrieur de ces paquets. Ce procd permettra une lecture rationnelle aussi exacte que possible de relations exprimentales n'ayant a priori ni rime ni raison.
80
Fondements
DFINITION 4.23 - On appelle prordre toute relation binaire interne rflexive et transitive. REMARQUES Tout ordre est un prordre. Toute quivalence est un prordre. Comme pour les ordres, on parlera de prordre large (rflexif) ou strict (irrflexif) ; et de prordre total ou partiel. 4.6.2 Prordre induit par une fonction PROPOSITION 4.30 - Soit f : AB une application, et soit un ordre dfini sur B. Si on pose : " x,y A xy f(x) f(y), alors estprordre pour A. PREUVE pour tout x de A, on a x x car f(x) = f(x) / rflexivit de pour tout x, y, z de A, on a (x y y z ) x z du fait de la transitivit de / transitivit de pour tout x, y, z de A, on a x y y x f(x) = f(y) du fait de l'antisymtrie de ; mais on ne peut en dduire en gnral que x = y car 2 objets ou individus ne sont pas identiques du seul fait qu' ils ont une note, ou un aspect commun. Il n'y a donc pas en gnral antisymtrie de , et c'est en cela que le prordre et l'ordre diffrent. 4.6.3 Prordres lis aux notations et profils Soit f : AN une application de A dans N, et soit un ordre total dfini sur N, ensemble des notes. Les considrations prcdentes s'appliquent, et les lments de A se trouvent prordonns par une telle notation. Soit maintenant une liste de critres dont chacun introduit sa propre notation en termes d'intrt : les membres de A reoivent ainsi un tuple de notes, ou profil. Celui-ci se trouve muni d'un ordre unanime ds lors que chaque critre fournit un ordre de notation, et les profils tant ordonns en tant que tuples, un prordre de domination 1 est induit entre membres de A, par : x>y = profil(x) . profil(y)
qui se lira : x domine y ssi le profil de x est suprieur au profil de y. 4.6.4 Domination et dcision multicritre Une dcision multicritre s'articule ainsi en 2 tapes : Y aide la dcision rduit l'ensemble des solutions l'ensemble des solutions dominantes, et la prise de dcision slectionne parmi ces dernires la solution finalement retenue. Aide la dcision Cette phase btit partir des ordres relatifs aux divers critres un ordre unanime partiel d'intrtentre les profils tablis, qui induit un prordre partiel de domination ou surclassement entre les solutions comparer. Celles-ci se trouve rparties en
Ou de surclassement .
solutions dominantes, i.e. domines par aucune autre, solutions domines, qui le sont par au moins une autre.
PROPOSITION 4.31 - Soient s et s' des solutions dominantes ; si s' est meilleure que s pour un ou plusieurs critres, alors elle est pire que s pour un ou plusieurs autres critres (par l'absurde). Dans l'espace des critres, l'ensemble des solutions est assimilable un nuage de points. On clarifie la situation sans perdre de solution intressante en substituant l'ensemble des solutions une liste rduite forme des seules solutions dominantes : chacune des solutions abandonnes est infrieure au sens de chacun des critres retenus au moins une des solutions conserves ; ce n'est vrai d'aucune des solutions restantes qui, par la proposition 4.31, sont ou indiffrentes ou non comparables. L'ensemble de ces solutions dominantes constitue un ensemble optimal au sens de Vilfredo Paretto. Prise de dcision Plus subjective, la prise de dcision veut dgager parmi les solutions dominantes UN choix final. L'introduction d'un arbitrage entre critres transformera le prordre partiel en un prordre total, refltant les compromis accepts. Pour cela, les divers critres sont agrgs par une fonction valuant l'intrt global d'une solution, tous critres combins2. Cette fonction dfinit dans l'espace des critres : un prordre total, des isovales ou courbes (resp. surfaces) d'isovalence, correspondant autant de niveaux d'intrt, les solutions d'intrt maximal (resp. de cot minimal ou de moindre mal). Exemple Soit prparer un voyage. Diverses solutions sont dcrites dans le tableau 4.5 en termes de dure et de cot, grandeurs qui varient en sens inverse de leur intrt : on cherche les faibles cots et les courtes dures. 1/ Analyse Indpendamment de tout arbitrage temps/argent, il suffit de retenir (a, c, e) (fig. 4.8, tab. 4.6) : b est limin par c, plus rapide ET moins chre ; de mme, d est limine par e.
Solution
a b c d e
Dure 5h
7h
6h 15h 12h
On lui demandera seulement d'tre monotone (resp. croissante) par rapport chacune de ses variables, reprsentant autant de critres.
2/ Dcision La dcision est ensuite prise sur la base de l'optimisation d'une fonction d'intrt (resp. de cot), qui dfinit la note attribue chaque solution restante en vue du classement final.
\ i
t S dure
12
16
X-e
Domination
dominante
a b c d e
Diverses politiques sont rsumes dans le tableau 4.7 . Une premire politique minimise un cot gnralis cot + $-dure, o $ reprsente la contre-partie d'une heure perdue, la valeur de $, toujours positive, variant selon qu'il s'agit du calcul d'une socit pour ses cadres, ou du temps perdu en dbut ou fin de vacances. Les courbes isovales d'arbitrage, intrt constant, seraient ici formes d'un rseau de droites parallles. La solution a sera optimale si le temps est prcieux, e si la dure a peu d'importance, c dans une large plage intermdiaire de valeurs pour $, voire de styles de dcision. Une seconde politique ne tolre cot ou dure que si l'autre facteur est trs faible : elle cherche optimiser le produit cot-dure. Les isovales d'arbitrage intrt constant seraient ici formes d'un rseau d'hyperboles quilatres, et donneraient c comme premier choix, a comme second. Une politique NINI, refusant cot et dure, pourrait normaliser cot et dure par rapport leurs mdianes (ici 8.000 et 7), minimiser (cot normalis)2 + (dure normalise)2,
83
et correspondrait des courbes isovales formant un rseau d'ellipses de centre 0. Ici, c serait sur l'ellipse la plus centrale, et se prsenterait comme le meilleur refus de la dure et du cot. Tableau 4.7 Recherche d'un moindre mal selon diverses politiques.
-w
<U
1 D x E + ' '5 'g <s 3 3 -c - S A Q U E o ' 5h Si $ > 2 OOOF/h 6h Pour $ de 333F/h 2 000 F/h 12h Si $ < 333F/h
0 c .c .5 <3 o U EU
.a ES
50000 48000 72000
is 5
5
2,0725 1,73 3,66
c Z x '5
L'intrt variant en raison inverse du cot et de la dure, il n'y a pas ici lieu d'envisager le clbre rapport qualit/prix . 4.6.5 Equivalence associe un prordre PROPOSITION 4.32 - Soit un prordre RAA : la relation dfinie sur A par R R-1 est une quivalence PREUVE. est ncessairement symtrique du fait de sa dfinition ; et rflexive et transitive car R l'est. EXEMPLES Dans un prordre de notation, il s'agira de l'quivalence entre ex aequo. Dans un prordre gnral de domination, il s'agit de l'quivalence entre solutions indiffrentes au regard des critres. 4.6.6 Ordre induit sur l'ensemble-quotient L'quivalence associe A un ensemble-quotient A/. Dans cet ensemble-quotient, introduisons une relation ^dfin epar : " Cx Cy A/( Cx =< Cy x R y ) o Cx, Cy dsignent les classes d'quivalence pour attaches x et y dans A. PROPOSITION 4.33 - La relation ^ est un ordre large. PREUVE. La relation est transitive et rflexive comme R. Elle est antisymtrique car (Cx =< Cy ) ( Cy =< Cx) xRy yRx xy Cx = Cy PROPOSITION 4.34 - Tout prordre sur un ensemble A induit (a) une quivalence dansA, (b) un ordre large sur l'ensemble-quotient A/ relatif cette quivalence. C'est pourquoi un prordre est souvent lu comme un ordre entre des paquets, ces paquets tant les classes attaches l'quivalence induite.
84
Fondements EXEMPLE. On soumet divers produits plus ou moins comparables un groupe d'utilisateurs, qui notent chaque produit de A E sur 3 critres essentiels. Ainsi chaque produit reoit un profil, par exemple BAC, signifiant note B (resp. A, C) pour le critre 1 (resp 2, 3) , et il existe maintenant entre ces profils un ordre partiel qui s'induit des ordres de notation. Posons xy profil(x) = profil(y). est une quivalence entre produits de mme profil, et chaque profil dfinit une classe d'quivalence : tous les produits de profil BAC sont perus de faon similaire par le groupe d'utilisateurs, ils forment une classe de profil BAC. Ces classes sont ordonnes entre elles comme les profils correspondants, BAC BAB entrane CBAC CBAB, et l'on dira la classe de produits BAC infrieure la classe BAB. Les classes dominantes seront maximales pour cet ordre. Sauf gros effectif et rpartition uniforme, il n'y aura pas forcment des produits dans les 125 classes possibles. Les classes absentes mettront en contraste les classes prsentes et faciliteront leur qualification, menant pour chacune des recommandations d'emploi diffrentes.
4.7 RECAPITULATIFS
Le tableau 4.8 prsente, regroupes par aspects, la liste des proprits des relations, et de leurs dfinitions.
Tableau 4.8 Principales proprits des relations binaires internes.
Proprit
i> > x
Dfinition "ssRs "s Rs ($s sRs)A($t tRt) "s sRt tRs "s sRt tRs "s sRt tRs s = t ($s,t sRt tRsst) A($s,t sRt tRs s t)
u <S .u
ai
u ^ >>
d
-(D > ^ tO i-
"s,t,u sRt tRu sRu "s,t,u sRt tRu sRu ($s,t,u sRt tRu sRu) ($s,t,u sRt tRu sRu)
Le tableau 4.9 rassemble ci-aprs les grandes catgories de relations, qui jouissent de deux ou plusieurs de ces proprits.
85
Catgories de relations quivalence Ordre Prordre Analogie large strict large strict
taspects des relation s Rflexivit rflexive rflexive irrflexive rflexive irrflexive rflexive symtrique Symtrie symtrique antisymtrique asymtrique Transitivit transitive transitive transitive transitive transitive
4.8 EXERCICES 4.8.0 Montrer que la relation nulle est irrflexive, symtrique, asymtrique et antisymtrique, transitive et intransitive, ordre strict. 4.8.1 Caractriser en tant que relation la relation tre perpendiculaire entre droites d'un plan.
4.8.2
Soit un ensemble A muni d'une structure de treillis par l'ordre large total Montrer que l'ensemble A" des n-uples se trouve alors dot d'un ordre partiel lui donnant une structure de treillis, ds lors que l'on introduit: sup((a1, a2, ... an),(b1, b2, ... bn)) = (max(a1, b1), max(a2, b2), ..., max(an, bn)) et une dfinition similaire en min pour la borneinfrieure. 4.8.3 Montrer qu' tout ordre large est associ un ordre strict ; montrer qu'on peut de mme associer tout prordre, considr comme large, un prordre strict.
4.8.4
Soit un ensemble E muni d'une distance d. On se donne une constante r, et on dfinit une relation de proximit p par : "x, y E xpy d(x, y) r Montrer que cette relation est rflexive et symtrique (analogie). Montrer que l'ingalit du triangle "x, y, zE d(x,z) d(x,y) + d(y,z) ne suffit pas garantir la transitivit de p. Montrer que p sera cependant une quivalence ssi "x, y, z Ed(x,z) max(d(x,y), d(y,z)) (d est alors dite ultramtrique)
4.8.5 On introduit une notion de circularit de relation avec les dfinitions suivantes : R circulaire : R anti-circulaire : "a,b,c aRbbRc cRa "a,b,c aRbbRc Ra
Transcrire les grandes dfinitions de ce chapitre en termes de rflexivit, circularit, symtrie. 4.8.6 En vue de construire un logiciel d'arbitrage pour le jeu Le Compte est Bon, on envisage d'engendrer automatiquement les formules f constructibles l'aide d'une liste d'entiers L et des 4 oprateurs arithmtiques usuels, en vue de retrouver le nombre recherch N, ou de s'en rapprocher le plus possible. On appelle dfaut d'une formule f la quantit dfaut(f) | valeur(f) - N | et, pour deux formules f et g, on pose f ^ g dfaut(f) dfaut(g). Montrer que ^ est un prordre. Comment s'en servir pour trouver la ou les meilleures formules au fur et mesure de leur gnration?
4.8.7
Soit un ensemble fini X muni d'une relation R. Quelle doit tre la nature de R pour qu'elle justifie un tri de X ? Justifier le tri de couples (cl, information). 4.8.8 Soit un ensemble D de droites. Caractriser au sens de ce chapitre les relations (tre perpendiculaire ) et // (tre parallle ). Sont-ce des ordres? des quivalences ? des prordres ? 4.8.9 Soit un ensemble T de tches effectuer dans un projet. Et soit ^ la relation de prcdence entre ces tches ; montrer que -< est transitive, asymtrique, irrflexive. 4.8.10 Expliquer comment l'ordre lexicographique (signe, exposant, mantisse) permet de comparer directement les nombres virgule flottante normaliss sans addition ni soustraction. 4.8.11 On considre un ensemble P de personnes, muni de la relation aime . Discuter de la transitivit de cette relation sous une hypothse de fraternit universelle, sous une hypothse de jalousie universelle, dans un tiers-cas. Etendre ventuellement la rflexivit, la symtrie. 4.8.12 A Ivanbourg, le Camarade Premier Secrtaire, du fait de..., est ncessairement le plus intelligent de tous les habitants. D'autre part, du fait de..., le Camarade Premier Secrtaire est ncessairement le moins intelligent de tous les habitants. De ce fait, tous les habitants sont identiques : c'est pourquoi ils s'appellent tous Ivan Ivanov... [commenter].
4.8.13 Analogie On appelle parfois analogie une relation rflexive symtrique. Soit un ensemble E muni d'une distance d. On se donne une constante r, et on dfinit une relation de proximit p par : "x, y Expy d(x,y) r. Montrer que cette relation est une analogie. Montrer qu'une relation qui est analogie et prordre est une quivalence. 4.8.14 Dnombrements On considre un ensemble X 5 objets. Combien admet-il de relations distinctes bties sur lui ? de relations rflexives ? irrflexives ? de relations symtriques ? asymtriques ? antisymtriques ? d'analogies ? 4.8.15 Vrifier que N, Z, Q, R sont des treillis pour les relations et , max et min fournissant les bornes. En dduire que Nn, Zn, Qn, Rn sont des treillis pour les relations et tendues aux n-uples, max et min calculs composante composante fournissant les bornes. Gnraliser en montrant que l'ordre obtenus sur les n-uples de ABC... partir des ordres x dfinis sur les A, B, C... dote ABC... d'une structure de treillis ds lors que chaque couple (X, x) forme dj un treillis. 4.8.16 Considrons l'ensemble F = { f|f:RR}des fonctions relles valeur relle. On pose fg (ou f = 0(g)) dans F si limx (f(x)/g(x)) = k 0.
Montrer qu'il s'agit d'une relation d'quivalence (dite varie comme ) dans F.
Montrer que pour cette quivalence tout polynme une variable x, de degr n admet comme reprsentant xn. On pose f < g (ou f = o(g)) dans F si limx, (f(x)/g(x)) = 0. Montrer que <,dite varie moins vite que , est un ordre strict dans F. Montrer que pour cet ordre tout polynme une variable de degr n varie moins vite que tout polynme de degr strictement suprieur n. 4.8.17 Caractriser la relation dfinie par : a b $x (a x)(x b) selon qu'il y a 2, 3,4... lments dans l'ensemble considr. 4.8.18 Soient A, B deux ensembles, et R une relation de A B. Montrer que S = (RR-1) est une relation interne A (resp. que U = (R-1R) est interne B). Montrer que S est symtrique. Montrer que dom(S) = dom(R), et que x dom(R) xSx. 4.9 PROBLMES 4.9.1 (d'aprs I.C. Lerman) Soit un ensemble E muni d'une distance d qualifie d'ultramtrique, c'est--dire satisfaisant une ingalit du triangle renforce : "x, y, z E d(x,y) max(d(x,z), d(z,y))
88
Fondements
On se donne une constante r, et on s'intresse aux boules Bx,r de centre x et de rayon r : " y E y Bx,r, d(x,y) r Montrer que, r donn, ces boules constituent une partition de E. Montrer que lorsque r crot depuis 0, elles constituent une chane de partitions de moins en moins fine, allant de IE UE. Soit maintenant une liste d'objets dont on demande une classification rationnelle. Leurs analogies et diffrences sont rsumes par la table de distances 4.10. Peut-on dire que cette distance est ultramtrique ? En dduire une classification arborescente des objets considrs.
4.9.2
Tableau 4.10 Distances.
a
0 15
b 15 0
15 15 15
c
9 15 0 7
d 9
15 7 0
9
9 5
e 5 15 9 9 0
La socit Forex est charge d'enquter sur les prfrences d'utilisateurs pour une liste de produits. Dans un chantillon E de 50 utilisateurs, chaque personne interroge donne un ordre de prfrence pour 5 produits au plus. On dresse ensuite une matrice des prfrences P, chaque pij indiquant le nombre exact de sonds ayant class i avant j (tab. 4.11).
P a b
c d
a 0
7 8 7 5 3
b
15
c
14
0
9 10 15 17
6
0
e f
8 11 8
d 9 13 11 0 9 3
e 18
9
15
f 20 6 11
5 9
9 0
15
Vous tes charg de rdiger les statuts d'une assemble pouvoir rglementaire, dont on souhaite des dcisions cohrentes au sens suivant. Si l'assemble dclare A prioritaire sur B, et par ailleurs B sur C, on souhaite qu'elle dclare si possible A prioritaire sur C, et qu' tout le moins elle ne dclare pas C prioritaire sur A. On suppose chaque membre votant cohrent, en ce sens que s'il a vot pour A prioritaire sur B, et pour B prioritaire sur C, alors il vote pour A prioritaire sur C. Montrer que : une majorit simple ou des 2/3 ne permet pas d'atteindre ces objectifs (cf. Condorcet) ;
89
une majorit suprieure (5/7 ou 3/4) interdit les circularits mais pas les lacunes ; seule l'unanimit garantit la transitivit des prfrences.
Quel est l'impact pratique, sachant que l'exigence de majorits leves est une cause d'immobilisme?
4.9.4
On dfinit la congruence module k par : x y mod k k | abs(x - y) En dduire que m n (x y mod n x y mod m), et qu'il existe ainsi un ordre de finesse entre congruences. En dormant le statut convenable l'galit et la relation universelle, assimile une congruence module 1, on tablira que les congruences module k forment un treillis calqu sur le treillis de divisibilit. On en dduira qu'une congruence module n peut se ramener des congruences plus simples quand n n'est pas premier, que toute quation entire peut se ramener des quations de congruence module k.
4.9.5
On appelle entiers quadrat-frei les entiers n'admettant pas de facteurs au carr autres que 1. Vrifier que 6, 15, 30, 210, 30 030 sont de tek nombres, mais ni 25 ni 180. Vrifier que l'ensemble des diviseurs d'un quadrat-frei Q forme un treillis pour la divisibilit, pouvant tre mis en bijection avec Bn si n est le nombre de facteurs premiers de Q. Application Q = 30 030.
4.9.6
On considre l'ensemble des fonctions fdeXY.On pose fg ("x dom(f) g(x) = f(x) ) Montrer que la relation oc est une relation d'ordre sur l'ensemble des fonctions de X Y. Montrer que cet ensemble a pour lments maximaux les applications de X Y, et pour lment minimum, la fonction dfinie en 0 point de X. On dit f et g h-compatibles si h oc f et h g. Montrer qu'il existe pour tout couple (f, g) une telle fonction. Dfinir pour chaque couple (f, g) une fonction h maximale pour , et en dduire que oc dote l'ensemble des fonctions de X Y d'une structure d'inf-demi-treillis. On dira f et g h-miscibles si f h et g h. Montrer qu'une telle fonction h n'existe pas toujours, et que oc ne dote pas l'ensemble des fonctions de X Y d'une structure de treillis. Interprtation technologique Reprendre l'nonc en considrant maintenant que les fonctions considres dsignent soit des spcifications, soit des ralisations, et que f g se lit f spcifie g ou g ralise f . En dduire une notion de spcification progressive.
Discuter la notion de composants conformes une spcification, compatibles entre eux. Peut-on en gnral dfinir une ralisation r pouvant remplacer indiffremment 2 ralisations antrieures f et g, elles-mmes compatibles avec une mme spcification h? Application l'univers des compatibles PC , l'univers des bibliothques numriques.
4.9.7
On dfinit sur R les relations : x < < y 100|x|<|y| xy |x-y| << y | x~y ( x << y) ( y << x)
Montrer que la ngligeabilit est un ordre strict. Montrer que la quasi-galit est une analogie plus fine que la comparabilit. Montrer que ces analogies ne sont pas des quivalences.
4.9.8
Le jury de 9e anne de l'Institut des Etudes Informatiques Internationales Interminables est agit par de graves dbats : il ne faut diplmer que les tudiants qui ont la moyenne (arithmtique) disent les uns, il faut favoriser les meilleurs , disent les directeurs de laboratoires ; le responsable du placement indique que tous peuvent tre diplms s'ils n'ont pas de faiblesse prcise. Pendant que les dbats s'ternisent, le directeur des tudes s'inquite. Le professeur Stanislas Fumet, parti l'tranger, a laiss un logiciel de classement pour traiter les notes saisies, logiciel sens pouvoir s'aligner sur toute politique du jury. Au lancement, un cran rappelle que les tudiants seront classs partir de leur 3 notes principales x, y, z dans l'ordre des (xn + yn + zn)1/2n. Le logiciel demande la valeur du paramtre n. Expliquer l'effet des diffrents n sur l'chantillon ci-aprs (tab. 4.12). En dduire un tiquetage politique des diffrentes valeurs de n, pouvant servir d'aide-mmoire au Directeur des Etudes, ou de menu pour le logiciel.
4.9.9
On appelle intervalles des couples [a b] avec a,b R et a b. Dfinir et examiner une extension de et de = aux intervalles. Introduire les comparateurs coupe et dans(),et examiner leurs proprits. Etudier ces divers comparateurs dans les 6 cas principaux de confrontation de [a b] [c d].
91
x 17 10 5 5 10 15
y
17 15 5 10 10 15
z 17 20 5 15 10 15
4.9.10 Choix d'une voiture Pour prparer un logiciel sur ce thme, vous considrez : qu'un fichier vous dfinit des descriptifs standardiss des modles connus, qu'il est bas sur divers critres, chacun ayant finalement ses valeurs ramenes une chelle standard d'intrt { - - - , - - , - , 0,+,++,+++}. On se trouve par exemple ramen au tableau comparatif suivant.
Tableau 4.13 Comparatif de voitures.
Marque / modle Automobil Skorpio Behindra Victoria Cromwell Straight Deleatur Excalibur Facel Vega
consommation -0 ----
1. Quelles sont les solutions dominantes ? domines ? On suppose qu'en fait tout utilisateur a ses priorits, et qu'il les ordonne avant de procder un choix3. 2. Classer les solutions pour un pre de famille nombreuse dont les priorits sont : nombre de places / prix d'achat / consommation / vitesse max, exploites dans un ordre lexicographique sur les profils. 3. Mme question pour un jeune cadre dont les priorits sont : vitesse max / prix l'achat / consommation / nb de places. 4. Expliquer les diffrences avec les slections faites sur la base : (a) d'une note moyenne, tous les critres tant de mme poids, (b) d'une moyenne pondre 8/4/2/1 ? 512/64/8/1 ? 4/3/2/1 ?
4.9.11 Deux groupes reprsentatifs de deux populations ont donn leur ordre de prfrence pour des missions de tlvision. Le groupe A prfre (par ordre dcroissant) a, b, c, d, e, f, g, h ; le groupe B prfre, par ordre dcroissant, a, d, e, f,
b, c, h, g.
En dduire l'ordre partiel compatible avec ces 2 ordres totaux. Peut-on ou non le considrer comme plus objectif que les ordres de prfrence des groupes A et B ?
4.9.12 On souhaite classer les pays ayant particip aux Jeux Olympiques, sachant que chacun d'eux a remport k mdailles d'or, 1 mdailles d'argent m mdailles de bronze. Peut-on btir un classement partir d'un ordre unanime sur les triplets (k, 1, m) ? partir d'un ordre lexicographique (si oui, lequel ?). On affecte maintenant 3 poids K, L, M aux trois nombres de mdailles, et on classe les pays d'aprs leur score K-k + L-l + M-m. Un classement raisonnable suppose-t-il K LM0?K>L>M> Montrer que, ds que M>0, on obtient le mme rsultat avec (K, L, M) et (K/M, L/M, 1). A quelle(s) condition(s) sur K, L, M retrouve-t-on l'ordre lexicographique ?
Relever les proprits qui s'excluent. Donner les principes du temps tel que vous le voyez, et les proprits de la relation R associe. 4.10.1 Extension de la rcurrence Si une proprit P est vraie pour tous les nombres premiers, montrer que P est vrai dans tout N si "x, y N (P(x)P(y)P(x y) A-t-on aussi le droit de dire que P est vrai dans tout N partir de "x, y N (P(x)P(y))P(pcm(x,y)) ? 4.10.2 Thorie(s) des passoires Evaluer et comparer les thories suivantes. THORIE 1. Les passoires sont des ustensiles ayant en gnral un grand nombre de trous ; de fait, si je considre une passoire, et que je double son nombre de trous, j'ai encore une passoire ; et si je divise son nombre de trous par deux, j'ai aussi une passoire ; d'o : PROPOSITION. Une passoire est un ustensile ayant en gnral un grand nombre de trous, ce nombre de trous n'ayant pas d'importance particulire (Pr Shadoko, in Jacques Rouxel, Les Shadoks, Edition Circonflexe, 1994). THORIE 2. Les passoires sont des ustensiles ayant un certain nombre de trous ; de fait, ce nombre de trous sert les ordonner, des moins troues aux plus troues. Rcemment, quelques auteurs ont pos la question d'assimiler les casseroles des passoires 0 trou, mais on peut lgitimement se demander si ce genre de contorsions est utile au progrs des sciences. THORIE 3. Les passoires sont des ustensiles ayant un certain nombre de trous ; de fait, on pose p -: q (lire p pas plus trou que q) si le nombre de trous de la passoire p n'excde pas celui de q. La relation -: est ainsi un prordre large et total sur l'ensemble P des passoires. On notera Pk la classe d'quivalence regroupant les passoires k trous. Les passoires au sens strict supposent k > 0 : dans ce cadre, la classe minimale ou classe des passoires les moins troues est alors la classe P1 dite classe des entonnoirs. Dans le cadre plus gnral de la thorie des ustensiles, on peut admettre que P est minor par une classe P0 de passoires au sens large, ou passoires 0 trou, usuellement appeles casseroles. Envisager un prolongement de la thorie des passoires aux tamis et axa. filtres. 4.10.3 Thorie de la modlisation On considre un systme rel S, et la famille M = {M,} des modles btis par le ou les observateur(s) partir des observations & connaissances son sujet. Soit une situation dfinie par le couple E = (situation interne, tat de l'environnement). On appelle R(E) l'ensemble des consquences observes si S est mis dans l'tat E, et Pi(E) les consquences prvues selon le modle M, avec la mme situation initiale. On dfinit le domaine de validit de M, par : dom(Mi)={ER(E) i P i (E)} o i dsigne une relation d'quivalence attache au modle.
94
Fondements
Montrer que MiMj (dom(Mi) dom(Mj) A (i j )) dfinit un prordre (large) de validit entre modles partir de l'inclusion entre leurs domaines, de la finesse entre leurs quivalences. Soit k(m) un indice de complexit du modle m. Montrer que Mi << M j MiMj k(Mi) k(Mj) constitue un prordre(large) de pertinence. Application. Expliquer, par exemple, en matire d'astronomie, le passage du modle de Ptolme au modle de Newton. Peut-on avoir pour un systme un modle parfait ?
4.11 LECTURES
AHO A., ULLMAN J., Concepts fondamentaux de l'informatique, chap. VIII et IX, Dunod, 1993. ARROWK.J., Social Choice and Individual Values. Wiley, New York, 1951, 1963... trad : Choix collectif et Prfrences individuelles, Calmann-Lvy, 1974. FAURE R., HEURGON E., Structures ordonnes et algbres de Boole, Coll. Programmation, Ed. Gauthier-Villars, 1971. FAURE R., LEMAIRE J., Mathmatiques pour l'informaticien, tome I, chap. II, Coll. Programmation, Ed. Gauthier-Villars, 1973. FEJER P.A., SIMOVICI D.A., Mathematical Foundations ofComputerScience, vol. I, chap. II & III, Coll. Texts and Monographs on Computer Science, Springer Verlag, 1991. KAUFMANN A., BOULAYE G., Thorie des treillis en vue des applications, chap. I, Ed. Masson, 1978. REINHARDT R. & SOEDER H., Atlas des mathmatiques, chap. 2 et 3, La Pochothque, Librairie Gnrale Franaise, 1997. SCHRLIG A., Dcider sur plusieurs critres. Coll. Diriger l'Entreprise, Presses polytechniques et universitaires romandes, 1985/1990. Collectif, Petite encyclopdie des mathmatiques, chap. XIV, Edition Pagoulatos, Didier distr., 1980.
CHAPITRE 5
[The Analytical Engine is limited to] whatever we know about how to order it to perform. Ada Lovelace, d'aprs Charles Babbage (~]835)
Les aimes 1940 ont introduit des machines programmables - les futurs ordinateurs - semblant permettre d'effectuer tous calculs sur des entiers, et notamment des calculs paramtrables tablissant la valeur de fonctions. De l, un codage prs , on pouvait mener des calculs arbitraires, menant des fonctions de toutes sortes. Cependant, ds les annes 1930, quelques chercheurs s'taient occups d'identifier scientifiquement ce qui serait calculable, effectivement ou potentiellement, et ce qui ne le serait pas. Ce chapitre donne des indications sur une tripartition des fonctions au sens le plus gnral en fonctions arithmtiques directement calculables, autres fonctions calculables un codage prs , autres fonctions, conceptuellement dfinies sans tre calculables. Informatique et mathmatiques partagent les deux premires classes, tandis que la dernire montre les limites mathmatiques de l'informatique. 5.1 CALCULABILIT, DCIDABILIT
DFINITIONS
5.1 - Une fonction sera dite calculable s'il existe un moyen ou procd dterministe permettant d'tablir sa valeur pour n'importe quel argument en une dure finie - ou, plus gnralement, l'aide de ressources finies1. De mme, une fonction pourra tre partiellement calculable voire non calculable. 5.2 - On appellera prdicat une fonction valeur dans {0, 1} servant trancher une question. 5.3 - Une question sera dite dcidable si le prdicat associ est calculable : alors, il existe un moyen ou procd dterministe permettant d'tablir la rponse par oui ou non, pour n'importe quel argument en une dure finie - ou, plus gnralement, l'aide de ressources finies.
C'est une version forte ; une version faible se contenterait d'un procd ayant un nombre fini d'tapes, ce qui revient au mme si chacune de ses tapes est elle-mme finie.
96
Fondements
5.4 - Une question sera dite semi-dcidable s'il existe un moyen ou procd dterministe permettant d'tablir une rponse oui (resp. une rponse non) pour n'importe quel argument en une dure finie - ou, plus gnralement, l'aide de ressources finies ; autrement dit si le prdicat associ est partiellement calculable. REMARQUE. Typiquement, la squence 327 appartient-elle l'criture dcimale d'un nombre transcendant tel que e ? On peut engendrer les n premires dcimales de e, et voir facilement, dans un temps fonction d en,si 327 appartient cette squence. Une rponse affirmative cette question est une rponse affirmative la premire. Par contre, une rponse ngative sur les n premiers chiffres suggre simplement de pousser les tests audel du nime chiffre. L'appartenance de 327 l'criture dcimale d'un nombre transcendant tel que e peut tre considre comme typiquement semi-dcidable : si, un moment donn, oui n'est pas atteint, il faut poursuivre pour savoir si oui ou non. Si bien que non ne peut tre atteint en une dure finie.
97
Ces rgles peuvent tre rassembles dans un tableau R, raison d'une ligne par tat i, une colonne par symbole s ; la rgle ci-dessus se code par R[i,s]=(s',i',m) Similaire aux automates tats finis du chapitre 16, la possibilit pour la machine de Turing d'utiliser le ruban comme mmoire auxiliaire la rend incomparablement plus puissante. EXEMPLE. On considre une machine de Turing M, dont le ruban comporte deux suites de lettres termines par un #. On suppose la tte de lecture en T, et la machine dans l'tat 0. Avec quels tats et quelles rgles la machine M peut-elle dcider si les deux suites sont identiques ? On emploie une mthode destructrice : la comparaison de baobab# baba# est ramene celle de aobab# aba#, puis celle de obab# ba#, diffrentes puisque ob ; la comparaison de boa# boabdil# est de mme ramene celle de # bdil#, diffrentes puisqu'une suite est vide avant l'autre. L'identit est obtenue s'il reste comparer # #. Tableau 5.1 Suite d'tats du ruban pour M. T b a
0
b a
0
b a
0
b a a
0
b a b # b # b a b
0
b a b # b a a # b a b
0
b a b # b a b b a # b a b
0
b b a b # b a b a a b a # b a b a a b #
su itel a 0 0 b b a a b a b b # # b b a a b b a a # # # a # b a a b a # b a b b # # b # #
b a b # # b a b a #
a b # b a b a #
b # b b a b a #
# b a a b a # b a b b a #
b a b a a #
suite2 a b b a a # # #
ci ^i
# a b a #
# a b a
a a
0
a
0
b a
b b a b
# a # #
phase 0 suite! a?
a b
Affectons l'tat 0 au dfilement du ruban vers la gauche, la recherche du premier symbole de suite 1 ; ce dfilement se poursuit tant que la tte T voit un blanc (not A par la suite). Au premier symbole (b) de la suite 1, M passe dans un tat (b) mmorisant la lettre, et l'efface (baobab# devient aobab#). M fait dfiler le ruban en restant dans cet tat
98
Fondements jusqu'au #, puis passe alors dans l'tat destructeur associ (b B), qui reste stable tant qu'il voit un caractre blanc. M aborde ensuite la deuxime suite. - Si M est dans l'tat # et trouve #, les deux suites taient identiques (tat 98). - Si M est dans un autre tat X (resp. B) et trouve une lettre x compatible (resp. b), il l'efface, (baba# devient aba#) passe dans un tat 1 de recherche de la premire suite, puis au # intercalaire, passe dans un tat 2 de recherche de la tte : la suite 1 dpasse (D) le remet dans l'tat 0. On compare maintenant aobab# aba#... - Si M est dans un tat X et trouve une lettre ou un # non compatible, les deux suites n'taient pas identiques (tat 99).
Tableau 5.2 Table de transition de M ; cas stables (tant que) en gras. tats A recherche dbut suite 1 droite 0 retour vers suite 1 1 0,,g l,,d 0,,g
(0
# # 2,,d
(0
a. D, g b,D,g
(0 (0
recherche tte suite 1 gauche 2 a trouv en tte de suite 1 b trouv en tte de suite 1 a b
A,,g B,,g
A B
A,,g B,,g
l,A,d 99,,
99,,g l,A,d
99,,g 99,,
99,, 99,,
# 98 99
w
#,,g
98,, 98,,
99,,g w,,g
99,,g w,,g
99,,g w,,g
99,,g w,,g
99,, w,,g
5.2.3 Fonctions lmentaires DFINITION 5.5 - Une fonction lmentaire a pour dfinition : soit une constante, comme pour les traditionnelles fonctions zro, de dfinition : zroD : D0, o D est un domaine quelconque ; soit un des arguments de la fonction : on appelle parfois projection les fonctions Ikn (x1, ... Xn) xk, (o kn), telles que tte: (x1,, x 2 , x3} x 1 ; soit la fonction successeur, dfinie par succ(n) = n + 1.
5.2.4 Fonctions composes On tend la notion de composition de fonction : f o g : x f(g(x)) aux cas tels que : k(xl,x2,x3) = r(f(xl, x2, x3), g(xl, x2, x3), h(xl, x2, x3)). C'est le cas des fonctions dfinies par une expression ou formule : h(xl, x2, x3) (xl-x2 + xl-x3), qu'on peut assimiler : h(xl, x2, x3) add(mult(xl, x2), mult(x2, x3)) (chap. 12, partie Algbre), ou h(xl, x2, x3) add(multl2(xl, x2, x3), mult23(xl, x2, x3)). C'est aussi le cas de fonctions arbitraires, mises en correspondance avec des fonctions de NN par des fonctions de codage/ reprsentation rx : XN et des fonctions de dcodage/ interprtation iy : NY : g : X Y est ralise par f si g = i yofor x(fig.5.1) 5.2.5 Conditionnelle de McCarthy DFINITION 5.6 - On appelle expression conditionnelle2 une expression formellement note : { clel ; c2 e2; ... ; cn e n } qui se lit si c1 alors e1 sinon si c2 alors e2 sinon...sinon si cn alors en o les ci sont des conditions, les ei des expressions. NOTES On supposera en gnral {c1c2 ... cn} vraie pour que l'expression soit totalement dfinie. On supposera les conditions disjointes 2 2 si on veut garantir l'unicit de dfinition, et aussi que les branches ck ek, supposes en nombre fini, sont permutables. 5.2.6 Fonctions domaine fini PROPOSITION 5.1 -Toute fonction dfinissable totalement par une table (tab. 5.1) peut tre dfinie par une conditionnelle de MacCarthy un seul niveau : f(x) {x = A P ; x = B Q ; x = C R ; x = D S } n'utilisant que des tests d'identit comme prconditions, et des constantes comme valeurs. Le dernier cas tant rsiduel, il peut tre indiffrent d'crire : f(x){x=AP;x=BQ;x=CR;S} voire f(x) {x=AP ; x = B Q ; x = C R ; S} si festtotalement dfinie ( $x {A,B,C,D} ) : tableau 5.3. Tableau 5.3 Argument Valeur
A p
X N
g, g
Y
,f
B p D
Q p S
Concept introduit en 1959 par John McCarthy dans son langage LISP, et survivant en C, en Scheme.
5.2.7 Evaluation partielle Au-del d'un argument, on peut dfinir de mme une fonction en partant de ses valuations partielles relatives un argument domaine fini, en posant par exemple : f(x,y) {x=a fa(x) ; x = b fb(y); x = c fc(y) ; x = df d (y)}
5.2.8 Fonctions conditionnelle gnrale Considrons des dfinitions conditionnelles gnrales telles que :
Fentre(x, y, z) = { x<y y ; x>z z ; x) Sel(n,f,g,h,x) = {n = 0 f(x), n = 1 g(x), n = 2 h(x)}
PROPOSITION 5.2 - On ne sort pas du domaine des fonctions calculables si une fonction est dfinie par une conditionnelle renvoyant des conditions dcidables et des expressions calculables. En particulier, on peut vrifier par rcurrence que ce sera le cas si, partant d'une famille initiale fo, ... f i de fonctions domaine fini, dfinies comme ci-dessus, on l'tend une suite {fj } de fonctions qui restent toutes calculables du seul fait que leurs conditionnelles n 'utilisent que les fonctions qui les prcdent. Par contre, considrons la fonction non traable dfinie par Dirichlet en 1828: f(x : rel) {estRationnel(x) 1 ; 0} Cette fonction n'est pas calculable car le prdicat estRation el(x)qu'elle reproduit n'est pas dcidable. Considrons le cas d'un rel reprsent en numration de position en base B. S'il est entier, une puissance de la base prs, sa reprsentation est finie. Si c'est un autre rationnel, un nombre algbrique, un nombre transcendant, sa reprsentation est infime. Ce qui distingue les rationnels est le fait que leur reprsentation est alors forme d'une suite de chiffres quelconque, suivie d'une suite de chiffres infinie priodique. Mais s'il faut tester cette reprsentation : en commenant par le dbut, on ne peut dterminer o se trouve l'ventuelle transition entre les deux suites, l'apparition d'un motif priodique pouvant tre un leurre local ; la reprsentation tant infinie, il est dur de commencer par la fin ! De fait, l'informatique reprsente (approximativement) les rels par des rationnels, rendant estRationnel(x) indcidable partir des reprsentations.
5.2.9 Dfinition rcursive DFINITION 5.7 - On parlera de composition rcursive si une fonction peut s'utiliser elle-mme dans sa dfinition, directement ou par l'intermdiaire d'autres fonctions. Ce qui revient dire que toute fonction f i est habilite utiliser dans sa dfinition les fonctions f 0 , disons, fi+20. Cette circularit de dfinition est-elle malfique ou bnfique ?
101
Le terme de rcurrence sera gard pour les raisonnements, et celui de rcursivit pour les dfinitions de fonction : la rcurrence - usant d'une ou deux rgles d'infrence - servira juger des proprits des rcursivits.
EXEMPLES Soit la fonction : fact(n) {n = 0 1 ; n-fact(n - 1 )}. Si cette fonction reoit - 1, cela provoque des appels pour - 2, - 3... sans aucune limite (divergence abyssale). Soit la fonction fib(n) {n=0n=ln;fib(n - 1 ) + fib(n - 2)} Essayons de l'acclrer : fib(n - 1) = fib(n - 2) + fib(n - 3) ; posons : fib(n) {n=0n=ln;2-fib(n - 2) + fib(n - 3)} Dans cette nouvelle formulation, fib(2) engendrera des appels successifs fib(- 1), fib(- 4)... ne pouvant mener la plage d'arrt, d'o divergence ; fib(3) converge, mais au-dessus la divergence rapparat : fib(4) et fib(5) emploient fib(2), fib(6) et fib(7) emploient fib(4)... La plage d'arrt devient passoire. Pour viter ces vasions, il faut boucher le trou et crire : fib(n) {n=0,n=l 2l;2-fib(n - 2) + fib(n - 3)} Soit la fonction f(n) {n 0 0 ; 1 + f(n/2)}. Pour n>0, on atteint f(l) dont l'valuation f(1) = 1 + f(1) = 1 + (1 + f(l)) = 1 + ( l + ( l + f ( l ) ) ) . . . diverge. Par contre, la fonction f(n) = {n0 0 ; 1 + f(n/2)} converge sans problme : f ( l ) = l +f(0) = 1. 5.3.3 Stationnarit DFINITION 5.10 - Une dfinition rcursive sera dite stationnaire (resp. circulaire) si elle engendre une situation (resp. un cycle) se reproduisant indfiniment. Il est clair : qu'il n'y a pas divergence ; qu'il n'y a pas arrt, en ce sens que la situation atteinte (resp. le cycle atteint) chappe(nt) la plage d'arrt ; plus qu'un comportement explosif, il y a donc lieu de craindre un interminable silence ! EXEMPLES silence(n) == {n = 0 0 ; silence(n)} bascule(n) = {n = 0 0 ; bascule(- n)}
En termes de programmation, le seul espoir est qu'il n'y ait pas d'optimisation, et que la pile d'valuation consente dborder (en pratique, la divergence est parfois perue comme un moindre mal, car rvlatrice d'un problme). 5.3.4 Calculabilit, semi-calculabilit DFINITION 5.11 - Sera dite calculable toute fonction dont l'valuation russit en un temps fini pour chaque jeu d'arguments. PROPOSITION 5.3 - Seront calculables : les fonctions lmentaires,
103
les expressions conditionnelles dont les conditions c sont dcidables, et les expressions e attaches calculables, les fonctions non rcursives n'utilisant que des fonctions calculables, les fonctions rcursives convergentes sur la totalit de leur domaine.
Une fonction semi-calculable pourra tre stationnaire ou divergente pour certaines valeurs pour lesquelles elle n'est pas dfinie. En pratique, on prfrera une dfinition calculable, mettant un symbole dfini (par exemple (a) en cas d'erreur4 (fonctions blindes ), ce qui signifie que les situations errones sont matrises. Comparons : f a c t N ( n ) : N N{n=0l; factN(n- l)-n } calculable, rcursive convergente sur tout N\ factZ0(n) : Z N{n=0l;factZ0(n - l)-n} divergente pour n<0 ; factZl(n) : TL N{w} { n<0 w ; n = 0 1 ; factZl(n - l)-n} blinde. Pour factZl le diagnostic de non-dfinition est immdiat. Dans factZ0, dconseiller, ce qui en tient lieu c'est une divergence en thorie illimite, dont l'excution serait en pratique bloque par une erreur-systme pas forcment rcuprable.
5.4.2 Ensembles rcursifs DFINITION 5.13 - Les ensembles rcursifs sont des ensembles rcursivement numrables, et pour lesquels l'appartenance est dcidable. Il est crucial qu'un langage - considr comme l'ensemble de ses productions soit rcursif, pour pouvoir dcider si une phrase ou squence donne lui appartient ou non - dans le cas positif, on esprera en sous-produit une analyse de la phrase teste.
A rapprocher du symbole NaN (Not a Numeric value) pour les virgules flottantes (norme IEEE754).
104
Fondements
xS
xZ,yZ xZ,yZ
- x2,x+(-x)=0
x + y Z x - y = x + ( - y )
TL constitue un symtris de N pour l'addition. C'est le plus petit ensemble permettant de toujours rpondre positivement la question si x et y sont dans N, existe-t-il toujours un z (not x - y ) tel que x = y
+ z ? .
105
De plus, si x et y sont dans Z, il existe toujours dans Z un z not x - y tel que x = y + z . Toute arithmtique sur Z peut se ramener une arithmtique sur N, l'aide de la bijection dfinie par 2 n - lN- nZ ,2 nNnZde N Z et par n e Z( n0)2n ; 2|n| - 1) d e ZN 5.5.3 Ensembles F des fractions & Q des rationnels Soient x et y de N ; x y est toujours dfini, mais existe-t-il toujours un z de N tel que x = y z ? Rarement ! Introduisons de nouveaux objets dits fractions, nots x / y (5), et tels que : (x/y) y = x pour y 0. Soit F ={x/y x N, y N} leur ensemble. En posant x = x/1 et l/(x /y) = y/x, le nouvel ensemble F est stable pour l'addition, la multiplication et la division. Il est galement stable pour la soustraction si on l'tend aux fractions ngatives, reprsentes par des couples de Z N. Par construction, IF correspond bijectivement N2, et diverses techniques de numrotation permettent d'affirmer que N2 et N peuvent aussi tre mis en bijection : donc, toute arithmtique sur F peut se ramener une arithmtique sur N. Cependant, on sait depuis longtemps que 1/2 = 2/4 = 3/6 ... et qu'ainsi un grand nombre de couples ou fractions sont quivalents. Soit m 0, p, q 0 3 entiers : on a p/q = (m-p)/(m-q). Posons p/q = red((m-p)/(m-q)) ; nous dirons p/q rduite de (m-p)/(m-q). Une rduite p/q est irrductible si p et q sont premiers entre eux : on ne peut plus alors faire surgir de facteur commun m permettant une nouvelle rduction, et l'on notera alors (p/q) = red*(m-p/(m-q)). L'ensemble Q des rationnels se prsente comme l'ensemble des classes d'quivalence sur F. Concrtement, il regroupe les reprsentants ncessaires et suffisants des classes de F, savoir les fractions irrductibles. Ainsi, tous les 0/x de IF (avec x 0) correspond le 0 de Q. A tous les x/(p-x) (x 0, p 0) correspondent les quantimes 1/p de Q. En tendant Q aux fractions ngatives, on peut finalement montrer que ( est stable pour l'addition, la multiplication, la soustraction et la division. Q supporte enfin un ordre total <, quotient du prordre < sur F. Q tant un sous-ensemble de F, une arithmtique sur Q se prsentera en gnral comme une arithmtique sur IF grant des donnes et des rsultats normaliss au sens de la rduction ci-dessus. Ainsi, addF (x/y, z/t) = (x.t + y.z)/(y.t) o x/y et z/t ne sont pas forcment rduites, tandis que addQ (x/y, z/t) = red*((x.t + y.z)/(y.t)) = red*(addF(x/y, z/t)) o x/y et z/t sont elles-mmes irrductibles. 5.5.4 Ensemble R des rels Les suites valeurs dans Q n'ont pas forcment leur limite dans Q !
/ sera considr comme un constructeur de fraction ; par contre, : dsignera la division entire comme opration ; ainsi, numrateur(6/3) = 6 et dnominateur(6/3) = 3, tandis que 6 : 3 = 2 .
106
Fondements
En effet, posons X0 = 1, et Xn = 1/2 (xn-1 + 2/xn-1) ; X0 est rationnel, et Xn est rationnel ds que xn-1 l'est ; donc tous les Xn sont rationnels. Or limn (Xn) = 2 ne l'est pas, comme l'atteste une dmonstration bimillnaire. On a dcid d'appeler M l'ensemble des lments de Q et des limites des suites constructibles dans Q. R - Q contient essentiellement des nombres dits algbriques et d'autres dits transcendants. On montre qu'il existe toujours un lment de Q aussi proche que l'on veut de tout lment propre R (6), et ceci donnerait bon espoir pour une arithmtique relle calculable. Malheureusement, on a aussi montr que dans [0 1] les lments de Q sont dnombrables, tandis que ceux de R ne le sont pas ( puissance du continu ). De ce fait, les arithmtiques relles peuvent tre plus ou moins bien approximes par des arithmtiques rationnelles spcialises, mais il n'existera pas en informatique de reprsentation parfaite des rels (qui ne seraient pas toujours fmies) ni donc d'arithmtique parfaite pour les rels7. 5.6 EXERCICES
5.6.0
Tout entier naturel est premier s'il n'est divisible par aucun entier naturel strictement compris entre 1 (exclus) et lui-mme (exclus). Etablir : 1. Au-del de 2, tout nombre premier est impair. 2. Tout nombre impair est premier s'il n'est divisible par aucun nombre impair strictement compris entre 2 et lui-mme. 3. Tout entier naturel est premier s'il n'est divisible par aucun nombre premier compris entre 1 (exclus) et lui-mme (exclus). 4. Tout entier naturel est premier s'il n'est divisible par aucun entier naturel compris entre 1 (exclus) et sa racine carre (incluse). 5. Tout entier naturel est premier s'il n'est divisible par aucun entier naturel premier compris entre 1 (exclus) et sa racine carre (incluse). 6. Au-del de 2, tout nombre premier est un nombre impair qui n'est divisible par aucun nombre impair compris entre 3 (inclus) et sa racine carre(incluse). On se demande si 959 est premier. D'aprs chacun des noncs, combien doit-on envisager de faire de tests ?
5.6.1
Expliciter le rle de la fonction quot : N N N dfinie par quot(n, d) = {n<d 0 ; 1 + quot(n - d, d)}.
5.6.2
Expliciter le rle de la fonction mod : N N N dfinie par mod(n, d) = {n<d n ; mod(n - d, d)}.
6 7
Techniquement, Q est dit dense dans R. Les virgules flottantes et les arithmtiques rationnelles constituent en gnral les approximations rationnelles les plus heureuses qu'on sache faire en machine d'arithmtiques relles qui restent impossibles.
5.6.3
Expliciter le rle de la fonction pgcd ; N N N dfinie par pgcd(p, q) {p = q p ; p<q pgcd(q - p, p) ; pgcd(p - q, q)}.
5.6.4
Expliciter le rle de la fonction pgcd : N N N dfinie par pgcd(p, q) {p mod q = 0 q ; q mod p = 0 p ; pgcd(p mod q, q mod p)}.
5.6.5
Expliciter le rle de la fonction YiKing : N N N dfinie par YiKing(k, n ) { k = 0 l ; k = n l ; YiKing(k - 1, n - 1) + YiKing(k - 1, n)}.
5.6.6
Expliciter le rle de la fonction Legendre : N N N dfinie par Legendre (n,k) = { k = 0 l ; n = 0 0 ; k mod 2 = 0 Legendre (n-n, k : 2) ; n-Legendre (n, k - 1)} Dfinir une version tendue Legendre' : R Z R.
5.6.7
On considre une machine de Turing, dont le ruban ne comporte par case qu'un blanc ou un btonnet |.
T
On code un entier n avec n + 1 btonnets conscutifs ; pourquoi ? On suppose la tte de lecture en T, dans l'tat 0 ; montrer qu'on peut effectuer une addition en adjoignant successivement au second groupe chacun des btonnets du premier groupe (sauf le dernier : la machine doit l'effacer puis s'arrter) ; dfmir les tats et les rgles ncessaires cette opration. On suppose la tte de lecture en T ; montrer qu'on peut effectuer une multiplication du premier nombre par le second. Serait-ce plus simple en binaire ? en dcimal ? Une lvation au carr doit-elle utiliser la multiplication ?
5.7 PROBLMES
5.7.0 Expliciter le rle des fonctions : N B dfinies par estPremier(n) inDivisibilite(n, 2) ; inDivisibilite(n, p) {(n : p) < p 1 ; (n mod p) = 0 0 ; inDivisibilite(n, p + 1 + (p mod 2))}. Pourquoi appelle-t-on parfois prdicat ce genre de fonctions ? 5.7.1 Expliciter le rle des fonctions : N N dfinies par : premier(n) {n<4 n ; premier_a_partir_de(prenuer(n - 1) + 2} premier_a_partir_de(n) { estPremier(n) n ; (n mod 2) = 0 premier_a_partir_de(n + 1) ; premier_a_partir_de(n + 2 )}.
En supposant que dans N , ensemble des listes non vides d'entiers on a : <f > & <g, h> <f, g, h>, expliciter le comportement des fonctions valeur dans N qui sont dfinies par : dcomposition(n) liste_facteurs(n, 2) ; liste_facteurs(n, f) { n < f . f< n > ; (n mod f ) = 0 < f > & liste_facteurs(n : f, f) ; liste_facteurs(n, f + 1)
}
Etablir les valeurs de dcomposition (11), dcomposition (12), dcomposition (92), dcomposition (120).
5.7.3
On sait que red*((x/y)) (x : pgcd(x,y) / y : pgcd(x,y)). Vrifier, sur des fractions telles que 36/1024, ou 27720/210 si on obtient le mme rsultat avec le systme : rduite (x, y) reduire(x, y, 2) ; reduire(p, q, f) {p<f (p/q) ; q<f (p/q) ; (p mod f ) =0(qmod f) = 0 reduire(p : f, q : f, f) ; reduire(p, q, f + 1) }
5.7.4
Vrifier la convergence de la fonction f 9 1:ZNdfinie par : f91(n) { n < 0 f91(n + 17) ; n >3 f 91 (n- 5) ; 91}. 5.8 PISTES DE RFLEXION 5.8.0 Arithmtique des polynmes coefficients entiers. 5.8.1 Arithmtique en base B, o un (grand) entier n est exprim par une suite d'entiers borns par B, jouant le rle de chiffres dans la base B. (ex : B = 60, B=1000,B=65536...).
5.8.2
Reprer des images rcursives dans la publicit, la tlvision. Connexion avec les fractals ? Connexion avec les L-systmes8 ? Application la reprsentation des plantes, des coquillages.. .(cf. PRUSINKIEWICZ).
5.8.3
Rcursivit et structures hypotaxiques en linguistique (cf. TESNIRE, Elments de Syntaxe Structurale. Editions Klincksieck, Paris, 1959-1988).
Systmes dynamiques modliss par des grammaires, proposes ds 1968 par Aristid Lindenmayer.
5.9 LECTURES BENZAKEN C., Systme formels, introduction la logique et la thorie des langages, chap. 5, Masson, 1991. GROSS M., LENTIN A., Notions sur les grammaires formelles, chap. 4 et 5, GauthierVillars, 1967. PRUSINKIEWICZ P., HANAN J., Lindenmayer Systems, Fractals, and Plants, coll. Lecture notes in biomathematics, vol. 79, Springer Verlag 1989/92 (et la suite des Th algorithmic beauty of... ). RE[NHARDT F. & SOEDER H., Atlas des mathmatiques, chap. 4, La Pochothque, Librairie Gnrale Franaise, 1997. V L UJ.,Mthodes mathmatiques pour l'informatique, chap. xiv, Dunod, 1994. VOROBIEV N., Caractres de divisibilit ; suite de Fibonacci, Collection Initiations aux Mathmatiques , Editions de Moscou, 1973. Collectif, Petite encyclopdie des mathmatiques, sections 1.4, 14.5, 15.4, 31, Edition Pagoulatos, Didier distr., 1980. Voir aussi des sites comme http://plato.stanford.edu/entries/church-turing.
CHAPITRE 6
NOTION DE COMPLEXITE
En amont de la programmation, on a voulu se doter d'une mesure de complexit pour prvoir l'ordre de grandeur des ressources que l'excution d'un algorithme consommerait. D'un point de vue informatique, il s'agira : en matire de dveloppement, de caractriser une solution avant de la programmer ; en effet, il est peut tre plus urgent de reprendre l'analyse, si la solution s'avre dj trop vorace ; dans le cadre d'une optimisation ou d'une rtro-conception, d'apprcier l'origine de la voracit excessive de telle ou telle partie d'une application existante. Nous abordons le sujet travers l'analyse de la complexit de fonctions. D'un point de vue mathmatique, on adjoindra ainsi au classique critre d'lgance - critre statique gnralement li la concision du texte - un critre d'efficience du processus de calcul correspondant.
112
Fondements
La borne infrieure est atteinte pour les p = 2k et la borne suprieure pour les p = 2 - 1 soit {3, 7, 15...}. La premire fonction est la plus concise, mais cette simplicit se rvle onreuse. Aux faibles valeurs de p, il est difficile de dire quelle est la fonction dont l'valuation est la plus rapide. Par contre, aux valeurs suffisamment leves , nous pouvons recourir la notation de Bachmann (1895) et crire :
k
t ( p ) = O ( p ) , e tt'(p)=O(ld(p)) pour dire que t a un comportement asymptotique linaire, et t' un comportement asymptotique logarithmique. Aussi, ds que p sera suffisamment lev , la seconde fonction calculera les np plus vite que la premire. Si maintenant on s'intresse non au temps mais au nombre de multiplications, il n'y a plus lieu de distinguer les k, k', k"... On aura m(p) = p et 1 + ld(p) m'(p) 1 + 2 ld(p).
Tableau 6.1 Complexit de np.
m(p) = p
1 1
2 2 2 3
3 2 3
3
6 3 4 5
9
4 5
7
10 4 5 7
11 4
12 4 5
7
13
4 6
7
3 3
5
3
4 5
3 5
5
4 4
7
6
7
Adaptons nos fonctions la dfinition des puissances entires de nombres rels, les oprations tant faites avec une prcision relative 8. La fonction e calculera une puissance n-ime avec n multiplications, soit une incertitude relative ne sur le rsultat, tandis que Legendre entranera une erreur relative de l'ordre de 2.1d(n).e au pire. Pour une puissance 100ime, la premire solution mnerait une incertitude de 100e, contre 12e pour la seconde. L'avantage de la seconde solution devient crasant pour les puissances 1000 et plus, supposer qu'on les emploie ! Cet exemple montre bien : qu'on doit pouvoir dfinir diverses mesures de complexit ; que celles-ci donneront souvent des prdictions intressants, ds lors qu'on raisonne sur des valeurs suffisamment grandes des arguments : le comportement asymptotique s'attache aux tendances lourdes extrapolables plutt qu'aux idiosyncrasies des cas lmentaires ; en effet, ces cas sont la fois ngligeables car gnralement peu coteux, et d'apparence irrgulire car les initialisations s'y dgagent mal des traitements gnraux qui dictent les lois tendancielles.
Notion de complexit
113
donnes (nombre, distribution), on peut aussi s'intresser une complexit moyenne . 6.2.2 Evaluation de la dure On note t(p) la complexit en temps du processus p. Oprations de base II s'agira d'oprateurs, d'affectations, d'entres/sorties considres comme atomiques. Leur complexit sera considre comme constante. On utilisera soit 0 pour les oprations ngliges/ngligeables soit 1 pour une opration normale soit une constante symbolique pour les oprations dont on veut tudier l'importance relative. Si accder un lment de range (tableau 1 dimension) doit tre considr comme une opration, on notera que t[i, j, k] est une stnographie de ((t[i])[j])[k], et qu'ainsi un accs une table n dimensions cote n fois l'accs une range, du fait du calcul d'adressage sous-jacent. Invocation de fonction L'valuation des arguments est ventuellement distingue de l'valuation de la squence ou du bloc formant le corps de la fonction t(f(exprl, expr2, expr3)) = t(exprl) + t(expr2) + t(expr3) + t(f(x,y,z) pour x = val(exprl),y = val( expr2 ), z = val(expr3)) Squences et blocs t({il ; i2 ; i3}) = t(il) + t(i2) + t(i3) s'il s'agit uniquement d'une squence d'instructions. t({local varl, var2 ; squence}) = 2-t(varloc) + t(squence) pour un bloc, si on veut expliciter la gestion (cration + libration) de 2 variables locales. Section parallle Au mieux : t(pl // p2 // p3) = max(t(pl), t(p2), t(p3)), pnaliser ventuellement d'une dure d'installation ou de lancement. Conditionnelles t({si cond alors b0 sinon bl}) = t(cond) + (si cond alors t(b0) sinon t(bl)) t(cond) + max(t(b0), t(bl)). t ( { c 0 b 0 ; c l bl; c 2b 2 ; b 3 } ) = t(c0) + (cO t(b0) ; t(cl) + {cl t(bl) ; t(c2) + t({c2 t(b2) ; b3})}) t(c0) + max(t(b0), t(cl) + max(t(bl), t(c2) + max(t(b2) + t(b3)))). Si toutes les conditions se ramnent aux diffrentes valeurs d'un mme slecteur valeur dans un ensemble fini, la dure de slection peut tre unique (slection en rteau ramene un aiguillage par table de branchement) t({seloni:0b01 b l | 2 ... |77 b77 ... | b999}) = t(sel(i)) + max(t(b0), t(bl ),..., t(b77), .... t(b999))
Itrations t{{faire nfois squence} ) = n t(squence) t({pour i = kn faire squence(i)}) = ni=k(t(pour) + t(squence(i)))
(n - k + l)-(t(pour) + maxi(t(squence(i))) t({tantque cond faire squence}) = t(cond) + (cond t( {squence ; tantquecond faire squence} ) ; 0) De toutes faons, il faut valuer la condition ; si elle est vraie, on excute la squence, et on revient la boucle dans un contexte renouvel. Rcursivits L'valuation de la dure mne en gnral une rcurrence calquant la rcursivit de la dfinition, le cot d'un appel de fonction tant souvent considr comme primordial2. 6.2.3 Besoins en mmoire On notera m(p) l'valuation des besoins en mmoire d'un processus p, souvent composites. Les besoins en mmoire statique se combinent additivement3 ; toutefois, les
implantations en recouvrement se combinent par max.
Les besoins en mmoire dynamique ont pour valeur la plus grande somme des besoins relatifs aux blocs et appels de fonction simultanment actifs ; ainsi, les demandes du bloc Bl s'ajoutent celle de BO si Bl est inclus dans BO ; si BO et B 1 sont disjoints, m( {BO ; B 1} ) = max(m(BO), m(B 1 )). De mme, si la fonction f appelle la fonction g, leurs besoins (au sens de leurs articles d'activations et de leurs blocs propres) s'ajoutent ; par contre, si on appelle f, puis g quand festtermine, leurs besoins respectifs se combinent par max. Pour les fonctions rcursives, on doit faire la mme analyse en recherchant le cas de la plus forte demande. Pour les rcursivits directes (f(a) appelle f(b)...) cette demande est gnralement fixe par la profondeur de rcursivit (nombre maximum d'appels simultanment en cours d'une mme fonction). Pour les rcursivits croises ou indirectes, on procdera de mme pas pas : si f(a) appelle g(a) qui appelle h(b) qui appelle f(c), on explicitera les besoins globaux de f(a) en cumulant les besoins locaux de f(a), g(a), h(b) aux besoins globaux de f(c). 6.2.4 Autres cas On adapte les raisonnements ci-dessus - mutatis mutandis.
Pour une fonction k paramtres et n variables locales, un appel cette fonction implique physiquement la gestion d'un article d'activation, cr l'appel et libr au retour, comportant k emplacements pour les paramtres, initialiss par l'valuation des k arguments, plus n emplacements pour les variables locales propres la fonction. Attention : une donne statique n'est pas toujours visible.
Notion de complexit
115
PROPOSITION 6.1 - = O est un prordre sur NN. PREUVE " f, f " f, g, h f = O (f) = O (f) et g = O (h) f= O(h) /rflexivit /transitivit
DFINITION 6.2 - On dira f et g de complexit similaire si on a : f = Q g = f = O(g) g = 0(f) limn f(n) / g(n) = k, avec k, constante non nulle. PROPOSITION 6.2 - = Q est l'quivalence standard attache au prordre = 0 . DFINITION 6.3 - On dira f moins complexe que g si on a : f = o(g) f = 0(g) (g = 0(f)) limn f(n) / g(n) = 0 PROPOSITION 6.3 - = o est le prordre strict attach au prordre large = O .
Ces classes seront ordonnes ainsi : classe 1, classe log, polynmes et posynmes dans l'ordre croissant de leurs degrs, classes exponentielles dans l'ordre de leurs bases.... puis les exponentielles de polynmes...
116
Fondements REMARQUE. Cette classification est base sur le comportement asymptotique des rapports de complexit. Ainsi, un comportement en 375x7 (de la classe x7) sera dit strictement moins complexe qu'un comportement en 0,000001 x8 (de la classe x8), et l'on notera, s'il y a lieu, 375x7= o(0,000001x8), car x7 = o(x8). Les apparences contraires voudront simplement dire que les valeurs de x suffisamment grandes pour que ce soit vrai, devront tre particulirement leves (par exemple x >l09 ).
6.4.2 Utilisation Cette classification permet d'valuer simplement certains cas de figure ; par exemple, en matire de temps d'excution, les dures logarithmiques ou linaires sont recherches, les dures polynomiales plus ou moins acceptables, les dures exponentielles considres comme non praticables. Cela facilite la comparaison de diverses heuristiques s'adressant au mme problme, pour choisir celle adopter ou celles mritant d'tre testes. Avec une approche multicritre utilisant diverses mesures de complexit, relatives la dure, la mmoire centrale ncessaires, l'ampleur des fichiers temporaires, et aussi des mesures de qualit telles que la prcision, le choix ne sera peut tre pas totalement tranch, mais permettra au moins d'liminer les mthodes les moins dfendables, au profit de celles ayant des avantages marqus. 6.4.3 Autres cas On peut tomber sur des cas renvoyant des classes moins / peu connues, et dont on ne connat pas le classement a priori. Les raisonnements classiques sur les comportements asymptotiques s'appliquent. EXEMPLES Le rectorat demande de trier d'urgence les dossiers de myriades de candidats bacheliers ; vaut-il mieux le tri A, en n-ld(n), ou le tri B, en n1,235 ? Le problme revient comparer ld(n) n0,235 . Classiquement, on considre que toute fonction logarithmique de n croit (asymptotiquement) moins vite que toute puissance positive de n. Donc le tri A devrait tre moins monstrueux que le tri B (et si ce n'est pas encore vrai pour 60.000, a le sera pour 300.000 !). Mon problme de combinatoire me ramne 3 mthodes, la mthode A en n!, la mthode B en nn, la mthode B en 2n^2. Avec laquelle continuer ? - n ! (n/e)n (2pn)l/2, par suite (n !/nn) e-n (2pn)l/2 0 quand n crot, et n! = o(nn ) : A est strictement moins complexe que B ; - ld(nn)= n-ld(n), et ld(2n) = n2 ; ld(n) = o(n), n-ld(n) = o(n2) et a fortiori nn = o(2n). B est signifcativement moins complexe que C. Je prends donc A.
Quand n crot, A est asymptotiquement le moins vorace. Et pour n = 10, je choisis une complexit de 3,6-106 contre 1010 (B) et 2100 = 1,27-K)30 (C) ; mais ces nombres sont dj normes, et je dois rester prudent : pour n = 20 puis n = 30 la situation s'aggrave rapidement, car 1 jour = 10 4'94 secondesfaitque
:
Notion de complexit
117
n2 25 100
nn 3125 1010
5 10
20 400
1,05-1026 2,6-10120
30 900 27000
0 (6.3)
(6.1 (6.2)
(6.3) admet comme racines k = (5 1)/2 ; la rcurrence ayant visiblement comme solution toute combinaison linaire de ses solutions de base, il y a lieu de supposer que : fib(n) = a1.k1n + a2-k2n, o k1 et k2 sont les deux solutions trouves pour k. Les valeurs initiales imposent finalement : fib(n)= {0/5+1)/2}n-{(5-1)/2}n et le joli paradoxe d'une fonction entire diffrence de deux termes irrationnels. Le second terme est rapidement ngligeable, et fib(n) 1,618n, soit grosso modo
0,48 In
118
Fondements
6.5.2 Complexit / dure de calcul Que coterait en temps l'valuation directe de f i b ( n ) = { n = 00;n=ll; fib(n- 1) + fib(n-2)} ? Supposons que la dure soit essentiellement due aux appels de fonction ; leur nombre a(n) est rgi par : a(n) = {n = 0 1 ; n = l 1 ; a(n-1) + a(n-2) + 1}. Pour liminer le terme constant de la rcurrence, on pose a(n) = b(n) + k d'o b(n)+k=b(n-l)+k+b(n-2)+k+l. k s'limine pour k = 2k + 1, satisfait pour k = 1, d'o a(n) = b(n) -1 b(n)= b ( n - l ) + b ( n - 2 ) (6.4) (6.5)
La suite a = {1, 1, 3, 5, 9, 15, 25...} renvoie une suite b = {2, 2, 6, 10, 16, 26...}, du type fb(n) d'aprs la rcurrence (6.5). Effectivement, b(n) = 2-fib(n + 1) d'o a(n) = 2-fib(n + 1) - 1 3,23 fib(n) ou l,62-a(n- 1) et la dure de calcul, proportionnelle au rsultat, est une fonction exponentielle de l'argument, ce qui doit la faire considrer comme dsastreuse5. Cependant, cette valeur se comprend bien, si on voit l'valuation comme le dveloppement d'une arborescence (fig. 6.1) dont chaque nud, y compris la racine, serait porteur d'un + , dont chaque feuille porterait soit un 0 soit un 1. Le nombre de feuilles 1 est prcisment le rsultat, le nombre de feuilles 0 et le nombre de nuds tant similaires...
6.5.3 Complexit / taille mmoire L'valuation tudie est-elle aussi vorace en mmoire ? Techniquement, quelle est la profondeur maximale de la rcursivit (i.e. le nombre de fib() simultanment en cours d'valuation) ? La rponse nous est donne par la longueur maximale d'un chemin actif dans l'arbre d'valuation voqu. Au pire, fib(n) commence valuer fib(n - 1), et son sujet fib(n - 2), fib(n - 3) ... et enfin fib(l), soit au plus n valuations simultanes. La mmoire ncessaire pour valuer ainsi fib(n) varie au plus en n (fig 6.1).
C'est pourquoi le calcul de fib(20) selon cette formulation fut longtemps l'talon de vitesse, facilement observable, des langages comme lisp ou scheme.
6.5.4 Premires variantes En qute d'acclration, nous notons que fib(n) = fb(n - 1) + fib(n - 2) fait qu'en gnral fib(n - 1) = fib(n - 2) + fib(n - 3), d'o en remplaant fib(n - 1), la formule de rcurrence additive : fib(n) = 2-fib(n - 2) + fib(n - 3) en remplaant fib(n - 2), la formule de rcurrence soustractive : fib(n) = 2-fib(n - 1) - fib(n - 3) Le procd est itrable, si bien que nous pouvons envisager le cas fib(n) = s(fib(n - k), fib(n - m)) o fib(n) est somme pondre de fib(n - k) et fib(n - m), avec k<m<n. La formulation fib(n) {n=0;n=l ;2-fib(n- 2) + fib(n- 3)} serait divergente ; nous retiendrons donc une formulation modifie, convergente sur N: fib(n) {n<3 {n = 0 0 ; 1} ; 2-fib(n - 2) + fib(n - 3)} De faon gnrale, pour une rcurrence fib(n) = s(fib(n - k),fib(n - m)), la plage d'arrt devrait comprendre au moins m valeurs initiales conscutives. Supposons la somme pondre de cot ngligeable devant les appels de fonction. Le schma gnral : fib(n) {initial(n) valeurs prdfinies ; s(f(n - k), f(n - m))} mne un nombre d'appels : a(n) = {initial(n) 1 ; 1 + a(n - k) + a(n - m)} Posant a(n) = b-rn + c, on obtient la rcurrence : b-rn + c = (brn-k+ c)+ (brn-m+ c) + 1, dont c s'limine facilement en prenant c = 2-c + 1 soit c = - 1.
120
Fondements
Par exemple, l'expression fib(n) = 2-fib(n - 2) + fib(n - 3) fib(n)=2-fib(n-l)-fib(n-3) fib(n) = 3-fib(n - 3) + 2-fib(n - 4)
mne r3 = r2 +1, r
3=
r+l,
r4 = r + 1,
La dure ncessaire, toujours croissance exponentielle, est significativement plus courte, de la formulation initiale (r = 1,618) au schma soustractif (r = 1,4656) puis aux deux schmas additifs. Pour la mmoire, on raisonne comme prcdemment : au pire, fib(n) appelle fib(n - k), fb(n - 2k) ... pour finir sur la plage d'arrt : pour n donn, il y a donc jusqu' n/k valuations simultanment en cours. Ainsi, l'valuation de la fonction fib fonde sur une rcurrence fib(n) = s(fib(n - k), fib(n - m)), o k<m,
reste de dure exponentielle, mais s'acclre pour des schmas plus labors rechercher k et m levs suppose au moins m valeurs initiales occupe en pointe une mmoire en n/k. rechercher m (>k) faible rechercher k (<m) lev
Les meilleures formulations seraient fournies avec la relation m = k + 1 des schmas additifs. 6.5.5 Linarisation de la dure d'valuation Ce qui fait le caractre exponentiel des formulations de fib rencontres jusqu'ici, c'est l'aspect arborescent (ou pyramidal) de l'valuation, qui sans mmoire aucune rvalue un nombre croissant de fois les valeurs petit argument. On aurait une valuation plus directe si, tout moment, fib(i) et fib(i - 1) taient simultanment disponibles. Soit donc fib2(n) une fonction capable de produire la paire <fib(n) fib(n - 1)>. Il suffira d'crire par exemple : fib(n) {premier(fib2(n))} fib2(n) {n = 0 <0, 1> ; successeur (fib2(n - 1))} o successeur calcule <fib(n), fib(n-l)> partir de <fib(n - 1), fb(n - 2)>, soit : successeur(paire) {<premier(paire) + second(paire), premier(paire)>}. Il est maintenant clair que le nombre d'appels pour fib et fib2 est donn par a(n) = n + 1, tandis que pour successeur : on a s(n) = n.
fib 7 fib2 7 fib2 6 fib2 5 fib2 4 fib2 3 fib2 2 fib2 1 fib2 0
13 - <13 8> - <8 5> - <5 3> - <3 2> - <2 1> - <1 1> - <1 0> - <0 1>
Fig. 6.2 Schma linaire d'valuation de fib (7).
121
Cette fonction succcesseur, trs spcifique, n'est invoque qu'une fois. Peut-on remplacer son invocation par son dveloppement ? Si on veut tirer 2 usages de la paire fabrique par fib2 sans invoquer 2 fois cette fonction, une affectation de cette paire une variable relais est indispensable. Introduisons le schma {soit <var> = <expr> ; ... } pour signifier que dans la partie ... chaque occurrence de <var> a pour valeur <expr>, sous-expression nomme pour ne l'valuer qu 'une fois. Nous avons maintenant : fib(n) =. {premier(fib2(n))} fib2(n) = { n = 0 <0, 1> ; {soit paire = fib2(n - 1) ; <premier(paire) + second(paire), premier(paire)>}
}
paire est initialise avec un signe =, car la valeur reue la cration ne peut tre modifie : de ce fait, notre variable locale est plutt une constante phmre. 6.5.7 Passage l'itration La fonction fib2 ci-dessus relve du schma fib2(n) { n = 0 fib0 ; g(fib2(n - 1)) } qui se ramne fib2(n) { g n (fib 0 )} ; qu'on peut raliser par une itration simple, condition d'admettre des affectations rptes une mme variable simple temp : fib2(n) { soit temp - fibo ; faire n fois {temp - g(temp)} } En reprenant galement l'invocation de fib2 par fib, on obtient finalement : fib(n) {soit paire - <0, 1> ; faire n fois {paire - <premier(paire) + second(paire), premier(paire)>} ; premier(paire)} Si cette dfinition est plus lourde que la premire au niveau textuel, on notera : la dure d'excution en 0(n), faible car on n'utilise que des primitives, la mmoire ncessaire, rduite une variable locale.
6.6.2 Reprsentation des tables creuses par une liste Supposons la table trs grande (par exemple 400-700), avec une faible proportion ce des cases de la table occupes par une valeur significative - par exemple 1% - les autres cases contenant une mme valeur connue - que nous dirons la valeur banale. L'ide est de ne reprsenter physiquement que les o-m-n valeurs remarquables. Utilisons pour cela une table de listes (fig. 6.3) comprenant d'abord une table de m pointeurs de ligne, le i-me pointeur renvoyant sur la liste reprsentant la i-me ligne, si cette ligne contient au moins une valeur remarquable, tant vide si la ligne correspondante ne contient que la valeur banale. Chaque liste reprsentant une ligne est forme de triplets (indice, valeur, suivant) contenant respectivement l'indice (colonne) de la case reprsente, la valeur de la case, et un pointeur sur l'ventuelle cellule suivante.
J5 g
J W
-0 ~0
3 <L)
VS
c u
^ a
V3
'5
0 0
3
(L>
M >
a >
'5 w
9- 1 - 5
>
mil
19
>
11111 - ^ 27
cellule > 12 q
uni
/////
Encombrement Prenons comme unit la place ncessaire pour une valeur, et posons que les pointeurs sont de taille p et les cellules de taille k > p. L'encombrement de la table de listes est alors p-m + a-m-n-k = m(p + a-n-k). En ngligeant p devant a-n-k, on voit que V encombrement est en 0((a-k)-(m-n)). Temps d'accs Par ailleurs, le temps d'accs une case [i, j] suppose d'abord un accs la ligne i avec un temps constant faible (1 dimension), puis une migration dans la liste trouve, pour trouver la case j cherche ; prsente, on accde directement sa valeur ; absente, elle indique une valeur banale. Avec une probabilit a qu'une case soit reprsenter par une cellule, une case a une probabilit (1 - a) de ne pas l'tre, une ligne de n cases une probabilit (1 - a)n de ne pas tre reprsente par une liste. Supposons m(l - a)n petit devant 1 : les m lignes donnent m listes effectives contenant en moyenne n-a cellules. La migration dans une telle liste se termine soit en atteignant la case cherche, soit en constatant son absence, ce qui dnote la valeur
Notion de complexit
123
banale. La dure moyenne de migration dans une telle liste est en n-a si elle n'est pas trie selon l'indice de colonne, en n-a/2 si elle est maintenue trie sur cet indice : le temps d'accs est donc en O(n-a). 6.6.3 Discussion La table 6.3 rsume les 2 cas tudis en termes de complexit, concernant la reprsentation physique d'une table abstraite 2 dimensions.
Tableau 6.3 Reprsentation d'une table creuse 2 dimensions.
La table de listes est une bonne ide : si la table d'origine est creuse (a << 1), et les cellules pas trop monstrueuses vis--vis du champ valeur (k-a<< 1, condition physique) ; si le temps d'accs, de l'ordre de na fois plus lev, ne devient pas prohibitif. Avec m = 400, n = 700, a= 1%, le gain en place est net (si la valeur prend 1 octet, l'indice 2, le pointeur 4, k = 7, d'o gain d'un facteur 15), le temps d'accs est multipli par 7 environ. Si a = 10%, le gain en place n'est important que si k est assez faible, la valeur occupant la plus grosse partie d'une cellule : complexe, chane, n-uple... ; tandis que le temps d'accs est environ 70 fois celui d'une table classique. Une telle estimation pralable peut clairer les choix de reprsentation, et l'algorithmie associe.
6.7 EXERCICES
6.7.0 Montrer que la somme ou le produit des lments d'un vecteur de taille n a une dure en n, de mme que la recherche de son max ou de son min. 6.7.1 On dispose d'une machine sur laquelle plusieurs oprations identiques peuvent tre faites simultanment. En supposant que l'valuation se conforme strictement au parenthsage, montrer que l'valuation de (A+(B+(C+(D+(E+(F+(G+H))))))) est 2,33 fois plus lente que celle de ((A+B)+(C+D))+((E+F)+(G+H)) On suppose la division 3 fois plus lente que la multiplication et l'addition. Comment calculer en 5 units de temps (A+B)/(C+D)+E-F+G-H ?
6.7.2
124
Fondements
on compare T[l] chacun de ses successeurs, en les permutant si T[l] est le plus grand, de faon avoir finalement T[l] = min(T[l : n]) on installe ensuite de mme min(T[2 : n]) en T[2], puis min(T[3 : n]) en T[3] ... on termine sur T[n - 1 : n]. Montrer que la dure d'un tel tri est en n2 : (t(tri) = Qn2).
6.7.3
On s'intresse une fonction de fusion de squences croissantes dfinie par: interclass(A : int*, B : int*) int* = { vide(A) B ; vide(B) A ; tete(A) tete(B) tete(A) & interclass(reste(A), B) ; tete(B) & interclass(A, reste(B)) } Montrer que interclass(<0, 1, 1, 2, 3, 5, 8, 13>, <0, l, 4, 9, 16>) = <0, 0, 1, 1, 1, 2,3,4,5,8,9,13,16>. Montrer que si card(A) = m, card(B) = n, alors t(interclass) = 0(m + n). Soient C : int* et D : int* des suites non tries d'entiers, et tri une fonction de tri en n2. Montrer que, le plus souvent, tri(C & D) est plus lent que interclass(tri(C),
tri(D)).
6.8 PROBLEMES
6.8.0 Etudier la complexit de la fonction f 9 1:ZN : f91(n) = {n<0 f91(n + 17) ; n>3 f91(n - 5) ; 91} En proposer une version optimale. 6.8.1 On considre des matrices n n ; montrer que le calcul d'une matrice somme de deux autres a une dure en n2, et que le calcul d'une matrice produit de deux autres a une dure en n3. 6.8.2 Application multiprocesseurs (d'aprs Jean Ichbiah) On considre un traitement form d'une partie S, irrvocablement squentielle, d'une partie P, totalement paralllisable (ex : traitement identique sur les 30 030 cases d'un mme tableau). Dans une version squentielle du traitement, on a T = (t(P) + t(S)). On veut passer une version parallle du traitement en clatant P sur n processeurs, chacun excutant 1/n du processus. Quelle est la limite de la dure d'excution quand n tend vers l'infini ? En ralit, il faut tenir d'un compte d'une pnalit de gestion (lancement / arrt) d'une dure e par processus lanc en parallle. Montrer que la dure d'excution passe par un minimum en fonction du nombre de processeurs. Donner topt et nopt. Cas o t(P) = 0,7-T avec e = 0,001-T. Indiquer le nombre de processeurs recommand, car menant des dures au plus gales 1,05 topt.
Notion de complexit
125
6.8.3 Montrer que C l ( k , n ){ ( k = Ok = n )l ; C l ( k - l , et C2(k, n) {(k = 0 k = n )1; C2(k- 1, n - l)-n/k } sont deux dfinitions quivalentes, et que la seconde est strictement moins complexe que la premire. 6.8.4 Une fonction est-elle reprsentable par une table ? Si oui, faut-il prfrer une table ou un algorithme ?
6.9 LECTURES
BENZAKEN C., Aperu sur la complexit, 3.5 in Systmes formels ; introduction la logique et la thorie des langages, Masson, 1991. FROIDEVAUX Ch., GAUDEL M.C. & SORIA M., Types de donnes et algorithmes, Ediscience International, 1994 (surtout le chapitre II). MORRISON Ph., MORRISON Ph., Les puissances de dix. Les ordres de grandeur dans l'Univers, Bem, 1985. VOROBIEV N., Caractres de divisibilit ; suite de Fibonacci, Collection Initiation aux Mathmatiques, Editions de Moscou, 1973. P. WEISS & X. LEROY, Le langage CAML, InterEditions, 1993.
DEUXIEME PARTIE
GRAPHES
Devant un grand nombre de situations, une vieille habitude pousse l'homme tracer sur le papier des points reprsentant des individus, des localits, des corps chimiques etc., joints entre eux par des lignes ou des flches symbolisant une certaine relation. Ces schmas se rencontrent partout sous des noms diffrents : sociogrammes (psychologie), simplexes (topologie), circuits lectriques (physique), diagrammes d'organisation (conomie), rseaux de communication, arbres gnalogiques, etc.; D. KNIG, sans doute le premier, a propos d'appeler graphes de tels schmas et d'tudier systmatiquement leurs proprits. Il est trs remarquable que des disciplines aussi varies aient utiliser des thormes analogues ; on sait que la notion de matrice d'incidence introduite par KIRCHHOFF pour tudier les circuits lectriques, a t reprise en topologie par Henri POINCAR pour fonder son analysis situ ; la notion de point d'articulation connue depuis longtemps en sociologie, est apparue plus rcemment en lectronique ; et de tels exemples sont innombrables... La thorie des graphes, pour s'appliquer des domaines aussi varis, devra tre essentiellement abstraite et formalise. En fait, les concepts fondamentaux tels que chane, chemin, centre, s'ils sont dfinis d'une faon abstraite, restent en rapports constants avec des ralits graphiques, faciles reconnatre lorsque le schma est trac. C'est pour cette raison que la thorie des graphes ne doit pas tre confondue avec la thorie des relations, dont les proccupations sont autres. [...] En exposant ici la thorie des graphes, notre but a t de mettre entre les mains du lecteur un outil mathmatique s 'appliquant tant aux sciences du comportement, la thorie de l'information, la cyberntique, aux jeux, aux rseaux de transport qu' la thorie des ensembles, aux matrices ou d'autres disciplines purement abstraites. C. Berge, Thorie des graphes et ses applications. Introduction (extraits), Dunod,1958.
CHAPITRE 7
7.1 PRESENTATION
DFINITION 7.1 - On appelle graphe (orient) et on note G = <X, U> un couple form : d'un ensemble X, en gnral fini, de N points ou sommets du graphe, d'un ensemble U XX de M paires ordonnes de sommets, ou arcs. NOTES U est assimilable une relation binaire interne X. Sur un dessin du graphe, X est reprsent par un ensemble de points spars, et chaque arc (x y) sera reprsent par une flche d'origine x et d'extrmit y. On donne le nom particulier de boucles aux arcs ayant un mme point comme origine et comme extrmit. G A R P H
\/
\ / \
Fig. 7.1 Un graphe, ses sommets, ses arcs. EXEMPLES Partant de P ensemble de Personnes, la relation interne enfant de mne un graphe sans boucle dit arbre gnalogique ; la relation interne aime mne un graphe pouvant possder des boucles.
DFINITION 7.2 - Un graphe not G = <X, G> sera dfini par : un ensemble X de N points ou sommets du graphe, une application1 G : X 2X associant chaque point de X comme origine, un sous-ensemble ventuellement vide de X comme image. NOTE. On passe de l'une l'autre dfinition par : (x y) U y Gx.
7.2 DEGRES & DEMI-DEGRES DFINITION 7.3 - Pour un sommet i, nous appellerons
130
Graphes sortance2 d+(i) le nombre d'arcs ayant ce sommet pour origine (ou. partant de ce sommet) ; entrance3 d-(i) le nombre d'arcs ayant ce sommet pour extrmit (ou arrivant en ce sommet) ; degr la somme d(i) = d+(i) + d-(i) des entrance et sortance.
entrance 2
i <. ^ degr 5
sortance 3
7.3 PRDCESSEURS, SUCCESSEURS, ADJACENTS DFINITION 7.4 - Soit x un sommet d'un graphe G = <X, G>. Gx est l'ensemble des successeurs de x, et d+(x) = | Gx |. G-1 x est l'ensemble des prdcesseurs de x, et d-(x) = | G-1 x |. 2 sommets qui partagent un arc sont dits sommets adjacents. PROPOSITION 7.1 Le nombre de sommets adjacents x est au plus d(x) = d+(x) + d-(x) = | Gx | + |G-1'x| valeur atteinte quand ces ensembles sont disjoints.
7.4 SOMMETS INITIAUX, TERMINAUX, ISOLS DFINITION 7.5 - Un sommet sera dit sommet initial s'il n'a pas de prdcesseur autre que lui-mme, sommet terminal s'il n'a pas de successeur autre que lui-mme, sommet isol s'il n'a pas de sommet adjacent autre que lui-mme. NOTE. Pour un dplacement dans un graphe, les sommets terminaux se comportent en piges, tandis que les sommets isols ou initiaux sont inaccessibles.
7.5 SOUS-GRAPHE DFINITION 7.6 - Soit un graphe G = <X, U>. On appelle sous-graphe de G tout graphe G' = <X', U'> tel que X' soit un sous-ensemble de X, et U' le sous-ensemble correspondant de U : X' X, U' = U(X' X')
Ou demi-degr extrieur.
Ou demi-degr intrieur.
131
EXEMPLE. Si G est le graphe des routes de France, en sera sous-graphe toute restriction une partie de la France : sous-graphe des routes de Bretagne, Dauphin ou Savoie. NOTE. Un sous-graphe de G correspond une restriction de la relation associe G, au sens de la section 4.3.
0 o
K,
Fig. 7.3 Premires figures de Kuratowski.
7.8 REPRESENTATIONS
DFINITION 7.9 - Un graphe G = <X, U> peut tre reprsent par une matrice boolenne carre [A], dite matrice d'adjacence, forme raison : d'une i-me ligne par lment xi X considr comme origine, d'une j-ime colonne par lment Xj X considr comme image d'lments aij = ( s i (xi, Xj) U alors 1 sinon 0). > Encombrement en N2 EXEMPLE. Soit un graphe G1 = <X 1 , U 1 >, avec X1 = {a b c d e} et U1 = {(a c)(b a)(b d) (c b)(c e)(d c)(e a)(e d)} (fig. 7.4). Sa matrice d'adjacence est donne tableau 7.1. NOTE. La matrice d'adjacence d'un graphe G = <X, U> est identique la matrice caractristique de la relation U interne X ( 4.1.1 ).
Fig.7.4 Graphe G i.
a a b c d e
0
b
0
C 1
0
0
d
0
e
0 0 1
0 0
1
0 0
1
0
0
1
0 0
1
0
DFINITION 7.10- Un graphe G = <X, U> peut tre reprsent en associant chaque sommet a; la liste Fa, de ses successeurs, correspondant aux 1 de la i-me ligne de la matrice d'adjacence c'est une liste d'adjacence si on forme une liste de listes (sommet successeurs), comme dans L = ((a c)(b a d)(c b e)(d c)(e a d)) pour reprsenter le graphe G1 ci-dessus ; c'est une table d'adjacence si on utilise des tables. Tableau 7.2 Table d'adjacence du graphe G1. a premier arc n d'arc arcs(fins) 1 1 c b 2 2 a c 4 3 d d 6 4 b e 7 5 e 6 c 7 a 8 d
Les listes auront un encombrement en M + N. Pour les tables, l'encombrement est en N-sup(sortance(x)) si on utilise une table deux dimensions, raison d'une ligne par sommet, chaque ligne comprenant le liste des successeurs de son sommet ; est en M + N avec un systme 2 tables contenant : - la premire, pour chaque sommet, le n de son premier arc, les arcs tant supposs numrots sans trou , - la seconde, pour chaque arc, son extrmit, (tab. 7.2). DFINITION 7.11 - La matrice d'incidence d'un graphe G = <X, U> est une matrice rectangulaire forme raison :
Des points et des flches d'une i-me ligne par point xi X considr, d'une j-ime colonne par arc Uj U considr, d'lments eij valant 1 si xi o r i g i n e de Uj -1 si xi extrmit de Uj 0 sinon.
133
Encombrement en M. N II sera quivalent, parfois prfrable, de considrer une table d'incidence, d'encombrement 2-M, comportant autant de colonnes qu'il y a d'arcs, 1 ligne origine et 1 ligne extrmit. NOTE. On observera une dualit classique entre encombrement et temps d'accs ; pour ce dernier, on distinguera la dure pour dcider si un couple dsigne un arc du graphe, la dure pour trouver les successeurs d'un sommet...
Tableau 7.3 Matrice d'incidence de G1.
2 3 4 arcs 1 sommets a + 1 -1 0 0 + 1 + 1 -1 b 0 c -1 0 +1 0 d 0 0 -1 0 e 0 0 0 0
5
0 0
6
0
0
7 -1
0 0 0
8
0 0 0
+1
0
-1
+1
0
-1
+1
-1
+1
arcs
origine
extrmit
a c
b a
b d
c b
5 c
d c
e a
e d
7.9 PROPRIETES DES RELATIONS BINAIRES ET GRAPHES ASSOCIES A chaque proprit d'une relation binaire interne correspondra bijectivement une proprit spcifique de son graphe, qui recevra en gnral le mme qualificatif. Ainsi, graphe rflexif/ transitif/ symtrique/ ... signifiera graphe d'une relation rflexive/ transitive/ symtrique/... 7.9.1 Graphe complmentaire Le complment d'une relation R XX est R' = (XX) - R ; de mme : DFINITION 7.12 - A un graphe G = <X, U> on peut associer un graphe complmentaire G' = <X, U' = (XX-U) >. 7.9.2 Graphe rflexif DFINITION 7.13 - Un graphe rflexif sera un graphe dont chaque sommet porte une boucle ; un graphe irreflexif, un graphe sans boucle (i.e. dont aucun sommet ne porte de boucl).
134
Graphes
PROPOSITION 7.2 - La diagonale principale d'une matrice d'adjacence est 1 si le graphe est rflexif, est 0 si le graphe est irrflexif, est mixte si le graphe est non rflexif. 7.9.3 Graphe transitif et son squelette DFINITION 7.14 - Vngraphe transitif sera tel qu' toute paire d'arcs conscutifs (a, b) et (b, c) correspondra un troisime arc (a, c). NOTE. Un graphe transitif sera souvent dit touffu, ses arcs souvent trs nombreux le rendant difficile dessiner ; au graphe d'une relation R transitive, rflexive ou irrflexive, on prfrera donc souvent son squelette , plus lisible. Soit R une relation transitive, rflexive ou irrflexive, et sa relation-squelette r, obtenue ( 4.2.3). pour R irrflexive en enlevant tout arc (x z) s'il existe un arc (x y) et un arc (y z) : alors p = R-R2 ; pour R rflexive, partir de R' = R-I ; alors r = R'R'2. De mme : DFINITION 7.15 - On appelle squelette d'un graphe transitif (ir)rflexif G = <X, R> le graphe G = <X, r> correspondant la relation-squelette r(R). EXEMPLE. Au graphe transitif et rflexif Go de la figure 4.1 correspond le squelette G0 donn figure 4.2. NOTE. La connaissance du caractre (ir)rflexifdu graphe d'origine G est ncessaire pour restituer celui-ci partir du squelette G. 7.9.4 Graphe symtrique DFINITION 7.16 - Un graphe symtrique est form de sommets lis par des artes, version non oriente des arcs, une arte (x y) tant assimilable un couple d'arcs (xy), (yx). PROPOSITION 7.3 - Si [R] est la matrice carre d'adjacence d'un graphe symtrique, elle est symtrique par rapport la diagonale principale, et [R] = [R]T, o [R]T dsigne la transpose de [R]. 7.9.5 Graphe inverse DFINITION 7.17 - L''inverse G-1 d'un graphe G s'obtient en renversant le sens des arcs. G = <X, U> G-1 = <X, V = {(a, b) | (b, a) U}>
Fig. 7.5 G|', graphe inverse de G|. PROPOSITIONS 7.4 - L'inversion d'un graphe est involutive (cf. prop. 2.6). (G-1)-1 G
135
7.5 - Soit un graphe G reprsent par une matrice [R] et son inverse G-1 reprsent de mme par [R-1] Si [R] est une matrice carre d'adjacence : Si [R] est une matrice d'incidence : [ R-1] = [R]T. [ R - 1 ]=[ R ]
7.9.6 Symtris d'un graphe Lorsqu'on traite le graphe d'une relation R non symtrique, l'orientation n'est pas toujours pertinente. DFINITION 7.18 - On appellera symtris d'un graphe orient G le graphe symtrique Gs obtenu en faisant abstraction des orientations dans G, i.e. en associant chaque arc de G une arte de Gs. Gs ainsi obtenu est le graphe (symtrique) associ la symtrise de R : Rs = R R-1. PROPOSITION 7.6 - La matrice d'adjacence [R,] d'un graphe Gs symtris d'un graphe G, s'obtient partir de la matrice d'incidence [R] de G par : [Rs] = [R] + [R-1] = [R] + [R]T o + dsigne le ou boolen.
- en codant 0 un arc absent ou temporairement ferm pour marquer l'impossibilit en termes de dbit. une matrice d'nonciation, - en remplaant chaque 1 concernant un arc existant par le nom de la route sur le tronon concern (N7, A89, D317e ...) ; - en codant 0 par un symbole spcial marquant l'inexistence (w, ^ ...).
Cette partie Graphes passera souvent des graphes simples des graphes ayant une valuation simple traiter, lorsqu'on pourra le faire peu de frais. C'est d'ailleurs ainsi que sont ns, de faon plus ou moins nave, de nombreux algorithmes sur les graphes. Dans la partie Algbre, une approche plus gnrique sera prsente au chapitre Diodes (chap. 14) avec application non numrique aux Algbres de Kleene (chap. 16).
7.12 EXERCICES
7.12.1 Considrer l'ensemble X = {1, 2, 3, 4, 5, 6, 7, 8}, et lui associer un graphe Gdiv = <X, U>, tel que (x y) U si et seulement si x est un diviseur de y. Vrifier que tout sommet de Gdiv est porteur d'une boucle. Pourquoi ? Vrifier que Gdiv est transitif. 7.12.2 Considrer l'ensemble D des droites d'un plan P, et lui associer un graphe Gperp = <D,U>, tel que (x y) U si et seulement si x est perpendiculaire y. Vrifier qu'aucun sommet de Gperp n'est porteur de boucle. Pourquoi ? Vrifier que Gperp est intransitif. 7.12.3 Considrer un ensemble de personnes P, et lui associer un graphe G = (P,U), tel que (x y) U si et seulement si x est en excellents ou bons termes avec y. Le graphe est-il rflexif ? symtrique ? transitif ? 7.13 PROBLEMES 7.13.0 Les Antiquits de Madame Marcia Madame Marcia habite, avec son mari et son fils, un appartement de trois pices au rez-de-chausse droite. Son magasin est au rez-de-chausse galement, mais gauche, entre la loge de la concierge et l'entre de service. Madame Marcia n'a jamais tabli de distinction relle entre les meubles qu'elle vend et ceux dans lesquels elle vit, ce qui fait qu'une part importante de ses activits consiste transporter meubles, lustres, lampes, pices de vaisselle et objets divers entre son appartement, son magasin, son arrire-boutique et sa cave. Ces changes, qui sont suscits aussi bien par des occasions propices de vente que d'achat (il s'agit alors de faire de la place) que par des inspirations subites, des lubies, des caprices ou des dgots, ne se font par hasard et n'puisent pas les douze possibilits de permutation qui pourraient se faire entre ces quatre lieux [...] ; ils obissent strictement au schma [...]: quand Madame Marcia achte quelque chose, elle le met chez elle, dans son appartement ou sa cave ; de l, le dit objet peut passer dans l'arrire-boutique, et
137
de l'arrire-boutique dans le magasin ; du magasin enfin il peut revenir - ou parvenir, s'il venait de la cave - dans l'appartement. Ce qui est exclu, c'est qu'un objet revienne dans la cave, ou repasse du magasin dans l'arrire-boutique, ou de l'arrireboutique dans l'appartement, ou enfin passe directement de la cave l'appartement (D'aprs Georges Perec, La vie mode d'emploi. Hachette 1978, repris de Jean Julo, Reprsentation des problmes et russite en mathmatiques, coll. Psychologies, Presses Universitaires de Rennes, 1994). Dfinir la liste des 4 lieux de stockage en cause, et vrifier le nombre de permutations indiques. Partant du passage schma ... appartement , dfinir le graphe des transitions directes d'un lieu un autre. Le vrifier ensuite avec la suite Ce qui est exclu... . 7.13.1 On parle souvent de graphes clairsems ou touffus. M dsignant le nombre d'arcs et N le nombre de sommets, btir un indicateur en (M, N) distinguant ces cas.
7.15 LECTURES
AHO A., ULLMAN J., Concepts fondamentaux de l'informatique, chap. IX, Dunod, 1993. BERGE C., Thorie des graphes et ses applications. Coll. Universitaire de Mathmatiques n 2, Dunod, 1958/63. BERGE C., Graphes, Gauthier-Villars / Bordas, 1970/73/83. FAURE R., LEMAIRE J., Mathmatiques pour l'informaticien, tome I, chap. II, Coll. Programmation, Ed. Gauthier-Villars, 1973.
138
Graphes
FEJER P.A., SIMOVICI D.A., Mathematical Foundations ofComputerScience, vol. I, chap. II & III, Coll. Texts and Monographs on Computer Science, Springer Verlag. GONDRAN M., MINOUX M., Graphes et algorithmes, chap. I, Coll. Direction des Etudes & Recherches EdF, Eyrolles, 1979/85/95. KAUFMANN A., Des points et des flches, Dunod-poche, 1969. PICARD C.F., Graphes & Questionnaires, tome 1 : Graphes, chap. 1 et II, Coll. Programmation, Ed. Gauthier-Villars, 1972. REINHARDT F. & SOEDER H., Atlas des mathmatiques, pp. 250-255, La Pochothque, 1997. collectif. Petite encyclopdie des mathmatiques, chap. XXXVI, Edition Pagoulatos, Didier distr.
NOTE. Le concept de graphe dvelopp dans cette partie est issu de KONIG, Thorie der endiichen und unendiichen Graphen, Leipzig, 1936, introduit en France par [BERGE 58]. La littrature qui s'est ensuite dveloppe en franais est domine par : C. BERGE, qui on doit des tudes sur les jeux et les rseaux de transport, puis une thorie recentre sur les hypergraphes (1973). B. ROY, auteur du premier grand ouvrage pratique ; inventeur de la Mthode des potentiels (ordonnancement) ; plus rcemment, actif dans le domaine de la dcision multicritres. C.F. PICARD, thoricien des questionnaires (prfigurant les menus). J. KUNTZMANN, qui s'intressa aux nombreux emplois des graphes bipartis en automatique, tablit leur quivalence avec les hypergraphes, et introduisit en 1972 les diodes pour un traitement gnralis des problmes de chemin, y compris la question des fermetures transitives en logique multivalue. DERNIAME et PAIR, qui mirent en relief les possibilits de gnricit. GONDRAN et MINOUX, dont la somme est rgulirement rdite depuis 1976...
CHAPITRE 8
Si un arc rend compte d'une liaison ou influence directe, un chemin rendra compte d'une liaison ou influence indirecte ou gnralise. Un circuit, chemin boucl sur lui-mme, rendra compte des phnomnes auto-entretenus, et pourra constituer un pige dans la recherche de chemins. Plus gnralement, la mtaphore du labyrinthe met ces concepts au service de la rsolution de problmes. Pour cela, on assimile les situations possibles dans un univers des points ; pour chaque situation, chaque action possible correspondra un arc marqu du nom de l'action et reprsentant la transition qu'elle induit. Un problme tant alors dfini par une situation de dpart et une (des) situation(s) finale(s) exprimant un but, une solution est un chemin amenant de ce dpart ce but, nonant une suite admissible d'actions ralisant pas pas la transition dsire dans le labyrinthe des possibles. La multiplicit de telles solutions permettant d'liminer les moins agrables et/ou les moins ralistes, chaque chemin retenu devrait correspondre un plan d'action final adquat, libre de tout bouclage inutile.
8. 1LESCHEMINS
DFINITION 8.1 - Soit un graphe G = <X, U> ; on appelle chemin de G toute suite de sommets X0, X1, x2, ..., Xn, telle que chaque couple (xi xi+1) soit un arc de U. Un chemin form de n arcs successifs sera dit chemin de taille n. EXEMPLES Tout arc est un chemin de taille 1. G] (fig. 7.4) comporte des chemins de taille 1 (a c), 2 (a c b), 3 (a c b d), 4 (e a c b d). Un chemin de taille 9 est donn dans la figure.
PROPOSITION 8.1 - Dans tout graphe transitif, s'il existe un chemin de x y, alors il existe un arc de x y, dit corde du chemin. PREUVE. Supposons cette proprit vraie pour les chemins de taille au plus gale n. Tout chemin de taille n+1 est un chemin (x0, x 1 , X2, ... X n+i ) form d'un chemin s = (X0, X 1 , x2, ... X n ) de taille n suivi d'un arc (Xn X n+1 ).
Au chemin s nous pouvons associer un arc (X0 Xn) par hypothse ; l'arc (Xn Xn+1) et la transitivit du graphe imposent alors l'existence d'un arc (X0 Xn+1). La proprit est donc vraie pour les chemins de taille n+1 lorsqu'elle est vraie pour les chemins de taille n. Or la proprit est vraie pour les chemins de taille 1, forms d'un seul arc. Elle est donc toujours vraie. NOTE. Cette proprit manifeste la puissance du concept de transitivit. _. , Graphe . . .Fig. 8.2 , transitif.
PROPOSITION 8.2 - Soit R la relation sur X reprsente par le graphe G = <X, R> ; sont quivalents les noncs : = = = il existe dans G un chemin de taille k de x y (x y) satisfait la relation Rk y successeur au rang k de x : y Gk x x prdcesseur au rang k de y : x G-k y
On verra que la composition de relations est un produit associatif 1 : l'ensemble x des relations sur X dot de la composition supporte alors une notion justifie de puissance de composition j, en posant R-1 = R et R0 = Ix pour toute relation R sur X. On peut donc crire R m + n = R m R n , avec la signification : x R
m + n
y ( $ z x R m z z R n y )
En interprtant x Rk y comme l'existence d'un chemin de taille k de x y, cette quivalence signifie tout naturellement qu'il existe un chemin de taille m + n de x y ssi il existe au moins un point z tel qu'il existe un chemin de taille m de x ce z, et un chemin de taille n de ce z y. PROPOSITION 8.3 - Soit R la relation sur X reprsente par le graphe G = <X, R>. Les noncs suivants sont quivalents : il existe dans G un chemin de x y (x y) satisfait la relation R* y descendant de x : yG*x x anctre de y : xG
- 1
R*, G* se prsentent comme la gnralisation, tous rangs confondus, des R et F (cf. dfinitions 9.1 9.3). EXEMPLE. Pour des personnes, si xRy x R2 y x R3 y x R*y signifie signifie signifie signifie x pre_ou_mre_de y, alors x grand_pre_ou_grand_mre_de y x arrire_grand_pre_ou_arrire_grand_mre_de y x anctre_de y.
141
DFINITION 8.2 - Soit un graphe G = <X, U> ; on appelle circuit de G tout chemin X0, x1, x2, ... Xn-1, X0 dont le premier sommet est aussi sommet final. Un tel circuit a pour taille le nombre n d'arcs successifs. EXEMPLE. Gl (fig. 7.3) comporte des circuits de taille 3 : (a c b a), (c b d c), (c e d c)... COROLLAIRE 8.4 - Une boucle est un circuit de taille 1. PROPOSITION 8.5 - Le squelette d'un graphe transitif est un graphe sans corde ni boucle. PROPOSITION 8.6 - Entre sommets d'un graphe : la relation est origine d'un chemin menant est transitive, la relation est identique ou origine d'un chemin menant est un prordre, la relation est identique ou sur un mme circuit que est une quivalence. PREUVE. Soit, entre sommets d'un graphe G = <X, U> ~ la relation est identique , ou origine d'un chemin menant , la relation est identique , ou sur un mme circuit que. Alors,
x y (x~y A y~x), et :
x x par dfinition, xy => yx par commutativit de A xy, yz x~y, y~x, y~z, z~y x~y, y~z, z~y, y~x x~z, z~x => xz et est une quivalence.
NOTE. On peut aussi invoquer la proposition 4.31 : Z. 'intersection du prordre ~ et de son symtrique est une quivalence. Graphe-quotient DFINITION 8.3 - A tout graphe G = <X, U>, on peut associer un graphe-quotient G/ = <X/, U/>, o dsigne l'quivalence tre identique ou sur un mme circuit dans G. G/ est souvent plus lisible que G, dont il montre la structure globale (fig. 8.3). Cependant, le graphe-quotient rassemble tous les points en une seule classe si, comme pour G), tout sommet est accessible de tout autre (cas des graphes fortement connexes, sect. 10.2).
Graphe G2 -> c
Fig. 8.3 Graphe 62 et son graphe-quotient. Tableau 8.1 Matrices de recherche de chemins du graphe Gi. R a b c d e f g a 0 0 0 0 1 0 0 b 0 0 0 1 0 0 0 c 0 1 0 0 0 0 ( 0 c 1 d 1 0 0 0 0 1 0 d 1 1 0 1 1 1 0 e 1 0 0 0 0 0 0 e 1 0 0 0 1 0 0 f 0 1 0 1 0 0 0 f 1 1 0 1 1 1 0 g 0 0 0 0 0 1 0 R 1 1 0 1 1 1 1 R a b c d e f g R* a e b d f c g a 1 0 0 0 1 0 0 a 1 1 0 0 0 0 0 1 ) c 1 1 0 1 1 1 0 d 1 1 0 1 1 1 0 d 1 1 1 1 1 0 0 e 1 0 0 0 1 0 0 f 1 1 1 1 1 0 0 f 1 1 0 1 1 1 0 c g 1 1 0 1 1 1 0 g 1 1 1 1 1 0 1
( 3
( 3 e 1 1 0 0 0 0 0
R* a b a 1 1 b 0 1 c 0 0 d 0 1 1 e 1 f 0 1 g 0 0 R*=R ^1
tb
c3
( 3
C 3
C3
PROPOSITIONS. Dans un graphe n sommets : 8.7 - Tout chemin lmentaire a pour taille n - 1 au plus. 8.8 - Tout circuit lmentaire (i.e. sans sous-circuit) a pour taille n au plus. 8.9 - A tout chemin G1 on peut toujours associer (au moins) un chemin lmentaire C2 form exclusivement d'arcs de G1. PREUVE. Ce dernier point se dmontre par descente rcursive et couper/coller : Tout arc (ou chemin de taille 1) qui n' est pas une boucle est un chemin lmentaire. Soit un chemin C = (X0, X1, x2, ... Xn ) de taille n : soit C dcrit un chemin lmentaire, et la proprit est tablie ;
143
soit C contient au moins un circuit, et il existe au moins un sommet aX mentionn deux fois dans C ; C = (X0, x1, x2, ... , xk = a, Xk+1 ... ,Xm-1, X m = a, ... Xn) explicite cette reptition ; remplaons alors dans C le circuit (a, Xk+1 ... Xm-1, a), par une seule occurrence de a : on obtient un nouveau chemin
C ' = ( X o , X i , X 2 , ... X k = a = X n , , ... X n )
strictement plus court que C et form exclusivement d'arcs de C. C' est lui-mme un chemin lmentaire ; sinon, on peut lui associer un chemin C" strictement plus court et contenant (au moins) un circuit de moins. Le procd se termine ncessairement, mais n'est pas dterministe, car il peut exister plusieurs sous-chemins C' convenables pour un chemin C donn, et donc plusieurs chemins lmentaires terminaux. NOTE. Qu'on puisse associer un chemin lmentaire chaque chemin est ainsi tabli ; mais ce chemin lmentaire n'est pas ncessairement unique.
Chemin = ( a b c d m l k b g h i j e n c i j e n c d e f )
/ \
8.4 RECHERCHE DE CHEMINS DANS UN GRAPHE 8.4.1 Problmes-types On considre qu'il existe 3 problmes-types de recherche de chemins dans les graphes, auxquels les autres se rattachent : PI : P2 : P3 : recherche du ou des chemins pour aller de x y ; recherche des chemins allant d'un x donn tout autre sommet y ; recherche des chemins allant de tout sommet x tout sommet y .
8.4.2 Mthodes globales L'tude des relations associe des calculs matriciels au produit de composition de relations. En ce sens, comme l'existence d'un chemin de taille k nous renvoie une
144
Graphes
relation qui est la kime puissance de composition de la relation du graphe, on doit disposer de mthodes matricielles pour rgler les problmes de chemins dans un graphe : on parlera alors de mthodes globales, une matrice reprsentant un graphe en bloc. On associe alors diverses classes de problmes des (sommes de) puissance(s) de la matrice du graphe ; ce calcul permet alors de rpondre toute question de la classe. Pour un graphe n sommets, les matrices auront un encombrement en n2 leurs produits auront une dure de l'ordrede n3, les calculs matriciels relatifs aux chemins auront une dure en n4 au plus. C'est dire que les mthodes matricielles ou globales seront limites aux graphes d'au plus quelques centaines de sommets. Particulirement favorables aux problmes du 3e type, les mthodes globales seront utilises galement pour les autres problmes lorsqu'on veut les rsoudre frquemment pour un mme graphe, en introduisant un traitement prparatoire, matriciel, aussi lourd que ncessaire, ne refaire que lorsque le graphe est modifi, menant une matrice de fermeture , une rsolution frquente se rduisant la consultation de la matrice de fermeture obtenue (sect. 8.5).
8.4.3 Mthodes locales Un chemin de taille n + 1 tant un chemin de taille n auquel on ajoute un arc, des mthodes incrmentales, pas pas, ou locales existent galement. Les mthodes locales (recherche par niveau ou en profondeur) seront mieux adaptes Y intelligence artificielle, o l'on peut rencontrer, notamment dans certains jeux, des graphes 10200 sommets et plus. N'tant pas matriellement reprsentables par des structures de donnes, de tels graphes sont dfinis localement par des processus gnratifs, et on parle alors de graphes virtuels. Les algorithmes locaux ne s'intresseront tout moment qu' une frange du graphe. Il y aura videmment un prix payer pour cette myopie ncessaire. Les mthodes locales conviendront bien aux 2 premiers types de problmes, et l'hybride 2bis : trouver les chemins allant d'un ensemble A de sommets un ensemble B de sommets. Elles conviendront surtout des traitements non rptitifs, au coup par coup (par exemple, si un mme graphe n'est utilis que quelques fois). Elles regroupent essentiellement les mthodes par niveaux ou en largeur (breadth-first), sect. 8.6, du meilleur d'abord (best-first), sect. 8.7, en profondeur (depth-first), sect. 8.8.
dpart
Fig. 8.5 Mthodes locales de recherche de chemin dans un graphe.
[R k ]=[R] k
obtenue en levant la matrice boolenne [R] reprsentative du graphe, la puissance k, dans le style relatif au produit de composition de relations, i.e. avec OU comme somme et ET comme produit. Si |X[ = n, chaque produit de matrice a un cot en n3. Le cot du calcul d'une puissance k-ime dans le style de l'algorithme de Legendre est alors en n3log2k, en remarquant que : [R-^l = [R"]2 et [R-^7] = [R^]-[R]. Ainsi, l'valuation de R37 se fait en 7 multiplications dont 5 carrages (ou lvations au carr)
8.5.2 Chemins de taille borne DFINITION 8.5 - Nous noterons x i(C,n y = il existe de x y un chemin de taille comprise entre k et m inclus
kCm = u R' soit en termes de matrices [kC,n]= ? [R] = [R] i-0' S [R] Hc
i=k
Une somme a un cot en n2, qu'on nglige devant le cot en n3 des produits. Ces valuations ont donc un cot en m-n3, ventuellement en (m - k + 2 log2 k)n3. Des amliorations sont possibles en combinant la mthode de Legendre pour une puissance isole2, le schma de Horner3 pour la somme de puissances successives, la relation [ k+mCn+p] = [ kCn]-[ mCp], et sa corollaire [ zkCzm] = [ kCm]2.
Tableau 8.2 Puissances de matrices pour la recherche de chemin.
R a b c d e f g R3 a b c d e f g
a 0 0 0 1 0 0 a 0 0 0 0 1 0 0
b 0 0 0 0 0 0 b 0 1 0 1 1 0 0
c 0 1 0 0 0 0 c 1 0 0 0 0 1 0
d 1 0 0 0 1 0 d 1 0 0 1 0 1 0
e 0
f
Kteyii
g 0
R2 a b c
d
a 1 0 0 0 0 0 0 a 1 0 0 0 0 0 0
b 1 0 0 0 0 1 0 b 1 0 0 1 0 1 0
c 0 0 0 1 0 0 0 c 0 1 0 1 1 0 0
d 0 1 0 1 1 0 0 d 1 1 0 1 1 1 0
e 0 0 0 1 0 0 e 0 0 0 0 1 0 0
f 1 0 0 0 1 0 f 1 1 0 1 1 1 0
g 0 1 0 0 0 0 g 1 1 0 1 1 1 0
1 888 0 0 ^1 0 0 0
0 HI 1
e f g R4 a b => c d e f g
0 ^B 1 0 ^( 0 e 1 0 0 0 0 0 0 f 1 1 0 1 1 1 0 g 1 0 0 0 0 1 0
Incidence de la rflexivit PROPOSITION 8.11 - La rflexivit de la relation R entrane que : [oCij = [R]1'. PREUVE. Si R est rflexif, [iCi] = [R] = [luR] = [I] + [R] = [oC,], puis [202] = [R]2 = ([I] + [R])-([I] + [R]), du fait de la rflexivit de R = [I].[I] + [R]-[I] + [I].[R] + [R]2, soit en dveloppant = [I] + [R] + [R] + [R]2 car [I] est lment neutre de -,
2 3
Combinant x' = x, x211 = (x")2 et x^' = x^x. Evaluant toute forme polynmiale Pn(x) sous la forme Qn-i(x)-x + a, avec par exemple x5 + x3 + x +1 = (x4+x2+l)x+l=((x3+x)x+ Q - x + l ^ x ' + l ^ + l ^ x + l .
Chemins & circuits = [I]+ [R] + [R]2 = [(A] et, par rcurrence, par idempotence de +
147
[oCk]= [R]1'.
Le procd correspondant sera d'autant plus fort que, dans de nombreuses modlisations, le choix rflexivit / irrflexivit est arbitraire. REMARQUES Pour une relation quelconque, l'valuation de R37 par R, R2, R4, R8, R9, R18, et enfin R36, en 7 multiplications dont 5 lvations au carr, dcide de l'existence des chemins de taille 37 exactement du graphe correspondant. Mais pour une relation rflexive, l'valuation de R37 par le mme procd fournit finalement tous les chemins de taille 37 au plus du graphe correspondant. En effet, pour de telles relations R37 = 0C37 car tout chemin S de taille infrieure 37 on peut associer un chemin S' de taille 37 en rajoutant S autant de boucles que ncessaires.
Exemple Traitement Reprenons le graphe G2 dfini la figure 8.3 et au tableau 8.1, et cherchons ses chemins de taille 1 4. Comment calculer sans ruse* le terme R2 [d, f] ? R2 [d, f] = si (3 x R(d,x) A R(x,f)) alors 1 sinon 0 = OU (R[d,x] ET R[x,f])
Tableau 8.3 Calcul de R^d, f) = V, (R[d, x]AR[x, f]).
x
a
0 0 0
b
s^s",
c
0 0
d
0
e
0 0
f 1
0
g
0 0
R(d,x) R(x,f) et
wa
SfS ?A
ou =>7
On part de la ligne R[d, *] et de la colonne R[*, f] de la table R. On forme toutes les conjonctions R[d, x]AR[x, f]. Le rsultat est un OU sur toutes ces conjonctions, i.e. 1 s'il y en a une et plus 1, 0 s'il y en a 0. De mme, pour calculer sans ruse le terme R"^" [d, f] : on part de la ligne R'"[d, *] et de la colonne R''[*, f] des tables R1" et R" respectivement ; on forme toutes les conjonctions R"'[d, x^R"^, f] ; le rsultat est un OU sur toutes ces conjonctions, i.e. 1 ds qu'il y en a une 1, 0 s'il n'y en a pas.
Interprtation Que signifie Rm[x, y] = 1 ? Qu'il y a un chemin de taille m entre x et y. La plus petite valeur de m qui satisfait cette relation correspond un chemin lmentaire. Au-del, d'autres valeurs sont possibles du fait d'autres chemins lmentaires. De plus, tout chemin lmentaire de taille m passant par un sommet appartenant un circuit de taille k donne un chemin de taille m + k-n s'il parcourt le circuit n fois. Rm[x, y] = 1 signifie que x est sur un circuit de taille m. La plus petite valeur de m satisfaisant cette relation correspond un circuit lmentaire. Au-del, tout circuit lmentaire de taille m passant par un sommet appartenant un autre circuit de taille k permettra de constituer des circuits de taille n-m + p-k (n, p quelconques)... Ainsi, R3(b, b) = 1 par le circuit lmentaire (b, f, d, b), R3(a, d) = 1 par (a, d, f, d), chemin non lmentaire, contenant le circuit (d, f, d). Pour connatre seulement l'existence les chemins de taille 4 au plus, calculer (((R + I)-R + I)-R + I)-R +1 demande 3n3 + 4n2 oprations ; calculer oR4 = (oR2)2 = (oR1)4 = (I+R)4 demande 2n3 + n2 oprations, soit un gain d'au moins 33%. 8.5.3 Existence de chemins Discussion Si l'on veut savoir seulement s'il existe ou non des chemins de x y dans un graphe G, ceci s'entend pour n'importe quelle taille possible. Il faudrait donc pour un graphe donn calculer une matrice oCoo telle que oCojx, y] soit la rponse. L'union de toutes les puissances de R possibles, de 0 l'infini, ne serait pas excutable en un temps fini. Mais nous ne nous intressons en gnral qu'aux graphes finis, |X| = n sommets. Comme tout chemin correspond au moins un chemin lmentaire, il n'existe de chemin de x y que s'il existe un chemin lmentaire de x y : ceux-ci tant sans rptition de sommets, ils sont tous fournis par la dtermination des chemins de taille strictement infrieure n. Ainsi, pour un graphe n sommets :
oCo, = oCn-l
PROPOSITION 8.12 - La suite des relations oCk est forme de relations de moins en moins fines, et toutes les oCk deviennent identiques pour k >n. PREUVE. La suite des relations oO; est de moins en moins fine par dfinition : oCk+i = oCk; Rk+1 entrane que oCk oCk+1 (1). Toutes les oCk deviennent identiques pour k n : en effet, tout nouveau chemin S de x y de taille suprieure ou gale n, comporte au moins n arcs et donc n + 1 sommets pris parmi n. Un sommet au moins est fatalement rpt, et S comprend au moins un circuit. L'existence du chemin S de x y a suppose donc l'existence d'un chemin lmentaire S', sous-chemin de S, de taille k'<n, d'o x oCk y A k Sn - (3 k' < n x oCi;. y) -> ( x oCn y) soit oCi; A k >n > oCk c oCn
Chemins & circuits Or on a dj V k^n donc Procd V kSn oCn C oCp par ( 1 ), (A = oCn
149
Pour dcider de l'existence de chemins, entre tout sommet x et tout sommet y d'un graphe G n sommets, calculer la matrice [Ru1 ]m, o m est la plus petite puissance de 2 suprieure ou gale n. - Cot en log2n-n3 n = 39 demanderait 39 produits de matrice par une approche purement multiplicative, 8 produits de matrice par la mthode de Legendre, mais 6 produits de matrices seulement pour calculer la puissance 64ime, gale la puissance 39ime, au moyen d'environ 360 000 oprations ET et OU.
Tableau 8.4 Recherche de chemins par carrages successifs.
oRi
a b c d e f g
a 1
0 0 0
b
0
c
0
d 1
0 0
e 1
0 0 0
f
0
g
0 0 0 0 0
oR2
a 1
0
0
b 1 1
0
c
0
d 1 1
0
e 1
0
f
1 1
0
g
0
a b c d e f g
0^8
1
0
1 1
0 0 0 0
1
0
1 1
1
0
1
0 0 0
1
0
1
0
1
0
1
0 0 0
1
1 1
0
1
0
1
0
1
0 0
1
0 0
1
0
1
0 0
1
0
1
0
1 1
1
0
1
0
1
g
1
b a b c d e f g ' 1 o
0
c 1 1
1
d 1 1
0
a 1
0
0 0
b 1 1
0
c
1
d 1 1
0
e 1
0 0 0
f
1
1 1
0
1 o
0
1 1
0
1 1
0
a b c d e f g
1
1
1
0
1
0
1 1 1
0
1
1
1 1 1
0
1
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
0 0
1
0
1
0
1 1
Si nous reprenons notre exemple (graphe G2) : il y a 7 sommets, donc on calcule oR8 partir de oR1, oR2, oR4 (tab. 8.4), de fait, oR4 = oR8, car - il n'y a qu'un seul chemin lmentaire de taille 5, et un chemin lmentaire de taille 4 a les mmes extrmits, - il n'y a pas de chemin lmentaire de taille 6 (fig. 8.3).
8.5.4 Chemins optimaux Chemins de taille minimale II existe un chemin de taille 1 entre x et y s'il existe un arc de x y . Il existe un chemin de taille m entre x et y s'il existe un z tel qu'il existe un chemin de taille k entre x et z, et un chemin de taille m - k entre z et y. Il existe enfin un chemin de taille minimale m entre x et y s'il existe un chemin de taille m entre x et y, et si tous les autres chemins entre x et y sont de taille m au moins. Ce chemin de taille minimale m entre x et y est le plus simple des chemins reliant x y. Les calculs matriciels prcdents restent valables condition : de traiter des matrices d'entiers et non plus de boolens, de combiner par addition les (tailles de) sous-chemins successifs, d'utiliser l'oprateur min pour trouver la taille associe au plus court chemin de 2 ou plusieurs chemins de mmes extrmits, de coder l'absence d'arc par + , l'absence d'arc ou de chemin tant assimile un chemin de taille infinie (ou impossible). Ces calculs se stabilisent (tab. 8.5) car : PROPOSITION 8.13 - Tout chemin de taille minimale est lmentaire (par l'absurde).
Tableau 8.5 Recherche de chemins de taille minimale.
oRl a
b
00
c
00
f
00
g
00 00 00
00
oRs
a 0
00 00 00
b
2
c 3
e
2
00
00 00
f
1 1
00
g
3
a b c d
e f g
0 oo
00
1
00
00
1
00 00 00
a b c
d
1
2
00
0
00
1
0
00
1
00
0
00
00
1
0 2 4 3
00
2
00
00
1
00 00 00
0
00
1
00
1
3
2 4
1
00
00
00 00 00
0
00 00
00
1
00 00
3
2
00
1 1
00
0
00 00
1
00
0
00
1
0
f
g
0
00
1
0
a
00
00
c 2 0 2
d 0 2 2
e
00 00 00
f
1
00
oR2 (d,x)
oI2 (X,C)
\^I'..
2
00 00
^l.2
00
00
=>2
Chemins de longueur minimale Supposons maintenant les arcs valus par des distances. A un chemin, possdant dj une taille (nombre de ses arcs = indice de complexit), nous associons de plus une longueur ou somme des distances attaches ses arcs (indice de cot).
151
La matrice initiale est forme de valeurs non-ngatives, les calculs sont les mmes que ci-dessus. On opre la combinaison des valeurs de deux sous-chemins bout bout par +, de deux chemins de mmes extrmits par min. Les puissances calculer restent bornes, car ds lors que tout circuit a une longueur strictement positive, les chemins de longueur minimale sont tous des chemins lmentaires (par l'absurde). NOTE. On obtient de mme les chemins de cot minimal (cot remplaant distance et longueur).
Chemins de taille ou de longueur maximale Ici, on ajoute encore la valeur de deux chemins mis bout bout, mais on combine la valeur de deux chemins de mmes extrmits par max : on retient la taille (resp. longueur) du plus long. Les puissances calculer restent bornes, aux conditions ci-aprs, assurant que toute solution est un chemin lmentaire. PROPOSITION 8.14 - La recherche de chemins de taille (resp. longueur) maximale n'est convergente que dans les graphes sans boucle ni circuit. Les chemins de taille maximale apparaissent entre autres dans le calcul des fonctions ordinales, en vue notamment du trac automatique des graphes (exercice 8.11.2,sect. 10.6). Pour les chemins de longueur maximale, DFINITION 8.6 - Est dit chemin critique entre deux points tout chemin de longueur maximale. Les autres chemins de mme extrmits de longueur infrieure, sont dits chemins sous-critiques. NOTES S'il existe un seul chemin critique de longueur maximale, il est commode d'organiser le trac d'un graphe sans circuit autour de ce chemin critique pris comme axe. En matire d'ordonnancement, on peut modliser un projet par un graphe, chaque point symbolisant un vnement (ou date) du projet, et chaque arc (x, y) une tche raliser, de dure connue (assimile une longueur de temps) commenant au plus tt en x et se terminant au plus tard en y. On rend compte ainsi des prcdences respecter comme des simultanits possibles (cf. problme 8.12.4). En distinguant deux vnements : un dbut, antrieur toutes les tches, et une fin, postrieure toutes les tches, la dure du projet est celle du/des chemin(s) critique(s) du dbut la fin. Pour acclrer un projet, on affectera des ressources l'acclration des tches (appartenant au(x) chemin(s)) critiques. Pour rendre le projet plus conomique, on pourra rduire les ressources affectes aux tches non critiques. Ces stratgies doivent tre appliques/peuvent tre combines pas pas, en tant contrles par rvaluation.
152
chemins de taille de longueur combinaison des chemins bout bout des chemins de mmes extrmits calcul des puissances de matrice jusqu' stabilisation ou dpassement
minimale chemin le plus simple chemin le plus court + min toute solution est lmentaire
maximale chemins critiques + max toute solution est lmentaire, le rsultat n'tant dfini que pour des graphes sans circuit
Autres problmes de chemins optimaux De nombreux autres problmes de chemins optimaux (de capacit maximale, de fiabilit maximale, ...) ont donn naissance un foisonnement d'algorithmes similaires. La thorie des diodes (chap. 14) a prcisment t cre pour unifier l'approche de cette famille de problmes.
Sommet a b c d e f g
8.6.2 Existence d'un chemin Elle est dcidable par la fonction boolenne ci-aprs. test RechercheParNiveaux (G : graphe ; sommetinitial, but : sommet) _ test d'existence d'un chemin de sommetInitial but dans G ensemble de sommets ; SousNiveau,Visits Liste : file de sommets : x: sommet ; Liste, Visits <-{sommetlnitial} tantque Liste ^ 0 SousNiveau.succ(premier(Liste)) - Visits si but SousNiveau rend vrai ; Liste<-reste(Liste) Liste dcapite AjoutEnQueue(Liste, SousNiveau) Visits< Visits SousNiveau rend/aux ; fin RechercheParNiveaux 8.6.3 Enonciation de chemins Le procd est un peu plus labor. Le test d'existence recherche le but parmi les descendants du sommet initial, dans un faisceau des chemins issus du sommet initial, dont le dveloppement s'arrte lorsque le but est atteint. Il reste extraire du faisceau le(s) chemin(s) effectifs), dont les sommets doivent tre aussi anctres du but. Pour cela, partant du but, on remonte jusqu'au niveau 0 en ne gardant dans chaque niveau k que les prdcesseurs des sommets gards du niveau k + 1.
Tableau 8.9 Recherche d'un chemin par niveaux de e g, avec nonciation du chemin.
Niveau 0 1 2 3 4
^'
, fer-'g
8.6.4 Chemins de taille minimale (resp. borne) Obtention Le procd par niveaux s'arrte la dcouverte du premier chemin lmentaire trouv, qui est de taille minimale puisque l'exploration est mene par tailles croissantes, taille aprs taille. En limitant le nombre de niveaux, le procd recherche un chemin de taille borne (inexistant si la borne est insuffisante).
e i|
^ a
Complexit Soit k la sortance5 moyenne d'un sommet du graphe ; quand un niveau contient p sommets, le niveau suivant contient un nombre de sommets de l'ordre de k-p. De ce point de vue, le nombre de sommets traits varie comme 1 + k + k2 + ... + kdernierNiveau = O(kdernierNiveau) ds lors que k > 1, tout en restant au plus gal N. La mmoire occupe sera du mme ordre du seul fait de la gestion de l'ensemble des visits. Ainsi, aux N trs levs, le procd est considr comme vorace en place, quand l'encombrement en O(kdernierNiveau), petit devant N, reste excessif vis--vis des ressources disponibles. Supposons que l'on puisse stocker explicitement S sommets. La mthode par niveau s'applique aisment aux graphes ayant moins de S/2 sommets. Au-del, pour les graphes N sommets de sortance moyenne k, le procd devra se borner la recherche des chemins de taille infrieure logkS. Ainsi, pour S =10 000, pour k=2 on peut atteindre les niveaux 12/13, mais pour k = 5 on devra se limiter aux niveaux 5/6, et pour k=20 (jeu d'checs) on devra se limiter au niveau 3. En ralit, la valeur de k prendre est le nombre moyen de successeurs nouveaux : l'analyse prcdente, valable pour les graphes sans circuit, est pessimiste pour les graphes circuit.
Ou nombre de successeurs.
155
89 I6 K7 98 O7 L8
27 Z6 S7 X4
36 E5 D" C3
4 R4 F3 V2
5
T3
6
Y4
0" ^
M9
C/5
J6
G-'
B'
H5 N
W5
Dans le labyrinthe ci-dessus, k 4, et l'on voit que le procd trouve une solution simple, en laissant inexplors les sommets trop loigns du point de dpart. 8.6.5 Chemins de longueur minimale Comme dans le paragraphe 8.5.6, on s'intresse maintenant des graphes values, dont chaque arc est porteur d'une valeur positive spcifique, assimile une longueur (ou un cot), et la longueur (resp. le cot) d'un chemin est la somme des valeurs associes ses arcs. Quand on peut prouver que le chemin de longueur minimale est de taille minimale, on adapte la mthode par niveaux. C'est la cas pour un graphe complet dont la valuation satisfait l'ingalit du triangle. Sinon, on utilise la mthode du meilleur d'abord.
Graphes
Au dpart, on installe l'origine o dans la frange sous la forme d'un triplet (o, 0, o) ; l'ensemble des sommets traits est vide. Ensuite, l'algorithme repre dans la frange le point d'arrive p du plus court chemin issu du sommet initial (s'il n'y en a pas, le procd a chou : le point d'arrive n'est pas accessible). Aussi longtemps que ce sommet p n'est pas le but, /'algorithme envisage tous les successeurs x de ce point p : - si le successeur x a dj t trait, on l'ignore ; - si le successeur x n'a jamais t rencontr, il entre dans la frange sous une forme (x, l, p), o l dsigne la longueur de chemin trouve, et p son prdcesseur immdiat sur ce chemin ; - sinon, le successeur x est dj dans la frange sous une forme (x. l, p) ; soit (x, l, p) la nouvelle possibilit : si l < l, on garde l'ancienne solution, sinon on lui substitue (x, l, p) ; quand tous les successeurs de p ont t envisags, - l'actuel p est retir de la frange et ajout la liste des sommets traits ; - un nouveau point d'arrive p' du plus court chemin allant du sommet initial un point de la frange est dfini. Quand le but est atteint, le cot du chemin trouv est immdiatement connu ; pour son nonciation, on remonte du but l'origine o par la chane des prdcesseurs immdiats. La connaissance de l'ensemble du graphe n'est pas ncessaire, ds lors que les successeurs d'un sommet quelconque de la frange peuvent toujours tre produits, par exemple par un procd de calcul ou par un systme de rgles.
8.7.3 Exemple Une carte donne les distances du tableau 8.10. Quel est le plus court chemin allant de A D ? On applique le procd ci-aprs. Les tats successifs des listes Traits et Marqus sont donns dans le tableau 8.11. E apparat tt dans Marqus du fait d'une liaison AE directe, mais n'est trait qu'aprs C, plus prs en termes de distance mais auquel on accde plus tard par un chemin de taille 2.
Tableau 8.10 Distances.
A '^S-
anI^
IBSK; S^'iss
C 7 7 D 10
7 / /
20
B 10 / /
n^ "^ -''
yiiy'1
&S!;
Chemins & circuits procd RechercheParValeur (graphe G ; sommetinitial, but : sommet) type arc = fiche (arrive : sommet ; valeur : positif; prdcesseur : sommet) le prdcesseur est not pour faciliter l'dition finale Marqus : Traits : liste d'arcs liste d'arcs frange mobile partie fige
157
Traits<-{} Marqus<-arc(sommetlnitial,0,sommetlnitia!) tantQue Marqus{} x< arrive (tte (Marqus)) valx<-valeur (tte (Marqus)) si but = x succs : rsultat explicit par chanage dans Traits Traits<- Traits tte (Marqus) Marqus<-reste(Marqus) pour chaque yG.suc(x)-Traitsfaire Marqus<-Insertion(Marqus, arc (y, valx+G.valeur(x,y), x) o Insertion insre dans Marqus tout arc (y, v, x) dans l'ordre des v croissants au-del d'un premier (y, v, x), limine tout triplet (y, v', x) de valeur v' strictement suprieure v chec : but n'est pas accessible fin RechercheParValeur ________ Tableau 8.11 Etapes d'une recherche le meilleur d'abord pour le graphe 8.10. Traits Examin (AOA) (AOA) (B7A) (A 0 A)(B 7 A) (C 17 B) (AOA)(B7A)(C 17B) (E 20 A) ( A O A ) ( B 7 A ) ( C 1 7 B ) ( E 2 0 A ) (D 24 C) A la fin, le chemin s'obtiendra par chanage en remontant de prdcesseur en prdcesseur : (D 24 C) => (D 24 (C 17 B))=> (D 24 (C 17 (B 7 A))), et longueur(ABCD) = 24 < longueur(AED) = 30 mais taille(ABCD) = 3 > taille(AED) = 2 Le chemin le plus simple (AED) n 'est donc pas ici le plus court (ABCD). Marqus (B 7 A) ( E 20 A) (C 17B)(E20A) (E 20 A) (D 24 C)(E 24 C) (D 24 C) (D 30 E)
158
Graphes
3 E D C
4
R
5
T
3
6 Y
4
7 U
5
8 I
6
9 O
7
0 P8 M9
s x
F V
G1 B'
H N
La mthode comporte un aspect arbitraire : la slection un endroit donn, s'il en reste plus d'une, de la premire issue inexplore que l'on va explorer. Ici, le systme de priorit Est / Nord / Sud / Ouest se rvle favorable au cas NM, car dtecter M comme successeur de P vite d'explorer l'impasse 0-9-8-7-6-5-4, mais ce n'est pas toujours vrai. Supposons que je cherche aller de N vers A. La recherche dmarre de mme, en aveugle . Arriv en P, je dois essayer 0 /O/M : il n'y a plus capture par le but, et je passe en 0 ; de l, les issues inexplores sont l'Ouest, et je vais en 9, 8, 7, 6, 5, 4 pour trouver que 4 est sans issue : donc 5, 6, 7, 8 taient des impasses. En 9, 0 faisant dj partie du chemin n'est pas envisageable comme alternative 8. 9 est donc une impasse, donc 0 qui ne peut me ramener P comme issue, et y revient par chec : comme en P je venais de 0, seul M est explorable au pas 23, qui ne peut mener qu' L (24) et L au mur. Donc M est une impasse, et P et 0, et je retourne en 1 ; je repars en K (pas 29), qui mne J, H et au mur ; donc J, K, I, U, Y sont des impasses : revenus en T, je tente R, E, 3, 2, 1, A, et je trouve A au pas 43.
159
Les contre-marches tant effaces de la pile de manuvre, il reste un chemin NBGTRE321A, de taille 9 (suprieure la taille 7 du chemin optimal NBVCXWQA). Ce deuxime cas souligne que, telle quelle, l'exploration en profondeur trouvera une solution s'il y en a une, sans garantie de vitesse ni de qualit, du fait d'errances possibles dans des portions inadquates du labyrinthe ou du graphe.
,42
241 Z S
l40
4' 5 R38 F V
514 T3 G2 B'
613 Y4 H31
N
712 U5 J30
8" I6 K29
io
O9 P8 M23
A43
E39 D C
O7 L24
8.8.2 Existence et nonciation La recherche en profondeur confond les deux problmes en prouvant l'existence d'un chemin entre x et y par la construction (par essais et erreurs successifs) de l'nonc de l'un des chemins lmentaires possibles de x y.
8.8.3 Complexit et performance La mthode n'est pas trs rapide ni de trs grande qualit, mais pour les grands graphes elle est peu gourmande en mmoire, compare la mthode par niveaux. En effet, si k est la sortance moyenne d'un sommet, la recherche en profondeur atteint le niveau n en stockant k-n sommets. Pour les grands graphes, supposons que l'on puisse stocker explicitement S sommets au plus. Au-del, pour les graphes n sommets de sortance moyenne k, le procd permettra la recherche des chemins de taille S/k au plus. Ainsi, pour S = pour pour et pour 10 000, k= 2 k= 5 k = 20 on peut atteindre les niveaux 5000, on atteindra les niveaux 2000, on pourra encore atteindre le niveau 500.
Comme prcdemment, la valeur de k considrer rellement est le nombre moyen de successeurs nouveaux : l'analyse prcdente est pessimiste pour les graphes circuit.
Fig. 8.10 Recherche en profondeur d'un chemin de N A. Evolution de la pile de manuvre - les successeurs d'un sommet actif sont traits dans l'ordre E/N/O/S en gris : explorations faites puis effaces
8.8.4 Heuristiques Cette mthode est en soi conome en place mais mdiocre dans ses rsultats et parfois lente du fait de sa myopie et de ses errances. Lors de l'adaptation du procd gnrique un problme connexe, on utilisera le plus souvent les contraintes propres au problme comme principe de pilotage de la recherche en profondeur, accroissant ainsi pertinence de la rponse et performance de l'algorithme. Chemin de taille borne, de taille minimale Le procd de recherche en profondeur s'adapte simplement la recherche d'un chemin lmentaire de taille borne, en traitant en impasse le fait que la taille du sous-chemin dj dvelopp atteint la borne prescrite. Pour la recherche d'un chemin de taille minimale, une premire ide est de modifier le procd pour que la recherche se poursuive au-del de la premire solution, de faon numrer tous les chemins lmentaires attachs au couple de points relier. Cependant il serait strile d'examiner des solutions moins intressantes que celles dj rencontres, si la meilleure solution n'est pas la dernire. On procdera donc le plus souvent par amlioration progressive, la taille du meilleur chemin dj trouv servant de borne la poursuite de la recherche.
Chemins & circuits Recherche d'un chemin de taille minimale prendre comme borne initiale de la taille du chemin, le nombre de sommets ;
161
numrer par une recherche en profondeur tous les chemins de taille strictement infrieure la borne, gale chaque instant la taille du dernier chemin trouv ; on forme ainsi une suite de chemins lmentaires de taille strictement dcroissante : . . . l e chemin de taille minimale est le dernier trouv. ___ __ ___________
fin recherche d'un chemin de taille minimale 8.8.5 Chemin de longueur minimale Le procd est calqu sur le prcdent.
Recherche d'un chemin de longueur minimale ______________________ prendre comme borne initiale de la longueur du chemin, un nombre majorant largement la longueur espre ; numrer par une recherche en profondeur tous les chemins de longueur strictement infrieure la borne, gale chaque instant la longueur du dernier chemin trouv en commenant chaque niveau par le successeur atteint par l'arc le plus court ; on forme ainsi une suite de chemins lmentaires de longueur strictement dcroissante : le chemin de longueur minimale est le dernier trouv.
fin Recherche de chemin de longueur minimale______________________ Dans les cas o l'on cherche une rponse de qualit suffisante dans un dlai bref, on peut utiliser une version interruptible (par exemple, chaque nouvelle solution) ou dure limite de ce procd d'optimisation progressive.
8.9 PROBLMES HAMILTONIENS DFINITION 8.7 - En matire de graphes, on appelle problmes hamiltoniens les problmes relatifs aux circuits et chemins passant une fois et une seule par chaque sommet d'un graphe. COROLLAIRE 8.15 - Pour un graphe N sommets, un chemin hamiltonien est un chemin lmentaire de taille N - 1, un circuit hamiltonien est un circuit lmentaire de taille N. PROPOSITION 8.16 (Redei) - Si un graphe est complet, il possde un chemin hamiltonien. PREUVE. On suppose un graphe G = <X, U> tel que pour chaque couple de sommets (x y) on ait soit (x y) U soit (y x) U. Tout arc peut tre considr comme un chemin lmentaire de taille 1. Soit (X0, X2, ... Xk, ... Xn) un chemin lmentaire de taille n < N . Soit x un sommet de X n'appartenant pas ce chemin. Il existe un arc entre x et chacun des x,. En raisonnant sur leur orientation, du premier au dernier, de trois choses l'une : ou (x Xo) est un arc, et (x, Xo, x2, ... Xk, ... Xn) est un chemin lmentaire de taille n + 1, ou il existe Xk tel que (xk x) et (x x k+1 ) sont des arcs, et (x, X0, x2, ... xk, x, x k+1 ... Xn) est un chemin lmentaire de taille n +1 ;
ou finalement (x Xn) n'est pas un arc, alors (xn x) en est un, et (xo, x1, ... xk, ... Xn, x) est un chemin lmentaire de taille n + 1. Par rcurrence, on voit donc qu'un graphe complet N sommets comporte au moins un chemin lmentaire pour chaque taille possible. Il comprend notamment un chemin lmentaire de taille N - 1, le chemin hamiltonien cherch. circuit hamiltonien b a pa s de circui hamiltonien b c d
m Fig. 8.11 Graphes avec et sans circuit hamiltonien. EXEMPLES. Font partie de cette classe : le voyage ferm autour du monde de W.R. Hamilton : on suppose 20 villes sur le globe terrestre, aux sommets d'un dodcadre rgulier (20 sommets, 12 faces pentagonales) : on cherche un itinraire qui, partant d'une ville, passe une fois et une seule par chacune des 19 autres villes, puis retombe sur la ville de dpart ; la course du cavalier sur l'chiquier (Euler (1766), de Moivre, Vandermonde...) ; le problme du reprsentant de commerce (traveling salesman problem) qui dsire faire la tourne la moins longue possible, en passant une fois et une seule par les sites d'une liste ; le problme des courriers/coursiers entre divers tablissements d'une mme entreprise ; le problme d'une navette entre diffrents sites ; le problme des livres de S. Johnson (1954) : comment une mme personne doit s'organiser pour imprimer et relier n livres diffrents dans un temps minimum ; divers problmes de codage ; certains problmes de tournoi.
163
EXEMPLES. Font partie de cette classe : le problme des ponts de Knigsberg : pouvait-on, au cours d'une promenade dans Knigsberg6, passer une fois et une seule par chacun des 7 ponts de la Pregel ? (Euler, 1736) [BERGE 58]; le problme du facteur chinois, dont la tourne passe par chaque segment de rue une fois et une seule ; le problme des tournes de bennes ordures ; le gnrateur de pomes de de Werra ; la question des figures traables d'un seul trait (ou main leve). (Voir aussi sect. 10.10).
Maintenant Kaliningrad.
164
Graphes
8.11 EXERCICES
8.11.0 (Huxtable, 1961) On considre un programme form d'un ensemble P de procdures p, et on considre le graphe G = (P,U) ainsi dfini : il existe un arc (pl,p2) dans G ssi la procdure p1 appelle la procdure p2 dans le programme . Expliciter la signification en termes de procdures et de programme des chemins, puis des boucles et des circuits de G. Quelle est la signification du circuit lmentaire de taille max passant par un point ? 8.11.1 Montrer qu'une relation transitive asymtrique possde un graphe sans boucle ni circuit.
Application
Ordonnancement de projet : on considre un projet dfini par une liste d'lments (t, d, t1, t2, 13, ... tn), qui fixent pour une tche t sa dure d et la liste t1, t2, t3, ... tn des tches qui doivent tre termines avant que t commence ; abstraction faite des dures, donner un critre de validation globale des donnes s'appuyant sur une relation de prcdence entre tches. 8.11.2 Fonction ordinale (Kaufmann) On considre un graphe G = <X, U> et on dfinit sur ce graphe une fonction ordinale f(x) = (si Fx = 0 alors 0 sinon 1 + max({f(y) | y e Fx}) Interprter f(x) en temps que taille de chemin. Montrer que cette fonction n'existe que si le graphe G est sans boucle ni circuit. On dira des sommets de mme niveau s'ils ont mme fonction ordinale. Vrifier que l'existence d'une telle fonction pour un graphe G facilit son trac si, partant d'une suite de droites parallles numrotes successivement de 0 n, on s'impose de reprsenter les sommets de niveau k sur la droite de rang k. Montrer qu'on peut utiliser de mme une fonction gG dduite de fG en permutant les rles des sommets initiaux et terminaux. 8.11.3 Permutations Soit une suite de n objets distincts. On appelle permutation une transformation p note (i1, i2, ... in) o les i1, i2, ... in sont des entiers de 1 n tous distincts, et telle que :
P (X|, Xz, ... Xn ) = (Xfi, X;2, ... X;n)
i.e. telle que l'objet de rang k dans la suite initiale devienne l'objet de rang ik dans la suite permute. A chacune de ces permutations, on associe un graphe n sommets. Montrer que ce graphe n'est form que de boucles et de circuits disjoints (appeles orbes). En appliquant ces considrations la permutation ( 1 2 6 5 4 7 3 ) , justifier la transcription ( 1 2 6 5 4 7 3) =(36 7)(4 5). Par rcurrence sur le nombre de circuits, montrer que pour toute permutation p il existe un plus petit entier k tel que la puissance de composition pk soit la permutation identique.
165
En conclure que pour un ensemble 12 objets, il existe une permutation dont seules les puissances multiples de 60 sont neutres. 8.11.4 (R.Bellman) Montrer que tout sous-chemin d'un chemin de taille minimale est de taille minimale ; tout sous-chemin d'un chemin de longueur minimale est de longueur minimale ; tout sous-chemin d'un chemin critique est critique. 8.11.5 (Prather) On considre la carte ci-contre. Un VRP peut-il, partant d'une ville, passer par chaque autre ville une fois et une seule, et revenir la ville initiale ? Ce schma routier peut-il tre trac d'un seul trait, sans lever le crayon ni tracer 2 fois la mme arte ? Un facteur, un inspecteur peut-il parcourir chaque route une fois et une seule, et revenir
son point de dpart ?
8.11.7 On considre un graphe G ayant Z/n comme ensemble de sommets, et pour arcs les couples d'entiers (i, succ(i)), avec succ(i) = (i + k) mod n. En considrant les sommets de G sur un cercle, montrer que k>n/2 correspond n - k, au sens de rotation prs. On pose pgcd(k,n) = p. Montrer que si p = 1, G est un circuit eulrien, et que ce circuit correspond au trac main leve d'un polygone (toile si k>l) n sommets relis de k en k. Montrer que si 1<p<n, il n'y a plus de circuit eulrien, mais qu'il existe un polygone toile n sommets form de l'union de p polygones toiles disjoints (ex : systme 15 sommets joints de 6 en 6). 8.12 PROBLEMES 8.12.1 Partant du procd matriciel pour dterminer l'existence de chemins, en dduire un procd similaire pour dterminer l'existence de circuits autres que les boucles. 8.12.2 Chercher le schma de programme le plus conomique pour calculer une matrice 13C19. 8.12.3 Compilation (J. Beney, 1985) On considre un programme , form d'un ensemble de procdures p, crit dans un langage les acceptant dclares dans n'importe quel ordre. Le problme est de traduire tout dans un langage o l'on impose, sauf pour la rcursivit directe, que toute procdure soit dfinie aprs les procdures qu'elle emploie. Dfinir un graphe d'appel inter-procdures. Lui appliquer une forme assouplie de fonction ordinale. En dduire un principe d'ordonnancement du code objet des
procdures. Caractriser la structure des programmes que ce procd ne permet pas de traduire. Mme problme, sachant que le langage-cible impose, sauf pour la rcursivit directe, qu'en tout point d'un programme, il n'y ait jamais plus de k procdures dj utilises et non encore dfinies (k = 4 pour le dialecte Pascal considr comme cible). 8.12.4 Initiation la mthode du chemin critique (ordonnancement, VLSI...) On considre un projet P, form d'un ensemble de tches t, dfinies par des listes (d, t1, t2, t3, ... tn), qui fixent pour une tche t sa dure d et la liste t1, t2, t3, ... tn des tches terminer avant que t commence. On introduit des vnements, fin ou dbut d'une ou plusieurs tches, et on construit un Graphe d'Ordonnancement raison d'un sommet par vnement et d'un arc par tche, cet arc tant valu par la dure. Abstraction faite des dures, donner un critre de validation globale des donnes s'appuyant sur la structure du Graphe. Montrer que le Graphe accepte ncessairement une fonction ordinale. Indiquer comment le tracer en rapport avec le/un chemin de plus grande taille, notion autorise par l'absence de circuit. On s'intresse au projet dfini par la table ci-aprs. Aprs avoir dfini le dbut du projet, la fin du projet et 5 autres vnements convenables, tablir le graphe correspondant, raison d'un sommet par vnement et d'un arc par tche, calculer sa fonction ordinale, le tracer l'aide de cette dernire. On associe chaque sommet/vnement une tche dure prrequis a b c
d 10 9 15 10 aucun aucun
e f g h i
9 17 9 10 9 10
Les dates au plus tt de chaque vnement seront calcules de proche en proche, soit comme la fin au plus tt de l'unique tche qui y arrive, soit comme max des fins au plus tt des tches qui y arrivent. Quelle est la dure minimale du projet ? Le projet doit tre fini au temps 40 : comment dfinir pour chaque tche sa date de dbut au plus tard ? On appelle chemin critique tout chemin ayant pour dure la dure maximale, car tout ralentissement d'une de ses tches ralentit le projet tout entier. Dfinir le chemin critique du cas considr. Que peut-on dire des tches qui n'appartiennent pas ce chemin ? Montrer qu'on peut visualiser toutes les caractristiques temporelles du projet, en btissant un chronogramme autour du /d'un chemin critique pris comme axe horizontal.
167
On envisage de modifier les ressources attribues au projet. A quelles tches devrait-on allouer prioritairement des ressources pour l'acclrer ? Sur quelles tches peut-on faire sans risques les premires conomies ? 8.12.6 Codes de Gray Si la position angulaire d'un organe tournant est code par des capteurs selon la numration usuelle, il y a notamment risque d'oscillation entre des positions de code o l l l l et de code loooo, ou bien 11111 et ooooo. Si les diffrents bits ne sont pas alors tablis de faon rigoureusement synchrone, tout autre code peut surgir de faon fugace, pouvant entraner de graves erreurs. On utilise donc des codes s'affranchissant de ce risque, comme dans la suite {oo, ol, 11, lo, oo...}, o chaque transition ne modifie qu'un bit. Pour cela, on exploite la notion de distance de Hamming entre 2 codes binaires, nombre de bits par lesquels les 2 codes diffrent. On veut dfinir un code de Gray 16 moments . Pour cela, on considre un graphe complet 16 sommets rgulirement rpartis sur un cercle et numrots 0 15, chaque arte portant la distance de Hamming entre les codes binaires de ses extrmits, (ex : d(3,6) = d(00112, 01102) = 2). Dfinir un code G4 en identifiant un cycle hamiltonien 16 sommets, de longueur minimale, commenant par {0000, 0001, 0011, 0010, 0110...}. Montrer que chaque code ne diffre de ses deux voisins que par un bit ; qu'en particulier, le premier et le dernier code ne diffrent que par un bit. 8.12.7 Enumration de codes par dfilement On se propose d'numrer toutes les combinaisons d'un code par dcalage. Un code donn p comprenant k bits, son successeur q est form des k - 1 bits de poids faible de p, suivi d'un nouveau bit. Ainsi, un code de valeur p a pour successeur un code de valeur 2p ou 2p + 1, module 2k. Construire le graphe des successeurs possibles pour les codes 0 7 (resp. 0 15). En adaptant la recherche en profondeur, montrer que ces codes sont sur un mme circuit hamiltonien, permettant de les numrer en une seule suite. Ecrire la suite des codes sous la forme d'une table de nombre binaires, et observer la propagation des 1 en diagonale. Pour un systme k chiffres en base B, montrer que l'numration simple demande kBk chiffres, tandis que l'numration par dfilement n'en demande que k-l+Bk. Quelle serait la longueur d'une chane contenant tous les identificateurs 6 caractres ? 8.12.8 Rythmes (Prather) Le mot sanscrit yam 'at 'ar 'ajabh 'anasalag 'am est destin la mmorisation des 8 rythmes ternaires. Pour l'expliquer : transcrire ce mot en une chane binaire, en assignant 1 aux syllabes accentues, o aux autres ; interprter cette chane comme l'numration par dfilement des combinaisons d'un code.
168
Graphes
8.12.9 Graphe d'implication Soit un graphe G = (X,U) qu'on interprte ainsi : chaque sommet reprsente une proposition, chaque arc reprsente une implication tablie. Que signifie dans un tel graphe un chemin ? un circuit ? un chemin lmentaire ? Considrons ce graphe comme une donne complter. Etablir un parallle entre : a) rendre G rflexif et une tautologie connue, b) complter un jeu d'implications par des syllogismes et sorites et complter G pour le rendre transitif . 8.12.10 Dplacements urbains On considre une agglomration de 10 km 10 km, comportant environ 10 000 intersections et carrefours, et environ autant de segments de rues. On lui associe d'abord un graphe G sur la base d'un sommet par intersection ou carrefour, et d'un arc ou d'une paire d'arcs par segment de rue, selon qu'il est ou non en sens unique. Evaluer dans ce contexte les performances et exigences des mthodes de recherche de chemin point point que vous connaissez. On introduit maintenant entre sommets une relation d'quivalence tre du mme quartier , en ddoublant ventuellement certains d'entre eux, de telle faon que le graphe-quotient associ rende essentiellement compte des liaisons interquartiers (ponts, tunnels, boulevards, autoroutes urbaines...). En notant Q(a) le quartier de a, on propose de transformer le problme aller de x y en 3 problmes : un problme central aller de Q(x) Q(y) ; un problme initial dans Q(x), aller de x la bonne limite de Q(x) ; un problme final dans Q(y), aller de la limite de Q(y) atteinte partir de Q(x), la destination finale y . Etudier les conditions de validit de cette approche, et dfinir le graphe exploit par chacune des phases. Montrer qu'on peut en esprer une acclration notable. 8.12.11 Tournois Un graphe T = <X, R> est dit (graphe de) tournoi si c'est un graphe tel qu'entre tout sommet x et tout sommet y diffrent de x, il existe soit un arc (x, y) soit un arc (y, x). Il reprsente les rsultats d'un tournoi dans lequel chaque comptiteur x affronte une fois et une seule chacun des autres y, la rencontre donnant soit x bat y, soit y bat x. Etablir que chaque (graphe de) tournoi contient au moins un chemin hamiltonien. Montrer que chaque tournoi induit au moins un classement sans ex aequo, en montrant que chaque graphe de tournoi est compatible avec au moins un ordre total. Montrer que l'organisation d'un tel tournoi a une complexit de l'ordre de n2/2. On s'intresse des tournois simplifis, reprsentables par des graphes partiels de T, qui, contenant encore un chemin hamiltonien, mneraient un classement total un moindre cot. Montrer qu'en s'inspirant des tris par insertion on peut obtenir des tournois simplifis avec des complexits de n2/4, n/8 voire n-log2n.
169
170
Graphes
GONDRAN & MINOUX, Graphes et algorithmes, chap. III, collection EDF n37, Eyrolles, 1979-95... KAUFMANN A., BOULAYE G., Thorie des treillis en vue des applications, chap. I, Masson, 1978. KAUFMANN A., DESBAZEILLE G., La mthode du chemin critique, Dunod, 1969. KUNTZMANN J., Thorie des rseaux, Dunod, 1972. LAURIRE J.C., Intelligence artificielle : tome 1 : Rsolution de problmes, Eyrolles. MACOWICZ M., Approche gnrique du traitement des graphes, thse INSA Lyon, novembre 1997. PAIR C., DERNIAME J.C., Problmes de cheminement dans les graphes. Monographie Afcet, Dunod, 1972. REINHARDT F. et SOEDER H., Atlas des mathmatiques, pp. 250 et sq., La Pochothque, 1997. ROY B., Algbre moderne et thorie des graphes, Dunod, 1970, tome 2. coll., Petite encyclopdie des mathmatiques, chap. XXXVI, Edition Pagoulatos, Didier distr.
CHAPITRE 9
FERMETURES TRANSITIVES
Ce chapitre traite de la globalisation de relations. Cette laboration produit des connaissances globales partir de connaissances locales, et facilite souvent l'interprtation de relations quelconques, constates dans des expriences ou des enqutes. 9.1 FERMETURE TRANSITIVE ET DESCENDANCE STRICTE DFINITION 9.1 - Parmi les relations dfinies sur un ensemble X, une relation A est dite fermeture transitive d'une relation R, et note A = R si chaque fois l'on a x A y, on a soit x Ry, soit un z tel que x A z d'une part, z A y d'autre part. A=R = A. fermeture transitive de R = A = {(x y) e X2 x R y v (x A2 y)} EXEMPLE. Considrons un ensemble P de personnes muni de la relation R = estPereOuMereDe. On globalise cette information, en introduisant la relation A = estAnctreDe si x est pre ou mre de y, x sera dit anctre ( l'ordre 1) de y, si x est anctre ( l'ordre k) de y, et y anctre ( l'ordre m) de z, alors x est anctre ( l'ordre k+m) de z. En termes d''algbre des relations, on notera ou, sous une forme quivalente moins touffue : A = R u (AA) A = R u (RA) = R(I u A)
PROPOSITION 9.1 -A^Rest transitive, sans que R ait l'tre. DFINITION 9.2 - Rx, image de x par R, sera dit descendance de x (au sens de R) ; le vocable cne de descendance mettra l'accent sur l'absence de circuits. De mme, y sera dit appartenir la descendance de x au sens de R si xAy (resp. xRy). NOTE. Si l'on pose R = ilExisteUneRouteDirecte, alors A = ilExisteUneRoute renseigne sur l'accessibilit (sect. 10.4) ou la connexit (chap. 11). Si le graphe de R est valu par les longueurs des liaisons directes, [A] mnera une table des distances au mieux (voir aussi chap. 14, les diodes). 9.2 FERMETURE REFLEXO-TRANSITIVE ET DESCENDANCE LARGE DFINITION 9.3 - Soit maintenant R* = R I la relation tre identique ou tre anctre de, au sens de R. Cette relation, rflexive et transitive, et sera dite fermeture rflexe-transitive de R. Elle est solution d'quations aux relations telles que : R* = I (R.R*).
172
Graphes
Dans le style de la dfinition 9.1, on dfinirait une version rflexe-transitive de A par tout x est anctre de lui-mme ( l'ordre 0) ; si x est pereOuMere de y, et y anctre ( l'ordre m) de z, alors x est anctre ( l'ordre m + 1) de z. R* et Rnese distinguent que si R n'est pas rflexive, i.e. s'il existe au moins un sommet du graphe associ n'ap artena t aucune boucle ni circuit. R* est la fois la fermeture la plus riche en proprits et la plus facile calculer (cf. Mthodes Matricielles au chapitre prcdent) ; c'est pourquoi elle est souvent prfre R. La fermeture rflexo-transitive R attache un lment x un ensemble R* x dit zone d'influence ou descendance au sens large de x (x en faisant partie). On pourra noter C*x = F*x r\ F ~'x l'ensemble des sommets form de x et des sommets qui sont sur un mme circuit que lui : c'est la classe de x pour l'quivalence R=R*nR*"'. Sauf raisons trs spcifiques, o la question de savoir si un sommet appartient ou non un circuit est critique, R* se calculera partir de R, si elle est rflexive, ou IR, si R ne l'est pas : nous avons vu au chapitre prcdent que cela ncessitera de l'ordre de log2n-n3 oprations. 9.3 INTERPRTATION DES RELATIONS QUELCONQUES 9.3.1 Prordre le plus fin majorant une relation R Comme indiqu en section 5.6, la premire tape en vue de l'interprtation d'une relation quelconque R sur un ensemble X consiste chercher un prordre reprsentant R au mieux . Nous avons justement : PROPOSITION 9.2 - R est plus fine que sa fermeture rflexo-transitive R*, et R* est le plus fin des pr-ordres majorant R au sens de la relation de finesse. 9.3.2 Equivalence et partition associes une relation PROPOSITION 9.3 - L'quivalence R = R* n (R*)'' attache au pr-ordre R* est l'quivalence la moins fine minorant R*. Pour l'obtenir on part de la matrice M de R*, on obtient chaque terme de la nouvelle matrice E associe l'quivalence par E[i, j] = M[i, j] A M^i, j] = M[i, j] A M[j, i] car la transpose de la matrice associe la relation d'origine est la matrice associe la relation inverse (prop. 2.5). [E] reprsentant une quivalence, doit tre une matrice diagonale par blocs, ce qu'on obtient de fait par une permutation judicieuse de lignes et de colonnes. Les blocs diagonaux fournissent alors la partition X/R de l'ensemble de dpart au sens de (l'quivalence R drive de) R. 2 cas extrmes peuvent apparatre.
Fermetures transitives
173
L'quivalence l'arrive est rduite l'identit si au dpart chaque sommet est isol. L'quivalence l'arrive est totale si au dpart le graphe est fortement connexe (sect. 10.2). Sinon, l'quivalence quelconque obtenue structure l'ensemble de dpart en classes d'objets comparables, dont chacune deviendra sommet du graphe-quotient X/R( 8.2.1). 9.3.3 Ordre associ une relation R Nous avons vu au paragraphe 5.6.4 qu'un prordre R* induisait une relation d'ordre R sur l'ensemble-quotient X/R driv de R via l'quivalence R attache R*. 9.3.4 Niveaux de lecture d'une relation quelconque La squence relation quelconque / fermeture rflexe-transitive / quivalence / ensemble-quotient / ordre ramne au niveau macroscopique pratiquement toute relation un ordre partiel entre groupe d'objets comparables. Un examen ultrieur permet de caractriser plus finement R par les dficiences locales : intermdiaires obligs dont le rle disparat quand la transitivit est ajoute, points d'entre ou de sortie d'une classe d'quivalence, circuits lmentaires de tailles diverses dans une mme classe. 9.3.5 Exemple : un sondage On a demand un chantillon de N personnes de dire leurs prfrences relatives entre 7 poudres laver (ou vedettes de la chanson). Le graphe G ci-dessous rend compte des prfrences dclares plus de n fois (fig.9.1). La relation correspondante n'a pas a priori de proprit sympathique la rattachant directement une catgorie claire. La rflexivit est arbitraire, la relation est de plus non transitive et non symtrique (n'tant asymtrique que si n > N/2). Cependant, le procd s'applique.
174
Graphes
Tableau 9.1 Relation, fermeture transitive et quivalence associes.
R a b c d e f g
a
0 0 0 0
b
0 0
c
0 1
d 1
0
e 1
0 0 0 0 0 0
f o 1
0
g o o
0
R* a b
C
a 1
0 0
0
b 1 1
0
c 1 1 1 1 1 1
0
d 1 1
0
e 1
0 0 0
f
1 1
0
g
1 1
0
0
1 0 0 0
0
0 0 0 0
0
0
0
1 o
0 0
o o
1 0
=>
d e
f g
1
1 1
0
1 1 1
0
1 1 1
0
1 1 1
1
1
0
0
1
0 0
1
0
0
1
0
ss
a 1 1
0 0 0 0 0
e 1 1
0
0
b
0
d
0
f
0
c
0 0
g
0 0
a construction d e l a p lus grancle sous-matric e symtTique puis dgagemen t de blo es diagon aux par permut ation de lignes et colonnes e => b d f c g
1
1
1 1
1 1 1
0 0
0
0
0
0
0
0 0
1
0 0
1
0 0
0
1
0
0
EN CONCLUSION sont prfrs : (a, e) d'abord, puis (b, d, f), enfin c d'une part, g d'autre part (c et g restant non comparables) ; le sondage est interprt avec un seuil n assez bas puisqu'il y a des cas de symtrie : au moins n personnes prfrent a e, et e a ; de mme pour d, f ; si les ex aequo dans les classements sont interdits, alors n < N/2 ; en retraitant les donnes d'origine avec un seuil un peu plus lev, y a-t-il d'abord un clivage (b, d)(f) ou (a)(e) ?
Fermetures transitives
175
EXEMPLE. Le systme ci-aprs (fig. 9.2), partant de 0, parcourt les tats de la classe A pendant la phase initiale. Ensuite, soit il passe dans la classe B, pour finir soit dans la classe C soit dans la classe E, soit il passe dans le classe D pour finir dans la classe E. Les tats de la classe A forment un cycle et correspondent par exemple une mise en route, dont la fin est soumise conditions. Une transition se produit vers les tats B si (a) ... (transition u > v), ou si (b) ... ( transition z -> w), vers les tats C si ... (transition z > t). Graphe des transitions
Graphe-quotient
9.4.2 Commandabilit des automatismes Les automatismes squence, genre commande d'ascenseur, peuvent souvent tre modliss par un graphe dont les sommets reprsentent des tats, dont les arcs reprsentant les transitions possibles, sont porteurs des commandes ou entres dclenchant la transition.
176
Graphes demande marche tat marche demande arrt Fig. 9.3 Automate minimal.
En particulier pour les redmarrages aprs incident, on s'intresse souvent 1''accessibilit d'un tat y partir d'un autre x : pour cela, il faut qu'il y ait un chemin dans le graphe de x y, et la suite des entres lues le long de ce chemin donne la liste des commandes ou entres qui raliseront la transition ; la multiplicit de tels chemins permettra de choisir le plus facile mettre en uvre. Pour viter de tels problmes, il arrive qu'un circuit gnral rende de fait tout tat accessible de tout autre, quitte passer par une squence d'arrt et de redmarrage. Aprs un incident, il arrive que l'tat exact du systme ne soit pas connu. L'observation des sorties doit alors permettre de dfinir l'ensemble des tats dans lesquels il peut se trouver, et de l le jeu de commandes le ramenant un tat standard, en vitant tout nouvel incident. La poursuite de l'observation des sorties et des ractions acclre la leve des ambiguts, clarifiant et scurisant la remise en tat. La structure du graphe peut cependant indiquer qu'il n'existe pas un tel chemin, si l'tat x est dans une classe qui ne prcde pas celle de y dans le graphe-quotient : x est alors exclu du cne des prdcesseurs de y, qui n'est plus accessible de x. Tableau 9.2 Circuits et accessibilit. i>
3
&> a E
0 G
QJ JS
-S commande de arrt initial marche rduite marche normale incident purge p99
1 QJ
VS
-S
E
c3
g cg
-0
C
<U
? 3
Q.
M 0 p4 -,0 b99
+
a,b b, c, z
+,0
On peut supposer M, A, +, - commandes externes, les autres commandes pouvant tre des comptes rendus internes (ex : b99 : reprise marche rduite quand le systme a su rsoudre un incident de type b...). Tout tat est accessible, des circuits particuliers se greffant sur un circuit marche/arrt gnral.
9.4.3 Processus de Markoff Ds 1912, Markoff formulait l'hypothse que, dans certains systmes dynamiques, il fallait voir la probabilit d'un vnement comme fonction de l'vnement antrieur plutt qu'en soi, et vrifiait cette ide par le comptage de lettres et de digrammes dans Eugne Oniguine de Pouchkine. En franais, on constate que la lettre u constitue 6% des lettres des textes, mais que sa probabilit d'occurrence derrire un q est trs leve. Considrons un processus alatoire tirages indpendants : si un signe s est mis avec une probabilit p indpendante du contexte, la longueur moyenne d'une suite de signes s sera l/(l-p). Si, face une mission de signes s ayant une probabilit p, on constate l'apparition de squences longues, une approche markovienne est plus indique. On reprsente usuellement un processus de Markoff par la matrice carre des pij, probabilit de transition l'tat j lorsqu'on est dans l'tat i. Ces matrices ont donc (a) tous leurs lments valant de 0 1 inclus, (b) toutes leurs lignes de somme 1. On leur associe un graphe, raison d'un sommet par tat, et d'un arc (i, j) par probabilit pij > 0. Sur le long terme, l'volution du processus ne dpend que de la seule prsence/absence d'arc, qui rgit l'accessibilit d'un tat, lequel devient un pige si p ij = 1. La partition issue de la fermeture transitive fournit les grandes classes d'tats, stables si elles sont terminales, instables si elles ne comportent qu'un sommet sans boucle l'origine, mtastables dans tous les autres cas. Le graphe-quotient donne alors les tendances du processus :
fonctionnement permanent entre tous les tats, s'il existe un circuit hamiltonien, ou fonctionnement se restreignant une composante fortement connexe, la classe terminale.
Les valeurs numriques des probabilits fixent la vitesse d'volution du processus, la dure moyenne de maintien dans un tat donn... EXEMPLE. Pour une personne dont on modlise l'humeur, normale ou irrite, un modle markovien rendra compte de la frquence relative des tats normal et irrit , de la dure moyenne de l'irritation (rendue indpendante de la frquence), par contrecoup, de la susceptibilit de la personne.
9.4.4 Structure d'influence et physique qualitative On sait bien mettre en quations la trajectoire d'un objet, mais personne n'utilise ces quations quand il s'agit d'envoyer une boule de papier dans une balle papier ; or un tel jet peut cependant tre russi ou, par essais successifs, s'amliorer rapidement. L'ide est venue divers auteurs qu'il devait y avoir une sorte d'apprhension intuitive de la situation, cependant suffisante. On a propos depuis un modle base de graphes, raison d'un sommet par grandeur perue, et d'un arc de x vers y marqu +, absent, ou marqu -, selon le signe et la valeur de y/x, l'absence correspondant une influence directe ngligeable. L'existence d'un chemin de x vers y tmoigne d'une influence moins directe ; on la qualifie de positive ou ngative selon que le chemin comporte un nombre pair (voire nul) ou impair d'arc(s) ngatifs). Les deux difficults souleves par cette approche concernent les circuits, et les agrgations de chemins de signes opposs. Il est parfois difficile d'interprter qualitativement les circuits, ds lors que la thorie de la rtroaction montre que la distance entre rgime stable et rgime instable est souvent trs faible et demande une apprciation numrique. Il est galement dlicat de savoir ce qui se passe si de x y il y a plusieurs chemins de signes diffrents : le(s)quel(s) l'emporte(nt) globalement? Cependant, on peut dj se faire une ide des interdpendances du systme, et de ses parties critiques. De tels graphes sont aussi utilisables en conomie ou en sociologie avec une interprtation semblable. savoir
Fig.9.5 Graphe pour plus je sais, plus je pense ; plus je pense, moins je sais .
Fermetures transitives
179
9.5 EXERCICE
9.5.0 Soit R une relation transitive et irrflexive, laquelle on associe la relation squelette S = R - R2. Montrer que R = S.
9.6 PROBLEMES
9.6.0 (d'aprs Huxtable, 1961) On considre un programme II utilisant un ensemble P de procdures p, et on considre le graphe G = (P, U) ainsi dfini : il existe un arc (p1, p2) dans G ssi la procdure p1 appelle la procdure p2 dans le programme n. Revoir la signification en termes de procdures et de programme des chemins, des boucles et des circuits de G. Soit compiler n. On suppose qu'on dispose de deux politiques de traduction des procdures, dont une trs efficace qui ne s'applique qu'aux procdures non rcursives. Qu'apporte l'exploitation de la fermeture transitive de G ? Soit fragmenter n en modules. Qu'apporte la fermeture rflexe-transitive de G, l'quivalence et le graphe quotient driv ? Montrer que ce dernier graphe favorise le groupement des modules en couches. 9.6.1 A raison d'un sommet par quantit et d'un arc par influence, exprimer par un graphe arcs signs, style physique qualitative, les observations suivantes : 1. 2. 3. 4. 5. Quand les prix grimpent, les salaires grimpent. Quand les salaires grimpent, les prix grimpent. Quand les prix grimpent, les volumes baissent. Quand le volume crot, l'embauche crot. Quand l'embauche crot les salaires croissent.
Mettre en lumire un circuit ngatif et un circuit positif. Selon les vitesses de parcours et les effets d'amortissement ou d'amplification d'une fluctuation, montrer que ces circuits provoquent soit une rgulation, soit une instabilit, cyclique ou exponentielle. Attacher chacun de ces arcs des conditions de validit. Vrifier qu'elles sont de diffrents ordres, expliquant des effets variables de cette structure selon les scnarios. 9.6.2 Sondage La socit Vox Populi est charge d'enquter sur les prfrences d'utilisateurs pour une liste de produits. Dans un chantillon E de 50 utilisateurs, chaque personne interroge donne un ordre de prfrence pour 5 produits au plus. On dresse ensuite une matrice des prfrences P, chaque pij indiquant le nombre exact de sonds ayant class i avant j (tableau P ci-aprs).
180
Graphes
On introduit une famille de relations P); sur la base : x Pk y = k personnes au moins prfrent x y. Pour un seuil k dcroissant de 50 0, dfinir : les relations Pk distinctes retenir les fermetures transitives Fk associes, les interprtations correspondantes des Pk.
P a b c d e f
a 0 7 8 7 5 3
b 15 0 9 10 15 17
c 14 6 0 8 11 8
d 9 13 11 0 9 3
e 18 9 15 9 0 15
f 20 6 11 5 9 0
On peut tendre la distance de Hamming entre vecteurs boolens une distance entre relations. Pour cela, on prend comme distance entre relations R et S sur un mme ensemble, le nombre |RDS| de couples satisfaisant l'une mais pas l'autre. En ce sens, peut-on dire qu'une fermeture Fk est peu distante , bonne approximation des Pk Pk-1, Pk-2. ? Si k > N/2 ? 9.6.3 Graphe d'implication On considre un graphe G = (X,U) avec la convention : chaque sommet reprsente une proposition, chaque arc reprsente une implication tablie. Que signifient les fermetures transitives et rflexe-transitives de G : en tant que processus ? en tant que rsultats ? Que signifient les classes initiales, finales ou intermdiaires issues de la fermeture rflexe-transitive? Graphe G d'implication
On considre le graphe ci-dessus. Montrer qu'il suffit d'tablir 2 implications (parmi 8) pour prouver que toutes ses propositions sont quivalentes ( un sorite prs).
9.6.4
On considre des images noir et blanc ayant une proportion x = 85% de pixels blancs et une proportion y = 15% de pixels noirs. Montrer que cela devrait entramer des squences blanches de 6,7 pixels en moyenne. On observe en pratique des squences blanches d'une longueur moyenne de 20 pixels. On tente alors de dcrire le phnomne par un processus de Markoff de matrice caractristique donne ci-contre. Tracer le graphe valu complet associ. Poo <PlO Poi^p-.P Pu) [ H P ^ -q)
Fermetures transitives
181
{x y )
d'o, finalement,
^-P P 1 / \ , = [x y ) q \-q\
x=; y=; xly=plq p+q p+q Montrer que les longueurs moyennes des squences sont respectivement 1/p et 1/q. En dduire les probabilits p, q associes l'image dcrite, et la longueur moyenne d'une squence de pixels noirs. On dsire transmettre des images de 1 000 000 pixels. On souhaite coder les squences l'aide d'un ou plusieurs codes successifs forms d'un bit de couleur, suivi d'un champ de n bits (n 2) contenant un nombre de 0 2 n -1 reprsentant une longueur de 1 2 n . En fonction de n, combien demandent-ils de bits par pixel en moyenne ? Quel n dorme la meilleure compression ?
9.7 LECTURES
BERGE C., Thorie des graphes et ses applications, Dunod, 1958-63. FAURE R., LEMAIRE J., Mathmatiques pour l'informaticien, tome I, chap. VI, Coll. Programmation, Ed. Gauthier-Villars, 1973. GONDRAN & MINOUX, Graphes et algorithmes, chap. III, collection EDF n37, Eyrolles, 1979-85... KAUFMANN A., PICHAT E., Mthodes mathmatiques non numriques, vol. 2 Algorithmes de recherche de chemins et problmes associs, Masson, 1977. K.UNTZMANN J., Thorie des rseaux, Dunod, 1972. PAIR C., DERNIAME J.C., Problmes de cheminement dans les graphes. Monographie Afcet, Dunod, 1972. ROY R., Algbre moderne et thorie des graphes, tome 2, Dunod, 1970.
CHAPITRE 10
L'arbre est un schma frquemment rencontr dans les structures de dcision (questionnaires, hirarchies, classifications) et de dnombrement. Antrieure la Renaissance, la notion de connexit exprime les liaisons et interdpendances, et rend compte de l'accessibilit d'un lment un autre, considre comme d'autant plus robuste qu'elle tolre des suppressions locales d'lments ou de liaisons dans l'environnement des lments concerns. En ce sens, l'arbre est un graphe connexe, mais tant la moins redondante de ces structures, elle est la moins robuste.
EXEMPLE. Dans un ensemble de personnes structur par la relation aPourEnfant, il y a chemin entre toute personne et chacun de ses descendants ;
il y a chane dans ce cas, puis entre chaque personne et ses anctres, puis entre toutes les personnes qui partagent un anctre ou un descendant, et de proche en proche pour tous les couples (x, y) pour lesquels on peut passer de l'un l'autre par des intermdiaires partageant un anctre ou un descendant avec le prcdent et le suivant.
10.1.2 Cycles & circuits DFINITION 10.2 - Un cycle est une chane (x = xo, x1, x2, ... Xn) dont les extrmits concident, i.e. telle que Xn= x.
.^,
Fig. 10.2 Cycle sans circuit.
Les notions de cycle et de circuit sont confondues dans un graphe symtrique. PROPOSITION 10.3 - Un graphe orient possde un cycle ssi son symtris en possde un.
10.2 GRAPHE (FORTEMENT) CONNEXE DFINITION 10.3 - Un graphe G = <X, U> est dit graphe/orientent connexe si pour tous les sommets x, y de X, x = y ou il existe un chemin de x y (ex : G1, fig. 7.4) ; graphe connexe si pour tous les sommets x, y de X, x = y ou il existe une chane de x y (ex : G1, fig. 7.4 et G2, fig. 8.3). Ces notions concident pour les graphes symtriques. Sinon, la forte connexit implique la connexit.
10.3 COMPOSANTE CONNEXE D'UN GRAPHE DFINITION 10.4 - On appelle composante connexe C d'un graphe G, tout sousgraphe connexe de G, maximal pour cette proprit (i.e. qui la perd si on lui ajoute un sommet). Les composantes connexes sont les classes de connexit, classes d'quivalence de la relation tre identique ou sur une mme chane. NOTES Dans un graphe G, la composante connexe C, laquelle appartient un sommet x s'obtient en recherchant tous les descendants de x - dans G, s'il est symtrique, - dans son symtris, si G est orient. La recherche peut s'effectuer en exploitant la matrice relative la fermeture transitive de la relation symtrise, ou par une mthode locale. La matrice d'adjacence d'un graphe quelconque est diagonale par blocs, si ses lignes et colonnes ont t permutes pour regrouper ses sommets par composante connexe.
185
DFINITION 10.5 - On appelle nombre de connexit d'un graphe le nombre de ses composantes connexes. NOTE. L'ensemble des composantes connexes se trouve en partant des sommets, au dpart non-numrots. Tant qu'il reste un sommet non numrot : on lui donne un nouveau numro, puis on assigne le mme numro tous les sommets de sa composante connexe. Ce processus se termine ds lors que le graphe est fini. PROPOSITIONS 10.4 - Un graphe connexe est form d'une seule composante connexe : son nombre de connexit est 1. 10.5 - L'existence d'un chemin de x y suppose x et y dans la mme composante connexe (par l'absurde).
10.4 COMPOSANTES FORTEMENT CONNEXES Dans les graphes orients, considrons les sous-ensembles fortement connexes maximaux : ce sont les composantes fortement connexes, classes d'quivalence fournies par la fermeture transitive, internes ou identiques aux diffrentes composantes connexes. EXEMPLES Si un graphe reprsente une structure de communication, la communication est bilatrale entre x et y ds lors qu'ils font partie d'une mme composante fortement connexe. Dans un rseau de communication en construction, on peut ainsi distinguer ce qui est fait (le graphe de communication) de ce qui est oprationnel (les composantes fortement connexes, classes d'quivalence pour peut dialoguer avec .) Si une municipalit veut introduire ou modifier un systme de rues sens unique, elle doit (faire) vrifier que l'ensemble des rues ainsi orientes, totalement ou partiellement, constitue toujours un graphe fortement connexe. Sinon, certains points de la ville deviendraient inaccessibles, d'autres se transformeraient en piges...
Dans les graphes symtriques, il y a confusion entre composantes connexes et composantes fortement connexes. Sinon, les composantes fortement connexes partitionnent les composantes connexes.
10.5 CENTRES, RAYON, DIAMTRE D'UN GRAPHE 10.5.1 Ecart, cartement DFINITION 10.6 - Soit G = <X, U, L> un graphe dont les arcs sont valus par une longueur. On appelle d(x, y) Y cart de x y, ou longueur du plus court chemin allant de x y, soumis aux conventions suivantes : pour tout x e X, d(x, x) = 0, si y e r*(x), alors d(x, y) = oo.
186
Graphes
PROPOSITION 10.6- (BERGE) d(x,y) vrifie : d(x, x) = 0 d(x, z) ^ d(x, y) + d(y, z) et, si le graphe est symtrique, d(x, y) = d(y, x) DFINITION 10.7 - On appelle cartement d'un sommet x : e(x) = max ( d(x,y) )
yeX
REMARQUE. Un graphe qui n'est pas fortement connexe possde au moins un sommet d'cartement infini. 10.5.2 Centre(s) et rayon DFINITION 10.8 - On appelle centre d'un graphe tout sommet d'cartement minimal, rayon d'un graphe son cartement minimal p. NOTE. L'quivalent gomtrique, pour une zone (resp. volume) connexe et convexe munie d'une distance euclidienne est donn par le centre et le rayon d'un cercle (resp. d'une sphre) circonscrit la zone (resp. au volume) et de rayon minimal. 10.5.3 Diamtre DFINITION 10.9 - Soit G un graphe fini, fortement connexe. On appelle diamtre d de G son cartement maximal : d = max(e(x)) = max(d(x, y))
xeX x.yeX PROPOSITIONS
10.7 - Un graphe non fortement connexe ou ayant une boucle aurait un diamtre infini. 10.8 - (BERGE) arcs on a n m 5 Dans un graphe fortement connexe sans boucle n sommets et m < <, <: m n-(n-l) (n - 1 ) (si on raisonne en taille)
10.9 - Dans un graphe symtrique ^ 2p 10 centres b c k 8=5 d h 1 a e i p=3 b / J 2 centres c g k 5=5 d h 1 a e i b / 2 centres c g k d h 1
j
P=5
n = 10 m = 1 0
n=12 m=17
Arbres & connexit Le nombre n de sommets indique Le nombre m d'arcs dnote Le rayon p qualifie Le diamtre d caractrise
187
le nombre de sites desservis. le nombre de liaisons directes (cot). l'loignement des centres. les liaisons les plus longues.
10.6 ARBRES, FORETS, HIERARCHIES, ARBORESCENCES DFINITIONS 10.10- Un arbre est un graphe symtrique connexe sans cycle. Une fort est un graphe symtrique dont chaque composante connexe est un arbre. 10.11 - Une hirarchie est un graphe connexe orient sans circuits. Une arborescence est un graphe orient, connexe et sans cycle possdant : un et un seul sommet initial, dit racine, des sommets terminaux ou feuilles, d'autres descendants, ayant un seul prdcesseur et au moins un successeur, dits nuds. EXEMPLES Soit un questionnaire N issues disjointes. Il est arborescent s'il existe un seul chemin(ement) de la question initiale chacune des issues. Il est seulement hirarchique s'il existe plusieurs entres, plusieurs issues, pas de circuits mais des sous-chemins communs. Le systme de fichiers d'Unix est un graphe orient connexe. La prsence de circuits (liens . et..) fait qu'il ne s'agit pas d'une arborescence (Y. Martinez). Une arborescence, plus souvent une hirarchie, peut constituer un modle utile, sur la base d'un sommet par situation et d'un arc par action pour - les ordonnancements, - les jeux, - les conflits, - les ngociations (Rand Corp., affaire de Cuba, 1962), l'absence de circuit signifiant qu'on ne revient jamais exactement une situation antrieure. En vue de rsoudre un problme, on est souvent admis le dcomposer hirarchiquement en sous-problmes mieux connus, un circuit n'apparaissant que si un problme est dfini rcursivement (i.e. par rapport une autre version de luimme).
NOTE. Pour une transition naturelle de la notion d'arbre celle d'arborescence, cf. Jacques VELU (1994), chapitre 20. PROPOSITION 10.10- Un graphe orient sans circuit <X, F> possde deux fonctions ordinales g et h dfinies par : V x eX g(x) = si r(x) = 0 alors 0 sinon 1 + max(g(y)) V x eX h(x) = si F ''(x) = 0 alors 0 sinon 1 + max(h(y))
yer (x)
NOTES L'absence de circuit garantit la convergence de la dfinition. Ces fonctions ordinales facilitent un trac clarifi des graphes sans circuit. Considrons le graphe 64 de la figure 10.4. En calculant g() pour chacun de ses sommets, on peut en proposer la reprsentation 10.5, qui regroupe sur un mme niveau n les sommets x tels que g(x) = n, et met en vidence la hirarchie correspondante (fig. 10.6 fait de mme avec la fonction h).
p/4
<-
0 / terminaux w/0 v/0 u/0 Fig. 10.5 Gf redessin par niveaux de sa fonction ordinale g.
189 e J
0
j
0
j
0
1 m q r
cot a b c d e f
a 0
b 10 0
c 15 18 0
d 20 25 0
e 22
f 20 i^iil^' 9 17 14 0
R cf ce ac ab df
Y c,f +e +a +b +d
Z a, b, d, e a,b,d b,d d ^
Sis
20 0
ffil"
tri:
10.9 POINTS, ENSEMBLES D'ARTICULATION DFINITION 10.13 - Vnpoint d'articulation est un sommet dont le retrait dconnecte une composante connexe ou un graphe connexe. S'il faut enlever plusieurs points la fois pour dconnecter le graphe, ces points forment un ensemble d'articulation. PROPOSITIONS 10.12 - Tout sommet non terminal d'un arbre est point d'articulation (comme centre d'une structure en toile...). 10.13 - Un graphe qui admet un circuit hamiltonien n'a pas de point d'articulation.
191
10.10 ISTHME
DFINITION 10.14 - Un isthme est une arte dont le retrait1 dconnecte un graphe connexe ou une composante connexe. PROPOSITIONS 10.14 - Toute arte d'un arbre est un isthme. 10.15 - Aucune arte d'un cycle ou d'un circuit n'est un isthme. 10.16 - Un graphe possdant un cycle eulrien n'a pas d'isthme. a b e g h c f i d
Le retrait ne porte que sur l'arte, pas sur les sommets aux extrmits.
On peut considrer ces nombres comme indicateurs de robustesse, par exemple pour un rseau vis--vis des catastrophes naturelles, accidents... On peut galement les envisager pour juger de Y quit d'un tournoi simplifi. Par exemple, un cube, graphe 3-connexe et 3-arte-connexe, peut tre considr comme un modle parfaitement symtrique de tournoi entre 8 personnes, avec 12 rencontres, chacune participant 3 exactement sans avoir de rle plus critique qu'une autre.
10.12 MULTIGRAPHES
DFINITION 10.16 - Un multigraphe est un graphe qui possde plusieurs arcs ou artes de mmes extrmits. Il est dit p-graphe s'il n'a jamais plus de p arcs (ou artes) ayant mmes extrmits (BERGE, 1983). On le reprsente par une matrice d'adjacence ( 7.8.1) quand une case (x, y) peut contenir une somme symbolique individualisant suffisamment chaque arc ou arte reliant x y, plus souvent, par des matrices d'incidence sommet/arc ( 7.8.3) dont chaque colonne reprsente un arc individualis.
D: graphe 3-arte connexe cycle hamiltonien Fig. 10.12 Connexit aux artes.
EXEMPLES Une formule dveloppe de chimie organique correspond un multigraphe ds qu'on explicite des liaisons non satures : - l'actylne dnote H-CC-H, (on parlera alors de 3-graphe), - le schma de Kkul pour les noyaux benzniques, etc. Un circuit lectrique correspond un multigraphe quand plusieurs composants sont monts entre deux mmes points. Un multigraphe modlise tout rseau de communication ou de distribution o existent des liaisons doubles ou multiples entre points, la robustesse du rseau face aux risques de rupture de liaison tant rgie par l'arte-connexit du multigraphe.
193
Intelligence artificielle / modlisation. Un multigraphe peut tre utilis pour reprsenter simultanment plusieurs relations relatives un mme champ smantique : cette convention est la base des rseaux smantiques, pour lesquels des relations secondaires seront calculables par composition des relations fondamentales retenues.
10.12.1 Base de cycles Considrons un (multi)graphe connexe G = <X, U>, et dans G un cycle c lmentaire parcouru dans un certain sens. Supposons un sens et un numro spcifique i associ chaque arte ui. Alors, au parcours de c on peut associer un t-uple v = { v,}, o chaque v, vaut 1, si c emprunte ui dans le sens prvu 0, si c n'utilise pas ui, -1, si c utilise ui contresens. v = {-Vi} dcrit alors le mme cycle que v, mais parcouru dans l'autre sens. On peut alors introduire la somme voire la somme algbrique de cycles, les parcours multiples d'un mme cycle... PROPOSITIONS 10.19 - (GONDRAN) Tout cycle d'un multigraphe s'interprte comme somme de cycles lmentaires (identiques ou) disjoints. 10.20- (BERGE) Les cycles d'un multigraphe forment un espace vectoriel. 10.21 - Les cycles d'un multigraphe s'expriment comme combinaisons linaires d'un nombre rduit de cycles formant une base de cycles du multigraphe. 10.12.2 Nombre cyclomatique DFINITION 10.17 - Soit un multigraphe G, avec n sommets, m artes, p composantes connexes. Posons : p(G)=n-p v(G) = m - p(G) = m - n + p v(G) est par dfinition le nombre cyclomatique de G. PROPOSITIONS 10.22 - (BERGE) Soit G un multigraphe, et G+ un multigraphe obtenu en ajoutant G une arte (a, b), o a et b sont dj sommets de G. Si a et b sont confondus ou dj lis par une chane dans G alors p(G + )=p(G);v(G + )=v(G)+l sinon p(G + )=p(G)+l;v(G + )=v(G) 10.23 - (BERGE) Pour tout graphe G = <X, U> p(G) SO v(G) 2: 0 . PREUVE. On part d'un graphe Go= <X, 0> ayant comme sommets les n sommets de G, mais 0 arte et donc n composantes connexes, pour lequel p = 0, v = 0. On lui ajoute une une les artes de G, faisant crotre (mais jamais dcrotre) soit p soit v, qui ne peuvent donc tre que positifs (ou nuls).
194
Graphes
10.24-(BERGE) Le nombre cyclomatique v(G) d'un multigraphe G est gal au nombre maximum de cycles indpendants.
10.12.3 Applications Electricit /Electronique Considrons un schma lectrique, assimilable un multigraphe, sur la base d'un composant (rsistance, inductance, condensateur, gnrateur) par arte, et d'un sommet par nud de connexion. La mise en quation peut se faire en considrant un courant par branche (composant ou suite de composants monts en srie). Dans le cas de la figure 10.13 ci-aprs, nous aurions 37 courants de branche inconnus, lis par 22 quations de Kirchoff aux nuds, portant sur les courants, 16 quations de Kirchoff aux mailles, portant sur les tensions relatives aux branches. De prfrence, la mise en quation se fait selon la mthode des courants fictifs de Maxwell : on introduit un courant boucl sur lui-mme pour un premier circuit lmentaire, puis pour un second circuit utilisant au moins une branche sans courant affect etc., jusqu' ce que chaque branche soit traverse par au moins un de ces courants. Les circuits sont les mailles auxquelles nous appliquons la loi de Kirchoff aux tensions. Soit ici 16 mailles ou circuits. Les 16 courants inconnus correspondants fournissent au signe prs, 16 courants de branche, les 21 autres courants de branche par des sommes algbriques du style Sskik avec 1 <, k < 16 et Sk {- 1, 0, + 1}. Le nombre de courants fictifs de Maxwell est prcisment fix par le nombre cyclomatique du multigraphe de connexion, savoir : v = branches - nuds + 1 ; ici v = 3 7 - 2 2 + 1 =16. NOTE. Comme l'a montr Yves Rocard, tout rsultat applicable en lectricit se transpose immdiatement la mcanique des vibrations, l'acoustique, la thermique et, potentiellement, bien d'autres domaines dans lesquels on dveloppera des interprtations physiques diverses, mais analogues, d'un mme modle de systme linaire.
1->
^
2->
5 <-8
3->
6 <-9
12
4^
7 4> 4
(1)
(2)
(3)
<-10
13 17 20 24 27 31 34 <-35
11 15
(4)
(5)
(6)
16 19 23 26 30 33 <-36
18 22
sl/21
1^16 4/
(7)
(8)
(9)
25 29
(10)
(11)
(12)
4/
32 <-37
(13)
(14)
(15)
+ 21 dfinitions auxiliaires
Fig. 10.13 Les courants fictifs de Maxwell comme bases de cycles.
Gnie logiciel Pour amliorer testabilit et maintenabilit des logiciels, MCCABE (1976) a suggr d'employer le nombre cyclomatique du graphe de structure d'un traitement comme mesure de sa complexit structurelle (ou dcisionnelle), largement adopt depuis [WATSON & McCABE]. Dans cet esprit, tout sommet reprsente une instruction, et tout arc une transition entre instructions. La complexit est alors donne par v(G) = nbTransitions - nbSommets + nbComposantes Une suite d'instructions ou squence est assimilable une instruction unique, car cette agrgation supprime autant de sommets que d'arcs, et laisse v(G) invariant. Un sommet ralise une confluence de traitements si son entrance excde 1, une divergence (ou tape dcisionnelle) si sa sortance dpasse 1. Les divergences correspondront aux if, until ou while terminaux, case, alt, par ; les convergences, aux cibles de branchements, aux repeat ; tandis que les while ou until initiaux seront mixtes.
100 110 120 130 140 150 200 210 300 999
inputx=;x inputy=;y ifx>ythen300 ifx=ythen200 print x, plus petit que , y goto999 print x, gale , y goto999 print x, plus grand que , y stop
NOTE. La mesure calcule ne change pas si 140/150 et/ou 200/210 sont remplacs par un seul nud, car on te la fois un arc et un nud. Elle reste gale au nombre de dcisions binaires.
10.13 EXERCICES
10.13.1 (Berge)
En 1870, le premier rseau de communications par pigeon-voyageurs assurait les liaisons donnes ci-aprs. Chercher une/les composante(s) fortement connexe(s) et dfinir le statut de chaque ville au regard du rseau. de Bordeaux Bordeaux Grenoble Lyon x Marseille Nice Paris Grenoble Lyon Marseille Nice x x x x x x x Paris x
10.13.2 Montrer que dans tout graphe symtrique le diamtre est au plus gal au double du rayon. 10.13.3 On considre un logiciel, ses modules, ses procdures, leurs appels respectifs. Le graphe d'appel des procdures forme-t-il une hirarchie ? Et le graphe d'appel des modules ?
197
10.14 PROBLEMES
10.14.1 Mthode du palmier Discuter la proposition suivante. Pour tracer aussi clairement que possible les graphes connexes ayant de nombreux circuits (et n'admettant donc pas de fonction ordinale) : chercher les circuits lmentaires du graphe et les classer par taille dcroissante, organiser la reprsentation partir du circuit lmentaire le plus long, puis du suivant etc. dans l'ordre des tailles dcroissantes.
10.14.2 On considre une arborescence A. On appelle hauteur de chacun de ses sommets x : h(x) = ( F "'(x) = 0 -> 0 ; 1 + h(r'(x) ) Qu'appellera-t-on hauteur de l'arbre ? Peut-on s'en servir pour mesurer la complexit d'un questionnaire, d'un menu, d'un systme arborescent de menus ?
10.14.3 Dans un arbre ou une arborescence, on appelle distance d(x, y) entre sommets x et y la taille de la chane lmentaire allant de l'un l'autre. Vrifier le bien-fond de cette dfinition. On considre un systme arborescent de menus et sous-menus. Que reprsente d(x, y) dans cette arborescence ? Que se passe-t-il si y (ou l'action attache) doit succder frquemment x (ou l'action attache) alors que d(x, y) est grand ? Impact sur les rgles de construction des menus.
10.14.4 En 1985, le responsable de la Centrale de Traduction Automatique de l'Union Europenne, centrale tablie Luxembourg, dclarait : Nous traduisons automatiquement le franais en anglais, et rciproquement ; notre prochain objectif, bientt ralis, nous permettra de traduire automatiquement toute langue germanique [officielle de l'UE] en anglais, et toute langue romane [officielle de l'UE] en franais . Etait-il encore loin de l'objectif traduire toute langue officielle de l'UE dans n'importe quelle autre langue officielle de l'UE ? (Chiffrer en %.) Tracer le graphe des traductions possibles. Est-il connexe ? fortement connexe ? Donner les consquences pratiques.
10.14.5 Votre oncle Marmaduke Gascoyne, officier retrait de l'Arme des Indes, prtend qu'en matire ferroviaire, il prfre un rseau hamiltonien un rseau la Kruskal. Pourquoi ?
198
Graphes
10.15.2 Considrer un rseau routier ou ferroviaire. Que signifie pour une ville un cartement lev ? tre un centre pour un tel rseau ? Y a-t-il intrt y implanter une usine ? un entrept ? Applications : A partir d'une table des distances ville ville, montrer que le centre de la France, au sens de l'actuel rseau routier, se situe entre Bourges et Orlans. Implantation de la capitale d'un pays neuf.
10.15.3 Discuter le concept d'arbre ou d'arborescence appliqu la structuration d'un document comme ce texte, la classification de documents (par exemple, classification dcimale universelle des bibliothcaires et documentalistes).
10.15.4 Discuter le concept d'arbre ou d'arborescence appliqu la production de formulaires partir de textes d'arrts ou de rglements. 10.15.5 Soit un rseau routier concevoir, pour un budget limit. Comment tenir compte des cots (supposs pour une liaison (x y) proportionnels sa longueur), de l'intrt - estim pour la mme liaison (x y) par un prdicteur de frquentation : population(x) population(y) / distance(x, y) ?
199
10.16 VOCABULAIRE
On trouvera un glossaire trilingue plus tendu dans (BERGE, 1983). cas orient graphe (orient) digraph, directed graph vertex (vertices) root, ending vertex predecessor successor directed edge directed path (l-)loop circuit, (k-)loop (strongly) connected graph directed acyclic graph, DAG directed tree cas symtrique graphe symtrique, non orient sommet sommet pendant sommet adjacent arte chane boucle cycle graphe connexe (symmetric) graph vertex (vertices) pendant vertex neighbour edge path cycle connected graph
sommet sommet initial, terminal prdcesseur, successeur arc chemin boucle circuit (de taille k) graphe (fortement) connexe graphe sans circuit hirarchie arborescence (graphe orient sans cycle, sommet initial unique) accessibilit reachability
10.17 LECTURES
BERGE C., Thorie des graphes et ses applications, Dunod, CUM n 2, 1963. BERGE C., Graphes, Gauthier-Villars, 1983. FAURE R., LEMAIRE J., Mathmatiques pour l'informaticien, tome I, chap. VI, Coll. Programmation, Ed. Gauthier-Villars, 1973. GONDRAN M. & MINOUX M., Graphes et algorithmes, chap. III, collection EDF n 37, Eyrolles, 1979-95... KUNTZMANN J., Thorie des rseaux, Dunod, 1972. McCABE T.J., A Complexity Measure, IEEE Transactions on Software Technology, vol SE-2, n 4, dec. 1976, pp. 308-320. PAIR C., DERNIAME J.C., Problmes de cheminement dans les graphes. Monographie Afcet, Dunod, 1972. PICARD C.F., Thorie des questionnaires, Gauthier-Villars, 1965. PICARD C.F., Graphes & questionnaires, Gauthier-Villars, coll. Programmation, 1972 (2 vol.).
200
Graphes
PRATHER R.E., Discrte Mathematical Structures for Computer Science, Houghton Mifflin Cy Boston, 1976. ROBILLARD P.N. Le logiciel, de sa conception sa maintenance. Ed. Gatan Morin, Chicoutimi, Qubec, 1985 ( 10.5 : complexit selon McCabe). ROY B., Algbre moderne et thorie des graphes, tome 2, Dunod, 1970. VELU J., Mthodes mathmatiques pour l'informatique, Dunod, 1994, chap. 20. WATSON A.H., MCCABE T.J., Structured Testing : a testing methodology using the Cyclomatic Complexity Metric, NIST special publication 500-235, 19962. coll.. Petite encyclopdie des mathmatiques, chap. XXXVI, Edition Pagoulatos, Didier distr.
CHAPITRE 11
GRAPHES MULTIPARTIS
Pour modliser et rsoudre les problmes d'exclusion mutuelle, traiter certains jeux, et pour introduire aux hypergraphes.
11.1 PRSENTATION
DFINITION 11.1 - Un graphe G = <X, U> est dit graphe k-parti1 s'il existe une partition {X1, X2... Xk} de X forme de k sous-ensembles non vides, et tels que V (x, y) e U 3 i, j (x e X; A y e Xj A i ^j) On note alors G = <(X1, X2... Xk ) ; U>. On parlera de graphe multiparti si on ne dsire pas prciser k. Le trac de tels graphes est souvent facilit en regroupant les sommets d'une mme classe.
usines services Fig.11.1 Graphe biparti K3.3. Si l'ensemble X est homogne, la relation associe G est une relation d'incompatibilit; alors {X1, X 2 . . . X k } est une partition de X respectant cette incompatibilit. C'est pourquoi on dit que les Xi forment des classes de compatibilit. EXEMPLES X est un ensemble de personnes, les X, des regroupements respectant les incompatibilits d'humeur. Soit un graphe figurant \esfluxde matire entre 4 groupes d'agents conomiques, X] tant un ensemble de fournisseurs de matires premires, X2 un ensemble d'usines, X3 un ensemble de centres de distribution, X4 l'ensemble des clients finaux. Ce graphe est 4-parti ssi les ventuels flux entre membres d'une mme
Parti au sens ancien de partag comme dans habit parti, maille partir, partition.
classe restent indirects i.e. mdiatiss par (des agents) d'autres classes (ex : usine1> distributeurk > usine2 11.2 TESTS DE MULTIPARTISME Un graphe donn ne serait-il pas defaitun graphe k-parti, et pour quel k ? PROPOSITIONS 11.1 -Tout graphe k-parti est ncessairement irrflexif (pour k = 1, le graphe est mme sans arc). 11.2 - Le graphe d'une ordre total strict, ou chelle, transitif et irrflexif, est sur un ensemble fini un graphe N-parti, o N est le nombre total de points. 11.2.1 Bipartisme Les tests pour k = 2 (bipartisme) cherchent souvent prouver que tout cycle est de taille paire, proprit dont la ncessit s'tablit par l'absurde. 11.23 Fonction de Grundy Prsentation DFINITION 11.2 - Une fonction de Grundy d'un graphe G = <X, G> associe chaque sommet x de G un nombre naturel g(x) qui est le plus petit entier qui n'est pas associ par g un successeur de x : g(x)= min (No - {g(y) | y e Fx}) PROPOSITIONS 11.3 - Pour que g existe, G doit tre irrflexif. 11.4 Dans un graphe orient, si x est un sommet terminal alors g(x) = 0. 11.5 - Si un graphe G = <X, U> possde une fonction de Grundy g, et si Xn est le sous-ensemble de tous les sommets x X tels que g(x) = n, les X, partitionnent X en k classes, et G peut tre vu comme un graphe k-parti G = <(Xo,X1, ... Xk-1) ; U>. NOTE. Ici on ne teste pas si le graphe est k-parti pour une valeur de k connue : au contraire, l'ventuelle fonction de Grundy propose une valeur de k possible pour le graphe, en dehors de toute hypothse particulire. Calcul informel de la fonction de Grundy d'un graphe orient ______________ On marque par 0 tout sommet terminal du graphe ( dfaut, on marque 0 des sommets non adjacents). Pour les sommets non terminaux dont tous les successeurs sont marqus : si les successeurs du sommet s sont respectivement marqus i, j, k..., s doit tre marqu par le plus petit entier, 0 compris, absent de la liste des i,j k, ... A dfaut, on marque provisoirement 0 tous les sommets ayant au moins un successeur 0 ; et 0 les sommets dont tous les successeurs sont marqus 0.
fin calcul de la fonction de Grundy _____________________________ II est clair que la fonction de Grundy du graphe existe si la phase 2 se termine, ce qui se produit rapidement s'il s'agit d'un arbre ou d'une hirarchie (fig. 11.2).
Graphes multipartis
203
Fig. 11.2 Fonction de Grundy d'une hirarchie. Successivement : 5, 7, 8 sont marqus 0 comme terminaux, 2 et 6 sont marqus 1 ( leurs successeurs sont terminaux), 3 est marqu 2 (successeurs marqus 1 (6) et 0 (7)), 1 est marqu 0 car ni 2 ni 3 sont marqus 0, 4 est marqu 1 car 8 est marqu 0, et 3 n 'est pas marqu 1. En cas de circuit, on tente de dvelopper un marquage cohrent en assignant un sommet indtermin un marquage compatible avec les interdits connus. EXEMPLE. Soit, ci-aprs, un graphe G = <{x, y, z, t, u}, [xy, yz, zt, tu, txj> comportant un circuit de taille 4 (x y z t) et un arc terminal (t u). Immdiatement, f(u) = 0 ; par suite, f(t) 0 ; donc f(z) = 0, puisque t est seul successeur de z ; et de l, f ( y ) = l , f ( x ) = 0 , et finalement f(t)=min(No-{0,0})=1 (fig. 11.3). L'arc terminal a introduit une dissymtrie suffisante pour rendre la solution unique. G peut finalement tre considr comme biparti, avec Xo = {x, z, u} et X, = {y, t}. Si le circuit avait t de taille impaire, on aurait obtenu un graphe triparti. X x
r
y
z t
X, U
passes 1 0 1 0 ^0
y
graphe z t u
Problmes d'existence et d'unicit Pour les graphes irrflexifs, une fonction de Grundy existe dans la plupart des cas (1-3) sans tre ncessairement unique (5). On a ce sujet divers noncs. PROPOSITIONS 11.6 - (BERGE) Tout graphe symtrique admet une fonction de Grundy. 11.7 - (BERGE) Tout graphe transitif admet une fonction de Grundy. 11.8 - (BERGE) Tout graphe sans circuit de taille impaire admet une fonction de Grundy. 11.9 - (BERGE) Un circuit isol de taille impaire n'admet pas de fonction de Grundy. 11.10 - (BERGE) Un circuit isol de taille paire possde 2 fonctions de Grundy. 11.11 - (GRUNDY, 1939) Un graphe sans circuit admet une fonction g unique. En tout point, g(x) est au plus gal la taille du plus long chemin (lmentaire) issu de x. Notion de noyau Dans certains problmes, o les sommets reprsentent des situations et les arcs des actions, on s'intresse Y ensemble des situations stables, ou noyau, ainsi dfmi : DFINITION 11.3 - On appelle noyau N d'un graphe G = <X, G> un sous-ensemble de sommets N X tel que : VxeN,rxnN=0,etVx6X-N,rxoN?i0 Ainsi, si je me trouve hors du noyau, je peux y revenir immdiatement ; mais tant dans le noyau, ou la situation est terminale, ou je sors du noyau. PROPOSITION 11.12 - Pour un graphe possdant une fonction de Grundy, l'ensemble des sommets de marque 0 forme un noyau. NOTE. La partition des sommets d'un graphe en un noyau N et son complment X-N ne concide pas avec la notion de graphe biparti, car les sommets de X-N peuvent avoir un ou plusieurs successeurs dans X-N ds lors qu'ils en ont un dans N. Cependant, la proposition 11.5 s'applique, avec N = Xo.
EXEMPLE. (Jeu de Nim) 2 joueurs ont devant eux un tas de 37 allumettes. Chacun son tour en prend de 1 4. Celui qui prend la dernire a gagn. La fonction de Grundy attache ici un tas de n allumettes est g(n) = (n mod 5). Partant de 37 allumettes, si le premier joueur en retire 2, il a potentiellement gagn. A 35 allumettes correspond une marque 0. Le second joueur jouant k allumettes, il sufft au premier de contrer en en retirant 5 - k pour revenir 30, 25, 20, 15, 10, 5 puis O allumette, et ainsi gagner.
fonction de Grundy
0 1 2 3 4 0 1 2 3
Plus gnralement, soit 2 joueurs ayant devant eux un tas de n objets. Si chacun son tour en prend de 1 k, avec la rgle que celui qui prend la dernire a gagn , alors la fonction de Grundy attache ici au tas de n objets est g(n) = n mod (k + 1). PREUVE. On voit d'abord que g(n) s n si 0 < n < k. D'o g(k + 1) = 0 par dfinition, et par rcurrence g(n) = n mod (k + 1). Par consquent, si un joueur reoit un nombre d'objets congru r module k + 1 ,o r > 0, il en retire r et revient au noyau : soit il reste 0 objet, et il a gagn, soit l'adversaire hrite d'un multiple de k + 1 ; si un joueur A part d'un multiple de k + 1 en retirant 1 < p < k objets, l'autre joueur B peut le contrer en retirant m =- k + 1 - p objets (o 1 < m <k), d'o un nouveau multiple de k + 1 : si c'est 0, B est victorieux, sinon B remet A dans une situation semblable la prcdente ; le nombre d'objets restant dcroissant de k + 1 d'une fois sur l'autre, B est ainsi sr de gagner. 11.3.2 Composition Un jeu J peut parfois tre considr comme composition de sous-jeux indpendants {j1, J2, J3 ... jn}, et la situation globale dans J est alors le n-uple des situations particulires dans les sous-jeux. Si g1, g2, g3, gn sont les fonctions de Grundy relatives aux sous-jeux, comment btir la fonction de Grundy G associe au jeu global J ? BERGE (63, 83) propose deux compositions lies deux styles d'volution : si chaque joueur joue chaque fois dans chacun des jeux, toutes les composantes du n-uple peuvent voluer la fois, J sera dit produit cartsien des ji, ce qu'on notera J = j1 j2 J3 Jn ; si chaque joueur joue chaque fois dans un seul des jeux, une seule composante du n-uple volue la fois, J sera dit somme cartsienne des ji, ce qu'on notera J =j1 J2 j3 ... j n Seule la seconde piste a men des rsultats exploitables.
206
Graphes
DFINITION 11.4 - La somme digitale de deux entiers n1 et n2 est l'entier n = n1 n2 ainsi form2 : considrons la forme binaire de n, n1, n2 ; alors, partant de n1 = E bit(ni, k)21', n2 = E bit(nz, k)21' on obtient n = E bit(n, k)21' si bit(n, k) = (bit(nl, k) + bit(n2, k)) mod 2 = bit(nl, k) bit(n2, k)). LEMME 11.13- Pour tout entier n, n n = 0. PROPOSITION 11.14 - La somme digitale dote l'ensemble N d'une structure de groupe. PROPOSITION 11.15 - La fonction de Grundy G de la somme cartsienne J de graphes ji possdant une fonction de Grundy gi est la somme digitale de ces fonctions de Grundy :
G(JlJ2J3...Jn)=glg2g3...gn
EXEMPLE. On considre un jeu form de 4 tas de p, q, r, s allumettes respectivement, et on dcide qu' chaque fois, le joueur choisit un tas, duquel il retire de 1 4 allumettes. Gagne celui qui retire la dernire allumette du dernier tas. Supposons qu'ici on ait initialement 13, 15, 17 et 19 allumettes. Les fonctions de Grundy de chaque tas sont ici son nombre d'allumettes modulo 5 : respectivement 3, 0, 2, 4, et la fonction de Grundy globale est ici 3 0 2 4 = 011 000 010 100 =101. Pour abaisser cette valeur 0 (coup gagnant) on a le choix entre gi = 011 > 011 101 = 110, qui n'est pas une valeur possible pour gi (6>4), g2= 000 > 000 101 = 101, qui n'est pas une valeur possible pour g2(5>4), g3=010->010 101 = 111, qui n'est pas une valeur possible pour g3(7>4), g4= 100-> 100 101 =001, qui consiste ramener 19 (s 4 mod 5), 16 (= 1 mod 5) en retirant 3 ( 1 ^ 3 ^ 4 ) allumettes.
Si l'adversaire ramne maintenant le nouveau jeu de (13, 15, 17, 16) (13, 15, 13, 16), la nouvelle fonction de Grundy globale est 3 0 3 1 = 1, et nous revenons au noyau en ramenant gi 2 (13 > 12) ou g; 1 (15 -> 11) ou g3 2 (13 - 12) ou g, 0 (16 > 15). Si on se ramne (12, 15, 13, 16) par exemple, la fonction de Grundy globale est a l o r s 2 0 3 1 = 10 00 11 01 =0... ATTENTION. Pour simplifier l'emploi des fonctions de Grundy pour la seule dtermination de noyaux lmentaires, il arrive qu'on en exploite une version boolenne ; mais le principe de composition n'est pas applicable ces pseudo-fonctions de Grundy. 11.3.3 Extension ludique En vue de modliser des jeux (ou des ngociations), comment modifier la dfinition des fonctions de Grundy pour traiter aussi bien les sommets terminaux gagnants que les sommets terminaux perdants, ou piges (fatals) ? Assimilons ces sommets perdants des sommets menant ncessairement un sommet virtuel gagnant pour l'adversaire ; ce sommet virtuel serait cot 0, et son prdcesseur l'admettant comme seul successeur, 1. Nous poserons donc : Les informaticiens parleraient de ouExclusifbit bit ou entre mots.
Graphes multipartis
207
DFINITION 11.5 - La fonction de Grundy tendue aux jeux piges vaut 0 pour les sommets terminaux gagnants, 1 pour les sommets terminaux perdants ou piges, le plus petit entier non affect ses successeurs pour tout autre sommet. Cette symtrisation gagnant/perdant permettra de passer d'un jeu son QuiPerd-Gagne, par exemple du jeu dit Fan Tan celui de l'Anne Dernire Marienbad . Ces jeux opposs ne diffrent que par le marquage et non par la structure, ils peuvent ainsi avoir des dbuts de partie similaires...
Fig. 11.5 Jeu pige ; flche double pour les coups gagnants.
NOTE. La ncessit d'un graphe irrflexif signifiera que, dans les jeux modliss, passer son tour un nombre indfini de fois devra tre interdit, passer son tour un nombre limit de fois se traitant par rplication de tout ou partie du graphe.
208
Graphes
NOTE. La borne infrieure est donne par le graphe dont chaque sommet est isol, la borne suprieure par le graphe complet.
PROPOSITION 11.17 - Pour un graphe G contenant une clique K.n, n <. ')(G). PROPOSITION 11.18- Pour un graphe G k-parti, ^G) < k. Soit G = <(X1,X2,X3,X4,X5) ;U> un graphe 5-parti ou 5-chromatique, tel que U ne comporte que des arcs allant de X1 X2, X2 X3, X3 X4 et X5, X4 X1. On peut lui associer un graphe-quotient g = <x, u> raison d'un sommet xi par classe X, de G. Ce graphe g, similaire celui vu en 4.2.3.1, possde une fonction de Gnmdy 2 valeurs : g et G sont de nombre chromatique 2. En effet, si dans G je runis X1 et X3 d'une part, X2, X4, et X5 d'autre part, j'obtiens un graphe biparti, un coloriage de G qui respecte cependant toutes les incompatibilits de U ; et il est vident qu'une seule couleur ne suffit pas. Donc g(G) = 2.
11.4.3 Problme des 4 couleurs Un imprimeur doit imprimer une carte de gographie, de telle faon que 2 pays ayant une frontire commune soient de couleurs diffrentes. On peut procder au coloriage ainsi. On construit un graphe symtrique, sur la base d'un sommet par pays3 et, entre sommets, d'une arte ssi les deux pays correspondant aux sommets ont une frontire commune. Dans le style des fonctions de Grundy, on marque 0 les sommets pendants4, 1 les sommets qui ne sont lis qu' des sommets 0, k les sommets qui ne sont lis qu' des sommets de marque autre que k. PROPOSITION 11.19 - II suffit de 4 couleurs distinctes pour colorier une carte usuelle, suppose trace sur une surface plane ou sphrique5.
Ou par rgion ou face ainsi dfinie : partie du plan ou de la sphre enclose par un cycle, et n'en contenant aucune autre. Dans un graphe symtrique, on appelle sommet pendant ceux qui ne possdent qu'un sommet adjacent (ou voisin) ; pour colorier une carte d'Europe, ce seraient les sommets associs aux pays n'ayant qu'un voisin : Portugal, Monaco, Saint-Marin ... Le graphe associ est alors dit planaire car on peut le tracer dans un plan sans que 2 arcs ou artes se coupent ; la mme proprit est valable sur une sphre, plan et surface de la sphre pouvant tre mis en correspondance par une involution par rapport un point de la surface de la sphre n'appartenant pas au trac du graphe.
Fig. 11.7 Coloriage d'une carte avec 3 couleurs. PREUVE. La proposition ci-dessus est reste longtemps conjecturale. K. Appel et W. Haken en ont donn en 1976 une dmonstration par voie automatique, qui rduisait d'abord tous les cas possibles 1509 cas irrductibles, puis vrifiait la conjecture pour chacun d'eux. L'impossibilit pratique de vrifier manuellement ce rsultat l'a d'abord rendu peu crdible, mais il a depuis t corrobor plusieurs fois. NOTE. Il faut 4 couleurs s'il y a un pays 3 voisins adjacents 2 2, genre autour du Luxembourg : le graphe construit raison d'un arc par pays et d'une arte par frontire contient alors une clique K.4, d ' o g(G)>4par la proposition 11.17.
11.4.4 Un problme d'emploi du temps Des tudiants doivent s'inscrire divers cours facultatifs de un jour, raison de k cours chacun au moins. Ces cours peuvent avoir lieu simultanment, s'ils sont compatibles, i.e. s'ils ne partagent ni tudiant(e)(s) ni enseignant(e)(s). Combien faut-il de salles diffrentes pour faire ces cours dans un minimum de jours? Construisons un graphe d'incompatibilit, sur la base d'un sommet par cours, et d'une arte entre 2 d'entre eux ds qu'ils ont en commun une personne (tudiant ou enseignant). En coloriant ce graphe au mieux, le nombre de couleurs est le nombre de jours qu'il faut prvoir, le nombre de sommets d'une mme couleur est le nombre de salles ncessaires aux cours simultans de la priode. Dans le cas simplifi ci-dessous (tab. 11.1 et fig. 11.9), y oblige attribuer B, C, D 3 couleurs diffrentes. Soit B/0, C/l, D/2. De mme v oblige attribuer C, D, F trois couleurs diffrentes ; donc F/0. E doit tre ni 0 (u) ni 2(z) ; donc E/l. A ne doit tre ni 0 (x) ni l(t). Donc A/2.
Personnes x
B x x
y
z t
x x x
x
x
x x x
x x
u
v
Cet enseignement peut donc s'organiser sur 3 jours diffrents avec 2 salles, B tant enseign en parallle avec F, C en parallle avec E, A en parallle avec D.
11.4.5 Disquations DFINITION 11.8 - On appelle systme de disquations des systmes d'inquations n'utilisant que l'ingalit. Considrons le systme de disquations : ab de (1) (4) hc ae (2) (5) cd be (3) (6)
Un tel systme possde un nombre infini de solutions, drivables de solutions de base mettant en uvre un nombre rduit de valeurs. Associons ce systme un graphe d'incompatibilit G, raison d'un sommet par variable ou constante, d'une arte par incompatibilit. Toute coloration de G constituera une solution de base. Le nombre minimal de valeurs mettre en uvre sera prcisment le nombre chromatique g(G) du graphe d'incompatibilit. Les solutions finales s'obtiendront en assignant un entier distinct chaque numro-de-couleur, chaque constante devant tre assigne un numro-decouleur distinct. Pour le systme (1-6) considr, le graphe associ comporte un triangle (a, b, e) et toute solution est au moins tricolore6, avec par exemple a = 0 , b = d = l , c = e = 2 (et 5 solutions similaires par permutation des valeurs). 1 sommet/ variable ou constante 1 arte / disquation solution : a : c0 ; b, d : cl ; c, e : c2.
Fig. 11.10 Graphe du systme de disquations.
a b c 5\^
\
4 e d,
Ce rsultat peut tre remploy dans d'autres contextes, 0, 1 et 2 tant d'abord remplacs par des numros de couleurs c0, cl, c2 mutuellement exclusifs. Ainsi, l'ajout de conditions (7) a 0 et (8) d 1 demanderait seulement que cO 0 et cl 1 ; soit (cO cl c2) valant (1 0 2) ou (1 2 0) ou (2 0 1).
Par la proposition 11.17, le triangle tant assimil une clique K3 ; K4, demanderait 4 couleurs mais correspondrait un quadrilatre complet ou ttradre .
Graphes
Souvent employs en informatique et/ou automatique ils furent tudis notamment par J. Kuntzmann sous le nom de rseaux. 11.5.1 Grafcets Les grafcets sont utiliss pour spcifier des automatismes, au-del des automates tats finis (chap. 16). Les grafcets, ou GRAphe Fonctionnels de Commande Etape/Transition, ont t dvelopps et dfinis en 1975-77 par le groupe de travail Systmes Logiques de l'AFCET, puis repris et soutenus par l'Association pour le DEveloppement de la Production Automatise, normaliss en France et par la Commission Electrotechnique Internationale. Ils sont connus sous d'autres cieux comme Sequential Functional Chart. DFINITION 11.9 - Les grafcets sont des graphes orients bipartis articulant deux types de sommets : les tapes, qui ont un tat, actif ou non, les transitions, rgissant les volutions intertapes, et soumises chacune une condition propre. CLAUSE DE BIPARTISME. Tout passage d'une tape une autre se fait par une transition, et rciproquement une tape spare toujours deux transitions successives7. DYNAMIQUE. Un grafcet modlise en gnral un processus de commande d'un systme physique. A une tape est en gnral lie une action sur ce systme, ou une temporisation. Une transition sera valide si toutes les tapes qui la prcdent sont actives. La transition sera franchissable si sa condition propre ou rceptivit est vraie. Cette rceptivit dpendra des entres et/ou aux tats internes et/ou du temps. La transition devenue valide et franchissable se dclenche, dsactivant les tapes prcdentes et activant les suivantes. Une tape peut valider plusieurs transitions, qui peuvent dclencher simultanment, lanant plusieurs processus concurrents. D'autre part, la rgle une transition est valide si toutes les tapes qui la prcdent sont actives permet de synchroniser la fin de tels processus concurrents. DFINITION 11.10 - L'activit ou situation d'un grafcet k tapes est dfinie par un vecteur d'tat, k-uple boolen form raison d'une composante par tape. Un vecteur d'tat initial fournit la liste des tapes initiales , seules actives au dpart. EXEMPLE. Nous empruntons le cas ci-aprs une prsentation du Grafcet disponible sur Internet et due Emmanuel Geveaux (fig. 11.11). Suivant la norme, les tapes sont reprsentes par des carrs, doubles pour les tapes initiales ; leur droite, un rectangle adjacent prcise une action et/ou un commentaire est not. Immdiatement avant ou aprs une tape, une barre horizontale dnote : La vrification de cette condition sera un critre de bonne forme pour la validation automatique d'un grafcet saisi, par exemple, l'aide d'un diteur symbolique.
Graphes multipartis
213
une confluence ou convergence OU si elle prcde une tape : l'tape devient active si l'une quelconque des transitions regroupes dclenche ; une distribution ou divergence si elle suit une tape : l'tape valide - en ce qui la concerne - toute transition qui lui succde.
Les transitions sont figures par les barres horizontales pleines. Le libell associ spcifie une condition. Immdiatement avant ou prs une transition, une double barre horizontale dnote : une conjonction ou convergence ET si elle prcde une transition : la transition n'est valide que si toutes les tapes la prcdant sont actives ; une distribution ou divergence si elle suit une transition : la transition active simultanment chacune des tapes suivantes.
Le cas propos est un modle simplifi pour deux postes coupls : le premier poste usine une pice et la dpose, le second la prend et l'assemble. Les deux postes ont des marche/arrt distincts, ils peuvent fonctionner simultanment mais doivent se synchroniser, car il ne peut y avoir qu'une pice dpose en attente. Considrons les tapes 12, 1, 13. L'tape 12 est une attente de dpose, l'tape 1, ventuellement initiale, correspond une dpose autorise .
1 11
20
Marclie'Arrtt ^enJbb^ 21 "PUss Aliwise" j
12 "Averse"
1 " 'Xpose
Z utorise"
2
"Alente"
1
13 i, -DEPOSE PiHcedqxM e
^ 22
i^
2: 3
- } ASSEMBLAGE
l'assembla^ Fint
La double barre horizontale prcise que la transition suivante exige l'activit simultane de 12 et 1 (dpose attendue et autorise). Quand cette transition est valide, la transition
214
Graphes dclenche instantanment (condition gale 1, convention pour toujours satisfaite ) : les tapes 12 et 1 sont dsactives, mais l'tape 13 est active, dclenchant l'action DEPOSE du systme command. Aprs l'tape 13, la transition pice dpose sera franchie quand on aura la fois l'tape 13 active (DEPOSE lance) et un boolen PiceDpose vrai (i.e. quand on saura la dpose termine, le boolen tant un compte-rendu mis jour par le systme physique). Alors, l'tape 13 sera dsactive, tandis que les tapes 2 et 10 seront simultanment actives, 2 en vue d'un nouvel assemblage, et 10 pour un nouvel usinage...
11.5.2 Rseaux de Ptri Dans les rseaux de Ptri, on a de mme un graphe biparti dont les sommets de rpartissent en transitions et en places. L'activit des places est dfinie par un nombre de jetons associ, nul pour une tape inactive. Ainsi, l'tat d'un rseau de Ptri k places est dfini par un vecteur ou k-uple d'entiers positifs, les conditions de transitions peuvent porter sur la prsence d'un certain nombre de jetons dans les places amont. Dans les rseaux de Ptri colors, l'activit d'une place est caractrise par le nombre de jetons qu'elle contient, regroups par couleur [DAVID]. Les rseaux de Ptri forment un cadre plus vaste que les grafcets, mais ce cadre des RdP est pratiquement toujours spcialis pour plus de pertinence : il s'agit plus d'une famille de formalismes que d'un formalisme. Sous reserve de conditions de transitions un peu diffrentes, les grafcets correspondent grosso modo aux rseaux de Ptri dits saufs.
11.6 GRAPHES ET HYPERGRAPHES 11.6.1 Dfinition des hypergraphes DFINITION 11.11- (C. BERGE) - On appelle hypergraphe H un couple H = <X, U> form d'un ensemble de sommets X, d'un ensemble U P(X) d'hyperartes. NOTES Une hyperarte est un sous-ensemble de X. Si toutes les hyperartes ont 2 sommets, on est ramen au cas antrieur des graphes symtriques. Si tout sommet d'un hypergraphe appartient au moins une hyperarte, alors la collection des hyperartes couvre l'ensemble des sommets.
11.6.2 Reprsentation matricielle On reprsente gnralement les hypergraphes par une matrice boolenne rectangulaire, forme raison d'une ligne par sommet et d'une colonne par hyperarte.
215
DFINITION 11.12 - La transpose d'une matrice boolenne rectangulaire M associe un hypergraphe H est une matrice boolenne rectangulaire M7 reprsentant un hypergraphe H*, dit hypergraphe dual de H. Les hyperartes de H jouent le rle de sommets de H*, et les sommets de H le rle d'hyperartes de H*. PROPOSITION 11.20 (C. BERGE) - La dualit d'hypergraphes est involutive, et H**=H. PREUVE. Si l'hypergraphe H est associ bijectivement la matrice M, H* est associ M1 et H**, MTT. Or la transposition de matrice est involutive : MTT = M, donc H** = H. NOTE. Parfois, on trouvera la solution S d'un problme P sur un hypergraphe H en partant de la solution S* du problme dual P* relatif H*. 11.6.4 Correspondance avec les graphes bipartis PROPOSITION 11.21 (J. KUNTZMANN) - A tout hypergraphe H = <X, U> correspond un graphe biparti G = <{X, U} ; W> o W = {(x u)| u e U, x e u}. EXEMPLE. A l'hypergraphe H = <{a, b, c, d}, {u = (a b c), v = (c d)j> correspond le graphe biparti G = <((a b c d) (u v)) ; ((a u)(b u)(c u) (c v)(d v))>. NOTE. Ce thorme autorise un raisonnement spiral graphe simple > hypergraphe > graphe biparti... ; mais si H a N sommets et M hyperartes, G a M+N sommets plus de l'ordre de M M-N artes. 11.6.5 Correspondance avec les multigraphes PROPOSITION 11.22 - A tout hypergraphe H = <X, U> correspond un multigraphe G = <X, K > o K est une collection de cliques de X, sur la base d'une clique dans K par hyperarte u U de H. 11.6.6 Hypergraphes et systmes d'quations Soit un systme d'quations : F(x, y, z) G(z, t, u) H(x, u) =0; =0; = 0. Tableau 11.3 Dpendances. fonctions variables x F x x x x x x x G H x
On peut reprsenter ce systme d'interdpendances par la table 11.3 ci-contre, les (hyper)graphes de la figure 11.12.
y
z t u
Pour les systmes complexes d'quations, aux considrations classiques sur les degrs de libert, s'ajouteront des considrations topologiques sur la structure de dpendance. Soit un systme physique modlis par un systme d'quations auquel on attache un graphe de dpendance. La classification variables exognes / endognes, mais aussi la dtection des sommets du graphe de dpendance formant un ensemble d'articulations guideront la fragmentation d'un gros systme en soussystmes aux inter-couplages aussi simples et rduits que possible. EXEMPLE. Dans le projet Ampre 3, le physicien-programmeur est invit dclarer ses quations algbriques plutt qu' les rsoudre : le compilateur doit insrer une mthode adquate lorsqu'on a besoin de solutions, l'quation tant alors invoque avec certaines variables prcises. Un lment fondamental des stratgies dveloppes est de considrer, sous conditions, une quation n variables comme une fonction tablissant une variable quand les n - 1 autres sont connues. Ainsi, G(z, t, u) = 0 engendre les 3 interprtations formelles : z = g1 (t, u), t = g2 (z, u), u = g3 (z, t) (J.F. Martin). Le systme prcdent lie 5 variables par 3 quations. Supposons t et u connues. Alors G fixe z = g1 (t, u), et H fixe x = h1 (u). Par suite, F fixe y = f2 (x, z) = f2 (h, (u), g1 (t, u)). Si ce n'est pas la solution, c'est au moins un plan d'action... 11.6.7 Hypergraphes et bases de donnes Considrons une base de donnes regroupant des relations f, g, h... partageant certaines de leurs dimensions A, B, C, D... ; il pourra tre intressant de la modliser par un hypergraphe, raison d'un point par dimension, et d'une hyperarte par relation. 11.6.8 Hypergraphes, multicoloration. classification Considrons une collection X d'objets ou d'individus entre lesquels on repre des (dis)similarits, et modlisons-la par un hypergraphe, en prenant X comme ensemble de sommets. Regroupons ensuite en une mme hyperarte les lments de X partageant une similarit dfinie, et qui recevront une mme couleur interprtable par un caractre commun.
A chaque sommet est maintenant associ un spectre de couleurs, fix par la collection des hyperartes auxquelles il appartient. Ce spectre, concrtis par un vecteur boolen, raison d'une composante par hyperarte, permet de dfinir une distance de Hamming entre lments de X, donc d'amorcer une classification en termes d'analogies et de diffrences.
Tableau 11.4 Individus, attributs, distances. c 5 E individu albatros avion exocet mouche rat automobile x x
A t>
VI
(L>
VI
S &.
t> 0 S
-0
M
L> o <a
-0
ta
'S F c ia x
3 t>
X X
X
X
x x
x x x x
auto
exocet
mouche auto
rat
d=l d=3-
218
Graphes
11.7 EXERCICES
11.7.0 Part deux 2 joueurs sont en face d'un tas d'allumettes. Chaque joueur peut enlever son tour une ou plusieurs allumettes, mais au plus la moiti des allumettes restantes (ex : pour 6 ou 7 allumettes, il peut en enlever de 1 3). Celui qui reoit la dernire allumette a perdu. Dfinir une stratgie gagnante si : le premier joueur reoit 15 allumettes, le premier joueur reoit un nombre d'allumettes pris au hasard entre 7 et 100. 11.7.1 Primus inter pares 2 joueurs sont en face d'un tas de jetons. Chaque joueur peut enlever son tour un nombre premier de jetons. Celui qui prend le dernier jeton a gagn. Dfinir une stratgie gagnante si : le premier joueur reoit 15 jetons, le premier joueur reoit un nombre de jetons pris au hasard entre 10 et 100, le premier joueur reoit un nombre de jetons pris au hasard au-del de 100. 11.7.2 Covoiturage Alfred, Batrice, Charlotte, Didier, Evelyne et Franois, collgues de travail, doivent aller une mme runion 200 km de l. On ne va pas prendre chacun sa voiture ! Mais Alfred ne supporte pas Charlotte, qui ne supporte pas Evelyne, qui ne supporte pas Batrice, qui ne supporte pas Didier, qui ne supporte pas Franois, qui ne supporte pas Evelyne. Composer un nombre minimal de voitures pour que le voyage se passe au mieux. 11.73 Graphes quilibrs On considre des sociogrammes, ou graphes d'affinit, dans lesquels les sommets reprsentent des personnes, et les relations R+ et R- les relations d'affinit /hostilit. Comment trouver une partition de l'ensemble des personnes telle qu'aucune des classes formes ne contienne de couple de R- ? Discuter des clans ainsi forms en termes de tension interne ? de solidit ? Dans ce contexte, que signifie une clique de R+ ? 11.7.4 Coloriage de carte Combien de couleurs sont ncessaires et suffisantes pour colorier la carte ci-contre, de telle faon que 2 zones spares par un trait (et non pas seulement par un point) soient toujours de couleurs diffrentes ?
a e
b f
c g
i
d
h
11.7.5 Jeu sur un graphe Un jeton est plac en a du graphe ci-dessous. Chaque joueur le dplace son tour d'un sommet l'autre, suivant un des arcs partant du sommet o se trouve le jeton. Celui qui arrive en ci a termin.
Graphes multipartis Donner la liste des mouvements gagnants si celui qui arrive en d a gagn, si celui qui arrive en d a perdu. On pourra s'aider du calcul de fonctions) de Grundy.
219
11.7.6 Coloriage d'un cube On dsire colorier un cube, sans utiliser la mme couleur pour les lments adjacents. Combien faut-il de couleurs pour colorier les sommets ? les artes ? les faces ? 11.7.7 Mise en page Les metteurs en page du Libertaire ont un principe : pour un espace sans frontire, ne jamais sparer deux articles par un filet (ou trait). Pour viter la confusion entre un article et son voisin, il faudrait jouer sans abuser sur les polices et leurs attributs. En alternant romain et italique, combien de polices suffiront toujours contraster les textes adjacents ?
11.8 PROBLMES
11.8.1 Itinraires urbains Considrons une ville, ses rues et leurs intersections. Une telle ville est dcoupe en quartiers par des obstacles naturels tels que rivires, lignes de chemins de fer ; cependant, les quartiers sont relis par des points de franchissement ou d'autres liaisons (boulevard, autoroute urbaine...). Au-del de quelques centaines d'intersections, le graphe bti sur les seules intersections et segments de rues devient peu lisible, et on est amen distinguer un niveau local, pour les chemins internes un quartier, et un niveau global, interquartier. Montrer que les liaisons inter-quartiers peuvent tre modlises par un multigraphe, raison d'un sommet par quartier et d'un arc ou arte par point de franchissement ou voie de liaison inter-quartier (boulevard, autoroute...). Montrer que ces liaisons inter-quartiers peuvent aussi tre modlises par un hypergraphe, raison d'un sommet par liaison ou point de franchissement, et d'une hyperarte par quartier. 11.8.2 Jeu sur un graphe Un jeton est plac en a du graphe du problme 11.7.5. Chaque joueur le dplace son tour d'un sommet l'autre, suivant un des arcs partant du sommet o se trouve le jeton. Celui qui arrive en d a termin. Donner la liste des mouvements gagnants si celui qui arrive en d a gagn condition d'tre all un nombre impair de fois en e. 11.8.3 Les cartes postales Vous tes en vacances dans cette station rpute, mais il pleut. C'est le moment d'envoyer des cartes postales une vingtaine de parents et amis ! Malheureusement, il n'existe que k types distincts de cartes. Cependant, vous savez bien qui connat qui.
220
Graphes
Comment donner l'impression chacun de recevoir une carte postale originale ? Est-ce encore possible si les personnes concernes forment des cliques ? Jusqu'o pouvez-vous tenir compte des gots de vos correspondants ?
11.10 LECTURES
BERGE C., Thorie des graphes et ses applications, CUM n 2, Dunod, 1963. Graphes, Gauthier-Villars, 1983. Hypergraphes (combinatoire des ensembles finis), Gauthier-Villars, 1987. DAVID R. et ALLA H., Du Grafcet aux rseaux de Ptri, collection Trait des Nouvelles Technologies, srie Automatique, Herms, 1989. GEVEAUX E., Introduction au Grafcet, sur www.tecatlant.fr KUNTZMANN Jean, Thorie des rseaux, Dunod, 1972. NUSSBAUMER H., Informatique industrielle, vol. 2, chap. 5, Presses polytechniques et universitaires romandes, 1986. Pour la Science n 2, La solution du problme des 4 couleurs, dc. 1977, pp. 56-70. coll.. Petite encyclopdie des mathmatiques, chap. XXXVI, Edition Pagoulatos.
Tout modle est une hypothse, valider sur le ralisme de ses consquences.
TROISIEME PARTIE
ALGBRE
CHAPITRE 12
Ce chapitre passe en revue les proprits les plus classiques des oprateurs et les lments remarquables qui peuvent leur tre attachs. Il drive d'une longue histoire, qui commence avec l'apparition des signes + et - dans des livres allemands des annes 1480, prmices de la notation algbrique actuelle. Ce chapitre sera notamment utile : en compilation et en transformation de programmes (optimisation, paralllisation), en calcul formel, pour la programmation dans tous les langages oprateurs, tels que APL, Algol 68, Prolog, Ada 83/95, C++, Java et, un moindre degr, LISP et les occams 1/2/3, pour la recherche de mthodes et algorithmes gnriques.
224
Algbre
On appelle oprateur htrogne une application de profil A B C ... K -> Z. C'est le cas des slecteurs, du rplicateur de chane... 12.1.4 Stabilit d'un oprateur interne DFINITION 12.4 - Soit un oprateur t : An -> A interne A, et B A : t sera dit stable pour B ssi t : Bn > B EXEMPLE. SoitN,l'ensemble des entiers naturels, muni de l'addition + : N N -> N. Le sous-ensemble des entiers pairs est stable, car Le sous-ensemble des entiers impairs ne l'est pas, car pair + pair > pair, impair + impair > pair.
12.2 SYNTAXE DES EXPRESSIONS 12.2.1 Oprateurs unaires Les oprateurs unaires s'appliquent un seul argument ; ils sont gnralement dnots par une notation prfixe dans laquelle f x signifie f ( x ) Ex : + et - unaires, sin, cos ... ou plus rarement postfixe avec : xfpourf(x)comme dans n!
12.2.2 Oprateurs binaires Les oprateurs binaires s'appliquent un couple d'arguments ; ils sont gnralement dsigns par une notation infixe, dans laquelle xfy signifie f(x,y)
12.2.3 Oprateurs d'arits suprieures II n'y a pas de rgle gnrale pour les arits suprieures, la notation prfixe tendant se confondre avec un appel de fonction. On admet cependant des critures infixes (smalltalk...). EXEMPLE. Calcul d'un signe par utilisation infixe de l'oprateur ternaire de choix cond ? valSiVrai : valSiFaux en C. signe(x) = ( x > 0 ? '+' : x = 0 ? '0' : '-') 12.2.4 Expressions Chaque opration dnote une valeur, et peut donc tre employe comme argument d'une criture plus complexe. On dit une expression syntaxiquement bien forme ds lors que les arits des oprateurs (resp. des fonctions) sont respectes. Elle est non ambigu si l'association de chaque oprateur avec son ou ses oprandes est univoque. EXEMPLE. Une expression telle que x*yzt est syntaxiquement correcte si les oprateurs sont d'arit 2, mais ambigu : combine quoi quoi ?
La dfinition suivante limine toute ambigut des expressions. DFINITION 12.5 - Une expression dnote soit un oprande, soit un oprateur n-aire et ses n oprandes, soit une valeur de fonction. Un oprande est soit une constante, soit une variable, soit une expression entre parenthses. Pour utiliser simultanment sans ambigut des oprateurs pr- et postfixs, il faudrait parenthser mme les expressions rduites un oprateur unaire et son oprande, afin de bien distinguer n + (4!), somme de n et de la factorielle de 4, (n + 4)!, factorielle de la somme de n et 4.
12.3 SMANTIQUE FORMELLE DES EXPRESSIONS Vue de l'extrieur, une expression entre parenthses est un simple oprande, mme si sa structure interne est complexe. La structure interne, qui guide l'valuation, est base de termes, constantes et variables, combins par des oprations ou des appels de fonctions produisant de nouveaux termes. DFINITION 12.6 - On dira une expression smantiquement bien forme, valeur dans A, si elle dnote soit un oprande valeur dans A, soit un oprateur n-aire de profil A1 A2... An > A et ses n oprandes, chaque oprande tant compatible, rang par rang avec la signature (le premier oprande valeur dans A1, le second valeur dans A2, ... le dernier valeur dans An), soit une valeur de fonction. Un oprande valeur dans A est soit une constante de A, soit une variable valeur dans A, soit une expression entre parenthses valeur dans A. NOTE. Deux oprations diffrentes peuvent tre dnotes sans ambigut par le mme symbole ssi leurs signatures sont disjointes : c'est la cl de la technique de la surcharge (Algol 68, Ada 83/95, C++.).
12.4 ALGEBRES Cette section pourra tre saute en premire lecture. 12.4.1 Algbres formelles DFINITION 12.7 - On appelle algbres formelles des structures <S ; 0> o E dsigne une collection d'ensembles formels ou sortes, F ={Fo, F1 F2, Fn} est une collection de Fk chacun des Fk tant collection de symboles fonctionnels k-aires, de profils relatifs tout ou partie des sortes de S. Cette dfinition est suffisante si on assimile : les constantes remarquables des fonctions 0-aires, les oprateurs des fonctions, les relations R A B Cdesapplications R : A B C - > B .
Algbre
DFINITION 12.8 - En se donnant pour chaque sorte un jeu de variables, une algbre formelle engendre, de faon purement syntaxique, l'algbre des termes licites (i.e. correctement crits). EXEMPLE. Soit l'algbre formelle <S ; 0, s : S -> S> on peut crire les termes clos s(0), s(s(0)), s(s(s(0)))... si x est une variable valeur dans S, on peut crire de mme des termes s(x), s(s(x))...
12.4.3 Interprtations DFINITION 12.9 - On appelle interprtation <S, F> d'une algbre formelle <,F tout systme obtenu par une substitution cohrente. EXEMPLE. <S ; 0, s :S-S> admet comme interprtations <N; 0; s ( n ) = n + l > , et les 0, s(0), s(s(0)), s(s(s(0)))... correspondent alors respectivement 0, 1,2,3, ... valeurs distinctes les unes des autres (Peano), <C; 1 +0i, s(z)=ze' s >. Les 0, s(0), s(s(0)), s(s(s(0)))... correspondent respectivement au point 1 + 0i et ses images par des rotations successives autour de l'origine, d'angle 8 ; la suite des s' tant priodique ssi .9 exprime un nombre rationnel de tours. 12.4.4 Modles Considrons une algbre formelle <,F> muni d'une thorie, i.e. un ensemble initial A de proprits ncessaires et suffisantes, dites axiomes, formant le germe de la thorie de , un ensemble II de proprits drives. Ce qu'on note : <S, 3>> ^ A;; => n pour signifier que, pour la structure <E, <t>>, la satisfaction de As entrane celle de FL Soit maintenant <S, F> = int(<E, <>>) une interprtation de <, <&>. Si l'interprtation As des axiomes A^ est vraie dans <S, F>, alors <S, <>> est dit modle pour <S, F>, l'interprtation P des proprits n est vraie dans <S, F> : la thorie labore pour le modle s'applique l'interprtation ds lors qu'elle satisfait aux axiomes. Cette situation pourra se noter : int : (<Z,0> |= As => H) -> (<S, F> ^ As => P) 12.4.5 Catgories DFINITION 12.10 - Une catgorie sera la collection d'un modle <Z, <&> ^ A^ => n, et de toutes les interprtations qui satisfont ses axiomes. Ses proprits sont l'origine des mthodes et algorithmes gnriques. Ainsi, la catgorie des monodes, note Monode, sera forme du systme formel archtype ou modle de la catgorie, auquel sont attaches une axiomatique et des proprits gnriques,
227
de la classe1 Obj(Monode) de toutes les structures qui ( l'interprtation prs) en respecteront les axiomes, et, ipso facto, bnficieront (de l'interprtation) des proprits et mthodes gnriques.
Une catgorie peut tre drive d'une autre par spcialisation, d'o des hirarchies de catgories (ABRIAL, Colloque GROPLAN, Cargse, 1979). Une catgorie peut galement tre obtenue par combinaison de plusieurs autres. La spcification d'un modle ou d'une catgorie sera souvent base sur les proprits des oprateurs, dont nous examinons maintenant les plus classiques. NOTE. Les chapitres 13 15 peuvent tre considrs comme prsentant les catgories Monode (et Groupe), Diode (et Anneau) et Algbre de Boole.
x^yz^t...
12.5.3 Commutativit DFINITION 12.13 - Un oprateur binaire interne X sera dit oprateur commutatifssi Vx,y e X (x4y)=(yx) EXEMPLES : +, x, max, min, pgcd, ppcm, et, ou, ouExclusif, ni, union... mais pas - , / . . .
Pour viter certains paradoxes, on appelle classe toute collection de classes ou d'ensembles, en rservant le nom d'ensemble aux collections d'lments. On parlera de la classe universelle, forme de tous les ensembles ; de la classe des ensembles satisfaisant une proprit P, et de la classe complmentaire des ensembles qui ne la satisfont pas...
228
Algbre
PROPOSITION 12.2 - Pour un oprateur associatif et commutatif, le rsultat de la combinaison de n lments est indpendant de l'ordre des termes. Ainsi, (x*y)*(7.*t)=\^y*z^t=t^x*y*z=(t*((\^y)^z). 12.5.4 Idempotence DFINITION 12.14 - Un oprateur binaire interne X sera dit oprateur idempotent ssi Vx e X x 4 x = x EXEMPLES : max, min, pgcd, ppcm, et, ou, union, intersection... mais pas +,- . x , / , ni ... 12.5.5 Simplifiabilit DFINITION 12.15 - Un oprateur simplifable gauche simplifable droite (bi-)simplifiable
x+3=4+3 zx3=4x3
binaire sera dit : ssi Vx, y, z x^y=xz => y = z ssi Vx, y, z x*y=z4y => x = z ssi simplifable gauche ET droite. entrane bien x = 4, entrane bien z = 4, entrane bien z = 4, n 'entrane pas 3=7.
NOTE. Cette proprit, autorisant des simplifications membre membre, facilite la rsolution des quations utilisant l'oprateur . 12.5.6 Caractrisation d'un oprateur EXEMPLE. Caractriser dans R l'oprateur : xy = (x+y)/2. II est commutatif car on a toujours x y = (x+y)/2 = (y+x)/2 = yx. II est idempotent car on a toujours xx = (x+x)/2 = x. II n 'est pas associatif car ((x y) z) = ((x+y)/2) z = (x+y)/4+z/2 mais (x(yz)) = (x((y+z)/2)) = x/2+(y+z)/4. II est simplifable car on a toujours x y = x z = > ( x + y)/2 = (x + z)/2 = > x + y = x + z = > y = z , et, par commutativit, x y = z < y = > y x = y ^ z = > x = z .
NOTE. Les proprits examines permettent de dcider de l'quivalence de formules : l'idempotence, l'involution et la rgularit autorisent des simplifications, associativit et commutativit des transformations.
12.6 LMENTS REMARQUABLES POUR UN OPRATEUR 12.6.1 Point(s) fixe(s) DFINITION 12.16 - Dans un ensemble E, on appelle point fixe d'un oprateur unaire A un lment f de E tel que f=*f
Oprateurs & Algbres EXEMPLES Dans IK, le moins maire et sin ont zro comme point fixe. Dans IK4, ^ admet 0 et 1 comme points fixes. Mais dans N, succ : n > n+1 n'a pas de point fixe. 12.6.2 Elments neutres DFINITION 12.17 - Pour un oprateur binaire interne X, l'lement e de X est neutre gauche ssi VxeX e x = x neutre droite ssi VxeX x e = x (bi-)neutre ssi VxeX e x = x = x * e PROPOSITIONS
229
12.3 - Une mme opration ne peut avoir un lment neutre gauche et un lment neutre droite distincts. PREUVE. Soient e1 lment neutre gauche pour , et e2 lment neutre droite distinct: alors ei e2= e, car e; est neutre droite, et ei ez= e; car ei est neutre gauche ; donc e1 = e-i, ce qui est contradictoire. D'o la proposition. 12.4 - Un lment neutre est unique. PREUVE. Soient e1 et e2 deux lments neutres distincts pour : alors e1^e2 = e1 car e2 est neutre droite, et e^e^ = e; car ei est neutre gauche ; donc ei = e;, ce qui est contradictoire. D'o l'unicit de l'lment neutre. 12.6.3 Elments absorbants DFINITION 12.18 - Pour un oprateur binaire interne X, Vlement a de X est absorbant gauche ssi VxeX a^x =a absorbant droite ssi VxeX x^a =a (bi-)absorbant ssi VxeX a^x =a=xa PROPOSITIONS 12.5 - Une opration ne peut avoir un lment absorbant gauche et un lment absorbant droite distincts. 12.6 - Un lment absorbant est unique. PREUVE. Soient ei et e; deux lments absorbants pour : alors ei^e; = ei car Ci est absorbant gauche, e, e; = e; car e^ est absorbant droite ; donc G) = e;. Deux lments absorbants sont donc identiques. 12.6.4 Elments involutifs DFINITION 12.19 - Pour un oprateur binaire d'lment neutre e, i est un lment involutifssi i i = e. EXEMPLES -1 est involutifpour Z, Q, R dots de la multiplication. Soit x4y = (x-y) mod (n-l)-(n+l) avec n >2 : n est involutifpour^ car (n-n) mod (n2-1) = 1. Ainsi, 2, 3, 4, 5, ... sont les lments involutifs pour la multiplication modulo 3, 8, 15, 24, ... o l1 est involutive pour le produit des matrices S^ i o
0 0
230
Algbre
PROPOSITION 12.7 - Tout lment neutre (resp : gauche, droite) est involutif. Ainsi, 0 + 0 = 0, 1 1 = 1, mais aussi 0 - 0 = 0, 1/1 = 1, 1 * = 1... 12.6.5 Elments idempotents DFINITION 12.20 Pour un oprateur binaire , i est un lment idempotent ssi i i=i EXEMPLE. Soit x+y = (x-y) mod n-(n-l) avec n >3 : n est idempotent pour car (n-n) mod (n2- n) = n. Ainsi, 3, 4, 5, 6, 7 ... sont les idempotents relatifs aux modules 6, 12, 20,30,42... PROPOSITION 12.8 - Pour une opration idempotente, tout lment est idempotent. PROPOSITION 12.9 - Un lment neutre (resp : gauche, droite) ou absorbant (resp : gauche, droite) est idempotent. Ainsi, 1 - 1 = 1 , 0 - 0 = 0 , l 1 = l ...
12.6.6 Elments simplifiables Ces lments2 autorisent des simplifications membre membre. DFINITION 12.21 - Pour un oprateur binaire , l'lement r est simplifiable gauche ssi Vx,y r x = r y => x = y simplifiable droite ssi Vx,y x T = y r = > x = y (bi-)simplifable ssi simplifiable droite et simplifiable gauche. PROPOSITION 12.10- Pour un oprateur binaire , si l'lement r est simplifiable gauche on a Vx,y x ^ y = > r x ^ r y , simplifiable droite on a Vx,y X 5 y = > x T ^ y T . PREUVE. Par contraposition de la dfinition. PROPOSITION 12.11 Tout lment neutre gauche (resp. droite) est simplifiable gauche (resp. droite). Dans le cas d'ensembles comportant peu d'lments, l'oprateur binaire peut tre dfini par une table. Alors, la proposition 12.10 donne : un lment est simplifiable droite si tous les lments de sa colonne sont distincts, un lment est simplifiable gauche si tous les lments de sa ligne sont distincts. Si l'oprateur est commutatif, tout lment simplifiable gauche l'est droite et rciproquement. Alors, tout lment simplifiable d'un ct est simplifiable tout court. EXEMPLES Tout nombre est simplifiable pour l'addition (al Kwarizmi, -820). Tout rel non nul est simplifiable pour la multiplication. Pour l'exponentiation,
231
OTx = Oy n'entrane pas x = y et x = y0 n'entrane pas x = y : 0 n'est pas simplifiable pour T itx = ly n'entrane pas x = y, mais xTl = yl entrane x = y par dfinition, donc 1 est simplifiable droite pour T .
12.7 DEPARENTHESAGES En toute rigueur, la somme de a, b, c, d devrait se noter par exemple ((a + b) + c)+d. Les critures rigoureuses sont gnralement lourdes, et divers systmes de dparenthsages se sont instaurs. Leur emploi n'est pas toujours clairement document et peut mener des erreurs d'interprtation. 12.7.1 Associativit gnrique Pour un oprateur binaire 0 associatif, la position des parenthses n'importe pas, et on crit souvent xO y Qz plutt que (xOy) Oz ou x<? (y Oz). De proche en proche, on est ainsi conduit noter a + b + c + d 1 a somme de a, b, c, d, l'associativit garantissant que la signification ne dpend pas de l'ordre d'valuation. De mme peut-on crire pour un oprateur associatif op , a op b op c op d au lieu de a op(b op(c op d)), voire op(a, b, c, d, ...). L'associativit conduit en effet naturellement des oprateurs tendus des collections, ou encore des oprateurs arit variable (cf. Lisp, occam...). 12.7.2 Pseudo-associativits Par analogie ce que nous venons de voir pour les oprateurs associatifs, on cherche souvent allger l'criture d'expressions utilisant des oprateurs non associatifs. Ainsi crivons-nous a - b - c pour (a - b)- c, alors mme que (a - b)- c a-(b-c). Il s'agit alors d'une pure convention, qui pose un problme de consensus. En effet, convenir que a - b - c signifie (a - b ) - c, c'est dire que l'valuation procde obligatoirement de gauche droite. DFINITION 12.22 - On parle d 'associativit gauche (ou d'valuationde gauche droite ) si on convient d'admettre que x y 0 z t = ((x 0 y) 0 z) 0 t. EXEMPLES. On convient gnralement d'interprter : a-b-c-d a/b/c/d comme ((a - b) - c) - d, comme ((a / b) / c ) / d.
DFINITION 12.23 - On parle d'associativit droite (ou d'valuation de droite gauche) si on convient d'admettre que x<>y0z0t=x0(y<>(z0t)) EXEMPLES. Cette convention assez rare se rencontre en APL, o a - b - c - d signifie a - (b -(c - d)), pour certains oprateurs comme l'exponentiation ; ainsi, on interprte gnralement a t b c comme a (b T c) = a^ et non comme ((a T b) c) = a\"' = a (b-c).
NOTES En Prolog ISO, l'introduction d'un nouvel oprateur suppose d'indiquer le cas d'associativit (total, gauche, droite, sans), le premier cas devant tre tabli, les deux cas gauche/droite tant de pure convention. Des incertitudes sur ces questions ont rendu faux plus d'un compilateur.
12.7.3 Priorits entre oprateurs Ayant donn un sens aux critures allges a + b + c + d puis a - b c - d, on s'est pos la question d'en donner u na+bxc-d,qui n 'en a pas a priori. Si l'on restitue les parenthses absentes, 5 interprtations sont possibles. ((a + b) x c)- d (a + (b x c))- d (a + b) x (c - d) a + ((b x c) - d) a + (b x (c - d)) valuation de gauche droite, sans priorit valuation de gauche droite, x prioritaire sur + +/- prioritaires sur x valuation de droite gauche, x prioritaire sur valuation de droite gauche, sans priorit
L'interprtation (a + (b x c)) - d est purement conventionnelle, et est choisie contre ((a + b) x c) - d en dcrtant la multiplication prioritaire sur l'addition. La notion de priorit allge donc les critures ; mais l'chelle de priorit, sousjacente la syntaxe3, peut tre propre une cole, une thorie, un langage, un produit. Pour tre pratique, l'chelle de priorit doit tre tendue, d'une dizaine de niveaux (Fortran, PLI, Algol 68) 3000 (Quintus Prolog). Une chelle plus rduite peut poser des problmes, comme en Pascal, o elle entre en conflit avec l'usage courant. En cas de doute, on se rappellera que le parenthsage est toujours plus sr. 12.7.4 Notations polonaises Notation polonaise ou prfixe Vers 1920, les logiciens polonais manipulaient dans leurs travaux un nombre croissant d'oprateurs logiques sans qu'il soit possible de dgager un consensus sur des conventions pour allger les critures. LUKASIEWICZ a montr alors qu'une notation totalement PRfixe, sans parenthse ni priorit, ne comporte aucune ambigut si l'arit de chaque oprateur est fixe. DFINITION 12.24 - Une expression prfixe est soit une constante, soit une variable, soit un oprateur prfix, d'arit k, suivi de k expressions prfixes. Ainsi, (a + b)/(c + d (k f- u)) se transcrit : / h - a b + c T _ d - k f u i
Comme le montrent les grammaires 2 niveaux appliques Algol 68 ou Quintus-Prolog ou les Ampres : la notion d'expression ou d'oprateur de niveau donn remplace avantageusement un vocabulaire foisonnant expliquant l'expression partir de termes, facteurs, primaires, secondaires, tertiaires, et autres concepts similaires multiplis pour concrtiser les divers niveaux de priorit, qui d'ailleurs rsisteront mal aux crations d'oprateurs.
REMARQUES
Nous retrouvons le principe de cette notation prfixe dans des phrases comme : ranger dans X la somme de b et du quotient de a par h, qu'on coderait <X +b /a h. C'est la convention de base du langage LOGO. Sous une forme tendue l'arit variable pour bnficier des associativits, c'est la convention de base en LISP4 ; en occam, c'est la convention de structuration des processus.
EXEMPLES (* (+ 1 2 3) (+ 4 5) (+ 6 7 8)) ; dnote en LISP l'expression usuelle (1 + 2 + 3)-(4 + 5)-(6 + 7 + 8 ) ; les parenthses autorisant aux oprateurs prfixs une arit variable, SEQ PAR PI P2 P3 PAR P4 P5 P9 dcrit un processus global anonyme excutant en squence -un premier processus anonyme regroupant 3 sous-processus concurrents pl,p2,p3 puis un second processus anonyme regroupant 2 sous-processus concurrents p4 et p5 puis p9. Notation polonaise inverse5 ou notation postfixe De mme, on peut dnoter strictement des expressions avec une notation POSTfixe, sans parenthse ni priorit, qui ne comportera aucune ambigut ds lors que l'arit de chaque oprateur est fixe. DFINITION 12.25 - Une expression postfixe est forme soit d'une constante, soit d'une variable, soit de k expressions POSTfixes suivies d'un oprateur d'arit k. Alors, (a + b) / (c + d(k f- u)) se transcrit: REMARQUES Une telle approche est sous-jacente certaines langues comme le turc, et certains langages comme FORTH. ^+] | c d k f - u - f + 1 / en occam, l'indentation dfinit les portes, et
4 5
On parle alors de notation prfixe de Cambridge . En anglais. Reverse Polish Notation (RPN).
234
Algbre C'est la convention de base de certaines calculettes, des processeurs structure de pile, et de nombreux interprtes.
Depuis 1965 environ, on utilise le procd de transcription suivant : Transcription Postfixe d'une Expression Parenthse___________________ pour chaque unit lexicale de l'expression transcrire, si l'unit lexicale courante est une variable ou une constante une parenthse gauche la transcrire en sortie, passer l'unit lexicale suivante l'empiler dans la PILE DES
OPRATEURS
passer l'unit lexicale suivante un oprateur moins prioritaire que l'oprateur au sommet de la pile des oprateurs, un oprateur prioritaire sur le sommet de la pile des oprateurs, une parenthse droite et s'il y a en sommet de pile une parenthse gauche un oprateur quelconque rien > on l'efface, on passe l'unit lexicale suivante > on le dpile en sortie, on passe l'unit lexicale suivante > c'est une erreur dpiler en sortie l'oprateur en sommet de pile empiler cet oprateur, passer l'unit lexicale suivante
fin Transcription Postfixe d'une Expression Parenthse ________________ EXEMPLE. La transcription de l'expression parenthse (a+b-c)/(d-e/17) donne successivement les tats du tableau 12-1. On obtient bien finalement en sortie ab+c-de17/-/ REMARQUES. Pour l'expression a + b + c + d Si la transcription dpile les oprateurs de priorit strictement suprieure celle de l'oprateur courant, on obtient l'expression postfixe au plus tard : a+b+c+d atbctd => => abcd+++ abcdTTT
seule criture convenant aux oprateurs associatifs a droite seulement, tels que l'exponentiation. Si la transcription dpile les oprateurs de priorit suprieure ou gale celle de l'oprateur courant, on obtient Y expression postfixe au plus tt : a+b+c+d a-b-c-d a/b/c/d => => => ab+c+d+ ab-c-dab/c/d/
seule criture convenant aux oprateurs associatifs a gauche seulement, tels que la soustraction ou la division. Pour les expressions utilisant plusieurs fois conscutives le mme oprateur associatif, il y a donc 2 possibilits, marques par la proprit :
PROPOSITION 12.12 (Landin, 1962) - La notation postfixe au plus tt minimise le nombre d'emplacements ncessaires au stockage des rsultats intermdiaires lors de l'valuation d'une chane associative. Evaluation d'une expression postfixe Une forme postfixe s'value l'aide d'une pile d'valuation : un oprande en entre entrane l'empilement de sa valeur, un oprateur en entre - dpile le nombre de valeurs qu'exige son arit, - calcule puis empile son rsultat. L'valuation de l'expression postfixe ab+c-del7/-/ est dtaille dans le tableau 12.2. Ce processus d'valuation peut tre adapt la gnration d'un code objet, Z <- (a+b-c) / (d- e / 17) devenant Zab+c-de17/-/<puis un flot d'instructions (fig. 12.1).
Tableau 12.1 Transcription d'une expression parenthse en expression postfixe. en entre ( a + b c ) / ( d e / 17 ) finExpr en pile [ [( a [(+ [([ [/ [/( [/(e [/(-/ [/([/ [ 17 / / b + c en sortie
Tableau 12.2 Evaluation de l'expression postfixe a b + c - d e 17 /-/. pile niveau 0 val(a) val(a) val(a)+val(b) val(a)+val(b) val(a)+val(b)-val(c) val(a)+val(b)-val(c) val(a)+val(b)-val(c) val(a)+val(b)-val(c) val(a)+val(b)-val(c) val(a)+val(b)-val(c) (val(a)+val(b)-val(c)) / (val(d)-(val(e)/17))
entre a b + c d e 17 / /
17
236 entrer adrZ entrer val a entrer val b additionner entrer val c soustraire entrer val d entrer val e entrer 17 diviser soustraire diviser ranger i- @ Z 4- v a 4-v b + 4' v c 4. v d 4. v e 4. 17 / / ^-
Algbre Le code de la figure 12.1 suppose une machine (structure de) pile, matrielle (KDF9, Electrologica X8, Burroughs 5ooo/55oo/65oo, HP3ooo), microprogramme (calculette) ou le plus souvent logicielle (interprtes divers). Ce procd est adaptable aux machines RISC (CDC 6600 et seq, stations de travail, processeur Cruso), en grant l'ensemble des registres comme une pile de taille limite.
Fig. 12.1 Transcription d'une expression postfixe en code pour machine pile.
E muni de deux oprations et . ssi Vx,y,z x)(yz) = (xy) (xz), ssi Vx,y,z (yz)x == (yx) (zx), ssi il est distributifdroite et gauche
distributif par rapport ppcm (et rciproquement) distributif par rapport + et-, distributif par rapport max et min distributif par rapport min (et rciproquement ) distributif par rapport ou et ouExclusif distributif par rapport et.
PROPOSITION 12.13 - Si est distributif par rapport et associatif, on a : (al a2) (bl b2) = (al bl) (al b2) (a2 bl) (a2 b2) (a b) (a b) = (a a) (a b) (b a ) (b b) 12.8.2 Absorption DFINITION 12.27 - Soit un ensemble E muni de deux oprations binaires 4- et T ; l'oprateur ^ est dit absorbant gauche pour T ssi Vx,y,z x ^ ( x t y ) = x , absorbant droite pour ssi Vx,y,z (xTy) ^ x = x, et (bi-)absorbant pour T s'il est absorbant droite et gauche.
Oprateurs & Algbres EXEMPLES Union/intersection, et/ou, max/min, pgcd/ppcm sont mutuellement absorbants.
237
Soit l'expression boolenne ab + a'c ; par absorption, ab = ab + abc et a'c = a'c + a'bc, donc ab + a'c = (ab + abc) + (a'c + a'bc) par commutativit et associativit = ab + a'c + (abc + a'bc) par distributivit = ab + a'c + (a + a')bc par dfinition du complment = ab + a'c + bc bc est dit consensus de ab et a'c ; c'est l'origine d'une des grandes mthodes de rduction des fonctions boolennes (voir 15.6.3).
12.9 MORPHISMES
12.9.1 Morphisme
DFINITION 12.28 - Soient un ensemble E muni d'une opration binaire 0, un ensemble F muni d'une opration binaire , funeapplication de E dans F ; fseradit morphisme de E dans F ssi Vx, y e E f(x0y) = f(x) f(y) On note f : <E, 0> > <F, > un tel morphisme. EXEMPLES
log : <R1', > -> <R, +> car log(x-y) = log(x) + log(y) (Nper) - : <R, min> > <R, max> car non : <B, et> > <B, ou> Occam/De Morgan car - min(x, y) = max(-x, -y) non(et(x, y)) = ou(non(x), non(y)) longueur(chainel & chaine2) =
longueur: <A*, &> > <N, +> car longueur(chainel) + longueur(chaine2) modk : <Z, op> > <Z/k, opk > car modulo k)
REMARQUES L'application f peut prendre la forme d'un oprateur unaire, et l'un et/ou l'autre oprateur, la forme d'une fonction d'arit 2. Homomorphisme est une ancienne dsignation des morphismes. Un morphisme permet de procder indiffremment l'valuation dans E suivi du passage F, ou au passage F suivi d'une valuation dans F. Les reprsentations simplifies utilises pour des preuves ou des contrles sont gnralement garanties par l'existence d'un morphisme entre : - le calcul contrler, sa ou ses oprations, prsumes ralistes ; le calcul de contrle, sa ou ses oprations, prsumes conomiques. La traditionnelle preuve par P d'un calcul arithmtique consiste l'excuter modulo P : le rsultat du calcul modulo P (prsum simple) doit tre chaque instant gal au reste modulo P du calcul contrler (prsum lourd et cher).
238
Algbre La vrification smantique d'un programme vocation physique peut simuler les calculs par une valuation symbolique, o chaque grandeur physique est reprsente par sa seule signature dimensionnelle : on contrle ainsi, de faon gnrique, la validit qualitative, au sens de l'analyse dimensionnelle, d'une squence ou d'une procdure (cf. langages Ampres). Dans une catgorie donne, admettant A et B comme objets, on note Mor(A.B) l'ensemble des morphismes appliquant A dans B.
12.9.2 Epimorphisme DFINITION 12.29 - Soit h : <E,0> -> <?,> un morphisme. Si h(E) = F, le morphisme est surjectif, F est l'image homomorphe de E, et h est dit pimorphisme. 12.9.3 Isomorphisme PROPOSITION 12.14 - Soit h:<E, 0> > <F,> un morphisme bijectif. Alors, h-1 est aussi morphisme bijectif. PREUVE. Soit h:<E,0>-><F,> un morphisme bijectif. h est alors inversible, et donne soit qu'on transcrit Vx, y e E Vx, y e E Vx, y e E Vt, u e F h(x0y) = h(x)*h(y) h-1 (h(x0y)) = h-1 (h(x) h(y)) xOy = h-1 (h(x)h(y)) ; ^'(fu) = rr'(t) 0 rT'(u)
car h tant bijectif, il est quivalent de dire que chaque x de E correspond un et un seul t = h(x) de F, ou bien qu' chaque t de F correspond un et un seul x = h-1(t) de E. Donc, h-1 est aussi morphisme bijectif. DFINITION 12.30 - On appelle isomorphisme, et on note h : <E, 0> <-> <?,> tout morphisme bijectif'h : <E,> > <F, > . DFINITION 12.31 - Soit h : <E, 0> -> <?, > un morphisme injectif. Il n'y a alors isomorphisme qu'entre E et G = h(E) c F. On parle alors d'isomorphisme de E sur G, ou de faon moins prcise, de E dans F. REMARQUE. Les reprsentations parfaites sont gnralement garanties par l'existence d'un isomorphisme entre l'ensemble reprsenter et l'ensemble de reprsentation. C'est le cas pour les codes entiers des jeux de caractres limits tels que les jeux ISO 8859x. C'est ainsi que les logarithmes substituent de faon rversible des calculs additifs aux calculs multiplicatifs, selon le schma de principe : log: <^^<> <-> <ffi, +>. Mais la finitude des reprsentations oblige des entorses s'il faut reprsenter finiment les lments d'un ensemble non dnombrable. Ainsi, la reprsentation virgule flottante n'est pas isomorphe des rels : dans le domaine de dfinition, un rel correspond un nombre virgule flottante le reprsentant, mais ce nombre virgule flottante correspond un intervalle des rels reprsents, englobant le rel d'origine, intervalle dont la largeur dpend de la prcision de reprsentation. Pire, quelques cas rendent l'addition virgule flottante non associative... Une bonne reprsentation virgule flottante n'est ainsi qu'une moins mauvaise reprsentation de rels grande dynamique. 12.9.4 Endo- et automorphisme DFINITION 12.32 - Dans le cas particulier o E = F, un morphisme devient endomorphisme, un isomorphisme devient automorphisme.
239
Des structures algbriques mme assez lgres, du fait de leurs oprateurs et de leurs proprits, donnent naissance une foule d'expressions dues deux phnomnes distincts : 1. la puissance effective du systme tudi ; 2. du fait des proprits des oprateurs, les nombreuses formulations qu'on peut donner d'une mme expression. Si (1) est intressant, (2) constitue plutt un rideau de fume, et si l'on ne prend aucune mesure, le formulaire exploiter deviendra norme, et le moindre calcul littral, formidable. L'automatisation des calculs littraux6 pousse poser un principe d'unification des formules quivalentes par le biais d'une commune reprsentation. DFINITION 12.33 - Soit F un ensemble de formules algbriques, et E = {;} une collection d'quivalences lmentaires sur F. On notera une quivalence gnrale ainsi dfinie dans F : 1. sif=g alors fg ; 2. fg s'il existe un i tel que fig ; 3. x x', y y' ... entranent f(x, y) f(x', y'...) ; 4. f g et g h entranent f h. On appellera ensemble dformes normales sur F un ensemble <i> C F tel que : VfeF(3!(pe$fa(p)7 Pour passer d'une formule sa forme normale, la collection E = {i} d'quivalences lmentaires sur F propose des rgles de transformation. En gnral :
f,g=>(f->g,g->f)
Une des transformations possibles pourra tre abandonne en fonction des proprits recherches pour les formes normales. PROPOSITION 12.15 - Soit t une transformation associant toute formule f une formule quivalente t(f) e 0 C F ; t(f) est forme normale de f , et f gs s it ( f ) t ( g ) ; en particulier, t(f) = t(g) entrane que f g.
PROPOSITION 12.16 -Soit t une transformation associant une mme formule t(f) = (p toutes les formules f d'une mme classe d'quivalence pour , alors (p est dite forme canonique des formules de la classe, et j est le reprsentant de f pour; si F ne contient que des formes canoniques, F est isomorphe F/ ; fgs s it ( f ) = t ( g ) ;
t(t(f)) = t((p) = t(f) puisque (p f, et, partant d ef,jest point fixe pour t 8.
Y compris l'optimisation et/ou la paralllisation de programmes. 3! pour il existe un et une seul . Ce qu'on pourrait noter (f>= t^f).
240
Algbre liminer les oprateurs secondaires au profit des oprateurs fondamentaux qui suffisent les dcrire, en essayant de favoriser les oprateurs associatifs ; ex : a - b > a + (-b) ; utiliser associativit et commutativit des oprateurs fondamentaux et l'ordonnancement lexicographique des termes dans les chanes associatives, pour garantir l'unicit de reprsentation entre formes similaires des permutations prs ; ex : (a - b) + c + (b - a) -> (a + (- b)) + c + (b + (- a)) -> a + (- b) + c + b + (- a) -> a + (-a) + b + (-b) + c - > 0 + 0 + c ; valuer les sous-expressions constantes, et exploiter les lments remarquables ; e x : 0 + 0 + c - > 0 + c - c .
Ces traitements diffrent des rductions usuelles, car ici le but est d'obtenir des formes simples et rgulires facilitant les traitements ultrieurs - tels que les comparaisons d'expressions - plutt que des expressions lgantes et compactes. EXEMPLES Pour un systme manipulant des polynmes, avec produits et sommes associatifs et commutatifs, une forme canonique pourra tre un dveloppement en somme de monmes dots d'un coefficient sign non nul, les monmes tant noncs dans l'ordre lexicographique9 des puissances, les variables de chaque monme tant elles-mmes dans l'ordre alphanumrique. Ainsi, - a-x 2 prcde x^y qui prcde x-y2 ; - x2 se note 1 -x2, et 0-x2 peut tre remplac par 0 ; - ^p(x 2 +27x 2 -]7x 2 )=(p(lx 2 +27x 2 +(-17)x 2 )=(p((l + 27+-17)-x 2 ) = 11-x 2 ; - v(^-(x + y) (x - y)) = tp(l-x 2 - (1-x 2 + (- l)x-y + 1-yx + (- l)yy)) = (p(x2 + (- Qx^ l-x-y+(- l)x-y+ l'y 2 ) = q^O-x^ 0-x-y+l-y 2 ) = 1-y 2 ; - de mme : (p ((y - 1) (y+ 1)+ l)=(p(l + (l-y^ l - y + ( - l ) - y + ( - l ) - l ) ) = ( p ( l + (1-y 2 + 0 - y + ( - l ) ) ) = (p(l + 1-y2 + (-1)) = (p(l + ( - ! ) + 1-y2) = (p(0 + 1-y2) =
1.y;
d'o l'quivalence des deux formules : x 2 -(x+y)(x-y)= ( y - l ) - ( y + l ) + 1. l'Algbre de Boole utilise 3 styles de formes canoniques (chap. 15).
12.11 EXERCICES
12.11.0 Dans B = {0, 1}, ou est-il distributifparrapport au ou exclusif? 12.11.1 Y a-t-il, dans R+ distributivit de l'exponentiation par rapport l'addition et la multiplication ? 12.11.2 Un langage de programmation pour physiciens autorise les oprateurs numriques // et D dfinis respectivement par a//b=l/(l/a+l/b) et a n b = (a'+b2)"2.
12.11.3 Dans N, inventorier les proprits algbriques des pgcd et ppcm (en s'inspirant ventuellement de celles de max et min). 12.11.4 Montrer que tout oprateur associatif, commutatif et idempotent est galement distributifpar rapport lui-mme. 12.11.5 Donner un algorithme de transcription des expressions parenthses en expression prfixe, et un algorithme d'valuation des expressions prfixes. 12.11.6 Montrer que pour un ensemble E muni d'un oprateur 0 associatif, commutatif et idempotent, la relation Z dfinie par xZy = xOy = x est un ordre. 12.11.7 Montrer que pour un ensemble E muni des oprateurs binaires et (2), si e e E est lment neutre de , absorbant pour , et si <8 est distributif par rapport , alors est absorbant pour . 12.11.8 On considre dans R un oprateur xy = x-y-(l - y). Est-il associatif ? commutatif ? idempotent ? A-t-il un lment neutre ? un lment absorbant ? un lment involutif? un lment idempotent ? 12.11.9 Tribu On considre un ensemble A ; X, Y, ... dsignant certains de ses sousensembles, on appelle tribu T attache X, Y, ... le sous-ensemble de 2A form par toutes les combinaisons possibles des X,Y, ... l'aide des union et diffrence ensemblistes. Montrer que T(X, Y, ...) contient , est stable pour l'intersection, forme un treillis pour . Application : avec X = {a, b, c, d, e}, Y = {d, e, f}, Z = {a, f}, donner les atomes du treillis correspondant, et montrer que ce treillis est isomorphe B .
12.12 PROBLEMES
12.12.1 Montrer qu'on peut associer une expression une fonction de cot. En dduire une stratgie gnrale de transformation des quivalences de ce chapitre en rgles de rcriture, permettant d'optimiser automatiquement ces expressions. Comment empcher que les commutativits engendrent des transformations cycliques ? (application : optimisation de code objet ; transformation des expressions exactes brutes en expressions exactes lisibles dans les produits genre Mathematica).
12.12.2 Dans les produits genre Mathematica, il est souhaitable d'accepter des critures varies de la part de l'utilisateur. Mais pour des traitements efficaces, il faut utiliser un jeu interne aussi rduit que possible d'oprateurs riches en proprits. Dfinir une liste de transformations permettant de ramener sans erreur un jeu (externe) d'une vingtaine d'oprateurs et fonctions standard courants un jeu (interne) d'une dizaine d'oprateurs puissants . (On essaiera par exemple d'liminer de la reprsentation interne la soustraction, la division, la fonction abs ; de rduire le nombre de comparateurs...). 12.12.3 Etablir les proprits de la premire opration qu'un pimorphisme transmet la seconde. 12.12.4 Soit a = 1. En dduire que a2 - a = a2 - 1, que a = a + 1, et que, par consquent, 1=2(). 12.12.5 Avec SB = {0,1} montrer que la complmentation dfinit un automorphisme involutif <IB, 0, !,+,->-M. <,1,0,-,+> Statut des rgles de De Morgan ? 12.12.6 Dgager le systme de priorits employ pour l'criture des expressions boolennes en Fortran. 12.12.7 Dgager le systme de priorits employ dans les expressions arithmtiques du langage de votre choix. L'tendre l'affectation puis au squenceur (oprateur de mise en squence de deux instructions successives). Traiter le cas des parenthses begin...end (resp. {}). 12.13 PISTES DE RFLEXION 12.13.0 Pour que la compilation d'un langage oprateurs puisse exploiter des rgles gnriques d'optimisation, dfinir et garnir une table rectangulaire forme d'une ligne par oprateur et d'une colonne par proprit ou lment remarquable. On dcide de rendre le langage extensible, l'utilisateur pouvant crer ses propres oprateurs. Peut-on tendre sans faute l'optimisation ces oprateurs ? quelles seraient les particularits dclarer ? Comment tendre le dispositif la distributivit ? l'absorption ? 12.13.1 Algbres On considre l'algbre formel A = <S, F> form d'une liste S d'ensembles ou sortes, d'une liste F de fonctions et d'oprateurs, munis de leurs profils, supposs relatifs aux seuls ensembles de S. On s'intresse des conditions gnrales de viabilit d'une telle structure.
On appellera CARTE de A un graphe biparti comprenant : dans une classe, un sommet par ensemble ou sorte de S, dans l'autre, un sommet par fonction ou oprateur de F, un arc de chaque sorte vers chaque oprateur, chaque fois que l'oprateur utilise un argument valeur dans cette sorte, un arc de chaque oprateur vers l'ensemble o son rsultat prend sa valeur. Discuter d'aprs cette carte des conditions de validit de l'algbre telles que : aucun sommet ne doit tre isol (pourquoi?), la carte doit tre connexe, la carte doit comporter au moins un circuit. Chercher d'autres conditions. Y a-t-il lieu de distinguer les fonctions des oprateurs ? Peut-on distinguer simplement les cas non commutatifs ? Faut-il introduire des oprateurs gnriques standard (de construction/clatement de tuples ? de conversion du genre rel : N > R ?) 12.13.2 Etablir les isomorphismes entre objets d'une mme catgorie. 12.14 LECTURES Techniques DAVENPORT, SIRET & TOURNIER, Calcul formel (systmes et algorithmes de manipulation algbrique), Masson, coll. ERI, 1987. DUBREIL & DUBREIL-JACOTIN, Leons d'algbre moderne, MUM n 6, Dunod, 1964. KAUFMANN & BOULAYE, Thorie des Treillis en vue des applications, chap. 1-5, pp. 23-38, Masson, 1978. MACLANE S., BIRKHOFF G., Algbre, Gauthier-Villars, 1970 (2 vol.), rdition Jean Gabbay, 1996(1 vol.). Historiques CALLOT, C'tait crit ! , Tangente, sept/oct 1992, pp. 30-32. DEDRON & ITARD, chap. XIII, Les notations algbriques et les problmes du premier degr , in Mathmatiques et Mathmaticiens, Magnard, 1959. FREUDENTHAL H., Notation mathmatique , in Encyclopedia Universalis, 1999.
CHAPITRE 13
Le monode est la structure algbrique la plus sommaire ; elle rgit par exemple l'arithmtique additive des entiers naturels. Souvent, on ne s'intresse qu'au groupe, cas particulier clbre identifi ds le dbut du XIXe sicle par CAUCHY et GALOIS. Cependant, la thorie des langages formels (et, partant, de la compilation) drive directement de la notion de monode, introduite ainsi deux titres.
13.1 PRESENTATION
DFINITION 13.1 - On appelle monode et on note <A, > une structure forme d'un ensemble A muni d'une opration associative . EXEMPLES <N, +>. L'ensemble des applications de E dans E, dot du produit de composition.
13.1.1 Relation prfixe DFINITION 13.2 - A tout monode <A, > est associe une relation prfixe TC dfinie par : V x, y e A XTty = ( 3z eA xz = y) PROPOSITION 13.1 - La relation prfixe est transitive. PREUVE. XTty A ynz > ( 3t, u eA (xt= y) A (yu= z)) > ( 3t, u eA (x t) u = z ) > ( 3t, u eA x (t u) = z ) > ( 3w e A x w = z)
> X 7t Z.
PROPOSITION 13.2 - La relation prfixe est rflexive si l'opration possde un lment neutre droite, ou si elle est idempotente. PREUVE. 7t est rflexive ssi Vx e A ( x TI x) <=> Vx e A (3z e A xz = x) Si possde un lment neutre droite d,
Vx e A xd = x -> Vx e A (3z e A xz = x) f Vx e A (x n x).
Si est idempotente,
Vx e A xx = x > Vx e A (3z e A xz = x) > Vx e A (x n x).
COROLLAIRE 13.3 - La relation prfixe est un prordre si l'opration possde un lment neutre droite, ou si elle est idempotente. PROPOSITION 13.4 - L'ventuel lment neutre gauche g de l'opration prfixe chacun des autres lments de A. PREUVE. Si possde un lment neutre gauche g, Vx e Agx = x > Vx e A (g n x).
246
Algbre
DFINITION 13.3 - Dans un monode <A, > muni de sa relation prfixe : on appelle prfixe commun x et y, lments de A, un p de A tel que p 71 x et p n y ; on appelle prfixe commun une partie S A, un p de A tel que Vx S pnx. PROPOSITION 13.5 - Dans un monode <A, >, l'ventuel lment neutre gauche g de l'opration est prfixe commun (des lments) de A (par la proposition 13.4). EXEMPLES Selon Frege (1880), Ni = {1, 2, 3, ...}, peut tre construit partir de 1 et d'une addition associative, qui rend compte de ce que 5 dsigne la somme de 5 uns conscutifs, le rsultat ne dpendant pas des regroupements effectus : 1+1+1+1+1 =1+(1+1+1+1)=(1+1)+(1+1+1)=(1+1+1)+(1+1)... De ce point de vue, <Ni, +> est un monode sans lment neutre, la relation p associe est l'ordre strict <, transitif et irrflexif, et en ce sens 1 prfixe tous les autres entiers. Construisons, la Peano, N partir de 0, de 1 et d'une addition associative dont 0 est lment neutre. Dans le monode <No, 0, 1, +>, la relation prfixe n associe + est maintenant rflexive : c'est un prordre, et 0 prfixe tous les autres. De fait, la relation n est maintenant l'ordre large <, de minimum 0.
13.1.2 Notation puissance DFINITION 13.4 - Dans un monode <A, >, on convient de noter Va e A a" = aaaa.. .aa A ............... A o a est rpliqu m fois en tout.
247
ou toutes ces puissances sont distinctes 2 2, et chaque valeur de A est gale une de ces puissances ; alors a"4'1 ne peut prendre qu'une valeur dj rencontre, et il existe un p tel que 1 ^ p < q ^ n + 1.
EXEMPLES Considrons une arithmtique archaque 4 valeurs A = {1, 2, 3, beaucoup}. Elle admet une addition et une multiplication associatives. Pour cette multiplication, / et beaucoup sont 1-priodique, et 2 et 3 sont finalement priodiques. Les relations sur un ensemble fini X forment un ensemble fini 9t(X), que la composition dote d'une structure de monode ; toute relation R de cet ensemble est finalement priodique, au sens des puissances de composition.
PROPOSITION 13.9 - Dans tout monode <A, >, chaque lment finalement priodique et simplifiable est priodique. PREUVE. Soit a e A, finalement priodique et simplifiable. 2 de ses puissances sont gales, et l'on a sf = a'1, avec p < q ; si p = 1, a est (q-l)-priodique ; sinon, p > 1, et en simplifiant nf = a'1 par a^', on obtient a = a"^^', et a est (q-p)priodique.
13.1.3 Rle d'un lment neutre Notons <A, e, > tout monode <A, > d'lment neutre e ( 12.4.1). PROPOSITION 13.10 - Pour tout lment a d'un monode <A, e, >, on pose a = e. ARGUMENT. Pour m e N , o n a : 0 + m = m = m + O . I l serait donc souhaitable que l'on ait en gnral :
Va e A V m e N : a0^ = a" = a^0 soit Va e A V m e N : a'.a"' = a" = a"'.a
On a dj Va e AV m e N : e a1" = a1" = a"'e ; il suffit donc de poser Va e A : a = e (que rien n'interdit). EXEMPLE. L'ensemble des applications de E dans E, dot du produit de composition, est un monode. Ig, l'application identique, y joue le rle d'lment neutre, assimilable la puissance zro de chaque application de E dans E. PROPOSITION 13.11 - Dans un monode <A, e, > Vlement neutre e prfixe tous les autres lments, en tant qu'lment neutre gauche, et la relation prfixe est un prordre, du fait d'un lment neutre droite. 13.1.4 Symtriques Cette section s'adresse aux monodes <A, e, > dots d'un lment neutre e. DFINITION 13.7 - On appelle symtrique d'un lment x pour une opration un lment x' tel que x'9 x=e. EXEMPLE. Un lment neutre est toujours son propre symtrique, car ee = e. PROPOSITION 13.12 - La symtrisation est involutive. PREUVE. Si l'on s'intresse x' symtrique de x, et au symtrique x" de x', on a : x"*x' = E = x'*x. Donc x" = x"e = x"(x'x) = (x"x')"x [par associativit] = e x = x. PROPOSITION 13.13 - Si x' est symtrique de x, x est symtrique de x' : e = x x'.
248
Algbre PREUVE. On a montr que x" = x, or x"*x' = e donc x*x' = e, ce qui symtrise la dfinition 13.7.
PROPOSITIONS 13.14 - Tout symtrique est unique. PREUVE. Soient X1 et x2 deux symtriques de x . Alors : Xi = = = = = Xi*e Xi*(x*X2) (xi*x) x; e*X2 X2 e lment neutre par dfinition du symtrique Xz (prop. 13.11) par associativit par dfinition du symtrique Xi E lment neutre.
13.15 - Tout lment a au plus un symtrique. 13.16 Si un lment a possde un symtrique a', alors l'quation ax=b a pour solution x = a'" b PREUVE, a x = b entrane a' b = a' (a x)=(a' a ) x = s x = J c .
13.2 SEMI-GROUPE
DFINITION 13.8 - On appelle semi-groupe un monode <A, > dont l'opration est simplifiable droite : Va,b,c e A a"c = bc > a = b et gauche : Va,b,c A ab = ac -> b = c i.e. dont tous les lments sont simplifiables. EXEMPLES <N, +> est un semi-groupe commutatif(Peano/Frege). <N, ><> est un monode mais pas un semi-groupe, car 0 n'est simplifiable ni gauche ni droite pour la multiplication ; par contre, <!i, x> est semi-groupe. <Ni, pgcd> et ^^Ni, ppcm> sont monodes sans tre semi-groupes : pgcd(60,36) = pgcd(60,144) n'entrane pas 36 = 144...
PROPOSITION 13.17 - Tout semi-groupe y possde un lment neutre. PREUVE. Le semi-groupe <A, > tant fini, n lments, on suppose son opration dfinie par une table carre n-n. L'oprateur tant simplifiable gauche. Va, y, z e A ay = az => y = z, et par contraposition : Va, y , z e A y ?t z => ay ^ az : tous les lments de la ligne a sont distincts deux deux. De mme, l'oprateur tant simplifiable droite. Va, y, z e A ya = za => y = z, et par contraposition : Va, y, z e A y^z => ya ^ za : tous les lments de la colonne a sont distincts deux deux. La table constitue un carr latin. Considrons la ligne a : tous ses lments sont distincts, l'un d'eux vaut donc a, et il existe un d tel que : ad = a. V b e A ab = (ad)b = a(d b) par associativit, et V b e A b = db du fait de la simplifiabilit gauche ; donc d est lment neutre gauche de . De mme considrons la colonne a: tous ses lments sont distincts, l'un d'eux vaut donc a, et il existe g tel que ga = a ; alors V b e A ba = b(ga) = (bg)a par associativit, et b = bg du fait de la simplifiabilit droite ; donc g est lment neutre droite de . Par suite, d = d g = g, et le semi-groupe <A, > admet un lment neutre, m
13.3 GROUPE
13.3.1 Introduction DFINITION 13.9 - Un groupe1 est un monode G = <A, e, > dont chaque lment x possde un symtrique. Tout sous-ensemble B non vide d'un groupe <A, e, > est dit sous-groupe si <B, e, > est lui-mme un groupe. REMARQUE. Noter x-1 le symtrique de chaque x est compatible avec les conventions antrieures. Nous aurons ainsi x-1.x = e = x ; par symtrie, la notation puissance s'tend aux puissances ngatives. PROPOSITION 13.18 - (a^b)"' = b^'a"' PREUVE, a^'a = E donc (a-la)b = b et b-l((a-la)b) = b^'b = e ; or, par associativit b-' ((a"' a) b) = (b~1 ar')(a b) d'o e = (b'^ar^a.'b). PROPOSITION 13.19 - Tout groupe est un semi-groupe. PREUVE. xa = ya entrane (x^a)^"' = (ya^a"' et, par associativit x^a'a"') = y^a'a"') ; or a^a"' = e donc x = y, et la simplifiabilit droite est tablie. De mme, ax = ay entrane x = y, en prmultipliant les deux membres par a-1, d'o la simplifiabilit gauche. Le groupe G = <A, e, > tant un monode simplifiable, est donc un semigroupe. EXEMPLES <Z, 0, +> est un groupe, les entiers signs pairs forment un sous-groupe, mais <No, 0, +> n'est qu'un semi-groupe, et les entiers positifs impairs ne forment mme pas un monode pour +, puisque leur ensemble n'est pas stable pour +. <Z /k, 0, +> est le groupe additif des entiers modulo k. <Q-{0}, 1, > est un groupe, mais<^, 1, > n'est qu'un semi-groupe. <IR, 0, +> est un groupe, <1R", O", +> est un groupe, l'ensemble des translations dans IK" est un groupe. Dans le plan et dans l'espace, l'ensemble des rotations autour d'un point 0 forme un groupe, dont l'ensemble des symtries par rapport 0 est un sous-groupe. Dans le plan, l'ensemble des rotations autour d'un point du plan, d'un angle multiple de 15, forme un groupe 24 lments, isomorphe <Z /24, 0, +>. OS, > est un monode particulier, d'lment neutre 0, dont chaque lment, involutif, est son symtrique : Vx xx = 0 ; donc <IES, 0, > est un groupe isomorphe <Z/2,0, +>.
13.3.2 Equations et opration induite PROPOSITION 13.20 - Dans tout groupe G = <A, e, >, l'quation a x = b (a,b e A) a pour solution l'quation x a = b (a,b e A) a pour solution x = a^'b (x e A), x = b a"'(x e A).
250
Algbre PREUVE. Tout lment a possde un symtrique : a x = b entrane a-1 b = a-1 (ax) = (a''a) x = e x = x . L a seconde proprit se dmontre de mme en postmultipliant par a"'. NOTE. La rsolution d'quations dans un groupe suggre une seconde opration : en posant x / y = y^x, la solution de ax = b est x = b/a . tout groupe multiplicatif suggre une division, tout groupe additif, une soustraction...
13.3.3 Groupes monognes et ordres PROPOSITIONS 13.21 - Tout lment g d'un groupe G = <A, e, > est inclus dans un sous-groupe de G. 13.22 - L'intersection de deux sous-groupes de G contenant g est un sous-groupe contenant g.
DFINITIONS
13.10 - Dans un groupe, le plus petit sous-groupe contenant un lment g est Ug = {gn n e Z}. Il est dit groupe monogne engendr par g. 13.11 - On appelle ordre d'un groupe fini G, et on note ord G, le nombre d'lments de ce groupe. 13.12 - Tout groupe monogne n lments engendr par g est dit groupe cyclique d'ordre n, et g est dit lment d'ordre n. PROPOSITIONS 13.23 - Tout groupe cyclique d'ordre n est isomorphe <Z /n, 0, +>. 13.24 - Tout groupe cyclique d'ordre n est isomorphe au groupe des racines n-imes de l'unit. EXEMPLE. Considrons dans C le groupe monogne multiplicatif engendr par i. Il comprend {i, i2 = -1, i3 = -i, i4 = 1} : c'est le groupe des racines quatrimes de l'unit, isomorphe <Z /4, 0, +>. 13.25 - Dans un groupe cyclique d'ordre n et de gnrateur g, g" a pour ordre n/pgcd(m, n). Ainsi, dans un groupe cyclique d'ordre 18, g est d'ordre 18, g2 d'ordre 9, g3 d'ordre 6, g4 d'ordre 9, g21 d'ordre 6... 13.26 (Euler-Lagrange) - L'ordre de tout sous-groupe d'un groupe fini divise l'ordre du groupe. 13.3.4 Composition de groupes PROPOSITION 13.27 - Soient <Gi, |, > et <Gz, 2,> deux groupes, et posons V (x,y), (z,t) e G,G2 : (x,y)(z,t) = (x.z, y.t) <G1G2, > est un groupe d'lment neutre e = (Si, 3), et ord G = ord G] ord Gz. EXEMPLE. Considrons les groupes 4 lments. Certains sont isomorphes <2/4, 0, +>, d'autres au groupe de Klein, qu'on peut voir comme le produit cartsien de deux groupes d'ordre 2.
251
groupe de Klein V4 * e a b c e s a b c a a e c b b b c e a c c b a e
13.13 - Quand son opration est commutative, un groupe est dit groupe commutatif ou groupe ablien2. EXEMPLES <Z, +, 0> est un groupe ablien. Les matrices rgulires nxn forment un groupe non commutatif, dit groupe linaire gnral, not GL(n).
13.14 Dans un groupe non commutatif <X, >, on appelle commutateur x d'une paire a, b tout x tel que (ab)x = ba. COROLLAIRE 13.28 - Dans un groupe non commutatif <X, >, le commutateur x d'une paire a, b existe toujours : c'est x = b-la-lba.
13.4 MONODE FINIMENT ENGENDR Cette section prolonge la section 3.8. 13.4.1 Concatnation Soit A un ensemble fini.
DFINITIONS
13.15 - Soient An l'ensemble des squences de longueur n bties sur A, et A* 1'ensemble des squences bties sur A. On assimile A l'ensemble des squences de longueur 1 bties sur A, si bien que x e A = x e A'. De l, A*, l'ensemble de tous les A" possibles, est engendr par un oprateur de concatnation ainsi dfini. Si x e Am c A* dsigne un m-uple bti sur A, si y e A" c A* dsigne un m-uple bti sur A, alors xy, concatn de x et y, dsigne un (m+n)uple tel que : pour 1 < i < m : (xy)j = x, pour m < i <: m + n : (xy), = y, - m x.yeA""". 13.16 - A est dit ensemble des gnrateurs de A*.
252
Algbre EXEMPLE. A* est ensemble de textes (resp. de phrases, de mots, de nombres) si A est ensemble de phrases (resp. de mots, de lettres, de chiffres).
13.4.2 Proprits PROPOSITIONS 13.29 - Si A est fini. A* est dnombrable. PREUVE. En mettant A en bijection avec un systme de |A| chiffres autres que 0, A* se trouve mis en bijection avec un sous-ensemble des entiers crits en base |A|+1. 13.30 - La concatnation est associative. PREUVE. En raisonnant composante composante, on a toujours : Vx, y, z 6 A* (xy)z = x(yz). est associative, et <A*, > est un monode. 13.31 - Le monode <A*, > des squences bties sur un alphabet A est un semigroupe. PREUVE. En raisonnant composante par composante, on a toujours : Vx,y,z 6 A* xy = zy -> x = z et Vx,y,z e A* xy = xz -> y = z. La concatnation est simplifiable gauche et droite, donc A* est semi-groupe. 13.32 - Soit |x| la longueur de x, au sens o x e A"1 > |x| = m . Par construction : Vx,y e A* | x y | = |x| + |y| 13.33 - Si <A*, > possde un lment neutre e, c'est la squence vide. ARGUMENT. Au sens ci-dessus, l'lment neutre doit tre de longueur nulle. 13.34 - Vx e A* |x"'| = m-|x| (en particulier, x = e -) |e| = 0) DFINITION 13.17 - Si A est un ensemble fini, A = {e} sera l'ensemble form de la squence vide, A*, l'ensemble des squences, vide ou non, bties sur A :
A*= C'A' = {s } u A' = A u A"A* = A u A
i0 ' i=l
PROPOSITIONS 13.35 - A est le plus petit ensemble stable pour la concatnation contenant A. A* est le plus petit ensemble stable pour la concatnation contenant A, et muni d'un lment neutre. 13.36 - Tout x de A de longueur finie x| est constructible partir de A en |x|-l oprations. ARGUMENT. On prend \\ dans A, on lui concatne successivement \i, X3, ... XnO n = |x|, en n-1 oprations.
253
PROPOSITION 13.37 - La relation prfixe n attache au monode finiment engendr <A*, > est un ordre large partiel. PREUVE. La relation p est toujours transitive et du fait de l'lment neutre, elle est rflexive. Pour l'antisymtrie : Par dfinition : Vx, y e A* (XTIVAVTCX) > ( 3z,t e A* x-z = y A y-t = x). Supposer x p y et y n x nous donne : x-z = y et yt = x Eliminons y : x = (x-z)-t Par associativit : x = x-(z-t) et du fait de e: x = x-e Soit par simplification gauche : z-t = e et, pour les longueurs : |z| + |t| = e =0 z et t ne peuvent tre que de longueur positive ou nulle : |z[ = |t| = 0, donc z = t = e et finalement x = y. REMARQUE. La relation n est maintenant un ordre, mais partiel : si ab et abc sont comparables pour la prfixation (avec ab p abc ), abc et abd ne le sont pas. Mais e, a, ab sont prfixes communs de abc et abd ; et ab est le plus long prfixe commun de abc et abd. Ce plus long prfixe commun existe toujours, mme s'il se rduit parfois au prfixe trivial e. PROPOSITION 13.38 - Avec le plus long prfixe commun comme borne infrieure d'une paire de squences, la prfixation dote A* d'une structure d'inf-demi-treillis ( 4.5.2). 13.4.4 Ordre lexicographique Un ordre total sur A induit un ordre total sur A *, faisant passer par exemple d'un ordre alphabtique (dans A) un ordre associ sur les mots (dans A*), dit ordre lexicographique (cf. 4.5.5). DFINITION 13.18 - Supposons A muni d'un ordre large et total <A et soit <A l'ordre strict associ. Dans A*, soit une relation prcde note -< et dfinie par :
Vx e A* s -< x
Vx,y e A
x -< y <-> (3x', y' e A (3s, qeA* x = x'-s A y = y'-q A ((x'<A y') v (x' = y' A s -< q))))
EXEMPLE. On prend comme A l'alphabet, et comme A* l'ensemble des squences de lettres. Cette dfinition nous donne a -< z car a = a-e, z = z-e et a<A z a -< abaque car a = a-e, abaque = a-baque et e-<baque abc -< z car abc = a-bc, z = z-e et a<A z abc -< abde car abc-<abde <-> bc-<bde <-> c-<de <-> c<Ad PROPOSITIONS 13.39 - La relation -< est pour A* un ordre large, total, dit ordre lexicographique. 13.40 - La prfxation est plus fine que cette prcdence : (Vx,y e A * x 7 i y - > x - < y ) => 71 c ^ dans %(A*)
254
Algbre
13.19 - Soit A un ensemble fini de symboles, appel dans le contexte alphabet (resp. vocabulaire), et soit A* = <A, > le monode associ, ensemble des mots (resp. ensemble des phrases) bti(e)s sur A. On appelle langage formel tout sous-ensemble L A*. On note A Y ensemble des parties de A*, vu comme ensemble des langages btis sur A. 13.20 - Soient L1 A* et L2 A*. On appelle concatn des deux langages le langage : L1.L2 = {x-y | xeLl A yeL2}. PROPOSITION 13.41 - Soient L1 A*, L2 A*, et leur concatn L1.L2 1. Li.L2A*.
2. L* A* pour tout monode L* = <L,> bti sur L A*. 3. Li (1.2 u Ls) = Li'L^uLi'Ls et (l^uLs) Li = T^LiUl^l^ /distributivit de la concatnation par rapport l'union.
13.6 GRAMMAIRES
Abordons les langages en tant que productions d'un systme gnrateur, dfini a priori (modle explicatif) ou a posteriori (modlisation). DFINITION 13.21 - Soit T un ensemble fini de symboles, dit vocabulaire terminal. Soit N un ensemble fini de symboles, disjoint de T, et dit vocabulaire des notions. Soit V = N + T le vocabulaire tout court. On appelle grammaire formelle un systme G <N, T, R> o R = {x > y [ x e N, y e V*} est dit ensemble des rgles de la grammaire G : chaque couple x > y est dit rgle de la grammaire ; gauche, x e N est une (concatnation de) notion(s), dite abstraction de
y-
13.6.1 Drivation Soit G = <N, T, R> une grammaire formelle, et soient x, y GV*. DFINITION 13.22 - On dira y driv3 de x au sens de G, ou x abstraction de y au sens de G et on notera : x => Q y ssi on est dans l'un des cas : 1. 2. 3. x->yeR /amorage il existe z, t e V* et r -> s R tels que x = z-r-t, y = z-s-t /dveloppement local il existe z e V* tel que x = > G z e t z = > c y /fermeture transitive
Ou dveloppement de x, ou production de \.
13.6.2 Langage engendr par une grammaire DFINITION 13.23 - Soit G = <N, T, R> une grammaire, et un lment a e N . Le langage L T* sera dit de grammaire G et de germe* a ssi L est la collection des squences ou productions terminales drivables de ce germe au sens de la grammaire retenue. Alors : L = <G, a> = L = { x e T*| a => G x } 13.6.3 Ambiguts, impasses, vide
DFINITIONS
13.24 - Une production p est dite production ambigu si on peut la driver d'une abstraction de deux faons diffrentes, ou plus. Si une grammaire engendre une production ambigu, alors on dit cette grammaire ambigu. Un langage sera dit langage ambigu si toutes ses grammaires sont ambigus. 13.25 - Une abstraction est une impasse : si aucune rgle de drivation ne lui est applicable, ou si toutes ses productions sont elles-mmes des impasses. Invoquer une telle notion bloque la drivation. 13.26 - Pour la notation algbrique des productions on utilisera : e pour la production terminale vide, neutre pour la concatnation ; elle est sans trace : toujours reconnue dans les analyses, elle est sans effet en gnration ; u> pour les impasses, u tant pos lment absorbant de la concatnation. 13.6.4 Exemple On se donne : T = {a,b}, N = {ce, P}, R = {0 : a-xxa 1 : a-).? 2 : pp->a 3 :PPP->b}.
En dtaillant la drivation, on trouve d'abord : a => P ; au-del : P isol, constitue une impasse (pas de rgle P>...) P2 > a par la rgle 2 P3 > h par la rgle 3
p^aa carp^p 2 -? 2
p => ab, ba P6 => aaa, bb P7 => aab, aba, baa p8 => aaaa, abb, bab, bba
o , est mis pour ou , car p5 = p2-?3 = p3-?2 car 6 = 2+2+2 = 3+3 car 7 = 2+2+3 = 2+3+2 = 3+2+2 car 8 = 2+2+2+2 = 2+3+3 = 3+2+3 = 3+3+2 ...
et L = {a, b, aa, ab, ba, aaa, bb, aab, aba, baa, aaaa, abb, bab, bba ...}. Cette grammaire est ambigu car p8 mne aaaa soit par P2?6 soit par P4?4 soit par P6?2, et la production aaaa possde plusieurs abstractions ou analyses.
13.6.5 Grammaires & compilation La compilation repose sur une typologie des grammaires : pour chaque classe, les ensembles de rgles sont soumis des contraintes strictes, qui gouverneront les caractristiques algbriques, voire linguistiques, des langages correspondants (le chapitre 16 traite le cas des expressions rgulires ou langages grammaires de Kleene). On en dduit5 des algorithmes d'analyse (qui btissent une reprsentation abstraite des textes reconnus conformes la grammaire) et des algorithmes de gnration (associant une reprsentation abstraite un texte conforme) ; ces algorithmes sont ventuellement coupls par des algorithmes de transformation (si les langages diffrent profondment) ou d'optimisation.
13.7 EXERCICES
13.7.0 On considre dans R l'oprateur $ dfini par x$y = (x+y)/2 ; la structure <M, $> est-elle un monode ? Soit maintenant l'oprateur dfini par x ^ y = (x^y2)172 ; la structure <M, > est-elle un monode ? est-il simplifiable ? y a-t-il un lment neutre ? un lment absorbant ? 13.7.1 On considre l'ensemble des fonctions f: M > M. Et sur ces fonctions, on considre l'ensemble T des translations -c(a): f(t) -> f(t+a). Montrer que T, dot d'un produit de composition, est un monode. Le caractriser. A quelle condition T peut-il tre un groupe ? 13.7.2 Montrer qu' toute opration associative, commutative et idempotente sur un ensemble A on peut associer un ordre et une structure d'inf-demi-treillis. 13.7.3 Montrer que pour une opration associative, tout lment ayant un symtrique est simplifiable. 13.7.4 Montrer que BB = {0, 1} est monode pour + (ou), (et), (ou exclusif), mais que seul ce dernier oprateur dote SB d'une structure de groupe. Application la rsolution de l'quation en x : ax = b. 13.7.5 ff = {0, 1} est-il monode pour les oprations NI(x,y) = NON(OU(x, y)) et ON(x, y) = NON(ET(x, y)) ?
Monodes & groupes 13.7.6 Dans le plan, montrer que forment un groupe pour la composition : l'ensemble des homothties de centre 0 et de rapport k ^ 0 ; l'ensemble des translations ;
257
l'ensemble des rotations de centre 0. Ces groupes sont-ils commutatifs ? 13.7.7 Groupe Sn des permutations Soit une suite de n objets distincts. On appelle permutation une transformation p note (i1, i2, ... in) o les i1, i2, ... in sont des entiers de 1 n tous distincts, et telle que : p ( X1, X2, ... Xn ) = (xi1, xi2 , ... xin ) i.e. telle que l'objet de rang k dans la suite initiale devienne l'objet de rang ik dans la suite permute. Montrer qu'il existe n! permutations possibles. On s'intresse la composition de permutations, qu'on peut concrtiser en associant chaque permutation un diagramme sagittal, et la composition de permutations, correspondant la mis en cascade de leurs diagrammes. Montrer que ces permutations forment un groupe pour la composition. 13.7.8 Soient <G], *> et <G2, > deux groupes, et posons
V (x,y), (z,t) e G,G2 : (x,y)(z,t) = (x*z, yt)
Montrer que <G18>G2, > est un groupe. Dfinir son lment neutre. Peut-on en dduire une possibilit de dcomposition des groupes finis d'ordre non premier (ex : groupe d'ordre 12) ? 13.7.9 Montrer que les produits des combinaisons des puissances des permutations (12345) puis (678) forment finalement un groupe d'ordre 15. 13.7.10 On considre l'opration // : M(g)]R -> R dfinie par a // b = l/(l/a + 1/b). Montrer que <M, //> est un monode, muni d'un lment neutre et d'un lment absorbant. Montrer que c'est de plus un groupe ablien. En dduire que R//S = T a pour solution R = T//(- S). Rsoudre les systmes d'quations : 1.1 P//Q 1.2 P//P//P =R/3 = R72 2.1P//P 2.3 S // P =Q = 500 2.2 Q //1000 = S
13.7.11 Soit g un lment d'un groupe <G, e, *>. Montrer : que la suite des puissances entires positives de g forme un sous-monode de G ; que la suite des puissances entires, positives ou ngatives de g, forme un sous-groupe de G ; justifier les notations telles que g'p+m.
258
Algbre
On appelle ordre k de l'lment g le plus petit entier k tel que g1' = e, s'il existe ; sinon, k est dit d'ordre infini. Montrer : que tout lment d'un ensemble G fini n lments est d'ordre n au plus, que pour tout lment d'ordre infini, le sous-groupe multiplicatif des puissances de g est isomorphe <Z, +, 0>, que pour tout lment d'ordre k fini, le sous-groupe multiplicatif des puissances de g est isomorphe <Z/k, +, 0>, groupe additif pour les entiers modulo k. 13.7.12 On se place dans un groupe <G, e, *>. Rsoudre en x, en supposant le produit non commutatif 1. ax=b 2. axa=b 3. axab = b 4. axcx = bx 5. axcx = cbx Que deviennent ces solutions avec un produit commutatif?
13.8 PROBLMES
13.8.0 Groupe des isomtries On appelle isomtries les transformations gomtriques du plan qui ne changent ni la forme ni les mesures des objets. Soit 1 l'ensemble des isomtries d'un plan, qu'on munit du produit de composition not o. Montrer qu'il existe une isomtrie neutre, que toute isomtrie a un inverse, et que par consquent <I, o> est un groupe, que le sous-ensemble D des dplacements (i.e. des isomtries qui conservent l'orientation : translations et rotations) est en fait un sousgroupe, que le sous-ensemble A des anti-dplacements (i.e. des isomtries qui changent l'orientation : symtries et glissages) n'est pas stable pour la composition, que le sous-ensemble S des symtries par rapport une droite - est inclus dans A, - constitue l'ensemble des gnrateurs de I, - que tout lment de IS est composition de 2 4 lments de S. 13.8.1 Tracs point par point En vue d'une reprsentation informatique des tracs point par point, on considre, dans le style des codes de Freeman, l'ensemble D = {1, 2, 3, 4, 5, 6, 7, 8, 9} des codes du pav numrique pour reprsenter 9 dplacements lmentaires dans le plan : 6 pour un dplacement unitaire parallle Ox, 9 pour un dplacement lmentaire le long de la premire bissectrice, 8 pour un dplacement unitaire selon Oy, 7 pour la seconde bissectrice...
Monodes & groupes A partir de D, dfinir un monode des dplacements D* auquel appartiendront des squences telles que 2221111888 . Montrer que D* possde un lment neutre, que chacun des codes c de D possde un inverse 10-c, et que D* est ainsi un groupe, et mme un groupe ablien (c'est--dire commutatif).
259 7 .9 ~ __ __ __ 1 2 3 numrique
On considre maintenant l'ensemble T = { 1, 2, 3, 4, 5, 6, 7, 8, 9} des codes traants, reprsentant un pointage (5) et 8 tracs lmentaires dans un plan. Dfinir partir de T un monode T* auquel appartiendront des squences telles que 2221111888. ayant valeur de trac. Montrer que T* ne possde pas d'lment neutre, qu'aucun de ses codes ne possde un inverse, que T* n'est pas un groupe, et que la composition dans T* n'est pas commutative. On considre enfin l'ensemble C = { 1, 2, 3, 4, 5, 6, 7, 8, 9,1, 2, 3, 4, 5, 6, 7, 8, 9} des codes lmentaires de trac ou dplacement dans un plan. Dfinir partir de C un monode C* auquel appartiendront des squences telles que 222111188833333785. Expliquer l'intrt de squences alternes pour la description de proche en proche d'image pixellise, connexe ou pas, partir d'un point de rfrence. Montrer que C* possde un lment neutre, et un sous-groupe des dplacements . On se propose d'optimiser les squences de C* dcrivant une image pixellise. Proposer une table de Pythagore pour la composition d'lments de D montrant tous les cas o d1d2 = d3. On note qu'on pourrait aussi crire 82 = 82, et, par l, 682 = 682 = 92. Dvelopper cette remarque pour tendre efficacement C tout entier la table prcdente. Peut-on dire que l'valuation pralable d'un trac sufft l'optimiser ? Application l'optimisation de 82682. En utilisant ventuellement une approche gomtrique, montrer que tout dplacement pur effectif quivaut un dplacement simplifi gmhn, o g et h dsignent deux directions successives dans 123698741. Comment combiner cette remarque avec les prcdentes? 13.8.2 Analyse dimensionnelle (Joseph Fourier, 1820) L'analyse dimensionnelle associe toute grandeur physique une signature dimensionnelle, formule algbrique caractrisant la nature de la grandeur. Si L dsigne une longueur, T le temps, M la masse, LT-1 caractrise une vitesse, LT-2 une acclration, MLT-2 une force, ML2T-2 une nergie... Montrer que ces signatures dimensionnelles forment un groupe, dont les dimensions M,L,T ... sont les gnrateurs. En compilation, on appelle valuation symbolique toute pseudo-valuation d'un programme permettant des prdictions sur son comportement l'excution ; cette valuation exploite un systme formel, tel que l'analyse dimensionnelle par exemple (Michel Sintzoff, Nice, 1976).
260
Algbre
Les langages de la famille Ampre (Sidhoum et al., 1990) sont des langages de programmation orientation physique, o les variables et constantes de type masse, longueur, puissance... sont connues en tant que telles. Partant de la signature dimensionnelle des variables et constantes : dfinir quelle condition sur sa signature est licite une opration prise dans {+, -, x, -, max, min, T, / / , < , = ...} ; donner chaque fois le profil de l'opration, incluant la signature de son rsultat. On tendra le raisonnement l'affectation et aux expressions conditionnelles. On montrera comment l'valuation symbolique correspondante permet de prouver la compilation qu'un programme est physiquement admissible en l'absence de procdures, si les procdures invoques sont de profil connu. Ampre 2 introduit des procdures gnriques : montrer que les contraintes de cohrence entre arguments exploitent alors des identits entre (formules multiplicatives de) types.
261
13.10 LECTURES
BENZAKEN C., Systmes formels, Introduction la logique et la thorie des langages, Masson, 1991. DELEDICQ A., Le monde des symtries, ACL Ed., coll. Mathmatiques pour tous, vol. 2, 1993. FAURE R., LEMAIRE J., Mathmatiques pour l'informaticien, tome I, chap. VI, Coll. Programmation, Ed. Gauthier-Villars, 1973. GROSS M. et LENTIN A., Notions sur les grammaires formelles, Coll. Programmation, Ed. Gauthier-Villars, 1967. KAUFMANN A., BOULAYE G., Thorie des treillis en vue des applications, chap. I, Ed. Masson, 1978. MAC LANE S. et G. BIRKHOFF G., Algbre 1/Structures fondamentales, Ed. GauthierVillars, 1970. NGELI H.H., Mathmatiques discrtes I , Collection Informatique, Presses polytechniques et universitaires romandes, Lausanne, 1998 (groupes pp. 207227). REINHARDT F. et SOLDER H., Atlas des mathmatiques, p. 39, p. 3 et sq. La Pochothque, 1997. SIDHOUM H., BABOUT M., FRCON L., Ampre 2, un langage de programmation pour la physique. The European Journal ofPhysics,vol. 11, 1990, pp. 163171. coll., Petite encyclopdie des mathmatiques, chap. XVI & I, Edition Pagoulatos, Didier distr., 1965.
CHAPITRE 14
DIODES
Cette thorie est ne de la volont d'unifier de nombreux algorithmes matriciels similaires lis la recherche oprationnelle, la thorie des relations, l'approche quationnelle de la thorie des langages. Introduite par J. KUNTZMANN en 1972, cette thorie a t dveloppe et diffuse par GONDRAN & MINOUX partir de 1979.
14.1 PRSENTATION
DFINITION 14.1 - On appelle diode une structure <A, , e, +, - > forme d'un ensemble A muni de deux lments remarquables co et s et de deux oprations binaires internes + et telles que : + est associative, commutative, d'lment neutre a>; est associative, d'lment neutre e, d'lment absorbant co, et distributive par rapport +. <IB = {0, 1}, 0, 1, +, > est un diode sous-jacent l'algbre de Boole. <N, 0, 1, +, > est un diode, comme <IR, 0, 1 , + , > .
EXEMPLES
CONVENTION. Une expression comme (x-y)-z + t-u se notera usuellement xyz+tu (produit implicite) s'il n'y a pas d'ambigut. 14.1.1 Proprits PROPOSITION 14.1 - Un diode est deux fois monode : monode commutatifpoursa premire opration, monode pour la seconde. PROPOSITION 14.2 - La relation prfixe dfinie dans un diode D par : Vx,y e D ( x n y) = (3z e D x-z = y) est toujours un prordre. PREUVE. Elle est toujours rflexive du fait de l'lment neutre e de , transitive du fait de l'associativit de .
14.1.2 Diode finiment engendr DFINITION 14.2 - Soit A un ensemble fini et A* l'ensemble des squences bties par concatnation sur A ; soit A + l'ensemble des sommes de squences sur A*. Une notation A*+ = <A, a, e, +,. > dsignera A comme ensemble des gnrateurs du diode A +.
264
Algbre
Compte tenu des associativits et de la distributivit du produit sur l'addition, A*+ est stable pour les deux oprations. 14.13 Gerbier DFINITION 14.3 - On appellera gerbier un diode idempotent, diode dont la premire opration est idempotente. PROPOSITION 14.3 - Dans un gerbier, il existe un ordre de contenance. PREUVE. Posons x y , lu x dans y, s'il existe z tel que y = x + z ; <S est le prordre prfixe associ +. Si l'on a x : y e t y x alors il existe z et t tels que y = x + z e t x = y + t , e t : x = y+t = (y + y) + t = y + (y + t) = y + x, =x+y = x + (x + z) = (x + x) + z =x+z idempotence de +, associativit de +, dfinition de t, commutativit de +, dfinition de z, par associativit de +, par idempotence de +,
=y.
L'antisymtrie du prordre est ainsi tablie, et est un ordre. PROPOSITION 14.4 - Avec + idempotente, la squence vide comme s et la squence impossible ou impasse comme (, A '+ est isomorphe A . NOTE. Les A*"1' constitueront donc un cadre pour certaines questions d'Algbre relatives aux langages, ds lors que : est vu comme une concatnation ou composition squentielle non commutative, + est une agrgation de squences parallles, coopratives ou concurrentes, dont l'idempotence, hrite de l'union ensembliste, limine des redondances.
14.2 SEMI-ANNEAU
DFINITION 14.4 - Un semi-anneau est un diode, simplifiable pour sa premire opration. EXEMPLES <N,0, 1 , + , > est un semi-anneau. L'ensemble des polynmes coefficients rels positifs, et une variable, est un semi-anneau.
14.3 ANNEAU
DFINITION 14.5 - Un anneau est un diode, groupe pour sa premire opration, i.e. dont chaque lment a un symtrique pour cette premire opration. EXEMPLES le diode <Z, 0, 1, +, > est un anneau ; le diode < = {0, 1}, 0, 1, , > est un anneau de Boole ; l'ensemble des polynmes coefficients rels et une variable, est un anneau.
Diodes
265
14.4 CORPS
DFINITION 14.6 - Un corps est un anneau <A, CD, e, +, * >, tel que <A-{)}, *> soit aussi un groupe. Les corps finis sont dits corps de Galois\. EXEMPLES <(Q>, 0, 1 , + , > , <E, 0, 1, +, > sont des corps. L'ensemble des quotients de polynmes coefficients rels et une variable, est un corps. <IB = {0, l j , 0, 1, , > est le plus petit corps de Galois, not CG(2), utilis notamment en thorie des codes dtecteurs ou correcteurs d'erreurs (cf. W.W. PETERSON).
14.5.3 Graphe topologique DFINITION 14.8 - Par opposition au graphe valu, on appellera graphe topologique le graphe simple sous-jacent G = (X,U = {u e X 2 1 u(u) ^ }), qui dfinit la structure sans la valuation.
14.5.4 Faisceaux de chemins et diode DFINITION 14.9 - Dans un graphe G donn, on appellera faisceau de chemins Fxy, une collection de chemins allant de x y. Pour un graphe value Gy = <X, V, (, H : X2-^^, si chacun des chemins est valeur dans un monode V*, la valuation d'un faisceau supposera une synthse ou agrgation de ces valeurs, concrtisant sous la forme souhaite les coopration et/ou comptition entre (sous-)chemins, de la simple numration des combinaisons plus ou moins acheves, Pour cela, on cherchera si on peut substituer au monode V* de valuation des chemins, un diode V^ dont la premire opration reflterait l'agrgation cherche. NOTE. Soit rechercher un bon itinraire dans un systme routier incertain. On associe chaque arc (liaison lmentaire) une probabilit de parcours sans incident. Cette probabilit de parcours sans incident d'un chemin sera, en premire approximation, le produit des probabilits de parcours sans incident de ses composantes. Une liaison inexistante ou impossible sera assimile une liaison de probabilit 0. Si plusieurs solutions s'offrent de x y, pour un vhicule isol, on ne retient du faisceau des chemins possibles que le chemin de probabilit max ; pour une flotte de vhicules au-del des capacits de ce chemin, on peut dcider de retenir pour le mme faisceau : soit les k chemins de probabilit max, soit tous les chemins, classs par probabilit dcroissante...
Dterminer si le systme de valuation des faisceaux constitue bien un diode reviendra prouver que ce systme de valuation de faisceau jouit des proprits gnriques attaches cette catgorie. A contrario, si le systme de valuation des faisceaux ne constitue pas un diode, les traitements, purement ad hoc, devront tre dfinis avec prudence.
14.5.5 Matrice d'un (multi)graphe value La nouvelle dfinition autorise la reprsentation d'un graphe valu G par une matrice [G] valeurs dans V, ayant dans la position (i, j) : la valeur co s'il n'existe pas d'arc de x, Xp toute valeur v de V s'il existe un arc de marque v de x, Xj, tout somme Vi+V2+V3... de telles valeurs, au sens de la premire opration du diode, s'il existe de xi x jplusieursarcs values respectivement V1, v2,
V3...
Diodes
267
Au-del, le formalisme des diodes reprend les calculs des chapitres 8 et 9, sous rserve du rexamen des simplifications utilises. 14.6.2 Matrice nulle et matrice unit DFINITION 14.11 - La matrice nulle [Q], neutre pour la somme, n'est forme que de <a La matrice unit [I] doit tre neutre pour le produit de composition. C'est une matrice diagonale, forme de a>, sauf la diagonale principale forme de e. Le graphe associ se rduit une boucle neutre par sommet.
Tableau 14.1 Matrice unit [I].
co
co a
0
e
C
Q) e
CD
co a
E
a (a
(0
(a
(o
(o
M' =^M*
k=\
ou
M^=^Mk
k=\
selon qu'on s'intresse aux chemins de taille illimite ou limite, calculs mens dans un diode V1'* convenable. 14.8 TAILLE ILLIMITEE La question cruciale ici est de justifier la substitution d'une somme finie, calculable, la somme infinie officiellement cherche. Cette troncature peut tre lgitime parce que le graphe est sans circuit (tous les chemins sont lmentaires et les puissances leves sont alors nulles) ou du fait de la nature prcise du diode.
Algbre
Adaptons ici un raisonnement de C. BERGE pour les graphes simples / relations boolennes2. Soit n = |X| le nombre de sommets en cause, et v = [ V"1'*! le nombre d'lments du diode V4'* prsum fini. Il existe alors au plus v" matrices n-n distinctes valeurs dans V4' . De ce fait, il existe p et q tels que M1' = M" avec p < q < v"' + 1. Alors, si r > q, M''= M^M^ = M^M"' = M^^. En rptant ventuellement le procd, on obtient M' = M^'"1^"""1^"'1'^1' et la suite des M' apparat comme priodique, de priode q - p, au-del de M1'. Du fait de l'idempotence de la somme, la premire priode absorbe toutes les autres. On a donc .MIi= 'Z.M1' et, de l .Mk='LMk soitM =Mq.
k=p k=p k=\ t=l
00 ff
W
L'effet des chemins de taille illimite est ici calculable en q tapes (o q est ventuellement trs grand : pour v = 5 et n = 10, q ^ 5100 slO70). 14.8.2 Cas d'un gerbier absorbant Supposons un diode idempotent, o de plus e est absorbant pour +. Considrons un chemin d-f form d'un sous-chemin d suivi d'un sous-chemin f, et soit C un circuit passant par leur sommet de jonction. Alors, d + d-C = d (e + C) = d, et d.f+ d-C-f= d(f+ C-f) = d(e + C)-f= d-f Dans un tel cas, la valeur attache tout chemin lmentaire absorbe les valeurs attaches aux chemins non-lmentaires de mmes extrmits qui n'en diffrent que par un ou plusieurs circuits. Par abus de langage, on dit que tout chemin lmentaire absorbe les chemins non lmentaires de mmes extrmits qui n 'en diffrent que par un ou plusieurs circuits. Dans ces conditions, le calcul peut se rduire aux chemins lmentaires, et M =
Mn-l.
14.8.3 Cas des anneaux Par dfinition, nous avons toujours : M* = 1 + M-M* et M = M + M-M Si le diode est un anneau, il est groupe pour la premire opration ou somme, laquelle on peut associer une soustraction ; alors, formellement : (I-M)-M*=IetM=(I-M)-M Si l'anneau se trouve tre un corps, et si l'inversion de la matrice (I-M) a un sens : M* = (I - M)-' et M= (I - M)-' M
Ou disons que l'ensemble des matrices considres tant fini, et ces matrices formant un monode multiiplicatif, chacune est finalement priodique au sens de la proposition 13.6.
Diodes
269
Lorsqu'elles sont effectives, ces remarques autorisent la reprise de procds d'algbre linaire, dans la mesure o leurs exigences sont satisfaites [GONDRAN & MINOUX].
(i)
Ce point renvoie une thorie des relations base sur une logique non standard ds que |v|>2.
270
Algbre
14.10 EXEMPLES
14.10.1 Table de distances4 Considrons une carte comportant les distances ville ville pour les liaisons directes. Peut-on en dduire les distances ville ville utilisant les liaisons les plus courtes, directes ou non ? Analyse Les distances sont des nombres positifs : valeurs dans M +. La longueur d'un chemin compos est la somme des longueurs des souschemins. -> monode de base <R+, +> Si un itinraire peut prendre 2 chemins diffrents de mme extrmit, je choisis le plus court > agrgation par min La structure <R+, min, + > est-elle bien un diode ? min est associatif, commutatif, idempotent, d'lment neutre co = +00, + est associatif, d'lment neutre e = 0, d'lment absorbant ) = +00, enfin, pour tout a,b,c rels positifs : min(a,b) + c = min(a+c, b+c) ->Rmin+ =<R, ) = +00, e = 0. min, + > est un diode, ce diode est idempotent : c'est un gerbier, dans IR'1", e = 0 est absorbant pour min, le graphe aux distances est M-rflexif : on a toujours d(x,x) = d[x,x] = 0 = e. Tableau 14.2 Matrice initiale de distances.
de
a 0 20
00
00 00 00 00
b 20 0 25
00 00
c
00
d
00
e
00
f
00
00
g
00
h 50 57 48
00 00 00
a b
25 0 18
00
oo
oo oo
co
c d e f g
h
18 0
75
50
60 70 0 80
00
48 63
00
75
0
70
00
co
00
50 48 48
60 63
00
80 0 30
30
50
57
00
Donc, l'effet de tous les chemins est obtenu en se limitant aux seuls chemins lmentaires, ici la puissance 7. Donc : M = M7 = M7. On peut, en considrant que les puissances suprieures n'apportent rien, prfrer calculer Mg = M8 = M2 par Legendre, pour un cot rduit (3 contre 6). Pour 1000 villes ou sites, on prfrera Mio24 = M1024 = M210 qui, suivant Legendre, rduirait le cot dans un rapport 1000/10, soit un facteur 100.
271
On utilise un produit matriciel, paramtr en ses donnes et ses oprateurs, avec ici mm comme somme et + comme produit En vertu des considrations prcdentes, la rponse s'obtiendra en levant la matrice de dpart 3 fois de suite au carr, pour atteindre les tailles 2,4, 8. Pour les chemins 1 et 2 arcs, calculons la matrice carre de la matrice d'origine, en procdant comme suit case case. EXEMPLE. Soit calculer le terme D(c, e). On part de la ligne D(c, *) et la colonne D(*, e) de la table des distances. Pour chaque intermdiaire x on calcule D(c, x) + D(x, e), longueur attache au chemin (c, x, e), finie s'il existe, infinie sinon, l'lment absorbant ayant prcisment t choisi pour autoriser un calcul aveugle. Ensuite, l'oprateur d'agrgation min garde la longueur la plus intressante. Ici, il existe 2 chemins 2 arcs de c e : c-d-e et c-f-e ; le premier est le plus court. Les solutions de longueur oo (ou non-solutions) sont limines par la premire solution rencontre.
Tableau 14.3 Longueur des chemins c-*-e de taille 2.
a
c*
00 00
b 25
oo
00
d 18 75 93
e
00
g 50 48 70
00
00
h 48
oo
00
0
oo oo
*e
min (c-*-e
0
00
oo
120
)=93
La programmation du produit de matrices, de l'lvation au carr, et finalement de l'application reste donc simple et directe. Ne pas confondre complexit et tranget. 14.10.2 Autres cas de chemins optimaux [GONDRAN & MINOUX] aborde(nt) de nombreux problmes de cheminement optimal, dont les principaux sont donns par la table 14.4.
Tableau 14.4 Problmes diodes.
Problmes chemin de capacit max chemin de taille min plus court chemin plus long chemin chemin le plus sr
n^
N M
Elment s du diode
^^.s;' i"|i|siii
Maili1
0
+00
0 0 0
min + + +
+oo -oo
m
[0,1]
272
Algbre
14.10.3 L'vocation en documentation automatique Soit accder aux documents d'une collection D partir de requtes bases sur une collection M de mots-cls. Cette activit entrane 2 sortes de difficults : il y a silence si le systme ne retrouve pas un ou plusieurs documents qu'il aurait normalement d associer la requte, il y a bruit si le systme indique un ou plusieurs documents qu'il n'aurait pas d normalement associer la requte. Les deux ne sont antagonistes qu'en apparence : un systme documentaire mdiocre peut tre silencieux ET bruyant si une requte mne de nombreuses rfrences non pertinentes en oubliant des rfrences pertinentes. Contre le silence on a utilis la troncature : cheva$ pour cheval et chevaux, mais aussi chevaine, chevalet, chevalier, chevalire, chevau-lger, chevauche..., d'o une tendance au bruit. On a aussi tent de traiter la synonymie, mais faut-il admettre qu' e l l e soit transitive avec les quasi-synonymes ? Ne faut-il pas aborder le problme de faon plus gnrale, en termes par exemple de champs smantiques, pour qu'une requte telle que levage de chevaux mne bien un document parlant de juments, de poulains, d'curies, de haras, d'talons, mme si cheval (ou chevaux) est absent ? On gnralise la synonymie en une relation d'vocation E c MM, associant chaque couple (a, b) e E voie force d'vocation. Pour cela, on dcide de traiter E en relation floue, en posant de fait E : MM > [0, 1]. On aura : a E b = 1 si a voque b absolument, a E b = O s i a n'voque pas h, a E b prenant des valeurs intermdiaires sinon. On pourra donc avoir des quasi-synonymes et des dissymtries. Par exemple, on prendra E (buf, bovin) = 1 pour marquer que tout buf est un bovin5, E (bovin, buf) = 0,8 pour indiquer qu'un bovin est souvent un boeuf. Restent alors deux problmes : trouver la force d'vocation attache un chemin, connaissant celle attache chacun de ses arcs ou sous-chemins, trouver la force d'vocation d'un vocable par un autre, connaissant le faisceau de chemins de l'un l'autre ; pour cela, dfinir d'abord la force d'vocation attache une paire de chemins disjoints unissant x y, et de forces respectives f1 et f2. Typiquement, on peut envisager l'un des 3 systmes ci-aprs.
Dans un tel cas, bovin est dit hyperonyme et buf, hyponyme ; sans reprsenter tout un champ smantique, ces dispositions refltent tout au moins les classifications, et les proximits smantiques correspondantes.
Diodes Tableau 14.5 Combinaison d'vocations. Style Zadeh pseudoprobabiliste nonne triangulaire
(0
273
e 1 1 '
+ /agrgation max
0 0 0
e
o ab = a+b-a-b V A favorise les faisceaux o aVb s min(a+b, 1 ) o aAb = pos(a+b-l) vocations nombreuses
Fig. 14.1 Effets des lois de composition pour l'vocation. Le premier favorise trop les longues chanes d'vocation par rapport aux chanes plus directes ; le troisime favorise exagrment les chanes multiples mme faibles6. Le second systme est probablement le plus raisonnable. On peut considrer comme lourde la constitution d'une table d'vocation globale partir d'une table d'vocation immdiate. Indpendamment de l'opportunit de stratgies matrices creuses, on remarquera que cette table n'est reconstruire qu' propos de l'introduction de nouveaux mots-cls. La reconstruction du systme d'vocation viendra donc en pilogue des mises jour du fond, et ne sera pas la charge des consultations.
Affirmant ainsi qu'un faisceau de vagues associations d'ides vaut une association d'ide franche et directe.
EXEMPLE. Soit un rseau routier. Associons chaque segment un quintuplet (nom, longueur, vitesse max, hauteur max, poids max). En squence, les noms se concatnent, les longueurs s'ajoutent, hauteur et poids se combinent par min. Par contre, les vitesses se combinent indirectement, par addition des dures associes ; avec : Y]; = (l, + y/Oi/v, + Iz/v;). Sauf pour la vitesse, les combinaisons squentielles s se reraieni aonc cnamp ?ar cnamp. longueur dureMin = hauteur nom On prfrera les n-uples longueur/ max du type ci-contre, dont vitesseMax la combinaison squentielle se fait entirement + + min champ par champ concatnation l'aide des oprateurs associatifs respectifs qui nous conservent clairement un monode de valuation (par quintuplets). L'agrgation est plus dlicate : si l'on cherche le meilleur chemin sur l'ensemble des critres, une agrgation sera l'union des deux chemins, sauf si l'un des deux est prfrable ou quivalent l'autre pour chacun des critres (prfrence unanime) : cette agrgation peu directive supposerait une composition squentielle gnralise ; sinon, poser que l'agrgation associe un t-uple unique toute paire de chemins de mme extrmit revient introduire ds ce niveau des arbitrages entre critres : en gnral, on retiendra le chemin le plus faisable (poids, hauteur, largeur...) ou, faisabilit gale, le chemin optimal (longueur, dure...). poids max min
14.12 EXERCICES
14.12.0 Table des distances Calculer une table des distances complte d'aprs la table 14.6 relative aux liaisons directes. Tracer le graphe valu correspondant la table initiale ; s'en servir pour vrifier votre calcul matriciel. Tableau 14.6 Table des distances liaisons directes .
de
a 0 20
00 00 00
b
20 0
c
oo
d
00
e
00 00
f
00 00
g
00 00
h 50 57 48
00 00 00
a b
25
00
c d e f g
h
25
00 00 00
00
0 18
oo
18
0
oo
50 60 70
48 63
00
75
0 70
00
00
75 60
63
00
oo
00
50 48 48
0
80
00
80 0 30
30
0
50
57
14.12.1 Rsistance d'un rseau lectrique On suppose que la table 14.6 reprsente maintenant les rsistances d'un rseau lectrique. Pour trouver les rsistances globales point point, montrer d'abord que la structure <M, oo, 0, //,+> est bien un diode. 14.12.2 Enigme A l'aide d'un (multi)graphe marqu, chercher la solution la plus simple de cette nigme : Une femme marie un homme qui la trompe avec la femme de son amant, laquelle trompe son mari avec le sien et qui en est rduite tromper son amant avec celui de sa femme parce que son amant est son mari et que la femme de son poux est la matresse d'un homme dshonor par l'amant d'une femme dont le mari trompe sa matresse avec la femme de son amant ne sait plus o elle en est ni ce qu'elle doit faire pour ne pas compliquer encore une situation qui l'est dj suffisamment comme a. 7 14.12.3 Mise en exploitation d'un gisement minier (GONDRAN & MINOUX) La mise en exploitation d'un nouveau gisement minier demande la ralisation de diverses tches, soumises aux contraintes d'antriorit donnes au tableau 14.7. Dfinir une dizaine d'vnements marquant l'excution de ces tches : dbut, finA, finB, ... fin. Dfinir une matrice carre raison d'une ligne et d'une colonne par vnement, chaque case (m, n) contenant la dure de la tche faire de m j (resp. la dure de la plus longue des tches faire de m n). Montrer que <R, -oo, 0, max, +> est un diode adapt la recherche des dates au plus tt de ces vnements. Trouver la squence critique, i.e. la squence la plus longue de dbut afin. Tracer le graphe des prcdences, en commenant par la squence critique dispose le long d'un axe horizontal. Montrer qu'on peut trouver les dates au plus tard des mmes vnements en s'intressant au graphe inverse. Quels sont les vnements pour lesquels on a la plus grande marge ? (i.e. la plus grande diffrence entre date au plus tt et au plus tard). On suppose maintenant que, pour chaque tche, la dure en jours est en premire approximation son cot initial ; mais que, par des allocations de moyens diffrentes, il est possible de modifier dure et cot en maintenant leur produit constant (360, 360) pouvant devenir (300, 432) par exemple. Cot du projet en l'tat ? Cot du projet si on doit ramener sa dure 1000 jours ? 14.12.4 Irrigation Votre socit vient de prendre la grance d'un systme de canaux d'irrigation. Pour chaque portion de canal, la table 14.8 donne la capacit (en m3/s). Pour trouver pour tout couple x-y le dbit maximal permis par le rseau, dfinir le diode de calcul, ses oprations, ses lments remarquables. Complter en consquence la table 14.8, et calculer pour tout couple x-y le dbit maximal permis par le rseau.
276
Tche a b c d e f g h i
Dfinition obtention du permis d'exploitation tablissement d'une piste de 6 km transport et installation pied d'uvre de 2 sondeuses construction de btiments provisoires pour le bureau des plans et le logement des ouvriers-sondeurs goudronnage de la piste adduction d'eau campagne de sondage forage et quipement de 3 puits transport et installation au fond du matriel d'exploitation construction de bureaux et logements des ouvriers et ingnieurs traage et amnagement du fond construction d'une laverie
j
k 1
de
a 0 35
b 50 0
a b
c d
e f g h
42 0 0
83
65
26
0 40 0
18
35
Vraisemblance des donnes : expliquez pourquoi le graphe topologique associ doit admettre une fonction ordinale. Se servir d'une telle fonction pour tracer un graphe du rseau. Intrt pour la convergence des calculs ? On suppose que des stations de pompage peuvent alimenter c raison de 100 m3/s et f raison de 40 m3/s. Dfinir le dbit maximal d'arrive en h, et les segments de canaux qui se trouvent saturs. On suppose qu'on peut accrotre le dbit d'un segment de canal raison de 100 000 oros par m3/s supplmentaire. Proposer un plan d'investissement permettant d'accrotre le dbit en h en vue de futures extensions.
Diodes
277
14.13 PROBLEMES
14.13.1 Tracs dfinis point par point (suite du problme 13.8.1) Dans le style des codes de Freeman, on considre l'ensemble C = {1, 2, 3, 4, 5, 6, 7, 8, 9,1, 2, 3, 4, 5, 6, 7, 8, 9} des codes lmentaires de trac ou dplacement dans un plan, o les chiffres souligns correspondent aux dplacements traants, les chiffres normaux correspondent aux dplacements purs, et le chiffre 5 dnote un dplacement ineffectif. A partir de C, de l'union et de la composition on dfinit un diode C+ . Soient d et t des squences dsignant respectivement des dplacements et des tracs. On montrera que toute squence t1dt2 peut se ramener une somme t1 + d1dt2, o d1 calque les dplacements de t1. On en dduira que toute image pixellise peut se ramener uneformecanonique diti comprenant un produit d-t par sous-image, chaque squence di tant elle-mme sous la forme gmhn, o g et h dsignent deux directions contigus de dplacement. Pour rendre les images comparables, peut-on alors ordonner les ditj ? Comment dcider qu'une image ainsi dcrite est la translate d'une autre ? 14.13.2 Affinogrammes On G = <X, modlise les relations entre individus d'un groupe par un graphe valu H : X2 -> V = {-, 0, +}> dans lequel : il existe un arc marqu + de x vers y si x apprcie y, il existe un arc marqu - de x vers y si x est allergique y, l'absence d'arc reprsente un tiers-cas d'indiffrence, not 0 si ncessaire.
Dans ce systme o V = {-, 0, +}, redfinir le concept de transitivit ; les diffrents cas pourront tre figurs par un triangle form d'un chemin (x, y, z) et de sa corde (x, z) ; caractriser les graphes de fraternit universelle , les graphes de jalousie universelle , les graphes des alliances de ncessit (les ennemis de mes ennemis sont mes amis) Peut-on btir des classes d'affinit ? Y a-t-il des conditions particulires pour obtenir un systme quilibr, i.e. respectant le principe : aucune flche ngative entre sommets d'une mme classe ? Rinterprter les fermetures transitives.
278
Algbre
Soit A l'ensemble des valeurs ou renseignements. A quelle condition sur A peuton dire qu' chaque relation renseigne Rv = (X, A, u : X2 > A) correspond une relation boolenne RB = (X, A, UB : X2 -> W), qu'elle gnralise ? Que faut-il l'ensemble de renseignement A pour permettre la combinaison de relations ? pour pouvoir dire que les relations Rv =(X,A, u : X2 ^ A) sont en fait l'expression de relations dans une logique non standard dont A serait l'ensemble de vrit ? Que deviennent les fermetures transitives ? quelle est maintenant leur signification ? sont-elles toujours calculables en un temps fini ? Ex : prendre A = { 00 = impossible, 01 = vrai en gnral mais faux ici, 10 = vrai ici mais faux en gnral, 1 1 = toujours vrai } (logique de Reischer et Davio in Thaysse). 14.14.2 Physique qualitative On souhaite formaliser les raisonnements intuitifs en physique, guidant des actions pratiques telles que jeter une boule de papier dans une corbeille. Pour cela, on modlise les relations entre variables d'tat d'un systme par un graphe valu G = <X, u : X2 -> V = {-, 0, +}> , tout arc (x, y) tant valu -/ 0 /+ selon que 9y /x est (suffisamment) ngatif, (ngligeable ou) nul, (suffisamment) positif. Montrer comment attribuer un signe aux chemins d'influence. Discuter la signification des circuits positifs ou ngatifs en termes de stabilit du systme. Comment agrger 2 influences indirectes disjointes de x sur y ? lorsqu'elles sont de mme signe ? de signes distincts ? Comment chapper au quantitatif pour juger de l'effet global d'influences conflictuelles ? Un formalisme qui exploiterait une ide de force, voire d'ordre de grandeur des 9y l\ conviendrait-il ? 14.14.3 1001 algorithmes sur les graphes Afin de disposer peu de frais de 1001 algorithmes sur les graphes, raliser une bibliothque gnrique de traitement matriciel style Diode dans le langage objet de votre choix (conseil : tudier d'abord Gondran & Minoux, chap. 1 III).
Diodes
279
autres
Corps
14.16 LECTURES
BERGE C., Thorie des graphes et ses applications, Dunod, 1958, 2e dition, 1963. FAURE R., LEMAIRE J., Mathmatiques pour l'informaticien, tome I, chap. VI, Coll. Programmation, Ed. Gauthier-Villars, 1973. GONDRAN & MriMOUX, Graphes et Algorithmes, chap. III, collection EDF n 37, Eyrolles, 1979-85-95... KAUFMANN A., BOULAYE G., Thorie des treillis en vue des applications, chap. I, Ed. Masson, 1978. KAUFMANN A., PICHAT E., Mthodes mathmatiques non numriques et leurs algorithmes, vol. 2. Algorithmes de recherche de chemins et problmes associs Ed. Masson, 1977. KUNTZMANN J., Thorie des rseaux, Dunod, 1972. LAURIRE J.C., Intelligence artificielle : tome 1 : Rsolution de Problmes, Eyrolles. MACOWICZ M., Approche gnrique du traitement des graphes, thse INSA Lyon, 7 nov. 1997, 160p. environ. PAIR C., DERNIAME J.C., Problmes de cheminement dans les graphes. Monographie Afcet, Dunod, 1972. PETERSON W.W., WELDON E.J. Jr, Error Correcting Codes, MIT Press, 1972. ROY B., Algbre moderne et thorie des graphes, Dunod, tome 2, 1970. coll., Petite encyclopdie des mathmatiques, chap. XVI, Edition Pagoulatos, Didier distr.
CHAPITRE 15
ALGEBRE DE BOOLE
15.1 INTERET
L'algbre de Boole est ne en 1854 de la volont de George Boole de ramener les problmes de logique classique (ou scolastique), alors traits par des raisonnements, parfois des diagrammes, des calculs algbriques assimilant 0 faux et 1 vrai, de telle faon que les raisonnements (tels que prsents chapitre 0) soient remplacs par l'valuation d'une formule logique, ou, au pire, la rsolution d'un systme d'quations logiques. Ce but amena G. Boole un formalisme distinct de l'algbre traditionnelle, avec notamment l'association la conjonction d'un produit idempotent (i.e. tel que x-x = x). En 1938, Shannon remarque que cette algbre de Boole permet de modliser le fonctionnement des circuits relais, utiliss en tlphonie et en automatisme. A la mme poque, en Allemagne, Konrad Zuse utilise pour ses prototypes de calculateurs l'arithmtique binaire1 car le calcul prpositionnel lui permet une dfinition logique des composants ncessaires, qu'il ralise d'abord de faon purement mcanique, puis l'aide de relais2. En 1941, son Z3 est le premier calculateur programmable oprationnel, avec une unit virgule flottante 1+7+14 bits, une mmoire relais de 64 mots, et un programme externe sur ruban de papier. L'informatique actuelle conjugue deux volutions : le traitement d'informations de plus en plus varies, gnralement discrtes mais pas forcment numriques, qu'en dernire analyse le matriel traite par manipulation logico-arithmtique de codes binaires ; des technologies de plus en plus efficaces, glissant des relais aux triodes dans les annes 40, des triodes aux transistors partir de 1960, puis aux circuits intgrs SSI, MSI, LSI, VLSI...3 dont la densit d'intgration dcuple tous les 4 5 ans. Cependant, l'algbre de Boole permet d'expliquer dans diffrents styles les bases des rseaux logiques de contacts, des circuits lectroniques binaires et d'autres dispositifs de dcision binaire sans avoir dcider si c'est pour l'informatique ou l'automatique...
1 2
Dj aborde au XVII e sicle par Leibniz, et que K. Zuse tend la virgule flottante, dfinie en 1914 par Torres y Quevedo. En France on trouve cette poque des propositions similaires dans la thse de Louis Coufignal.
282
Algbre
Soient a, b, c... des variables valeur dans ff. Au pire par numration des cas, on tablit les proprits suivantes. Tableau 15.2 Proprits des oprateurs + et dans B. proprits associativit lment neutre lment absorbant idempotence commutativit <IB, 0, 1, + > (a + b) + c = a + (b + c) a+0=a=0+a a+ 1 = 1 = 1 +a a+ a = a a+b=b+a <IB, 0, 1, + > monode idempotent et commutatif ordre prfixe rflexif transitif antisymtrique treillis a^a+b a< a a^b,b^c=^a^c a<b,b<a=a=b sup(a,b) = a + b <IB, 1, 0, > (a-b)-c = a-(b-c) a-1 = a = l'a a-0 = 0 = 0-a a-a= a a-b = b-a <IB, 1, 0, > monode idempotent et commutatif a > a-b a a a>b,b>c=>a>c aSb,b^a=>a=b inf(a,b) = a-b
<IBS, (0 = 0, e = 1, +, > est un diode riche dont les 2 oprations possdent de plus des proprits mutuelles indiques dans le tableau 15.3. Tableau 15.3 Proprits mutuelles des oprateurs + et dans B. proprits +/ distributivit absorption <B, a = 0, e = 1 , +, > a- (b + c) = a-b + a-c = b-a + c'a = (b + c)-a a+ a-b=a a + b-c = (a + b)-(a + c) = (b + a)-(c + a) = b-c + a a-(a + b) = a
Cette structure fonde les calculs matriciels portant sur l'existence de chemins, et sur les fermetures transitives des graphes topologiques et relations associes. Au-del, on introduit maintenant une troisime opration, unaire, dite non, note ' et telle que : 0'=l et l'=0.
Algbre de Boole
Tableau 15.4 Proprits du non dans B.
283
proprits involution complmentarit dualit automorphisme antitonie a + a' = 1 (a + b) ' = a'-b' a < b <-> a' > b'
<B,0, l ' , + , > a-a' = 0 (a-b) ' = a' + b' a > b <-> a' :< b'
Nous appelons algbre de Boole, en brefAdB,la structure <B,0, 1 , ' , + , - , ^ > ainsi forme.
1.
2.
les expressions attaches aux contacts donnent soit 1 pour les contacts passants, soit 0 pour les contacts ouverts, soit une expression plus ou moins rduite si les commandes ne sont que partiellement connues, on combine par ET/- les valeurs ou expressions marquant 2 artes ou chanes conscutives, on combine par OU/+ les valeurs ou expressions marquant 2 artes ou chanes de mmes extrmits. On a pu ainsi raliser avec des relais lectromagntiques des systmes complexes (commutateurs tlphoniques, commandes d'ascenseurs, calculateurs, automatismes divers) ; en effet : un relais comporte un bobinage de commande qui, via un noyau magntique, soumet l'tat passant / ouvert d'un contact command la prsence / absence d'un courant de commande dans le bobinage ; le courant d'un bobinage de relais peut tre command par une source, via un interrupteur, un bouton-poussoir... voire un rseau de contacts ; le contact command peut autoriser/couper dans le rseau command un courant bien suprieur au courant de commande, d'o un effet amplificateur, les deux circuits restant isols l'un de l'autre ; un mme bobinage peut commander simultanment plusieurs contacts, dont l'expression caractristique sera soit l'expression de commande soit son complment selon que le contact est ouverture ou fermeture ; le fonctionnement lectromcanique n'tant pas instantan, on obtient des effets de mmoire si l'alimentation du bobinage M dpend d'un contact m qu'il commande, ventuellement des fonctionnements priodiques oscillants si M dpend d'un contact complmentaire m'. Cette notion de rseau de contacts peut s'adapter | d'autres technologies : -_J-________^ D. Chorafas la prnait pour i | | les cryotrons*. ' \ ' -_^ noyau co ta ct On pourrait l'adapter aux " , \ (^VY^ magntique transistors (et circuits intgrs qui en dcoulent) en utilisant des outils boolens tels que la fonction duplex U(x,y,z) = x'y + xz et la fonction aiguillage aig(e, c -> sO, si) = (sO =
CC', si = ec), OU pour cerFig.15.2 Principe du relais lectro-magntique.
tains montages en reseau une fonction aig2(a, b, c > sO, si)) s {s0 = (a+b)c, si =(a+b)c'}.
Dispositif constitu par deux lments supraconducteurs : une bobine de commande et un autre circuit qui perd sa supraconductivit quand il est soumis au champ magntique cr par la bobine (cf. effet Josephson). Utilis comme relais (extrmement peu consommateur d'nergie), amplificateur, mmoire. (cf. www.sciences-en-ligne.com).
285
Pour les circuits logiques lectroniques tubes (de 1938 1965) et transistors (depuis 1960), le modle de base est un triple : l'entre commande la sortie (les tubes radiolectriques en tant qu'amplificateurs de tension, les transistors en tant qu'amplificateurs de courants), mais entre et sortie ont une rfrence commune et doivent respecter des rgles de polarit, ce qui interdit notamment les rseaux en pont (fig. 15.3). Le passage d'un composant un rseau de composants, que ce soit d'un composant un circuit intgr ou d'un circuit intgr un ensemble plus vaste, se modlise par des schmas fonctionnels respectant les directivits des courants, toutes les oprations logiques tant explicites (pour plus de dtails sur le niveau lmentaire, voir 15.5.6 et 15.6.6). Par suite, l'valuation de l'tat d'une connexion logique se fait par composition fonctionnelle classique des entres, constantes 0/1, variables supposes autonomes ou expressions boolennes.
y^//}/////
TVT- ^ ^^
e
^^
15.4 FONCTIONS BOOLEENNES Les fonctions boolennes f : B n - > B o n t t tudies tantt en elles-mmes tantt comme nouveaux oprateurs pouvant faciliter la synthse de fonctions plus importantes. PROPOSITION 15.1 - II existe exactement 22n fonctions boolennes de n variables. PREUVE. Bn comprend 2n n-uples, et chaque fonction possible associe chaque n-uple une valeur parmi 2. EXEMPLE. Considrons le cas des 16 fonctions 2 variables. Nous pouvons les dfinir par la table de vrit 15.5, o la colonne centrale : en tte, numre tous les couples possibles en entre, raison d'un couple par verticale ; dfinit chaque fonction fparune ligne contenant son vecteur de vrit, avec chaque valeur f(t) en regard du couple t dfini sur la mme verticale. Parmi ces 16 fonctions, 2 sont en fait constantes (fonctions 0 variable) et 4 reproduisent une entre, en la complmentant ventuellement (fonctions 1 variable). Il ne reste donc que 10 fonctions intrinsquement 2 variables : le et, le ou, leurs complments ni et on ......4 le ou exclusif et son complment............... 2 et 4 diverses .........................................4
0011 0101 vecteur 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
expression 0 x-y/et
X./
x'y
y
x y /ouExclusif x + y /ou xty = ni(x, y) x y = ( x y)'
y'
x'4-y x'
x4y
x'1'y = on(x, y) 1
Chaque sommet de ces figures reprsente un n-uple de l'espace correspondant. 15.5.2 Distance de Hamming DFINITION 15.1 - On prend comme distance entre 2 n-uples ou points p et q de Bn, le nombre de composantes par lesquelles ils diffrent. Ainsi, on a toujours : d(p, q) = 0 <-> p = q d(p, q) = d(q, p) /symtrie d(p, r) < d(p, q) + d(q, r) / ingalit du triangle Cette distance5 apparat comme la taille de la chane la plus simple allant dans B d'un point l'autre.
n
Introduite pour les besoins d'une thorie des codes dtecteurs et correcteurs d'erreur (cf. aussi W.W. PETERSON, op. cit. chap. 14).
287
A chaque variable est associe une dimension. Chaque sommet de la reprsentation de Bn est marqu ssi la fonction vaut 1 pour le tuple correspondant : la fonction est assimile l'ensemble de ses 1. A deux sommets adjacents on associe le segment qui les spare. A quatre sommets sur un cycle de taille 4 on associe la face que ce cycle dlimite...
001
000
15.5.4 Points & monmes canoniques Considrons une fonction de n variables valant 1 pour un n-uple et un seul. Il lui correspond exactement un point de Bn. PROPOSITION 15.2 - Chaque n-uple ou point de Bn peut tre dcrit par un monme n variables dit monme canonique, chaque variable tant prsente sous forme directe, si la composante correspondante du n-uple vaut 1, sous forme complmente, si la composante correspondante du n-uple vaut 0. EXEMPLE. Seront considres quivalentes les dsignations f(a, b, c, d, e) = {00101} et f(a, b, c, d, e) = a'b'cd'e. 15.5.5 Premire forme canonique PROPOSITION 15.3 - Toute fonction boolenne peut tre dfinie par une somme de monmes canoniques. PREUVE. La bijection point <-> monme canonique s'tend pour les fonctions quelconques collection de points <-> somme de monmes canoniques. On peut imposer que les monmes des sommes obtenues suivent un ordre d'numration fixe. EXEMPLE. Soit f(a, b, c) = {000, 001, 101, 111,110, 010} = a'b'c'+a'b'c+ab'c+abc+abc'+a'bc' = a'b'c'+a'b'c+a'bc'+ab'c+abc'+abc, /de proche en proche /premire forme canonique /rcrite dans l'ordre {0, 1, 2, 5, 6,7} des transcriptions dcimales des n-uples.
15.5.6 Sommes de produits En fait, les points d'une fonction sont souvent combinables par 2, 4, 8... correspondant des monmes rduits a n - l , n - 2 , n - 3 . . . variables. Outre la premire forme canonique, il existe de nombreuses faons d'crire une fonction en somme de produits, menant des ralisations de cot assez variable.
f=a'bc+cde
inverseur Fig. 15.5 Ralisation d'une fonction boolenne en somme de produits. Si l'on ne disposait strictement que d'oprateurs 2 variables, il faudrait k - 1 oprateurs ET pour un monme k variables, et m - 1 oprateurs OU pour faire la somme de m monmes. En premire approximation, le cot d'une somme de produits est ainsi donn par le nombre total d'occurrences de variables, les critures les moins coteuses tant les sommes regroupant peu de monmes de peu de variables. Le problme est ouvert, car pour un monme donn d'un systme n variables, chaque variable peut soit y figurer sous forme directe ou complmente, soit ne pas y figurer. Pour n variables il y a donc 3n -1 monmes quelconques, dont 2n monmes canoniques. Cette abondance favorise les redondances, et une ralisation efficiente supposera de trouver la plus petite collection de monmes les plus simples ralisant exactement la fonction. EXEMPLE. Soit f(a, b, c) = {000, 001,101, 111, 110, 010} /de proche en proche = a'b'c' + a'b'c + ab'c + abc + abc' + a'bc' /premire forme canonique Une ralisation calque sur cette forme suppose 2 ET 2 entres par produit, et 1 OU 2 entres par somme, soit ici 12 ET 2 entres et 5 OU 2 entres, soit 17 outils logiques, comparer aux 18 lettres employes. Si nous nous inspirons des proximits, et codons des segments plutt que des points, {000, 001 j correspond a'b', {101, 111} correspond ac, {110, 010} correspond bc', et on peut crire f(a, b, c) = a'b' + ac + bc'. Cette forme, qui n'est pas canonique, cote en tout 5 outils 2 entres, et n'emploie en tout que 6 lettres : elle mne une ralisation environ 3 fois moins coteuse que la dfinition canonique ! 15.5.7 Diagramme de Veitch-Karnaugh Dj vers 1300, dans son Ars Magna, Raymond Luile utilisa un diagramme figurant les rapports logiques qu'il avait tabli entre dogmes principaux et dogmes secondaires. Charles DODGSON6 en a aussi utilis dans sa logique sous une forme variable.
Algbre de Boole
289
Veitch a dfini plus rcemment un diagramme systmatique rendu oprationnel par Kamaugh, et utilisable de 2 6 variables. On part d'un carr. On alloue une variable par ct, en tournant autour du carr : la premire tant au nord, la seconde l'ouest, la troisime au sud, la quatrime l'est, la cinquime de nouveau au nord... Pour chaque variable, on divise en deux le carr (resp. les carrs, les ranges) qui lui font face. Pour une mme direction, les variables sont alternes comme dans un code de Gray : a' / a subdivis c'/c deviendra a'c'/ a'c/ ac / ac' puis a'c'e'/a'c'e/a'ce/a'ce'/ace'/ace/ac'e/ac'e' de faon ce qu'une ligne corresponde un changement de variable et un seul. Une fonction se reprsente raison d'une case par monme canonique, une barre 2 cases pour un monme n - 1 variables, un carr ou une barre 4 cases pour un monme n - 2 variables... EXEMPLE. Soit f(a, b, c) = {000, 001, 101, 111,110, 010} = a'b'c' + a'b'c + ab'c + abc + abc' + a'bc'. Elle est reprsente par la figure 15.6. On voit apparatre la forme rduite f(a, b, c) = a'b' + ac + bc' si on regroupe les cases spares par un axe , i.e. diffrant par une variable et une seule ... les bords pouvant tenir lieu d'axes (comme si le diagramme tait trac sur un cylindre ou une sphre). a' b' b a'b'c' a'bc' c' c a'b'c ab'c abc abc' c' a
a' a
b-iil
c' c
9, c'
290 ac'+S
Algbre ni abc' ni ab'c' ne le sont, mais leur facteur commun ac' l'est : par dfinition en dveloppant ac' par associativit par idempotence
soit h = abc'+S, avec S = ab'c'+def ; alors = ac'+ab'c'+def = (abc'+ab'c')+ab'c'+def = abc'+(ab'c'+ab'c')+def = abc'+ab'c'+def = h tandis que a + S > h et c'+ S > h.
> ac' est monme premier de h, comme plus grand facteur de m restant infrieur h. 15.6.2 Bases premires DFINITION 15.4 - On appelle base premire d'une fonction f, son criture en une somme de monmes premiers. PROPOSITION 15.4 - Une telle base existe toujours. PREUVE. Supposons une fonction n variables sous forme canonique. Chacun de ses monmes canoniques m possde 2n facteurs (y compris 1 et lui-mme), et l'un au moins, (i, est premier : par dfinition, remplacer m par m. ne change rien la fonction. Ainsi passe-t-on de la forme canonique une base premire, en remplaant successivement chaque monme canonique par l'un ou l'autre de ses facteurs monme premier. EXEMPLE. Soit f= {000, 001, 011, 111,110, 100}. (cf. 15.5.3). Nous pouvons crire : f(a, b, c) = a'b'c' + a'b'c + a'bc + abc + abc' + ab'c' = a'b' + a'c + bc + ab + ac' + b'c' / premire forme canonique / base premire
Une base premire peut tre redondante, mais ne comprend que les monmes m les plus simples possibles compatibles avec la fonction f donne, i.e. tels que m-f= m. Pour une synthse optimale d'une fonction f, il nous faut : construire la base premire complte de f, forme de tous les monmes premiers de fetd'eux seuls ; en confrontant cette base la liste des points de f, en tirer des bases premires irredondantes, formes de listes ncessaires et suffisantes de monmes premiers ; en s'inspirant si ncessaire d'aspects technologiques, arrter les bases de cot minimales parmi les bases irredondantes. 15.6.3 Mthode des consensus DFINITION 15.5 - Soient deux monmes am et a'p comportant une variable et une seule sous forme directe dans l'un, sous forme complmente dans l'autre. On a : am = am + amp et a'p = a'p + a'mp par absorption, am + a'p = am + a'p + amp + a'mp = am + a'p + (a+a') mp /par distributivit = am + a'p + mp /car a+a' = 1 mp sera dit consensus7 de am et a'p, et not mp = consensus(am, a'p).
Quine, Tison.
Dans tous les autres cas, on pose que le consensus de deux monmes est nul. Supposons la fonction dont nous cherchons la base premire, dfinie par une liste de monmes L. En supposant cette liste L dynamique, nous la transformons en base premire (complte) en appliquant le procd ci-aprs.
a'
p' a
'' .
'
' lfe:
fr:
action mthodeDesConsensus( > L : liste dynamique de monmes >) pour chaque monme m du premier l'avant-dernier de L pour chaque monme p, du successeur de m au dernier de L ajouter(consensus (m,p)) (L) aprs (rang(m)) fin mthodeDesConsensus___________________________ action ajouter(> c : monme) (>L : liste dynamique de monmes >) aprs (> k :rang)_ entier j <-k ; tantque j <, longueur(L) si c< L[J], retour ; si c L[j], supprimer L[j] sinon incrmenterj L < - L - {c} fin ajouter()()aprs() EXEMPLE. Soit une fonction f= {00x0, 00x1, 01 Ix, 11 lx} comprenant 4 artes disjointes, donc 8 points. Quelle est sa base premire complte ? En appelant a, b, c, d les variables, nous avons successivement, f = = = = = = = = a'b'd' + a'b'd + a'bc + abc f+consensus(a'b'd', a'b'd)
f+ a'b'
rvaluer chaque boucle - c ineffectif (nul ou infrieur un monme connu) contraction (rptable) sinon avance" expansion (1 poste) si c n'tait infrieur ou gal aucun monme de L
a'bc + abc + a'b' / a'b' absorbe a'b'd' et a'b'd a'bc + abc +a'b' + consensus (a'bc + abc) a'bc + abc + a'b' + bc a'b' + bc / bc absorbe a'bc et abc a'b' + bc + consensus (a'b' + bc) a'b' + bc + a'c / forme finale : aucun autre consensus n'est produit.
292
Algbre Ce qui correspond l'excution simule ci-aprs, o les noms de variables restent implicites, et o l'on voit le codage ternaire des monmes partiellement ou entirement rduits (les marques 0, 1, x correspondant respectivement une variable complmente, directe, ou rduite).
Tableau 15.6 Une application de la mthode des consensus.
ajouter
liste
111111111
ajouter
liste
ajouter
liste
ajouter
liste
ajouter
OOxx
111111111
Ollx lllx
>
111111111
xllx
111111111 OOxx
OOxx
>
xllx
0001 00x1 en gras : donnes (segments) - monmes premiers (faces obtenues) (OOxx, x l l x obligatoires, Oxlx redondant) Fig. 15.8 Reprsentation graphique du calcul des consensus.
La fonction fpeut donc dj tre ralise par : une somme de 8 monmes 4 variables, sa. premire forme canonique, de cot 32, une somme de 4 monmes 3 variables (parmi 4) : donnes de l'exemple, de cot 12, une somme de 3 monmes 2 variables (parmi 4) : base premire complte, de cot 6. 15.6.4 Bases irredondantes La base premire complte associe chaque point de la fonction le(s) plus gros monme(s) le ralisant, sans dpasser la fonction, les plus gros monmes tant ici les
Algbre de Boole
293
moins chers. Mais cette base premire peut comporter des redondances : on s'en assure par une mthode de couverture (cf. sect. 1.7), mettant en regard ct objectifs, chaque point de la fonction raliser, ct moyens ventuellement redondants, chaque monme premier. DFINITION 15.6 - Une base premire est dite base premire irredondante si elle ralise la fonction f cherche, mais que ce n'est plus vrai quand on lui retire l'un de ses monmes. PROPOSITION 15.5 - Une base premire B d'une fonction f est irredondante s'il n'existe pas de base premire de fplusfine que B. DFINITION 15.7 - Un monme d'une base premire est dit monme obligatoire s'il est seul couvrir un point de la fonction. PROPOSITION 15.6 - Soit B une base premire pour une fonction f. Toute base irredondante pour f plus fine que B contient l'ensemble des monmes de B obligatoires pour f. PREUVE. Soit m un monme obligatoire d'une base premire B, seul couvrir un point p de f. Si m n'est pas retenu, p n'est pas couvert et la base forme ne couvre plus f. Donc toute base forme partir de B pour raliser f doit contenir chaque monme de B obligatoire pour f. DFINITION 15.8 - Un monme non obligatoire d'une base premire B ( f ) est dit monme utile s'il couvre au moins un point de f non couvert par l'ensemble des monmes obligatoires, monme inutile sinon. PROPOSITION 15.7 - Soit B une base premire pour une fonction f. Une base irredondante pour fplusfine que B ne contient aucun monme inutile de B(f). PREUVE. Par l'absurde. Soit m un monme inutile de B(f), et soit B~(f) une couverture irredondante de f plus fine que B, contenant m. Alors, m ne couvrant aucun point en propre, B~(f)-m est une couverture de f encore plus fine que B~(f), qui ne peut donc tre irredondante. Formation d'une base premire irredondante d'une fonction f partir d'une base premire B On dtermine d'abord la collection B0 des monmes premiers de B obligatoires pour f . Si Bo couvre tout f, c'est termin. Si Bo couvre seulement une partie g de f, on rduit B une base premire rduite Br = B - Bo -B1, forme en retirant de B la collection Bo des monmes obligatoires de f qui couvrent g, et la collection B1 des monmes inutiles, monmes non obligatoires qui ne couvrent rien de f - g. On procde alors la couverture des points de f - g par les monmes de Br. Ce problme rsiduel est souvent trait de faon arborescente. Dans le cas ci-dessus, fig. 15.8, OOxx et x l l x sont obligatoires, et leur somme couvre la totalit des points de f. Le monme Oxlx est donc totalement mutile. D'o l'unique criture irredondante (et, de ce fait, minimale) : {= {OOxx, xl lx} = a'b' + bc, de cot 4
294
Algbre
Tableau 15.7 Couverture des points d'une fonction.
f base Oxlx
00xO
01 Ix 0110 x 2 OUI x
11 Ix 1110 1111
0000
0010
^^irl^i1
SsiWSg ^'^'i'fiili^^ 2
x: points de la fonction f zones grises : monmes donns pour f zones encadres : monmes premiers obtenus coins ronds : monme premier redondant (consensus des deux autres) coins carrs : monmes premiers de la base irredondante
Fig. 15.9 Diagramme de Veitch-Karnaugh correspondant.
15.6.6 Bases minimales S'il existe plusieurs bases irredondantes, entre elles se pose la question des bases de cot minimal : cette phase rintroduit si ncessaire des donnes technologiques. Considrons le cas ci-aprs o une fonction 8 points mne 8 monmes premiers n- 1 variables (tab. 15.8). Couvrir tous les points peut s'crire en termes d'expression boolenne : jkimnpqr = A(A+B+H)(B+C)(C+D)(D+E+F)E(F+G)(G+H) = A(B+C)(C+D)E(F+G)(G+H) /par absorption9 : x(x + y) = x = A(C+BD)E(G+FH) /par commutativit et distributivit D'o 4 couvertures irredondantes : ACEG, ACEFH, ABDEG, ABDEFH On peut ici prsumer ACEG minimale (fig. 15.10).
La ralisation de contraintes fortes rgle en passant des contraintes faibles apparentes ; ici, j rend A obligatoire, et de ce fait la clause (A+B+H) est satisfaite, car A couvre aussi k ; de mme, p rend E obligatoire, et n est de ce fait ralis.
Algbre de Boole
Tableau 15.8 Couverture des points d'une fonction (cas 2).
295
^ ><
15.6.7 Impact technologique II n'y a pas de technologie imposant par nature les calculs en et/ou/non, mais ce triplet correspond un compromis confortable entre faisabilit des calculs et ralisme technique. Une technologie binaire sera donc admissible si elle permet de raliser et/ou/non , car par eux toutes les fonctions boolennes seront faisables, et, des codages binaires prs, toute fonction discrte.
296
Algbre
Certains thoriciens ont considr et/ou/non comme surabondants, se limitant par exemple au couple ou/non . Et apparat alors comme un oprateur secondaire dfini par et(x, y) non(ou(non(x), non(y)) Au dbut de l'emploi des triodes (annes 40) ou des transistors (annes 60), la physique a encourag le minimalisme. Reprenant des travaux tels que ceux de Sheffer, Pierce, Ivanescu, on a tout centr sur le ni (resp. le on ), directement ralisables partir d'un lment amplificateur, triode ou transistor simple. Ces oprateurs de base laissaient la possibilit de raisonner en termes de et/ou/non, du fait des relations donnes tableau 15.9, qui montrent qu'une synthse effective s'obtient en dmarquant les schmas et/ou/non , double couche par double couche (la fonction spcifie figure 15.5 est ainsi ralise selon la figure 15.11). Tableau 15.9 Oprateurs minimaux ni/on . ni(x, y, z) = (x + y + z)' = x'y'z' ni(x, x, x) = x' s non (x) ni(x, x, x') = 0, ni(0,0,0) = 1 on(x, y, z) s (xyz)' =x' + y' + z' on(x, x, x) = x' = non(x) on(x, x, x') = 1, on(l, 1,1) = 0
ni(non(x), non(y), non(z)) = xyz = et(x,y,z) on(non(x), non(y), non(z)) = x + y + z = ou(x, y, z) non(ni(x, y, z)) = x + y + z = ou(x, y, z) ni(ni(p, q, r), ni(s, t, u), ni(v, w, x)) = non(ni(p, q, r))-non(ni(s, t, u))-non(ni(v, w, x)) = ou(p, q, r) ou(s, t, u) ou(v, w, x) = (p + q + r) (s +1 + u) (v + w + x)) une double couche de NI realise des produits de sommes non(on(x, y, z)) = x-y-z = et(x, y, z) on(on(p, q, r),on(s, t, u), on(v, w, x)) = non(on(p, q, r)) + non(on(s, t, u) + non(on(v, w, x)) = et(p, q, r) + et(s, t, u) + et(v, w, x) = p.q-r + s-t-u + v-w-x une double couche de ON ralise des sommes de produits
f = a'bc+cde
inverseur Fig. 15.11 Ralisation d'une fonction boolenne par double couche ON = NON(ET()), drive d'une somme de produits (cf. fig. 15.5). Au-del de ces questions d'admissibilit, l'efficience est obtenue depuis les annes 70 par l'utilisation d'units fonctionnelles spcialises un plus haut niveau, bases cette fois sur : le niveau d'intgration disponible,
Algbre de Boole la demande, en termes de frquence et de dbit marchand, units qui tendent simplifier les fabrications en les strotypant de plus en plus.
297
Cependant, les fabrications en petites sries comme les ruptures technologiques supposent toujours de savoir revenir aux fondamentaux. NOTE. Ceux-ci permettent mme d'expliquer certains aspects des neuro-sciences. En 1941, Pitts et McCulloch ont suggr de formaliser les neurones par des oprateurs semianalogiques dits outils seuil. Ces outils ont des entres et une sortie binaire, sortie valant 1 ssi la somme des entres dment pondres atteint ou dpasse un certain seuil. OS(ei, e_,, ... e,^ p^p2. ...p,,:seii,i On montre facilement que : OS(e,, e,, ... e,) /, ;. /,... /,. / OS(e,, e:, ... e^ , ,, ;,... / , OS(e,, e.,, ... e,^ _/ -/, _;.... -/, g =OU(e,. e,, ... eJ =ET(e,, e^, ... eJ =NI(e,, e_,, ... e,j ... ^(sipiei+p^e.^ ...+ /?<; >seuil alors 1 sinon 0).
Sans prjuger d'autres combinaisons intressantes, notamment en correction d'erreurs, ceci suffit suggrer pourquoi les neurones sont capables de traitement d'information. 15.6.8 Cas des fonctions incompltes Ces techniques resteraient souvent d'un intrt limit si on n'avait traiter que des fonctions compltes. En fait, de nombreuses fonctions boolennes raliser ne sont pas compltement spcifies car certaines combinaisons de leurs variables sont impossibles. EXEMPLES Pour satisfaire notamment les comptables, pour les affichages etc. la question se pose d'avoir des systmes ou des composants travaillant en dcimal ; de fait ils utilisent souvent des codes binaires non saturs tels que les diffrents codes Dcimal Cod Binaire : Le principe des codes pondrs est le suivant : un quadruplet boolen abcd reprsente un chiffre dcimal x selon le code pqrs ssi ap + bq + cr + ds = x, un code pqrs tant admissible s'il permet d'atteindre tout chiffre dcimal x. Ces codes pondrs sont nombreux, du 8421 au 3321, sans compter la possibilit de poids ngatifs. Dans le cas du 8421, les dix codes de 0000 1001 ont une interprtation de 0 9, tandis que les six codes 1010 1111 n'en ont pas. On peut envisager des codes encore moins compacts, comme le code pondr 22221, ou le code 5 bits associant chaque chiffre dcimal une combinaison forme de deux bits 1 parmi 5, ou le code Johnson {00000, 00001, 00011, 00111,01111, 11111, 11110, 11100, 11000, 10000}. Pour ces codes 5 bits, seuls 10 codes ont besoin d'une interprtation dcimale, et donc 22 peuvent tre sans interprtation.
Au sens de ces codes, la ralisation binaire d'une fonction parfaitement dfinie au niveau dcimal ne sera donc souvent que partiellement dfinie au niveau binaire, du fait des combinaisons binaires sans interprtation dcimale. En lectronique digitale, en automatisme, on tend crer autant de variables que ncessaire, chacune ayant un rle prcis ; cela accrot en principe la lisibilit du systme, mais il faut s'attendre des interdpendances rendant impossibles de nombreuses combinaisons, ce qui permettra de simplifier les fonctions de dcision correspondantes.
298
Algbre
Ces fonctions sont le plus souvent traites comme applications de Bn dans T = {0, f, 1}, o f est affect aux cas indiffrents/indtermins. T est dot d'un systme compatible avec celui de B, dfini dans le tableau 15.10. La principale nouveaut rside dans l'apparition d'une relation ~ de compatibilit entre valeurs, rflexive, symtrique mais non transitive, telle que 0~f, f~1, mais 0-^1.
Tableau 15.10 Oprateurs de T. +
0 I 1
4> 1
<
0
1
4>
1 1
l
1
0 1
1
<ti 1
1
1 0
1
0
1
I 0
0
DFINITION 15.9 - L'ensemble G des applications de Bn dans T est muni d'un ordre de ralisabilit E dfini par : f<= g = Vx e r (f(x) = 0 -> g(x) = 0) A ( f(x) = 1 -> g(x) = 1) Si f g, f et g sont compatibles ; comme g reprend les cas dtermins de f, auxquels elle peut en ajouter un ou plusieurs, on dira quefspcifeg ou g ralisef. PROPOSITIONS 15.8 - est un ordre large, qui dote cet ensemble G d'une structure d'inf-demitreillis ayant pour lment minimum la fonction totalement indtermine f, et pour lments maximaux les fonctions boolennes totalement dfinies. 15.9 - Une fonction f indtermine pour k n-uples est ralisable par 2k fonctions g dtermines compatibles : pour raliser f , il suffira de raliser l'une de ces fonctions g ... ce qui ouvre encore le champ des optimisations. 15.10 - Parmi toutes les fonctions g dtermines compatibles avec une fonction partielle f, il existe 2 fonctions fetf extrmes au sens de <10. festainsi encadre par ces 2 applications fetf de Bn dans B, dfinies par : f(x, y, z) = (si f(x, y, z) = 1 alors 1 sinon 0) f(x, y, z) s (si f(x, y, z) = 0 alors 0 sinon 1) La double relation f f f peut aussi s'interprter f = f + ( ( ) - f. Les mthodes prcdentes s'appliquent au mieux aux fonctions incompltes, condition que la couverture finale dtermine les bases irredondantes formes de monmes premiers de f qui couvrent les points def. 10 Si ncessaire, ces fonctions seront notes respectivement inf(f) et sup(f).
Algbre de Boole
299
EXEMPLE. On considre le codage binaire 8421 d'un chiffre dcimal, et on veut raliser une fonction boolenne f valant 1 quand le chiffre est divisible par 3 (0 inclus). On a f= {0, 3,6, 9}+ ^{\0 et plus} en termes dcimaux et, en passant aux codes 8421, f ={0000,0011,0110,1001}+i|> {1010, 1011, 1100,1101, 1110,1111} f = {0000, 0011, 0110, 1001}, insimplifiable en soi, menant un schma de cot 16 f = {0000,0011,0110,1001,1010,1011,1100,1101,1110,1111} ={0000,x011,xll0,lxxl,lxlx,llxx} Sont totalement inutiles dans flesmonmes ne couvrant que la partie f, tels que l01x (cas 10,11) et llxx(cas 12,13,14, 15). Tableau 15.11 Couverture d'une fonction f incomplte.
base de f 0000 xOll xllO Ixxl obligatoire obligatoire obligatoire obligatoire :-. ',- ;'Air?'W8 ^; W' ^ % ..'
: ! : f f :A
Sont ici obligatoires 0000 pour 0, x0ll pour 3 (auquel on joint 11 qui ne se produira jamais), x l l O pour 6 (auquel on joint 14 qui ne se produira jamais), 1xxl pour 9 (annexant les impossibles 11, 13, 15). Tous les points de fsontcouverts : aucun autre monme de f n'est utile. D'o une base irredondante de cot 12 : {0000, x0ll, xll0, 1xxl}. Parmi les monmes d'un base premire de f on pourra donc distinguer : les obligatoires, seuls couvrir au moins un point de f ; les inutiles, ne couvrant que des points f ou des points couverts par les obligatoires ; les utiles, couvrant (non exclusivement) au moins un point de fnoncouvert par les obligatoires, les redondants enfin. 8' 4' 0010 0001 0101 0100 2' 0111 0 0 1000 1001 0 0 2'
300
Algbre
15.7 DES SOMMES DE MONOMES AUX PRODUITS DE CLAUSES Etant donn la dualit de l'algbre de Boole, reflte par exemple par les rgles d'Occam/de Morgan, tout pourrait tre redit en permutant + et -, 0 et 1... Mais si la dualit enrichit nos procds, elle nous amne surtout aborder de nouvelles questions. En effet, tandis que l'lectronique digitale privilgiait l'expression des fonctions boolennes en somme de produits, les calculs boolens lis la dmonstration automatique et V intelligence artificielle prfraient transcrire les bases de connaissances sous la forme duale de produits de clauses, amorant ainsi une autre pratique. 15.7.1 Duale d'une fonction DFINITION 15.10 - La duale d'une fonction f(x, y, ... , z) est la fonction f * telle que f*(x.y....,z)=f(x',y',...,z') REMARQUE. De (a + b + c) ' = a'b'c' on tire (a + b + c)* = abc. De mme de (abc)' = a' + b' + c' on tire (abc)* = a + b + c. Par suite, f* s'obtient partir de fenpermutant + et. sans autre effort : f* est en gnral plus facile calculer que f. PROPOSITION 15.11 - La dualit est involutive : f** = f. PREUVE. f**(x, y ... z) = (f*(x, y ... z))* = (f (x', / ... z'))* = (f'(x", y" ... z")) = f(x, y ... z), car x" s x et f s f. DFINITION 15.11 - Si f = f*, la fonction festdite fonction autoduale, sinon f et f* sont dites fonctions duales par paires. EXEMPLES et/ou, ni/on sont duales par paires. maj(x, y, z) = xy + xz + yz est autoduale.
PROPOSITION 15.12 - Tout dispositif boolen qui ralise f dans une technologie donne sous une convention physique prcise pour 0 et 1, ralise f* sous la convention inverse. PROPOSITION 15.13 - Le rle d'un dispositif ralisant une fonction f autoduale dans une technologie donne sous une convention physique prcise pour 0/1, est inchang sous la convention inverse. 15.7.2 Notion de clause DFINITION 15.12 -Nous appellerons clause11 le dual d'un monme, i.e. une somme de variables, chacune sous forme directe ou complmente ; clause canonique, une clause o chaque variable est prsente, sous forme directe ou complmente.
' ' Monal au sens de Kuntzmann ; nous abandonnons cette terminologie pour viter les confusions verbales entre monaux et monmes.
15.7.3 Seconde forme canonique PROPOSITION 15.14 - Toute fonction boolenne f peut s'crire comme produit de clauses canoniques, ce qui introduit une seconde forme canonique (FC2). PREUVE 1. Toute fonction boolenne peut tre crite comme somme de monmes canoniques (FCl,prop. 15.3). Soit une fonction f quelconque : son complment f peut tre crit comme somme de monmes canoniques : f = m, ; par consquent, fpeuts'crire f = f ' ' = m', o lesm ' , complments de monmes canoniques, sont des clauses canoniques. PREUVE 2. Toute fonction boolenne peut tre crite comme somme de monmes canoniques (FCl,prop. 15.3). Soit une fonction f quelconque : sa duale f* peut tre crite comme somme de monmes canoniques : f* = m ; par consquent, fpeuts'crire f = f * * = m*, o les m*, duaux de monmes canoniques, sont des clauses canoniques. EXEMPLE. Dfinir la FC2 d'une fonction boolenne dtectant les quadruplets valant 5 et plus dans un code 8421. Soit flafonction cherche. Son complment est dfini par f ={0000, 0001, 0010, 0011, 0100}, (codes de 0 4) soit f (a, b, c, d) = a'b'c'd' + a'b'c'd + a'b'cd' + a'b'cd + a'bc'd' On a toujours (pqrs)' = p' + q' + r' + s' d'of(a,b,c,d)=(a+b+c+d)-(a+b+c+d')-(a+b+c'+d)-(a+b+c'+d')-(a+b'+c+d). C'est la FC2 cherche. 15.7.4 Bases clausales La distributivit entrane que (a + x)- (a + x') = a + x-x' = a, et l'absorption que (s + x ) - s = s + x-s =s. On peut donc s'attendre des produits de sommes dont les sommes ou clauses ne contiennent pas toutes les variables. EXEMPLE. Considrons la fonction boolenne dtectant les quadruplets valant 5 et plus dans un code 8421. Sous sa seconde forme canonique, elle s'crit f(a, b, c, d) = (a+b+c+d)-(a+b+c+d')-(a+b+c'+d)-(a+b+c'+d')-(a+b'+c+d)
(Si
/ cot 20 / cot 5
f(a, b, c, d) = (a + b + c)-(a + b + c')-(a + c + d) = (a + b)-(a + c + d) (D- . . @ (g) Par dualit du consensus, nous avons : PROPOSITION 15.15 - (Quine, Robinson) Rgle de rsolution : (a + p)-(a' + q) = (a + p)-(a' + q)-(p + q)
NOTE. La clause (p + q), dite clause rsolvante des clauses (a + p ) et (a'+q), est exploitable en dmarquant point par point la mthode des consensus.
302
Algbre
Bases clausales et listes de propositions Outre la dualisation des problmes prcdents, les bases clausales apparatront aussi comme codage algbrique d'un ensemble d'noncs prpositionnels. Considrons en effet un systme, possdant un tat et des lois, comme dcrit par une conjonction de faits (gnralement variables propositionnelles isoles, vraies sous l'une ou l'autre forme) et de rgles ou implications. Les rgles de passage logique propositionnelle / calcul boolen sont fondes sur la mise en quivalence de l'implication aAbACAd > x (si a et b et c et d alors x), avec son interprtation philonienne -i (aAbACAdA-i x) soit (a-b-c-d-x')', et donc avec la clause a' + b' + c' + d' + x. Une conjonction d'implications se ramne ainsi un produit de clauses. Qu'il s'agisse d'une base de rgles et/ou d'une base de faits : PROPOSITION 15.16 - Une base de connaissances d'ordre 0peuttre reprsente par une base clausale. Or, la formation des bases de connaissances, la priorit porte sur l'exactitude des connaissances formalises, et non sur l'habilet de cette formalisation. Les sections antrieures suggrent que les bases de connaissances seront souvent optimisables ; de plus, les mthodes d'optimisation pourront accessoirement dtecter des incohrences. Bases clausales premires PROPOSITION 15.17 - Est clause premire toute clause d'une base, dont aucune sousclause n'est aussi clause de la base. En ce sens, une clause premire est irrductible. En termes de bases de connaissances, il s'agira dfaits isols, ou d'implications qu'on ne saurait simplifier davantage sans changer la signification globale de la base de connaissances considre. Bases clausales irredondantes, minimales Considrons une base clausale premire B. DFINITION 15.13 - Est clause premire obligatoire toute clause premire qu'on ne saurait retirer du produit ou de la base sans changer la valeur globale de la base considre. Si le produit P0 des clauses obligatoires quivaut la base, ce produit est la base premire irredondante (et minimale). Sinon, les clauses restantes se partagent en clauses utiles et clauses inutiles ou redondantes... Sont inutiles les clauses premires non obligatoires C telles que C-Po = PO, et sont utiles les clauses premires C telles que B < C-Po < P0. Retenons une de ces clauses utiles, C1, et formons P1 = C1-P0. Si P1 = B, on a termin ; sinon, deviennent redondantes les clauses restantes C telles que C-P1 = P1..., et restent utiles les clauses C1 telles que B < C - P 1 < P1..
Algbre de Boole
303
Chaque base clausale irredondante comprendra, outre les clauses premires obligatoires, une slection de clauses utiles, rendant les autres clauses redondantes pour cette slection. En cas de multiplicit des bases irredondantes, des considrations de cot indiqueront celles de ces bases qui sont minimales. Exemple La base de rgles ci-aprs est-elle optimale ? (i) aAbAC > f (ii) bACA-id -> a (iii) aAf->d Sous forme clausale, cette base devient : B = (a' + b' + c' + f)-(b' + c' + d" + a)-(a' + f + d) = (a' + b' + c' + f)-(b' + c' + d + a)-(a' + f + d) = (a' + b' + c'+ f)-(a + b' + c' + d)-(a' + d + f) Le passage sous forme clausale a un premier e f f e t de normalisation, une clause n variables reprsentant 2n 2 implications apparemment distinctes : xAy > z correspond une clause (x' + y' + z) codant aussi bien XA-.Z > i y, yA-iZ > -i x ; x-> -iyvz, y-> -ixvz, -.z -> -ixv-,y qu'un trilemme -ix v -iy v z ou un interdit -i(xAyA-iz). Avec un codage additif, la forme clausale permet la production de rsolvantes, en bijection avec la production de consensus partir d'un codage multiplicatif (tab. 15.12) :
Tableau 15.12 Passage d'une base clausale une base clausale premire par le calcul des rsolvantes (isomorphe au calcul de la base premire d'une somme de produits par la mthode des consensus).
000x1
000x1
llW
OxxIO
lOOIx
lOOIx
;'<N|g| OxxIO
xOOll 000 Ix 000 Ix 0
^liS
xOOll 000 Ix
iISSi
.:.::"......f?;";:i:i^;(;i;,
IN1^
000x1
xOOll
xOOll 0
Iwte
OOOIx 0
xoon
||y || 0
|ei|| 000 Ix
xOOIx
abcdf
Les rgles i/ et iii/ restant inchanges, la rgle ii/ peut tre allge, et on a maintenant : (i) aAbAC -> f (ii') bAC > (iii) aAf > d (au lieu de (ii) bACA-.d -> a )
Si on considre la base en termes d'interdits lmentaires, ii' unit 4 interdits lmentaires : les 2 de (ii), 1 de (i) (abcd'f = 0) et 1 de (iii) (abcd'f= 0).
304
Algbre
15.7.5 Bases premires compltes par double dualisation PROPOSITION 15.18 - Le dveloppement en somme de produits du produit de deux clauses ne comporte que des monmes premiers, et ventuellement certains de leurs multiples (absorbables). EXEMPLE, (a + b)-(a + c) = a + ab + ac + bc = a + bc. PROPOSITION 15.19 - Le dveloppement en somme de produits du produit de plusieurs clauses ne comporte que des monmes premiers, et ventuellement certains de leurs multiples (absorbables). Claude BENZAKEN a donc propos en 1966 la construction de bases premires compltes par double dualisation : (a) o naf * = f ; (b) si on a f sous forme d'une somme de produits, f se transcrit immdiatement en f* comme produit de sommes ou clauses ; on effectue ce produit de clauses pour obtenir une somme de monmes, qui, aprs absorption, sera une base premire complte B* (d'o une base de f par simple transcription) ; (c) en dualisant B*, on obtient f d'abord comme produit de sommes, puis en l'effectuant comme somme de monmes, qui aprs absorption des multiples sera B, la base premire complte de f cherche. La beaut de cette mthode est que pour raliser f, on obtient en passant ce qu'il faut pour dcider si la ralisation de fparla ralisation de f puis sa complmentation, ne serait pas moins coteuse que la ralisation directe de f, avec en prime la disponibilit de f. EXEMPLE. Soit une fonction f = {00x0, 00x1, 011x, soit 8 points. Quelle est sa base premire ? 111x} comprenant 4 artes disjointes
Nous avons successivement, en appelant a, b, c, d les variables : f = a'b'd' + a'b'd + a'bc + abc f * = (a' + b' + d')-(a' + b' + d)-(a' + b + c)-(a + b + c) = (a' + b' + d-d') (b + c + a-a') = (a' + b')-(b + c) = a'b + a'c + b'b + b'c = a'b + a'c + b'c => ab' + ac' + bc' f** = (a' + b)(a' + c)(b' + c) = (a' + bc)(c + a'b') = a'c + a'b' + bc + a'b'bc = a'c + a'b' + bc (cf. 15.6.3) /forme SP initiale def /forme PS calque pour f* /on effectue /on rduit /on effectue et rduit /B*, base premire de f* /B', base premire def /forme PS pour fduale de B* /on effectue /on rduit /B * * base premire def! ! !
Cas des fonctions trs incompltes12 Pour les fonctions ayant une majorit de cas indtermins13, il est commode d'organiser les traitements partir de inf(f), liste des 1 de la fonction f, inf^f), liste des 0 de la fonction f. Si inf(f) est sous forme SP (ex : premire forme canonique), la base premire de sup(f) s'obtient facilement en effectuant (inf(f))' : la forme SP de inf(f) se transcrit directement en forme PS de (inf(f))' ; l'valuation de celle-ci, aprs absorption des monmes absorbables, donne la base premire complte de sup(f') sans avoir dfinir autrement cette fonction (cf. exemple en 15.7.3). f = inf(f) fournit alors les points couvrir. EXEMPLE. Soit inf(f) = {0001,0010,0100, 1000} et inf(f) = {1110, 1101, 1011,0111} ; posons inf(f) = abcd' + abc'd + ab'cd + a'bcd ; (inf(f))' = (a' + b' + c' + d)-(a' + b' + c + d')-(a' + b + c' + d')-(a + b' + c' + d') = (a' + b' + cd + c'd')-(a'b' + ab + c' + d'') = a'b' + a'c' + a'd' + b'c' + b'd' + c'd' ;
(2)
inf(f) est couverte par (+@+) pour 0001, (++) pour 0010, (@+(g)+) pour 0100 et (++) pour 1000, soit comme couvertures (+(2)+())-(++).((2)+(g)+).(++) = + + des combinaisons 3 termes soit = a'b' + c'd' et @= a'c' + b'd' comme bases minimales. 15.8 APPROCHES DICHOTOMIQUES KUNTZMAN, AKERS, BRYANT, entre autres, ont plaid l'intrt de synthses ou de spcifications boolennes partir d'un oprateur duplex U(x, y, z) = x'y + xz, exploitant la relation : f = U(x, f|x=o, f|x=i) (BOOLE, Shannon) La premire ide est de s'en servir pour une synthse arborescente, chaque niveau de dcision liminant une variable, ramenant la synthse d'une fonction n variables la synthse de 2 fonctions n - 1 variables. Pour f = {1, 2, 3, 5, 7, 11, 13}, les variables a, b, c, d tant attaches aux poids 8, 4, 2, 1, on a : f = a'b'c'd + a'b'cd' + a'b'cd + a'bc'd + a'bcd + ab'cd + abc'd = U(a, b'c'd + b'cd' + b'cd + bc'd + bcd, b'cd + bc'd) = U(a, U(b, c'd + cd' + cd, c'd + cd), U(b, cd, c'd)) = U(a, U(b, U(c, d, d' + d), U(c, d, d)), U(b, U(c, 0, d), U(c, d, 0)))...
12 13
Voir aussi KUNTZMANN, Algbre de Boole, pp. 28 et seq. Techniquement frquentes : si on doit combiner 2 chiffres dcimaux cods en DCB, il y a 100 cas de figures dfinis pour 256 cas thoriques partir des codes 4 bits, soit 60% de cas indtermins...
306
Algbre
Dans l'arbre brut obtenu, chaque monme canonique correspond un chemin et un seul, d'une constante 1 la racine (sortie). Pour n variables, il faudrait ainsi 1 + 2 + 4 + . . . + 2 n - ' = 2 n - l duplex.
f=(1,2,3,5,7, 11, 13}
On passe de cet arbre brut un arbre rduit en remplaant tout outil U menant deux sous-arbres identiques par un seul de ces sous-arbres, car U(x, A, A) = A.
f={1,2,3.5,7,11,13}
Algbre de Boole
307
On passe de cet arbre rduit un graphe rduit si on remplace chaque paire de sous-graphes identiques par deux connexions la sortie d'un seul de ces sousgraphes. Dans un tel graphe, chaque monme canonique correspond un chemin d'une constante 1 la sortie, et chaque chemin correspond un monme, disjoint des monmes correspondant aux autres chemins.
f s - ( 1 , 2 . 3 . 5 , 7 , 11. 13}
Fig. 15.15 Graphe rduit de la fonction boolenne f . Attention : des entres (0 1 ) ont t permutes (1 0) pour viter les croisements.
Un graphe rduit sera dit graphe canonique si c'est un graphe rduit au maximum, les variables apparaissant dans un ordre impos. Le graphe est multifonctionnel s'il porte sur l'laboration simultane de plusieurs fonctions boolennes, ce qui modlise bien les circuits qui laborent simultanment plusieurs fonctions dpendant des mmes variables (ex : additionneurs...), la prise de dcisions multiples interdpendantes. Ce formalisme des diagrammes de dcision binaire [AK.ERS, BRYANT] est souvent apprci pour plusieurs raisons : il fournit des dfinitions exactes qui possdent une forme canonique ; il est assez lger pour les fonctions symtriques ; il permet de traiter de front plusieurs fonctions ; il peut participer la description de systmes binaires trs complexes, par l'introduction de niveaux de description et d'actions plier/dplier ; il spcifie aussi bien des circuits binaires (dans une technologie non prcise) que des systmes de dcision. Il est trs employ en matire de test et de simulation. En conception, il peut tre utilis surtout comme spcification. Mais pour les couches les plus physiques, certaines fonctions mnent des graphes rduits de taille trop sensible l'ordre impos aux variables pour que ces dfinitions servent de descriptions.
308
Algbre
L'extension des fonctions valeur dans T = {0, , 1} permet de tenir compte d'interdpendances entre variables, ou d'examiner les rgimes transitoires dans les systmes boolens sous tude.
fi=1.
Les sections prcdentes ont montr comment allger et condenser ces formes globales sans perte d'information. On considrera le rsultat comme invariant du systme logique. Quelle est la rponse telle ou telle question dans ce contexte ? Si 1 est l'invariant du systme et x la question, x peut tre connu en rsolvant une quation I(x). Outre une rponse pour x, on pourra avoir une indtermination (l'tat du systme ne suffit pas dfinir x) ou une impossibilit (l'tat du systme est contradictoire / invalide, et x ne peut tre).
e a-x - D as possibles, nous pouvons dire que : quation a-x = b 0, soit b <, a. b + (ja', ou, sous 5 + u-a', o u est e.
ab 00 01 10 11
cas
EXEMPLE. Si Jean est au violon, et Lon l'accordon, tout le monde danse la polka, et seulement dans ce cas. Que fait Lon ? Si tout le mode danse la polka, Jean est au violon et Lon l'accordon. Si on ne danse pas la polka, - ou Jean est au violon, et Lon n'est pas l'accordon,
ou Jean n'est pas au violon, et ce que fait Lon est indtermin.
15.9.2 Equation boolenne a-x + b-x' = c On peut se ramener l'quation prcdente ( 15.9.4) ou examiner directement les 8 cas de figure, et en dduire : PROPOSITION 15.21 - L'quation a-x + b-x' = c admet une solution si a'b'c + abc' = 0 soit ab ^ c < a + b, cette solution est alors x = a'bc' + ab'c + t(ab + a'b'), o t est une variable boolenne libre ; ou, si on prfre, a'bc' + ab'c <. x ^ (a + b' + c')(a' + b +
ax + bx' = c Ox + Ox' = 0 Ox + Ox' = 1 Ox+ l x ' = 0 Ox+ l x ' = 1 lx+0x'=0 lx+0x'= 1 lx+ lx'=0 lx+ lx'=l
rcapitulatif pour x
b'
b 1 0 a'
^n.
<1>
<!
g;*A' ,;,
EXEMPLE. Quand il pleut les soirs d'hiver, William coute Jean raconter sa vie, ou bien il joue aux checs avec Delphine. S'il pleut un soir d'hiver, que fait William si Jean est aphone ? Si Delphine est absente ? Quand il pleut les soirs d'hiver, Jean et/ou Delphine sont l (condition de validit). Si Jean est aphone, Jean ne peut raconter sa vie et William l'couter, donc William joue aux checs avec Delphine. Si Delphine est absente, William ne peut jouer aux checs avec elle et il coute Jean raconter sa vie. II est impossible pour William d'avoir un soir d'hiver Delphine absente et Jean aphone. Pour les rponses finales, il sera souvent plus parlant de garder la solution sous forme d'ingalits. Mais si l'quation rsolue relve d'un systme plus vaste, seule la forme paramtrique dment reporte permettra de dfinir exactement les degrs de libert rsiduels pour l'ensemble des variables recherches.
310
Algbre
DFINITION 15.14 - On appelle anneau de Boole une structure <B, 0, 1, , .> forme de l'ensemble B = {0, 1} muni des oprations ou exclusif, note , qui s'interprte arithmtiquement comme une somme modulo 2, et, note Tableau 15.15 Oprations et 0 1 0 0 1 1 1 0
0 0 0
1 0 1
0 1
PROPOSITION 15.22 - Soient a, b, c... des variables valeur dans B. Au pire par numration, on tablit les proprits du tableau 15.16, qui permettent de vrifier que <B, 0, 1, > est un groupe, <B, 0, 1, , > est un anneau, et comme < B -{0}, > = <{1}, ->se rduit au cas de figure 1-1 = 1, 1 est lment neutre et son propre inverse. <B, 0, 1, , > est un corps ! Comme <B, 0, 1, , > est un corps fini, c'est un corps de Galois, c'est d'ailleurs le plus petit. On le note CG(2). Tableau 15.16 Proprits de <B, 0, 1, , >.
proprit
(ab)c = a(bc) a 0 = a = 0a tout lment est involutif aa=0 tout lment est son propre inverse
(a b) c = a (b c) a 1 = a= 1 a a.0=0=0-a idempotence a a= a
simplifiabilit commutativit
ac = bc -> a = b ca = cb -> a = b a b = ba <B, , 0, 1 > groupe commutatif a- b = b a <B, -, 1, 0 > monode idempotent et commutatif a (bc) = a ba c = (bc) a
distributivit
PROPOSITION 15.23 - Le passage d'une structure <B, 0, 1, , > l'autre <B, 0, 1, ', +, > est assur par les relations x'=lx x + y = xyx-y, d'o x + y = xy <=> x-y = 0 x y = (x + y)-(x' + y') = x-y' + x'-y
31l
PROPOSITION 15.24 - Toute fonction boolenne fpeuts'crire comme somme par de monmes contenant exclusivement des variables sous forme directe, plus ventuellement 1. Cette forme est unique si les variables dans chaque monme, et les monmes entre eux, respectent l'ordre lexicographique (FC3). EXEMPLE. Soit f = abc' + a'bcd f = = = = = abc' + a'bcd abc' a'bcd ab(lc)(la)bcd (ab abc )(bcd abcd) ab abc abcd bcd /termes disjoints /remplacement des variables complmentes
La reprsentation des fonctions sous cette forme sera souvent plus simple que les reprsentations prcdentes, car on utilise ici au plus 2" monmes (contre 3n monmes ou clauses dans les reprsentations prcdentes). C'est surtout le cas de fonctions de type cl de parit, tandis que la reprsentation des NI devient lourde. Tableau 15.17 Troisime forme canonique de f= abc' + a'bcd. abcd 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 f 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 ab 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 abc 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 abcd 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 bcd 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 E 0 0 0 0 0 0 0 1 0 0 0 0 1 1 2 4 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0
EXEMPLE. Soit dfinir une fonction f valant 1 si x, y, z sont 1, ou si t, u, v, sont 1, mais pas les deux. On prfrera en gnral f = xyz tuv aux formes quivalentes. SP : f = xyzt' + xyzu' + xyzv' + x'tuv + y'tuv + z'tuv. PS : f = (x+t)(x+u)(x+v)(y+t)(y+u)(y+v)(z+t)(z+u)(z+v)(x'+y'+z'+t'+u'+v').
312
Algbre
15.10.3 Traitement de l'hypothse du monde clos Qu'advient-il des bases de connaissances l'ordre 0 lorsqu'on veut prendre en compte Y hypothse du monde clos ? Rappelons qu'une base de connaissances telle que aAb > z ; aAC -> z tait assimile jusque l a-b^z ; a-c<z cod (a'+b' +z)-(a' +c' + z ) = 1, soit a' +b'c' + z = 1. S i a = l e t b + c = l alors on a bien z = 1. Mais si a = 0 ou b + c = 0, 1 + z = 1, et z est indtermin : au sens des connaissances identifies, z est faux, mais quelque autre cause inconnue pourrait le rendre vrai. Avec l'hypothse du monde clos, z ne peut connatre d'autre cause que celles donnes et z >a-b + a-c devient z = a-b + a-c. Pour calculer l'invariant de cette base, passons aux qui permettront un changement de membre pour z ; z = abacabc, donc zabacabc = O14. Si a = b =1, zlcc = zl = 0 et z = 1, comme cherch. Si b = c = 0, z000 = z = 0, et aucune cause cache ne peut plus entraner z = 1. L'approche anneau de Boole facilite ainsi le traitement de l'hypothse du monde clos, si on considre un paquet de rgles comme dfinissant une quivalence entre une proposition et le systme de ses causes identifies. 15.10.4 Apport aux quations boolennes Elles sont maintenant plus faciles traiter, car autorise les simplifications membre membre et les changements de membre, tant la fois addition et sa propre soustraction. PROPOSITION 15.25 - ax = b a pour solution x = ab. PREUVE. Par addition membre membre de a. PROPOSITION 15.26 - De mme axb = c devient ax = bc. PROPOSITION 15.27 - L'quation ax + bx' = c se ramne la forme a1x = b1
PREUVE, ax + bx' = ax bx' = axbbx = (ab)x b d'o ax+bx' = c => ax + bx' =
COROLLAIRE 15.28 - Comme Ax = B suppose toujours B^A et donne x = B + uA' soit x = B uA' = BuuA, on en dduit que ax + bx' = c a pour solution x = bcu(lab) ds lors que (ab)(bc) = bc soit ( 1 ab)(bc) = 0.
14
Cette forme facilite l'intgration des diffrents paquets de rgles relatifs aux autres propositions.
Algbre de Boole
Tableau 15.18 Equivalences majeures entre algbres de Boole.
313
v vv -. a
BAi b
<->
15.12 EXERCICES
15.12.1 Montrer que x + y = x y x-y. 15.12.2 On s'intresse au codage de chiffres dcimaux sur 4 bits (a, b, c, d) de telle faon que la valeur du chiffre s'obtienne par 8a + 4b + 2c + d (code DCB 8421). Vrifier que la relation a(b + c) = 0 rend exactement compte de ce que les codes de 10, 11, 12, 13, 14, 15 ne seront jamais employs. En dduire que toute fonction boolenne g(a, b, c, d) o abcd figure le code 8421 d'un chiffre dcimal peut tre ralise comme g(a, b, c, d) + f a(b + c). En dduire l'expression boolenne la plus simple de la fonction f6(a, b, c, d) = abcd vaut 6 ou plus .
15.13 PROBLEMES
15.13.1 Cellule logique universelle Une cellule logique ralise la fonction f(a, b, c, d, e) = ((ab)-(cd))e. En jouant sur l'affectation aux diffrentes entres de variables et/ou de constantes, montrer que cette fonction ralise toute fonction de 2 variables. 15.13.2 Croisement virtuel Au milieu d'un circuit intgr, il faudrait que les connexions (a, b) permutent en (b, a) sans croiser physiquement ces connexions. Montrer qu'on peut le faire l'aide de 3 ou exclusifs. 15.13.3 Fonctions duales et autoduales Une fonction festdite autoduale si f = f*. Montrer que c'est le cas pour la fonction boolenne Maj(x,y,z) - dite encore vote-taker ou majority gate - dont la sortie s'aligne sur la majorit des entres. Gnraliser un nombre d'entres 2k + 3. Exprimer Maj en tant qu'outil seuil. Les fonctions qui ne sont pas autoduales sont duales par paires. Montrer que c'est le cas de toutes les fonctions 2 variables.
15.13.4 Montrer qu'un additionneur binaire peut tre entirement fait l'aide de cellules 3 entres et 2 sorties : ad(x, y, z -> r, s) = { r = Maj(x, y, z), s = xyz.} Montrer qu'un multiplicateur binaire peut tre entirement fait l'aide de cellules 4 entres et 2 sorties : mul(a, b, x, y > r, s) = { r = Maj(x, y, a-b), s = xya-b}. Adapter les deux exercices prcdents au cas (1) de nombres en DCB (2) de nombres dans une base quelconque B. 15.13.5 Dans le style de la section 15.8, dfinir par un graphe binaire bifonctionnel : un additionneur binaire complet : ad(x, y, z -> r, s) s { r = Maj(x, y, z), s = xyz} ; un multiplicateur binaire complet : mul(a, b, x, y -> r, s) = { r = Maj(x, y, a-b), s = xya-b}. Conclure sur la sensibilit l'ordre dans lequel les variables sont traites.
15.15 LECTURES
AKERS S.B., Binary dcision diagrams in IEEE Trans. on Computers, vol. C-27, n 6, juin 1978, pp. 509-516. BENZAKEN C., Algorithmes de dualisation d'une fonction boolenne , RFT1 Chiffres, 1966, pp. 119-128. BOOLE G. Les lois de la pense. Ed. J. Vrin, 1992, traduction de The laws of Thought, 1854. BRYANT R.E., Symbolic boolean manipulation with ordered binary decision diagrams inACMComputing Surveys, sept. 1992, pp. 293-318. DIAGNE S.B., Boole (1815-1864), l'oiseau de nuit en plein jour. Editions Belin, 1989. FAURE R. et HEURGON E., Structures ordonnnes et algbres de Boole, Collection Programmation, Gauthier-Villars, 1971 (algbres de Boole et treillis). FRCON L. Vers des machines intelligentes, DEA Dimensions Cognitives et Modlisation, Universit Lyon II, 2001.
Algbre de Boole
315
FRCON L., Les bases de connaissances d'ordre 0 comme polynmes boolens, rapport de recherche. Laboratoire DELIA, INSA Lyon, nov 1993. KUNTZMANN J., Algbre de Boole, Dunod, 1968. (Traite des quations boolennes et des fonctions boolennes trs indtermines.) VALLE R.L., Analyse binaire, Masson, 1970. (Curiosit ; dans l'esprit de G. Boole, tente de considrer SB comme sous-ensemble de R ; introduit des oprateurs de retard en vue de la prvention des alas dans le fonctionnement des automates.)
CHAPITRE 16
Ce chapitre donne les rgles d'quivalences entre une classe de dispositifs appels automates tats finis, qu'on rencontre en automatique, en architecture de machines, en gnie logiciel... une classe de modles linguistiques appels grammaires de Kleene, grammaires linaires unilatres, ou encore grammaires de classe 3, une classe d'expressions de squences, dites expressions rgulires, permettant de dcrire ou spcifier des comportements squentiels, pouvant comporter des itrations successives et/ou imbriques, expressions banalises par l'diteur QED puis le systme unix (cf lex, grep, sed, awk...). Ces rsultats dcouleront de l'exploitation de gerbiers dment enrichis.
Entre eeE le 1
tat i
Sortie
s(e,i)
6S
t(e,i) e 1
retard futur tat
318
Algbre
DFINITION 16.3 - Dans le modle de Moore la fonction de transition t : E 1 -> 1 dtermine le prochain tat, dtermine la sortie en fonction du la fonction de sortie s : 1 > S seul tat. Tous les ensembles tant finis, les fonctions t et s peuvent de fait tre spcifies par des tables. Pour le modle de Mealy, qui fait dpendre la sortie de l'tat et de l'entre, on utilise gnralement une table unique T, forme raison d'une ligne par tat interne i, et d'une colonne par entre possible e ; chaque case ainsi dfinie comprend un couple (tat suivant, sortie) not i+ /s. Le modle de Moore juxtapose une table 2 entres dfinissant le nouvel tat i+ = T[i, e] comme fonction de l'tat et de l'entre, une colonne supplmentaire pour les sorties s = S[i]. DFINITION 16.4 - Deux automates ayant mme ensemble E et mme ensemble S sont dits quivalents si, tant chacun dans son tat initial, ils mettent une mme squence de S* chaque fois qu'ils reoivent une mme squence de E*. NOTE. C'est une quivalence de comportement et non de fonctionnement, mais on peut dire les fonctionnements compatibles si les comportements sont quivalents. PROPOSITION 16.1 - Modle de Mealy et Modle de Moore sont quivalents : si <E, Ii, S, ti : EIi -> Ii, Si : EIi -> S> reprsente un automate (au sens de Mealy), il existe un <E, I2, S, tz : EI2 -> I2, s2: I2 > S> reprsentant un automate quivalent (au sens de Moore), et rciproquement. 16.1.2 Exemple : feux routiers On veut installer un feu l'intersection d'une route prioritaire et d'une route secondaire. Celle-ci ne devrait bnficier d'un cycle que sur un signal D indiquant qu'il y a demande par un piton, ou un vhicule dtect. On suppose une horloge avec une priode de l'ordre de la minute. On considre comme sorties les lments convenables de {V, J, R}{v,j, r}, o v, j, r dsignent respectivement les feux vert, jaune et rouge, par une majuscule pour la route principale, une minuscule pour la route secondaire. L'automate correspondant peut tre dfini dans le style de Mealy (tab. 16.1) ou dans le style de Moore (tab. 16.2), plus adapt lorsqu'un tat correspond une phase.
Tableau 16.1 Feux routiers (modle Mealy).
i^s tats 0 1 2 3
entres D' 0/Vr 2/Jr 3/Rv 0/Rj D 1 /Vr 2/Jr 2/Rv 0/Rj
319
On dit un tat stable s'il peut tre son successeur immdiat. On constate une stabilit des tats 0 (en l'absence de demande, route prioritaire passante) et 2 (route secondaire maintenue passante si la demande se maintient). Il y a donc lieu de prvoir que (2) puisse mettre un acquittement de la demande.
Tableau 16.2 Feux routiers (modle Moore).
entres
tats 0 1
D'
sorties Vr Jr Rv
0 2
3
1 2 2 0
2 3
Rj
16.13 Ralisation Matrielle II suffit de pouvoir raliser les 2 fonctions discrtes s et t, ce qui suppose 2 reseaux combinatoires parfois trs simples, pas forcment disjoints ; une fonction de retard, assurant le renouvellement de l'tat interne sans confusion dans le fonctionnement. Le fonctionnement des automates synchrones est cadenc par une horloge biphase : le retard est assur par un registre en matre/esclave, dont les entres sont mises jour aux phases paires, les sorties aux phases impaires. Cette fonction d'automate synchrone, repre depuis longtemps, a t concrtise chez Texas Instruments, ds les annes 70, par un circuit intgr gnrique comprenant une mmoire morte programmable aux spcifications du client (ce qui revient cbler la dfinition logicielle ci-aprs). Les automates asynchrones, plus performants, sont de conception dlicate cause des alas : l'apparition fugace d'(un code d')tat imprvu, du fait de retards ingaux dans les reseaux logiques, peut entraner une transition et, de l, une squence errone. Logicielle Le principe en est donn ci-aprs. La lecture assure la synchronisation : ce peut tre une acquisition physique, un caractre dans un flot, un cas d'un menu... L'ordre de sortie est similaire. Modifier i en bloc et en dernier limine tout problme de confusion entre tats.
procd automate ensembles E, S, 1 ; tables t[E, I] de I, s[E, I] de S ; var e :E, i :I, s :S ; constante i0 :I ; ? initialiser t[,],s[,]? i<-i0; indfiniment faire lire e ; sortir s[e,i] ; i <-1 [e,i] fin automate
16.1.4 Graphe de transition Les tables prcdentes mnent un (multi)graphe de transition : tout tat i de l'automate correspond un sommet du graphe de transition, [Mealy] toute case T[e,i] = i + / s correspond un arc (i, i+) marqu (e / s), [Moore] tout sommet i est attach la sortie S[i] correspondante, et toute transition T[e,i] = i+ est figure par un arc (i, i+) marqu e. L'exemple prcdent mne aux graphes de transition 16.2 /16.3.
16.1.5 Principaux comportements Gnrateur Un automate sera considr comme un gnrateur (plus ou moins pilot) s'il est domin par les sorties, les entres significatives tant rares. EXEMPLES. Horloge, automate pilote d'une application, d'un processeur. Tableau 16.3 Tables d'une horloge pilote par marche/arrt ; un bip est donn par l'tat instable (2).
tat
entres Marche Arrt 0 0
sortes
0 1
2
E 2
1 2
bip
Accepteur, classifieur, analyseur Considrons un automate domin par les entres, et aux sorties plutt rares. On parle d'accepteur si les sorties significatives sont limites acceptation/rejet, de classifieur si la squence accepte est l'objet d'une classification, d'analyseur dans le cas d'une sortie encore plus riche. EXEMPLE. Analyseur lexical, pouvant reconnatre des squences comme mots ou comme constantes/ variables/ mots-cls, ventuellement assortis d'un type, d'une valeur ou d'un index. Traducteur Un automate sera considr comme traducteur si les squences de sortie suivent de prs les squences d'entre.
On peut lui associer un graphe de transition, sur la base d'un sommet par notion, d'un arc (a, P) marqu y par rgle a > yp, d'un arc (a, s) marqu x par rgle a > x, e marquant ici une bonne fin. EXEMPLE. Les rgles: i> ao| bc| co graphe de la figure 16.4. cr-> $| aa| bol CG|ICT| 2o| 3o donnent le
16.2.2 Equations rgissant le langage modlis Partant des paquets de rgles regroupant toutes les rgles de grammaire relatives une mme notion (resp. tous les arcs issus d'un mme sommet), Schtzenberger suggre de leur associer un systme d'quations o les notions tiennent lieu de variables, les terminaux de constantes, une somme + se substitue au | des grammaires, un produit explicite la concatnation. EXEMPLE i -> a<r| bo| CCT CT-S|aCT bo|c(i|l(T|2o|3cr => => 1 = (a + b + c) S S=(a+b+c+l+2+3)-S+$
Rsoudre de tels systmes dans une structure algbrique adquate, comportant au moins une concatnation (pour btir des squences) et une agrgation (pour les runir), associerait chaque notion (et notamment la notion initiale) l'expression algbrique du langage correspondant. 16.3 ALGBRE DE KLEENE 16.3.1 Diode de base Considrons le diode A+ = <A, w, e, +, > form de un sous-ensemble A fini de gnrateurs, dit alphabet, une opration +, associative, commutative et idempotente, un lment w neutre pour +, une opration -, associative, non commutative, distributive sur la premire, d'lment neutre e et d'lment absorbant w. On peut voir cette structure comme base d'une algbre des chanes d'alphabet A,
+ jouant le rle d'union et celui de concatnation,
Algbre de Kleene et automates tats finis 16.3.2 Expansion de Kleene Considrons un systme d'quations du genre : 1 = (a + b + c) S S=(a+b+c+l+2+3)-S+$
323
o 1 et S sont maintenant des variables linguistiques. Visiblement, il a un sens dans le diode introduit. Pour le rsoudre, liminons dans un premier temps les variables qui ne dpendent pas explicitement d'elles-mmes. Le systme se rduit alors des quations du genre Z = f(Z). Compte tenu des grammaires unilatres dont nous sommes partis, les quations rsiduelles seront d'un des types : Z=a+b Z ou Z=a+Zb mais pas des deux. Soit donc rsoudre dans A+ le systme Z = a + b Z. Dcidons d'atteindre la solution Z comme limite formelle d'une suite :
Zo = a, Zn = a + b Zn-1
Visiblement,
Zo =a,
On pose maintenant : DFINITION 16.6 - Dans un diode, l'opration dite expansion de Kleene, note *, est la somme des puissances successives de 0 l'infini. De mme dnote la somme des puissances successives de 1 l'infini.
00 00
Soit: x * = Y x ' ,
i=0 PROPOSITIONS
x=Vx'
i=l
* = (X + )* = X*
x-x*=x*-x=x9
(x^^x9
16.3 - Z = b*-a est la solution de Z= a + b Z , PREUVE, a + b Z = a + b (b* a) = a + b a = (e + b) a = b* a = Z. De mme : 16.4 - La solution de Z = a + Z b est Z=a-b*.
Algbre 1 = (a+b+c) S S =(a+b+c+1+2+3) S+ $ est donne par S =(a+b+c+l+2+3)*S d'o I = ( a + b + c ) - ( a + b + c + 1 + 2 + 3 ) * $ |al ce qu'on peut noter dans un style cobolisant : 1 = !, b c
NOTE. Dans un systme linaire traditionnel, on crirait : Z = a + Z - b - Z - ( l - b ) = a - ) . Z = a / ( l - b ) = a - ( l + b + b^ b'+b 4 ...) quand |b|<l ; ainsi, b* est l'analogue, dans des structures plus pauvres, de (1- b)'1. 16.3.3 Expressions rgulires DFINITION 16.7 - On appelle expression rgulire btie sur l'alphabet A : e, l'expression vide, et co, l'expression impossible, tout lment de A, toute expansion E*, tout reflet E d'une expression rgulire E, toute union, diffrence ensembliste, intersection ou concatnation d'expressions rgulires E] et Ez, notes respectivement Ei u Ez, Ei - E; E) n E;, ErE. 16.3.4 Reflet d'une expression rgulire DFINITION 16.8 - Le reflet d'une squence a est une image forme de la suite des mmes lments pris dans l'ordre inverse - comme dans un miroir. Vx e A, x = x \/x e A, y 6 A* : z = x-y > ? = y x ainsi : a-b-c^ = e-d-c-b-a ; au-del : Vx, ye A* : x + y = x + y , \/x e A*-.'x^ = (x )*
Reflets et parenthses Algol 68 voit toute parenthse comme reflet de la parenthse apparie, en tendant cette ide tout mot-cl statut parenthtique. parenthse gauche parenthse droite ( [ { case do fortran if ) ] } esac od nartrof fi
Palindromes DFINITION 16.9 - Les palindromes sont les points fixes de la rflexion, mots qui sont leur propre reflet [dans un miroir]. EXEMPLES, y, ara, gag, non, sas, ses, sis, sus, elle, kayak, rotor, taxt, selles ...
TO = dbut + T4.x
T1=TO
T2=Tl-A+T6-y'
T3=T2
T4 = T3-B
T5 = T4.x' T6 = T5.C
fin = T6y
Algbre TO = dbut + T4-x T2 = TO-A+T6-y' T4 = T2-B T6 = T4-x'-C fin = T6-y TO = dbut + T2-B-X T2 = TO-A+T6-/ T6 = T2-B-x'C fin = T6-y______ TO = dbut + T2-B-X T2 = TO-A+T2-B-x'-C-y' fin = T2-B-x'-C-y T2 = dbut-A+ T2-B-x-A+T2-B-x'-C-/ fin == T2-B-x'-C-y T2 = dbut-A-(B-x-A+B-x'-C-/)* fin = dbut-A-(B-x-A+B-x'-C-/)*-B-x'-C-y
puis en liminant T4
puis T6
Le problme est maintenant de faire apparatre dans cette formule dcrivant l'effet du programme, les formes typiques de la programmation structure. Tableau 16.5 Schmas de programmes et expressions formelles. schma de programme A;B;C si x alors A sinon B si x alors A tantque x faire S rpter Sjusqu'x expression rgulire associe A-B-C x-A+x' B (x-A+x') (x-S)*x' S(x'-S)*x
La somme centrale n'a pas la forme adquate, mais une suite quelconque de a et de b peut tre rcrite comme suite de suite de a suivis d'un b , suivie ventuellement d'une dernire suite de a : (a+b)*=(a*b)*a* fin = fin = = dbut-A-(B-x-A+Bx'Cy')*-Bx'-C-y peut donc se rcrire
dbut - A S (y' S) *y correspond au schma dbut A ; rpter Sjusqu' y ; fin S s'explicite maintenant en notant que : (ba)*b = b + bab + babab + ... = b(ab)* Ainsi S = (BxA)*Bx'C = B(xAB)*x'C, ce qui correspond au schma [ B ; tantque x [A ; B] ; C].
327
Finalement, le programme initial est quivalent au programme de la figure 16.6. VRIFICATION. On vrifie pas pas que des expressions de traitements du programme 1, simples comme ABx'Cy ou plus complexes comme (ABx) A(Bx'Cy') B(ABx) ABx'Cy
12 3 5
dbut
A
" ^
B
tantque x faire
dcrivent
chacune
un
comportement
du
programme 2. LIMITES. Le procd ne traite que les programmes itratifs et ne peut rendre compte des interdpendances entre ces itrations : c'est pourquoi il ne peut tre appliqu directement qu'aux fausses rcursivits ; les rcursivits intrinsques exigeraient au moins de recourir des expressions de classe 2. Soit une action rcursion terminale : crire (phrase) = [si non(vide(phrase)) alors [crireMot(premier(phrase)) ; crire(reste(phrase))]J on peut la formaliser par : e = v'me+v soit e = (v'm)*v correspondant aussi crire(phrase) = [ tantque(non(vide(phrase)) [crireMot(premier(phrase)) ; phrase <- reste(phrase)] ] en posant que m symbolisant toute action prcdant le rappel de e comprend aussi bien l'criture du mot de tte que la rduction de la phrase restant crire. Dans ce cas il y a rcursivit de surface. Soit une fonction rcursive, dont le rappel implique pr- et post-traitement. Le schma f()= [si v alors g-fh sinon j] se transcrit formellement f = (v-g-f-h + v'-j) dont la solution f= 2^ f); avec f|< = (v-g)1'^^'^1' relve des langages de classe 2 (qui rendent compte des structures de parenthse), au-del des expressions rgulires, et on parlera de rcursivit intrinsque. Ainsi, la fonction : fact(n) = [si n = 0 alors 1 sinon n-fact(n-l)] comporte en prtraitement du rappel la rduction de l'argument, et en post-traitement le produit, effectu au retour de l'appel rcursif. Dans un procd align sur ces langages parenthses, fact(n) aurait comme image itrative brute quelque chose comme fact(n)=[ tantque n>0 [empiler n ; n <-n-l] image des prtraitements fact <-1 cas central tantque non(vide(pile)) [fact <-fact-sommet] image des post-traitements, si lire le sommet le dpile ] menant par une suite d'amliorations ponctuelles' fact(n) = [fact <~ 1 ; pour i <- 2 n [fact <- fact-i]]. ' p,g ^.6 Programme structur obtenu.
328
Algbre
16.5 DES EXPRESSIONS REGULIERES AUX GRAPHES DE TRANSITION Automates tats finis et grammaires de Kleene partagent des graphes de transition, correspondant des expressions rgulires ; ainsi passe-t-on du fonctionnement d'un dispositif ou d'une grammaire/modle la description de comportements observables, ce qui est trs utile la comprhension d'un existant. Symtriquement, peut-on passer d'une expression rgulire caractrisant un comportement recherch une grammaire qui en donne une analyse, si sommaire soit-elle ? un automate tats finis pouvant assurer un traitement recherch (gnration, dtection, traduction) ? Le point essentiel sera d'associer une expression rgulire prcise un graphe de transition. 16.5.1 Drive d'une expression rgulire Supposons une expression rgulire du genre E = aF + bG + cH ; il est facile de lui associer un (fragment de) graphe (de transition) : on assigne les expressions E, F, G, H autant de sommets, et on marque respectivement a, b, c les arcs (E, F), (E, G),(E,H)(fig.l6.7).
On peut considrer F, G, H comme Fig. 1 . Graphed etransitionassoci 67
drivs de E relativement a, b, c.
Pour raliser la mme opration sur une expression rgulire quelconque, nous utilisons une notion gnrale de drive au sens de Booth d'une expression rgulire par rapport un terminal. DFINITION 16.10 - On appelle drive d'une expression rgulire E par rapport un terminal t de l'alphabet A de E, une fonction D,(E) ainsi dfinie :
Vt, x e A Di(x) s ( t = x -> e | co )
Vt, x e A, E A""* Dt(x-E) a ( t = x - > E | x = e - > D,(E) | co ) Vt e A, E.F e A" D,(E + F) s D,(E) + D,(F) PROPOSITION 16.6 - La drive d'une expression au sens de Booth satisfait les proprits suivantes : Vt e A, E,F e A"* Vt e A, E eA^ Vt e A, E,F eA^ D,(E-F) = ( E = s + E, -> D,(Ei)-F + D((F) | D,(E)-F ) D^E*) = D,(E).E* D((E*-F) = D,(F) + D,(E)-E*-F
REMARQUE. Di(E*) s'obtient comme D((E + E-E*). 16.5.2 Construction d'un graphe de transition Soit construire le graphe de transition associ une expression E btie sur A. Le graphe est form d'un sommet par expression nouvelle traiter, d'un arc (E, F) marqu x ssi Dx(E) = F.
329
Pour cela, on forme progressivement la table des transitions raison d'une premire ligne pour l'expression initiale, d'une colonne par lment significatif de A, dans chaque case, la drive de l'expression de la ligne par le terminal de la colonne, d'une nouvelle ligne par expression nouvelle rencontre. Une expression rduite e est le signe de bonne fin, une expression contenant s dnote une fin possible, une expression rduite w dnote une impasse ou erreur. Attention ! le graphe obtenu comporte un nombre minimal de sommets ssi on ne cre pas de lignes inutiles, i.e. si la dtection de l'quivalence entre expressions est parfaite 16.5.3 Exemple Soit traiter E = (ab*a)*ab. On dresse progressivement la table 16.6, en calculant successivement : Da(E) = D,(ab + ab*a(ab*a)*ab) = b + b*a(ab*a)*ab = F Db(E) = Db(ab + ab*a(ab*a)*ab) = + = co D,(F) = D,(b + b*a(ab*a)*ab) = Da(b*a(ab*a)*ab) = Da(a(ab*a)*ab + bb*a(ab*a)*ab) = (ab*a)*ab = E ...
(ab*a)*ab.
expression
nom E
l[
a F
(ab*a)*ab
Z/ko E/ko
b + b*a(ab*a)*ab F
e + b*a(ab*a) ab G
E
E E Z
G
H H Z
b*a(ab*a)ab
(0
H Z
16.5.4 Graphes de transition et grammaires A tout graphe de transition correspond une grammaire, sur la base d'une notion par tat : ici, au graphe de la figure 16.8 correspond : E-> F-> G-> H-> Ambiguts Dans cette grammaire, la notion G est ambigu, du fait qu'une transition E-G correspond la fois une expression rgulire du type cherch, et au dbut d'une expression rgulire strictement plus longue mais relevant de la mme forme. aF aE| bG aE| bH e aE| bH
330
Algbre
EXEMPLE, ab est la fois forme complte, et le dbut de formes ab"+la(ab*a)*ab relevant du mme modle.
DFINITION 16.11 - On dira qu'une forme licite complte est uneformeclose ssi elle n 'est pas prfixe d'une forme complte plus longue. On peut rendre close toute forme licite complte en introduisant un terminateur (blanc, ponctuation, dlimiteur quelconque). C'est ce qui permet de discriminer {se, ses, session, sessions}. C'est aussi ce qui permet de distinguer une constante entire d'une constante relle, la constante entire tant le plus souvent une suite de chiffres suivie de rien d'autre : ni chiffre, ni partie fractionnaire, ni facteur de cadrage. Dans tous ces cas, la dcision est rapide car non seulement les squences plus longues sont finies, mais la suite se distingue ds le premier caractre. Gnralement, un graphe de transition ou une grammaire sont ambigus lorsqu'un terminal autorise deux transitions distinctes, comme dans : P -> aX | aY X -> aY | b I cY Y -> bP | cX L'ide est alors de factoriser le terminal commun, menant une notion nouvelle cumulant les proprits des notions en concurrence, et de propager cette modification jusqu' stabilisation. Posons ici Q = X + Y, et donnons Q comme dveloppement l'union des dveloppements de X et Y : P->aQ Q -> aY | b | cY | bP | cX X -> aY | b | cY Y -> bP | cX
331
Une nouvelle ambigut apparat pour le terminal c, mais la double destination tant encore le couple (X, Y), il suffit de prendre Q comme successeur unique. D'o, en posant de plus R = P + e, la nouvelle formulation : P->aQ Q - aY | bR | cQ R-^aQl s X -> aY | cY | b Y->bP |cX 16.5.5 Graphes de transition et automates A tout graphe de transition correspond un automate de mme table de transition. En fait, cet automate peut tre enrichi selon l'action attendue : gnrateur pur : les terminaux dsignent des sorties ; accepteur : les terminaux sont des entres, les sorties sont des diagnostics plus ou moins volus, au moins oui/non ; traducteur : les terminaux sont a priori des couples (entre, sortie). De plus, on devra prendre en compte le fait que l'action est faite une seule fois ou rptitivement : il faut alors prvoir reprise sur succs /reprise sur erreur. Dterminisme, non-dterminisme DFINITION 16.12 - Un automate sera dit automate non dterministe si, dans un tat donn, un mme terminal autorise deux transitions distinctes. Cette question est considre comme peu importante, s'il s'agit d'un module ralisant un gnrateur, critique dans tous les autres cas, que le non-dterminisme soit cause d'erreurs de comportement (classification, analyse, traduction) ou de fonctionnement, au niveau de la technologie. On a ce sujet : PROPOSITION 16.7 - A tout automate non dterministe k tats correspond un automate dterministe 2k tats au plus acceptant ou engendrant les mmes squences. Partant d'un automate non-dterministe A, l'ide gnrale est de btir un automate dterministe A' dont chaque tat correspond une collection d'tats de A atteinte partir de l'tat initial io. Dans A', la premire ligne de la nouvelle table est relative au singleton {io}, qu'on dveloppe en fonction des combinaisons atteintes. Le processus converge et limine les ambiguts, condition d'admettre des sorties retardes, correspondant au nombre d'entres successives ncessaires pour lever l'ambigut. De ce fait, il peut y avoir des suites de sorties neutres suivies de squences mises en une fois. Soit en effet la table de transition 16.7. Nous y relevons 2 ambiguts dont l'effet global est inconnu. Construisons une nouvelle table sur la base indique. Les lignes sont fusionnes avec (sauf problme de scurit) priorit aux suites positives : dans un tat ambigu,
332
Algbre
une squence accepte au titre de l'une quelconque des possibilits est globalement accepte ; elle ne peut tre refuse que si elle l'est pour chaque possibilit. Comme 0 menait 0, 1+3, et 2 respectivement, {0} mne {0}, {1, 3} et {2}. Comme 1 menait 2, 2 et 3 respectivement, et 3 1+ 2, 2 et 2 respectivement, {1, 3} mne {2}u{l,2} = {1,2}, {2} et {2,3} respectivement...
Tableau 16.7 Table de transition non dterministe. entre tat 0 1 2 3 0 2 3 1.3 2 arrt/non ! 2 arrt/non ! 3 arrt/non ! 3 arrt/oui 2 arrt/non ! a b c $
1,2 2
En cas de conflit, les messages ngatifs sont abandonns au profit de la ou des autres solutions. Tableau 16.8 Table de transition dterministe drive de 16.7. entr es tat {0} {1,3} {2} {1,2} {2,3} {3} {1,2,3} a {0} {1,2} {3} {2,3} {1,2,3} {1.2} {1,2,3} b {1,3} {2} arrt/non ! {2} {2} {2} {2} c {2} {2,3} {3} {3} {2,3} {2} {2,3} $ arrt/non ! arrt/non ! arrt/oui arrt/oui arrt/oui arrt/non ! arrt/oui
Dans le nouvel automate, les ambiguts ont disparu, mais le nombre d'tats est de 7 (4 ^ 7 ^ 16). L'ancien tat 1 n'apparat plus seul, et devient inutile. Il y a maintenant 4 tats chargs de lever des ambiguts diverses de l'ancien automate. Celles-ci viennent des entres a, un moindre degr c ; une entre b est au contraire trs slective.
333
16.6 SYNOPTIQUE
modle
drivations
quations linguistiques
comportement observable
16.7 EXERCICES
16.7.0 Dfinir un automate qui repre toute squence btie sur E = {a,b,c} et se terminant en abV. 16.7.1 Modliser en termes d'automate 2 tats, le comportement d'un chat qui s'il ne voit pas de souris, en cherche une, s'il voit une souris, (l'attrape et) la mange jusqu' ce qu'il n'en reste plus trace. 16.7.2 Modliser en termes d'automate le comportement minute par minute d'un individu qui rpond si on l'appelle plus de 3 fois en 5 minutes, vient si on l'appelle une 5e fois dans les 3 minutes qui suivent. 16.7.3 On envisage le codage dcimal de textes, par un systme longueur variable qui garantit que 55% des signes d'un texte franais soit cod par 1 chiffre dcimal, avec en moyenne 1,45 chiffre par signe. EXEMPLE.
Le p r e s b y t r e n ' a r i e n p e r d u d e s o n c h a r m e n i l e j a r d i n . . .
631072611381855161106020614160072161656206510364600708226171106040631083461654
Concevoir l'automate transcrivant en texte une chane chiffre. Ce code a-t-il des proprits statistiques le rendant facile casser ?
334
suffixe
prfixe
0 blanc
n
2 a u P h
3 s 1 v
4 i
0
5 t d g
rien 6 7 8 9
e
r
c f
z
m b k
j
-
x (
y )
16.7.4 Queneau a propos en 1937 de simplifier l'orthographe : on pourrait employer l'alphabet : a, , b, d, e, , , , f , g (toujours dur) i, j , k, l, m, n, o, , p, r, s (sifflant comme ou ss), / (dur), u, v, y, z, ch, gn, ou, an, in, on en observant cette rgle que toute lettre se prononce, et sans jamais changer de valeur quelque soit sa position. Mzalor, mzalor, kskon obtyin ? Sa devyin incrouayab, pazordinr, ranversan, sa vouzaalor inds droldasp dontonrevyin pa. On Irekon pudutou, Ifrans, amsa pudutou, sa vou pran toudinkou unalur ninversansabarb, se stupfian. Avrdir, smrn maran... Concevoir l'automate transcrivant un texte usuel en texte crit la Queneau . 16.7.5 On envisage le codage duodcimal de textes sur la base de la table ci-aprs. Pourquoi w, 0 et 1 n'ont-ils pas de code ?
Tableau 16.10 Codage duodcimal de textes
2 a u P h
6
3 s 1 v
4 i
0
5 t d g
e
r
m b k 5
q x 2
j
7
y
3 9
Les ensembles prfixe et suffixe tant disjoints, le prfixe ne sera ncessaire que lorsqu'il change, de telle faon que votre don ait pour code complet 63#4*5#1 *1 *0#5#4#0 et pour code compact 63#4*5#1 *10#540. Concevoir l'automate transcrivant en texte une chane chiffre pouvant mlanger codes complets et codes abrgs. Ce code a-t-il des proprits statistiques le rendant facile casser ? Concevoir l'automate de chiffrage d'un texte, obissant de plus une commande c, active lorsqu'on veut un code compact.
Recommandations pour : une transmission haut dbit sur une ligne sre, une transmission sur une ligne mauvaise, une transmission sur une ligne de bonne qualit, mais avec risque de drivation sauvage. Peut-on amliorer l'efficacit de la factorisation des prfixes ? 16.7.7 Trainspotting Btir sur l'alphabet {1, w} (1 pour locomotive, w pour wagon) les expressions rgulires dcrivant une rame de wagons R, un train T, une rame de locomotives haut-le-pied H. Concevoir un automate pouvant distinguer les trois cas.
16.8 PROBLEMES
16.8.0 Squenceur de processeur Dfinir sommairement, sur la base d'un tat par action, un automate pouvant effectuer le cycle suivant : amener dans un registre RI l'instruction dsigne par le registre P, amener dans un registre AQ l'oprande dsign par adr(RI), la partie adresse de RI, excuter l'opration dsigne par op(RI), partie opration de RI, incrmenter P et recommencer. Enrichir cet automate : quand doit-on sauter l'tape 2 ? caractriser l'excution d'un arrt, variante du cycle pour une instruction de branchement. 16.8.1 Analyse lexicale Dans le langage de programmation de votre choix : reprer la syntaxe de la constante relle, donner la constante relle sous la forme d'une expression rgulire, btir l'automate de reconnaissance d'une telle constante. 16.8.2 Automate classifieur On considre les 3 expressions rgulires E = a*(bc)*ca, F = (bab+cc)*aba, G = (cab)*bac. Combien faut-il d'tats pour reconnatre E isolment ? F isolment ? G isolment ? Adapter la mthode de drivation au cas o on voudrait tenter de reconnatre en une fois si la squence reue est (E),(F),(G), ou errone. Y a-t-il des cas mixtes ? Synthse de l'automate de classification, comparaison de sa complexit celle des automates antrieurs.
16.83 Ascenseur Soit un immeuble 5 niveaux (2 extrmes et 3 ordinaires), munir d'un ascenseur. Dfinir l'automate de commande du moteur, ayant pour entres externes les boutons de destination CO, Cl, C2, C3, C4 de la cabine, et les boutons d'appel par niveau AO, Al, A2, A3, A4. Supposer d'abord que l'ascenseur ne repond un appel que s'il est inactif. 16.8.4 Dtecteur de rotation Dans un systme de ventilation de mine ou de tunnel, on dsire savoir si un certain ventilateur tourne spontanment - et dans quel sens - lorsqu'il n'est pas command. Pour cela, il porte un disque comportant k anneaux concentriques diviss en secteurs soit blancs soit noirs. Une barrette fixe fournit ces anneaux un mince clairage radial, et porte une cellule photolectrique par anneau, donnant par rflexion l'tat de son anneau sous l'clairage. On suppose k = 4. Dfinir l'automate dtecteur de rotation selon qu'on utilise de secteur en secteur une alternance N/B guide par un code Johnson 2k = 8 secteurs {0000, 0001, 0011, 0111, 1111, 1110, 1100,1000}, un code Gray 2k = 16 secteurs {0000, 0001, 0011, 0010, 0110, 0111, 0101,0100, 1100,1101,1111,1110,1010,1011,1001,1000}. Que se passe-t-il aux frontires de secteur, qui justifie ces codes par rapport l'numration classique ? Quel code vous semble le plus adapt ?
2 a b
c
3 d e f
4 g
6 m
n
7 P r s
8 t u v
9
w x
0
0
blanc
j
k 1
h i
q z
Ce code est ambigu. Sachant cependant que le texte est en franais, vrifier que vous arrivez dcoder : 741808718363013462624312770783018614283281 Dfinir en dtail l'automate ralisant systmatiquement la mme traduction. Le retard moyen entre entre et sortie est-il important ? pourquoi ?
337
16.9.3 Queneau a propos de simplifier l'orthographe 2 niveaux. D'abord wn pourrait employer l'alphabet : a, , b, d, e, , , , f, g (toujours dur), i,j, k, 1, m, n, o, , p, r, s (toujours sifflant comme ou ss), t, u, v, y, z, ch, gn, ou, an, in, on, en observant cette rgle que toute lettre se prononce, et sans jamais changer de valeur quelque soit sa position. Mzalor, mzalor, kskon obtyin ? Sa devyin incrouayab, pazordinr, ranversan, sa vouzaalor inds droldasp dontonrevyinpa... Epui san ancor ryin, san ke demimezur... . Queneau poursuit en introduisant pour ch gn ou la notation c h w eu oe an in on un i o
Concevoir l'automate transcrivant un texte usuel en texte la Queneau , dans ce mode complt. L'opration inverse serait-elle facile ? Se reposer ces questions dans le cadre de la reconnaissance automatique de la parole. 16.9.4 Toute interconnexion en cascade ou en parallle d'automates tats finis est encore un automate tats finis.
16.10 LECTURES
AHO & ULLMAN, Motifs, automates et expressions rgulires, chap. 10 in Concepts fondamentaux de l'informatique, Dunod, 1993. AUTEBERT J.M., Thorie des langages & automates. Masson, 1994. BENZAKEN C., Introduction aux langages formels, grammaires et automates, chap. II in Systmes formels ; introduction la logique et la thorie des langages, Masson, 1991. BERSTEL & REUTENAUER, les sries rationnelles et leurs langages, collection ERI, Masson, 1984. BOOTHT.L, Sequential Machines andAutomat Theory, Wiley, 1967. FAURE & LEMAIRE, Monodes & automates, chap. VI in Mathmatiques pour l'informaticien, vol. 1, Gauthier-Villars, coll. Programmation, 1973. GROSS M. & LENTIN A., Notions sur les grammaires formelles, collection Programmation.Gauthier-Villars, 1967 (Contient quelques indications sur les polynmes associatifs de Schiitzenberger, et leur application la quantification des ambiguts d'une grammaire.) MARCHAND, Mathmatique discrte, outil pour l'informaticien, chap. 8 et 9, De Boeck Universit, Bruxelles, 1993. MICLET L., Mthodes structurelles pour la reconnaissance dformes, Eyrolles, 1984 PIN J.E., Varits de langages formels, collection ERI, Masson, 1984. QUENEAU R., Ecrit en 1937, dans Btons, chiffres et lettres, Collections Ides, nrf, Gallimard, 1965.
ANNEXE
Avec A-B, B>P comme germe, prendre AB comme hypothse locale et construire un dilemme. Avec P, hypothse locale, oprer dtachements, conjonction, regroupement dductif. Toute proposition qui implique P en est condition suffisante : si elle est vraie, P s'obtient par dtachement ; de mme pour leurs adjonctions. Toute proposition implique par P en est condition ncessaire, ainsi que leurs conjonctions. Il apparat maintenant une circularit d'implications entre (AB), P, (XY), qui par syllogisme introduit l'quivalence de ces noncs : R-).S, S-T, T-> R => R->T, T-> R o T<-R
0.3.4
Gestion de la contradiction dans les systmes usuels. Si un germe G et une hypothse locale H entranent une contradiction, le germe est prsum cohrent, et la contradiction liminable en niant l'hypothse ; H est alors une proposition dduite de G. Si un germe entrane une contradiction sans hypothse locale particulire, c'est qu'il est contradictoire ; soit il modlise un systme existant rellement, et cette modlisation est fausse, soit il modlise exactement un systme hypothtique, et celui-ci ne peut exister. Si une contradiction est drivable ex nihilo, c'est le systme de rgles d'infrences qui est contradictoire /inconsistant (logique invalide du fait par exemple de rgles d'infrence secondaires errones, ou moteur d'infrence bogu).
0.3.5
Dvelopper l'quivalence puis ventiler la conjonction, et dtacher. On obtient ainsi une forme secondaire du principe de dtachement.
0.3.6
Montrer que A<->B, B->C, C<->D, D--.A => A->B, B->C, C->D, D->-iA puis A->B, B-C, C->D, D->-iA => -.A avec A comme hypothse locale. Puis montrer que A<->B, -lA => -iB.
0.3.7
Procder par liminations successives. Voir aussi Jean Julo, Reprsentation des problmes et russite en mathmatiques, coll. Psychologies, Presses Universitaires de Rennes, 1994, et la dmonstration Zebra.pro du systme Visual Prolog de PDC.
0.3.9
Montrer que P(n)->P(n+l) en remarquant que si a = b alors 2a + 1 = 2b + 1. 264 = 10640-30103 -10 19'3 ; 1019 grains = 1018 grammes = 1015 kilos = 10'2 tonnes = 10 millions de tonnes...
6
0.3.10 Contraposer c en cl : Ceux qui portent du rouge n'lvent pas de taureaux, puis en considrant chaque nonc comme une implication, construire e, f, h, i, g, j par syllogisme ; g, i, j s'obtiennent plus directement comme rsultats de sorites tels que , b.cl =>g [L. CAROLL]. 0.4.1 Par l'absurde : 2 tant prsum rationnel, on pose 2 = p/q qui entrane p2 = 2q2, rapprocher de la proprit tout facteur premier d'un carr parfait l'est un nombre pair de fois (Euclide).
0.4.2
Soit N le plus grand nombre premier, et p; le i-ime nombre premier ; examiner la divisibilit de P = 2-3- ... p; .. .-N, puis celle de P + 1.
0.4.4
Si f est callimorphe, - f l'est, et - f atteint son maximum sur le pourtour du domaine. Or min(f) = - max(- f), et f atteint son minimum o - f atteint son maximum. Ainsi, la valeur de la fonction dans le domaine est encadre par les 2 valeurs extrmes qu'elle atteint la frontire du domaine. Si ces valeurs sont gales (du fait de la constance de f sur la frontire F) alors f est constante sur le domaine D:
0.4.6
Voir le problme 0.4.4. En introduisant une constante k = intelligence(CamaradePremierSecrtaire), Vi e Ivanbourg, k <. Intelligence(i) Vi e Ivanbourg, Intelligence(i) ^ k d'o Vi e Ivanbourg, Intelligence(i) = k
0.4.7
g r e f
= = = =
gagner les lections rduire le chmage dvelopper l'enseignement professionnel dvelopper les fonds publics
t p
= taxer = privatiser
0.3
0.4 0.5
e-> f
f-> (tvp) g
dtachement 0.1, 0.5 dtachement 0.6 0.2 ventilation 0.7 ventilation 0.7 dtachement 0.8, 0.3 dtachement 0.4 0.10 limination adjonction 0.11 detachement0.90.12
Pour les impts, ils peuvent tre rduits, inchangs, augments : si on les rduit, on ne les augmente pas ; mais si on ne les rduit pas, ou ils augmentent, ou ils restent inchangs.
342
Un pays unilingue P est critique (du point de vue des langues retenir) si son retrait permettait de retirer la langue L correspondante, c'est--dire si c'est le seul pays unilingue utilisant cette langue, car c'est alors lui qui rend cette langue obligatoire. 1.11.8 Dans la thorie additive RVB des couleurs, on admet que les lumires se combinent selon les rgles : noir = absence totale azur = vert + bleu lilas = rouge + bleu jaune = rouge + vert blanc = rouge + vert + bleu que reprsentent le diagramme de Venn : noir
1.12.0 |AuB| = |A| + |B[ - |AnB| donne ici |AnB| = 105 + 145 - 230 = 20 ; le trsorier peut donc esprer 210-100 + 20-150 = 24 000 francs. 1.12.1 On a : |AuBuC 1 = |A| + |B| + |C| -1 AnB| -1 AnC| - |BnC| + |AnBnC| = 230 |A| + |B[ + |C| = 100 + 70 + 90 = 260, donc [AnB| + |AnC| + |BnC| - |AnBnC| = 30 = |AnBnC'| +|AnB'nC| +|A'nBnC| + 2-|AnBnC| Si u est le nombre de membres inscription unique, d le nombre inscription double, et t le nombre de membres inscription triple, alors : (i) (ii) (iii) u+d+t=230 d + 2t =30 u, d, t 0
Les cotisations prvisibles sont alors donnes par : l00u + 150(d + t) = 100(u + d + t) + 50(d + t) = 100-230 + 50-(30 - t) par (ii). En notant [a b] l'intervalle de a b , (ii) et (iii) donnent t = [0 15] et 100 230+50 [15 30]= [23.750 24.500]. 1.12.3 F=C-P;G=P-C;H=PuC. P=H-F-C=H-G.
1.12.5 C'est une recherche de couverture dgnre : aucun expert n'tant unilingue, aucune langue n'est ncessaire. Gladstone connaissant toutes les langues de Dupont, si une langue permet d'informer Dupont, alors elle permet d'informer Gladstone. Tout expert connaissant le turc connat le russe : un tirage en turc n'informerait qu'une partie des personnes informables en russe (2 sur 5). 1.12.6 Une solution lgante ici serait {chinois, franais, portugais} (tab. A.l).
Tableau A.l Construction progressive d'une couverture.
A couvrir : Soyeux, Auvergnats, Mauriciens, Fils du Condor, Kamikazes, Ibres, Goans, Formosans, Luxembourgeois groupe critique (unilingue) : Auvergnats langue ncessaire : franais reste couvrir : Soyeux, Kamikazes, Ibres, Goans, Formosans groupe critique : aucun ; pivot : Soyeux 1" choix : chinois Reste couvrir : Ibres, Goans critique : aucun
Les langues vhiculaires sont considrer si on privilgie un nombre rduit de langues, quitte ne pas avertir chacun (approche probabiliste), si, dans la seconde phase de recherche de couvertures irredondantes, pour trouver parmi les ensembles non redondants restants ceux qui seraient plus utiles que les autres. 1.12.7 Un collge k n'ayant pas de membre en propre est redondant : si on le supprime, tout membre de k garde une raison de rester membre de l'association, puisqu'il appartient au moins un autre collge. 1.12.8 Reprendre l'exemple du paragraphe 1.9.2. Traiter couverture et partition comme des listes sans rptition. La proprit tre disjoint de tant symtrique, on systmatise le passage de la couverture une partition en rendant progressivement chaque ensemble de la couverture courante, du premier l'avant-dernier, "disjoint de ceux qui sont sa
droite".
Ce procd progresse sans remise en cause, c'est donc bien un algorithme glouton .
344
II existe m-n couples (a, b) e A0B. Pour chacun de ces couples, une relation de 9AB est soit vraie soit fausse : d'o 2 "1'" relations distinctes de A B. De mme il existe n-m couples (b, a) e B0A. Pour chacun de ces couples, une relation de MBA est soit vraie soit fausse : d'o 2 " m = 2 "'" relations distinctes de A B. On obtient le mme rsultat en considrant qu' chaque relation Re AB correspond une et une seule relation R~' e MBA, et rciproquement. 2.6.1 x (R*S) y <=> (3z xRz A zSy). Pour que (x, y) satisfasse RS, il faut donc que le point x (de P) appartienne au moins une droite z (de D), qui soit en contact en un seul point avec le cercle y (de C). Autrement dit, que le point x (de P) appartienne au moins une droite z (de D), tangente au cercle y (de C). Autrement dit, que le point x(de P) : appartienne y (de C), et une seule droite z est possible, ou soit extrieur y : dans ce dernier cas, deux droites z sont possibles.
2.6.2
Ensemble des moteurs employs : N = {m | m montSur v A v e L}. Ensemble des modles utilisant actuellement ces moteurs : l/ = {v | m montSur v A me N} 3 L. Ensemble des modles restant achetables court terme : L* = {v | m montSur v A me N-A} Ensemble des modles du parc vendre court terme : L- = L-L*. L'exemple donn fig. 2.1 / tab. 2.2, et la donne d'une liste L permettent de trouver successivement les listes M et L4^. Puis la liste A restreint L^ en L*, d'o l'on dduit L-. (tab. A.2).
Tableau A.2 Gestion d'un parc automobile. N A
Modles Moteurs Zl Z2 Z3 Z4 Z5 L I / L* L~
^ ' ' X
J ^ '
' -
Z ^ -
J '
W m
J Q
Z J W J < ^ i r ^ y -
' *
Z / ^
W V i n
X X X X X X X
* * *
x
x -
+ ?
x -
x x
+ x
x x
x x
+ x
x x
Indications
2.7.0
345
On pose <commande> porteSur <objet> / <objet> moulableSur <moule> / <moule> installableSur <machine>. <commande> excutableSur <machine> = <commande> (porteSur moulableSur installableSur) <machine> = $ o $ m <cornmande> porteSur o o moulableSur m A m installable sur <machine>. On s'en fera une ide en dessinant 3 diagrammes sagittaux en cascade , l'ensemble d'arrive du premier (resp. du second) tant l'ensemble de dpart du second (resp. du troisime). 2.7.1 On pose <tudiant> utilise <station>, <station> connecte_ <rseau>, <rseau> accde_ <porte>. Le schma de communication est du style (utilise connecte_ accde_ dbouche_sur connecte_-1 utilise_par).
0 1 3 6 10-"
1 2 4 7 ^ 16
3 9 , ^ 18 24 31
5 8
14
19 25 32 40
2 3 4
^r
17 23
5 20 26 33 41 50
6 27 34 42 51 61
7 35 43 52 62
8 44 53 63
9 54 64
346
NN peut lui-mme tre mis en bijection avec l'ensemble des fractions, qui de ce fait est dnombrable, et dont Q est un sous-ensemble (voir aussi sect. 5.5). 3.11.6 A chacun des k lments de A on peut associer a) 1 lment parmi les n de B pour chaque application, d'o n applications A -> B, et la relation BA = BA ; b) 1 lment parmi n+1 s'il s'agit d'une simple fonction, le n+l-me dnotant l'absence d'image, d'o (n+1)1' fonctions de A vers B (dont n applications). 3.11.7 Pour borner suprieurement une diagonale, lui appliquer 2 fois l'ingalit du triangle et retenir la valeur la plus contraignante. La borne infrieure s'obtient de mme l'aide de la proposition 3.16. 3.11.8 Vrifier que Vx : dn(x,x) = 0 Vx, y : dn(x, y) = du(y, x) Vx, y, z : dn(x, y) < dn(x, z) + dn(z, y) 3.11.9 Pour des dplacements x, y successifs, dl(x, y) = | xl-yl | + | x2-y2 | est la distance raliste en dure si on suppose un mouvement uniforme, ngligeant le dpart et l'arrt, dl/2'(x, y) == | xl-yl | + |x2-y2 | est la distance raliste en dure pour des dplacements forms d'un mouvement uniformment acclr puis dclr. Pour des dplacements (x, y) simultans, considrer da,(x,y) = MAX [ Xiy, |.
i=l 2
Tableau A.4 Estimation de la dure de dplacement d'une tte traante. dplacements (8,8) (12,4) (16,0) succe ssifs acclrs/dclres di/2' 5,66 5,46 4 privilgie les dplacements parallles aux axes 3.11.10 Prendre d,(x,y) = MAX | Xiy; |.
L.O >
uniformes d, 16 16 16
y^ ^^
Indications
347
3.12.1 Tout nombre n peut tre devin sans ambigut si l'on en possde une image f(n), o festinversible. Ici, n entier strictement positif on associe r = n-(n - 1)/2, toujours entier ; car ou n est pair, ou n - 1 l'est. On en tire 2r = n-(n - 1) soit n 2 - n - 2 r = 0 e t n = % + ^(2r+%), valeur entire en l'absence d'erreur. En fait, le devin se contentera probablement d'approcher n par n = r^/2r1 et de regarder si a colle . Tableau A.5 Rsolution d'une devinette numrique. Stratgie Rponse r 55 300 75 thorique 2r+% 110,25 600,25 150,25 ^ 10,5 24,5 n=%+^ 11 25 probable 2r^n2 n=N2r1 r = n - ( n - l ) / 2 55 ! 300! 78? 110^121 11 600^-625 25 150^169 13
Le problme du devin est de trouver une fonction injective suffisamment simple pour que le joueur arrive calculer r, et suffisamment complexe pour qu'il ne comprenne pas l'opration inverse. EXEMPLES Penser un nombre entier entre 10 et 90 [n = l0d + u] ; lui ajouter le nombre des dizaines [n' = 1 Id + u] dfinit une fonction rsultat n' : N - N injective ; les rsultats l l d + 10 comme 21, 32,43,... sont hors d'atteinte sans erreur, sinon, n = n ' - d = n'-Ln'/llJ ; ainsi, n = 37 =>n'= 40 =>n =40-1.40/11 J = 403=37,
Par contre Penser un nombre entier entre 10 et 90 [n = lOd+u] ; lui enlever le nombre des dizaines [n' = 9d + u] mne une ambigut des rsultats multiples de 9 ; ainsi : 45 = 9 - 4 + 9 (origine : 49) = 9 - 5 + 0 (origine : 50). Que fne soit pas surjective dorme au devin une capacit de dtection d'erreur. 3.12.2 Sous certaines hypothses simplificatrices, la relation peut tre fonctionnelle pour les couples (groupe, heure), (enseignant, heure), (salle, heure). Dans chacun de ces cas, l'emploi du temps se ramne une table rectangulaire de triplets, telle que (groupe, heure) > (activit, enseignant, salle) Du fait des programmes, seule une partie de |G8)A| est utile ; du fait des spcialisations des enseignants, il en est de mme de |EA|... Avec 60 enseignants et 200 activits, il n'y a peut-tre que 300 500 combinaisons envisager parmi 12 000 ! Dvelopper ce genre de remarques pour tablir que le nombre d'emplois du temps admissibles est faible devant [G(2)H(8)A(S<2)E|. La validit des emplois du temps suppose aussi qu'il n'y ait pas de collisions, c'est--dire deux affectations simultanes distinctes pour une mme personne (enseignant ou tudiant) ou une mme salle. Enfin, le problme est encore rduit avec des clauses du genre pas plus de 6 heures par jour pour un mme groupe .
348
La question se complique avec les activits ne respectant pas le dcoupage en groupe : enseignements en n-ime langue vivante, enseignements option, ou les activits telles que travaux pratiques demandant plusieurs enseignants. 3.12.3 Montrer que l'encombrement des lexiques d'entre est en 2m-n, et celui du lexique gnral en m-(n +1). 3.12.5 Une fonction p(x, y) est possible, car les 2 valuations partielles mnent une mme valeur en (4, 2). Avec p(x, y) = a + r-x + s-y, identifier p(4, y) = 7y - 3 et p(x, 2) = 4x - 5. Pour la forme p(x, y) = f(x)-g(y), noter que p(a, y) = Ay + B et p(x, b) = Cx + D ne peuvent dcouler d'une mme fonction que si p(a, b) = Ab + B = a + D. Alors, p(x, y) = f(x)-g(y) est satisfaite par fet g linaires, si p(a, b) ^ 0. Cette identit donne en effet p(a, y) = f(a)-g(y), d'o g(y) = (Ay + B)/f(a), et p(x, b) = f(x)-g(b) = Cx + D, d'o f(x)= (Cx + D)/g(b). Donc p(x, y) = (Ax + B)-(Cx + D) / (t(a)-g(b)) ; p(a, b) = f(a)-g(h) donne finalement p(x, y) = (Ay + B)-(Cx + D) / p(a, b), soit ici p(x, y) = (4x - 5)-(7x - 3)/11. La condition p(a,b) = Ab + B = a + D nous ramne bien p(a, y) = Ay + B et p(x, b) = Cx + D. Dans le cas gnral p(x, y) = a + P-x + y-y + 5-xy, les 2 expriences associes dgagent deux formes linaires (soient 4 coefficients) lies par une mme
valeur en (a, b). Il ne reste donc que 3 coefficients indpendants, et la reconstitution
de p(x, y) = a + p-x + yy + S-xy est ainsi sous-dtermine. Une troisime coupe serait ncessaire pour une solution sans ambigut. La premire solution lve l'incertitude en annulant le coefficient de xy. La solution construite en f(x) g(y) fait partie des solutions variables spares ; elle lve l'incertitude en posant q-t = r-s et n'est qu'une autre des solutions compatibles avec les 2 expriences.
Utiliser la proprit que p > q est toujours vrai quand p est faux. 4.8.1 est irrflexive, intransitive, symtrique.
4.8.2
Vx, y e E xny = d(x, y) < r => Vx, y, z e E (xny A ynz) -> d(x, y) < r A d(y, z) <, T d'o, par l'ingalit du triangle d(x, z) <, d(x, y) + d(y, z) :
Vx, y, z e E xny A VTIZ > d(x, z) < 2r
Indications
349
Mais si d(x, z) < max(d(x, y), d(y, z)) alors d(x, z) < r, et la transitivit est garantie. Pour une distance ultramtrique, l'analogie n devient quivalence.
4.8.5
Circularit + symtrie > transitivit ; transitivit + symtrie > circularit ; il est donc quivalent de dire une quivalence rflexive, symtrique, transitive, rflexive, symtrique et circulaire...
4.8.6
Cas type de prordre. Permet de grer les formules trouves ; la premire formule trouve est garde ; pour toute autre formule : si elle est de dfaut strictement suprieur celui des formules en stock, on l'oublie ; si elle est de dfaut strictement infrieur celui des formules en stock, elle les remplace ; si elle est de dfaut gal celui des formules en stock, on la stocke galement. On peut aussi contraindre le procd de recherche chercher/trouver des formules strictement meilleures que celle(s) connue(s) ; chaque succs, on rvise la baisse le dfaut autoris dans la suite de la recherche.
4.8.7
Un tri se justifie d'abord par un ordre total permettant de toujours dcider comment ranger 2 lments diffrents. Si les lments considrs forment une suite dont les rptitions ne sont pas exclues, l'ordre total sur les valeurs possibles se rduit un prordre total sur les lments de la suite (quivalents s'ils ont mme valeur sans avoir mme rang). Pour les couples (cl, info), ils sont soumis un prordre total ds que l'ensemble des cls est totalement (pr)ordonn ; alors, des couples (cl, info) de mme cl sont ex aequo tout en pouvant tre distincts ; et on sait dans quel ordre mettre les couples ayant des cls distinctes.
4.8.8
// est une quivalence (prordre symtrique) si on accepte qu'une droite soit parallle elle-mme ; ses classes d'quivalence sont les directions du plan. L, tudi l'exercice 4.8.1, n'appartient aucune grande classe de relations.
4.8.9
Une tche ne se prcde pas elle-mme, d'o l'irrflexivit. Si tl2 prcde t4, et t4 prcde t37, il est clair que tl2 prcde t37, d'o la transitivit. D'autre part, si tl2 prcde t4, cela interdit que t4 prcde tl2. Pour un jeu de tches ordonnancer, les contrles de vraisemblance des donnes devront prcisment vrifier qu' il n'y a ni symtries ni circularits dans les prcdences donnes. 4.8.10 La reprsentation virgule flottante est souvent dfinie pour assimiler l'ordre entre nombres virgule flottante un ordre lexicographique portant sur des triplets (signe, exposant, mantisse) de valeur signe2expsantmantisse
On suppose l'unicit de reprsentation. Comparer les signes achve la comparaison s'ils sont distincts. S'ils sont gaux, on compare les exposants : l'exposant le plus grand correspond au nombre le plus grand en valeur absolue ; en cas d'galit des signes puis des exposants, il reste comparer les mantisses pour trancher. Si ces 3 tranches sont implantes dans un ordre convenable, 2 nombres virgule flottante ont entre eux la mme relation <, =, > que les entiers de mme reprsentation binaire. Dans les processeurs correspondants, la mme instruction binaire compare indiffremment une paire d'entiers ou une paire de nombre virgule flottante, vitant ainsi le recours une soustraction flottante. 4.8.11 On considre un ensemble P de personnes, muni de la relation aime ; sous une hypothse de fraternit universelle, aime est transitive, sous une hypothse de jalousie universelle, aime est intransitive, dans tout tiers cas aime est non transitive. La rflexivit traite alors de l'amour de soi (pour chacun, pour aucun...) si aime est symtrique, tout amour est rciproque ; si aime est asymtrique, aucun amour n'est rciproque, allant jusqu' interdire l'amour de soi ; si aime est antisymtrique, l'amour rciproque se limite l'amour de soi. 4.8.12 Voir le problme 0.4.6. Le point de dpart de Zinoviev (Les hauteurs bantes, L'Age d'Homme) est une chelle d'intelligence, et 2 arguments opposs tendent prouver que tous les habitants d 'Ivanbourg sont quivalents pour cette chelle. On ne peut en conclure qu' ils sont identiques, malgr ce point commun (cf. discussion ordre prordre). Il y a donc probablement un prototype de l'Ivanbourgeois moyen, qu'on peut appeler Ivan Ivanov. En introduisant de nouveaux critres indpendants du premier, on retrouverait la varit des individus. 4.8.14 Se ramener aux matrices boolennes carres reprsentant les relations, en distinguant les 5 cases de la diagonale, les 10 du triangle sous-diagonal, les 10 du triangle sur-diagonal. Etablir ainsi qu'il y a sur cet ensemble 225 relations distinctes dont 220 rflexives, autant d'irrflexives... 4.9.1 Voir les exercices 4.8.4 et 4.8.13. A partir de la partition discrte, qui isole chaque lment, on voit apparatre les classes {a, e}, {c,d}, {a, e, c, d} et enfin {a, b, c, d, e} correspondant aux boules de rayons 5,7,9, 15.
4.9.2
Vx,y e E xPi;y > xP^iy. Supposons chaque utilisateur cohrent, en ce sens que s'il prfre x y et y z, alors il prfre x z. S'ils sont p utilisateurs prfrer x y et q prfrer y z, alors ils sont au moins s = max(p + q - N, 0) qui prfrent x z (cf. proposition 1.20).
Indications
351
Pour chaque case P[x, z], la sous transitivit imposera donc : P[x,z] > maXy(P[x,y] + P[y,z] - N).
4.9.3
Voir le problme 4.9.2. Avec l'expression s = max(p + q - N, 0), la question est de savoir, pour une majorit M donne si p > M et q >. M entranent s >. M (vote cohrent), N - s ^ M (vote non contradictoire).
4.9.4
L'galit est plus fine que toute congruence, toute congruence module n est plus fine que les congruences module un facteur de n ; dans cet ordre, les congruences les moins fines sont donc module un nombre premier ; au-del, la congruence module 1 est la relation universelle entre entiers, car leur diffrence sera toujours divisible par un. Des implications ci-dessus, on dduit aussi que pour 2 congruences module k et n, la congruence la moins fine plus fine que chacune des deux sera la congruence module ppcm(k,n) et la congruence la plus fine qui soit moins fine que chacune d'elles sera la congruence modulo pgcd(k,n). Ainsi, les congruences modulo 12 et 20 sont-elles encadres par la congruence modulo 60 (borne infrieure), et la congruence modulo 4 (borne suprieure). Soit rsoudre m2 + n2 = 3 6mn + 12m - 18n. Toute solution de cette quation est solution de m2 + n2 = (36mn + 12m- 18n) mod k "k 2 Choisissons k = 6, qui annule le second membre, et nous ramne la congruence m2 + n2 = 0 mod 6 Cette congruence a pour solution m = 0 mod 3 et n = m mod 6 : c'est donc parmi les couples (m = 3q, n = 3q + 6p) qu'il faudra chercher les solutions de l'quation initiale.
4.9.5
6 = 2-3, 210 = 2-3-5-7, 30030 = 2-3-5-7-11-13 mais 25 = 5-5 et 180 = (2.2).(3.3)-5. Les bornes sont donnes par ppcm et pgcd. Tout nombre du treillis issu de Q peut tre crit comme produit des facteurs premiers de Q, ayant chacun une puissance 0 ou 1 selon qu'il est inemploy ou employ. Ds lors qu'on assigne un rang ces facteurs premiers, il y a bijection entre un vecteur boolen et le nombre admettant ce vecteur comme suite des exposants de ses facteurs premiers. Comme 30 030 = 2-3-5-7-11-13, il y aura bijection entre les diviseurs de 30 030 factoriss sous la forme standard 2 ''3 ''5 '-7 s-11 ' 13 " et les vecteurs boolens (p q r s t u), pgcd et ppcm tant images arithmtiques de max/min appliqus aux vecteurs boolens composante composante. ppcm(21,30) =ppcm(2 0 3 1 5 0 .7'll o 13 0 ,2 1 .3 1 5 1 7 0 ll o 13 0 ) =2'3 1 5 1 7 1 11 0 13 0 =210 <=> max( (0 1 0 1 0 0), (1 1 1 0 0 0)) = (1 1 1 1 0 0).
4.9.6
4.10.0 Cf. A.THAYSE et coll.. Approche logique de l'intelligence artificielle, Dunod, tome 2. Le quantificateur 3! signifie : il existe un et un seul ; on le dveloppe par des quivalences telles que : 3! x P(x) <s> 3 x P(x) A (VyVz P(y) A P(z) -> z = y) o le premier prdicat de la conjonction garantit l'existence, et le second l'unicit. 4.10.1 Cf. N.VOROBIEV, Caractres de divisibilit, coll. Introduction aux mathmatiques, Editions de Moscou, 1973 l/ Utiliser une forme une proprit est vraie pour tout nombre si vraie pour deux nombres, elle est vraie pour leur produit, elle est vraie pour ses facteurs premiers . 2/ Examiner le cas des nk 4.10.2 La thorie 1 ne mne nulle part car elle n'expose qu'une proprit typique suivie d'un raisonnement cursif qui cache une faille : ... si je divise le nombre de trous par 2... Il est clair que l'on ne sait pas ce qui se passe si le nombre de trous est impair, et, en particulier gal 1 (cas improbable que la dfinition n'exclut pas). La thorie 2 est d'une rdaction au dpart classique, dans laquelle ordonner se rfre de fait un prordre. La difficult leve la fin n'est pas rsolue.
La thorie 3 est lourde mais plus propre.
La question des tamis & filtres peut tre traite en supposant un nombre de trous lev, ou mieux un ensemble des trous suffisamment dense ce qui posera la question d'affiner la dfmition des passoires, par exemple l'aide d'une distance intertrous. Voir aussi http://gabuzomeu57.free.fr/pass.htm. 4.10.3 Le modle de Ptolme a t abandonn car moins pertinent que celui de Newton : pour expliquer finesse gale les mouvements de 7 plantes, il faut 7 ellipses chez Newton, 56 orbes circulaires chez Ptolme, modle plus lourd qualit gale. Le modle d'Einstein a t (provisoirement) adopt car pour l'anomalie d'observation du prihlie de Mercure, le modle relativiste explique les 2/3 de l'cart constat entre observation et prdiction newtonienne : d'autre part, il se confond asymptotiquement avec le modle de Newton aux basses vitesses (i.e. aux vitesses infrieures au dixime de la vitesse de la lumire ). Les modles successifs d'un systme forment une suite, dont la convergence vers un modle parfait reste potentielle, la simplicit demande par l'utilit du modle contrecarrant l'exigence de prcision.
Seul 2 est pair et premier. Aucun nombre impair n'a de diviseur pair.
Indications
353
Si n est divisible par un nombre non premier p = q ..., alors il fait partie des nombres divisibles par tout facteur q... de ce nombre. Inversement, un nombre non divisible par q fait partie des nombres non divisibles par les multiples p de q. La nondivisibilit d'un nombre n par un nombre non premier p = q-r est donc assure si la non divisibilit par q (resp. r) l'est. Pour tablir la primalit comme conjonction d'indivisibilit par une suite de nombres, il suffit de l'tablir pour une liste rduite, dont on a limin tout nombre dont on garde les facteurs. Partant de la suite des entiers successifs de 2 m, on montrera par descente rcursive que l'application ritre de ce procd ne laisse subsister que les nombres premiers de 2 m (cf. crible d'Erathosthne). Soit n le nombre, et p un de ses diviseurs ; alors il existe q tel que n = q-p ; si 1 < p < ^/n alors \/n <: q < n, et si ^/n < p < n alors 1 < q <. ^n ; donc, si n admet un diviseur p entre 1 et n, alors n admet un diviseur min(p, n : p) entre 1 (exclus) et ^n inclus. Nb de tests : dfinition initiale : 956 ; 2) 478 ; 3) 162 ; 4) 31 ; 5) 11 ; 6) 15.
5.6.3
Pgcd : dfinition rapide, incluant le cas 0 (dont tout entier n est diviseur puisque n-0 = 0).
5.6.5
Essayer YiKing = C.
5.6.6
Etudier le droulement de Legendre (n, 37) = n-Legendre(n, 36) = ... Montrer par rcurrence que Legendre (n, k) = nk.
5.6.7
On code un entier n avec n + 1 btonnets conscutifs, car zro est ainsi reprsent par un btonnet - ce qui le distingue d'un blanc (ou vide). On suppose la tte de lecture en T, dans l'tat 0 ; on passe tous les blancs jusqu'au premier btonnet droite ; ce premier groupe est form de m + 1 btonnets et le suivant de n + 1 ; en transportant m btonnets du premier au second groupe, il reste 1 et m + n + 1 btonnets, reprsentant 0 et m + n : on conclut en effaant le dernier btonnet du premier groupe, et en arrtant la machine ; le transport d'un btonnet du premier au second groupe est ralis en effaant le dernier du premier groupe, puis en l'crivant dans la dernire case de la zone blanche, en tte du second groupe. La multiplication suppose sur le ruban un premier groupe de m + 1 btonnets (multiplicateur), un second form de n + 1 btonnets (multiplicande) et une grande zone blanche au-del, dans laquelle on installe le produit p en formation en dposant un btonnet isol ; alors, tant que le premier groupe possde plus d'un btonnet, il faut enlever un btonnet de ce groupe, puis ajouter le second groupe au troisime sans dtruire le second ; on ajoutera ainsi m fois le second groupe (valant n) au troisime groupe initialement nul, ce qui donnera dans le troisime groupe m-n + 1 btonnets reprsentant le produit p = m-n cherch.
354
Pour rgler le problme de l'addition non destructive ncessaire la multiplication, il faut reprendre l'addition initiale en remplaant l'effacement d'un btonnet par sa transformation en astrisque par exemple, * devenant la trace d'un btonnet trait ; l'utilisation dans la multiplication supposerait la transformation |->* du multiplicande dans chaque phase de cumul, et une restauration *->| entre deux cumuls. La multiplication est chre, et l'lvation au carr s'inspirera plutt de la mthode de Topler, base sur la formule (n + l)2 = n2 + 2n + 1. 5.7.0 Etudier le droulement de estPremier(ll) et estPremier(49). S'appuyer sur la proprit : tout nombre premier autre que 2 est impair. 5.7.1 Calculer la trace de premier(6) puis premier(9).
Par rcurrence, Cl(k, n) = n! / k ! / (n - k)! = C2(k, n). On montre ensuite que la complexit de Cl(k, n) est en C(k, n), tandis que C2 est de la classe des 0(n - k). La forme C2 est donc beaucoup plus efficace, sauf problme de dbordement pour le produit n-C(k - 1, n - 1 ).
6.8.4
La possibilit de mettre une fonction en table est lie la nature de l'ensemble de dpart : oui si l'ensemble de dpart est fini, et de taille suffisamment petite ; si l'ensemble de dpart est dnombrable sans tre fini, il faut pouvoir btir les valeurs cherches partir d'un ensemble fini de valeurs initiales et de procds d'extrapolation : la fonction est ramene une suite amorce par la table ; si l'ensemble de dpart est continu mais born, on ne peut dfinir que les fonctions suffisamment drivables pour tre entirement dfinies par un nombre fini de valeurs rparties sur le domaine de dfinition, complt par un ou plusieurs procds d'interpolation ;
si l'ensemble de dpart est continu non born, on suppose qu'on peut se ramener au cas prcdent, complt par des procds d'extrapolation, du style f(ax + b) = h(f(x)), exploits sous la forme f(y) = h(f((y - b)/a)).
Soit dfinir exp(x) avec une prcision arbitraire ; on tabule des valeurs pour x e [0 l], et l'on aura par exemple : exp(0,17892) = exp(0,l) exp(0,07) exp(0,008) exp(0,0009) exp(0,00002) = exp[l] exp[17] exp[28] exp[39] exp[42] si on convient que exp[10-i +j] contient exp^-lO"1"1) la prcision demande, ou exp(0,17892) = exp(0,2)/exp(0,02)/exp(0,001)/exp(0,0001) exp(0,00002) qui se contentera d'une table deux fois plus petite. A l'extrieur de la plage privilgie, on s'y ramne par exp(- x) = l/exp(x) et pour les grands arguments par exp(x) = exp(x/2") 2", obtenu en levant n fois au carr exp(x/2") ; ainsi : exp(1000)=:exp(1000/1024)210= ((((((((((2,6553.... 2 ) 2 ) 2 ) 3 ) 2 ) 2 ) 2 ) 2 ) 2 ) 2 ) = 1,97-K)434.
Si table et algorithme sont galement possibles,
la table donne une consultation rapide, moyennant le gel pralable d'une zone mmoire initialiser correctement, indpendamment de son usage rel : surtout intressant pour une utilisation intensive ; sous forme d'algorithme, une fonction ne cote rien au dpart, mais peut se rvler lente calculer : l'algorithme est mieux adapt ^utilisation occasionnelle.
356
Domaine
Sommets
Marquage
Observations
CHAPITRE 8 : CHEMINS & CIRCUITS 8.11.0 Les chemins figurent des suites d'appels imbriqus. Les boucles rendent compte des rcursivits directes, les circuits des rcursivits croises (taille 2) ou indirectes (taille > 2). Le circuit lmentaire de taille maximale passant par un point p correspond la rcursivit indirecte la plus complexe que puisse dclencher p. 8.11.3 1 2 = 3 + 4 + 5 . Une permutation de 12 objets 3 orbes de tailles respectives 3, 4, 5, telle que p = (1 2 3)(4 5 6 7)(8 9101112) satisfait p60 = p car 60 = ppcm(3,4, 5). 8.11.4 Soit C = (P, Q, R) un chemin form de 3 sous-chemins conscutifs. Montrer que ces proprits sont toujours vraies pour Q (par l'absurde), et tendre aux cas (Q, R) et (P, Q). 8.12.1 On rend d'abord le graphe irrflexif (sans boucle). Alors, si C[x, y] dtermine l'existence d'un chemin de x y, C[y, x] dtermine l'existence d'un chemin inverse, et la conjonction, l'existence d'un circuit passant par x et y. Dans cet ordre d'ide, exploiter le vecteur C[x, *] A C[*, x]. 8.12.4 1. Une tche n'a pas se prcder : aucune tche ne doit tre sur un circuit de prcdence, et le graphe form doit tre sans circuit. 2. La fonction ordinale dfinie au paragraphe 8.11.2 existe : on l'exploite sous l'une de ses formes (voir aussi sect. 10.6, prop.10.10). 3-4. En assimilant la dure d'une tche la longueur d'un arc, l'ordonnancement d'un projet et la dtermination de sa dure se rattachent au problme de la recherche dans un graphe du chemin critique ou chemin de longueur maximale, gnralisation du problme de la recherche du chemin de taille maximale, ayant une solution borne puisque le graphe est sans circuit. Le calcul des dates_au_plus_tt dcoule d'un procd direct (procdant du lancement la fin). Le calcul des dates_au_plus_tard applique un procd inverse, remontant de la fin au dbut. On appelle marge la diffrence date_au_plus_tard -
Indications
357
date_au_plus_tt quand elle existe (i.e. hors chemin critique). Ces marges expriment l'lasticit dont on dispose dans l'excution du projet. 5. L'acclration du projet se fait par l'acclration des tches critiques, pour autant qu'elles le restent'. Les conomies se font sur les tches prsentant une marge, tant qu'elles en ont une. L'application de ces procds doit tre incrmentale, pour faire face d'ventuels dplacements du(des) chemin(s) critique(s). 8.12.6 Sherman K. STEIN, Mathematics, the Man-Made Universe, chap. V : Memory wheels, W.H. Freeman & Co Ed., 1969. 8.12.9 a) Une boucle reflte la tautologie A > A. b ) A - > B , B - > C = > A - C a pour reflet aUb A bUc => aUc ; le sorite reflte le thorme dans un graphe transitif, tout chemin de x y correspond un arc de x
y.
8.12.11 L'existence du chemin hamiltonien se montre par rcurrence. Se concentrer sur des tournois 20 ou 50 comptiteurs plutt que 3 ou 4. 8.13.0 Voir thse MACOWICZ. 8.13.2 Chaque personne a en principe un pre et une mre, et donc 2k anctres il y a k gnrations, moins selon le nombre d'unions plus ou moins consanguines. D'autre part, une population stable correspond en moyenne 2 enfants par couple. De Charlemagne nos jours, chaque couple a eu en moyenne plus d'enfants, puisqu'il y a eu expansion dmographique malgr les guerres et les pidmies. Un de nos anctres a donc gnralement plus de 2k descendants la k-ime gnration. Sur un mme nombre de gnrations, le cne des descendants est donc beaucoup plus peupl que celui des anctres.
Suite de l'exercice 8.11.0. Par opposition la fermeture rflexe-transitive, la fermeture transitive de G permet de savoir si une procdure p est rcursive, indpendamment de la taille du circuit de rcursivit, et donc ici comment la compiler. En passant de la fermeture rflexo-transitive de G l'quivalence associe puis son graphe-quotient, on rpartit les procdures en classes, regroupables en niveaux. En posant qu'une procdure qui n'en appelle aucune autre est de niveau 0, on peut dire que toute procdure p n'appelle plus que des procdures de sa classe, ou d'une classe de niveau infrieur s'il y en a. Ces classes correspondent la notion de
En agissant prioritairement sur celles qui seraient communes plusieurs chemins critiques.
358
modules : la rcursivit des procdures est possible en chacune d'elles, mais entre elles ces classes forment une hirarchie. Ces concepts peuvent tre employs pour (re)structurer une application. 9.6.1 Cicuit ngatif : prix / volume / embauche / salaires /prix (1 liaison ngative). Circuit positif : prix / salaires / prix. Ce circuit modlise une volution corrle des prix et des salaires (-> inflation si hausse, dflation sinon). Le circuit ngatif indique que si un march est sujet l'inflation, prix et salaires croissant, les volumes vendus tendent dcrotre (du fait notamment de personnes revenu fixe), freinant les embauches et la hausse des salaires, d'o ralentissement de la hausse des prix, voire baisse des prix et salaires... ce qui pousserait les volumes vendus crotre (du fait notamment de personnes revenu fixe), acclrant embauches et hausse des salaires, d'o hausse des prix... d'o un cycle conomique.
9.6.3
Les fermetures transitives du graphe d'implication en tant que processus, correspondent une exploitation syllogistique des propositions, en tant que rsultats, nous indiquent si q est dductible de p. Sont sur un mme circuit (dans une mme classe) les propositions logiquement quivalentes ; les axiomes sont chercher dans les classes initiales ; les autres classes regroupent des consquences de plus en plus lointaines. Dans le graphe donn, il y a une classe initiale {a, e}, une classe intermdiaire {b, d, f}, et deux classes terminales {c} et {g}. Toutes ces propositions sont quivalentes si c impliquant a ou e, g implique a ou e ou b ou d ou fou c (les rles de c et g tant permutables). Au sens du chapitre 10, il s'agira de rendre le graphe d'implication fortement connexe.
9.6.4
Si les pixels noirs et blancs surgissent de faon alatoire, chacun tant indpendant du prcdent, la longueur moyenne d'une squence blanche est : 1+0,85-(1+0,85-(1+0,85-(1+...)=!/(!-0,85) =6,666... L'observation de squences d'une longueur moyenne de 20 pixels infirme cette hypothse. Un modle markovien deux tats (suite blanche / suite noire) peut expliquer cette longueur. Soit p la probabilit de transition blanc -> noir, et 1 - p la probabilit de maintien dans l'tat suite blanche . La longueur de la squence blanche moyenne est alors : l+(l-p).(l+(l-p).(l+(l-p).(l+...)=l/p=20; soit p = 0,05 et 1 - p = 0,95. La relation p/q = x/y donne q = (85/15)-0,05 = 0,283... et une longueur moyenne des squences noires de 1/0,283... = 3,53 pixels. Supposons maintenant les squences codes l'aide de quadruplets : 1 bit pour la couleur, 3 bits pour la longueur (code 000 111 mis pour 1 8). La probabilit pour qu'une squence noire comporte plus de 8 pixels noirs est 0,7178 = 0,070, et une squence noire sera reprsente ici par 4,3 bits en moyenne.
Indications
359
La probabilit pour qu'une squence blanche comporte plus de 8 pixels blancs est 0,958 = 0,663, et une squence blanche sera reprsente ici par 11,9 bits en moyenne.
Fig. A.2 Modle markovien associ une image noir et blanc, 85% de pixels blancs ; squences blanches de 20 pixels en moyenne.
Une paire alterne de 20 + 3,53 = 23,53 bits en moyenne est ainsi code en moyenne sur 11,9 + 4,3 = 16,2 bits, soit une compression de 31%. Une compression un peu plus importante peut tre obtenue au-del de 4 bits, le gain sur les squences blanches ayant plus d'impact si on garde un format 4 bits (ou mme 3) pour les squences noires.
360
Elments de mathmatiques discrtes 4k + 1, jouez un nombre premier congru 1 module 4 : le nombre luimme s'il est premier, et vous gagnez immdiatement ; sinon, jouez 1 ou 5 ou 13 ou 17 ou 29... 4k + 2, jouez 2, le seul premier congru 2 modulo 4, 4k + 3, jouez un nombre premier congru 3 modulo 4 : le nombre luimme s'il est premier, et vous gagnez immdiatement ; sinon, jouez 3 ou 7 ou 11 ou 19 ou 23 ou ...
EXEMPLES Vous recevez 15, vous ne pouvez conclure, vous jouez 3 (-> 12), ou 7 (> 8) ou 11 (-> 4) ; vous vrifierez facilement que, sauf erreur matrielle, dans ces 3 cas vous avez dj gagn ! de 10 100, appliquez la stratgie gnrale (objectif : rendre un multiple de
4),
au-del de 100, comme 100 est multiple de 4, vous pouvez concentrer votre jeu sur les 2 chiffres de plus faible poids (pour 14 537, on peut jouer comme pour 37) ; vous pouvez aussi utiliser comme acclrateurs quelques grands nombres premiers faciles retenir : 101 et 103, 601 et 607, 991 et 1009, 10 007...
11.7.3 Se ramener un problme de coloration pour R-. On obtient ainsi des clans peuttre amorphes mais sans tension interne. R+ intervient dans un second temps, comme garantie de solidit. Les cliques ont t expressment dfinies par BERGE en rfrence la sociologie des organisations. 11.7.4 3 couleurs suffisent. 11.7.6 Pour les sommets, 2 couleurs suffisent. Pour les autres questions, s'intresser au nombre chromatique a) du graphe unissant les milieux des 12 artes b) du graphe unissant les centres des 6 faces. 11.7.7 Revoir l'exercice 11.7.4. Si complexe que soit la maquette, plane par dfinition, 4 couleurs suffiraient diffrencier les articles. L'quivalent ici est de 4 polices si on ne joue pas sur les attributs, et avec l'alternance romain/italique, 2 polices seulement. 11.8.2 Le rsultat dpend de l'histoire de la partie : le graphe fourni doit tre considr comme le plateau du jeu , et il faut lui associer un autre graphe modlisant l'histoire ou la dynamique du jeu. Un graphe dont les sommets a, ab, abc, abe, abcd, abce correspondraient aux mouvements faits, serait un arbre infini du fait des circuits du graphe initial. On peut se limiter la trace utile des mouvements, et raisonner sur un graphe dont la position de dpart est note a00, qui associe chaque sommet s du graphe initial des sommets <s, i, j> avec i, j e {0,1} o 0 (resp. 1) indique un nombre pair (resp. impair) d'arrives en e pour le joueur correspondant.
11.8.4 Les personnes qui se connaissent sont susceptibles de se montrer vos cartes. Btir le graphe de la relation connat, et considrer que son symtris G reprsente la relation ne doit pas recevoir la mme carte que. Si la couleur c d'un sommet x reprsente le type c de carte postale envoyer x, dire que le nombre chromatique de G est au plus gal au nombre de types de carte disponibles, c'est dire qu'il existe une coloration rsolvant ce problme des cartes postales...
12.12.1 Revoir le chapitre 6. 12.12.4 0 1 = 0 - 2 ne permet pas d'crire 1 = 2 : la simplifiabilit de est limite IR {0}. 12.12.5 Montrer que non : <B,+> > <B, > est un automorphisme (voir aussi chap. 15). 12.12.6 Distinguer le niveau des oprateurs boolens, les comparaisons, les oprateurs des expressions comparables. 12.12.7 L'ide est qu'un programme est une expression d'une algbre des programmes base d'instructions, qui renvoie l'algbre des expressions pour les arguments des procdures et les affectations. La reprsentation arborescente des programmes suppose d'expliciter les squencements figurs par le ; sparateur des instructions dans les langages algolodes, squencement implicite en Fortran.
CHAPITRE 13 : MONODES
13.7.10 Pour //, 0 est absorbant, est neutre, et tout R a (- R) comme symtrique. De plus, R//R = R/2, R//R//R = R/3 ..., d'o P = 3R72 et Q = (R/3)//(-3R/2) = 3R/7. Physiquement, il pourra s'agir de calculs sur des rsistances : 0 dnote un courtcircuit, l'absence de conducteur, les valeurs ngatives correspondent des diples amplificateurs (diodes tunnels...). 13.7.12 Les solutions s'obtiennent en prmultipliant (resp. postmultipliant) membre membre et en utilisant de mme la simplifiabilit gauche / droite. Ex : axa = b - axa-a"' = b-a'' > axe = ba'' > ax = ba'' -> a~'ax = a^'ba"' -> ex = a^ba"' > x = B^ba"'.
13.8.0 Cf. DELEDICQ. 1. La transformation identique ; 2. D est un sous-ensemble stable de 1 ; 3. la composition de 2 anti-dplacements est un dplacement ; 4. i/ une symtrie par rapport une droite est sa propre inverse, ii/ soit 2 symtries si et s2, relatives 2 droites dl et d2 ; selon que dl et d2 sont scantes ou parallle, la composition de si et s2 donne une rotation (y compris l'ventuelle symtrie par rapport au point de concours) ou une translation ; tout dplacement est produit d'une rotation et d'une translation, tout antidplacement, d'une symtrie par rapport une droite et d'une translation... 13.8.2 Considrer chaque dimension M, L, T... comme gnratrice d'un groupe monogne d'lment neutre 1, et de l btir le groupe des signatures dimensionnelles comme produit cartsien de ces groupes, en supposant tous les produits commutatifs. Un groupe de signatures dimensionnelles n dimensions est alors isomorphe <Zn, On, +>. Pour les oprations, en supposant S et S' signatures libres, on distinguera : les oprations multiplicatives : (S,S') > S-S', signatures non contraintes, entre grandeurs de mme signature, les comparaisons comp : (S, S) > B, et les oprateurs +, -, max, min ... de profil (S, S) > S.
La cohrence de l'utilisation d'une procdure gnrique se vrifie en contrlant
si les signatures dimensionnelles effectives l'appel satisfont la contrainte gnrale de cohrence entre sortes pose lors de la dfinition de la procdure gnrique : une procdure effectuant le produit d'une matrice de s par un vecteur de s' pour donner un vecteur de s-s' est utilisable pour un produit de matrices de rsistances par un vecteur de courants, produisant exclusivement un vecteur de rsistances-courants = tensions. 13.9.0 Relire la section 5.5. ou REINHARD. 13.9.2 Abondante production en allemand, notamment Fribourg ; voir aussi : MOORE R.E., Interval Analysis, Prentice Hall, Englewood Cliffs (USA-NJ), 1966. NEUMAIER A., Interval Methods for Systems of Equations, coll. Encyclopedia of Mathematics and its Applications, Cambridge University Press, Cambridge (UK), 1990. 13.9.3 Ce thme est en relation avec : le systme Renard, systme de valeurs industrielles normalises, qui exploite l'ide que logr(rk) = k ; dans ces conditions, les valeurs d'une mme srie Renard forment un groupe multiplicatif rgi par sk-Sn = sk+n, et au plan pratique le rang dans la table d'une valeur v, puissance de r, tient lieu de logarithme (entier, base r) : trouver un produit se ramne trouver son rang en faisant la somme des rangs des oprandes ; les valeurs de r choisies, racines 5e, 10e, 20e ou 40e de 10, fournissent respectivement 5, 10, 20, 40 valeurs de rfrence par dcade (sries R5, RIO, R20, R40) ;
Indications
363
les sries E (E6, El 2...) de valeurs utilises en lectricit, bases sur la notion d'intervalle de tolrance ( 20%, 10%...) ; peut-tre aussi avec la loi de Weber sur la perception, qui note que deux valeurs physiques x et y ne sont perues distinctes/quivalentes que si elles diffrent de 5% au moins/au plus.
Le casse-tte, c'est l'image de l'addition ct tailles. En gnral, x + y = x-(l + y/x), et on peut traiter l'addition ct taille comme la correction de la plus grande des tailles. Le correctif (le nombre de tailles ajouter la taille de x), fonction de l'altration y/x, reprsente par le nombre de tailles entre x et y, est forcment grossier, et d'autant plus que la raison est grande. L'associativit ne peut tre garantie. Si <+> dsigne l'addition calcule par les tailles, il faut s'attendre ce que l'valuation de (K+>l/q)<+>l/q donne un rsultat plus faible que !<+>(l/q<+>l/q), si 1/q est <+>-ngligeable devant 1 sans que 2/q le soit.
CHAPITRE 14 : DIODES
14.12.1
Hlas, on n'a pas en gnral (a // b) + c = (a + c) // (b + c). Donc <R, , 0, //,+> n'est pas diode ! 14.12.4 D = <R+, +, min, 0, o>. h ne peut pas recevoir plus de 44 m3/s, du fait de la saturation de dh ( 26) et eg ( 18). 14.13.2 Supposer transitif le graphe topologique (i.e. ds que le chemin (x,y,z) existe, une corde (x, z) existe). 14.14.1 Une thorie des relations gnralise renvoie-t-elle ncessairement des ensembles de vrit totalement ordonns ou tout au moins structure de treillis ? Les diodes permettraient-ils d'exploiter d'autres systmes de valeurs qualifiant des tuples ? Une thorie des relations gnralise doit-elle renvoyer une logique non standard bien tablie, ou peut-elle se contenter de cadres plus faibles tout en restant productive ? S'attacher la question de savoir si les relations sont combinables l'aide d'un diode, de prfrence idempotent ; considrer par exemple la logique de Lukasiewicz Ln, qui suppose une chelle de vrit n valeurs distinctes, la logique floue de Zadeh, avec [01] comme chelle de vrit, les logiques floues de Chang, les logiques floues au sens de Goguen, ayant un treillis comme ensemble de vrit, de l, d'ventuelles logiques multidimensionnelles, ayant un n-uple pour valeur de vrit (ex : un 4-uple aux champs tels que : degrs de vrit esthtique, conomique, politique, morale).
364
n'a pas d'importance. Le multiplicateur est symtrique en x et y d'une part, en a et b d'autre part : son graphe est similaire celui de l'additionneur si les variables sont groupes en (x y) et (a b), et s'en loigne sinon. CHAPITRE 16 : ALGEBRES DE KLEENE ET AUTOMATES A ETATS FINIS 16.7.1 Dfinir un chemin de transition marqu a, b, b, c, c, c, puis ajouter chaque sommet les arcs correspondant aux autres cas de figure. Ou procder par drivation de (a + b + c^-abV. 16.7.2 En affectant une entre a aux minutes avec appel, et s aux minutes sans, il s'agit de dfinir l'automate associ (aaa + aasa + asaa + aassa + asasa + assaa) puis (aa + asa + saa). 16.7.3 Pour casser le code, la premire opration sera probablement d'tudier en quoi la distribution des chiffres s'carte d'une distribution uniforme ; observera-t-on ici une proportion convenable de chiffres, d'abord entre les 0-5 et les 6-9 ? Pour simplifier, raisonner sur un message type correspondant 1000 caractres. 16.7.5 Amlioration des performances : une analyse markovienne de la langue des textes transmettre permettrait de minimiser les changements de ligne de la table, qui imposent une insertion du prfixe de la nouvelle ligne.
16.8.0 Utiliser un modle de Moore, sur la base action = sortie, puisqu'on ralit une action reviendra l'mission de signaux vers un rseau combinatoire ou un automate complmentaire auquel les dtails de la phase sont dlgus, l'attente d'un signal de fin. On pourra codifier les actions l'aide d'affectations, M[14] dsignant le contenu de la mmoire 14. 16.8.2 Traiter par exemple une expression rgulire X = Ee + Ff + Gg, o e, f, g sont des signaux de sortie valant diagnostic. 16.8.3 Ne pas oublier de dfinir les autres entres propres au systme (porte de cabine ouverte/ferme, franchissements). 16.8.4 Dans ces deux codes, deux combinaisons adjacentes ne diffrent que par un bit. En frontire de secteur, il peut y avoir une imprcision, mais il ne peut donc pas y avoir d'ala, combinaison intermdiaire signification errone introduite par la dsynchronisation du basculement de certains bits : de 0111 1000 rputs adjacents, 4 bits devraient basculer simultanment ; si un bit bascule d'abord, on obtient titre transitoire 1111 ou 0011 ou 0101 ou 0110 puis le basculement d'un second introduirait 1011, 1101, 1110... ces combinaisons pouvant dvier au vol le fonctionnement prvu, et fausser le diagnostic voire l'alarme. 16.9.1 Le code Baudot comprend 3 0 + 2 codes : 2 codes de contexte lettre/chiffre, et 30 codes simples, ce qui permet de fait 60 combinaisons ; avec 5 bits, supposons p codes de contexte et (32 - p) autres codes : on peut coder ainsi p-(32 - p) combinaisons, dont le maximum est 256 pour p = 16. 16.9.2 Un principe similaire peut tre appliqu en reconnaissance automatique de la parole, o la reconnaissance des phonmes est souvent ambigu pour le phonme isol, ambigut leve progressivement sur des squences, l'identification ayant le plus souvent l 3 phonmes de retard sur l'acquisition. 16.9.3 Suite de l'exercice 16.7.4. Pour une nasale, diverses critures actuelles mnent au mme symbole chez Queneau. Le cas inverse suppose d'autres indications (contexte, tymologie) qui risquent d'excder les moyens d'un automate tats finis classiques (pour le problme similaire rencontr en reconnaissance automatique de la parole, on a prconis des automates flous exploitant l'impossibilit de certaines successions de phonmes dans une langue donne pour lever les ambiguts locales). 16.9.4 Permet de raliser les automates complexes par composition d'automates simples (ex : le squenceur de processeur du problme 16.8.0 pourra dlguer un automate spcialis l'excution dtaille d'une phase).
INDEX
#
v ................................................12-15 3 ., ................................................12-15 3!.. .............................................92,239 .......34, 58, 225, 227, 228, 231-236 ().. ..41, 42, 67, 131, 134-136, 145-151 [].. ( ) . ................................................21-35 ..215,216,300-304 *(dualit)....... '"(expansion).. .140,171,251,323 // ................... ...........86,240,257 ..........................105 112,115 =0.. .........115 =o... .........115 =0.. ..........................................44,129, 140 ...........................................................31 .................................................207-209 .........................................................186 .247-255,263-267, 322-325, 329,331 ................................................298,299 .................................................193-196 .........................................................186 .........103, 255, 263-267, 322-325, 329 ...........................6,9-11, 14-15,70,86 ..........................................28,133,313 ..................................3,5,55,238,313 .........................................................121 .........................................................231 ->..... 3-15, 53, 99-103, 237, 254, 255, 313 i ............................................................236 ........................................................46,47 o ..............................................................57 s ..............................................................21 ~ ............................................................324 == ........................................................72,83 I ...................................................4,22,72 | | .............................................................21 91 ..................................................44, 46-47 (p ...............................................25, 44, 214 0 ........................................................35,59 (somme).... 206, 209, 249, 286, 309-313 (expansion)......................... 171, 252, 323 ...................................22,313 ...................................27,313 ...................................26,313 ............................................23 ............................................24
LJ ..................
c .........................................23,46,71,313 e .............................................................21 e. .............................................................21 ...........3,6-15,302,303,313 3-15 302 303 313 ...............3-15,302,303,313 <=> .................. ........................................5-14 .......................4-14,254,255
A
absorption...................................... 236, 304 abstraction ...................................8, 22, 254 absurdit..................................6, 11, 14, 17 accepteur........................................ 321, 331 accessibilit........................................... 176 additionneur binaire.............................. 314 complet............................................. 314 adjonction................... 3-14,17, 339, 341 affinogrammes....................................... 277 aide la dcision............................... 80, 81 algbre de Boole.....................................282-313 de Kleene...................................322-325 des chanes........................................ 322 des relations....... 44-47, 67-85, 171-178 des types ........................................... 260 algbre formelle.................................... 225 interprtation..................................... 226 algbres de termes................................. 226 algorithme de Dijkstra-Moore............................ 156 de Kruskal......................................... 189 de Legendre.... 111, 112, 145, 146, 149, 269,270 algorithme-glouton.......................... 40, 155 alliances de ncessit ............................ 277 alphabet..........................................254, 322 analogie.............................................. 85, 87 analyse dimensionnelle......................... 259 analyseur................................................ 321 anctre.................................................... 140 anneau............................................ 264, 268 de Boole....................................264, 310 annexion d'indfinis.............................. 299 antcdents.......................................... 4, 13
368
Elments de mathmatiques discrtes .302,308,312 d'ordre 0 .... .................193 base de cycles. .................290 base premire.. .................290 complte.. de cot minimale Voir minimale in-edondante.............................. 290, 293 minimale........................................... 290 bases de donnes relationnelles...... 60, 216 bijection ........................................55-58, 75 boucle ..............................68,129, 141, 319
antisymtrie..............................................69 antitonie........................................... 75, 283 appartenance un ensemble....................21 application..........................................53, 56 bijective .........................................55, 75 de A vers B..........................................53 de marquage des arcs............... 135, 265 multivoque.................................. 53, 129 surj crive.............................................75 arborescence..................118,187, 197, 198 arbre........ 92, 118, 128, 183,187, 189-191, 197, 198 binaire de dcision ............................306 couvrant.............................................188 (de cot) minimal................. 189, 190 arc(s).................................... 68, 129,139 arte ..................................................69, 134 arit d'un oprateur...................................223 d'un prdicat.......................................13 d'une fonction .............. 13, 61, 225, 237 d'une relation ......................................60 fixe............................................ 232, 233 variable..................................... 231, 233 arithmtique rationnelle......................... 106 associt! vite................................... 227, 231 droite...............................................231 gauche.............................................231 asymtrie..................................................69 automate (multi)graphe de transition ..............320, 329-331 tats finis................317, 321, 328, 333 nombre fini d'tats Voir automate tats finis accepteur................................... 321, 331 analyseur............................................321 asynchrone.........................................319 classifieur..........................................321 gnrateur................................. 321, 331 minimal..............................................176 non dterministe................................331 ralisation logicielle..........................320 ralisation matrielle.........................319 synchrone ..........................................319 traducteur.................................. 321, 331 automorphisme.............................. 238, 283 axiome....................................................226
C
C Voir ensemble des complexes calcul aveugle........................................ 271 calcul en intervalles......................... 90, 260 calculabilit............................................. 95 caractrisation d'un oprateur.............. 228 cardinalit........................21, 55, 58, 59, 63 carr latin............................................... 248 catgorie ................................226, 227, 312 ceinture du cube.................................... 287 centre d'un graphe................................. 186 cercles gnraliss................................... 64 CG(n) Voir corps de Galois chane..................................... 183, 189, 191 chane de finessse entre partitions.......... 34 champ smantique................................. 272 changement de membre........................ 312 chemin ................................... 139, 176, 183 critique...................................... 151, 166 de cot minimal........................ 151, 152 de longueur maximale.............. 151, 152 de longueur minimale........ 150, 155-157 de taille minimale..................... 150, 153 de taille n .................................. 139, 145 lmentaire......................... 141-143, 148 eulrien............................................. 162 hamiltonien....................................... 161 le moins cher Voir de cot minimal le plus court Voir de longueur minimale le plus simple Voir de taille minimale sans circuit........................................ 141 sous-critique..................................... 151 choix multicritre............................... 80-83 circuit............................................. 141, 172 de taille n .......................................... 141 lmentaire........................................ 142 eulrien............................................. 162 hamiltonien............................... 161, 162 circularit de dfinition...................................... 100 d'une relation binaire interne............. 86 classe...................................................... 227 de compatibilit................................ 201
B
B Voir ensemble des boolens base clausale.................................. 301, 302 irredondante.......................................303 minimale............................................303 premire.................................... 302, 303 base de connaissances............................300
Index de complexit....................................115 de connexit ............................. 184, 185 d'quivalence ......................................74 d'tats........................................ 174-177 classification arborescente.........................................34 par analogies et diffrences....... 88, 217 classifieur...................................... 321, 335 clause..................................... 300, 302, 303 canonique ................................. 300, 301 premire.............................................302 premire inutile .................................302 premire obligatoire..........................302 premire redondante .........................302 premire utile ....................................302 rsolvante ..........................................301 cl de parit............................................311 clique.................72, 73,131, 208, 215, 360 code DCB...................................................297 de Preeman............................... 258, 277 de Gray..................................... 167, 289 dtecteur ou correcteur d'erreurs.......63, 265 Johnson..............................................297 NaN............................................. 53, 103 pondr..............................................297 satur....................................................54 commandabilit...................................... 176 commutateur..........................................251 commutativit .......................227, 240, 251 compilation ............................................256 complment d'un ensemble...................... 28, 29, 313 d'une relation..................................... 133 d'un graphe........................................133 complexit...................................... 112-117 d'un calcul matriciel .........................124 d'un tri............................................... 124 d'une recherche en profondeur......... 159 d'une recherche par niveaux .............154 d'une reprsentation.......................... 123 comportement....................317, 321-328 comportement asymptotique........ 112, 116 comportement fin................................... 174 composante connexe..................................... 184, 185 fortement connexe.................... 185, 196 composition ...............................57 de fonctions .............................250 de groupes .. 46,47,57,146, 147, de relations. 171, 247 composition rcursive............................ 100 concatnation ........................ 251, 252, 264 concatn de 2 langages ........................254
369 condition ncessaire............ 15-17, 30, 339 condition suffisante....................15-17, 339 conditionnelle de McCarthy ................... 99 cne de descendance............................. 171 confluence de traitements............. 195, 213 congruence modulo k............59, 72, 74, 89 conjonction......... 3, 5, 8, 10, 12, 14-16, 27, 302-303,313,339 connecteur ......................................3, 12-14 connexit ............... 171, 183-185, 191, 192 forte...................................184, 185, 196 consensus...................... 237, 290-292, 294, 301,303 consquent........................................... 4, 13 contradiction.................6, 9-11, 14-17, 339 contraposition..................6, 10, 11, 16,248 contrle smantique des programmes.. 260 contrles................................................ 237 corde d'un chemin................................. 139 corps...............................................265, 268 de Galois................................... 265, 310 fini..................................................... 265 correspondance univoque....................... 51 courants fictifs de Maxwell.................. 195 couverture........................................ 29, 305 finie.....................................................30 irredondante..30, 33, 293-295, 298, 299 optimale ......................................30, 295 croisement virtuel.................................. 313 cryotrons................................................ 284 cycle.......................................................184 eulrien............................................. 191 hamiltonien....................................... 191 sans circuit........................................ 184
D
dates
au plus tard ....................... .166,275 .166, 275 au plus tt.......................... dcidabilit............................ ...........95 ......80-83 dcision multicritres............ dcomposition canonique d'une relation n-aire................................................... 60 dduction.............................. 5, 7-11, 14-15 dfinition rcursive ............................... 100 convergente....................................... 101 divergente................................. 101, 102 stationnaire....................................... 102 degr d'un sommet (graphe)................. 130 demi-degr extrieur Voir sortance intrieur Voir entrance demi-treillis ...............78, 89, 253, 256, 298
370
Elments de mathmatiques discrtes double implication........................... 3, 5, 16 double ngation......................................... 6 duale d'une fonction boolenne............ 300 dualit.............................................. 14, 283 d'hypergraphes................................. 215
.4,7-11,14,15 dmonstration..... ..........209,300 automatique... ....................5,7 locale.............. ........................6 par l'absurde.. ...........231-234 dparenthsage... ...........121,327 drcursivation... drivation au sens d'une grammaire .....254 drive au sens de Booth.......................328 drive d'une expression rgulire ......328, 329 descendance.................................. 171, 172 descendant.............................................. 140 dtachement.................. 5, 8, 9, 14, 15, 339 dveloppement.......................................236 diagramme de dcision binaire ............................307 de Veitch-Kamaugh......... 289, 294, 299 de Venn................................................24 d'Euler.................................................22 en losange......................................71, 79 sagittal .............................42-43, 67, 257 diamtre d'un graphe.............................186 dictionnaires multilingues .................64, 65 diffrence ensembliste.......................28, 29 diffrence symtrique de 2 ensembles ...3l, 32 dimension...............................................259 d'une relation n-aire................... 59, 216 diode.....263, 264, 266-270, 273, 275, 277 finiment engendr .............................263 idempotent.........................................264 simplifiable........................................264 diple......................................................283 disquations............................................211 disjonction Voir adjonction distance.....................................................62 vol d'oiseau ......................................62 dans Rk.................................................62 de Hamming............... 63, 167, 217, 286 de Manhattan.......................................62 discrte.................................................62 entre relations.................................... 180 euclidienne ..........................................62 ultramtrique .................................85, 88 urbanistique.........................................62 distributivit.................................. 236, 301 mutuelle...................................... 28, 282 divergence............................. 101, 195, 213 divisibilit........................67, 68, 71, 76, 78 documentation automatique bruit....................................................272 champ smantique.............................272 vocation .................................. 272, 273 silence................................................272 domination .........................................80, 81 double dualisation..................................304
E
cart entre deux sommets...................... 185 cartement d'un sommet....................... 186 chelle..............................................76, 202 lment absorbant........................................... 229 d'ordre n dans un groupe ................ 250 finalement priodique...................... 246 idempotent........................................ 230 involutif............................................. 229 k-priodique...................................... 246 majorant.............................................. 77 maximal.............................................. 77 minimal...............................................77 minorant.............................................. 77 neutre ........................................229, 247 rgulier Voir simplifiable simplifiable............................... 230, 248 lments quivalents.......................................... 72 remarquables............. 228-230, 240, 263 emploi du temps..............................64, 210 endomorphisme..................................... 238 nonc.................................................. 3, 13 compos....................................3, 12, 13 lmentaire.............................3, 4, 11-13 universellement vrai............................. 8 nonciation de chemins......... 153, 159, 265 ensemble.................................................. 21 d'articulation............................. 190, 216 d'arcs........................................... 68,129 d'attributs............................................ 61 de cardinalit n ............................. 21, 58 de formes normales.......................... 239 de gnrateurs...........251, 259, 263, 322 de points...................................... 68,129 de procdures.................... 164, 165, 179 de renseignement.............................. 278 de sommets.................68,129, 214, 216 de tches ................................... 151, 166 de valuation .............................. 135, 265 dfini en comprhension.................... 22 dfini en extension ............................. 21 dnombrable............................... 58, 251 des applications de A dans B............. 53 des boolens................................ 23, 282 des complexes..................................... 23 des entiers naturels..................... 23,104 des entiers signs........................ 23,104 des tats internes....................... 174, 317
Index des fonctions f de X Y .....................89 des fractions ......................................105 des isomtries....................................258 des morphismes................................. 238 des nombres premiers......................... 17 des parties d'un ensemble...... 25, 53, 78 214 des positions non perdantes..............204 des prdcesseurs..................... 130, 140 des rationnels.............................. 23, 105 des rels...................................... 23, 106 des rgles d'une grammaire..... 254, 321 des relations de A B ...................44, 47 des relations reflexives .......................78 des relations sur un ensemble.............78 des rotations ............................. 249, 258 des squences bties sur A....... 251, 252 des successeurs......................... 130, 140 des translations......................... 249, 258 fini........................................... 33, 55, 58 inclus au sens large .............................23 inclus au sens strict .............................24 optimal au sens de Paretto ..................81 rcursif............................................... 103 rcursivement numrable................ 103 redondant.................................... 30, 293 rfrentiel ............................................24 symtris d'un autre ensemble .........104 vide......................................................22 ensemble-quotient attach un preordre.................. 83, 173 attach une quivalence ...................74 ensembles de mme cardinalit......................21, 55 disjoints...............................................27 identiques ............................................21 remarquables.......................................23 entier quadrat frei.....................................89 entrance................................. 130, 169, 195 pimorphisme.........................................238 quation boolenne ......................... 308, 309, 312 dans un diode........................... 322-326 dans un groupe ..................................249 linguistique................................ 322-326 quit d'un tournoi.................................192 quivalence ..............................................72 associe un prordre.........................83 associe aune relation ......................172 attache une application...................74 attache une partition .......................74 d'automates.......................................318 logique............................5, 21, 180, 312 espace des critres....................................81 essais et erreurs............................. 158, 159 estimation de la complexit........... 112-114 estimation de la dure................... 113, 118
371 d'accs.............................................. 122 estimation des besoins en mmoire..... 114, 118, 122 tape....................................................... 212 tat stable............................................... 319 valuation de droite gauche............................. 231 de gauche droite............................. 231 d'une expression postfixe............... 235 partielle d'une fonction .............62, 100 vocation .......................................272, 273 volution long terme.......................... 177 existence de chemin.............. 148, 153, 159 de taille k .......................................... 145 expansion de Kleene............................. 323 expression...................................... 224, 225 conditionnelle..................................... 99 postfixe............................................ 233 postfixe au plus tard....................... 234 postfixe au plus tt......................... 234 prfixe............................................. 232 rgulire............................................ 324 smantiquement bien forme........... 225 syntaxiquement bien forme............ 224
F
IF Voir ensemble des fractions factorisation........................................... 236 faisceau de chemins .............. 153, 266, 272 fermeture rflexo-transitive..........171-174, 177-180 fermeture transitive....................... 171, 179 feuilles ...........................................118,187 figure de Kuratowski............................. 131 finesse entre couvertures................................ 29 entre partitions.................................... 34 entre relations..................................... 46 flche............................................... 68,129 fonction antitone ............................................... 75 blinde............................................... 103 calculable............................95, 100, 102 compose............................................ 99 de A sur B........................................... 54 de Fibonacci........................16, 117-121 de Grundy ..........................202, 203-208 de marquage d'arcs .......................... 265 de transition...................................... 317 d'intrt............................................... 82 lmentaire.......................................... 98 en programmation .............................. 52 valuation partielle..................... 62, 100 gnralise.......................................... 61 inversible ............................................ 54
isotone................................................. 75 monotone.............................................75 non calculable .....................................95 ordinale (pour un graphe)....... 164, 166, 187,188 partielle................................................53 partiellement calculable......................95 plafond / plancher ...............................52 projection.............................................98 pure......................................................52 rcursive............................................ 100 rcursivement calculable ....................96 semi-calculable.................................. 103 successeur................................... 98, 104 surjective .......................................53, 54 fonction boolenne aiguillage...........................................284 auto-duale................................. 300, 313 ceinture du cube ................................287 comme produit de sommes...............300 comme somme de produits...............288 de 2 variables.....................................286 duale..................................................300 duplex....................................... 284, 305 incomplte................................. 297-299 premire forme canonique................287 seconde forme canonique .................301 synthse arborescente .......................306 trs incomplte ..................................305 troisime forme canonique ...............311 fonctionnement global........................... 174 fonctions boolennes duales par paires .................................. 300, 313 force d'vocation.......................... 272, 273 fort...................................................... 187 formalisation des noncs..........................................12 des propositions.....................................3 des termes............................................ 12 forme canonique ................... 239, 240, 277 premire forme boolenne.. .287 seconde forme boolenne... .301 .311 troisime forme boolenne. .330 forme close............................... .239 forme normale.......................... fraction ..................................... .105 irrductible.......................... .105 .105 rduite.................................. frange......................... .144,145,155-157 fraternit universelle. ..................86,277
G
gnrateur......250, 251, 263, 321, 322, 331 gerbier ........................................... 264, 270 absorbant...........................................268 fini......................................................268
germe d'un langage............. .....................255 d'une dmonstration. .................4,7,9 d'une thorie............. .....................226 graf cet............................ ..............212-214 grammaire...................... ..............254-256 ambigu..................... .............255,330 de classe 2................. .....................327 dclasse 3................. .....................321 de Kleene.................. .....................321 formelle..................... ..............254-256 linaire droite............ .....................321 linaire gauche.......... .....................321 linaire unilatre....... .....................321 graphe............................ . 42, 67,129-144 biparti........................ .....202,212,215 canonique.................. .....................307 complmentaire........ .....................133 complet..................... .....................131 connexe..................... .............184, 185 d'appel inter-procdures ..164, 165, 196 d'implication............................. 180, 358 de structure ............................... 195, 196 de transition............. 175-177, 320, 322, 328-331 fortement connexe.................... 184,185 inverse............................................... 134 in-flexif.................................... 133, 202 k-arte-connexe........................ 191, 192 k-connexe.................................. 191, 192 marqu.............................................. 265 multifonctionnel............................... 307 multiparti.......................................... 201 multivalu................................. 273, 284 orient....................................... 129, 183 partiel........................................ 131, 189 p-chromatique............................207-211 reflexif............................................... 133 sans circuit...... 151, 152, 154, 187, 188, 204,267, 356 sign.................................. 178, 277, 278 squelette.............................................. 71 symtrique ..................69,134, 183, 184 topologique....................................... 266 transitif...................................... 134, 139 valu..........................l35, 186, 265, 266 V-rflexif.......................................... 269 graphe-quotient............141, 142, 168, 173, 176,177 groupe.....................249-251, 256-259, 264 4 lments.............................. 250, 251 ablien ou commutatif...................... 251 additif................................................ 249 cyclique d'ordre n............................. 250 de Klein.....................................250, 251 des isomtries................................... 258 des permutations............................... 257 des signatures dimensionnelles........ 259
monogene..... multiplicatif..
..250 ..250
L
labyrinthe....................... 139, 155, 158, 159 langage............................................254-256 ambigu.............................................. 255 de classe 2........................................... 38 engendr par une grammaire............ 255 formel................................................254 liste d'adjacence.................................... 132 liste rduite.............................................. 81 logique des prdicats ..................................11-15 des propositions.......................3-11, 312 d'ordre 0 Voir des propositions d'ordre 1 Voir des prdicats longueur du plus court chemin.................. 62, 270 d'un chemin.............................. 150, 155
H
heuristiques................................... 116, 160 hirarchie............... 101, 187, 188, 196,203 homomorphisme Voir morphisme hyperarte.......................................214-217 hypergraphe............................214-216, 219 hyperonyme............................................ 272 hyponyme...............................................272 hypothse ................ 6-11, 15, 16, 339, 340 du monde clos ...................................312
idempotence......26, 27, 147, 228, 245, 264 282,322 identit de deux ensembles......................21 impasse.................................. 255, 264, 265 implication ...3-15, 180, 303, 313, 339-341 impossibilit dans une quation boolenne... 308, 309 inclusion large....................................23, 24 inclusion stricte..................................24, 25 indtermination dans une quation boolenne... 308, 309 indicateurs de robustesse.......................192 indice de complexit...................113, 114, 150 de cot.............................. 150, 288, 292 indiffrence........................................ 81-83 inf-demi-treillis.........78, 89, 253, 256, 298 injection............................... 54, 56, 64, 347 interclassement.......................................124 interdits lmentaires.............................303 interprtation d'une algbre formelle.... 226 intersection d'ensembles.........................................27 de relations............................. 46, 47, 78 intransitivit .......................... 15, 70, 84, 85 involution................6, 11, 14,45,227,283 d'un oprateur unaire........................ 227 irrflexivit............................ 15, 69, 84, 85 isomorphisme................................ 238, 243 isotone......................................................75 isovalence...........................................74, 81 isthme............................................ 191, 192
M
machine de Turing .....................96-98, 107 majorant d'un sous-ensemble................. 77 majority gate Voir oprateur boolen maj marge..................................................... 275 marquage d'arcs.................................... 265 marque d'absence.......................... 265, 266 matrice caractristique d'une relation......41, 67, 278 d'adjacence....................... 131, 132, 192 d'nonciation............................ 136, 192 des dbits .................................. 135, 276 des distances..................... 135, 270, 274 diagonale par blocs............... 72, 73, 172 d'incidence................................ 132, 192 maximum d'un ensemble ordonn..... 77 membres d'un ensemble ...........21, 37, 201 mtaphore du labyrinthe....................... 139 mtathoreme............................................ 7 mthode des consensus..........290-292, 301 minimum d'un ensemble ordonn...... 77 minorant d'un sous-ensemble................. 77 modle de Mealy........................................... 317 de Moore........................................... 318 de tautologie ......................................7-9 d'une algbre formelle..................... 226 linguistique............... 254-256, 317, 321 modlisation ..............69, 93, 193, 254, 283 monode..................245, 246-249, 251-253 additif................................................246 commutatif........................................ 263 de composition ......................... 245, 247 finiment engendre............................. 251 monme canonique....... 287-290, 306, 307
J
jalousie universelle ......................... 86, 277 jeux sur un graphe.......................... 204-207 jointure de relations n-aires .....................61
374
Elments de mathmatiques discrtes absorbant......... 236, 282, 293, 310, 322, 325 associatif....... 26, 27, 46, 227, 231, 240, 245,282,310 binaire....................................... 223, 224 commutatif... 26, 27, 227, 240, 248, 251 263 distributif.... 28, 46, 236, 263, 282, 310, 322 externe............................................... 223 fondamental...................................... 240 htrogne......................................... 224 idempotent... 26, 27, 228, 245, 264, 282 322 interne............................................... 223 involutif.....................................227, 283 secondaire......................................... 240 simplifiable.......................228, 248, 310 stable................................................. 224 ternaire......................................223, 224 unaire........................................ 223, 224 oprateur boolen aiguillage.......................................... 284 duplex............................................... 284 et ......................................282, 297, 310 maj(orit).......................................... 313
nand Voir on
monme premier...289, 290, 293, 294, 304 inutile.................................................293 obligatoire..........................................293 redondant...........................................299 utile....................................................293 monotome............................................75 morphisme..................................... 237, 238 bijectif................................................238 injectif................................................238 subjectif.............................................238 multigraphe........................... 192, 215, 320 multiplicateur binaire.............................314 complet..............................................314
N
N Voir ensemble des entiers naturels ngation............................3, 6, 9-12, 14, 15 involutive............................................. 10 neurones.................................................297 noeuds ....................................187, 194-196 nombre algbrique.......................................... 106 chromatique............................... 207-209 cyclomatique............................. 193-196 deconnexit ......................................185 de Fibonacci........................ 16, 117-121 de termes Voir arrit entier naturel...................................... 104 entier sign........................................ 104 premier........................... 17, 78,106-107 quadrat-frei.......................................... 89 rationnel............................................. 105 rel.....................................................105 transcendant....................................... 105 virgule flottante.......................... 53, 106 non-contradiction.......................... 3, 10, 23 non-dterminisme..................................331 non-rflexivit..........................................69 non-symtrie ............................................69 non-transitivit..................... 70 notation infixe................................................224 polonaise Voir prfixe polonaise inverse Voir postfixe postfixe ............................224, 233-236 prfixe..................................... 224, 232 puissance ...........................................246 RPN...................................................233 notion.....................254, 321, 322, 329, 330 noyau d'un graphe........................ 204, 206 n-uples...............................58, 59, 273, 274
ni ..............................................296,297 non...... 282-286, 296, 300-305, 309-313 on ..............................................286, 296 ou .........46, 47, 147-149, 227, 228, 236,
263,282-288, 296, 297,300-305,
0
oprande.. oprateur..
..................................225 . 223-225, 240, 245, 263
308-313 ou exclusif..................................310-313 optimisation progressive....................... 161 orbe d'une permutation......................... 164 ordonnancement...........137, 138, 151, 164, 166-167 lexicographique................................ 240 ordre d'inclusion................................23-25, 78 d'un groupe fini................................ 250 de contenance................................... 264 de divisibilit ..............67, 68, 71, 76, 78 de finesse ........29-30, 33, 34, 46, 71, 78 de prcdence .....................86, 151, 253 de prfixation.................... 246, 253, 282 de ralisabilit................................... 298 du dictionnaire Voir ordre lexicographique entre ensembles .............................23-25 induit sur des tuples................76, 77, 80 induit sur l'ensemble-quotient attach un prordre............ 83, 84, 173-175 large ............... 23, 75, 85, 246, 253, 298 lexicographique....................77, 86, 253 linaire................................................ 76 dfinition.............................................75
Index partiel............. .......75, 79,253, 291, 298 strict............... .25,76, 85,164, 246, 289 total................ ........................75-77, 253 unanime......... ..........................76-77 ,80 organigramme.... 325 orthant................ 77 outil logique universel........................... 313 314 outils fentre.... 297, 314 outils seuil.......
P
375 priorit entre oprateurs........................ 232 problme................................................ 139 aux diodes................................263, 271 des 4 couleurs........................... 208, 209 des ponts de Knigsberg.................. 163 du facteur chinois............................. 163 du reprsentant de commerce, du VRP......................................... 162 eulrien............................................. 162 hamiltonien....................................... 161 processus de Markoff.................... 177, 180 production.............................................. 254 ambigu............................................. 255 linguistique....................................... 254 terminale vide................................... 255 produit cartsien de 2 ensembles.................................... 35 gnralis............................................ 59 produit terme terme.............................. 47 produit de clauses...........................300-304 profil d'valuation................59, 61, 80, 84, 91 d'un oprateur................................... 223 profondeur de rcursivit......114, 118, 119 programme structur ......................325-327 projection d'une relation n-aire.............. 60 proposition.......................13, 302, 303, 313
paires ordonnes ......................................34 palindrome .............................................324 paquet de rgles ............................ 312, 322 parenthse......225, 227, 231, 232, 234, 322 partition.............................................. 32-34 attache une quivalence ...........73, 74 discrte...........................................32, 34 d'un ensemble ...............................32, 33 universelle .....................................32, 34 pav numrique......................................259 permutation ............................. 55, 164, 257 p-graphe Voir multigraphe physique qualitative...................... 178, 278 pige dans un jeu .......................... 206, 207 pilotage d'une recherche en profondeur 160, 161 plage d'arrt.................................. 101, 102 plan d'action...........................................139 point............. 22, 42, 68, 128, 129, 287-295 critique........................................ 31, 295 d'articulation.................... 128,190, 191 fixe d'un oprateur........... 228, 239, 324 politiques..................................................82 posynmes..............................................115 prcdence entre tches.......... 86, 151, 164 prcdence lexicographique ..................213 prdcesseur...........................................130 au rang k............................................ 140 prdicat.............. 11-15,22,41,44,95, 107 atomique..............................................15 calculable.............................................95 partiellement calculable......................96 prfixe commun .....................................246 le plus long........................................253 prordre...............................79, 80, 85, 172 de complexit....................................115 de domination......................................80 de prfixation ....................................245 prordre induit par une fonction ..................................80 par une notation...................................80 prordre le plus fin majorant une relation........................................172 preuves d'un calcul.................................237
proprit................................................... 13
caractristique d'un ensemble............ 25 faible/forte ...................... 135, 184, 185 gnrique............................................ 25 spcifique............................................ 25 typique................................................ 26 pseudo-associativit...................... 231, 232 puissance du continu............................. 106
Q
Voir ensemble des rationnels quadrant........................ quadrat-frei................... ...........................89 quadriple..................... .........................283 quantificateur................ ......................12-15 V ............................. ......................12-15 3 ...................................................12-15 3! ............................. ...........92,239,352 quasi synonyme............ .........................272 question dcidable.................. ..........................95 semi-dcidable......... ...........................96 questionnaire................ .........................187
R
IK Voir ensemble des rels racine
376
Elments de mathmatiques discrtes inverse............................... ..................45 liste de coupes.................. ..................42 nulle ou vide..................... ..................44 prfixe.......................245, 246,253,282 ..................51 totale.................................. ............52,53 universelle ou complte ..................... 44 ... vecteur de vrit................................. 42 vrit............... ..................42 relation binaire interne...... 41, 67, 129, 133 antisymtrique.............................. 69, 84 asymtrique................................... 69, 84 catgories............................................ 85 circulaire............................................. 86 d'quivalence................................ 72, 85 d'identit...............................68, 72, 173 d'inclusion ...............................23-25, 78 d'ordre large.. 23, 75, 85, 246, 253, 298 d'ordre lexicographique.......77, 86, 253 d'ordre linaire................................... 76 d'ordre partiel.......75, 79, 253, 291, 298 d'ordre strict.. 25, 76, 85, 164, 246, 289 d'ordre unanime ......................76-77, 80 de congruence module k........72, 74, 89 de contenance................................... 264 de divisibilit ..............67, 68, 71, 76, 78 de finesse .........29-30, 33-34, 46, 71, 78 de prcdence .....................86,151, 253 de prfixation....................246, 253, 282 de prordre.............................. 79, 80, 85 de ralisabilit................................... 298 intransitive.............................. 15, 70, 84 irrflexive................................ 15, 69, 84 matrice caractristique....................... 67 non reflexive....................................... 69 non symtrique................................... 69 non transitive...................................... 70 nulle ou vide................................. 68, 85 proprits............................................ 84 reflexive.69, 71, 84, 133, 146, 147, 171 restriction............................................ 72 symtrique ......................69, 71, 84, 133 symtrise...................................71, 135 transitive ......70-72, 75, 76, 84, 85, 171, 172 universelle ou complte .68, 71, 72, 173 V-rflexive................................ 269, 270 relation n-aire ...................................59, 61, dcomposition canonique................... 60 dimension..............................59, 60, 216 projection sur la i-me dimension ..... 60 relation quaternaire .................................59 relation quinaire...................................... 60 relation ternaire....................................... 59 relations binaires composition .. 46, 47, 57, 146, 147, 171, 247 finesse ....46, 75, 57, 146, 147, 171,247 intersection .............................46, 47, 78
d'une arborescence ................... 187, 307 250 n-ime de l'unit... l'unit 215 raisonnement spiral. 186 graphe... rayon d'un graphe...... recherche de chemin best-first Voir le meilleur d'abord lenneilleur breadth-first Voir par niveaux dans un labyrinthe............ i in 155, 1 CO 139, i ce 158 de taille borne......................... 153, 160 de taille minimale..................... 153, 160 depth-first Voir en profondeur en profondeur............................ 158-161 le meilleur d'abord.................... 155-157 mthodes globales............................. 143 mthodes matricielles ....... 145-152, 263 265-274 optimal...............................................271 par amlioration progressive ... 160, 161 par niveaux................................ 152-155 problmes-types................................ 143 procd Dijkstra-Moore Voir le meilleur d'abord rcurrence.................................. 14, 93, 101 rcursion terminale ................................327 rcursivit convergente....................................... 101 de surface...........................................327 divergente.......................................... 101 et rcurrence......................................10l intrinsque.........................................327 plage d'arrt............................. 101, 102 profondeur........................ 114, 118, 119 reflet d'une expression rgulire....... 324, 325 d'une squence..................................324 et parenthses ....................................324 reflexivit........................ 69, 71, 72, 75, 79 rfutation..............................6, 9-11, 14, 15 rgle d'infrence...... 4-7, 9-11, 13, 14,339 aristotlicienne......................................6 du syllogisme ....................................8, 9 positive..................................................5 secondaire..............................................7 sur la ngation .......................................6 rgle de De Morgan...........................10, 11 rgle de grammaire....................... 254, 255 linaire unilatre........321, 322, 329-331 relation.. 12, 41, 47, 59-61, 67-84, 171-174 relation binaire................................... 41-47 comme transformation........................44 compose......................................^, 47 diagramme sagittal........................42, 43 domaine...............................................43 en comprhension ...............................44 en extension.........................................4l fonctionnelle........................................51 image ou codomaine ...........................43
Index union.......................46, 69, 78, 146, 171 reprsentant d'une classe d'quivalence 74, 238, 239 reprsentation gomtrique des fonctions boolennes......... 287, 292 reprsentations parfaites........................238 reprsentations simplifies ....................237 rseau de communication.... 185, 187, 192, 196 rseau de contacts......................... 283, 284 rseau de Ptri........................................214 rsolution de problmes................ 139, 187 restriction d'une relation binaire interne..... 72, 131 restructuration de programmes..............326 rotations................................. 226, 257, 258
377 successeur...................................... 130, 226 au rang k........................................... 140 suite de Fibonacci.....................16, 117-121 suite finie........................................... 58, 59 suite indexe............................................ 58 sup-demi-treillis...................................... 78 surcharge d'un oprateur...................... 225 surclassement Voir domination surjection............................. 53-57, 75, 347 syllogisme............... 8, 9, 17, 180, 340, 358 syllogismes en chane Voir sorites symtrie d'une relation binaire interne............. 69 symtrique dans un monode....................... 247, 249 symtris d'un graphe....................................... 135 symtrise d'une relation binaire interne.....71, 135 synonymie............................................. 272 systme linaire............................. 194, 269 systmes tats.....139, 174-178,317-321, 331-333
S
.................326 schma de programme. ...................6l schma de relations...... ........ 264, 279 semi-anneau................. semi-cal culabilit......... ...........96,103 semi-groupe........................... 248,252, 264 commutatif....................... .................248 signature dimensionnelle......................... 259, 260 d'un oprateur.......................... 223, 225 simplifiabilit........ 228, 248, 249, 252, 264 simplification d'nonc .............................8 solutions dominantes .........................81, 82 solutions domines ............................81, 82 sommet initial......................... 130, 187, 188, 199 isol..................................... 68,130, 173 pendant..................................... 199, 208 terminal..... 130, 187-189, 202, 204, 206 sommets adjacents........................ 130, 183 sorites .................................. 9, 17, 180,340 sortance .........130, 132, 154, 159, 169, 195 sortes.......................................................225 sous-ensemble........... 23, 29, 130, 131,249 293, 298, 299 fortement connexe maximal Voir composante fortement connexe strict.....................................................24 sous-graphe............................................130 complet Voir clique sous-groupe................................... 249, 250 squelette d'un graphe transitif........ 71, 134 stabilit d'un oprateur 104, 105, 224, 249,264,325 structure d'influence............. 178, 277, 278 substitu Voir substitution substitution.............. 4, 7-9, 14, 15, 62, 305
T
TT .... Voir fonction boolenne incomplte table d'adjacence................................... 132 table des distances Voir matrice des distances taille d'un chemin .......................139, 145-148 d'un circuit........................................ 141 tautologie................................................ 7-9 temps................................................ 92, 319 terme...........................................11-14, 226 terme ........................................47, 273 clos........................................ 12, 14,226 transversal......................................... 291 thorie................................93, 94, 137, 226 thse de Church....................................... 96 tiers exclus......................................... 10, 11 tournoi.................................... 162,168, 192 trac d'un seul trait................................ 163 trac point par point ..............258, 259, 277 traducteur...............................................321 transition................139, 175-177, 212-214, 317-320,322,328transitivit....... 70, 75, 76, 84, 85, 171, 172 traveling salesman problem.................. 162 treillis...........................................78, 79, 89 d'inclusion des parties d'un ensemble ........................................................78 de divisibilit...................................... 78 de finesse entre relations binaires 46, 78
Elments de mathmatiques discrtes .86, 123, 349 ................285 ..................59 vecteur Voir n-uple homogne boolen..........................................42,59 de notation Voir profil d'valuation de vrit............................................ 285 vivariance................................................ 59 vocable................................................... 272 vocabulaire.................................... 254, 321 des graphes....................................... 199 des notions................................ 254, 321 terminal..................................... 254, 321 vote-taker Voir oprateur boolen maj V-rflexivit.................................. 269, 270
u
union de relations......... ..46,69,78,146,171 d'ensembles........ ...............................26 univers du discours. .................24,28,29
V
valuation d'un faisceau de chemins......266 variable.......................................... 225, 226 boolenne ......................... 308, 309, 312 linguistique................................ 323-326 propositionnelle.................. 3, 4, 10, 302
z
S Voir ensemble des entiers signs zone d'influence.................................... 172
en janvier 2002 IMPRIMERIE LIENHART Aubenas d'Ardche Dpt lgal janvier 2002 N d'imprimeur : 3952 Prinled in France
Autres ouvrages parus chez le mme diteur: Programmation concurrente Andr Schiper Logique lmentaire Jacques Zahnd Modlisation cognitive et rsolution de problmes Guy Caplat Algorithmes et structures de donnes Pierre Breguet, Abdelali Guerid, Henry Rothlisberger
Les Presses polytechniques et universitaires romandes sont une fondation scientifique dont le but est principalement la diffusion des travaux de l'Ecole polytechnique fdrale de Lausanne et de l'Institut National des Sciences Appliques de Lyon, ainsi que d'autres universits et coles d'ingnieurs francophones. Le catalogue de leurs publications peut tre obtenu par courrier aux Presses polytechniques et universitaires romandes, EPFL - Centre Midi, CH-1015 Lausanne, par E-Mail ppur@epfl.ch, par tlphone au (0)21 693 41 40, ou par fax au (0)21 693 40 27.
http:/ www.ppur.org
ISBN 2-88074-479-2 2002, Presses polytechniques et universitaires romandes, CH-1015 Lausanne. Tous droits rservs. Reproduction, mme partielle, sous quelque forme ou sur quelque support que ce soit, interdite sans l'accord crit de l'diteur.