Cuthill-Mackey-algoritmi

Cuthill - McKee algoritmi on  nauhan pienennysalgoritmi harvoille symmetrisille matriiseille _ Nimetty kehittäjien Elizabeth Cuthillin ja James McKeen mukaan.

Reverse Cuthill-McKee ( RCM , käänteinen Cuthill-McKee ) on sama algoritmi käänteisellä indeksinumeroilla.

Algoritmi

Alkuperäistä symmetristä matriisia käsitellään graafin vierekkäisyysmatriisina . Cuthill-McKee-algoritmi numeroi graafin kärjet uudelleen siten, että alkuperäisen matriisin sarakkeiden ja rivien vastaavan permutoinnin seurauksena sen nauhan leveys pienenee .

Algoritmi rakentaa järjestetyn joukon pisteitä, jotka edustavat uutta kärkiluetteloa. Yhdistetylle kaaviolle algoritmi näyttää tältä:

  1. valitse perifeerinen kärki (tai pseudo-perifeerinen kärki ) monikon alkuarvoksi ;
  2. , kun ehto täyttyy , suorita vaiheet 3-5:
  3. rakentaa viereisyysjoukko , jossa  on -th komponentti , ja sulkea pois kärjet, jotka jo sisältyvät , eli: ;
  4. lajitella kärkiasteiden nousevaan järjestykseen ;
  5. lisää tulokseen monikko .

Toisin sanoen, algoritmi luettelee kärjet leveysensimmäisessä haussa , jossa vierekkäiset kärjet kulkevat niiden potenssien kasvavassa järjestyksessä .

Kytkemättömälle graafille algoritmia voidaan soveltaa erikseen jokaiseen yhdistettyyn komponenttiin [1] .

RCM-algoritmin aikalaskennan monimutkaisuus edellyttäen, että järjestykseen käytetään lisäyslajittelua , missä  on kärjen maksimiaste,  on graafin reunojen lukumäärä [2] .

Aloituspisteen valinta

Hyvien tulosten saamiseksi sinun on löydettävä graafin reunapiste . Tämä tehtävä on yleensä melko vaikea, joten sen sijaan he yleensä etsivät pseudo-perifeeristä kärkeä käyttämällä yhtä Gibbsin et al. heuristisen algoritmin modifikaatioista.

Algoritmin kuvaamiseksi otetaan käyttöön juuretun tason rakenteen käsite .  Tietylle pisteelle tasorakenne, jonka juuret ovat pistejoukon osio :

jossa osajoukot määritellään seuraavasti:

ja

Algoritmi näennäisen reunapisteen löytämiseksi [3] :

  1. valitse mielivaltainen kärki ;
  2. rakentaa tasorakenne juurille : ;
  3. valitse huippupiste, jolla on pienin aste ;
  4. rakentaa tasorakenne juurille : ;
  5. jos , määritä ja siirry vaiheeseen 3;
  6. kärki on haluttu pseudo-perifeerinen kärki.

Muistiinpanot

  1. George, Liu, 1984 , s. 65-66.
  2. George, Liu, 1984 , s. 68.
  3. George, Liu, 1984 , s. 70-72.

Kirjallisuus

Linkit