Vous êtes sur la page 1sur 13

Bruno Mery (Doctorant, LaBRI bureau 123, mery@labri.

fr) Universit e de Bordeaux, ann ee 2007-2008 Informatique Th eorique 1 INF154T Groupe CSB5A2

Exercices de et inspir es de : G eraud S enizergues, Anne Dicky, Alexandre Zvonkine, Ir` ene Durand, Pierre Cast eran. . .

Travaux Dirig es

Ordres

Relations, ordres, totalit e

Rappels Une relation binaire R d enie sur un ensemble E est r eexive si, x E , x R x. R est sym etrique si, (x, y) E 2 , x R y = y R x. R est antisym etrique si, (x, y) E 2 , (x R y y R x) = x = y (i.e., x R y et y R x sont contradictoires). R est transitive si, (x, y, z) E 3 , (x R y y R z) = x R z. Un pr e-ordre sur E est une relation binaire r eexive et transitive. Un ordre sur E est un pr e-ordre antisym etrique. Une relation d equivalence sur E est un pr e-ordre sym etrique. galement un ordre, un pr Une relation R sur E (donc e e-ordre. . . ) est dite totale si, (x, y) E 2 , (x R y y R x), partielle sinon.

1.1

Ensembles

Exercice 1 Soit U un ensemble. On consid` ere, sur lensemble P (U ) les relations : X R Y X Y = , X S Y X Y (inclusion large). 1

Ces relations sont-elles r eexives ? Sym etriques ? Montrer par un contre-exemple que la relation R nest pas transitive. Corrig e 1 R nest pas r eexive ( = ). Elle est sym etrique (X Y = Y X ) et non transitive ({0, 1}R{1, 2} et {1, 2}R{2, 3} mais {0, 1} {2, 3} = ). S est r eexive (X X par d enition), non sym etrique (cf. et {0}), et transitive. Exercice 2 Soit f une application dun ensemble E vers un ensemble F muni dune relation dordre . Montrer que la relation R, d enie par x R y f (x) f (y) ` quelle condition (n est un pr e-ordre sur E . A ecessaire et sufsante) R estelle une relation dordre ? Corrig e 2 f (x) est limage (unique) de x x E , et est r eexive : f (x) 3 f (x), donc x R x : R est r eexive. Soient (x, y, z) E tels que f (x) f (y) f (z) : est transitive, donc f (x) f (z), et on a bien (x R y y R z) = x R z : R est transitive. Pour que R soit antisym etrique (donc un ordre), il faut que ( f (x) f (y) f (y) f (x)) = x = y, cest-` a-dire que f (x) = f (y) = x = y, cest-` a-dire que f soit injective.

1.2

Damier

Exercice 3 Sur lensemble des cases dun damier carr e, on d enit la rela` la case c en se d tion R par c R c si lon peut aller de la case c a eplac ant de ` droite, puis de bas en haut (les d tre nuls). gauche a eplacements peuvent e R est-elle un ordre ? Si oui, total ou partiel ? Et si lon interdit certaines cases du damier ? Corrig e 3 Les d eplacements peuvent e tre nuls donc c R c : R est r eexive. En posant c = (x, y) (coordonn ees de la case c), on a : c R c x x y y , et on peut facilement v erier lantisym etrie et la transitivit e. R est un ordre total. Par contre, si on interdit un sous-ensemble de cases, non seulement R nest plus totale (par d enition), mais la transitivit e ne tient plus : R nest plus un ordre. . .

1.3

Entiers naturels
m R n m|n m S n m = n + 1

Exercice 4 On consid` ere, sur lensemble des entiers naturels, les relations

Les relations R et S sont-elles antisym etriques ? La relation S est-elle transitive ? Corrig e 4 R comme S sont antisym etriques. On peut utiliser le m eme argument : m R n m n (id. pour S). La relation S nest pas transitive : 1 + 1 = 2, 2 + 1 = 3, 1 + 1 = 3.

1.4

Mots

Exercice 5 (Redondant avec lexercice 6). Exercice 6 Soit une relation R suivante sur A : uRv |u|a < |v|a (|u|a = |v|a |u|b |v|b Pourquoi nest-ce pas une relation dordre ? Donner dautres exemples de ce type. Corrig e 6 Le probl` eme est lantisym etrie : consid erer aab, aba, baa (on a donc un pr e-ordre).

Ordres bien fond es

Rappels Soient E un ensemble muni dun ordre , F une partie non vide de E. l gal (par Un e ement x E est un minorant de F sil est inf erieur ou e ` tout e l ) a ement de F . l gal a ` tout Un e ement x E est un majorant de F sil est sup erieur ou e l e ement de F . Si x F est un minorant de F , il sagit du plus petit e l ement (unique) de F . ` F , il sagit du De m eme, sil existe un majorant de F appartenant a plus grand e l ement de F . Enn, si lensemble des minorants de F admet un plus grand e l ement, il sagit de la borne inf erieure (unique) de F . De m eme, si lensemble des majorants de F admet un plus petit e l ement, il sagit de sa borne sup erieure. Si x F est tel quil nexiste pas de y F avec x y, x est un e l ement maximal de F . Inversement, si x F est tel quil nexiste pas de y F avec y x, x est un e l ement minimal de F . Lordre sur E est dit bien fond e sil nexiste pas de suite innie d ecroissante suivant dans E .

2.1

Inclusion des relations

Exercice 7 Une relation R d enie dans un ensemble E est dite incluse dans une relation S (d enie sur le m eme ensemble) si, (x, y) E 2 , on a x R y x S y. Dans ce cas, parmi les propri et es suivantes, lesquelles sont vraies ? 1. Si R est un ordre, alors S aussi. 2. Si S est un ordre, alors R aussi. Supposons que R et S soient tous deux des ordres. Quelles propri et es sont vraies ? 1. Si R est un ordre total, alors S aussi. 2. Si S est un ordre total, alors R aussi. 3. Si R est un ordre bien fond e, alors S aussi. 4. Si S est un ordre bien fond e, alors R aussi. 4

Corrig e 7 Premi` ere partie : 1 est fausse. On se place dans les entiers natu l rels, avec R d enie par 0R1 (et aucun autre e ement), R est un ordre (partiel), et S la relation totale sans restrictions xSyx, y. On a bien R S, S nest pas un ordre. 2 est vraie : si on navait pas xRxx, on naurait pas xSx (absurde) ; galement une contradiction, etc. si on pose x = y xRy yRx, on a e Deuxi` eme partie : 1 est vraie. Si R est totale, par d enition (x, y) E 2 , (xRy yRx), donc S est aussi d enie sur E tout entier (et de fait, R = S). 2 est fausse : sur les entiers naturels, consid erons S = et R =10n , lordre des dizaines, linclusion est bien respect ee et R nest pas total. 3 est fausse : soit R = d enie sur les entiers, S = d enie sur les r eels, linclusion est respect ee et S nest pas bien fond e. Par contre, 4 est vraie : sil existait une suite inniment d ecroissante selon R, elle vaudrait aussi pour S.

2.2

Ensembles

Exercice 8 Soit un ensemble E muni dun ordre (partiel) . Supposons un l ` la fois maximal et minimal pour . Laquelle des proposie ement e E a tions d ecoule de ces conditions ? 1. Ce nest pas possible : un tel ensemble nexiste pas. l 2. E na quun e ement. l 3. E a au moins deux e ements incomparables. l l 4. Soit E na quun e ement, soit il poss` ede au moins deux e ements incomparables. ` un e l Corrig e 8 La r eponse correcte est 4. Dune part, lensemble a ement l ` (par exemple {0} avec lordre usuel) comporte effectivement un e ement a l la fois maximal et minimal (il nexiste pas dautre e ement)1 . Dautre part, l si lordre est total et que E poss` ede deux e ements ou plus, la propri et e ne tre v l peut e eri ee, donc, si E poss` ede plus dun e ement, il y a au moins l deux e ements incomparables. On peut exhiber un ensemble de ce type : l tout ensemble sufsamment grand muni de lordre = (tous les e ements ne sont comparables quavec eux-m emes et sont donc maximaux et minimaux).
1 Remarque : l enonc e est ambigu, avec la mention de (partiel). On peut consid erer que tre total, auquel cas la bonne r cela signie que lordre ne peut pas e eponse est la 3, de fac on l triviale : on ne peut avoir un seul e ement avec un ordre non total, et non total il existe l deux e ements incomparables. Dans lesprit de l enonc e, ici, on pr ecise simplement que lordre peut e tre total ou non, mais la formulation est mal choisie.

