Advertisement
Jobjob

SDD Question 4 Juin 2013

Jun 9th, 2014
290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. 1) PMax[1,5] = 25
  2.  
  3. 2) Si il y a un cycle, cela pourrait créer un chemin de taille infini dans certaines
  4. conditions.
  5.  
  6. 3) P_k[s,s'] = p ssi p est le poids d'un plus long chemin de s à s' sans passer par un sommet > k
  7.  
  8. En cours d'execution:
  9. A une étape disposer de P_k-1
  10. A l'étape suivante calculer P_k[s,s']=max{P_k-1[s,s'],(P_k-1[s,k]+P_k-1[k,s'])}
  11.  
  12. Initialisation: P_0[s,s'] = 0 si s = s' et P_0[s,s'] = M[s,s'] sinon (M[s,s'] vaut le poids de l'arc (s, s')
  13. si il n'y a pas d'arc entre s et s', M[s,s'] = -infini
  14.  
  15. Fin des calculs: quand k = n+1
  16.  
  17. Algorithme besoin de deux matrices P_old, P_new pour P_k-1 et P_k respectivement
  18.  
  19. 4)
  20.  
  21. plus_long_chemin(G):
  22. pour s allant de 1 à n:
  23. pour s' allant de 1 à n:
  24. P_old[s,s'] <- M[s,s']
  25. pour s allant de 1 à n:
  26. P_old[s,s] <- 0
  27. pour k allant de 1 à n:
  28. pour s allant de 1 à n:
  29. pour s' allant de 1 à n:
  30. P_new[s,s'] <- max{P_old[s,s'],(P_old[s,k]+P_old[k,s'])}
  31. pour s allant de 1 à n:
  32. pour s' allant de 1 à n:
  33. P_old[s,s'] <- P_new[s,s']
  34. retourner P_old
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement