| 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''':: |