E3-ST – IGI-3006Algorithmique et résolution de problèmes Travaux

Transcription

E3-ST – IGI-3006Algorithmique et résolution de problèmes Travaux
Jean-Claude GEORGES
Figure 1 — Le générateur de l’horloge de 10 ka
E3-ST – IGI-3006
Algorithmique et résolution de problèmes
Travaux dirigés
http://longnow.org/clock/
ESIEE Paris
The 10,000 Year Clock Project
Construire une horloge qui durera au moins
10 000 ans, avancera d’un cran par an, sonnera une
fois par siècle, et de laquelle le coucou sortira une fois
par millénaire.
Conseils pour résoudre un problème
Comprendre le problème
Élaborer une stratégie
Mettre en œuvre la stratégie
Analyser la résolution
Comprendre le problème est un aspect important de
la résolution. Pourtant, de nombreuses difficultés
dans la résolution de problèmes proviennent du
fait que les résolveurs n’ont pas ou ont mal
compris le problème. Il faut être capable de
répondre aux questions :
Pólya mentionne plusieurs manières d’aborder
un problème pour élaborer une stratégie.
Toutefois, selon lui, le meilleur apprentissage se
fera en résolvant de nombreux problèmes : le
choix entre différentes stratégies sera de plus en
plus facile et rapide.
Voici une liste de conseils :
Cette étape est généralement plus
facile que de concevoir le plan.
En général, tout ce dont on a
besoin est de la concentration et de
la patience (il faut toutefois avoir
les les compétences nécessaires).
Il est souvent nécessaire
d’approfondir la stratégie choisie.
Si elle n’aboutit pas, il faut ne pas
hésiter à l’abandonner et en choisir
une autre.
La réflexion sur la résolution que
l’on vient d’élaborer (démarche +
solution) contribue à améliorer
l’expertise dans la résolution de
problèmes.
Qu’est ce qui a marché ? Quelles
ont été les fausses pistes ?
Pourquoi ?
On pourra à l’avenir choisir plus
vite et plus sûrement une stratégie
pertinente pour résoudre des
problèmes liés au problème initial.
– Que devez-vous trouver/montrer ?
– Êtes-vous capable de reformuler le problème
avec vos propres mots ?
– Devinez et vérifiez
– Pouvez-vous imaginer un dessin, un schéma
qui pourrait vous aider à comprendre le
problème ?
– Éliminez les impossibilités
– Y a-t-il suffisamment d’informations pour
vous permettre de trouver une solution ?
– Comprenez-vous tous les mots utilisés dans
l’énoncé ?
– Avez-vous besoin d’informations
supplémentaires pour trouver la solution ?
– Faites une liste ordonnée des possibilités
– Utilisez la symétrie
– Envisagez des cas particuliers
– Utilisez un raisonnement direct
– Résolvez une équation
En outre, il faut essayer les pistes suivantes :
– Recherchez un motif
– Faites un dessin
– Résolvez un problème plus simple
– Avez-vous déjà résolu un problème similaire ?
analogue ? plus général ?
– Utilisez un modèle
– Partez de la conclusion
– Utilisez une formule
– Utilisez votre imagination, votre créativité
– Utilisez votre bon sens
3
TD 1
Boucles et estimations numériques
Échauffement
Exercice 1.1. La corde
Une corde de 101 m de long est accrochée par ses extrémités à deux anneaux distants de 100 m. Si
une grue saisit la corde en son exact milieu et la soulève verticalement, jusqu’à quelle hauteur pourrat-elle l’élever sans rupture ?
Essayez d’estimer la hauteur (quelques millimètres, quelques centimètres, quelques mètres ?), puis
formalisez le problème (faites un dessin, trouvez une formule, calculez le résultat). Le résultat est il
conforme à votre estimation ?
Exercice 1.2. Volume de stockage
En décembre 2013, Alexander Yee et Shigeru Kondo ont battu leur précédent record de calcul du
nombre de décimales de π (12, 1 billions, soit 1, 21 · 1013 ). Le calcul a pris 94 jours sur des machines
du commerce, un petit peu boostées (cf. fig. 1.1). Si l’on décidait de les imprimer sur du papier A4,
conditionné par ramette de 5 cm d’épaisseur contenant chacune 500 feuilles , à raison de 80 chiffres
par ligne, de 70 lignes par page et de 2 pages par feuille, quel serait le volume nécessaire pour stocker
les décimales de π ?
Exercice 1.3. Estimation
Le 5 novembre 2009, onze millions d’euros ont été dérobés. Mais comment les transporter si ce butin
est en coupures de 200 euros ? Une sacoche ? Une valise ? Un coffre de voiture ? Une camionnette ? Un
camion ? Une péniche ?
Et onze millions d’euros, en billets de 200, ça pèse combien (voir Figure 1.2) ?
Exercice 1.4. Les deux fées
Pour de la naissance de la princesse Comparación Dello Crecimiento, les fées Exponenzia et Linearia
se penchèrent sur son berceau :
Linearia – Jusqu’à ton 22e anniversaire, ce coffre magique se garnira d’un euro supplémentaire par
jour.
Exponenzia – Voici un coffre qui contient un centime d’euro. À chacun de tes anniversaires, la
somme dans le coffre sera doublée. Pour tes cinq ans, tu possèderas donc 32 centimes.
Le jour du 22e anniversaire de la princesse, quel coffre sera le plus rempli ?
JCG
ESIEE Paris IGI-3006
Figure 1.1 — L’ordinateur du record
Site du record :
http://www.numberworld.org/misc_runs/pi-12t/
Figure 1.2 — Caractéristiques des billets
Coupure
Taille (mm)
Poids (g)
5 euros
120 × 62 × 0,1
0,6
10 euros 127 × 67 × 0,1
0,7
20 euros 133 × 72 × 0,1
0,8
50 euros 140 × 77 × 0,1
0,9
100 euros 147 × 82 × 0,1
1
200 euros 153 × 82 × 0,1
1,1
500 euros 160 × 82 × 0,1
1,1
4
TD 1
BOUCLES ET ESTIMATIONS NUMÉRIQUES
L’algorithme de Bresenham
Figure 1.3 — L’algorithme de Bresenham (1)
Tracer la représentation d’un segment de droite sur un écran composé de pixels est un des programmes
les plus fréquemment utilisés. En 1962, Bresenham a proposé un algorithme calculant les points d’un
plan discret permettant d’approcher au mieux un segment de droite étant données ses extrémités. Cet
algorithme peut être considéré comme fondateur de l’infographie.
Comprendre le problème
Pour tracer une représentation du segment d’extrémités ( x A , y A ) et ( x B , y B ), il faudra calculer une
suite de n points ( xi , yi ) avec ( x0 , y0 ) = ( x A , y A ) et ( xn−1 , yn−1 ) = ( x B , y B ).
Quels pixels doit-on allumer ?
Figure 1.4 — L’algorithme de Bresenham (2)
Exercice 1.5. Faire un dessin
Prenez une feuille quadrillée, marquez deux carreaux, tracez un segment reliant les centres de ces
deux carreaux (comme sur la figure 1.3).
Marquer les carreaux qui devront être allumés. Minimisez le nombre de carreaux (comme sur la
figure 1.4).
Exercice 1.6. Valeur de n
Donnez une expression de n en fonction de ( x A , y A ) et ( x B , y B ).
Découper le problème en sous-problèmes plus simples
Dans les cas particuliers de segments horizontaux (y A = y B ), verticaux (x A = x B ) ou diagonaux
(|y B − y A | = | x B − x A |), le problème devient évident.
Exercice 1.7. Simplification du problème
Dans la cas général, l’étude n’est nécessaire que sur un huitième de plan. Pourquoi ?
Les voilà !
Élaborer une stratégie
En considèrant le cas x A < x B , y A < y B et y B − y A < x B − x A (premier octant, comme sur la
figure 1.3), on peut construire le couple ( xi , yi ).
Exercice 1.8. Détermination des xi
Concernant xi , une expression simple le relie à xi−1 . Laquelle ?
Exercice 1.9. Détermination des yi
Concernant yi , on compare yi−1 à f ( xi ) où f est la fonction affine associée au segment de droite.
Quelle est l’expression de f ?
La comparaison de f ( xi ) − yi−1 à 12 permet de déterminer yi
En déduire une manière de calculer yi en fonction de ( xi−1 , yi−1 ).
ESIEE Paris IGI-3006
JCG
L’algorithme de Bresenham
5
Mettre en œuvre la stratégie
Exercice 1.10. Premier octant
Écrivez l’algorithme correspondant au tracé d’un segment dans le premier octant.
Exercice 1.11. Cas général
Écrivez l’algorithme généralisant aux autres octants et aux segments particuliers.
Étudier la solution
L’algorithme écrit utilise des réels. En programmation, les calculs sur les réels sont plus coûteux que
les calculs sur les entiers.
Exercice 1.12. Optimisation
Comment modifier l’algorithme pour qu’il ne porte que sur des entiers ?
Figure 1.5 — L’algorithme de Bresenham (3)
En demandant l’affichage dans l’autre sens, il est possible que ce ne soient pas les même pixels qui
s’allument (comparez les figures 1.4 et 1.5).
Exercice 1.13. Et vice-versa...
Êtes-vous sûr que votre programme affichera les mêmes pixels si l’on intervertit les deux extrémités
du segment ? Si ce n’est pas le cas, modifiez-le.
Aller plus loin
Réfléchissez aux problèmes suivants :
L’algorithme est incorrect : dans l’autre sens, ce ne
sont pas les mêmes pixels qui s’allument...
– le tracé d’arc de cercles ;
– le coloriage de l’intérieur d’une figure fermée.
Mise en œuvre sur machine
Avec votre langage de programmation préféré, écrivez ces algorithmes.
Au cas où des problèmes nouveaux (inattendus) sont apparus, sont-ils dus au langage de programmation ?
à des erreurs dans la conception algorithmique ?
JCG
ESIEE Paris IGI-3006
6
TD 2
ILLUSIONS D’OPTIQUE
TD 2 Illusions d’optique
Échauffement
Figure 2.1 — Le peintre Roman Opalka
Exercice 2.1. Tournoi de tennis
Deux cent trente-sept joueurs sont inscrits à un tournoi de tennis par élimination directe. À chaque
tour, si le nombre des joueurs restant en lice est impair, un joueur tiré au sort est exempté et qualifié
pour le tour suivant, les autres se rencontrant par paires.
Combien de matches au total se dérouleront dans ce tournoi ?
Exercice 2.2. Avec une carte
En supposant que cela soit physiquement possible, quelle serait la hauteur de la pile obtenue en
pliant en deux une carte à jouer de 0,25 mm d’épaisseur 32 fois de suite ?
http://opalka1965.com/fr/index_fr.php
Figure 2.2 — L’afficheur
Note : Un hétérogramme (du grec hétéros : autre et
gramma : lettre) est une phrase comportant chaque lettre
de l’alphabet au plus une fois.
Un pangramme (du grec pan : tous et gramma : lettre) est
une phrase comportant toutes les lettres de l’alphabet.
Exercice 2.3. Le peintre en chiffres
Cet artiste (Figure 2.1) a peint sur ses toiles de 1965 jusqu’à sa mort tous les nombres de 1 à 5 607 249,
écrits en chiffres.
Combien de fois a-t-il peint le chiffre 9 ?
Exercice 2.4. Les poulets
Sur une vieille facture, on peut voir que 72 poulets ont été vendus pour un montant de ?67,9? F. Le
premier chiffre et le dernier chiffre sont illisibles. Pouvez-vous les déterminer ?
Exercice 2.5. Date impaire
Le 19/11/1999 a été la dernière date sous la forme jj/mm/aaaa dont tous les chiffres étaient impairs.
Quelle sera la prochaine date qui aura cette propriété ?
Exercice 2.6. L’afficheur hétéropangrammatique
Le huit mars 2008, à neuf heures vingt-trois, le panneau d’affichage (voir Figure 2.2) de la ligne de
train affichait la date et l’heure comme suit : 08/03/08 09:23
À quelle date et à quelle heure les dix chiffres de l’affichage seront tous différents ? Et la dernière
fois, c’était quand ?
ESIEE Paris IGI-3006
JCG
Trois illusions
7
Figure 2.3 — L’illusion de Herrmann
Trois illusions
Ci contre sont représentées trois illusions historiques.
On remarquera que :
– les taches grises aux intersections des lignes blanches dans l’illusion de Hermann (fig. 2.3) n’existent
pas ;
– les disques blancs aux intersections des lignes noires dans l’illusion de Ehrenstein (fig. 2.4) n’existent
pas ;
– les lignes de l’illusion du Café Wall (fig. 2.5) sont parfaitements horizontales.
On dispose des procédures suivantes :
– ligne(x1,y1,x2,y2,couleur) dessine à l’écran (ou dans une fenêtre) un trait de la couleur spécifiée
entre les points de coordonnées (x1,y1) et (x2,y2)
Figure 2.4 — L’illusion de Ehrenstein
– rectangle(x1,y1,x2,y2,couleur) dessine à l’écran (ou dans une fenêtre) un rectangle plein de la
couleur spécifiée dont les sommets diagonalement opposés sont de coordonnées (x1,y1) et (x2,y2)
Pour ne pas alourdir l’écriture des algorithmes, on supposera connues (et globales) les dimensions
de l’écran (ou de la fenêtre), de (0,0) à (XMAX-1,YMAX-1).
Exercice 2.7. Les trois illusions
Étudiez ces trois illusions.
Pour chacune d’entre elles, précisez les données qui permettraient de la dessiner sans ambiguïté
(positions, tailles, décalages, etc.), puis spécifiez les paramètres d’une procédure permettant de la
dessiner.
Précisez la construction du dessin de chaque illusion en sous-constructions (lignes, carreaux, etc.)
Spécifiez et écrivez l’ensemble des procédures permettant de dessiner chaque illusion.
Mise en œuvre sur machine
Avec votre langage de programmation préféré, écrivez ces algorithmes.
Au cas où des problèmes nouveaux (inattendus) sont apparus, sont-ils dus au langage de programation ?
à des erreurs dans la conception algorithmique ?
JCG
ESIEE Paris IGI-3006
Figure 2.5 — L’illusion du Café Wall
TD 3
8
Figure 3.1 — Syntaxe à utiliser
rôle
syntaxe
affectation
s ← "algo"
longueur
longueur(s)
concaténation s+"rithme"
consultation
s[2]
modification
s[0]← ’A’
sous-chaine
ssch(s,2,3)
CHAÎNES ET MOTIFS
TD 3 Chaînes et motifs
résultat
s réfère "algo"
4
"algorithme"
’g’
s réfère "Algo"
"go"
Dans tout ce TD, on considérera une chaîne comme un tableau de caractères. On s’autorisera
l’affectation, la concaténation, la consultation ou la modification d’un caractère et l’extraction d’une
sous-chaîne (voir Figure 3.1).
Pour mettre en œuvre les algorithmes, des exemples de grands fichiers textes se trouvent aux URL
suivantes :
– le texte intégral du roman Quatre-vingt-treize de Victor Hugo Unicode ou ANSI
– un gros dictionnaire : un mot par ligne Unicode ou ANSI
– les communes de France format csv : indicatif département ;nom ;population Unicode ou ANSI
Figure 3.2 — Les lettre spéciales en français
àâäçéèêëîïôöùûüæœ
auquelles on ajoute parfois :
åñÿ
Échauffement
Dans un texte composé en alphabet latin, se rencontrent plusieurs types de caractères :
– des lettres de l’alphabet de base (de 'A' à 'Z', de 'a' à 'z')
– des variantes diacritées des lettres ('à', 'ç', etc.)
– deux ligatures : æ et œ
– des chiffres ('0' à '9')
Figure 3.3 — Appartenance
car chaîne
– des signes de ponctuation (',', '(', '?', etc.)
résultat
– des espaces (' ', '\t', '\n', etc.)
Exercice 3.1. Appartenance
Créez la fonction qui renvoie Vrai ou Faux selon que son premier paramètre (caractère) appartient
ou non à son deuxième paramètre (chaîne de caractère) (voir Figure 3.3).
’e’
"aeiouy"
Vrai
’e’
"Noël"
Faux
Figure 3.4 — Un pangramme
portez ce vieux whisky au juge blond qui fume.
Figure 3.5 — Un palindrome
engage le jeu que je le gagne
Exercice 3.2. Pangrammes
Créez la fonction qui vérifie qu’une chaîne est un pangramme (c’est-à-dire qu’elle contient toutes les
lettres de l’alphabet). On supposera que la chaîne ne contient que des lettres minuscules de l’alphabet
de base (sans diacritiques, ni ligatures). (voir Figure 3.4)
Exercice 3.3. Palindrome
Créez la fonction qui vérifie qu’une chaîne est un palindrome (c’est-à-dire qu’elle se lit, aux ponctuations
et espaces près, de droite à gauche comme de gauche à droite). On supposera que la chaîne ne contient
que des lettres minuscules de l’alphabet de base (sans diacritiques, ni ligatures). (voir Figure 3.5)
ESIEE Paris IGI-3006
JCG
Algorithmes du typographe
9
Exercice 3.4. Normalisation d’un mot
Créez la fonction qui renvoie la chaîne normalisée d’une chaîne, à savoir sa version tout en minuscules,
sans accents, ni ligature. On conservera tels quels les caractères qui ne sont pas des lettres (voir
Figure 3.6).
Exercice 3.5. Les nombres en français
Étant donné un nombre décimal écrit sous sa forme chaîne de caractère dans un langage de programmtion
(pas de séparateur de milliers, point décimal), créez la fonction qui retourne la chaîne de caractères
contenant sa forme française (espace séparateur de miliers, virgule décimale). (voir Figure3.7)
Exercice 3.6. Affichage de polynômes
Étant donné un polynôme représenté par le tableau de ses coefficients, créez la fonction qui calcule
et affiche les chaînes de caractères contenant sa représentation sur deux lignes (exposants dans la
premières lignes et coefficients dans la seconde), de telle sorte que l’on ait un affichage parlant du
polynôme (cf. Figure 3.8).
Exercice 3.7. The Look And Say Sequence
C’est J.H. Conway qui aurait inventé cette suite (voir Figure 3.9) : chaque élément lit l’élément
précédent en comptant les chiffres consécutifs identiques. Le prochain terme est 312211.
Écrivez l’algorithme calculant la chaîne suivante d’une chaîne s de la suite de Conway.
Figure 3.6 — Normalisation
chaîne
résultat
"L’âne et le bœuf"
Figure 3.7 — Les nombres à la française
donnée
résultat
"1234"
→ "1 234"
"-3.14159"
→ "-3,141 59"
"12345.67890" → "12 345,678 90"
Figure 3.8 — Les polynômes
donnée
résultat affiché
[1, 2, 3, 4]
→
3
2
x
[3, 0, 0, 0, -1]
→
Algorithmes du typographe
Exercice 3.8. Découpage en mots
Écrivez l’algorithme découpant en mots une chaîne de caractères. On utilisera la définition (faible)
suivante d’un mot : un mot est une chaîne de caractère commençant par une lettre et se terminant juste
avant le prochain caractère non lettre.
"l’ane et le boeuf"
+ 2x
3x
4
+ 3x + 4
- 1
Figure 3.9 — La suite de Conway
1
11
21
1211
111221
...
Exercice 3.9. Recherche de doublons
Écrivez l’algorithme recherchant et affichant tous les doublons d’une chaîne de caractères (mots
identiques séparés par une espace).
Exercice 3.10. Plus longue répétition
Dans un fichier texte, trouvez la plus longue suite de caractères présente au moins deux fois. Un
premier algorithme est en Θ(n2 ).
Au prix d’un surcoût de mémoire (un tableau de n entiers indiquant les positions de chaque
caractère), on peut trier ce tableau sur le critère de l’ordre lexical des chaînes et comparer les éléments
consécutifs.
JCG
ESIEE Paris IGI-3006
Figure 3.10 — Plus longue répétition
0
1
2
3
4
5
6
7
8
9
10
ABRACADABRA
BRACADABRA
RACADABRA
ACADABRA
CADABRA
ADABRA
DABRA
ABRA
BRA
RA
A
10
7
0
3
5
8
1
4
6
9
2
A
ABRA
ABRACADABRA
ACADABRA
ADABRA
BRA
BRACADABRA
CADABRA
DABRA
RA
RACADABRA
TD 3
10
Figure 3.11 — Texte original
LE BOIS DE LA SAUDRAIE
Dans les derniers jours de mai 1793, un des bataillons parisiens amenés en
Bretagne par Santerre fouillait le redoutable bois de la Saudraie en
stillé. On n'était pas plus de trois cents, car le bataillon était décimé
par cette rude guerre. C'était l'époque où, après l'Argonne, Jemmapes et
Valmy, du premier bataillon de Paris, qui était de six cents volontaires,
il restait vingt-sept hommes, du deuxième trente-trois, et du troisième
cinquante-sept. Temps des luttes épiques.
Les bataillons envoyés de Paris en Vendée comptaient neuf cent douze
hommes. Chaque bataillon avait trois pièces de canon. Ils avaient été
rapidement mis sur pied. Le 25 avril, Gohier étant ministre de la justice
et Bouchotte étant ministre de la guerre, la section du Bon-Conseil avait
proposé d'envoyer des bataillons de volontaires en Vendée; le membre
de la commune Lubin avait fait le rapport; le 1er mai, Santerre était prêt
à faire partir douze mille soldats, trente pièces de campagne et un
bataillon de canonniers. Ces bataillons, faits si vite, furent si bien
faits, qu'ils servent aujourd'hui de modèles; c'est d'après leur mode de
composition qu'on forme les compagnies de ligne, ils ont changé
l'ancienne proportion entre le nombre des soldats et le nombre des
sous-officiers.
CHAÎNES ET MOTIFS
Exercice 3.11. Justification de texte
Soit une chaîne de caractères (voir Figure 3.11) de grande taille composée de mots séparés par des
espaces et de caractères de fin de lignes ('\n').
On considérera qu’un paragraphe se termine par une ligne vide (ne contenant qu’un caractère de
fin de ligne).
Créer la chaîne de caractère destinée à l’impression justifiée en lignes de 80 caractères. Chaque ligne
sera coupée avant le mot dont l’ajout dépasserait la limite (voir Figure 3.12).
Algorithmes du dictionnaire
Pour chacun des exercices suivants, on réfléchira et on écrira les algorithmes dans les deux contextes
suivants :
• le dictionnaire est codé sous la forme d’un tableau de mots en mémoire
– accès direct au mot no i : dico[i]
– taille du dictionnaire : taille(dico)
Figure 3.12 — Le même texte justifié
LE BOIS DE LA SAUDRAIE
Dans les derniers jours de mai 1793, un des bataillons parisiens amenés en
Bretagne par Santerre fouillait le redoutable bois de la Saudraie en Astillé.
On n'était pas plus de trois cents, car le bataillon était décimé par cette
rude guerre. C'était l'époque où, après l'Argonne, Jemmapes et Valmy, du
premier bataillon de Paris, qui était de six cents volontaires, il restait
vingt-sept hommes, du deuxième trente-trois, et du troisième cinquante-sept.
Temps des luttes épiques.
Les bataillons envoyés de Paris en Vendée comptaient neuf cent douze hommes.
Chaque bataillon avait trois pièces de canon. Ils avaient été rapidement mis
sur pied. Le 25 avril, Gohier étant ministre de la justice et Bouchotte étant
ministre de la guerre, la section du Bon-Conseil avait proposé d'envoyer des
bataillons de volontaires en Vendée; le membre de la commune Lubin avait fait
le rapport; le 1er mai, Santerre était prêt à faire partir douze mille soldats,
trente pièces de campagne et un bataillon de canonniers. Ces bataillons, faits
si vite, furent si bien faits, qu'ils servent aujourd'hui de modèles; c'est
d'après leur mode de composition qu'on forme les compagnies de ligne, ils ont
changé l'ancienne proportion entre le nombre des soldats et le nombre des
sous-officiers.
• le dictionnaire est stocké sur support externe (fichier texte) avec impossibilité de le charger complètement
en mémoire.
– Accès séquentiel au mot : lireMotSuivant(dico)
– Accès séquentiel à la fin de la ligne : lireLigne(dico)
– Revenir en début de dictionnaire : raz(dico)
– Test de fin : fin(dico) retourne Vrai si plus aucun mot à lire, Faux sinon
De plus, on supposera qu’une fonction normalise(mot) est disponible (cf. exercice 3.4)
Exercice 3.12. Le mot le plus long
Étant donné un énoncé (tableau de n lettres de l’alphabet), trouver le mot le plus long du dictionnaire
correspondant à cet énoncé.
Exercice 3.13. Mots monotones
Le mot "dort" est croissant : ses lettres sont en ordre alphabétique (’d’<’o’<’r’<’t’). Saurez-vous
trouver un mot croissant de six lettres ? Il y en a au moins trois dont deux sont très communs... Et
un mot décroissant de sept lettres ?
Exercice 3.14. Les six voyelles
Trouvez un mot français (le plus court, si possible) contenant les six voyelles de l’alphabet.
ESIEE Paris IGI-3006
JCG
11
TD 4
Ordonnancement
Échauffement
Exercice 4.1. Quand la mer monte
Un bateau ancré dans un port a sur son flanc droit une échelle de secours. À marée basse, il y a 7
échelons hors de l’eau. Sachant que la marée monte de 30 cm par heure et que les échelons sont distants
entre eux de 20 cm, combien y aura-t-il d’échelons hors de l’eau après 3 heures de marée montante ?
Exercice 4.2. Prouvez que 42 est nul
Soit à résoudre l’équation
réécriture de (1)
multiplication de (1) par x
√
mise en facteur de 14 dans les deux derniers termes de (3)
√
remplacement dans (4) de x2 + x 14 par sa valeur dans (2)
réécriture de (5)
résolution de (6)
remplacement dans (1) de x par sa valeur dans (7)
√
x2 + x 14 + 14
√
x2 + x 14
√
x3 + x2 14 + 14x
√
√
x3 + 14( x2 + x 14)
√
x3 + 14(−14)
x3
x
√ 2 √ √
14 + 14 14 + 14
=
0
=
−14
=
0
=
0
=
0
√
= 14 14
√
14
=
(1)
(2)
(3)
(4)
(5)
(6)
(7)
=
(7)
0
42 = 0
Trouvez l’erreur...
Exercice 4.3. La fausse pièce
Parmi neuf pièces de monnaies identiques, une d’entre elles est fausse : elle est plus légère que les
autres. Comment la déterminer en ne faisant que deux pesées à l’aide d’une balance de Roberval ?
Exercice 4.4. Le garde des seaux
Avec deux seaux de 3 et 5 litres, comment faire pour ramener exactement 4 litres d’eau de la
fontaine ?
Exercice 4.5. Se faire cuire un œuf
Le temps de cuisson d’un œuf est de quinze minutes. Comment faire le plus rapidement possible si
vos seuls instruments de mesure sont deux sabliers, un de sept minutes et un autre de onze minutes ?
JCG
ESIEE Paris IGI-3006
TD 4
12
ORDONNANCEMENT
Ordonnancement
Figure 4.1 — Aperçu du livre de Nicolas Chuquet
Exercice 4.6. Le loup, la chèvre et le chou
Nicolas Chuquet (1450-1488), escripvain et maistre d’algorisme est l’auteur du Triparty en la science des
nombres (1484), l’un des premiers traités en français d’algèbre et de géométrie, propose le problème
suivant, déjà proposé en latin par Alcuin (735-804) :
http://gallica.bnf.fr/ark:
/12148/btv1b9058845h/f221
Le jeu du loup de la chevre et du chou
Il est ung marchant qui mene vendre au marche ung loup, une chevre et ung chou. Et ainsi qu’il y aloit et conduisoit sa
marchandise, en gardant que le loup ne fist oultrage a la chevre et que la chevre ne mangeast le chou, il va trouver une
riviere, laquelle il convient qu’il passe en ceste maniere, c’est assavoir que a la foiz il ne peult ne doit passer fors une des
troys choses qu’il conduyt, et en telle maniere et façon que le loup, en l’absence du marchant, ne puisse faire dommage a
la chevre, ne la chevre au chou. Car si le marchant n’est tousjours present la chevre mangera le chou, ou la chevre sera
mangee du loup. Et pourtant, l’on demande commant le marchant pourra passer sa marchandise oultre la riviere sans
encourir aulcun dommage.
Figure 4.2 — Récréations mathématiques
Exercice 4.7. Les maris jaloux
Édouard Lucas (1842-1891) revisite le thème dans ses Récréations Mathématiques (1882).
Trois maris jaloux se trouvent avec leurs femmes au passage d’une rivière, et rencontrent un bateau sans batelier ;
ce bateau est si petit, qu’il ne peut porter plus de deux personnes à la fois. On demande comment ces six personnes
passeront, de telle sorte qu’aucune femme ne demeure en la compagnie d’un ou de deux hommes, si son mari n’est
présent.
Exercice 4.8. Les ponts de Kœnigsberg
Dans le même volume, Édouard Lucas revient sur le problème très célèbre des ponts de Kœnigsberg
posé et résolu par Leonhard Euler en 1736.
http://gallica.bnf.fr/ark:
/12148/bpt6k3943s/f47.image
À Kœnigsberg, en Poméranie, il y a une île appelée Kneiphof ; le fleuve qui l’entoure se divise en deux bras (fig. 4.2), sur
lesquels sont jetés les sept ponts a, b, c, d, e, f, g. Cela posé, peut-on arranger son parcours de telle sorte que l’on passe
sur chaque pont, et que l’on ne puisse y passer qu’une seule fois ? Cela semble possible, disent les uns ; impossible,
disent les autres ; cependant personne n’a la certitude de son sentiment. Je me suis donc proposé le problème suivant,
qui est très général :
Quelle que soit la forme d’un fleuve, sa distribution en bras, par des îles en nombre quelconque, et quel que soit
le nombre des ponts jetés sur le fleuve, trouver si l’on peut franchir celui-ci en passant une fois, et une seule, sur
chacun des ponts.
ESIEE Paris IGI-3006
JCG
Ordonnancement
13
Exercice 4.9. Singing in the rain
Quatre personnes doivent se rendre sous une pluie battante de la station de RER de Noisy-Champs
à l’ESIEE. Ils désirent ne pas se mouiller et disposent d’un seul parapluie, permettant d’abriter deux
personnes. La plus rapide de ces personnes peut faire le trajet (dans un sens ou dans l’autre) en une
minute, la suivante en deux minutes, la troisième en cinq minutes et enfin la plus lente en dix minutes.
Si deux personnes marchent sous le parapluie, c’est bien sûr à la vitesse de la plus lente des deux.
En combien de temps minimum peuvent-elles toutes se retrouver à l’ESIEE sans se mouiller ?
Exercice 4.10. Crash test pour œufs
Vous disposez de deux œufs génétiquement modifiés parfaitement identiques. Vous souhaitez savoir
à partir de quel étage d’un immeuble de 100 étages ces œufs cassent lorsqu’ils sont lancés par la fenêtre.
Quelle est la meilleure stratégie pour effectuer le moins possible de tests dans le pire des cas ? (la
stratégie consistant à faire un premier test au 50e étage, puis s’il casse, à tester tous les étages du rez
de chaussée au 49e étage n’est pas la meilleure)
Évidemment, si un des œufs se casse, il ne peut plus resservir pour un test.
Exercice 4.11. Permutation maximale
Huit personnes (A, B, C, D, E, F et G) se sont vu attribuer huit cadeaux (1, 2, 3, 4, 5, 6, 7 et 8) dans cet
ordre. Malheureusement, elles ne sont pas toutes satisfaites de leurs cadeaux. A et B auraient préféré
le cadeau 3, C aurait préféré le cadeau 1, D aurait préféré le cadeau 6 (F aussi, mais il l’a eu), E aurait
préféré le cadeau 4, G aurait préféré le cadeau 8 et H aurait préféré le cadeau 5.
Peut-on opérer un échange de cadeaux de manière à maximiser le nombre de personnes soit
satisfaites ? Évidemment, une personne n’échangera son cadeau que si elle peut obtenir celui qu’elle
désire.
Exercice 4.12. Après vous...
Nos huit personnes désirant franchir une passerelle étroite, font assaut de politesse.
« Après vous », disent F et H à C.
« Après vous », disent C, F et H à E.
« Après vous », disent E, G et D à A.
« Après vous », dit E à G.
« Après vous », disent C, F et H à D.
« Après vous », dit F à H.
« Après vous », disent A, H et D à B.
Dans quel ordre peuvent-elles passer ?
JCG
ESIEE Paris IGI-3006