cours d'algorithmique 3 - intranet 1 13 novembre 2006 cours dalgorithmique parcours darbres....
TRANSCRIPT
![Page 1: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/1.jpg)
Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 1113 novembre 200613 novembre 2006
Cours d’AlgorithmiqueCours d’Algorithmique
Parcours d’arbres.Parcours d’arbres.
Induction sur la structure.Induction sur la structure.
Back-track.Back-track.
Minimax.Minimax.
![Page 2: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/2.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 22
• Trier et chercherTrier et chercher• Listes etListes et arbres arbres• Le back-trackLe back-track• Arbres équilibrésArbres équilibrés• Récursivité etRécursivité et induction sur la structureinduction sur la structure• Divide and conquerDivide and conquer• MinimaxMinimax• DérécursionDérécursion• NP-complétudeNP-complétude• Logique de HoareLogique de Hoare• Programmation dynamiqueProgrammation dynamique• Complexité et calculabilitéComplexité et calculabilité
Les grandes lignes du coursLes grandes lignes du cours
![Page 3: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/3.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 33
Fibonnacci et les arbresFibonnacci et les arbres----------------------------------------------------------------------------------------------------------------------------------
int fibonnacci (int n)
{if ( n == 0 )
return(0);
else
if ( n == 1 )
return(1);
else
return( fibonnacci(n-1) + fibonnacci(n-2) ); }
Fibonnacci est une fonction qui comporte deux appels récursifs.Fibonnacci est une fonction qui comporte deux appels récursifs.
Tout appel construit donc deux autres appels.Tout appel construit donc deux autres appels.
Construisons cet arbre.Construisons cet arbre.
![Page 4: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/4.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 44
Fibonnacci et les arbresFibonnacci et les arbres----------------------------------------------------------------------------------------------------------------------------------
int fibonnacci (int n)
{if ( n == 0 )
return(0);
else
if ( n == 1 )
return(1);
else
return( fibonnacci(n-1) + fibonnacci(n-2) ); }
Fibonnacci est une fonction qui comporte deux appels récursifs.Fibonnacci est une fonction qui comporte deux appels récursifs.
Tout appel construit donc deux autres appels.Tout appel construit donc deux autres appels.
Construisons cet arbre.Construisons cet arbre.
Les cas d’arrêt.Les cas d’arrêt.
Les appels récursifs.Les appels récursifs.
![Page 5: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/5.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 55
Fibonnacci et les arbresFibonnacci et les arbres----------------------------------------------------------------------------------------------------------------------------------
ptr_arbre arbre_fibo (int n)
{if ( n == 0 )
return( cree_feuille(0) );
else
if ( n == 1 )
return( cree_feuille(1) );
else
return( cree_noeud( arbre_fibo(n-1),
arbre_fibo(n-2) ) ) ; }
![Page 6: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/6.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 66
Fibonnacci et les arbresFibonnacci et les arbres----------------------------------------------------------------------------------------------------------------------------------
1 0
22
1 0
22 1
33
44
1 0
22 1
33
55arbre_fibo(5)arbre_fibo(5)
![Page 7: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/7.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 77
Fibonnacci et les arbresFibonnacci et les arbres----------------------------------------------------------------------------------------------------------------------------------
1 0
22
1 0
22 1
33
44
1 0
22 1
33
55arbre_fibo(5)arbre_fibo(5)
On observe que de nombreux calculs sont répétés !On observe que de nombreux calculs sont répétés !
![Page 8: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/8.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 88
Calcul de la somme des feuillesCalcul de la somme des feuilles----------------------------------------------------------------------------------------------------------------------------------
int somme_arbre_fibo (ptr_arbre arbre)
{if ( est_feuille(arbre) )
return( valeur_feuille(arbre) );
else
return( somme_arbre_fibo(fils_gauche(arbre))
+ somme_arbre_fibo(fils_droit(arbre)) ) ; }
![Page 9: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/9.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 99
Calcul de la somme des feuillesCalcul de la somme des feuilles----------------------------------------------------------------------------------------------------------------------------
------
1 0
22
1 0
22 1
33
44
1 0
22 1
33
55arbre_fibo(5)arbre_fibo(5)
11 00
11
![Page 10: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/10.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 1010
Calcul de la somme des feuillesCalcul de la somme des feuilles----------------------------------------------------------------------------------------------------------------------------
------
1 0
22
1 0
22 1
33
44
1 0
22 1
33
55arbre_fibo(5)arbre_fibo(5)
11 00
1111
22
![Page 11: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/11.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 1111
Calcul de la somme des feuillesCalcul de la somme des feuilles----------------------------------------------------------------------------------------------------------------------------
------
1 0
22
1 0
22 1
33
44
1 0
22 1
33
55
11 00
1111
22 11
arbre_fibo(5)arbre_fibo(5)
![Page 12: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/12.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 1212
Calcul de la somme des feuillesCalcul de la somme des feuilles----------------------------------------------------------------------------------------------------------------------------
------
1 0
22
1 0
22 1
33
44
1 0
22 1
33
55somme_somme_arbre_fibo(5) arbre_fibo(5) = 5= 5
11 00
1111
22 11
33
11
22
55
![Page 13: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/13.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 1313
Calcul de la somme des feuillesCalcul de la somme des feuilles----------------------------------------------------------------------------------------------------------------------------------
int somme_arbre_fibo (ptr_arbre arbre)
{return( somme_acc(arbre , 0) ) ; }
int somme_acc(ptr_arbre arbre , int accumule)
{if ( est_feuille(arbre) )
return( accumule + valeur_feuille(arbre) );
else
return( somme_acc(fils_droit(arbre) ,
somme_acc(fils_gauche(arbre) ,
accumule)) ) ; }
![Page 14: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/14.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 1414
Calcul de la somme des feuillesCalcul de la somme des feuilles----------------------------------------------------------------------------------------------------------------------------
------
1 0
22
1 0
22 1
33
44
1 0
22 1
33
55arbre_fibo(5)arbre_fibo(5)
11
accumule = 0accumule = 0
![Page 15: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/15.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 1515
Calcul de la somme des feuillesCalcul de la somme des feuilles----------------------------------------------------------------------------------------------------------------------------
------
1 0
22
1 0
22 1
33
44
1 0
22 1
33
55arbre_fibo(5)arbre_fibo(5)
11
accumule = 0accumule = 0
11
![Page 16: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/16.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 1616
Calcul de la somme des feuillesCalcul de la somme des feuilles----------------------------------------------------------------------------------------------------------------------------
------
1 0
22
1 0
22 1
33
44
1 0
22 1
33
55arbre_fibo(5)arbre_fibo(5)
11
accumule = 0accumule = 0
11
22
![Page 17: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/17.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 1717
somme_somme_arbre_fibo(5) arbre_fibo(5) = 5= 5
Calcul de la somme des feuillesCalcul de la somme des feuilles----------------------------------------------------------------------------------------------------------------------------
------
1 0
22
1 0
22 1
33
44
1 0
22 1
33
55
11
accumule = 0accumule = 0
11
22 . . .. . .
accumule = 5accumule = 5
![Page 18: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/18.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 1818
L E SL E ST Y P E ST Y P E S
D ED EP A R C O U R SP A R C O U R S
Types de parcoursTypes de parcours----------------------------------------------------------------------------------------------------------------------------
------
![Page 19: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/19.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 1919
Types de parcoursTypes de parcours----------------------------------------------------------------------------------------------------------------------------
------
Parcours préfixeParcours préfixe
res_fg = appel ( fg(a) );res_fg = appel ( fg(a) );
res_fd = appel ( fd(a) );res_fd = appel ( fd(a) );
return( ... res_fg ... res_fd ... );return( ... res_fg ... res_fd ... );
![Page 20: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/20.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 2020
Types de parcoursTypes de parcours----------------------------------------------------------------------------------------------------------------------------
------
Parcours préfixeParcours préfixe
res_fg = res_fg = appel ( fg(a) );appel ( fg(a) );
res_fd = appel ( fd(a) );res_fd = appel ( fd(a) );
return( ... res_fg ... res_fd ... );return( ... res_fg ... res_fd ... );
![Page 21: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/21.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 2121
Types de parcoursTypes de parcours----------------------------------------------------------------------------------------------------------------------------
------
Parcours préfixeParcours préfixe
res_fg =res_fg = appel ( fg(a) );appel ( fg(a) );
res_fd = appel ( fd(a) );res_fd = appel ( fd(a) );
return( ... res_fg ... res_fd ... );return( ... res_fg ... res_fd ... );
![Page 22: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/22.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 2222
Types de parcoursTypes de parcours----------------------------------------------------------------------------------------------------------------------------
------
Parcours préfixeParcours préfixe
res_fg =res_fg = appel ( fg(a) );appel ( fg(a) );
res_fd = res_fd = appel ( fd(a) );appel ( fd(a) );
return( ... res_fg ... res_fd ... );return( ... res_fg ... res_fd ... );
![Page 23: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/23.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 2323
Types de parcoursTypes de parcours----------------------------------------------------------------------------------------------------------------------------
------
Parcours préfixeParcours préfixe
res_fg =res_fg = appel ( fg(a) );appel ( fg(a) );
res_fd =res_fd = appel ( fd(a) );appel ( fd(a) );
return( ... res_fg ... res_fd ... );return( ... res_fg ... res_fd ... );
![Page 24: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/24.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 2424
Types de parcoursTypes de parcours----------------------------------------------------------------------------------------------------------------------------
------
Parcours préfixeParcours préfixe
res_fg =res_fg = appel ( fg(a) );appel ( fg(a) );
res_fd =res_fd = appel ( fd(a) );appel ( fd(a) );
return( ... res_fg ... res_fd ... );return( ... res_fg ... res_fd ... );
Ou encore :Ou encore : ... appel ( fg(a) ) / appel ( fd(a) ) ...... appel ( fg(a) ) / appel ( fd(a) ) ...
![Page 25: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/25.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 2525
Types de parcoursTypes de parcours----------------------------------------------------------------------------------------------------------------------------
------
Parcours suffixe ou postfixeParcours suffixe ou postfixe
res_fg = appel (res_fg = appel ( fd fd(a) );(a) );
res_fd = appel (res_fd = appel ( fg fg(a) );(a) );
return( ... res_fg ... res_fd ... );return( ... res_fg ... res_fd ... );
![Page 26: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/26.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 2626
Types de parcoursTypes de parcours----------------------------------------------------------------------------------------------------------------------------
------
Parcours suffixe ou postfixeParcours suffixe ou postfixe
res_fg = appel (res_fg = appel ( fd fd(a) );(a) );
res_fd = appel (res_fd = appel ( fg fg(a) );(a) );
return( ... res_fg ... res_fd ... );return( ... res_fg ... res_fd ... );
Ou encore :Ou encore : ... appel (... appel ( fd fd(a) ) / appel ( (a) ) / appel ( fgfg(a) ) ...(a) ) ...
![Page 27: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/27.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 2727
Types de parcoursTypes de parcours----------------------------------------------------------------------------------------------------------------------------
------
Parcours avec opérateur commutatif : Parcours avec opérateur commutatif : l’ordre de parcours estl’ordre de parcours estsans importance !sans importance !
... oper_commute ( ... oper_commute ( fgfg(a) , (a) , fdfd(a) ) ...(a) ) ...
... oper_commute ( ... oper_commute ( fdfd(a) , (a) , fgfg(a) ) ...(a) ) ...
Exemple : notre calcul de la somme de Fibonnacci.Exemple : notre calcul de la somme de Fibonnacci.
![Page 28: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/28.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 2828
Types de parcours avec étiquettesTypes de parcours avec étiquettes----------------------------------------------------------------------------------------------------------------------------
------Traitement de l’étiquette, soit avant, soit après, soit pendant !Traitement de l’étiquette, soit avant, soit après, soit pendant !
1 5
++ 3
**
![Page 29: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/29.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 2929
Types de parcours avec étiquettesTypes de parcours avec étiquettes----------------------------------------------------------------------------------------------------------------------------
------Traitement de l’étiquette, soit Traitement de l’étiquette, soit avantavant, soit après, soit pendant !, soit après, soit pendant !
1 5
++ 3
• Impression préfixe de l’arbre :Impression préfixe de l’arbre :
** + + 1 1 5 5 33**
![Page 30: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/30.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 3030
Types de parcours avec étiquettesTypes de parcours avec étiquettes----------------------------------------------------------------------------------------------------------------------------
------Traitement de l’étiquette, soit Traitement de l’étiquette, soit avantavant, soit après, soit pendant !, soit après, soit pendant !
1 5
++ 3
• Impression préfixe de l’arbre :Impression préfixe de l’arbre :
** + + 1 1 5 5 33**
![Page 31: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/31.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 3131
Types de parcours avec étiquettesTypes de parcours avec étiquettes----------------------------------------------------------------------------------------------------------------------------
------Traitement de l’étiquette, soit Traitement de l’étiquette, soit avantavant, soit après, soit pendant !, soit après, soit pendant !
1 5
++ 3
• Impression préfixe de l’arbre :Impression préfixe de l’arbre :
** + + 1 1 5 5 33**
![Page 32: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/32.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 3232
Types de parcours avec étiquettesTypes de parcours avec étiquettes----------------------------------------------------------------------------------------------------------------------------
------Traitement de l’étiquette, soit Traitement de l’étiquette, soit avantavant, soit après, soit pendant !, soit après, soit pendant !
1 5
++ 3
• Impression préfixe de l’arbre :Impression préfixe de l’arbre :
** + + 1 1 5 5 33**
![Page 33: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/33.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 3333
Types de parcours avec étiquettesTypes de parcours avec étiquettes----------------------------------------------------------------------------------------------------------------------------
------Traitement de l’étiquette, soit Traitement de l’étiquette, soit avantavant, soit après, soit pendant !, soit après, soit pendant !
1 5
++ 3
• Impression préfixe de l’arbre :Impression préfixe de l’arbre :
** + + 1 1 5 5 33**
![Page 34: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/34.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 3434
Types de parcours avec étiquettesTypes de parcours avec étiquettes----------------------------------------------------------------------------------------------------------------------------
------Traitement de l’étiquette, soit Traitement de l’étiquette, soit avantavant, soit après, soit pendant !, soit après, soit pendant !
1 5
++ 3
• Impression préfixe de l’arbre :Impression préfixe de l’arbre :
** + + 1 1 5 5 33**
![Page 35: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/35.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 3535
Types de parcours avec étiquettesTypes de parcours avec étiquettes----------------------------------------------------------------------------------------------------------------------------
------Traitement de l’étiquette, soit Traitement de l’étiquette, soit avantavant, soit , soit aprèsaprès, soit pendant !, soit pendant !
1 5
++ 3
• Impression préfixe de l’arbre :Impression préfixe de l’arbre :
** + + 1 1 5 5 33
• Impression postfixe de Impression postfixe de l’arbre :l’arbre :
1 1 5 5 + + 3 3 **
**
![Page 36: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/36.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 3636
Types de parcours avec étiquettesTypes de parcours avec étiquettes----------------------------------------------------------------------------------------------------------------------------
------Traitement de l’étiquette, soit Traitement de l’étiquette, soit avantavant, soit , soit aprèsaprès, soit pendant !, soit pendant !
1 5
++ 3
• Impression préfixe de l’arbre :Impression préfixe de l’arbre :
** + + 1 1 5 5 33
• Impression postfixe de Impression postfixe de l’arbre :l’arbre :
1 1 5 5 + + 3 3 **
**
![Page 37: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/37.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 3737
Types de parcours avec étiquettesTypes de parcours avec étiquettes----------------------------------------------------------------------------------------------------------------------------
------Traitement de l’étiquette, soit Traitement de l’étiquette, soit avantavant, soit , soit aprèsaprès, soit pendant !, soit pendant !
1 5
++ 3
• Impression préfixe de l’arbre :Impression préfixe de l’arbre :
** + + 1 1 5 5 33
• Impression postfixe de Impression postfixe de l’arbre :l’arbre :
1 1 5 5 + + 3 3 **
**
![Page 38: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/38.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 3838
Types de parcours avec étiquettesTypes de parcours avec étiquettes----------------------------------------------------------------------------------------------------------------------------
------Traitement de l’étiquette, soit Traitement de l’étiquette, soit avantavant, soit , soit aprèsaprès, soit pendant !, soit pendant !
1 5
++ 3
• Impression préfixe de l’arbre :Impression préfixe de l’arbre :
** + + 1 1 5 5 33
• Impression postfixe de Impression postfixe de l’arbre :l’arbre :
1 1 5 5 + + 3 3 **
**
![Page 39: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/39.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 3939
Types de parcours avec étiquettesTypes de parcours avec étiquettes----------------------------------------------------------------------------------------------------------------------------
------Traitement de l’étiquette, soit Traitement de l’étiquette, soit avantavant, soit , soit aprèsaprès, soit , soit pendantpendant ! !
1 5
++ 3
• Impression préfixe de l’arbre :Impression préfixe de l’arbre :
** + + 1 1 5 5 33
• Impression postfixe de l’arbre :Impression postfixe de l’arbre :
1 1 5 5 + + 3 3 **
• Impression infixe parenthésée :Impression infixe parenthésée :
( ( ( ( 1 1 + + 5 5 ) ) * * 3 3 ))
**(( ))
))((
![Page 40: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/40.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 4040
Types de parcours avec étiquettesTypes de parcours avec étiquettes----------------------------------------------------------------------------------------------------------------------------
------Traitement de l’étiquette, soit Traitement de l’étiquette, soit avantavant, soit , soit aprèsaprès, soit , soit pendantpendant ! !
1 5
++ 3
• Impression préfixe de l’arbre :Impression préfixe de l’arbre :
** + + 1 1 5 5 33
• Impression postfixe de l’arbre :Impression postfixe de l’arbre :
1 1 5 5 + + 3 3 **
• Impression infixe parenthésée :Impression infixe parenthésée :
( ( ( ( 1 1 + + 5 5 ) ) * * 3 3 ))
**
![Page 41: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/41.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 4141
Types de parcours avec étiquettesTypes de parcours avec étiquettes----------------------------------------------------------------------------------------------------------------------------
------Traitement de l’étiquette, soit Traitement de l’étiquette, soit avantavant, soit , soit aprèsaprès, soit , soit pendantpendant ! !
1 5
++ 3
• Impression préfixe de l’arbre :Impression préfixe de l’arbre :
** + + 1 1 5 5 33
• Impression postfixe de l’arbre :Impression postfixe de l’arbre :
1 1 5 5 + + 3 3 **
• Impression infixe parenthésée :Impression infixe parenthésée :
( ( ( ( 1 1 + + 5 5 ) ) * * 3 3 ))
**
![Page 42: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/42.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 4242
M O D I F I C A T I O M O D I F I C A T I O NN
D ‘ U ND ‘ U NA R B R EA R B R E
Types de parcoursTypes de parcours----------------------------------------------------------------------------------------------------------------------------
------
![Page 43: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/43.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 4343
Modification d’un arbreModification d’un arbre----------------------------------------------------------------------------------------------------------------------------
------• Nous savons créer un arbre, nous savons parcourir un arbre !Nous savons créer un arbre, nous savons parcourir un arbre !
• Pouvons-nous modifier un arbre ?Pouvons-nous modifier un arbre ?
• OUIOUI– soit, en le reconstruisant,soit, en le reconstruisant,– soit, en le modifiantsoit, en le modifiant
physiquement.physiquement.
![Page 44: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/44.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 4444
Modification d’un arbreModification d’un arbre----------------------------------------------------------------------------------------------------------------------------
------• Nous savons créer un arbre, nous savons parcourir un arbre !Nous savons créer un arbre, nous savons parcourir un arbre !
• Pouvons-nous modifier un arbre ?Pouvons-nous modifier un arbre ?
• OUIOUI– soit, en le reconstruisant,soit, en le reconstruisant,– soit, en le modifiantsoit, en le modifiant
physiquement.physiquement.
33 55 77
2211
11RemplacerRemplacer
parpar dansdans
44 66
![Page 45: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/45.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 4545
Modification d’un arbreModification d’un arbre----------------------------------------------------------------------------------------------------------------------------
------• En reconstruisant :En reconstruisant :
33 55 77
22
44 66
Partie qui doit êtrePartie qui doit êtrereconstruite.reconstruite.
![Page 46: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/46.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 4646
Modification d’un arbreModification d’un arbre----------------------------------------------------------------------------------------------------------------------------
------• En reconstruisant :En reconstruisant :
33 55 77
22
44 66
Partie qui doit êtrePartie qui doit êtrereconstruite.reconstruite.
cree_noeud(cree_noeud( fg(arbre) fg(arbre) ,, cree_noeud(cree_noeud( fg(fd(arbre))fg(fd(arbre)) ,, cree_noeud(cree_noeud( cree_noeud(cree_feuille(4) ,cree_noeud(cree_feuille(4) , cree_feuille(6))cree_feuille(6)) ,, fd(fd(fd(arbre))) fd(fd(fd(arbre))) ) ) ) ;) ) ) ;
![Page 47: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/47.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 4747
Modification d’un arbreModification d’un arbre----------------------------------------------------------------------------------------------------------------------------
------• En reconstruisant :En reconstruisant :
33 55 77
22
44 66
Partie qui doit êtrePartie qui doit êtrereconstruite.reconstruite.
cree_noeud(cree_noeud( fg(arbre)fg(arbre) ,, cree_noeud(cree_noeud( fg(fd(arbre))fg(fd(arbre)) ,, cree_noeud(cree_noeud( cree_noeud(cree_feuille(4) ,cree_noeud(cree_feuille(4) , cree_feuille(6))cree_feuille(6)) ,, fd(fd(fd(arbre)))fd(fd(fd(arbre))) ) ) ) ;) ) ) ;
![Page 48: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/48.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 4848
Modification d’un arbreModification d’un arbre----------------------------------------------------------------------------------------------------------------------------
------• En modifiant :En modifiant :
33 55 77
22
44 66
Pointeur qui estPointeur qui estmodifié.modifié.
![Page 49: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/49.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 4949
Modification d’un arbreModification d’un arbre----------------------------------------------------------------------------------------------------------------------------
------• En modifiant :En modifiant :
33 55 77
22
44 66
Pointeur qui estPointeur qui estmodifié.modifié.
modifie_fg_noeud(modifie_fg_noeud( fd(fd(arbre))fd(fd(arbre)) ,, cree_noeud( cree_feuille(4) ,cree_noeud( cree_feuille(4) , cree_feuille(6) )cree_feuille(6) ) ) ;) ;
![Page 50: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/50.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 5050
Modification d’un arbreModification d’un arbre----------------------------------------------------------------------------------------------------------------------------
------Attention aux Attention aux partages de structurepartages de structure
avec avec modifications physiques !modifications physiques !
sous_arbre = cree_noeud( cree_feuille(3) , cree_feuille(5) );sous_arbre = cree_noeud( cree_feuille(3) , cree_feuille(5) );arbre = cree_noeud( sous_arbre , sous_arbre );arbre = cree_noeud( sous_arbre , sous_arbre );
33 55
ReprésentationReprésentationphysique !physique !
![Page 51: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/51.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 5151
Modification d’un arbreModification d’un arbre----------------------------------------------------------------------------------------------------------------------------
------Attention aux Attention aux partages de structurepartages de structure
avec avec modifications physiques !modifications physiques !
33 55
sous_arbre = cree_noeud( cree_feuille(3) , cree_feuille(5) );sous_arbre = cree_noeud( cree_feuille(3) , cree_feuille(5) );arbre = cree_noeud( sous_arbre , sous_arbre );arbre = cree_noeud( sous_arbre , sous_arbre );
33 55
ReprésentationReprésentationphysique !physique !
33 55
L’arbre logique ! ! !L’arbre logique ! ! !
![Page 52: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/52.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 5252
Modification d’un arbreModification d’un arbre----------------------------------------------------------------------------------------------------------------------------
------Attention aux Attention aux partages de structurepartages de structure
avec avec modifications physiques !modifications physiques !
33 55
sous_arbre = cree_noeud( cree_feuille(3) , cree_feuille(5) );sous_arbre = cree_noeud( cree_feuille(3) , cree_feuille(5) );arbre = cree_noeud( sous_arbre , sous_arbre );arbre = cree_noeud( sous_arbre , sous_arbre );
99 55
ReprésentationReprésentationphysique !physique !
99 55
L’arbre logique ! ! !L’arbre logique ! ! !
ReconstructionReconstructiond’arbre.d’arbre.
ModificationModificationphysique.physique.
![Page 53: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/53.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 5353
Modification d’un arbreModification d’un arbre----------------------------------------------------------------------------------------------------------------------------
------Attention aux Attention aux partages de structurepartages de structure
avec avec modifications physiques !modifications physiques !
33 55
sous_arbre = cree_noeud( cree_feuille(3) , cree_feuille(5) );sous_arbre = cree_noeud( cree_feuille(3) , cree_feuille(5) );arbre = cree_noeud( sous_arbre , sous_arbre );arbre = cree_noeud( sous_arbre , sous_arbre );
99 55
ReprésentationReprésentationphysique !physique !
99 55
L’arbre logique ! ! !L’arbre logique ! ! !
ReconstructionReconstructiond’arbre.d’arbre.
ModificationModificationphysique.physique.
![Page 54: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/54.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 5454
Modification d’un arbreModification d’un arbre----------------------------------------------------------------------------------------------------------------------------
------Attention aux Attention aux partages de structurepartages de structure
avec avec modifications physiques !modifications physiques !
33 55
sous_arbre = cree_noeud( cree_feuille(3) , cree_feuille(5) );sous_arbre = cree_noeud( cree_feuille(3) , cree_feuille(5) );arbre = cree_noeud( sous_arbre , sous_arbre );arbre = cree_noeud( sous_arbre , sous_arbre );
99 55
ReprésentationReprésentationphysique !physique !
99 55
L’arbre logique ! ! !L’arbre logique ! ! !
ReconstructionReconstructiond’arbre.d’arbre.
ModificationModificationphysique.physique.
![Page 55: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/55.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 5555
I N D U C T I O NI N D U C T I O NS U RS U RL E SL E S
S T R U C T U R E SS T R U C T U R E S
Induction sur les structuresInduction sur les structures----------------------------------------------------------------------------------------------------------------------------------
![Page 56: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/56.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 5656
Induction sur les structuresInduction sur les structures----------------------------------------------------------------------------------------------------------------------------------
• Induction simple sur les entiers naturels :Induction simple sur les entiers naturels :
– On démontre la propriété pour 0, le premier entier naturel.On démontre la propriété pour 0, le premier entier naturel.
![Page 57: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/57.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 5757
Induction sur les structuresInduction sur les structures----------------------------------------------------------------------------------------------------------------------------------
• Induction simple sur les entiers naturels :Induction simple sur les entiers naturels :
– On démontre la propriété pour 0, le premier entier naturel.On démontre la propriété pour 0, le premier entier naturel.
– On démontre que la propriété reste vraie pour i+1, si elle On démontre que la propriété reste vraie pour i+1, si elle est vraie pour i . est vraie pour i . C’est le pas d’induction !C’est le pas d’induction !
![Page 58: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/58.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 5858
Induction sur les structuresInduction sur les structures----------------------------------------------------------------------------------------------------------------------------------
• Induction simple sur les entiers naturels :Induction simple sur les entiers naturels :
– On démontre la propriété pour 0, le premier entier naturel.On démontre la propriété pour 0, le premier entier naturel.
– On démontre que la propriété reste vraie pour i+1, si elle On démontre que la propriété reste vraie pour i+1, si elle est vraie pour i . est vraie pour i . C’est le pas d’induction !C’est le pas d’induction !
– Donc, elle est vraie pour tout entier naturel.Donc, elle est vraie pour tout entier naturel.
![Page 59: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/59.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 5959
Induction sur les structuresInduction sur les structures----------------------------------------------------------------------------------------------------------------------------------
• Induction simple sur les entiers naturels :Induction simple sur les entiers naturels :
– On démontre la propriété pour 0, le premier entier naturel.On démontre la propriété pour 0, le premier entier naturel.
– On démontre que la propriété reste vraie pour i+1, si elle On démontre que la propriété reste vraie pour i+1, si elle est vraie pour i . est vraie pour i . C’est le pas d’induction !C’est le pas d’induction !
– Donc, elle est vraie pour tout entier naturel.Donc, elle est vraie pour tout entier naturel.
• Induction Induction totaletotale sur les entiers naturels : sur les entiers naturels :
– On démontre la propriété pour 0, le premier entier naturel.On démontre la propriété pour 0, le premier entier naturel.
– On démontre que la propriété reste vraie pour i+1, si elle On démontre que la propriété reste vraie pour i+1, si elle est vraie pour est vraie pour tous les entiers de 0 àtous les entiers de 0 à i . C’est le pas i . C’est le pas d’induction !d’induction !
– Donc, elle est vraie pour tout entier naturel.Donc, elle est vraie pour tout entier naturel.
![Page 60: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/60.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 6060
I N D U C T I O NI N D U C T I O NS U RS U RL E SL E S
L I S T E SL I S T E S
Induction sur les structuresInduction sur les structures----------------------------------------------------------------------------------------------------------------------------------
![Page 61: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/61.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 6161
Induction sur les listesInduction sur les listes----------------------------------------------------------------------------------------------------------------------------------
• Induction sur les Induction sur les listeslistes : :
– On démontre la propriété pour On démontre la propriété pour la liste videla liste vide (ceci ne (ceci ne marche donc pas pour les listes circulaires !).marche donc pas pour les listes circulaires !).
![Page 62: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/62.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 6262
Induction sur les listesInduction sur les listes----------------------------------------------------------------------------------------------------------------------------------
• Induction sur les Induction sur les listeslistes : :
– On démontre la propriété pour On démontre la propriété pour la liste videla liste vide (ceci ne (ceci ne marche donc pas pour les listes circulaires !).marche donc pas pour les listes circulaires !).
– On suppose la propriété vraie pour On suppose la propriété vraie pour une liste de longueur iune liste de longueur i
![Page 63: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/63.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 6363
Induction sur les listesInduction sur les listes----------------------------------------------------------------------------------------------------------------------------------
• Induction sur les Induction sur les listeslistes : :
– On démontre la propriété pour On démontre la propriété pour la liste videla liste vide (ceci ne (ceci ne marche donc pas pour les listes circulaires !).marche donc pas pour les listes circulaires !).
– On suppose la propriété vraie pour On suppose la propriété vraie pour une liste de longueur iune liste de longueur i
– et on démontre qu’elle reste vraie pour la liste de et on démontre qu’elle reste vraie pour la liste de longueur i+1 que l’on obtient longueur i+1 que l’on obtient en ajoutant un élément en ajoutant un élément (bien choisi) en tête(bien choisi) en tête de liste. de liste.
![Page 64: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/64.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 6464
Induction sur les listesInduction sur les listes----------------------------------------------------------------------------------------------------------------------------------
• Induction sur les Induction sur les listeslistes : :
– On démontre la propriété pour On démontre la propriété pour la liste videla liste vide (ceci ne (ceci ne marche donc pas pour les listes circulaires !).marche donc pas pour les listes circulaires !).
– On suppose la propriété vraie pour On suppose la propriété vraie pour une liste de longueur iune liste de longueur i
– et on démontre qu’elle reste vraie pour la liste de et on démontre qu’elle reste vraie pour la liste de longueur i+1 que l’on obtient longueur i+1 que l’on obtient en ajoutant un élément en ajoutant un élément (bien choisi) en tête(bien choisi) en tête de liste. de liste.
– Variantes : éventuellement, une propriété n’est vraie que Variantes : éventuellement, une propriété n’est vraie que pour une liste de longueur au moins k :pour une liste de longueur au moins k :
• On démontre pour kOn démontre pour k
• et on démontre qu’elle reste vraie pour les listes plus longues.et on démontre qu’elle reste vraie pour les listes plus longues.
![Page 65: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/65.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 6565
I N D U C T I O NI N D U C T I O NS U RS U RL E SL E S
A R B R E SA R B R E S
Induction sur les structuresInduction sur les structures----------------------------------------------------------------------------------------------------------------------------------
![Page 66: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/66.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 6666
Induction sur les arbresInduction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• Induction sur les Induction sur les arbresarbres : :
– On démontre la propriété pour On démontre la propriété pour une feuille quelconqueune feuille quelconque..
![Page 67: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/67.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 6767
Induction sur les arbresInduction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• Induction sur les Induction sur les arbresarbres : :
– On démontre la propriété pour On démontre la propriété pour une feuille quelconqueune feuille quelconque..
– On suppose la propriété vraie pour On suppose la propriété vraie pour les sous-arbresles sous-arbres
![Page 68: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/68.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 6868
Induction sur les arbresInduction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• Induction sur les Induction sur les arbresarbres : :
– On démontre la propriété pour On démontre la propriété pour une feuille quelconqueune feuille quelconque..
– On suppose la propriété vraie pour On suppose la propriété vraie pour les sous-arbresles sous-arbres
– et on démontre qu’elle reste vraie pour l’arbre que l’on et on démontre qu’elle reste vraie pour l’arbre que l’on obtient obtient en ajoutant un nœud père au-dessus des différents en ajoutant un nœud père au-dessus des différents sous-arbres (bien choisis)sous-arbres (bien choisis)..
![Page 69: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/69.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 6969
Induction sur les arbresInduction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• Induction sur les Induction sur les arbresarbres : :
– On démontre la propriété pour On démontre la propriété pour une feuille quelconqueune feuille quelconque..
– On suppose la propriété vraie pour On suppose la propriété vraie pour les sous-arbresles sous-arbres
– et on démontre qu’elle reste vraie pour l’arbre que l’on et on démontre qu’elle reste vraie pour l’arbre que l’on obtient obtient en ajoutant un nœud père au-dessus des différents en ajoutant un nœud père au-dessus des différents sous-arbres (bien choisis)sous-arbres (bien choisis)..
– Remarque :Remarque :
• Le raisonnement de correction d’une fonction récursive Le raisonnement de correction d’une fonction récursive sur arbres, listes, etc, se fait de la même manière :sur arbres, listes, etc, se fait de la même manière :
– On démontre la correction du cas de base,On démontre la correction du cas de base,– on suppose les appels récursifs correctson suppose les appels récursifs corrects– et on démontre la correction de l’appel courant.et on démontre la correction de l’appel courant.
![Page 70: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/70.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 7070
Correction d’une fonction récursiveCorrection d’une fonction récursive----------------------------------------------------------------------------------------------------------------------------------
• La fonction ci-dessous calcule la profondeur d’un arbre !La fonction ci-dessous calcule la profondeur d’un arbre !
– La profondeur d’un nœud ou d’une feuille dans un arbre correspond au La profondeur d’un nœud ou d’une feuille dans un arbre correspond au nombre de fois où l’on doit « descendre » vers un fils avant d’atteindre nombre de fois où l’on doit « descendre » vers un fils avant d’atteindre le nœud ou la feuille en question.le nœud ou la feuille en question.
– La profondeur d’un arbre est la profondeur de la feuille la plus La profondeur d’un arbre est la profondeur de la feuille la plus profonde.profonde.
![Page 71: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/71.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 7171
Correction d’une fonction récursiveCorrection d’une fonction récursive----------------------------------------------------------------------------------------------------------------------------------
• La fonction ci-dessous calcule la profondeur d’un arbre !La fonction ci-dessous calcule la profondeur d’un arbre !
– La profondeur d’un nœud ou d’une feuille dans un arbre correspond au La profondeur d’un nœud ou d’une feuille dans un arbre correspond au nombre de fois où l’on doit « descendre » vers un fils avant d’atteindre nombre de fois où l’on doit « descendre » vers un fils avant d’atteindre le nœud ou la feuille en question.le nœud ou la feuille en question.
– La profondeur d’un arbre est la profondeur de la feuille la plus La profondeur d’un arbre est la profondeur de la feuille la plus profonde.profonde.
int profond (ptr_arbre arbre)
{if ( est_feuille(arbre) )
return( 0 );
else
return( 1 + max( profond(fg(arbre)), profond(fd(arbre)) )); }
![Page 72: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/72.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 7272
Correction d’une fonction récursiveCorrection d’une fonction récursive----------------------------------------------------------------------------------------------------------------------------------
• La fonction ci-dessous calcule la profondeur d’un arbre !La fonction ci-dessous calcule la profondeur d’un arbre !
– La profondeur d’un nœud ou d’une feuille dans un arbre correspond au La profondeur d’un nœud ou d’une feuille dans un arbre correspond au nombre de fois où l’on doit « descendre » vers un fils avant d’atteindre nombre de fois où l’on doit « descendre » vers un fils avant d’atteindre le nœud ou la feuille en question.le nœud ou la feuille en question.
– La profondeur d’un arbre est la profondeur de la feuille la plus La profondeur d’un arbre est la profondeur de la feuille la plus profonde.profonde.
int profond (ptr_arbre arbre)
{if ( est_feuille(arbre) )
return( 0 );
else
return( 1 + max( profond(fg(arbre)), profond(fd(arbre)) )); }
Le cas d’arrêt est trivialement correct !Le cas d’arrêt est trivialement correct !
![Page 73: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/73.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 7373
Correction d’une fonction récursiveCorrection d’une fonction récursive----------------------------------------------------------------------------------------------------------------------------------
• La fonction ci-dessous calcule la profondeur d’un arbre !La fonction ci-dessous calcule la profondeur d’un arbre !
– La profondeur d’un nœud ou d’une feuille dans un arbre correspond au La profondeur d’un nœud ou d’une feuille dans un arbre correspond au nombre de fois où l’on doit « descendre » vers un fils avant d’atteindre nombre de fois où l’on doit « descendre » vers un fils avant d’atteindre le nœud ou la feuille en question.le nœud ou la feuille en question.
– La profondeur d’un arbre est la profondeur de la feuille la plus La profondeur d’un arbre est la profondeur de la feuille la plus profonde.profonde.
int profond (ptr_arbre arbre)
{if ( est_feuille(arbre) )
return( 0 );
else
return( 1 + max( profond(fg(arbre)), profond(fd(arbre)) )); }
Les appels récursifs sont corrects par hypothèse !Les appels récursifs sont corrects par hypothèse !
![Page 74: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/74.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 7474
Correction d’une fonction récursiveCorrection d’une fonction récursive----------------------------------------------------------------------------------------------------------------------------------
• La fonction ci-dessous calcule la profondeur d’un arbre !La fonction ci-dessous calcule la profondeur d’un arbre !
– La profondeur d’un nœud ou d’une feuille dans un arbre correspond au La profondeur d’un nœud ou d’une feuille dans un arbre correspond au nombre de fois où l’on doit « descendre » vers un fils avant d’atteindre nombre de fois où l’on doit « descendre » vers un fils avant d’atteindre le nœud ou la feuille en question.le nœud ou la feuille en question.
– La profondeur d’un arbre est la profondeur de la feuille la plus La profondeur d’un arbre est la profondeur de la feuille la plus profonde.profonde.
int profond (ptr_arbre arbre)
{if ( est_feuille(arbre) )
return( 0 );
else
return( 1 + max( profond(fg(arbre)), profond(fd(arbre)) )); }
Les appels récursifs sont corrects par hypothèse !Les appels récursifs sont corrects par hypothèse !
La plus grande des profondeurs.La plus grande des profondeurs.
![Page 75: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/75.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 7575
Correction d’une fonction récursiveCorrection d’une fonction récursive----------------------------------------------------------------------------------------------------------------------------------
• La fonction ci-dessous calcule la profondeur d’un arbre !La fonction ci-dessous calcule la profondeur d’un arbre !
– La profondeur d’un nœud ou d’une feuille dans un arbre correspond au La profondeur d’un nœud ou d’une feuille dans un arbre correspond au nombre de fois où l’on doit « descendre » vers un fils avant d’atteindre nombre de fois où l’on doit « descendre » vers un fils avant d’atteindre le nœud ou la feuille en question.le nœud ou la feuille en question.
– La profondeur d’un arbre est la profondeur de la feuille la plus La profondeur d’un arbre est la profondeur de la feuille la plus profonde.profonde.
int profond (ptr_arbre arbre)
{if ( est_feuille(arbre) )
return( 0 );
else
return( 1 + max( profond(fg(arbre)), profond(fd(arbre)) )); }
Les appels récursifs sont corrects par hypothèse !Les appels récursifs sont corrects par hypothèse !
La plus grande des profondeurs.La plus grande des profondeurs.
La profondeur de notre arbre ! ! !La profondeur de notre arbre ! ! !
![Page 76: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/76.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 7676
Correction d’une fonction récursiveCorrection d’une fonction récursive----------------------------------------------------------------------------------------------------------------------------------
• La fonction ci-dessous calcule la profondeur d’un arbre !La fonction ci-dessous calcule la profondeur d’un arbre !
– La profondeur d’un nœud ou d’une feuille dans un arbre correspond au La profondeur d’un nœud ou d’une feuille dans un arbre correspond au nombre de fois où l’on doit « descendre » vers un fils avant d’atteindre nombre de fois où l’on doit « descendre » vers un fils avant d’atteindre le nœud ou la feuille en question.le nœud ou la feuille en question.
– La profondeur d’un arbre est la profondeur de la feuille la plus La profondeur d’un arbre est la profondeur de la feuille la plus profonde.profonde.
int profond (ptr_arbre arbre)
{if ( est_feuille(arbre) )
return( 0 );
else
return( 1 + max( profond(fg(arbre)), profond(fd(arbre)) )); }
Les appels récursifs sont corrects par hypothèse !Les appels récursifs sont corrects par hypothèse !
La plus grande des profondeurs.La plus grande des profondeurs.
La profondeur de notre arbre ! ! !La profondeur de notre arbre ! ! !
![Page 77: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/77.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 7777
Preuves par induction sur les arbresPreuves par induction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• Soient Soient F F ( A ) le nombre de feuilles et ( A ) le nombre de feuilles et N N ( A ) le ( A ) le nombre de nœuds internes d’un arbre A.nombre de nœuds internes d’un arbre A.
• Si A est binaire, alors : Si A est binaire, alors : F F ( A ) = ( A ) = NN ( A ) + 1 ( A ) + 1
![Page 78: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/78.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 7878
Preuves par induction sur les arbresPreuves par induction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• Soient Soient F F ( A ) le nombre de feuilles et ( A ) le nombre de feuilles et N N ( A ) le ( A ) le nombre de nœuds internes d’un arbre A.nombre de nœuds internes d’un arbre A.
• Si A est binaire, alors : Si A est binaire, alors : F F ( A ) = ( A ) = NN ( A ) + 1 ( A ) + 1
• Preuve :Preuve :– A est une feuille : A est une feuille : FF ( A ) = 1 = 0 + 1 = ( A ) = 1 = 0 + 1 = NN ( A ) + 1 ! ( A ) + 1 !
![Page 79: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/79.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 7979
Preuves par induction sur les arbresPreuves par induction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• Soient Soient F F ( A ) le nombre de feuilles et ( A ) le nombre de feuilles et N N ( A ) le ( A ) le nombre de nœuds internes d’un arbre A.nombre de nœuds internes d’un arbre A.
• Si A est binaire, alors : Si A est binaire, alors : F F ( A ) = ( A ) = NN ( A ) + 1 ( A ) + 1
• Preuve :Preuve :– A est une feuille : A est une feuille : FF ( A ) = 1 = 0 + 1 = ( A ) = 1 = 0 + 1 = NN ( A ) + 1 ! ( A ) + 1 !– A est un nœud interne ayant les deux fils B et C :A est un nœud interne ayant les deux fils B et C :
• Hypothèse sur B : Hypothèse sur B : FF ( B ) = ( B ) = NN ( B ) + 1 ! ( B ) + 1 !
• Hypothèse sur C : Hypothèse sur C : FF ( C ) = ( C ) = NN ( C ) + 1 ! ( C ) + 1 !
![Page 80: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/80.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 8080
Preuves par induction sur les arbresPreuves par induction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• Soient Soient F F ( A ) le nombre de feuilles et ( A ) le nombre de feuilles et N N ( A ) le ( A ) le nombre de nœuds internes d’un arbre A.nombre de nœuds internes d’un arbre A.
• Si A est binaire, alors : Si A est binaire, alors : F F ( A ) = ( A ) = NN ( A ) + 1 ( A ) + 1
• Preuve :Preuve :– A est une feuille : A est une feuille : FF ( A ) = 1 = 0 + 1 = ( A ) = 1 = 0 + 1 = NN ( A ) + 1 ! ( A ) + 1 !– A est un nœud interne ayant les deux fils B et C :A est un nœud interne ayant les deux fils B et C :
• Hypothèse sur B : Hypothèse sur B : FF ( B ) = ( B ) = NN ( B ) + 1 ! ( B ) + 1 !
• Hypothèse sur C : Hypothèse sur C : FF ( C ) = ( C ) = NN ( C ) + 1 ! ( C ) + 1 !
– Donc, pour A :Donc, pour A :
FF ( A ) = ( A ) = F F ( B ) + ( B ) + FF ( C ) = ( C ) = NN ( B ) + ( B ) + NN ( C ) + 1 + 1 ( C ) + 1 + 1
![Page 81: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/81.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 8181
Preuves par induction sur les arbresPreuves par induction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• Soient Soient F F ( A ) le nombre de feuilles et ( A ) le nombre de feuilles et N N ( A ) le ( A ) le nombre de nœuds internes d’un arbre A.nombre de nœuds internes d’un arbre A.
• Si A est binaire, alors : Si A est binaire, alors : F F ( A ) = ( A ) = NN ( A ) + 1 ( A ) + 1
• Preuve :Preuve :– A est une feuille : A est une feuille : FF ( A ) = 1 = 0 + 1 = ( A ) = 1 = 0 + 1 = NN ( A ) + 1 ! ( A ) + 1 !– A est A est un nœud interneun nœud interne ayant les deux fils B et C : ayant les deux fils B et C :
• Hypothèse sur B : Hypothèse sur B : FF ( B ) = ( B ) = NN ( B ) + 1 ! ( B ) + 1 !
• Hypothèse sur C : Hypothèse sur C : FF ( C ) = ( C ) = NN ( C ) + 1 ! ( C ) + 1 !
– Donc, pour A :Donc, pour A :
FF ( A ) = ( A ) = F F ( B ) + ( B ) + FF ( C ) = ( C ) = NN ( B ) + ( B ) + NN ( C ) + 1 ( C ) + 1 + 1 + 1
= = NN ( A ) + 1 ! ! ! ( A ) + 1 ! ! !
NN ( A ) ( A )
![Page 82: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/82.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 8282
Preuves par induction sur les arbresPreuves par induction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• On considère un arbre A qui vérifie pour tous ses nœuds On considère un arbre A qui vérifie pour tous ses nœuds internes la propriété qui dit que :internes la propriété qui dit que :
• soit, les deux sous-arbres sont de profondeur 0,soit, les deux sous-arbres sont de profondeur 0,
• soit, la profondeur du fils droit dépasse la profondeur soit, la profondeur du fils droit dépasse la profondeur du fils gauche d’une unité.du fils gauche d’une unité.
![Page 83: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/83.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 8383
Preuves par induction sur les arbresPreuves par induction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• On considère un arbre A qui vérifie pour tous ses nœuds On considère un arbre A qui vérifie pour tous ses nœuds internes la propriété qui dit que :internes la propriété qui dit que :
• soit, les deux sous-arbres sont de profondeur 0,soit, les deux sous-arbres sont de profondeur 0,
• soit, la profondeur du fils droit dépasse la profondeur soit, la profondeur du fils droit dépasse la profondeur du fils gauche d’une unité.du fils gauche d’une unité.
• Montrer que, pour une profondeur p fixée, l’arbre A est Montrer que, pour une profondeur p fixée, l’arbre A est unique !unique !
![Page 84: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/84.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 8484
Preuves par induction sur les arbresPreuves par induction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• On considère un arbre A qui vérifie pour tous ses nœuds On considère un arbre A qui vérifie pour tous ses nœuds internes la propriété qui dit que :internes la propriété qui dit que :
• soit, les deux sous-arbres sont de profondeur 0,soit, les deux sous-arbres sont de profondeur 0,
• soit, la profondeur du fils droit dépasse la profondeur soit, la profondeur du fils droit dépasse la profondeur du fils gauche d’une unité.du fils gauche d’une unité.
• Montrer que, pour une profondeur p fixée, l’arbre A est Montrer que, pour une profondeur p fixée, l’arbre A est unique !unique !
• Preuve :Preuve :– p = 1 : L’arbre est unique, car les deux fils sont des p = 1 : L’arbre est unique, car les deux fils sont des
feuilles !feuilles !
![Page 85: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/85.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 8585
Preuves par induction sur les arbresPreuves par induction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• On considère un arbre A qui vérifie pour tous ses nœuds On considère un arbre A qui vérifie pour tous ses nœuds internes la propriété qui dit que :internes la propriété qui dit que :
• soit, les deux sous-arbres sont de profondeur 0,soit, les deux sous-arbres sont de profondeur 0,
• soit, la profondeur du fils droit dépasse la profondeur soit, la profondeur du fils droit dépasse la profondeur du fils gauche d’une unité.du fils gauche d’une unité.
• Montrer que, pour une profondeur p fixée, l’arbre A est Montrer que, pour une profondeur p fixée, l’arbre A est unique !unique !
• Preuve :Preuve :– p = 1 : L’arbre est unique, car les deux fils sont des p = 1 : L’arbre est unique, car les deux fils sont des
feuilles !feuilles !– p > 1 : Le fils droit C doit être de profondeur p-1 et le p > 1 : Le fils droit C doit être de profondeur p-1 et le
filsfils
gauche B doit être de profondeur p-2 :gauche B doit être de profondeur p-2 :
![Page 86: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/86.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 8686
Preuves par induction sur les arbresPreuves par induction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• On considère un arbre A qui vérifie pour tous ses nœuds On considère un arbre A qui vérifie pour tous ses nœuds internes la propriété qui dit que :internes la propriété qui dit que :
• soit, les deux sous-arbres sont de profondeur 0,soit, les deux sous-arbres sont de profondeur 0,
• soit, la profondeur du fils droit dépasse la profondeur du soit, la profondeur du fils droit dépasse la profondeur du fils gauche d’une unité.fils gauche d’une unité.
• Montrer que, pour une profondeur p fixée, l’arbre A est Montrer que, pour une profondeur p fixée, l’arbre A est unique !unique !
• Preuve :Preuve :– p = 1 : L’arbre est unique, car les deux fils sont des feuilles !p = 1 : L’arbre est unique, car les deux fils sont des feuilles !– p > 1 : Le fils droit C doit être de profondeur p-1 et le filsp > 1 : Le fils droit C doit être de profondeur p-1 et le fils
gauche B doit être de profondeur p-2 :gauche B doit être de profondeur p-2 :
• Hypothèse sur B : B est unique !Hypothèse sur B : B est unique !
• Hypothèse sur C : C est unique !Hypothèse sur C : C est unique !
![Page 87: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/87.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 8787
Preuves par induction sur les arbresPreuves par induction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
• On considère un arbre A qui vérifie pour tous ses nœuds On considère un arbre A qui vérifie pour tous ses nœuds internes la propriété qui dit que :internes la propriété qui dit que :
• soit, les deux sous-arbres sont de profondeur 0,soit, les deux sous-arbres sont de profondeur 0,
• soit, la profondeur du fils droit dépasse la profondeur du soit, la profondeur du fils droit dépasse la profondeur du fils gauche d’une unité.fils gauche d’une unité.
• Montrer que, pour une profondeur p fixée, l’arbre A est Montrer que, pour une profondeur p fixée, l’arbre A est unique !unique !
• Preuve :Preuve :– p = 1 : L’arbre est unique, car les deux fils sont des feuilles !p = 1 : L’arbre est unique, car les deux fils sont des feuilles !– p > 1 : Le fils droit C doit être de profondeur p-1 et le filsp > 1 : Le fils droit C doit être de profondeur p-1 et le fils
gauche B doit être de profondeur p-2 :gauche B doit être de profondeur p-2 :
• Hypothèse sur B : B est unique !Hypothèse sur B : B est unique !
• Hypothèse sur C : C est unique !Hypothèse sur C : C est unique !
Donc, A sera unique !Donc, A sera unique !
![Page 88: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/88.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 8888
Preuves par induction sur les arbresPreuves par induction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
Les voici :Les voici :
![Page 89: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/89.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 8989
Preuves par induction sur les arbresPreuves par induction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
Les voici :Les voici :
![Page 90: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/90.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 9090
Preuves par induction sur les arbresPreuves par induction sur les arbres----------------------------------------------------------------------------------------------------------------------------------
Les voici :Les voici :
Le prochain.Le prochain.
![Page 91: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/91.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 9191
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
C h a n g e o n s d e s u j C h a n g e o n s d e s u j e t !e t !
E x p l o r a t i o n p a rE x p l o r a t i o n p a rs u c c è s - é c h e cs u c c è s - é c h e c
B A C K - T R A C KB A C K - T R A C K
![Page 92: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/92.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 9292
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
• Un exemple archi-classique :Un exemple archi-classique :
– Soient des variables v , … , v logiques,Soient des variables v , … , v logiques,11 nn
![Page 93: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/93.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 9393
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
• Un exemple archi-classique :Un exemple archi-classique :
– Soient des variables v , … , v logiques,Soient des variables v , … , v logiques,
– soit une formule soit une formule F F construite à partir de ces variables construite à partir de ces variables et des connectives et des connectives et , ou et , ou et et not ,not ,
11 nn
![Page 94: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/94.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 9494
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
• Un exemple archi-classique :Un exemple archi-classique :
– Soient des variables v , … , v logiques,Soient des variables v , … , v logiques,
– soit une formule soit une formule F F construite à partir de ces variables construite à partir de ces variables et des connectives et des connectives et , ou et , ou et et not ,not ,
– trouver un n-uplet de valeurs pour les v de façon à trouver un n-uplet de valeurs pour les v de façon à rendre vraie la formule rendre vraie la formule F .F .
11 nn
ii
![Page 95: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/95.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 9595
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
• Un exemple archi-classique :Un exemple archi-classique :
– Soient des variables v , … , v logiques,Soient des variables v , … , v logiques,
– soit une formule soit une formule F F construite à partir de ces variables et construite à partir de ces variables et des connectives des connectives et , ou et , ou et et not ,not ,
– trouver un n-uplet de valeurs pour les v de façon à rendre trouver un n-uplet de valeurs pour les v de façon à rendre vraie la formule vraie la formule F .F .
• Solution :Solution :
– Nous construisons la table de vérité ! C’est simple ! ! !Nous construisons la table de vérité ! C’est simple ! ! !
– Mais, c’est très coûteux ! Jusqu’à 2 cas à Mais, c’est très coûteux ! Jusqu’à 2 cas à inspecter ! ! !inspecter ! ! !
– Pouvons-nous faire mieux ? Probablement non ! ! !Pouvons-nous faire mieux ? Probablement non ! ! !
11 nn
ii
nn
![Page 96: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/96.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 9696
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
• F F = x = x et not(et not(y) y) et et zz
x y z x y z FF
0 0 0 0 0 0
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 1 0 1
1 1 01 1 0
1 1 11 1 1
![Page 97: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/97.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 9797
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
• F F = x = x et not(et not(y) y) et et zz
x y z x y z FF
0 0 0 0 0 0 00
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 1 0 1
1 1 01 1 0
1 1 11 1 1
![Page 98: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/98.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 9898
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
• F F = x = x et not(et not(y) y) et et zz
x y z x y z FF
0 0 0 0 0 0 00
0 0 1 0 0 1 00
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 1 0 1
1 1 01 1 0
1 1 11 1 1
![Page 99: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/99.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 9999
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
• F F = x = x et not(et not(y) y) et et zz
x y z x y z FF
0 0 0 0 0 0 00
0 0 1 0 0 1 00
0 1 0 0 1 0 00
0 1 1 0 1 1 00
1 0 0 1 0 0 00
1 0 1 1 0 1 1 1
1 1 01 1 0
1 1 11 1 1
• Au pire, nous parcourons tout le tableau avant de Au pire, nous parcourons tout le tableau avant de constater qu’il n’y a aucune solution.constater qu’il n’y a aucune solution.
• Parfois, nous avons une idée où chercher la solution, Parfois, nous avons une idée où chercher la solution, mais ce n’est pas toujours le cas.mais ce n’est pas toujours le cas.
Nous pouvons nous arrêter !Nous pouvons nous arrêter !
![Page 100: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/100.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 100100
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x 0 0 0 0 1 1 1 1x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1z 0 1 0 1 0 1 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
La même table horizontalement.La même table horizontalement.
![Page 101: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/101.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 101101
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x 0 0 0 0 1 1 1 1x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1z 0 1 0 1 0 1 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
Quelle valeur pour x ?Quelle valeur pour x ?
![Page 102: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/102.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 102102
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x x 0 0 0 00 0 0 0 1 1 1 11 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1z 0 1 0 1 0 1 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
Quelle valeur pour x ?Quelle valeur pour x ?
FauxFaux VraiVrai
![Page 103: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/103.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 103103
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x x 0 0 0 00 0 0 0 1 1 1 11 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1z 0 1 0 1 0 1 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
Quelle valeur pour x ?Quelle valeur pour x ?
FauxFaux VraiVrai
D’abord et toujours !D’abord et toujours ! Ensuite, si besoin est !Ensuite, si besoin est !
![Page 104: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/104.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 104104
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x x 0 0 0 00 0 0 0 1 1 1 11 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1z 0 1 0 1 0 1 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
Sous-arbreSous-arbre en attente!en attente!
Quelle valeur pour x ?Quelle valeur pour x ?
FauxFaux VraiVrai
Choix concernant y !Choix concernant y !
![Page 105: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/105.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 105105
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x x 0 0 0 00 0 0 0 1 1 1 11 1 1 1
y y 0 00 0 1 11 1 0 0 1 1 0 0 1 1
z 0 1z 0 1 0 1 0 1 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
Sous-arbresSous-arbres en attente!en attente!
Quelle valeur pour x ?Quelle valeur pour x ?
FauxFaux VraiVrai
VraiVraiFauxFaux
Quelle valeur pour y ?Quelle valeur pour y ?
![Page 106: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/106.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 106106
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x x 0 0 0 00 0 0 0 1 1 1 11 1 1 1
y y 0 00 0 1 11 1 0 0 1 1 0 0 1 1
z z 00 1 1 0 1 0 1 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
Sous-arbresSous-arbres en attente!en attente!
Quelle valeur pour x ?Quelle valeur pour x ?
FauxFaux VraiVrai
VraiVrai
VraiVrai
FauxFaux
FauxFaux
Quelle valeur pour y ?Quelle valeur pour y ?
Quelle valeur pour z ?Quelle valeur pour z ?
![Page 107: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/107.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 107107
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x 0 0 0 0 1 1 1 1x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1z 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
CheminCheminactuel.actuel.
Sous-arbresSous-arbres en attente!en attente!
![Page 108: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/108.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 108108
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x 0 0 0 0 1 1 1 1x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1z 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
CheminCheminactuel.actuel.
Sous-arbresSous-arbres en attente!en attente!
![Page 109: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/109.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 109109
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x 0 0 0 0 1 1 1 1x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1z 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
CheminCheminactuel.actuel.
Sous-arbresSous-arbres en attente!en attente!
![Page 110: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/110.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 110110
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x 0 0 0 0 1 1 1 1x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1z 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
Exploré sansExploré sanssuccès !succès !
CheminCheminactuel.actuel.
Sous-arbresSous-arbres en attente!en attente!
![Page 111: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/111.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 111111
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x 0 0 0 0 1 1 1 1x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1z 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
Exploré sansExploré sanssuccès !succès !
CheminCheminactuel.actuel.
Sous-arbresSous-arbres en attente!en attente!
![Page 112: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/112.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 112112
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x 0 0 0 0 1 1 1 1x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1z 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
Exploré sansExploré sanssuccès !succès !
CheminCheminactuel.actuel.
Sous-arbresSous-arbres en attente!en attente!
![Page 113: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/113.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 113113
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x 0 0 0 0 1 1 1 1x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1z 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
Explorés sansExplorés sanssuccès !succès !
CheminCheminactuel.actuel.
Sous-arbresSous-arbres en attente!en attente!
![Page 114: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/114.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 114114
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x 0 0 0 0 1 1 1 1x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1z 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
Explorés sansExplorés sanssuccès !succès !
CheminCheminactuel.actuel.
Sous-arbreSous-arbre en attente!en attente!
Un peuUn peuplus tard …plus tard …
![Page 115: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/115.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 115115
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x 0 0 0 0 1 1 1 1x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1z 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
Explorés sansExplorés sanssuccès !succès !
CheminCheminactuel.actuel.
Sous-arbreSous-arbre en attente!en attente!
![Page 116: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/116.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 116116
Back-trackBack-track----------------------------------------------------------------------------------------------------------------------------------
x 0 0 0 0 1 1 1 1x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1z 0 1 0 1 0 1 0 1
FF 0 0 0 0 0 0 0 0 0 0 11
Explorés sansExplorés sanssuccès !succès !
CheminCheminactuel.actuel.
Sous-arbreSous-arbre en attente!en attente!
![Page 117: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/117.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 117117
Situation générale du Back-trackSituation générale du Back-track----------------------------------------------------------------------------------------------------------------------------------
CheminCheminactuel.actuel.
![Page 118: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/118.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 118118
Situation générale du Back-trackSituation générale du Back-track----------------------------------------------------------------------------------------------------------------------------------
CheminCheminactuel.actuel.
Sous-arbresSous-arbresexplorés sans succès.explorés sans succès.
![Page 119: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/119.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 119119
Situation générale du Back-trackSituation générale du Back-track----------------------------------------------------------------------------------------------------------------------------------
CheminCheminactuel.actuel.
Sous-arbresSous-arbresexplorés sans succès.explorés sans succès.
Sous-arbres enSous-arbres enattente de traitement.attente de traitement.
![Page 120: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/120.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 120120
Situation générale du Back-trackSituation générale du Back-track----------------------------------------------------------------------------------------------------------------------------------
CheminCheminactuel.actuel.
Sous-arbresSous-arbresexplorés sans succès.explorés sans succès.
Sous-arbres enSous-arbres enattente de traitement.attente de traitement.
Dynamique :Dynamique :
![Page 121: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/121.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 121121
Situation générale du Back-trackSituation générale du Back-track----------------------------------------------------------------------------------------------------------------------------------
CheminCheminactuel.actuel.
Sous-arbresSous-arbresexplorés sans succès.explorés sans succès.
Sous-arbres enSous-arbres enattente de traitement.attente de traitement.
Dynamique :Dynamique :
Nous abandonnonsNous abandonnonsles points deles points deback-track !back-track !
![Page 122: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/122.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 122122
Situation générale du Back-trackSituation générale du Back-track----------------------------------------------------------------------------------------------------------------------------------
CheminCheminactuel.actuel.
Sous-arbresSous-arbresexplorés sans succès.explorés sans succès.
Sous-arbres enSous-arbres enattente de traitement.attente de traitement.
Dynamique :Dynamique :
![Page 123: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/123.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 123123
Situation générale du Back-trackSituation générale du Back-track----------------------------------------------------------------------------------------------------------------------------------
CheminCheminactuel.actuel.
Sous-arbresSous-arbresexplorés sans succès.explorés sans succès.
Sous-arbres enSous-arbres enattente de traitement.attente de traitement.
Dynamique :Dynamique :
![Page 124: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/124.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 124124
Situation générale du Back-trackSituation générale du Back-track----------------------------------------------------------------------------------------------------------------------------------
CheminCheminactuel.actuel.
Sous-arbresSous-arbresexplorés sans succès.explorés sans succès.
Sous-arbres enSous-arbres enattente de traitement.attente de traitement.
Dynamique :Dynamique :
![Page 125: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/125.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 125125
Situation générale du Back-track, échec finalSituation générale du Back-track, échec final----------------------------------------------------------------------------------------------------------------------------------
Sous-arbresSous-arbresexplorés sans succès.explorés sans succès.
Dynamique :Dynamique :CheminCheminactuel.actuel.
![Page 126: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/126.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 126126
Situation générale du Back-track, échec finalSituation générale du Back-track, échec final----------------------------------------------------------------------------------------------------------------------------------
Sous-arbresSous-arbresexplorés sans succès.explorés sans succès.
Dynamique :Dynamique :CheminCheminactuel.actuel.
![Page 127: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/127.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 127127
Situation générale du Back-track, échec finalSituation générale du Back-track, échec final----------------------------------------------------------------------------------------------------------------------------------
Sous-arbresSous-arbresexplorés sans succès.explorés sans succès.
Dynamique :Dynamique :CheminCheminactuel.actuel.
![Page 128: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/128.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 128128
L EL EC O D EC O D E
D UD UB A C K - T R A C KB A C K - T R A C K
Back-track, code génériqueBack-track, code générique----------------------------------------------------------------------------------------------------------------------------------
![Page 129: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/129.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 129129
Back-track, code génériqueBack-track, code générique----------------------------------------------------------------------------------------------------------------------------------
int back_track (un_type situation)
{ ...
}
Pour simplifier nous supposons rendrePour simplifier nous supposons rendreun booléen, mais le résultat pourrait, parun booléen, mais le résultat pourrait, parexemple, être le n-uplet solution, etc …exemple, être le n-uplet solution, etc …
![Page 130: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/130.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 130130
Back-track, code génériqueBack-track, code générique----------------------------------------------------------------------------------------------------------------------------------
int back_track (un_type situation)
{if ( decidable(situation) )
return( ca_vaut_tant(situation) );
else
...
}
![Page 131: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/131.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 131131
Back-track, code génériqueBack-track, code générique----------------------------------------------------------------------------------------------------------------------------------
int back_track (un_type situation)
{if ( decidable(situation) )
return( ca_vaut_tant(situation) );
else
{dabord = back_track( premiere_alternative(situation) );
...
}
}
![Page 132: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/132.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 132132
Back-track, code génériqueBack-track, code générique----------------------------------------------------------------------------------------------------------------------------------
int back_track (un_type situation)
{if ( decidable(situation) )
return( ca_vaut_tant(situation) );
else
{dabord = back_track( premiere_alternative(situation) );
if ( suffisant(dabord) )
return( dabord ); /* les points de back-track
sont abandonnés */
else
...
}
}
![Page 133: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/133.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 133133
Back-track, code génériqueBack-track, code générique----------------------------------------------------------------------------------------------------------------------------------
int back_track (un_type situation)
{if ( decidable(situation) )
return( ca_vaut_tant(situation) );
else
{dabord = back_track( premiere_alternative(situation) );
if ( suffisant(dabord) )
return( dabord ); /* les points de back-track
sont abandonnés */
else
return( seconde_alternative(situation) );
}
}
![Page 134: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/134.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 134134
Back-track, code génériqueBack-track, code générique----------------------------------------------------------------------------------------------------------------------------------
int back_track (un_type situation)
{if ( decidable(situation) )
return( ca_vaut_tant(situation) );
else
{dabord = back_track( premiere_alternative(situation) );
if ( suffisant(dabord) )
return( dabord ); /* les points de back-track
sont abandonnés */
else
return( seconde_alternative(situation) );
}
}Comme pour Fibonnacci, nous parcourons un arbreComme pour Fibonnacci, nous parcourons un arbre
imaginaire, qui ne sera jamais construit en tant que tel !imaginaire, qui ne sera jamais construit en tant que tel !
![Page 135: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/135.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 135135
Back-track, toutes les solutionsBack-track, toutes les solutions----------------------------------------------------------------------------------------------------------------------------------
• Un échec est un ensemble vide de succès.Un échec est un ensemble vide de succès.
• Nous explorons toutes les alternatives.Nous explorons toutes les alternatives.
• Nous construisons l’union de toutes les Nous construisons l’union de toutes les solutions.solutions.
![Page 136: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/136.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 136136
Back-track, toutes les solutionsBack-track, toutes les solutions----------------------------------------------------------------------------------------------------------------------------------
set_un_type back_track_toutes (un_type situation)
{ ...
}
![Page 137: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/137.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 137137
Back-track, toutes les solutionsBack-track, toutes les solutions----------------------------------------------------------------------------------------------------------------------------------
set_un_type back_track_toutes (un_type situation)
{if ( decidable(situation) )
...
else
...
}
![Page 138: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/138.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 138138
Back-track, toutes les solutionsBack-track, toutes les solutions----------------------------------------------------------------------------------------------------------------------------------
set_un_type back_track_toutes (un_type situation)
{if ( decidable(situation) )
if ( est_satisfaisant(situation) )
return( { situation } );
else
return( {} );
else
...
}
![Page 139: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/139.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 139139
Back-track, toutes les solutionsBack-track, toutes les solutions----------------------------------------------------------------------------------------------------------------------------------
set_un_type back_track_toutes (un_type situation)
{if ( decidable(situation) )
if ( est_satisfaisant(situation) )
return( { situation } );
else
return( {} );
else
return( back_track_toutes(premiere_alternative(situation))
union
back_track_toutes(seconde_alternative(situation)) );
}
![Page 140: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/140.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 140140
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
C h a n g e o n s d e s u j C h a n g e o n s d e s u j e t !e t !
A r b r e s d e j e u xA r b r e s d e j e u x
M I N I M A XM I N I M A X
![Page 141: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/141.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 141141
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Considérons un arbre dont :Considérons un arbre dont :
– les feuilles valent les feuilles valent VVrai ou rai ou FFauxaux– et les nœuds internes portent alternativement (depuis et les nœuds internes portent alternativement (depuis
la racine vers les feuilles) les connectives la racine vers les feuilles) les connectives etet et et ouou..
![Page 142: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/142.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 142142
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Considérons un arbre dont :Considérons un arbre dont :
– les feuilles valent les feuilles valent VVrai ou rai ou FFauxaux– et les nœuds internes portent alternativement (depuis la et les nœuds internes portent alternativement (depuis la
racine vers les feuilles) les connectives racine vers les feuilles) les connectives etet et et ouou..
• Par réduction nous calculons une valeur pour la racine :Par réduction nous calculons une valeur pour la racine :
etet
ouou
etet
VV
FF etet
VV VVFF VV
![Page 143: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/143.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 143143
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Considérons un arbre dont :Considérons un arbre dont :
– les feuilles valent les feuilles valent VVrai ou rai ou FFauxaux– et les nœuds internes portent alternativement (depuis la et les nœuds internes portent alternativement (depuis la
racine vers les feuilles) les connectives racine vers les feuilles) les connectives etet et et ouou..
• Par réduction nous calculons une valeur pour la racine :Par réduction nous calculons une valeur pour la racine :
etet
ouou
etet
VV
FF etet
VV VVFF VV
FF VV
![Page 144: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/144.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 144144
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Considérons un arbre dont :Considérons un arbre dont :
– les feuilles valent les feuilles valent VVrai ou rai ou FFauxaux– et les nœuds internes portent alternativement (depuis la et les nœuds internes portent alternativement (depuis la
racine vers les feuilles) les connectives racine vers les feuilles) les connectives etet et et ouou..
• Par réduction nous calculons une valeur pour la racine :Par réduction nous calculons une valeur pour la racine :
etet
ouou
etet
VV
FF etet
VV VVFF VV
FF VV
VV
![Page 145: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/145.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 145145
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Considérons un arbre dont :Considérons un arbre dont :
– les feuilles valent les feuilles valent VVrai ou rai ou FFauxaux– et les nœuds internes portent alternativement (depuis la et les nœuds internes portent alternativement (depuis la
racine vers les feuilles) les connectives racine vers les feuilles) les connectives etet et et ouou..
• Par réduction nous calculons une valeur pour la racine :Par réduction nous calculons une valeur pour la racine :
etet
ouou
etet
VV
FF etet
VV VVFF VV
FF VV
VV
VV
![Page 146: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/146.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 146146
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
Nous n’avons pas toujours besoin de parcourir tout l’arbre.Nous n’avons pas toujours besoin de parcourir tout l’arbre.
etet
ouou
etet
VV
FF etet
VV VVFF VV
FF VV
VV
VV
![Page 147: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/147.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 147147
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
Nous n’avons pas toujours besoin de parcourir tout l’arbre.Nous n’avons pas toujours besoin de parcourir tout l’arbre.
etet
ououVV
etet
VVVV
VV
VV
VV
?????? ??????
![Page 148: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/148.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 148148
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
Nous n’avons pas toujours besoin de parcourir tout l’arbre.Nous n’avons pas toujours besoin de parcourir tout l’arbre.
etet
ououVV
etet
VVVV
VV
VV
VV
?????? ??????
Ces sous-arbres n’ont aucuneCes sous-arbres n’ont aucuneincidence sur le résultat ! ! !incidence sur le résultat ! ! !
![Page 149: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/149.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 149149
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Règles pour le Règles pour le et et : :
etet
??FFVV
etet
??
![Page 150: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/150.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 150150
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Règles pour le Règles pour le et et : :
etet
??FFVV
etet
??
donnedonne ?? donnedonneFF
![Page 151: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/151.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 151151
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Règles pour le Règles pour le et et : :
etet
??FFVV
etet
??
donnedonne ?? donnedonneFF
• Règles pour le Règles pour le ou ou : :
ouou
??FFVV
ouou
??
![Page 152: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/152.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 152152
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Règles pour le Règles pour le et et : :
etet
??FFVV
etet
??
donnedonne ?? donnedonneFF
• Règles pour le Règles pour le ou ou : :
ouou
??FFVV
ouou
??
donnedonne VV donnedonne??
![Page 153: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/153.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 153153
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Règles pour le Règles pour le et et : :
etet
??FFVV
etet
??
donnedonne ?? donnedonneFF
• Règles pour le Règles pour le ou ou : :
ouou
??FFVV
ouou
??
donnedonne VV donnedonne??
On dit que l’onOn dit que l’on fait des coupes dans l’arbre. fait des coupes dans l’arbre.
![Page 154: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/154.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 154154
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• On peut faire la substitution suivante, sans rien On peut faire la substitution suivante, sans rien changer aux comportements :changer aux comportements :
– V V devient devient 11
– F F devient devient 0 0
– et et devient devient min min
– ou ou devient devient max max
Les deux formulationsLes deux formulationssont isomorphes ! ! !sont isomorphes ! ! !
![Page 155: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/155.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 155155
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Règles pour le Règles pour le min min : :
minmin
??0011
minmin
??
donnedonne ?? donnedonne 00
• Règles pour le Règles pour le max max : :
maxmax
??0011
maxmax
??
donnedonne 11 donnedonne??
![Page 156: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/156.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 156156
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Définition générale d’un arbre Minimax :Définition générale d’un arbre Minimax :
– les feuilles ont des valeurs entières (ou réelles)les feuilles ont des valeurs entières (ou réelles)– et les nœuds internes portent alternativement (depuis la et les nœuds internes portent alternativement (depuis la
racine vers les feuilles) les connectives racine vers les feuilles) les connectives maxmax et et minmin..
![Page 157: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/157.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 157157
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Définition générale d’un arbre Minimax :Définition générale d’un arbre Minimax :
– les feuilles ont des valeurs entières (ou réelles)les feuilles ont des valeurs entières (ou réelles)– et les nœuds internes portent alternativement (depuis la et les nœuds internes portent alternativement (depuis la
racine vers les feuilles) les connectives racine vers les feuilles) les connectives maxmax et et minmin..
• La valeur Minimax d’un arbre A vaut :La valeur Minimax d’un arbre A vaut :
– si A est une feuille, alors la valeur de cette feuille,si A est une feuille, alors la valeur de cette feuille,
![Page 158: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/158.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 158158
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Définition générale d’un arbre Minimax :Définition générale d’un arbre Minimax :
– les feuilles ont des valeurs entières (ou réelles)les feuilles ont des valeurs entières (ou réelles)– et les nœuds internes portent alternativement (depuis la et les nœuds internes portent alternativement (depuis la
racine vers les feuilles) les connectives racine vers les feuilles) les connectives maxmax et et minmin..
• La valeur Minimax d’un arbre A vaut :La valeur Minimax d’un arbre A vaut :
– si A est une feuille, alors la valeur de cette feuille,si A est une feuille, alors la valeur de cette feuille,
– si A est un nœud interne de type si A est un nœud interne de type maxmax ayant des fils B ayant des fils B et C,et C,
alors le maximum des valeurs minimax de B et C,alors le maximum des valeurs minimax de B et C,
![Page 159: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/159.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 159159
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Définition générale d’un arbre Minimax :Définition générale d’un arbre Minimax :
– les feuilles ont des valeurs entières (ou réelles)les feuilles ont des valeurs entières (ou réelles)– et les nœuds internes portent alternativement (depuis la et les nœuds internes portent alternativement (depuis la
racine vers les feuilles) les connectives racine vers les feuilles) les connectives maxmax et et minmin..
• La valeur Minimax d’un arbre A vaut :La valeur Minimax d’un arbre A vaut :
– si A est une feuille, alors la valeur de cette feuille,si A est une feuille, alors la valeur de cette feuille,
– si A est un nœud interne de type si A est un nœud interne de type maxmax ayant des fils B et ayant des fils B et C,C,
alors le maximum des valeurs minimax de B et C,alors le maximum des valeurs minimax de B et C,
– si A est un nœud interne de type si A est un nœud interne de type minmin ayant des fils B et ayant des fils B et C,C,
alors le minimum des valeurs minimax de B et C.alors le minimum des valeurs minimax de B et C.
![Page 160: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/160.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 160160
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
int mini_max (un_type situation , int max_ou_pas )
{if ( feuille(situation) )
return( valeur(situation) );
else
if ( max_ou_pas )
return( max( minimax( genere_fils_gauche(situation) ,
not(max_ou_pas) ) ,
minimax( genere_fils_droit(situation) ,
not(max_ou_pas) ) ) ) ;
else
return( min( minimax( genere_fils_gauche(situation) ,
not(max_ou_pas) ) ,
minimax( genere_fils_droit(situation) ,
not(max_ou_pas) ) ) ) ; }
![Page 161: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/161.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 161161
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
int mini_max (un_type situation , int max_ou_pas )
{if ( feuille(situation) )
return( valeur(situation) );
else
if ( max_ou_pas )
return( max( minimax( genere_fils_gauche(situation) ,
not(max_ou_pas) ) ,
minimax( genere_fils_droit(situation) ,
not(max_ou_pas) ) ) ) ;
else
return( min( minimax( genere_fils_gauche(situation) ,
not(max_ou_pas) ) ,
minimax( genere_fils_droit(situation) ,
not(max_ou_pas) ) ) ) ; }
Le cas d’arrêt est trivial !Le cas d’arrêt est trivial !
![Page 162: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/162.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 162162
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
int mini_max (un_type situation , int max_ou_pas )
{if ( feuille(situation) )
return( valeur(situation) );
else
if ( max_ou_pas )
return( max( minimax( genere_fils_gauche(situation) ,
not(max_ou_pas) ) ,
minimax( genere_fils_droit(situation) ,
not(max_ou_pas) ) ) ) ;
else
return( min( minimax( genere_fils_gauche(situation) ,
not(max_ou_pas) ) ,
minimax( genere_fils_droit(situation) ,
not(max_ou_pas) ) ) ) ; }
C’est assez logique !C’est assez logique !
![Page 163: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/163.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 163163
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
int mini_max (un_type situation , int max_ou_pas )
{if ( feuille(situation) )
return( valeur(situation) );
else
if ( max_ou_pas )
return( max( minimax( genere_fils_gauche(situation) ,
not(max_ou_pas) ) ,
minimax( genere_fils_droit(situation) ,
not(max_ou_pas) ) ) ) ;
else
return( min( minimax( genere_fils_gauche(situation) ,
not(max_ou_pas) ) ,
minimax( genere_fils_droit(situation) ,
not(max_ou_pas) ) ) ) ; }
C’est assez logique !C’est assez logique !
![Page 164: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/164.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 164164
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
int mini_max (un_type situation , int max_ou_pas )
{if ( feuille(situation) )
return( valeur(situation) );
else
if ( max_ou_pas )
return( max( minimax( genere_fils_gauche(situation) ,
not(max_ou_pas) ) ,
minimax( genere_fils_droit(situation) ,
not(max_ou_pas) ) ) ) ;
else
return( min( minimax( genere_fils_gauche(situation) ,
not(max_ou_pas) ) ,
minimax( genere_fils_droit(situation) ,
not(max_ou_pas) ) ) ) ; }
C’est assez logique !C’est assez logique !
CasCassymétrique !symétrique !
![Page 165: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/165.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 165165
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Les arbres Minimax servent dans les jeux :Les arbres Minimax servent dans les jeux :
– Je suis Je suis MAXMAX et je veux maximiser mon bénéfice ! et je veux maximiser mon bénéfice !
– Mon adversaire est Mon adversaire est MINMIN et veut minimiser mon et veut minimiser mon bénéfice !bénéfice !
maxmax
minmin
55
minmin
33 1177
![Page 166: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/166.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 166166
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Les arbres Minimax servent dans les jeux :Les arbres Minimax servent dans les jeux :
– Je suis Je suis MAXMAX et je veux maximiser mon bénéfice ! et je veux maximiser mon bénéfice !
– Mon adversaire est Mon adversaire est MINMIN et veut minimiser mon et veut minimiser mon bénéfice !bénéfice !
maxmax
minmin
55
minmin
33 1177
33 11
33
![Page 167: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/167.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 167167
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Les arbres Minimax servent dans les jeux :Les arbres Minimax servent dans les jeux :
– Je suis Je suis MAXMAX et je veux maximiser mon bénéfice ! et je veux maximiser mon bénéfice !
– Mon adversaire est Mon adversaire est MINMIN et veut minimiser mon et veut minimiser mon bénéfice !bénéfice !
maxmax
minmin
55
minmin
33 1177
33 11
33Donc, Donc, MAX MAX joue sonjoue sonmeilleur choix.meilleur choix.
![Page 168: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/168.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 168168
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Les arbres Minimax servent dans les jeux :Les arbres Minimax servent dans les jeux :
– Je suis Je suis MAXMAX et je veux maximiser mon bénéfice ! et je veux maximiser mon bénéfice !
– Mon adversaire est Mon adversaire est MINMIN et veut minimiser mon et veut minimiser mon bénéfice !bénéfice !
maxmax
minmin
55
minmin
33 1177
33 11
33Donc, Donc, MAX MAX joue sonjoue sonmeilleur choix.meilleur choix.
Et Et MIN MIN joue sajoue sameilleure réplique.meilleure réplique.
![Page 169: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/169.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 169169
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Les arbres Minimax servent dans les jeux :Les arbres Minimax servent dans les jeux :
– Je suis Je suis MAXMAX et je veux maximiser mon bénéfice ! et je veux maximiser mon bénéfice !
– Mon adversaire est Mon adversaire est MINMIN et veut minimiser mon et veut minimiser mon bénéfice !bénéfice !
maxmax
minmin
55
minmin
33 1177
Ce choix pourrait êtreCe choix pourrait êtretentant pour tentant pour MAX MAX quiqui
espère obtenir 7 !espère obtenir 7 !
![Page 170: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/170.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 170170
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Les arbres Minimax servent dans les jeux :Les arbres Minimax servent dans les jeux :
– Je suis Je suis MAXMAX et je veux maximiser mon bénéfice ! et je veux maximiser mon bénéfice !
– Mon adversaire est Mon adversaire est MINMIN et veut minimiser mon et veut minimiser mon bénéfice !bénéfice !
maxmax
minmin
55
minmin
33 1177
Ce choix pourrait êtreCe choix pourrait êtretentant pour tentant pour MAX MAX quiqui
espère obtenir 7 !espère obtenir 7 !
MIN MIN est très fort etest très fort etne concède que le minimum !ne concède que le minimum !
![Page 171: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/171.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 171171
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Les arbres Minimax servent dans les jeux :Les arbres Minimax servent dans les jeux :
– Je suis Je suis MAXMAX et je veux maximiser mon bénéfice ! et je veux maximiser mon bénéfice !
– Mon adversaire est Mon adversaire est MINMIN et veut minimiser mon et veut minimiser mon bénéfice !bénéfice !
maxmax
minmin
55
minmin
33 1177
33 11
33
Le chemin du minimax correspond à la fois à :Le chemin du minimax correspond à la fois à :
- la meilleure attaque de - la meilleure attaque de MAXMAX
- et à la meilleure riposte de - et à la meilleure riposte de MIN.MIN.
![Page 172: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/172.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 172172
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Pourquoi construire un arbre minimax plutôt que Pourquoi construire un arbre minimax plutôt que d’évaluer tout de suite une position ?d’évaluer tout de suite une position ?
– Les fonctions d’évaluation sont peu précises !Les fonctions d’évaluation sont peu précises !– Minimax stabilise les résultats !Minimax stabilise les résultats !
4??4??
![Page 173: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/173.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 173173
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Pourquoi construire un arbre minimax plutôt que Pourquoi construire un arbre minimax plutôt que d’évaluer tout de suite une position ?d’évaluer tout de suite une position ?
– Les fonctions d’évaluation sont peu précises !Les fonctions d’évaluation sont peu précises !– Minimax stabilise les résultats !Minimax stabilise les résultats !
maxmax
minmin
55
minmin
33 1177
33 11
33
- A gauche, assez stable entre 3 et 5.- A gauche, assez stable entre 3 et 5.
- A droite, beaucoup plus instable.- A droite, beaucoup plus instable.
![Page 174: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/174.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 174174
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Minimax s’applique aux jeux :Minimax s’applique aux jeux :
– de somme nulle,de somme nulle,
– déterministes,déterministes,
– et d’information parfaite.et d’information parfaite.
![Page 175: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/175.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 175175
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Minimax s’applique aux jeux :Minimax s’applique aux jeux :
– de somme nulle,de somme nulle,
– déterministes,déterministes,
– et d’information parfaite.et d’information parfaite.
Mon avantage est un inconvénientMon avantage est un inconvénientpour mon adversaire, et vice-versa.pour mon adversaire, et vice-versa.
![Page 176: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/176.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 176176
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Minimax s’applique aux jeux :Minimax s’applique aux jeux :
– de somme nulle,de somme nulle,
– déterministes,déterministes,
– et d’information parfaite.et d’information parfaite.
Mon avantage est un inconvénientMon avantage est un inconvénientpour mon adversaire, et vice-versa.pour mon adversaire, et vice-versa.
Pas d’élément de chance commePas d’élément de chance commele résultat d’un lancer de dé.le résultat d’un lancer de dé.
![Page 177: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/177.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 177177
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Minimax s’applique aux jeux :Minimax s’applique aux jeux :
– de somme nulle,de somme nulle,
– déterministes,déterministes,
– et d’information parfaite.et d’information parfaite.
Mon avantage est un inconvénientMon avantage est un inconvénientpour mon adversaire, et vice-versa.pour mon adversaire, et vice-versa.
Pas d’élément de chance commePas d’élément de chance commele résultat d’un lancer de dé.le résultat d’un lancer de dé.
Tous voient toute l’information,Tous voient toute l’information,contrairement aux jeux de cartescontrairement aux jeux de cartesoù la main est cachée.où la main est cachée.
![Page 178: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/178.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 178178
MinimaxMinimax----------------------------------------------------------------------------------------------------------------------------------
• Minimax s’applique aux jeux :Minimax s’applique aux jeux :
– de somme nulle,de somme nulle,
– déterministes,déterministes,
– et d’information parfaite.et d’information parfaite.
Mon avantage est un inconvénientMon avantage est un inconvénientpour mon adversaire, et vice-versa.pour mon adversaire, et vice-versa.
Pas d’élément de chance pourPas d’élément de chance pourle résultat d’un lancer de dé.le résultat d’un lancer de dé.
Tous voient toute l’information,Tous voient toute l’information,contrairement aux jeux de cartecontrairement aux jeux de carteoù la main est cachée.où la main est cachée.
Exemples : les échecs, les dames, le go, …Exemples : les échecs, les dames, le go, …
![Page 179: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/179.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 179179
SynthèseSynthèse----------------------------------------------------------------------------------------------------------------------------------
• Parcours d’arbres.Parcours d’arbres.
• Modification d’arbres.Modification d’arbres.
• Induction sur la structure.Induction sur la structure.
• Back-Track.Back-Track.
• Minimax.Minimax.
![Page 180: Cours d'algorithmique 3 - Intranet 1 13 novembre 2006 Cours dAlgorithmique Parcours darbres. Induction sur la structure. Back-track.Minimax](https://reader034.vdocuments.site/reader034/viewer/2022051819/551d9d84497959293b8bfa4b/html5/thumbnails/180.jpg)
13 novembre 200613 novembre 2006 Cours d'algorithmique 3 - IntranetCours d'algorithmique 3 - Intranet 180180
m E r C i e Tm E r C i e Tb O n N e J o U r N é b O n N e J o U r N é
E ! ! !E ! ! !
n ‘ O u B l I e Z p A s D en ‘ O u B l I e Z p A s D ep R é P a R e R v O sp R é P a R e R v O s
T D ! ! !T D ! ! !