next up previous contents
suivant: Complexité monter: Programmation dynamique précédent: Formule de calcul   Table des matières

Algorithme

La première chose que l'on peut remarquer, c'est que l'on ne peut pas triangulariser de polynome ayant moins de trois côtés. Ce qui veut dire que le calcul pour $ t\leq3$ n'a pas lieu et que l'on commence à $ t = 4$.
La taille du problème va varier au cours du calcul, et à chaque fois, on va calculer la triangulation pour tous les points de départ possible. On augmente ensuite la taille du problème et ainsi de suite...

Le résultat sera donc situé dans la colonne de droite du tableau $ T$. Ce qui nous donne l'algorithme suivant:


debut
   pour t de 4 a MAX_SOM faire
      pour i de 0 a MAX_SOM-1 faire
         pour k de 1 a t-2 faire
            lgCour=lgCorde[i][(i+k) modulo MAX_SOM] + 
                   + lgCorde[(i+k) modulo MAX_SOM][(i+t-1) modulo MAX_SOM]
                   + T[i][k+1] + T[(i+k) modulo MAX_SOM][t-k];
            si lgCour < lgOpt alors
               lgOpt := lgCour;
            fsi
         fait
      fait
   fait
fin



Alexandre DAGAN
2000-07-07