Vous êtes sur la page 1sur 393

Collection des sciences appliques de FINSA de Lyon

Elments de mathmatiques discrtes

Louis Frcon

PRESSES POLYTECHNIQUES ET UNIVERSITAIRES ROMANDES

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

12. 13. 14. 15. 16.

O12.Oprateuset algbres Monodes et langages Diodes et algbres de chemin Algbre de Boole Algbre de Kleene et automates tats finis

TABLE DES MATIRES

DEPARTEMENTD'INFORMATIQUE.. . . . . . . . . ............................V SOMMAIRE.......................................................... ..........................VII

P r e m i r epartie Chapitre0 0.1 0.2 0.3 0.4 0.5 0.6 Chapitre l


MEMENTO DE LOGIQUE.................................. ..............................3

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

RELATIONS BINAIRES INTERNES............................................... ................67 4.1 Prsentation....................................................................... ................67

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

FONCTIONS, CALCULABILIT, RCURRENCE

5.2 5.3 5.4

5.5 5.6 5.7 5.8 5.9

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

NOTION DE COMPLEXIT............................................................. .........111 6.1 Premier exemple...........................................................................111

6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9

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

Deuxime partie Chapitre 7

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

Troisime partie Chapitre 12

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

Elments de mathmatiques discrtes

16.5 16.6 16.7 16.8 16.9 16.10

Des expressions rgulires aux graphes de transition....328 Synoptique...................................................................................... 333 Exercices.........................................................................................333 Problmes........................................................................................335 Pistes de rflexion........................................................................ 336 Lectures............................................................................................337

INDICATIONS SUR LES EXERCICES & PROBLMES............................ 339

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.

0.1 LOGIQUE DES PROPOSITIONS


On dfinit les propositions comme des noncs, phrases dcrivant une situation, une proprit, une relation, un jugement, auxquelles on serait susceptible d'associer dans des circonstances prcises une valeur vrai/faux. La logique se place essentiellement sous le signe de la non-contradiction. Pour bien contraster le vrai et le faux et viter les paradoxes, on s'interdit les phrases autorfrence telles que cette phrase contient cinq mots ou quand je ne suis pas lue, je suis crite en latin . Sous cette rserve, on suppose les propositions lmentaires traites en bloc, sans attention aux sujets, complments... comme pour l'nonc il fait beau . C'est pourquoi ce niveau peut tre mis en rapport direct avec l'algbre de Boole. 0.1.1 Formalisation des propositions DFINITION 0.1 - Les noncs lmentaires seront reprsents par des variables, dites variables propositionnelles. Les noncs composs seront forms d'un ou plusieurs noncs (lmentaires ou composs) combins par des connecteurs: L'nonc compos ABC XYZ D A D A D est une conjonction adjonction ngation implication (matrielle) double implication qui dnote un nonc vrai si et seulement si A et B et C sont tous vrais vrai ds que l'un des X ou Y ou Z est vrai vrai si D est faux, et rciproquement vrai sauf si A est vrai et D faux vrai si A et D sont tous deux vrais, ou tous deux faux

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

(XY) (XY) (YX)

adjonction (introduction) dilemme

XXY (XY), (XR), (YR) => R

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.

Nom adjonction limination contraposition rfutation /

Notation (XY) => (XY), (YX)

Signification si X ou Y, alors si l'un est faux l'autre est vrai

(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

contradiction / dtection / limination

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.

Nom involution contraposition absurdit

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)

Mmento de logique 0.1.7 Infrences fondamentales et secondaires

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.

0.0 0.1 1.0 1.1 1.2 0.3

(ab) (bc) a b c (ac)

germe germe hypothse d t a c h e m e n t dtachement 0.1,1.1 d d u c t i o n 1.0, 1.2 0.0, 1.0

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)

Rsume par : qui mne au schma de tautologie :

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

Ceprincpefondamental dcoule de la seule rfutation. EXEMPLE 7. PREMIRE RGLE DE DE MORGAN (XY)(XAY)

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 )h y p o t h s e c o n t r a p o s i t i o n c o n t r a p o s i t i o n conjonction dduction 1.0 1.3

(X Y)((X)(Y))

EXEMPLE8. PRINCIPE DU TIERS EXCLUS tertium

non

datur

Le principe d'une proposition et sa contraire, au moins l'une est vraie , not A

A A 0.0 1.0 0.1 A(A A) A A A(A A)

adjonction dduction adjonction 1.0 dduction 1.0 1.1

1.0 1.0 1.1

Ah y p o t h s e

1.0 1.1 1.2 1.3 0.2 0.3

(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

(XY) (XY) (XY) (X Y)

0.2 LOGIQUE DES PRDICATS


C'est la logique la plus utilise, ni trop simpliste, ni trop complexe. 0.2.1 Prdicats On s'intresse toujours aux phrases auxquelles on devrait pouvoir associer dans des circonstances prcises une valeur vrai/faux. Les noncs lmentaires ou prdicats portent maintenant sur la vrit/le jugement d'une relation entre des objets ou termes, correspondants aux sujets, complments.. . de la phrase. Ainsi, Pierre est au jardin pourra tre ici not estEn(Pierre, jardin) o estEn dsignera une relation entre un objet (ici Pierre) et son emplacement (ici jardin).

12 0.2.2 Formalisation des termes

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

Fondements Tableau 0.6 Rgles d'infrence sur les connecteurs.

Nom implication conjonction quivalence contradiction involution adjonction

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

Tableau 0.8 Rgles globales.

Nom dualit

Enoncs "x E(x) "x E(x) $x E(x) $x E(x) $x E(x) "x E(x)

rcurrence 0.2.6 Exemples

E(0), "n (E(n)E(n+l)) "n E(n)

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

1.0 1.1 1.2 1.3 1.4 1.5 0.10 0.11

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

A P, B P, P X, P Y, (XY) (AB) (XY) P, P (AB), (XY) (AB).


0.3.3

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

Montrer que AB, BC, CD, DA A, B.


0.3.7

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.5 PISTE DE RFLEXION


Comment discuter dans une langue o il est extrmement impoli de dire non? O il n'y a pas de ngation ?

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

ENSEMBLES & ELEMENTS

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.

Fig. 1.0 Ensemble E et ses lments.

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

1.4 - Pour tout ensemble E, E E E

/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.

Fig. 1.3 Classes d'objets imbriques par inclusion.

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.

aX non non oui oui

aY non oui non oui

aXY non oui oui oui


Fig. 1.4 Diagramme d'une union XY.

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.

Ensembles & lments 1.5 INTERSECTION 1.5.1 Prsentation

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

1.6 DIFFRENCE ENSEMBLISTE


1.6.1 Prsentation DFINITION 1.15 - Soient X, Y deux ensembles. Leur diffrence X - Y est l'ensemble des objets de X qui n'appartiennent pas Y : X-Y {xX|xY} (voir diagramme figure 1.5, dfinition logique tableau 1.3).
Tableau 1.3 Diffrences, dfinition logique.

aX

aY non oui non oui

aX-Y non non oui non

aY-X non oui non non

non non oui oui 1.6.2 Complment

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

Ensembles & lments

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)'

Fig. 1.6 Ensembles et complment (diagramme d'Euler-Venn).

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

: points critiques ; gris : ensembles ncessaires ; rectangle : problme rsiduel.

Fig. 1.7 Diagramme d'Euler de la couverture G.

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

Fig. 1.8 Diagramme diffrence symtrique et intersection.

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.33 - Pour tout ensemble E : ED EDE DEE / lment neutre

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.35 - Avec un rfrentiel Ref : RefDA = A'

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.

Ensembles & lments

33

(1)
(2)

(5) (4) (3) (6) (7) (8)

Fig. 1.9 Partition d'un ensemble E en 8 sous-ensembles.

1.9.2 Partitions & couvertures

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).

1.10 PAIRES & PRODUITS CARTSIENS


1.10.1 Paires ordonnes Par dfinition des extensions, {a, b} = {b, a}, et {a, a} = {a}. Par opposition, DFINITION 1.23 - On appellera paire ordonne des couples nots (a, b) o le rang (1er pour a, 2nd pour b) est impos et significatif2. POSTULAT 1.38 - (a, b) = (c, d) si et seulement si a = b et c = d.

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

Fondements Tableau 1.8 Points et ensembles.

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 ?

Ensembles & lments

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.

Exprimer F, G, H en fonction de P et C. Exprimer P et C en fonction de F, G et H. En dduire comment reconstruire P et C.

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...

Ensembles & lments


Tableau 1.9 Langues pratiques par les divers experts.

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.

2.1 VUE EN EXTENSION


2.1.1 Prsentation DFINITION 2.1- Une relation binaire R de A B est une partie de AB : R, relation de A B R A B On dit la relation interne si B A, externe sinon. On notera ventuellement R(x, y) ou x R y le prdicat (x,y) R signifiant que le couple (x,y) satisfait la relation R . Dans un tel couple, x sera dit origine, et y image. EXEMPLES V ensemble de Villes, R ensemble de Rgions, estEn = { ( v , r)VR| v estEn r}, relation externe. Pour P, ensemble de Personnes, pereOuMereDe = {(p1, p2) P P | p1 preOuMreDe p2 }, relation interne P. Un dictionnaire dfinit une relation externe entre un ensemble d'entres et un ensemble de dfinitions. Entre personnes et langues, les relations externes lit , crit , parle collecteront les noncs x lit L, x crit L, x parle L. 2.1.2 Reprsentations II s'agit de procds de dfinition concrte des relations, qu'on peut considrer comme spcifiant des structures de donnes, dont le cot sera abord au chapitre 6. Liste de couples Cette reprsentation calque strictement la dfinition en extension. EXEMPLE. R = {(a, b) (a, c) (b, c) (b, d) (c, d) (e, a)}. Table boolenne ou matrice caractristique A une relation R AB on associe une matrice boolenne [R] ainsi forme. Les lments de A et de B tant numrots : [R] comporte une i-me ligne par lment a iA, [R] comporte une j-ime colonne par lment b jB, chaque lment rij de [R] a pour valeur rij= (si (ai, b j ) R alors 1 sinon 0).

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

L 141 N141 LX S343 L 343 N 343 XL S 343 141

545L

545N

545XL

545S

Notation intuitive : x pour 1, rien pour 0.

Fig. 2.1 Diagramme sagittal de la relation <moteur> montSur <modle>.

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).

2.1.4 Image et transformation


A la relation R on associe souvent la transformation FR, dfinie par " a A G R a{ b | (a, b) R } puis GR{(a,GRa)|aA}.

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 VUE EN COMPREHENSION


2.2.1 Prsentation L'approche en comprhension des ensembles, qui se rfre leur signification, s'tend facilement une relation dfinie en termes de prdicats. DFINITION 2.5 - Une relation binaire R de A B est un prdicat R(x, y) dfini pour tout xA et tout yB, auquel s'associe l'ensemble R = {(x, y)AB | R(x, y)}. De fait, nous avons utilis cette approche dans chaque exemple de relation s'appuyant sur une signification, par opposition une liste arbitraire de paires de symboles. De ce point de vue, un mme exemple peut tre, pour le lecteur, en comprhension si l'exemple signifie pour lui quelque chose (il connat les villes...), en extension sinon (il considre les noms comme des symboles sans signification). La dualit de point de vue peut tre maintenue dans le cas d'une relation construite partir d'autres, la nouvelle relation tant vue soit comme ensemble, combinaison ensembliste des relations composantes, soit comme nonc obtenu par composition logique des noncs ou prdicats des relations composantes.

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

2.3 RELATION INVERSE


2.3.1 Prsentation DFINITION 2.8 - La relation inverse, note R-1, d'une relation R, est la collection de toutes les paires (b, a) telles que (a, b) satisfasse R. Ainsi : R-1 {(b, a) | (a, b) R} EXEMPLES Soit V un ensemble de Villes, R un ensemble de Rgions, E VR la relation (tre) en . La relation E-1 associera une rgion ses villes : on la lira contient : saintEtienne en rhneAlpes rhneAlpes en-1 saintEtienne rhneAlpes contient saintEtienne

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.7 - R S AB R-1 S-1 BA

2.4 UNION, INTERSECTION, FINESSE


L'union, V intersection de relations dans AB sont identiques l'u n i o n , l'intersection des sous-ensembles correspondants de AB. La finesse entre relations de AB est identique l'inclusion entre sousensembles correspondants de AB. PROPOSITIONS. Soient R, S AB deux relations quelconques ; on a : 2.8 - [R S] = [R] + [S] i.e. "i,j : [R S]ij = rij sij, o dnote le ou inclusif. 2.9 - [R S] = [R] [S] i.e. "i,j : [R S]ij = rij Sij, o A dnote le et.

2.10 - OAB R = UAB R= OAB=RUAB.


2.11 - OAB R S R R S UAB. NOTE. On verra au chapitre 4 que l'ensemble AB des relations d'un ensemble A vers un ensemble B est ainsi dot par , , d'une structure ordonne par dite structure de treillis, de minimum OAB et de maximum UAB.

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 .

2.14 - Si T CD, R(ST) = (RS)T 2.15 - Si T c BC, R(ST) = (RS)(RT)

/associativit /distributivit /

Relations binaires 2.16- (RS)-1 =S-1 R-1

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

bases de donnes relationnelles et dductives.


Les informations offertes seront plus nombreuses, bien qu'on en stocke le moins possible, minimisant ainsi les problmes de cohrence et de mise jour, ds lors que les informations demandables sont reconstructibles selon des schmas dfinis partir des informations stockes. Ainsi, on minimise les problmes de maintenance corrective et volutive, on favorise la qualit et l'tendue de l'information offerte, le cot de la consultation dpendant maintenant du degr d'laboration de l'information demande partir des informations physiquement disponibles.

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.

3.1 RELATIONS BINAIRES RGULIRES


DFINITION 3.1 - Soit une relation R. On dira : R rgulire gauche R rgulire droite R (bi-) rgulire ssi ssi ssi chaque point de l'image de R n'a qu'une origine. chaque point du domaine de R n'a qu'un point comme image. elle est rgulire droite et gauche.

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.

52 Fonctions plafond / plancher

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.4 IMAGE & INVERSE


3.4.1 Notation fonctionnelle Soit funefonction dfinie de A dans B. Si x A et x f y (pour la relation f) alors y est unique et peut tre considr comme rsultat d'une transformation de x. C'est pourquoi, selon les contextes, se rajouteront aux notations prdicatives classiques f(x,y) ou xfy, des notations fonctionnelles telles que : y = f(x). x est alors dit antcdent ou origine de y ; et y est dit image de x par f, ou valeur de f en x. 3.4.2 Inverses Soit y = f(x), la notation x = f'-1(y) a-t-elle un sens ? Au sens des RELATIONS, f'-1 existe toujours. Mais comme f, en tant que fonction, est une relation rgulire droite, la relation f'-1 est une relation rgulire gauche (prop. 3.1). Si test une fonction, son inverse f'-1 au sens des relations existe donc sans tre

ncessairement une fonction.


Pour que f' -1 soit aussi une fonction, il faut que f'-1 soit une relation rgulire droite et donc il faut que f soit une relation rgulire gauche.

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.

Fonctions 3.5.2 Bijection

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 :

en ramenant la situation donne aux proprits de rgularit et de totalit,


en tablissant les proprits correspondantes de l'inverse et en retranscrivant ces proprits en catgories convenables.

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

Tout point d'origine a au plus une image

Droite

0^-0 0^^ 0

o^^o
0 0

Application

Tout point d'origine a exactement une image

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

Relation Fonction Application Bijection

Injection Fig 3.2 Spcialisation progressive, de la relation la bijection

Fonctions

57

Tableau 3.2 Inverse des relations & fonctions.

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.8 ENSEMBLES DENOMBRABLES ET FINIS


3.8.1 Prsentation
DFINITIONS

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

3.18 - Pour un ensemble D, |Dn = |D|n.

3.9 RELATIONS N-AIRES


3.9.1 Prsentation DFINITION 3.15 - Soit F = (Di0, Di1, Di2, ..., Din-1) = { Di | i I } une suite finie d'ensembles indexe par I. Tout R Di0Di1...Din-1, collection de n-uples de F est dit relation n-aire sur F, relation dont les Di sont les dimensions. EXEMPLES On note m n mod k et on dit m et n sont congrus modulo k si k divise exactement m - n : c'est une relation ternaire entre entiers. En physiologie, psychologie, conomie... on utilise une relation ternaire dite de vicariance : un triplet (X, Y, F) la satisfait ssi X supple Y dans la fonction F. En analyse de donnes, on rencontre une relation quaternaire entre objets classer (x, y ) plus similaires que (z, t). Plus gnralement, une relation R n-aire peut tre reprsente en extension par une table double entre, raison : d'une ligne par n-uple (ou fait lmentaire) satisfaisant R,

60

Fondements d'une colonne par dimension de la relation, ou ensemble Di membre de F.

|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.

61 une relation S (m + n)-aire de F2o n

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

RELATIONS BINAIRES INTERNES

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).

Fig. 4.1 Graphe de divisibilit des entiers de 1 8.

4.1.2 Relations remarquables


Tableau 4.2 Relations remarquables pour un ensemble A.

Nom relation nulle ou vide identit

Note 0A IA

Dfinition jamais satisfaite satisfaite par chaque lment avec lui-mme toujours satisfaite

Matrice 0 partout matrice unit (0 partout, sauf diagonale 1) 1 partout

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

4.2 PROPRIETES DES RELATIONS BINAIRES INTERNES


On n'examinera que les plus urgentes. Chacune d'elles se rpercute de faon spcifique sur son graphe, qui recevra le mme qualificatif. Ainsi, graphe rflexif/ transitif/ symtrique/... signifiera graphe d'une relation rflexive/ transitive/ symtrique/...

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.

Relations binaires internes

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).

Fig. 4.2 Squelette d'une relation rflexive et transitive (divisibilit de 1 12).

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.

par symtrie de par transitivit de

Relations binaires internes


Tableau 4.4 Matrice d'une quivalence (blocs en gris).

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.

Relations binaires internes

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

Relations binaires internes

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.

Relations binaires internes

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).

Fig. 4.7 Maille d'un treillis : motif en losange.

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.

Tableau 4.5 Les solutions comparer.

Solution

a b c d e

Cot 10000 9000 8000 7000 6000

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.

12000 -j 3 9000 0 c 30000 3

\ i

t S dure

12

16

X-e

Fig. 4.8 Les solutions dans l'espace des critres.

Tableau 4.6 Solutions dominantes / domines. Solution

Cot 10000 9000 8000 7000 6000

Dure 5h 7h 6h 15h 12h

Domination
dominante

a b c d e

domine par c dominante domine par e dominante

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,

Relations binaires internes

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

'3 S 0 0 w U a 10000 c 8000 e 6000

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)

rflexive irrflexive non rflexive symtrique

u <S .u

ai

u ^ >>
d

asymtrique anti symtrique non symtrique

-(D > ^ tO i-

transitive intransitive non transitive

"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.

Relations binaires internes


Tableau 4.9 Proprits des principales catgories de relations.

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

On dfinit une famille de relations Pk par :


x Pk y ssi k personnes au moins prfrent x y Etudier les proprits de ces relations quand le seuil k varie de N 1. Montrer que ces relations constituent une chane de finesse. Montrer que l'on a en gnral une proprit de sous-transitivit du style : xPpy yPqZ xPsZ o s dpend de p, q et N. Exprimer cette dpendance par une fonction. Tout reposant sur le tableau initial, dduire de cette tude des tests de vraisemblance permettant de contrler sa validit.
4.9.3

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) ;

Relations binaires internes

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)

ngligeabilit quasi-galit comparabilit

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].

Relations binaires internes


Tableau 4.12 Classements.

91

nom arthur ingmar gertrude pierrot roland zo

x 17 10 5 5 10 15

y
17 15 5 10 10 15

z 17 20 5 15 10 15

rang pour n = -1 '/2 1 2 3 5 10 30

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

prix d'achat ++ +++ + 0 ----

consommation -0 ----

vitesse max nbde places + ++ 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 ?

Phase de mta-dcision (J. Viallaneix).

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 ?

4.10 THEMES DE REFLEXION


4.10.0 Sur le temps Afin de pouvoir raisonner dans le temps, on utilise le modle suivant. On considre un ensemble T de points reprsentant les temps possibles. On dfinit sur T une relation R avec la signification tl R t2 = t2 appartient au futur de tl. Commenter les propositions suivantes : 1. le temps du prvisionniste ou du futurologue est linaire gauche : "t,u,s (tRs uRs) (tRu t = u uRt) (i.e.: le pass est linaire, mais le futur peut tre arborescent) 2. le temps de l'historien ou de l'archologue est linaire droite : "t,u,s (sRt sRu) (tRu t = u uRt) (le futur supporte l'arbre des passs possibles) 3. l'escatologie connat un temps ultime w : $!t(($stRs)) 4. il y eut un premier temps a $!t(($ssRt)) 5. le temps des physiciens est totalement linaire : Vt,u (tRu v t = u v uRt) 6. le temps des physiciens est dense / continu : "t,s (tRs ) $u (tRu uRs) 7. le temps des systmes synchrones est discret : "t,u,s (tRs) (t r s) $u (tRu uRs) "t,s (trs) 3u (tru urs)

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

FONCTIONS, CALCULABILIT, RCURRENCE

[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.

5.2 CALCULABILITE ET RECURSP/ITE


5.2.1 Les thses fondamentales Alonzo Church a postul ds 1936 que : THSE 5.1 - Toute fonction calculable (au sens large ci-dessus) est rcursivement calculable (au sens troit ci-aprs). THSE 5.2 - Toute fonction rcursivement calculable est calculable sur une machine de Turing. Ce qu'on complte gnralement par le postulat 5.3. POSTULAT 5.3 - Tout calcul sur une machine de Turing peut tre reproduit par un calcul sur ordinateur, et rciproquement. Ce postulat, jamais battu en brche, est d'autant plus fort que la machine de Turing est rudimentaire. 5.2.2 Machine de Turing En 1936, Alan Turing dfinit une machine conceptuelle simple, surtout efficace par ses preuves ngatives : si on montre sur le papier qu'il n'existe pas de machine de Turing pertinente pour un problme, alors il n'existe pas d'ordinateur constructible qui puisse l'tre. Une machine de Turing comprend un ruban et un automate. Le ruban est divis en cases contenant un symbole (ou un blanc). L'automate, caractris tout moment par son tat, travaille pas pas, et possde une tte de lecture/criture sur le ruban. Au dpart, puis chaque pas jusqu' l'arrt : l'automate lit le symbole s du ruban situ sous sa tte de lecture, en fonction de son tat interne i et de ce symbole s - ventuellement, il crit un symbole s' sur le ruban, - ventuellement, il avance ou recule le ruban d'une case, - ventuellement, il passe dans un tat i', ce qu'on rsume par un jeu de rgles du genre (s, i) (s', i', m), avec m {gauche, _, droite)

Fonctions, calculabilit, rcurrence

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

dbut phase 0 suite 1 ? phase 1 bl?

b2? b! retour suite 1 ? retour tte # a b a a a b a # a b a b b a # # a b a a #

# 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

o,D ,g a 2,,d a,,g b,,g

recherche tte suite 1 gauche 2 a trouv en tte de suite 1 b trouv en tte de suite 1 a b

2,,d a,,g b,,g

2,,d a,,g b,,g

A,,g B,,g

a en tte de suite 2 ? b en tte de suite 2 ?

A B

A,,g B,,g

l,A,d 99,,

99,,g l,A,d

99,,g 99,,

99,, 99,,

# en tte de suite 2 ? halte /oui halte /non erreur

# 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

fig.5.1 calcul un codage prs .

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 ?

Fonctions, calculabilit, rcurrence

101

5.3 RECURSIVITES CONVERGENTE, DIVERGENTE, STATIONNAIRE


5.3.1 Convergence DFINITION 5.8 - Une dfinition rcursive sera dite convergente, quand, malgr sa(ses) circularit(s), elle est valuable en un nombre fini d'tapes. Pour cela, on distingue dans les conditionnelles les cas chappant la circularit, et qui forment la plage d'arrt ; d'autres cas utilisant cette circularit apparente, et dont on montrera par rcurrence3 qu'ils se ramnent tt ou tard - toujours en un nombre fini d'tapes - aux cas prcdents. On pourra utiliser les permutations de branches licites pour rgler cette question, des cas les plus simples aux plus complexes. La rduction d'un cas gnral un cas strictement plus simple sera toujours un bon indice, si ce n'est une preuve dfinitive. EXEMPLES Soit la fonction dfinie par : fact(n) { n = 0 1 ; fact(n - 1) n } Si cette fonction ne reoit que des arguments positifs : - ou c'est 0, et le calcul est fini en 1 tape, - ou n est quelconque, et fact(n) appelle fact(n - 1), qui est fact(0) ou appelle fact(n - 2)... processus convergent vers l'appel de fact(0). Plus prcisment, si app(n) est le nombre effectif d'appels de fact() par fact(n), alors app(n) = {n = 0 1 ; 1 + app(n - 1)} ; par rcurrence, app(n) = n + 1 ; le calcul de fact(n) comporte finalement n appels successifs fact(), l'valuation de fact(0) puis les n multiplications, soit 2n + 1 tapes lmentaires. Soit la fonction dfinie par fib(n) {n=0n=ln;fib(n - 1) + fib(n - 2)} - fib(0) et fib(l) s'valuent en une tape ; - si, pour k 1, les fib(0) fib(k) s'valuent en un nombre fini d'tapes, il en est de mme pour fib(k)+ fib(k - 1), c'est dire pour fib(k + 1 ) ; la rcursivit est donc convergente (par rcurrence). Recettes Logo : en considrant la hirarchie phrase/ mot/ lettre, il vient : - pour crire une phrase, si elle n'est pas vide : crire le premier mot, un blanc, puis le reste de la phrase ; - pour crire un mot, s'il n'est pas vide : crire la premire lettre puis le reste du mot. A quelles conditions ces 2 dfinitions sont-elles convergentes ? 5.3.2 Divergence DFINITION 5.9 - Une dfinition rcursive sera dite divergente s'il existe des situations o l'on s'carte irrsistiblement de la plage d'arrt, ce qui se manifestera en programmation par un comportement explosif .

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,

Fonctions, calculabilit, rcurrence

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 ENSEMBLES RECURSIFS ET RECURSIVEMENT ENUMERABLES


5.4.1 Ensembles rcursivement numrables DFINITION 5.12 - Les ensembles rcursivement numrables sont des ensembles dont un processus permet d'numrer les lments. Le processus est fini si l'ensemble est fini. EXEMPLE. L'ensemble des dcimales de p est rcursivement numrable : on sait engendrer ces dcimales, mais elles constituent une suite infinie non priodique, 71 n'tant pas rationnel.

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

5.5 AUX SOURCES DE L'ARITHMETIQUE ET DE L'ALGEBRE


5.5.1 Ensemble N des entiers naturels On considre un ensemble N = < 0 ; s>, comportant un objet 0, et support d'une application s : N N, associant un lment n son successeur s(n). Peano a montr en 1891 que cette structure dcrivait l'ensemble des entiers naturels aux conditions suivantes (Petite encyclopdie des mathmatiques, p. 77) 0 est un nombre ; tout nombre n possde un et un seul successeur s(n) ; 0 n'est le successeur d'aucun nombre ; des nombres distincts ont des successeurs distincts ; N contient 0 et tout successeur d'un nombre lui appartenant. On construit progressivement N = < 0, 1 ; s, p ; +, -, ^ > en introduisant d'abord le prdcesseur p(x) de x par la relation : p(s(y)) = y, et, si l'on veut, p(0) = w ; puis : x + y add(x, y), avec add(x,y) {y = 0 x ; s(add(x, p(y))) ; + se rvlera associatif, commutatif, d'lment neutre 0... x-y mult(x, y), avec et mult(x,y) { y = 00;x+mult(x, p(y))} se rvlera associatif, commutatif, d'lment absorbant 0, d'lment neutre s(0) = 1, distributifparrapport + ... x^y= xy = e(x, y), avec e(x, y) {y = 0 1 ; mult(x, e(x, p(y))} 1 se rvlera neutre droite, absorbant gauche, donc idempotent... 5.5.2 Ensemble Z des entiers signs Soient x et y, lments de N ; x + y est toujours dfini, mais existe-t-il toujours un z (not x - y ) tel que x = y + z?Cezn'appartient N que si x y. Sinon, on sort des limites de l'pure . Les Grecs en avaient dduit que le rsultat n'tait pas dfini... puisqu'ils n'en possdaient pas de dfinition. Aux premiers sicles de notre re, les Indiens convinrent que le problme pouvait se rgler par analogie avec les avoirs et leur oppos les dettes : grandAvoir - petitAvoir = avoir, petitAvoir - grandAvoir = dette Au-del, on pouvait s'intresser aux dettes - avoirs , aux avoirs - dettes et mme aux dettes - dettes , avec par exemple petiteDette - grandeDette = avoir.
De mme, nous introduisons l'ensemble Z des entiers signs avec les rgles : x N x Z

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 ? .

Fonctions, calculabilit, rcurrence

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 )}.

Peut-on avoir premier(n) = n + 10 ?


5.7.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 mise en abyme dans Gide et le Nouveau Roman.


5.8.4

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.

6.1 PREMIER EXEMPLE


Comparons deux procds d'lvation la puissance entire? d'un nombre n. Considrons la fonction e(n, p ){n=0;p=0l;e(n, p - l).n }. Par rcurrence sur p, on trouve e(n, p) = n p Appelons t(p) le temps ncessaire pour calculer e(n, p) avec un n non nul. Nous aurons en gnral t(p) = t(p - 1) + k, o la constante k reprsente le temps ncessaire pour rater les deux premiers tests et faire la multiplication, et nous pouvons de mme poser t(0) = m. D'o, par rcurrence, une loi t(p) = k.p + m, qui indique que le temps d'excution sera une fonction linaire de p. Considrons maintenant la fonction Legendre ( n , p ){n=0;p=01; p mod 2 = 0 Legendre (n.n, p : 2) ; n-Legendre (n, p - 1)} qui satisfait aussi Legendre(n, p) = np. La dure t(p) correspondante est cette fois donne par : t' (p) = {p = 0 m' ; p mod 2 = 0 t(p : 2) + k' ; t(p - 1) + k"} En dsignant par 1d(1) le logarithme base 2, et par la fonction plancher (voir 3.2.1), on peut encadrer t' (p) : k" + k'ld(p) . t'(p) k' + (k' + k") ld(p)

ld pour logtirithmus dualis.

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

Borne infrieure m' m'(p)


Borne suprieure m' 0

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.

6.2 REGLES D'ESTIMATION DE LA COMPLEXIT


6.2.1 Indices de complexit Prdire les comportements se heurtera au fait qu'en l'absence de certaines donnes on ne pourra pas toujours valuer mais seulement encadrer la complexit. Il pourrait alors tre intressant de distinguer des complexits au mieux et au pire, ventuellement notes comme un intervalle. Avec des donnes probabilistes sur les

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

6.3 PREORDRE DE COMPLEXITE


DFINITION 6.1 - Soit f et g deux fonctions 1 argument. On dira fpasplus complexe que g si on a : f = O ( g ) l i m n f ( n ) / g ( n ) = k o k est une constante relle finie. EXEMPLES On a toujours f = O(f) ; si k' est une constante finie non nulle : k'.f= O(f) ; si de plus festasymptotiquement croissante f+ k' = O(f). 5n + 12 = O(5n), 5n = O(n) et 5n +12 = O(n) ; par ailleurs 8n - 7 = O(n) ; on n'a pas en gnral 5n + 12 = 8n - 7, mais seulement 5n + 12 = O(8n - 7) et 8n - 7 = O(5n + 12). Il ne faut donc pas considrer 0 comme un oprateur, mais considrer = 0 comme une relation entre fonctions. f + g = O (max(f,g)), et notamment xm + xn=O(X m a x ( m , n ) ). Finalement, si Pn(x) est un polynme de degr n, Pn(x) = O(xn).

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 .

6.4 CLASSES DE COMPLEXIT


6.4.1 Classes lmentaires introduit un systme de classes d'quivalence entre fonctions, classes lies entre elles par un ordre de complexit. Voyons les classes les plus courantes. On dsigne chacune par un reprsentant, 1 log(x) x xn kx pour la classe des constantes formes logarithmes formes linaires en x, ou de degr 1 polynmes de degr n en x (resp. posynmes si n est rationnel non entier) formes exponentielles de base k.

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
:

1 an = 10 '''5<jours = 10 7'5 secondes = 10 13'5 microsecondes

et l'ge de la Terre est sensiblement de 1023 microsecondes

Notion de complexit

117

La mthode A, la moins pire, est vite inabordable, et il faudrait trouver mieux...


Tableau 6.2 Formes asyrnptotiques et ordres de grandeur.

n2 25 100

n3 125 1000 8000

2" 32 1024 1,05-106

exp(n) 148 22026 4,85-108

n! 120 3,6-106 2,4-1018

nn 3125 1010

2n2 3,35-106 1,27-1030

22' 4,3 109 10308


ml 05XXXX inl07XXXXXXX

5 10

20 400

1,05-1026 2,6-10120

30 900 27000

1,07-10" 1,07-1013 2,65-1032 2,05 1044 2,5-10270

6.5 OPTIMISATION DU CALCUL D'UNE FONCTION


Au XIIIe sicle, Leonardo Pisano, propos de l'volution d'une population de lapins, introduisit une suite 1, 1, 2, 3, 5, 8..., de nombres dits depuis de Fibonacci , qui, au-del des valeurs initiales, forme chaque nouveau terme comme somme des deux prcdents (cf. Petite encyclopdie des mathmatiques, VOROBIEV et autres sources). En introduisant une valeur 0 au rang 0, on dfinit maintenant les termes de cette suite l'aide de la fonction fib : fib(n) {n = 0 0; n = 1 1; fib(n - 1) + fib(n - 2)} Une telle dfinition est calculable, mais est-elle oprationnelle ? 6.5.1 Comportement de la fonction Le calcul montre que cette fonction est rapidement croissante, et l'on souponne un comportement exponentiel. Pour a, k, b convenables, a-t-on fib(n) a-kn + b ? La rcurrence donnerait : fib(i) = fib(i - 1) + fib(i - 2) soit : a . k n + ba . k n - 1 + b + a . k n - 2 + b En identifiant terme terme4 il vient : b = 2 b s o i t a.kn = a-kn-1 + a k k2 = k + 1, en simplifiant par a-kn-2. b
n 2

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

La russite de l'identification terme terme prouvera le bien-fond de l'hypothse.

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.

Fig. 6.1 Arbre d'valuation de fib(5).

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=

de racine dominante 1,4656 1,3247 1,2207.

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).

Notion de complexit 6.5.6 Usage de variable affectation unique

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 REPRESENTATIONS D'UNE TABLE CREUSE


On se pose ici la question de la reprsentation concrte d'une table abstraite, sous l'angle des complexits en taille et en temps d'accs. 6.6.1 Proprits des tables Soit exploiter une table T forme de m lignes et n colonnes. L'implantation directe d'une telle table a un encombrement en m-n, suppose, pour un T[i,j] quelconque, un temps d'accs constant, correspondant la dure d'valuation de l'adresse par une formule du genre a + i-b + j-c (o a est une adresse de base, et o b et c sont des dplacements convenables).

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

/////

Fig. 6.3 Table creuse implante en table de listes.

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.

Encombrement Table 2 dimensions Table de listes O(m-n) O(a-k-m-n)

Dure d'accs O(1) O(n-a)

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

On considre le tri d'une table T[l:n] ainsi dfini :

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

DES POINTS ET DES FLCHES

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

Dite plus rarement application multivoque de X dans X.

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

Fig. 7.2 Degr et demi-degrs d'un sommet i.

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.

Des points et des flches

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.

7.6 GRAPHE PARTIEL


DFINITION 7.7 - Soit un graphe G = <X, U>. On appelle graphe partiel de G tout graphe G' = <X, U'> tel que U' U. EXEMPLE. Si G est le graphe des routes de France, on pourra considrer le graphe partiel G' des routes nationales. Le graphe des routes nationales en Bretagne G'B est alors un sous-graphe de G', et un sous-graphe partiel de G.

7.7 GRAPHE COMPLET, CLIQUES


DFINITION 7.8 - Un graphe complet G = <X, XX> comprend tous les arcs possibles ; il correspond la relation universelle U. On note Kn le graphe complet n points (abrg pour nime figure de Kuratowski). On appelle clique un sous-graphe complet.

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.

Tableau 7.1 M atrice d'adja cence ri lu graphe G

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

Tableau 7.4 Table d'incidence de G].

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

Des points et des flches

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.

7.10 PROPRIT FAIBLE / PROPRIT FORTE


DFINITION 7.19 - Un graphe donn sera ait fortement P, s'il s'agit d'un graphe orient pour lequel la proprit P a t tablie en respectant les orientations des arcs. Un graphe donn sera dit (faiblement) P, s'il s'agit d'un graphe orient pour lequel la proprit P a t tablie en ngligeant les orientations des arcs, par exemple en raisonnant sur son symtris. Les deux notions se confondent pour un graphe symtrique (cf. aussi chap. 10). 7.11 GRAPHE VALUE DFINITION 7.20 - On appelle graphe value une structure G = <X, U, V, m : U V> forme d'un graphe de base g = <X, U> d'un ensemble V dit ensemble de valuation, d'une application m associant chaque arc de U une valeur de V. Les reprsentations associes sont souvent similaires celles des graphes simples, de mme que les traitements. EXEMPLE. Au lieu qu'une matrice boolenne dise s'il y a ou non une liaison routire directe entre x et y, on peut utiliser une matrice des distances, - en remplaant chaque 1 concernant un arc existant par la distance correspondante ; - en codant toute absence d'arc pour marquer l'impossibilit en termes de distance. une matrice des dbits, - en remplaant chaque 1 concernant un arc existant par le dbit admissible (en vhicules/heure) sur le tronon concern ;

- 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

Des points et des flches

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.14 THEMES DE REFLEXION


7.14.0 Utilisation d'un graphe pour visualiser les liens gnalogiques dans une population. 7.14.1 Utilisation d'un graphe pour visualiser les liens logiques dans une thorie. 7.14.2 Utilisation d'un graphe pour visualiser les actions possibles dans un jeu. 7.14.3 Utilisation d'un graphe pour visualiser l'ordonnancement des tches d'un projet. 7.14.4 Utilisation d'un graphe pour visualiser l'analyse syntaxique d'une phrase. 7.14.5 Utilisation d'un graphe pour visualiser la structure d'un programme ; si on assimile les procdures aux sommets, quelle signification donner aux arcs ?

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

CHEMINS & CIRCUITS

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.

Fig. 8.1 SCHTROUMPF, chemin de taille 9.

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.

Si besoin, voir les 12.5.2 (associativit) et 13.1.2 (puissances de composition).

Chemins & circuits 8.2 CIRCUITS ET BOUCLES DANS UN GRAPHE

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.

rflexivit de a symtrie de ventilation recopie permute transitivit de ~ transitivit de

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).

8.3 CHEMINS LMENTAIRES DANS UN GRAPHE


DFINITION 8.4 - Soit un graphe G = <X, U> ; on appelle chemin lmentaire de G tout chemin de G sans circuit. Un tel chemin est dfini par une suite de sommets de G X0, X 1 , x2, ..., Xn dont chaque couple x, x,+1 est un arc de U. dont aucun sommet n' e s t rpt.

Graphe G2 -> c

-> S Graphe G;/ ' (a, e}

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

blocs diagonaux d'quivalence forms par permutation des lignes et colonnes

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 ;

Chemins & circuits

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 )
/ \

(abcdmikbghijencijencdef) (abcdmikbghiienciiencdef) / ... \ \ \ (a b g h i i e n c i j e n c d e f ) . . . ( a b g h i j e n c i i e n c d e f) (a b c i j e n c d e f ) \ 1 / 1 (a b g h i j e n c d e f) (a b c d e f) (abghijef) <chemins lmentaires

Fig. 8.4 Chemins lmentaires associs un chemin.

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.

graphe virtuel frange en cours de traitement partie traite

dpart
Fig. 8.5 Mthodes locales de recherche de chemin dans un graphe.

8.5 MTHODES MATRICIELLES


8.5.1 Chemins de taille k donne Soit R la relation sur X reprsente par le graphe G = <X, R>. Nous avons vu (prop. 8.2) l'quivalence il existe dans G un chemin de taille k de x y <=> (x y) satisfait la relation Rk L'existence d'un chemin de taille k entre deux points peut donc tre dcide partir de la matrice

[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

COROLLAIRE 8.10 - Par dfinition :


m-k

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

0 0 0 0 S 0 R[d, b] = 1 A R[b, f] = 1 => R^d, f] = 1

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.

En vue d'une programmation plutt que d'un calcul manuel.

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

calcul d'un lment oR4 (d,c) : oR2(d,b)+oR2(b,c)=2


min

oR2 (d,x)
oI2 (X,C)

\^I'..

2
00 00

^l.2

=> oR4 (d,c) (<) = 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).

Chemins & circuits

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

Graphes Tableau 8.6 Recherche matricielle de chemins optimaux.

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.

8.6 METHODE LOCALE 1 : RECHERCHE PAR NIVEAUX


8.6.1 Principe Considrons le graphe donn au tableau 8.7. Comment aller de e g ? Une solution consiste partir de e, puis dresser la liste des sommets que l'on peut atteindre en une tape, puis la liste des sommets que l'on peut atteindre en 2 tapes, 3, 4, 5... Ce procd est-il fini ? Si on accepte de repasser plusieurs fois au mme sommet, on peut tourner inexorablement en rond. Cependant, s'il existe un chemin de e g, alors il existe un chemin lmentaire de e g ; recherchons ce dernier, solution allge du problme pos. Si on refuse de repasser deux fois par le mme sommet, on part de e, on dresse la liste des sommets autres que e que l'on peut atteindre en une tape, puis la liste des sommets non encore rencontrs qu'on peut atteindre en 2 tapes, 3, 4, 5... - si on atteint une liste de successeurs vide avant d'avoir atteint le but (g) c'est qu'il n'est pas accessible ; - sinon, g est ncessairement atteint en moins de N tapes.
Tableau 8.7 Graphe.

Sommet a b c d e f g

Successeur s d,e c,f 0 b,f a d,g h,i...

Tableau 8.8 Exploration par niveaux.

Niveau Successeurs 0 1 2 3 4 e a d,e a,b,f c, f, d, 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

Successeurs nouveaux / possibles e a d b,f g <>

Prdcesseurs ( retenir) ^ ee F^'a aeF-'d deF-'f <

^'

, 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

> arc du graphe ^- arc possible (recherche de e g)


B^. arc de la solution

Fig. 8.6 Recherche de chemins par niveaux de e g.

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.

Chemins & circuits


l8 A7
Q6

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

de N M : niveau en exposant, chemins NBGTYUIO(P ou L)M.


Fig. 8.7 Recherche par niveaux dans un labyrinthe.

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.

8.7 METHODE LOCALE 2 : METHODE DU MEILLEUR D'ABORD


8.7.1 Principe Quand on cherche un chemin de longueur minimale sans pouvoir compter sur des proprits particulires, on utilise une mthode apparente la mthode par niveaux, qui est aussi un algorithme-glouton, c'est--dire qui procde sans remise en cause. En progressant du sommet initial vers le but, la mthode distingue : les sommets traits, pour lesquels on connat un chemin minimal depuis le sommet initial, et qui ne participent plus au traitement (mais pourront contribuer l'dition finale), les sommets de la frange, voqus au moins une fois, pour lesquels on connat un chemin et son cot ; la frange forme une zone mobile qui gnralise la notion de niveau. Selon Bellman (1964), tout sous-chemin d'un chemin optimal est optimal. Un chemin optimal n + 1 arcs n'est alors qu'un chemin form d'un chemin optimal n arcs, prolong au mieux d'un arc. C'est de plus un chemin lmentaire, ds lors que tous les cots sont positifs, et les sommets dj visits n'ont pas tre remploys.

156 8.7.2 Procd Dijkstra-Moore On utilise le procd suivant.

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

8.8 MTHODE LOCALE 3 : RECHERCHE EN PROFONDEUR


La mthode par niveaux, qui rappelle une propagation d'onde, suggre une sorte de paralllisme dans les recherches, qui n'est pas toujours ralisable. Au contraire, une personne dans un labyrinthe procdera gnralement par essais et erreurs, mais peut le faire de faon systmatique ; cette mthode, plutt myope, est assez mdiocre mais moins coteuse en mmoire. 8.8.1 Principe Au point de dpart du labyrinthe de la figure 8.8 appliquons le procd suivant : tant en un point x, - j'examine les successeurs possibles non encore rencontrs ; - si j'ai atteint le/un but, russite ; - sinon, parmi les successeurs possibles ne faisant pas dj partie du chemin parcouru, je choisis le premier encore inexplor (par exemple, avec une priorit Est / Nord / Ouest / Sud) comme nouvel x, et je progresse ainsi aussi longtemps que possible ; - si j'arrive une impasse (point sans successeur inexplor) ou un lieu dont toutes les issues ont t explores ngativement, je retourne au dernier point quitt et j'y condamne mon dernier choix; cette rgression se poursuit si cette condamnation transforme ce point en impasse, sinon je traite le premier cas restant ; si je me retrouve au point de dpart sans issue inexplore chec .
1
A

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

Fig. 8.8 Recherche en profondeur N-M (priorit E N 0 S).

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.

Chemins & circuits

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

Fig. 8.9 Recherche en profondeur N-A (priorit E N 0 S).

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.

(Voir aussi sect. 10.9).

8.10 PROBLEMES EULRIENS


DFINITION 8.8 - En matire de graphes, on dit problmes eulriens tous les problmes relatifs aux chemins et circuits passant une fois et une seule par chaque arc d'un graphe. PROPOSITION 8.17 - Tout graphe connexe dont les sommets sont de degr pair admet un cycle eulrien.

Chemins & circuits

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).

circuit eulrien (152341) l'toile

chemin eulrien (421325345) l'enveloppe 1

circuit eulrien (1465234768531)

Fig. 8.12 Circuits et chemins eulriens.

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.

Chemins & circuits

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

a a b b d,e d,e e,g h,f

date au plus tt, 0 pour le dbut de projet.


A chaque tche on associera : une date de lancement au plus tt, qui sera la date de l'vnement dont elle est issue, une date de fin au plus tt, gale sa date de lancement plus sa dure.

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.

Chemins & circuits

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.

Chemins & circuits

169

8.13 THEMES DE REFLEXION


8.13.0 1001 algorithmes sur les graphes Afin de disposer 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 ; chap. 14 de ce livre). 8.13.1 Pomes eulriens (de Werra, EPFL) On considre un graphe, portant un alexandrin sur chaque arc. Montrer que chaque circuit eulrien mne a un pome diffrent. Caractriser cette diffrence. Quelles autres contraintes observer pour amliorer ces pomes ? Peut-on remplacer les alexandrins par un autre type de vers ? 8.13.2 Charlemagne, les extra-terrestres et vous En supposant que toutes les informations gnalogiques souhaitables soient disponibles, et en utilisant les notions d'entrance et sortance moyennes d'un sommet, montrer l'aide d'arguments dmographiques qu'il sera moins coteux de dcider si Charlemagne fait partie de vos anctres7 que de dcider si vous faites partie des descendants de Charlemagne. En dduire galement que, mme en admettant une lourde consanguinit, la plupart de vos anctres contemporains de Charlemagne taient des extra-terrestres. 8.13 3 Couleurs et dgrads Dans un systme RVB, toute couleur est repre par un triplet de chiffres reprsentant respectivement l'intensit des composantes rouge, verte et bleue. Ainsi, 000 reprsente-t-il toujours le noir, le blanc tant reprsent par 999 en base dcimale (ou 777 en octal). Montrer que ces codes permettent d'assimiler une couleur un point dans un Cube des Couleurs. Introduire une notion de distance entre couleurs. Lier la notion de dgrad d'une couleur une autre une notion de chemin dans le cube des couleurs. Dfinir un chemin progressif unitaire tel que la transition de (k,l,m) (p,q,r) se fasse en |p-k| + |q-l| + |r-m| tapes, avec volution monotone de chaque composante. Combien y-a-t-il de tels chemins entre deux points ? Dfinir en dtail les 6 chemins progressifs unitaires les plus simples. En vue de raliser un dgrad harmonieux avec un nombre rduit de couleurs intermdiaires, dfinir de faon prcise une notion de chemin diagonal entre couleurs, et en valuer la pertinence. Reprsentation des surfaces gauches : clairage au soleil ou au flambeau , ombrage progressif et faux relief. 8.14 LECTURES BERGE C., Thorie des graphes et ses applications, CUM n2, Dunod, 2e d., 1963. FAURE R., LEMAIRE J., Mathmatiques pour l'informaticien, tome I, chap. VI, Coll. Programmation, Ed. Gauthier-Villars, 1973.

Entre Charlemagne et vous, compter 35 40 gnrations ; entre Clovis et vous, 45 50.

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.

Fig. 9.1 Graphe de prfrence et son graphe-quotient.

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) ?

9.4 ACCESSIBILIT DANS LES SYSTMES TATS


9.4.1 Les systmes tats Les systmes dynamiques peuvent souvent tre modliss par un graphe dont les sommets reprsentent des tats plus ou moins stables, plus ou moins fugaces ; dont les arcs reprsentent les transitions possibles (marquables par une ventuelle cause interne ou externe : commande, entre). De tels graphes permettent de dgager les grandes tendances du comportement de tels systmes. En regroupant les tats en classes prsentant une certaine stabilit et une certaine similitude de rles, on facilite la comprhension en donnant la possibilit de distinguer deux niveaux : fonctionnement global et comportement fin.

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

Fig. 9.2 Graphe des transitions et graphe-quotient d'un systme tats.

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.

Fig. 9.4 Graphe de transition d'un automate et accessibilit.

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

En rgime stationnaire, montrer que l'on a :

{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

ARBRES & CONNEXITE

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.

10.1 CHAINES & CYCLES


10.1.1 Chanes & chemins DFINITION 10.1 - Deux sommets x et y d'un graphe G sont sur une mme chane : s'ils sont adjacents, ou si z tant un autre sommet de G, il existe une chane de x z, et une chane de z y. COROLLAIRE 10.1 - Dans un graphe symtrique : les notions de chane et de chemin sont confondues, la relation tre identique ou sur une mme chane, relation d'quivalence entre sommets du graphe, se confond avec tre identique ou sur un mme circuit. PROPOSITION 10.2 - Dans un graphe orient : La relation tre identique ou sur une mme chane est une relation d'quivalence entre sommets du graphe, moins fine que tre identique ou sur un mme circuit. Tout chemin suppose une chane, obtenue en ngligeant l'orientation des arcs. Une chane ne peut devenir chemin que si chaque arte peut supporter une orientation commune. Ce graphe orient possdera une chane chaque fois que son symtris en possdera une. x ^ y^ z ^~ t
Fig. 10.1 Chane sans chemin.

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.

Arbres & connexit

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

J n=12 m = l l p=3 5=5

Fig. 10.3 Centres, rayons, diamtres.

10.5.4 Application aux rseaux Supposons que G reprsente un rseau de communication.

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

y/1 Fig. 10.4 Graphe sans circuit 04 et sa fonction ordinale g.

<-

niveau 4 p/4 -> q/3 x/3

0 / terminaux w/0 v/0 u/0 Fig. 10.5 Gf redessin par niveaux de sa fonction ordinale g.

niveau 0/initiaux t/0 p/0 x/0 w/4

Fig. 10.6 G4 redessin par niveaux de sa fonction ordinale h.

10.7 ARBRE COUVRANT


DFINITION 10.12 - Soit un graphe symtrique connexe G = <X, U>. On appelle arbre couvrant de G tout arbre A = <X, T>, tel que : TcU, Vx e X 3y e X (x, y) e T (tout sommet de X est couvert par une arte de T).

Arbres & connexit a f k P b g 1 q c h m r d i n s e a f k P q b g c h m r n s d e a f k P b g 1 q c h m r d i n s e j o t a f k P b g c h d i n s

189 e J
0

j
0

j
0

1 m q r

chanes couvrantes arbres couvrants


Fig. 10.7 Arbres couvrants.

10.8 ARBRE COUVRANT MINIMAL


Soit un ensemble de points relier entre eux au moindre cot. On se donne le graphe G, prsum connexe, des liaisons directes possibles, prsumes symtriques et de cot connu. On veut en extraire un graphe partiel connexe R dont l'ensemble des artes soit de cot minimal. PROPOSITION 10.11 - Soit un graphe symtrique connexe G, dont chaque arte est de de cot strictement positif. R, graphe partiel de G, connexe et de cot minimal, est un arbre, dit arbre couvrant minimal. PREUVE. Supposons que R, de cot minimal, possde un cycle. On pourrait enlever au moins une arte du cycle sans dconnecter R, et le nouveau graphe obtenu R- serait un graphe partiel (de R donc de G) couvrant (les sommets de R donc de G), et de cot strictement infrieur celui de R, contredisant l'hypothse de cot minimal. R est donc sans cycle : c'est un arbre couvrant de cot minimal. Pour btir un tel arbre couvrant (de cot) minimal, Kruskai a propos le procd suivant : Recherche d'un arbre couvrant (de cot) minimald'ungraphe G = <X, U, u : U->V> _ Former la liste L des artes de U tries par cot croissant, et la liste R, initialement vide, des artes du rseau cherch. Dfinir l'ensemble Y initialement vide des points couverts, et l'ensemble Z = X - Y des points restant couvrir. Transfrer de L dans R la premire arte u de L, (i .e. la moins chre). Transfrer de Z Y les deux sommets de u. Tant qu'il reste un sommet dans Z, retirer de L et mettre dans R l'arte uk la moins chre reliant un sommet de Y un sommet de Z, transfrer de Z Y le sommet de uk appartenant Z fin Recherche d'un arbre couvrant minimal Dans l'exemple ci-aprs d'un graphe 6 sommets et 12 artes possibles totalisant 201 units (fig. 10.8), la mthode de Kruskai forme un arbre couvrant avec 5 artes totalisant 54 units (fig. 10.9).

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

cot L 9 10 11 14 15 17 18 20 20 20 22 25 c,f a,b


c, e

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:

e,f a, c d,f b,c a,d a,f d,e a,e b,d

Fig. 10.8 Mthode de Kruskai ; exemple de traitement.

arc possible arc retenu


Fig. 10.9 Arbre couvrant minimal. Rsultat.

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.

Arbres & connexit

191

Fig. 10.10 Graphe papillon ; c, point d'articulation.

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

Fig. 10.11 Graphe en haltre . Isthme (e f) ; points d'articulation e, f.

10.11 K-CONNEXITE ET ROBUSTESSE STRUCTURELLE


DFINITION 10.15 - Un graphe connexe G est dit k-connexe s'il faut lui enlever k sommets au moins pour le dconnecter, k-arte-connexe s'il faut lui enlever k artes au moins pour le dconnecter. i 10.17 - Une chane, un arbre, un graphe possdant un isthme sont 1-connexe et 1arte-connexe. 10.18 - Un cycle hamiltonien est 2-connexe et 2-arte-connexe. Le papillon (fig. 10.10) est un graphe 1-connexe du fait du point d'articulation c mais 2-arte-connexe puisque chaque arte est sur un cycle. L'haltre (fig. 10.11) est un graphe 1-connexe du fait des points d'articulation e et f, et 1-arte-connexe du fait de l'isthme (e f). PROPOSITIONS

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.

graphe 1-arte connexe isthme en CD B D: graphe 2-arte connexe cycle hamiltonien A:

2-graphe 2-arte connexe cycle eulrien

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.

Arbres & connexit

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.25 - (BERGE) G est sans cycle ssi v(G) = 0.


10.26 - (BERGE) G possde un cycle unique ssi v(G) = 1. 10.27-(BERGE) Dans un graphe fortement connexe G, le nombre cyclomatique v(G) est gal au nombre maximum de circuits 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)

courants de branches + quations aux nuds : 37 quations 37 inconnues

courants fictifs de Maxwell :


16 quations 16 inconnues

+ 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

Fig. 10.14 Un programme BASIC : nonc et graphe de structure.

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 ?

Arbres & connexit

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 PISTES DE REFLEXION


10.15.1 Expliciter sous quelles conventions une formule de chimie dveloppe peut tre assimile un graphe. Que deviennent les atomes, les valences ? Cas des liaisons non satures. Question des isomres, des polymres (Poly, 1936).

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) ?

Arbres & connexit

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

arbre, graphe sans cycle tree

point d'articulation ensemble d'articulation isthme

cutpoint cutset bridge

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.

Disponible sur Internet.

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

0 0 calcul de la fonction de Grundy

Fig. 11.3 Fonction de Grundy d'un graphe avec circuit.

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.

11.3 JEUX & FONCTIONS DE GRUNDY


11.3.1 Principe Soit un graphe modlisant un jeu simple, 2 joueurs, raison d'un sommet par situation, et d'un arc par action possible. Supposons de plus toute situation terminale gagnante pour celui qui l'atteint. Alors le noyau forme l'ensemble des positions non perdantes. En effet, si j'atteins une position du noyau : ou elle est terminale, et j'ai gagn, ou elle n'est pas terminale, mon adversaire jouera ce qu'il veut mais sortira du noyau, et je pourrais revenir au noyau au coup suivant. Cette faon de faire est non perdante : elle est gagnante sauf si on boucle, i.e. gagnante si le jeu se rduit ncessairement un nombre fini de mouvements.

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.

aprs prise / mouvement avant 0 1 2 3 4 5 6 7 8 1 / 0 1 2 3 4 5 6 7 2 / 1 0 1 2 3 4 5 6 3 / 1 / 0 1 2 3 4 5 4 / 1 / / 0 1 2 3 4

fonction de Grundy

0 1 2 3 4 0 1 2 3

Fig. 11.4 Analyse d'un Jeu de Nim.

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.

11.4 COLORIAGE DE GRAPHES


Soit G = <(X1, X2 ... Xk), U> un graphe k-parti. En associant une couleur diffrente chacun des X i , on peut considrer G comme un graphe aux sommets coloris, 2 sommets adjacents du graphe tant toujours de couleurs diffrentes. 11.4.1 Graphe p-chromatique DFINITION 11.6 - Un graphe sera dit graphe p-chromatique si on peut colorier ses sommets l'aide de p couleurs distinctes, sans que 2 sommets adjacents soient de la mme couleur. Sur la base de cette coloration, on peut le considrer comme p-parti. 11.4.2 Nombre chromatique d'un graphe DFINITION 11.7 - Le nombre chromatique g(G) d'un graphe G est le plus petit p pour lequel il est p-chromatique : c'est le nombre minimal de couleurs ncessaires pour le colorier. PROPOSITION 11.16 - Pour un graphe G n sommets, 1 < -y(G) ^ n.

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.

Fig. 11.6 Graphe 5-parti 2-chromatique.

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.

Fig. 11.8 Problme des quatre couleurs : effet Luxembourg.

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.

Tableau 11.1 Table des conflits cours/personnes. Cours D C

Personnes x

B x x

y
z t

x x x

x
x

x x x
x x

u
v

Fig. 11.9 Graphe de conflit cours/personne.

Tableau 11.2 Organisation possible.

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.

Cours jours ^\}es JO Jl 11 50 B C A 51 F E 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 .

212 11.5 GRAPHES BIPARTIS

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

Urina } USINAGE Piae


TT ^

20
Marclie'Arrtt ^enJbb^ 21 "PUss Aliwise" j

12 "Averse"

1 " 'Xpose
Z utorise"

2
"Alente"

1
13 i, -DEPOSE PiHcedqxM e
^ 22

Prise i ^ ^ eu Prise autoiimahiiic 4PRISI H Picepi

i^

2: 3

- } ASSEMBLAGE

l'assembla^ Fint

Fig. 11.11 Exemple de grafcet, d'aprs E.Geveaux.

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.

Graphes multipartis 11.6.3 Dualit

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

hypergraphe 1 sommet/ variable hyperarte / quation F lie x, y, z

hypergraphe dual 1 sommet/ quation 1 hyperarte / variable x lie F et H

Fig. 11.9 Dpendances : graphe biparti, hypergraphe, hypergraphe dual.

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

distances albatros 4 avion 1 3 exocet 3 1 2 mouche 4 1 rat 2 3 1 4 5 3 5

auto

Fig. 11.10 Hypergraphe individus/attributs.

exocet

mouche auto

rat

d=l d=3-

Fig. 11.11 Graphe des distances.

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.9 PISTES DE REFLEXION


11.9.0 Emploi du temps Reformuler le paragraphe 11.4.4 en termes d'hypergraphes. 11.9.1 Fonction de Grundy, destin et libre-arbitre On suppose la vie d'une personne modlise8 par un graphe, raison d'un sommet par situation (personne, environnement) et d'un arc par action, ces actions tant soit une action de la personne sur son environnement soit une (r)action de l'environnement sur la personne. On suppose de plus que ce graphe possde une fonction de Grundy. Montrer que dans ces conditions, la personne peut tre soumise un destin inexorable malgr des choix trs ouverts chaque instant. A quelles conditions son libre-arbitre peut-il s'exercer fructueusement ? Que vous acceptiez ou non ce modle, quels sont, votre avis, les points d'accord et les divorces entre la ralit et ce modle ? Essayer de pondrer leur importance relative avant de conclure.

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

OPRATEURS & ALGBRES

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.

12.1 OPRATEURS & SIGNATURES


12.1.1 Oprateur DFINITION 12.1 - Un oprateur o dnote une application o : A B C D , o u dfaut une fonction. 12.1.2 Arit d'un oprateur DFINITION 12.2 - L'arit d'un oprateur est le nombre d'arguments ou oprandes qu'admet cet oprateur (cf. 3.10.1). Un oprateur unaire (ou 1-aire ou d'arit 1) admet un oprande. ex : suce : N -> N. Un oprateur binaire (ou 2-aire ou d'arit 2) demande deux oprandes... ex : + : N N -> N . Un oprateur o : A B C > D est un oprateur ternaire (ou 3-aire ou d'arit 3). 12.1.3 Signature et profil d'un oprateur DFINITION 12.3 - Un oprateur o : A B C -> D est dit de signature A B C et de profil A B C -> D On appelle oprateur interne A, d'arit n, une application de profil An > A. C'est le cas des additions et multiplications numriques, des additions de vecteurs et du produit vectoriel. On appelle oprateur externe une application de profil An > B. C'est le cas des comparateurs ou du produit scalaire.

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 .

226 12.4.2 Algbres de termes

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,

Oprateurs & Algbres

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.

12.5 PROPRIETES DES OPERATEURS


12.5.1 Involution DFINITION 12.11 - Un oprateur unaire interne un ensemble X sera dit oprateur involutifssi V x e X x = x . EXEMPLES : moins unaire, ngation logique, symtries par rapport un point ou un axe, inversion, transposition de matrices... 12.5.2 Associativit DFINITION 12.12 - Un oprateur binaire interne un ensemble X sera dit oprateur associatif ssi Vx,y,z e X ((x y) z) = (x (y z)) On convient de noter x ^ y ^ z cette valeur commune. EXEMPLES : +, x, max, min, pgcd, ppcm, et, ou, ouExclusif, union, intersection, diffrenceSymtrique mais pas , 1 , ni, ... PROPOSITION 12.1 - L'associativit rend le rsultat de la combinaison de n lments indpendant de l'ordre de groupement ou parenthsage des termes. Ainsi : ((x^y) z) t = (x^(yz)) t = x^((yz) t) = x(y(zt)), not

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.

EXEMPLES. + pour R, x pour R- { 0

3 x z=3x4 mais 0x3=0=0x7

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,

Dits aussi lments rguliers.

Oprateurs & Algbres

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 / /

1 val(b) val(c) val(d) val(d) val(d) val(d) val(d)-(val(e)/17)

val(e) val (e) val(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.

12.8 PROPRITS INTER-OPRATEURS


12.8.1 Distributivits Elles gnralisent les notions classiques de factorisation et de dveloppement. DFINITION 12.26 - Soit un ensemble L'oprateur binaire (8 sera dit : distributifgauche par rapport distributifdroite par rapport (bi-)distributifparrapport par rapport . EXEMPLES dans dans R : N: pgcd
x

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.

+ max dans B={0,1} : et ou

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)

(x op y) module k = (x module k) opk (y

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.

Oprateurs & Algbres 12.10 FORMES NORMALES & CANONIQUES

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.

Ces transformations t pourront :

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.

Etablir les proprits de ces oprateurs en vue d'optimiser le code objet.

Car la somme est associative et commutative.

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

MONODES & GROUPES

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.

par dfinition de n en liminant y par associativit en posant w = tu

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.

Le rsultat est en effet indpendant des regroupements :


a5 = a'a4 = a^a3 = a^a2 = a^a' peut s'crire a5 = a1"1'4 = a24'3 = a34"2 = a44"' En posant a' = a, l'associativit de l'addition des exposants reflte ainsi l'associativit du produit. DFINITION 13.5 - Dans un monode <A, >, on dit l'lment a lment k-priodique si a^' = a. COROLLAIRE 13.6 -Tout idempotent est 1-priodique. PROPOSITION 13.7 - Si a est k-priodique et si p, q sont deux entiers positifs congrus module k, alors aP = a'1. DFINITION 13.6 - Dans un monode <A, >, on dit l'lment a lment finalement priodique s'il existe deux entiers positifs p et q > p tels que a1' = a'1. REMARQUE. Pour r > q, a' = a"141', et de proche en proche, tout n' peut tre ramen un a' avec p < s < q e t r = s mod(q - p), d'o le nom. PROPOSITION 13.8 - Dans tout monode fini <A, >, chaque lment est finalement priodique. PREUVE. Supposons |A| = n, et soit a e A. Considrons les puissances 1 n de a : ou 2 de ces puissances sont gales, et l'on a sf = a'1, avec 1 < p < q <, n ;

Monodes & groupes

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).

' Concept et nom dus Evariste GALOIS, 1811-1832.

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.

Monodes & groupes


Tableau 13.1 Principaux groupes d'ordre 4.

251

groupe cyclique G4 * e a b c e a b c a a b c E b b c s a c c e a b 13.3.5 Groupes abliens, commutateurs


DFINITIONS

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

A, Y ensemble des squences non vides bties sur A :


A = U A' = AA* = A* - A

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.

Monodes & groupes 13.4.3 Ordre partiel de prfxation

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.5 LANGAGES FORMELS


DFINITIONS

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-

droite, y e V* est dit dveloppement ou production de x.

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.

Ou de gnrateur, axiome ou racine a.

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)) ?

A l'aide par exemple du principe de descente rcursive de Pter Lucas (1961).

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.

13.9 PISTES DE RFLEXION


13.9.0 La connaissance de N mne aux monodes <N, +> et <N, >. Pourquoi et comment s'est fait au fil des sicles le passage de ces structures aux groupes englobants Q+, > puis <Z, +> ? 13.9.1 Contrles smantiques de programmes crits en un langage L L'aborder sous l'angle d'une algbre des types de L, dans laquelle chaque fonction, chaque oprateur possde un profil, spcifiant son applicabilit et son effet. En choisissant comme valuation symbolique d'un programme, la trace de son valuation dans l'algbre des types, montrer que les incohrences sont dtectes en constatant la violation des conditions d'emploi d'un oprateur ou d'une fonction. 13.9.2 Calculs en intervalles On s'intresse aux calculs dans R = {[a b]|a, b e R, a$ b}. Pour tout oprateur op, on oppose une dfinition thorique X op Y = {x op y| x E X, y e Y} et une dfinition calculable X <op> Y = [opinf(X, Y), opsup(X,Y)]. L'addition entre intervalles a-t-elle un lment neutre ? est-elle associative ? estelle commutative ? est-elle simplifiable ? 13.9.3 Calculs qualitatifs La physique nave pratique par chacun - par exemple pour envoyer une boule de papier dans une corbeille - suggre que les grandeurs n'importent que par leur ordre de grandeur. Est-ce possible ? Supposons toute valeur v dnote par le rang du nombre le plus proche dans une progression gomtrique de rfrence. Supposons une raison r > 1 : tout nombre rel positif x sera dit de taille k donne par : rk-1/2 <, x < rk+1/2, et la taille k on associera rk, reprsentant de l'intervalle. Montrer qu'il existe un groupe additif sur les tailles. Est-il homomorphe d'un groupe multiplicatif sur les valeurs ? Comment additionner deux grandeurs de taille k1 et k2 ? Cette addition est-elle associative ?

Monodes & groupes

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 GRAPHE VALUE


14.5.1 Marquage d'un chemin et monode d'nonciation DFINITION 14.7 - Gv = <X, U, V, u : U-V> sera dit graphe marqu si X est l'ensemble des sommets, U est un ensemble d'arcs tels que Uc X2, fi est une fonction de marquage des arcs par un lment de V. A tout chemin C dans G associons une squence forme de la suite des marques rencontres sur les arcs successifs du chemin C. Cette squence relve d'un monode V*, ds lors que la composition squentielle est associative, i.e. que l'on peut associer un chemin form de trois arcs ou sous-chemins marqus m, n, p : ((m, n), p) = (m, (n, p)) = (m, n, p) not plus simplement m-n-p voire mnp : en particulier, la concatnation des noncs des souschemins est indpendante de la fragmentation utilise. Si de plus p. est une injection marquant chaque arc de faon unique, et si la composition squentielle se rduit une concatnation, toute nonciation de chemin est alors spcifique du chemin nonc. NOTE. On parlera plutt de graphe marqu si le marquage est symbolique, et de graphe valu si le marquage est numrique, ou relve d'une chelle. 14.5.2 Marque d'absence Supposons pour le graphe marqu Gy qu 'il existe une composition squentielle associative des marquages des arcs, et un co e V absorbant pour cette composition. La fonction de marquage H peut tre maintenant dfinie directement comme application de X2-^ si l'on convient que o, lment absorbant, sera la marque d'une absence d'arc, et plus gnralement dnotera les impasses. On assimile ainsi arc manquant arc (prsent) interdit/impossible. D'autre part, un chemin ne menant qu' une impasse devient lui-mme impasse, que l'impasse soit initiale ou lointaine. On dnote alors plus simplement Gy par : Gy = <X, V, a, \i : X2 > V>.

En l'honneur d'Evariste Galois, 1811-1832.

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

14.6 CALCULS MATRICIELS


14.6.1 Somme et composition DFINITION 14.10 - Considrons 2 relations values S = (X, A, CT : X2 > A) et T = (X, A, T : X2 > A), et un diode associ A^ = <A, co, e, +, >. Aux matrices [S] et [T] valeur dans A, nous associons les matrices [SuT] et [ST] valeur dans le diode, sur la base des formules : [S u T],j = Sy + t,j, o s,j = G (i, j) et ty = T(i, j)

[S.T],j=^.tkj ou, en bref,


[SuT]=[S]+[T] et [S T] = [S] [T]

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

14.7 THSE CENTRALE


Soit G = <X, u : X2 -> V> un graphe value (resp. G = <X, \i : X2 -> V^ un multigraphe valu), reprsentable par une matrice carre M valeur dans V14^. Les problmes relatifs aux chemins dans un tel (multi)graphe sont rsolus par le calcul des matrices
ou n

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.

268 14.8.1 Cas d'un gerbier fini

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].

14.9 TAILLE LIMITEE


Par nature ou par rduction, le problme est d'valuer des M p = M* *=i On peut toujours les calculer comme dernier terme d'une suite finie : Mi=M Mk = M + M M],_I= M (I + Mk_i) II y a donc (p-1) tapes comportant n2 sommes au titre de la somme matricielle (rductible n), n^n-l) sommes et n3 produits lmentaires au titre du produit matriciel. Le cot est donc en n3?, soit n4 si p = n. 14.9.1 Gerbier On a toujours Mi = M et Mk = M + M Mp.i qu'on peut rcrire, du fait de l'idempotence de la somme : M), = Mk_i + M Mi,_i= (I+M) Mk_i=M' M^ en posant M' = M +1. On vite dj une somme de matrices chaque tape, ce qui est sensible aux faibles valeurs de n. Mais on peut aussi calculer directement (ii) Mp= M' p-1 M en appliquant la mthode de Legendre pour obtenir la puissance (p - 1) de M' ncessaire. Le cot oprationnel est alors d'environ n3 (p - 1) sommes et produits lmentaires si on procde pas pas selon (i), rduit un 0(n3 ld(p)) si on calcule (ii) l'aide de la mthode de Legendre (cf. sect. 6.1). La V-rflexivit du graphe acclre le procd. 14.9.2 Graphe V-rflexif DFINITION 14.12 - Une relation S valeur dans V, un graphe S valu dans V seront dits V-rflexifs3 ssi [S] = [S] + [I] Ce sera le cas de toute relation (resp. graphe) dont la matrice possde une diagonale principale forme de s, si e est absorbant pour la somme du diode. Alors Si;= S1', ce qui pour le calcul gagne du temps et surtout de l'espace.
3

(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.

Cas le plus favorable : somme idempotente, chemins optimaux ncessairement lmentaires.

Diodes Comment calculer la table des distances case par case ?

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

liSIISgFl tey IF^G as


^"Si +00

0
+00

max min min max max

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

/squence min favorise les longs chemins d'vocation

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

squencement 0,8 0,8 a^.b^ c 0,8 I : 0,8 I I : 0,8-0,8-0,8=0,512 III: 0,8-0,2-0,2=0,2

agrgation I : 0,8 II : 0,92 III: 1

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.

14.11 GRAPHES MULTIVALUES


On peut valuer des arcs par des n-uples, d'o des graphes multivalus du style : G = <X, p : X2 -> (AB(8C)>. La dfinition du diode correspondant suppose de vrifier soigneusement les proprits des oprateurs introduits, notamment s'ils sortent du cadre des oprations terme terme.

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

Algbre Tableau 14.7 Mise en exploitation d'un gisement minier.

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

Dure (jours) 120 180 3 30 60 60 240 180 30 240 360 240

Tches antrieures aucune a b b b d c,d g,e,f J,h f,e,g J.h J,h

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.

14.14 PISTES DE REFLEXION


14.14.1 Relations renseignes (Jean KUNTZMANN, 1972) On considre que tout graphe valu introduit un nouveau style de relations, dites relations renseignes.

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

14.15 FAMILLE DES DIODES


... classiques et/ou propres aux mathmatiques discrtes.

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.

3 (Small /Medium /Large / Very Large) Scale Integration.

282

Algbre

15.2 ALGEBRE DE BOOLE ELEMENTAIRE


On part d'un ensemble deux valeurs SB = {0, 1}, reprsentant faux et vrai, qu'on munit d'oprations + (pour ou) et (pour et) dfinies par les tables suivantes. Tableau 15.1 Oprateurs + et dans B. 0 0 1 0 0 1 0 1

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'

non : <B,0, 1,',+, > <-><B, 1, 0,',-,+>

Nous appelons algbre de Boole, en brefAdB,la structure <B,0, 1 , ' , + , - , ^ > ainsi forme.

15.3 MODELISATION BOOLEENNE DE TECHNOLOGIES


15.3.1 Rseaux de contacts A la base, on considre une source d'nergie et un dispositif commander, lis par un contact laissant ou non passer l'nergie dans le dispositif, en fonction d'une grandeur extrieure qui commande le contact et par l le dispositif. L'ensemble constitue un quadriple : diple de commande (ou d'entre) et diple command (ou de sortie) sont traverss par des courants coupls mais spars. La sortie commande peut tre modlise par une arte unissant les deux points de connexion du contact, marque par Y expression logique de la commande rendant ce contact passant. Un rseau de contacts est alors modlis par un graphe symtrique, raison d'un nud par point de connexion, d'une arte marque par contact, d'une arte non marque par connexion supplmentaire. f = a-b + a-c-e + d-c-b + d-e

Fig. 15.1 Rseau de contacts dipolaires en pont vu comme un diple.

L'tat d'un rseau de contacts se calcule en fonction des commandes connues :

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).

Algbre de Boole 15.3.2 Electronique digitale usuelle

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

^^

Fig. 15.3 Abstraction d'un triple actif en lment fonctionnel.

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

Tableau 15.5 Les 16 fonctions boolennes de 2 variables. x fonction n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

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

15.5 GOMTRIE BOOLENNE


15.5.1 Reprsentation des ]B" On peut se reprsenter BB DB2 DB3 SB4 par un segment de droite ou une arte, par un carr (ou cycle de taille 4), par un cube, par une paire de cubes convenablement coupls.

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).

Algbre de Boole 15.5.3 Reprsentation gomtrique des fonctions boolennes

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

Fig. 15.4 Fonction B3B dite ceinture du cube .

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.

Dit Lewis CAROLL (cf. chap. 0).

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'

Fig. 15.6 Diagramme de Veitch-Kamaugh d'une fonction boolenne 3 variables.

15.6 BASES D'UNE FONCTION


15.6.1 Monmes premiers REMARQUE. En algbre de Boole, on a toujours a-b <. a : tout produit est infrieur ses facteurs. DFINITION 15.2 - On appellera facteur strict d'un monme m un monme m. form partir de m en tant au moins une variable. Ainsi m = m-p, o p regroupe les variables de m non retenues dans p, d'o m < m par principe, et m < m ds qu'au moins une lettre a t effectivement retire. EXEMPLE. Les facteurs stricts de a'bc sont bc (p = a'), a'c (p = b) et a'b (p = c), puis a', b etc. DFINITION 15.3 - Considrons une fonction crite en somme de produits, avec f=m + S, o m dsigne un monme isol et S la somme des autres monmes. Alors m < f (ou m-f = m). On dira m monme premier pour f s ' i l n'existe pas de monme m facteur strict de m tel que m < f(ou m-f= m ou f = m + S). EXEMPLE. Soit h = abc' + ab'c' + def. dans cette criture, def est monme premier de h ;

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'

amp' m m' amp |fc,ai^

p' a
'' .

'

' lfe:

fr:

Fig. 15.7 Le consensus mp comme


terme transversal am et a'p.

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.

Rappel : 2 monmes boolens c et L(j) ne sont pas forcment comparables.

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.

liste 00x0 00x1 Ollx lllx

ajouter

liste
111111111

ajouter

liste

ajouter

liste

ajouter

liste

ajouter

OOxx

111111111

Ollx lllx
>

111111111

xllx

111111111 OOxx

OOxx
>

OOxx xllx Oxlx

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

00xl 0001 0011 x 1 2

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

Bases irredondantes couverture non minimale ABDEFH


C ni A B G E

^ ><

couverture minimale ACEG


A

^^ monmes redondant, utile, obligatoire

Fig. 15.10 Bases irredondantes : reprsentation graphique.

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

l o 4|) l <1> <t1> l l i l


0

4> 1

<

0
1

4>
1 1

l
1

0 1
1

<ti 1
1

1 0
1

0 0 0 0 0 0 (> it> ((> 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'

Fig. 15.12 Diagramme de Veitch-Karnaugh. Optimisation par annexion d'indfinis.

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

000x1 OxxIO xOOll

000x1 lOOIx OxxIO

llW
OxxIO

lOOIx

lOOIx

;'<N|g| OxxIO
xOOll 000 Ix 000 Ix 0

lOOIx IISI OxxIO OxxIO

^liS
xOOll 000 Ix

iISSi
.:.::"......f?;";:i:i^;(;i;,

IN1^

000x1

xOOll

xOOll 0

Iwte
OOOIx 0

xoon

||y || 0

|ei|| 000 Ix
xOOIx

xOOlO xOOlO xOOlO xOQlO

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}

Fig. 15.13 Arbre brut d'une fonction boolenne f.

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}

Fig. 15.14 Arbre rduit de la fonction boolenne f.

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.

15.9 QUATIONS BOOLENNES


Qu'il s'agisse de bases de connaissances l'ordre 0, des interdpendances entre variables logiques d'un dispositif ou d'un logiciel, ou du codage des donnes d'une nigme, on peut ramener les relations et contraintes soit une collection de relations fi = 0, qu'on traite en bloc sous la forme fi=0, soit une collection de relations fi = 1, qu'on traite en bloc sous la forme

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.

Tableau 15.13 a s pour l'quation a-x=b.

ab 00 01 10 11

a-x == b Ox= 0 Ox= 1 x=0 x= 1

cas

indtermin <t> impossible /// dtermin dtermin 0 1

Fig. 15.16 Diagramme pour a-x = b.

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 +

0Tableau 15.14 Etude de l'quation a-x + b-x' = c.

abc 000 001 010 011 100 101 110 111

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

cas indtermin impossible x'=0 x'=l x=0 x=l impossible indtermin

x <t> /// 1 0 0 1 /// <1>


c c' c'

rcapitulatif pour x
b'
b 1 0 a'

^n.

<1>

<!
g;*A' ,;,

gris : cas impossibles

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.

15.10 ANNEAU DE BOOLE


15.10.1 Prsentation George BOOLE tait trs soucieux de garder dans ses calculs logiques les proprits de l'algbre traditionnelle, notamment en matire de rsolution d'quations, approche qu'il privilgiait. De ce fait, ses travaux s'adressent souvent un diode cousin du prcdent, menant une structure d'anneau.

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

associativit lment neutre lment absorbant action rflexive

(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

Algbre de Boole 15.10.2 Troisime forme canonique

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' =

(ab)x b == c => (ab) x = bc, et la seconde forme d'quation se ramne la


premire.

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.

15.11 QUIVALENCES MAJEURES


Logique prpositionnelle (chap.l), thorie des ensembles (chap. 2) et calcul boolen peuvent tre mis en quivalence l'aide de la table ci-dessous. Il y a donc avantage considrer l'algbre de Boole comme catgorie ( 12.4.5) plutt que comme systme spcifique.

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

Ensembles Rfrentiel ^ A AcB n u A Ref-A A-B =

Propositions Vrai Faux a a-*b


A

Calcul boolen 1 0 a a^b . + a' ab' =

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.14 PISTE DE RFLEXION


15.14.1 Adapter aux fonctions boolennes les notions de fonctions croissantes, dcroissantes, monotones en x. En dduire qu'une famille d'outils logiques ne peut se rduire des outils seuil tels que Maj, mais qu'il faut aussi des outils fentre tels que le ou exclusif. L'existence d'un inverseur suffirait-elle ? Conclure sur le rle des poids ngatifs ; et, en neuro-sciences, sur l'intrt des synapses inhibitrices.

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

ALGEBRE DE KLEENE & AUTOMATES TATS FINIS

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.

16.1 NOTION D'AUTOMATE A ETATS FINIS


16.1.1 Prsentation DFINITION 16.1 - Un automate nombre fini d'tats, ou, par abus de langage, un automate tats finis est une structure <E, I, S, t, s> 3 ensembles finis : E : alphabet d'entre 1 : ensemble des tats internes S : alphabet de sortie mis en rapport par les 2 fonctions t et s. DFINITION 16.2 - Dans le modle de Mealy la fonction de transition t : E I - > I , la fonction de sortie s : E 1 > S dtermine le prochain tat, dtermine la sortie.

Entre eeE le 1
tat i

Sortie
s(e,i)
6S

t(e,i) e 1
retard futur tat

Fig. 16.1 Automate nombre fini d'tats.

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

Algbre de Kleene et automates tats finis

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.

Fig. 16.2 Feux routiers : graphe de transition (Mealy).

Fig. 16.3 Feux routiers : graphe de transition (Moore).

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.

16.2 GRAMMAIRES DE KLEENE


Cette section prolonge la section 13.6. DFINITION 16.5 - On considre un vocabulaire V = N + T form d'un vocabulaire des notions N et d'un vocabulaire des terminaux T, disjoint de N. Convenons que les minuscules latines dsignent des lments de T, les minuscules grecques ceux de N. On parle de grammaire de Kleene, ou de grammaire de classe 3 (Chomsky) ou encore de grammaire linaire unilatre, si les rgles sont soit du type a > x soit du type a -> xb pour une grammaire linaire [unilatre] gauche, soit du type a -> x soit du type a > bx pour une grammaire linaire [unilatre] droite. EXEMPLE. Un identificateur de chane Basic simplifi peut tre ainsi dfini par <i> :
i a(7 | DCT | co o > $ | acr bo | ce 11 CT | 2<r | 3<r

16.2.1 Graphe de transition Considrons une grammaire du type a > x y P.

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

Fig. 16.4 Graphe de transition associ une grammaire de Kleene.

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,

e jouant le rle de la chane vide et w celui d'une chane impossible.

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,

Z, = a + b - Z o = a + b - a = ( e + b ) a Z2=a+bZ^=a+b(a+ba)=a+ba+bba=(e+b+b2)a Z3=a+b-Z2=a+b-(a+b-a+b-b-a)=a+b-a+b-b-a+b-b-b-a =(K+b+h2+h3)a.


11

Par rcurrence, on vrifie que l'on a bien : Z^, = a b'


i=0

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

16.2 - L'expansion de Kleene vrifie les relations :


V* f - l - Y ^ X C ' A y * . y * == Y * ' " '

* = (X + )* = X*

X*X9=X9X* = X9 (X*)* = X*= ^*= (X*)9

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*.

324 EXEMPLE. La solution de

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 ...

Algbre de Kleene et automates tats finis

16.4 PROPRIETE CENTRALE


PROPOSITION 16.5 - Le diode A+* = <A, w, e, +, > est stable pour les somme. concatnation, expansion, intersection, diffrence et complment A+, et rflexion. On peut donc le noter : A+ = <A, w, e,+, -,* , A, -, ~>. . Le diode prcdemment dfini devient support de l'algbre de Kleene, en ce qu'il est le domaine ncessaire et suffisant d'valuation des expressions rgulires bties sur le mme alphabet. 16.4.1 Exemple : restructuration de programmes On considre Y organigramme donn figure 16.5, et on recherche le programme structur ralisant le mme traitement. On convient d'appeler Tn le traitement ralis l'entre de l'tape n (action, convergence ou divergence). La concatnation, note , code facilement les squences. Les choix boolens seront cods par une variable minuscule correspondante dans la forme convenable. Enfin, le traitement associ un point de convergence sera la somme des traitements effectus sur chacune des branches qui y arrive.
Fig. 16.5 Programme structurer.

On obtient d'abord les quations locales :

TO = dbut + T4.x

T1=TO
T2=Tl-A+T6-y'
T3=T2

T4 = T3-B
T5 = T4.x' T6 = T5.C

fin = T6y

326 En liminant les variables utilises une seule fois il vient :

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

puis TO d'o finalement

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-^B.x-A^B.x'-C.y'^B.x-A^.B-x'.C-y dbut A.((B-x-A)*B-x'-C-y')*(B-x-A)*B-x'-C-y

soit en posant S = (B-x-A)*B-x'-C fin = dbut-A-(S-y')*S-y = dbut-A-S-(y'-S)*y

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].

Algbre de Kleene et automates tats finis

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.

Voir aussi chapitre 6.

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.

Algbre de Kleene et automates tats finis

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 ...

Si on dsire que l'automate soit


utilisable rptitivement, il faut ajouter un tat pour co (collecte des erreurs) ; un symbole terminateur indiquant qu'une squence est finie, ce qui permet de redmarrer l'analyse pour une nouvelle expression, et de lever certaines ambiguts.

Tableau 16.6 Table de transition associe

(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

E/ko E/ok E/ko E

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.

Fig. 16.8 Graphe de transition associ (ab*a)*ab.

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

Algbre de Kleene et automates tats finis

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.

Algbre de Kleene et automates tats finis

333

16.6 SYNOPTIQUE

modle

drivations

quations linguistiques

comportement observable

Fig. 16.9 Automates <-> grammaires <-> expressions rgulires.

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

Algbre Tableau 16.9 Codage dcimal de textes.

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

0 suffixe prfixe * blanc # 6 7 8 9 n c f


z 4

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 ?

16.9 PISTES DE RFLEXION


16.9.1 Code Baudot Rviser le principe du code Baudot de transmission alphanumrique, avec des codes de 5 bits. Montrer que ce systme, pouss l'extrme, ne permet pas de coder des alphabets de plus de 256 caractres. 16.9.2 Codage du cadran tlphonique On suppose un texte cod suivant les conventions du cadran tlphonique.
Tableau 16.11 Codage au cadran. 1

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 ?

Algbre de Kleene et automates tats finis

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

INDICATIONS SUR LES EXERCICES & PROBLMES

CHAPITRE 0 : MMENTO DE LOGIQUE


0.3.0 Partant de AB, oprer par ventilation, adjonction et regroupement. 0.3.1 Prendre A comme hypothse donne A par dtachements successifs, ce qui rfute A mais pas B. Donc A reste condition suffisante sans tre ncessaire...
0.3.2

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

mnent au germe 0.1-0.5, qui entrane la dmonstration 0.6-0.13


0.1 0.2 g->r i->(e A-it)

0.3
0.4 0.5

e-> f
f-> (tvp) g

0.6 0.7 0.8 0.9 0.10 0.11 0.12 0.13

r e A-nt e -it f tvp -.t->p p

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.

CHAPITRE 1 : ENSEMBLES & LMENTS


1.11.4 L'ensemble P(X) regroupe les 2" parties de X. P(P(X)) est form de 22 collections distinctes de ces parties. Toute couverture de X est collection de ses parties, mais la condition de couverture uC = X exclut des couvertures de X certaines collections de parties de X. Donc X possde moins de 22 couvertures. On peut cependant montrer qu'il en possde plus de 22 -1. 1.11.5 Confronter AnC c A c AuB avec AnC = AuB donne AnC = A = AuB. 1.11.6 A^C=A-(A-C);A'=R-A;(AuB)'=(R-A)-B... 1.11.7 Europe des 6 : Allemagne, Bnlux, France, Italie. 4 langues officielles : allemand, franais, italien, nerlandais. Union europenne en 2001 : 15 pays : Allemagne, Autriche, Belgique, Danemark, Espagne, Finlande, France, Grande-Bretagne, Grce, Irlande, Italie, Luxembourg, Pays-Bas, Portugal, Sude ; 11 langues officielles : allemand, anglais, danois, espagnol, finnois, franais, grec, italien, nerlandais, portugais, sudois. Chaque pays de Visegrad (Pologne, Tchquie, Hongrie) introduit une langue ; la Suisse n'en introduirait pas, sauf peut-tre le romanche ; la Norvge non plus, si elle se rallie au dano-norvgien.

342

Elments de mathmatiques discrtes

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

Fig A.l 8 couleurs drives de 3 couleurs primaires.

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

Elments de mathmatiques discrtes

CHAPITRE 2 : RELATIONS BINAIRES


2.6.0

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 ^ '

^ < - ^ i - ' T ' ! i - ' ^ ' ' ^ - - i - ' a - ' ^ r t - ^ ^ m m r ^ m y ^ v ^ y ^ t

' -

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).

CHAPITRE 3 : FONCTIONS 3.11.2


Pour une fonction f: R > R paire, toute valeur de im(f) a pour origine soit 0 soit 2 origines de signes opposs, et seule la restriction de f R+ pourra tre inversible. Ne sont donc inversibles que les fonctions paires de domaine {0}, c'est--dire les fonctions f : 0 > k. 3.11.3 Pour k > 0, les fonctions sont totalement dfinies ; pour k < 0, les fonctions sont dfinies sur R - {0} mais pas en 0. Elles ne sont inversibles que pour k impair (cf. exercice prcdent). 3.11.4 Soit f : x -> x2 + 1 ; f o f : x - y 2 + l o y = x 2 + l soit f o f : x - x 4 + 2 x 2 + 2 e t f o f o f : x - ^ z 2 + l o z = y 2 + l = x 4 + 2 x 2 + 2 soit f o f o f : x -> x8 + 4x6 + 8x4 + 8x2 +5. 3.11.5 Le tableau A.3 dcrit une fonction n(p, q) simple pour la numrotation systmatique des points du quadrant NN : en effet, la relation n(p, q) = q + n(p + q, 0) nous ramne aux n(p, 0)= p-(p + 1)/2. Vrifier que cette fonction N constitue une application injective NN -> N, d'o le caractre dnombrable de NN.
Tableau A.3 Numrotation des sommets d'un quadrillage ouvert en quadrant. c 1 0
0 1

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

Elments de mathmatiques discrtes

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

simultans d, 8 12 16 privilgie les dplacements diagonaux

cercle normal C^ > ' Ci

y^ ^^

Fig. A.2 Cercles gnraliss.

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

12,257... non entier

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

Elments de mathmatiques discrtes

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.

CHAPITRE 4 : RELATIONS BINAIRES INTERNES


4.8.0

Utiliser la proprit que p > q est toujours vrai quand p est faux. 4.8.1 est irrflexive, intransitive, symtrique.
4.8.2

Rflexivit, antisymtrie, transitivit dans A" se dduisent de la proprit dans A.


4.8.3

Revoir l'ordre strict.


4.8.4

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

qui ne permet pas de garantir la transitivit, car XTIZ = d(x, z) < r.

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

Cf. LiVERCY, Thorie des programmes, Dunod.

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.

CHAPITRE 5 : FONCTIONS, CALCULABILITE, RCURRENCE


5.6.0

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 selon Euclide. Le cas 0, inconnu l'poque, n'est pas trait.


5.6.4

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

Elments de mathmatiques discrtes

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).

CHAPITRE 6 : NOTION DE COMPLEXITE


6.8.0 La dure d'valuation, la mmoire utilise sont en 0(n), car le phnomne central est pour n > 0, la transition n> n mod 5 en n/5 tapes, finale sauf si n = 4 mod 5, qui rajoute 5 appels : 4 > - 1 > 1 6 > ' 1 1 > 6 - 1 ; pour n < 0, la transition n -> n mod 17 en |n|/17 tapes, qui nous ramne au cas prcdent avec de n de 0 16, concluant en 1 7 tapes (pour n = 14). Il suit que les grands nombres sont plus efficacement traits s'ils sont ngatifs, le traitement restant en tous cas en (n). Quelle que soit la complexit de l'volution de l'argument, les calculs de f91 ne portent jamais sur le rsultat, qui est toujours 91. La forme optimale de f est donc i9i(n) ={91}; alors f =(!).()
6.8.3

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.

CHAPITRE 7 : DES POINTS ET DES FLECHES


7.12.1 A) Tout nombre est divisible par lui-mme. B) Si a divise b, et b divise c, a divise c. 7.12.2 A) Une droite n'est jamais perpendiculaire elle-mme. B) Si a est perpendiculaire b, et b c, a ne l'est pas c. 7.12.3 En gnral, G sera non rflexif, non symtrique, non transitif, les proprits de rflexivits, symtrie et transitivit tant fortes et leurs contraires (irrflexivit, asymtrie, intransitivit) aussi. Ce genre de situation ni ... ni ...est d'ailleurs frquente en sciences humaines, o les particularits dtruisent la plupart des rgularits entraperues. 7.14.0 7.14.4 chaque thme correspond une ligne du tableau A.6 ci-aprs ; prciser le rle des arcs peut diversifier le marquage et donner lieu observations (il s'agit de conventions qui dpendront de la direction dans laquelle on raffine le graphe du modle).

356

Elments de mathmatiques discrtes


Tableau A. 6 Modlisations par des graphes.

Domaine

Sommets

Arcs enfant de implications action, mouvement prcdence

Marquage

Observations

population personne thorie jeu projet phrase propositions situation tches

nature de l'action, joueur dlai suivi de, s'crit

situations initiales ? finales ?

notions grammaticales dpendance

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.

CHAPITRE 9 : FERMETURES TRANSITIVES


9.6.0

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

Elments de mathmatiques discrtes

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.

CHAPITRE 10 : ARBRES & CONNEXITE


10.13.1 II y a une composante fortement connexe, {Bordeaux, Paris, Lyon, Marseille} de centres {Paris, Lyon}. Grenoble et Nice sont priphriques : ils peuvent tre informs, mais ne peuvent informer. 10.13.2 Soient x et y les extrmits d'un diamtre, et c un centre. L'ingalit du triangle d(x, y) <, d(x, c) + d(c, y) se transcrit alors d 2p. 10.13.3 Le graphe d'appel des procdures comporte des boucles ou des circuits s'il y a des appels rcursifs. En revanche, la plupart des langages modulaires imposent que les modules forment une hirarchie : les circuits de rcursivit doivent alors rester internes un module (problme 9.6.0),

CHAPITRE 11 : GRAPHES MULTIPARTIS


11.7.0 Montrer que la suite {2, 5, 11, 23 ...} d e s3-2k-1 forme le noyau du jeu. 11.7.1 Observer que les nombres premiers sont congrus 1, 2 ou 3 modulo 4. Revoir le paragraphe 11.3.1 avec k = 3. Montrer par rcurrence que la suite des multiples de 4 forme aussi le noyau du nouveau jeu. La stratgie gnrale sera donc de toujours se ramener un multiple de 4 (qui pourra tre 0, dfinitivement gagnant), qui ne sera jamais premier. Si vous recevez 4k, vous avez virtuellement perdu : jouez 1, 2 ou 3, et attendez de voir si le vent tourne ;

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...

CHAPITRE 12 : OPRATEURS ET ALGBRES


12.11.9
X-X=0;XnY=X-(X-Y).

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

Elments de mathmatiques discrtes

14.14.3 Voir aussi thse MACOWICZ.

CHAPITRE 15 : ALGEBRE DE BOOLE


15.12.1 Partir de x + y = (x'-y')' = l x'-y' = l(lx)-(ly)... 15.13.1 Essayer diverses connexions de a, b, c, d, e 0, 1, x, y ; ex : f(0, x, 0, y, 0) = x-y. 15.13.2 Les niveaux successifs du schma sont (a, b) > (a, ab, b) > (a(ab), (ab)b) -> (b, a). 15.13.4 Ds qu'on ajoute 1 + 1 bit on a un report ; en gnral additionner (a) les deux bits donns pour le poids considr (b) le report de l'tage (de poids) prcdent. Une multiplication prcision multiple utilise rptitivement le schma de multiplication complte mul(A, B, C, D) = A-B + C + D o A et B sont des chiffres donns, C une somme issue d'autres produits partiels de mme poids, D un report de l'tage de poids infrieur. 15.13.5
L'additionneur est form de deux fonctions symtriques : l'ordre des variables

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 ..................

52 n .................. 52 . . . ....... ..........................fin de oreuve

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

378 tn ........ triple. triples..

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.