Exercice 9 Soit E = N2 muni de lordre produit, et l Trouver les e ements minimaux de F . F = {(x, y) E |2x + 3y 5}

l Corrig e 9 Les e ements minimaux de F sont les a = (x, y) tels quil nexiste pas de b F v eriant b a. Ainsi, (1, 1) F , mais pas (0, 0), (1, 0), (0, 1). . . et l ` (1, 1) est aussi dans F : (1, 1) est un e l tout e ement sup erieur a ement minimal. De m eme, (3, 0) F mais (2, 0), non, et ainsi de suite. Apr` es une tude de cas rapide, les e l e ements minimaux de F sont au nombre de trois : (1, 1), (3, 0), (0, 2) (on peut v erier quils sont incomparables).

2.3

Mots

Exercice 10 Soit A un alphabet (ensemble {a, b, . . .}). On note A lensemble de tous les mots que lon peut former avec A, et |u| la longueur dun mot u. Montrer que d enie sur A par est un ordre. Est-il total ? Bien fond e? u v (|u| < |v| u = v)

Corrig e 10 est, par d enition, r eexive. Elle est antisym etrique (deux tre en relation r mots de longueur diff erente ne peuvent e eciproque, et sont forc ement diff erents), et on v erie quelle est transitive (posons u v et v w, il y a quatre cas. . . ) est donc un ordre. Cet ordre nest pas total (comparer aab et aba). Il est aussi bien fond e, car si on pose uk . . . u1 u0 ` deux, alors |ui+1 | |ui | 1, et |u0 | est ni ; la suite est donc diff erents deux a nie. Exercice 11 Montrer que lordre lexicographique sur N2 est bien fond e, mais que lordre lexicographique sur A nest pas bien fond e. Donner dautres exemples munis dordres non bien fond es malgr e lexistence dun l plus petit e ement. Corrig e 11 On peut proc eder par labsurde ou utiliser un th eor` eme du cours (le produit lexicographique de deux ordres bien fond es est bien fond e) pour le premier point. Pour le second, il faut remarquer quil ne sagit pas dun produit ({a} est inni, par exemple). On peut alors remarquer que b > ab > aab > . . .. Exemples : R+ , P (V ) avec V inni, N {0} avec 1 lordre des n , ... 6

Exercice 12 Comment peut-on num eroter tous les mots sur un alphabet ` quel ordre sur les mots correspond cette num ni ? A erotation ? Corrig e 12 Soit A lalphabet, il sagit de num eroter tous les mots de A de ` |A|, et fac on unique. Posons num( ) = 0. Par la suite, num erotons A de 1 a associons aux mots de longueur 1 le num ero de la lettre correspondante. On num erote ensuite par induction : soit un mot u num erot e et une lettre a A, ` alors num(au) = num(a) |A||u| + num(u)2 . Cette num erotation est associ ee a lordre |u| < |v| (|u| = |v| u <lex v) (ordre des dictionnaires de mots crois es, bien fond e). Exercice 13 Soit A un alphabet. Montrer que la relation R = {(u, uv)/u, v A } d enie sur A est un ordre, et quil est bien fond e. Corrig e 13 On v erie que R est r eexive (uRu car A ), antisym etrique (si on a uRw et wRu, il existe v A tel que uv = w et wv = u, donc w = et u = w), et transitive (soit u1 Ru2 et u2 Ru3 , alors on a u1 v1 = u2 et u2 v2 = u3 , donc u3 = u1 v1 v2 et u1 Ru3 ). R est bien fond e : on utilise un argument de longueur (si uRw avec u = w alors |u| < |w|).

2.4

Relations quelconques

Exercice 14 Soit F lensemble des fonctions partielles de N dans N. On d enit la relation dans F par f g Dom( f ) Dom(g) x Dom( f ) f (x) = g(x)

1. Montrer que est un ordre partiel.

2. Peut-on construire pour : une suite innie croissante ? une suite in` deux nie d ecroissante ? Une anticha ne (ensemble d el ements deux a incomparables) innie ? l 3. Quels sont les e ements maximaux, minimaux de (F, ) ? Y a-t-il un l l plus grand e ement ? Un plus petit e ement ?
2 Recti e

