150 likes | 347 Views
Hakimi – algoritmus egy egyszerű példán keresztül. A Hakimi-algoritmus a gráfok megjelenítésére alkalmas. Ez az eljárás időt, türelmet, odafigyelést igényel. Akkor alkalmazható, amikor kapunk egy fokszámsorozatot és a gráf felrajzolása a feladat.
E N D
Hakimi – algoritmus egy egyszerű példán keresztül
A Hakimi-algoritmus a gráfok megjelenítésére alkalmas. Ez az eljárás időt, türelmet, odafigyelést igényel. Akkor alkalmazható, amikor kapunk egy fokszámsorozatot és a gráf felrajzolása a feladat. Először a fokszámsorozatot csökkenő sorrendbe kell rendezni és ellenőrizni kell, hogy a fokszámok összege páros szám-e. Ha nem, akkor a gráf nem rajzolható meg, vagyis nem létezik. Ha az összegük páros, akkor indulhat el a felrajzolás. Ilyenkor a csúcsokkal kezdjük, mellettük jelölve az elérni kívánt fokszámot. A legnagyobb fokú csúcsból a nagy fokszámú csúcsok felé meghúzom a kívánt számú éleket. Újra rendezem csökkenő sorrendbe a fokszámokat és addig ismételek, ameddig nem jön létre a kívánt fokszámsorozatú gráf.
Ábrázolni kívánt fokszámsorozat = 4, 3, 3, 2, 2, 1, 1 1. lépés: páros számú-e az összegük? Válasz: igen. Vagy összeadással ellenőrizhető, vagy azzal, hogy páros számú-e a páratlan számok száma.
Ábrázolni kívánt fokszámsorozat = 4, 3, 3, 2, 2, 1, 1 2. lépés: hány csúcsot kell felvenni? Válasz: 7 darabot.
Ábrázolni kívánt fokszámsorozat = 4, 3, 3, 2, 2, 1, 1 3. lépés: csúcsok felvétele
Ábrázolni kívánt fokszámsorozat = 4, 3, 3, 2, 2, 1, 1 4. lépés: a 4-es fokszámú csúcs összekötése az alacsonyabb fokszámúakkal 3 2 4 1 3 1 2
Ábrázolni kívánt fokszámsorozat = 4, 3, 3, 2, 2, 1, 1 5. lépés: a még ábrázolni szükséges élek számának a módosítása 2 Az új fokszámokkal azt jelöljük, hogy hány élt kell még megrajzolni ahhoz, hogy a kívánt cél realizálódjon. 1 OK 1 2 1 1
Ábrázolni kívánt fokszámsorozat = 4, 3, 3, 2, 2, 1, 1 6. lépés: újabb élek megrajzolása, megint a legnagyobbal kezdünk 2 A hozzá közel álló nála kisebb, de a többinél nagyobb felé haladunk. 1 OK 1 2 1 1 A most meghúzott vonalak pirossal vannak jelölve!
Ábrázolni kívánt fokszámsorozat = 4, 3, 3, 2, 2, 1, 1 7. lépés: a még ábrázolni szükséges élek számának a módosítása OK Most látható, hogy a következő lépésben még mennyi él megrajzolására van szükség 1 OK 1 OK OK OK
Ábrázolni kívánt fokszámsorozat = 4, 3, 3, 2, 2, 1, 1 8. lépés: a szükséges élek megrajzolása OK 1 OK 1 OK OK OK
Ábrázolni kívánt fokszámsorozat = 4, 3, 3, 2, 2, 1, 1 9. lépés: a még megrajzolni kívánt élek számának módosítása OK OK OK OK OK OK OK
Ábrázolni kívánt fokszámsorozat = 4, 3, 3, 2, 2, 1, 1 10. lépés: ha úgy érezzük készen vagyunk, akkor ellenőrizni kell, hogy létre jött-e a kívánt fokszámsorozatú gráf. OK OK OK OK OK OK OK
Ábrázolni kívánt fokszámsorozat = 4, 3, 3, 2, 2, 1, 1 10. lépés: ha úgy érezzük készen vagyunk, akkor ellenőrizni kell, hogy megvalósult-e a kívánt fokszámsorozatú gráf. 3 2 4 1 3 1 2
Ábrázolni kívánt fokszámsorozat = 4, 3, 3, 2, 2, 1, 1 11. lépés: esetleg elvégezhető a gráf esztétikusabb, de az előbbivel izomorf elrendezése, de ez nem elvárás.