288 | | Cette fonction contient la boucle réalisant les transferts de cellules tant que la fonction de coût |
289 | | n'augmente pas. On utilisera la fonction ''global_cost()'' pour calculer et afficher le coût de |
290 | | la partition avant et après optimisation. |
291 | | |
292 | | '''3. Exécution et évaluation''':: |
293 | | Exécutez cet algorithme sur différents graphes que vous définirez |
294 | | vous-mêmes. La partition résultante est-elle toujours la partition |
295 | | optimale? Pourquoi? Donnez un contre-exemple. |
296 | | |
297 | | '''4. Ecriture des fonctions d'accès''':: |
| 288 | On utilisera la fonction ''global_cost(graph_t *g)'' pour calculer et afficher le coût de la partition avant et après optimisation. |
| 289 | Exécutez cet algorithme sur différents graphes que vous définirez vous-mêmes. |
| 290 | La partition résultante est-elle toujours la partition optimale? Pourquoi? Donnez un contre-exemple. |
| 291 | |
| 292 | '''3. Ecriture de la fonction mincut() ''':: |
| 293 | Ecrire en langage C la fonction mincut() qui réalise l'algorithme !MinCut glouton. |
| 294 | Cette fonction contient la boucle réalisant les transferts de cellules tant que le transfert fait décroitre |
| 295 | la fonction de coût. A chaque tour dans cette boucle, une cellule du sous-ensemble L passe dans R, |
| 296 | et une cellule du sous-ensemble R passe dans L. Les deux cellules i et j qui on bougé doivent être retirées |
| 297 | de la structure de donnée move_manager'', et les gains de toutes les cellules adjacentes à i et j doivent |
| 298 | être mis à jour. |
| 299 | |
| 300 | '''4. Ecriture des autres fonctions d'accès''':: |