taient fausses. le 2 Octobre, les versions pr ec edentes e

Corrig e 14 1. V erier dabord que est un ordre : la r eexivit e est imm ediate, et quivalentes la transitivit e / antisym etrie d ecoulent des propri et es e pour . Lordre est partiel puisque des fonctions aux images diff erentes pour un m eme ant ec edent sont incomparables (e.g., x2 et x + 2). 2. Suites innies croissantes : fonctions d enies sur {0 . . . k}. On ne peut avoir de suite innie d ecroissante ( est bien fond e pour N, ou : f g f = g |Dom( f )| < |Dom(g)|). Anticha ne innie : tr` es facile (prendre fi (x) = x + i, par exemple). l 3. Un e ement maximal est une f telle quil nexiste pas de g/ f g, g = f . ` cette proToutes les fonctions d enies sur N entier correspondent a pri et e. De m eme, toutes les fonctions non d enies (d enies sur ) sont minimales. Par contre, il ny a pas de plus grand ou plus petit l e ement (sauf si lon consid` ere que toutes les fonctions non d enies quivalentes). sont e

Diagramme de Hasse

Rappels Dans un ensemble ordonn e ni (E , ), on dit que y est le successeur ` quand x y et quil nexiste pas de z, z = x z = de x par rapport a y, /x z y. On dit que y couvre x. x est le pr ed ecesseur de y, etc. Ainsi, la fonction successeur dans (N, ) avec lordre habituel est f (n) = n + 1. Pour un ensemble ordonn e ni (E , ), le diagramme de Hasse est une gure repr esentant lordre consid er e. On proc` ede comme suit : l Les e ements de E soit plac es sur le plan. Si e2 couvre e1 , on lie e1 et e2 par un trait en plac ant e2 au-dessus de e1 . tant au-dessus Alors, e f dans E lorsquil existe des e1 . . . en , ei+1 e l tant li de ei , les deux e ements e es par un trait. Le graphe est celui de la relation dordre, lorientation est implicite (vers le haut). On construit souvent des diagrammes de Hasse approximatifs pour repr esenter des ordres non bien fond es ou innis. Exercice 15 Tracer le diagramme de Hasse, pour U = {1, 2, 3, 4}, de P (U ) ordonn e par inclusion. Corrig e 15 Racine : , li e avec tous les niveau 2 : singletons, li es chacun avec 3 doublons, li es chacun avec 3 triplets, tous li es avec U . Exercice 16 Sur {a, b} ordonn e par f act , lordre facteur gauche des mots (u f act v w A /v = uw), tracer le d ebut (jusqu` a trois lettres) du diagramme de Hasse. ` branchements multiples : a ` la racine, a et b au niveau Corrig e 16 Arbre a 2, a facteur de aa et ab, b de ba et bb, aa de aaa et aab, . . . Exercice 17 Les ordres cr (ordre des dictionnaires de mots crois es) et lex (ordre lexicographique) sur A sont totaux. Comment parcourir le diagramme de la relation f act pour retrouver les mots ordonn es selon cr , et selon lex ?

Corrig e 17 cr : parcours en largeur, lex : parcours en profondeur.

10

4
4.1

Induction
Principe dinduction

Rappels ` tout (E , ) ou ` est bien fond Linduction g en eralise a e, le principe de r ecurrence d eni sur N. Soit P(e) une propri et e vraie ou fausse e E . l Base : P est vraie pour tout e ement de E . Induction : Soit x E , on peut d emontrer en supposant P vraie y/y < x que P(x) est vraie. Si on peut d emontrer Base et Induction, alors P(x) est vraie x E . Exercice 18 Montrer que la fonction r ecursive dAckermann : A(m, n) = if m=0 then n+1 else if n=0 then A(m-1, 1) else A(m-1, A(m, n-1)) est totale (partout d enie) sur N2 . Corrig e 18 On remarque que : si A est d enie pour (m, n 1) et (m 1, K ), alors elle est d enie pour (m, n). Or, A est d enie en (0, 0). Par induction sur N2 muni de lordre lexicographique (bien fond e), A est d enie sur N2 .

4.2

Induction structurelle

