Changes between Version 5 and Version 6 of CaoCourseTme8


Ignore:
Timestamp:
Apr 4, 2007, 7:24:57 PM (18 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CaoCourseTme8

    v5 v6  
    11{{{
    22#!html
    3 <h1>TME 8 : Méthode de partitionnement de graphe Min-Cut</h1>
     3<h1>TME 8 : Méthode de partitionnement de graphe  Min-Cut</h1>
    44}}}
    55[[PageOutline]]
     
    3232
    3333Attention: avec cette définition, à un seul signal de la net-list peuvent
    34 correspondre plusieurs arêtes dans le graphe: si le signal de sortie d'une
    35 porte logique Cx attaque n portes C1 à Cn, on a n arêtes dans le graphe.
     34correspondre plusieurs arêtes dans le graphe: si la sortie d'une
     35porte logique attaque n autres portes, on a n arêtes dans le graphe.
    3636
    3737On appelle «matrice d'adjacence» {Aij} la matrice carrée N * N qui représente
     
    5353
    5454On part d'une bi-partition équilibrée initiale arbitraire en deux ensembles
    55 L et R, et on cherche à optimiser la fonction de coût FC, sans forcément
    56 rechercher le minimum absolu, mais avec un temps de calcul très court.
     55L et R, et on cherche à optimiser la fonction de coût FC, sans garantie d'atteindre
     56le minimum absolu, mais avec un temps de calcul très court.
    5757
    5858L'idée de base de l'algorithme est de pré-calculer, pour chaque cellule Ci
     
    147147du graphe sont identifiés par leur index. On a donc besoin d'introduire dans
    148148la structure «move_manager_t» représentant le gestionnaire de mouvements,
    149 un tableau de pointeurs NODES [ ], indexé par le numéro du noeud, et contenant
    150 un pointeur sur la structure bichain_t représentant un  les noeuds du graphe
    151 dans les listes doublement chaînées GAIN_L et GAIN_R.
     149un moyen d'obtenir le pointeur sur la structure bichain_t représentant
     150un noeud du graphe lorsqu'on connait son index. On construit donc un
     151tableau de pointeurs NODES [ ], indexé par le numéro du noeud.
    152152 
    153153On utilise donc les structures suivantes:
     
    157157  bichain_t     *NEXT;  // pointeur sur le noeud suivant de même gain
    158158  bichain_t     *PREV;  // pointeur sur le noeud précédent de même gain
    159   unsigned      INODE;  // index du nSud
    160   int           IGAIN;  // index dans le tableau des gains
     159  unsigned      INODE;  // index du noeud
     160  int           IGAIN;  // index dans le tableau des gains : Gain = GMAX - INODE
    161161  unsigned  PART;   // numero de la partie 0 pour R, 1 pour L
    162162} bichain_t