Rappels Une d enition inductive est la donn ee dune structure par : 1. un ensemble d el ements de base (minimaux), ` un certain ordre sur 2. des r` egles dassemblages (correspondant a la structure). Ainsi, un Arbre est soit une feuille, soit une racine et dautres arbres. l tre une Une Liste est compos ee dun e ement (car) et du cdr qui peut e liste ou l el ement nul. ` utiliser la d Une preuve par induction structurelle consiste a enition inductive dune structure pour prouver quune propri et e, vraie pour les l l ` pare ements de base et pour tout e ement form e suivant les r` egles a l tir d el ements v eriant cette propri et e, est vraie pour tout e ement.

11

Exercice 19 On d enit un syst` eme permettant de traiter des listes dentiers avec les fonctions empty(L) (vrai ou faux suivant que L soit vide), l head(L) (donnant le premier e ement dune liste L non vide), tail(L) l (donnant la liste priv ee de son premier e ement ), cons(n, L) (renvoie ` car, une liste de t ete n et de queue L). (Les constructeurs correspondent a cdr, cons en Lisp.) Consid erons la fonction (tri-fusion) : merge(L1, L2) = if empty(L1) then L2 else if empty(L2) then L1 else if head(L1) <= head(L2) then cons(head(L1), merge(tail(L1), L2) else cons(head(L2), merge(L1, tail(L2)) Montrer que cette fonction est totale sur les listes dentiers, et que si L1 et L2 sont tri ees par ordre croissant, il en est de m eme de merge(L1, L2). Corrig e 19 D enissons lordre appropri e sur les paires de listes : X = (L1 , L2 ) Y = (L1 , L2 ) L1 L1 L2 L2 (ordre produit sur les listes). Avec lordre sur les listes suivant : L L L = L nL = L pour n N. Cet ordre est bien fond e (argument de longueur ou analogie avec un ordre sur les mots ou d etail dune suite d ecroissante forc ement nie). Int eressons ` la totalit nous a e de la fonction : on a merge d enie pour ( , ). Si elle est d enie pour tout Y X , alors elle est d enie pour X . Par induction, elle est donc totale. Consid erons ensuite lordre : soit P(L) vraie si L est tri ee. Supposons P(L1 ) P(L2 ). On a bien que, si L1 L1 et L2 L2 , merge(L1, L2) est ordonn ee, alors merge(L1, L2) aussi. Par induction, on a P(merge(L1, L2)) vraie. Exercice 20 On consid` ere maintenant des arbres binaires complets dont tiquet les feuilles sont e ees par des entiers. On notera b(t1, t2) larbre ` une feuille i sera dont le ls gauche est t1 et le ls droit t2 . Larbre r eduit a not e f(i). On consid` ere lalgorithme suivant, portant sur deux arbres binaires t et t , qui d etermine si les arbres ont le m eme feuillage : 1. Si t et t sont deux feuilles, on termine avec succ` es si les feuilles sont tiquet chec sinon. e ees par le m eme nombre, avec e chec. 2. Si lun des deux arbres seulement est une feuille, on arr ete sur e 3. Si lun des deux arbres est de la forme b(b(t1, t2), t3), on le remplace par b(t1, b(t2, t3)) et on continue. 12

4. Si le ls gauche de t et celui de t sont des feuilles : chec si les e tiquettes des deux feuilles sont diff on arr ete sur e erentes dans le cas contraire, on remplace chacun des deux arbres par son ls droit, on continue. . . Montrer que cet algorithme termine toujours. Corrig e 20 Avec un ordre bien fond e appropri e, linduction ne pose pas de probl` eme. Soit r(t ) larbre obtenu par rotation de t suivant la proc edure d ecrite dans lalgorithme. Alors on pose t t t = t t = r(t ) t = lsDroit(t ). On peut v erier (mais cest long) quil sagit dun ordre. Soit maintenant c(t ) le nombre de nuds de t . On a c(r(t ) = c(t ), c(lsDroit(t )) < galement g(t ) = c(lsGauche(t )), on a c(r(t )) < c(t ). Pour t t , on c(t ). Soit e tant a donc (c(t ), g(t )) < (c(t ), g(t )) selon lordre produit sur N2 . Cet ordre e bien fond e, on ne peut avoir de suite innie d ecroissante de ce type, donc lui-m eme est bien fond e, linduction est valide et lalgorithme termine.

13

Vous aimerez peut-être aussi