Bağlılık, Euler ve Hamilton yolları
Yol ve devre tanımları, bileşenler, kesme köşeleri ve köprüler, matris kuvvetleriyle yol sayma, Euler devresi/yolu için derece koşulu, Hamilton devresi için Dirac ve Ore teoremleri ve kısaca Dijkstra algoritması.
Bu haftanın sorusu genelde iki parça: “Does this graph have an Euler circuit / Euler path?” ve “Does it have a Hamilton circuit?”. Euler tarafı tamamen derece saymaktır, Hamilton tarafı ise deneme ve birkaç teorem. Üstüne bağlılık (connectivity) tanımları ve kısa bir en kısa yol (Dijkstra) sorusu gelebilir. Vizede yok, final konusu.
Altın kurallar:
- Euler = kenarlar, Hamilton = köşeler. Karıştırmak en pahalı hata.
- Bağlı grafta Euler devresi her derece çift. Euler yolu (devre olmayan) tam iki tek dereceli köşe.
- Hamilton için genel bir “ancak ve ancak” kriteri yok. Var demek için devreyi yaz ya da Dirac/Ore kullan; yok demek için bir engel göster.
- Yol sayısı sorusu komşuluk matrisinin kuvveti.
Yollar ve devreler
Rosen’ın dilinde (bu dersin terimleri):
| Terim | Anlamı |
|---|---|
| path (yol) uzunluğu | kenarlık ardışık dizi (bazı kitaplarda walk) |
| circuit (devre) | olan yol |
| simple path / circuit | aynı kenar tekrar etmiyor |
| length | kenar sayısı (köşe sayısı değil) |
Sezgi: köşeler sahadaki istasyonlar, kenarlar koşu çizgileri. Bir antrenman parkuru bir yoldur; başladığın istasyona dönüyorsan devredir.
Matrisle yol sayma
komşuluk matrisi ise ‘den ‘ye uzunluğu olan yolların sayısı ‘dir. Neden: , yani “‘den ‘ye ve ‘den ‘ye kenar olan ara köşe ” sayısı.
Sorulardaki 4 köşeli graf için:
Köşegen dereceleri veriyor: ‘den çıkıp geri dönen 2 uzunluklu yol = bir kenara gidip geri gelmek.
Bağlılık
Yönsüz bir graf, her iki köşesi arasında bir yol varsa bağlıdır (connected). Bağlı olmayan bir graf bileşenlere (connected components) ayrılır: maksimal bağlı alt graflar. Yalnız köşe tek başına bir bileşendir.
Kesme köşesi (cut vertex): silindiğinde (kenarlarıyla birlikte) bileşen sayısı artan köşe. Köprü (cut edge, bridge): silindiğinde bileşen sayısı artan kenar.
İPUCU · köprü testi. Bir kenar bir döngünün üzerindeyse köprü olamaz, çünkü döngünün geri kalanı iki ucu hala bağlar. Önce döngüleri işaretle, kalan kenarları kontrol et.
Ölçüler:
- Vertex connectivity : grafı koparmak (ya da tek köşeye indirmek) için silinmesi gereken en az köşe sayısı.
- Edge connectivity : koparmak için silinmesi gereken en az kenar sayısı.
- Her zaman .
Örnekler: ; ; bir köprü varsa , kesme köşesi varsa .
Yönlü graflarda: her için hem hem yönlü yol varsa strongly connected; yönleri yok sayınca bağlı oluyorsa weakly connected.
Euler devreleri ve yolları
Euler devresi (Euler circuit): her kenarı tam bir kez kullanan basit devre. Euler yolu (Euler path): her kenarı tam bir kez kullanan basit yol.
Hikaye: Königsberg’in 7 köprüsü. 4 kara parçası (köşe), 7 köprü (kenar), dereceler . Euler, her köprüden bir kez geçen tur olmadığını gösterdi.
Teorem. Bağlı ve en az iki köşeli bir multigraph’ta:
- Euler devresi vardır her köşenin derecesi çifttir.
- Euler yolu var ama devresi yok tam iki köşenin derecesi tektir. Yol bu iki köşede başlar ve biter.
Sezgi: bir köşeden geçen her tur bir kenarla girer, bir kenarla çıkar: dereceye 2 katar. Başlangıç ve bitiş noktası dışındaki her köşe bu yüzden çift dereceli olmalı.
Tam yazılmış ispat (gerek koşul)
Claim. If a connected multigraph has an Euler circuit, then every vertex of has even degree.
Proof. Let the Euler circuit start and end at , and follow it. The first edge contributes 1 to . Each time the circuit passes through a vertex (including returns to before the end), it enters along one edge and leaves along another, contributing 2 to . The last edge enters and contributes 1 more to . Since the circuit uses every edge exactly once, these contributions count every edge end exactly once. Hence for some integer , which is even, and every other vertex has degree equal to a sum of 2’s, which is even.
Türkçesi: devreyi takip et, her “geçiş” bir köşeye 2 ekler; başlangıç köşesi ilk ve son kenarlardan 1 + 1 alır. Ters yön (her derece çiftse devre vardır) yapıcı ispattır: bir devre kur, kalan kenarlardan yeni devreler bulup birleştir (Hierholzer). Finalde genelde gerek koşul ya da sadece teoremin uygulanması istenir.
Uygulama örneği. “Kelebek” graf: (ortak köşesi olan iki üçgen).
dereceler: a 2, b 2, c 4, d 2, e 2 -> hepsi çift, bağlı
Euler devresi: a, b, c, d, e, c, a
Hamilton devresi? c bir kesme köşesi (silince {a,b} ve {d,e} kopar)
-> c'den iki kez geçmek gerekir -> Hamilton devresi YOK
Aynı graf Euler açısından mükemmel, Hamilton açısından imkansız. İki kavramın bağımsız olduğunu gösteren en iyi örnek.
Hamilton yolları ve devreleri
Hamilton yolu (Hamilton path): her köşeden tam bir kez geçen basit yol. Hamilton devresi (Hamilton circuit): başladığı köşeye dönen ve diğer her köşeden tam bir kez geçen devre.
Euler’in aksine, Hamilton devresi için bilinen basit bir “ancak ve ancak” koşulu yok (problem NP-complete). Elinde iki tür araç var.
Var olduğunu göstermek (yeterli koşullar):
| Teorem | Koşul ( basit, köşe) |
|---|---|
| Dirac | her köşenin derecesi |
| Ore | komşu olmayan her için |
Bu koşullar yeterli ama gerekli değil: ‘da dereceler 2, koşullar sağlanmaz ama kendisi bir Hamilton devresidir.
Olmadığını göstermek (engeller):
- Derecesi 1 olan köşe varsa Hamilton devresi yok (o köşeye girip çıkmak için 2 kenar lazım).
- Derecesi 2 olan köşenin iki kenarı da devrede zorunlu. Zorunlu kenarlar bir köşede 3 tane olursa ya da tam olmayan küçük bir devre kapatırsa çelişki.
- Kesme köşesi varsa Hamilton devresi yok.
- İki parçalı grafta taraflar eşit büyüklükte değilse Hamilton devresi yok.
Özel graflar: () her zaman Hamilton devreli, farklı devre sayısı . () Hamilton devreli: Gray kodu (ardışık kodlar tek bit farklı) tam olarak ‘de bir Hamilton devresidir.
TUZAK · Euler koşulunu Hamilton için kullanmak. “Bütün dereceler çift, o halde Hamilton devresi var” yanlış. Kelebek grafında bütün dereceler çift ama Hamilton devresi yok. Tersine ‘te dereceler 3 (tek) ama Hamilton devresi var.
En kısa yol: Dijkstra (kısaca)
Ağırlıklı (weighted) grafta iki köşe arası en kısa yol uzunluğu. Dijkstra algoritması (negatif ağırlık yokken):
- Başlangıca 0, diğerlerine etiketi ver.
- Kesinleşmemiş köşelerden etiketi en küçük olanı seç, kesinleştir.
- Onun komşularının etiketini güncelle: .
- Hedef kesinleşene kadar tekrarla.
Sorudaki graf için kesinleşme sırası:
a:0 -> c:2 -> b:3 -> d:8 -> e:10 -> z:13
yol (geri izle): z <- e <- d <- b <- c <- a uzunluk 13
Dikkat: ‘nin ilk etiketi 4 ( kenarı), ama üzerinden 3. Bir köşe kesinleşmeden önce etiketi düşebilir; kesinleştikten sonra değişmez. Karmaşıklık .
Sık yapılan hatalar
| Yanlış | Doğrusu |
|---|---|
| Euler ile Hamilton’ı karıştırmak | Euler: her kenar bir kez. Hamilton: her köşe bir kez |
| Euler yolunu herhangi bir köşeden başlatmak | İki tek dereceli köşenin birinden başla, ötekinde bitir |
| Euler koşulunda bağlılığı kontrol etmemek | Bağlı değilse (yalnız köşeler hariç) Euler devresi yok |
| “Dirac sağlanmıyor, o halde Hamilton devresi yok” | Dirac yeterli koşul; sağlanmaması bir şey söylemez |
| ‘de Hamilton devresi sayısı | Başlangıç ve yön aynı sayılır: |
| Yol uzunluğunu köşe sayısıyla ölçmek | Uzunluk = kenar sayısı |
| Döngü üzerindeki bir kenarı köprü saymak | Döngüdeki kenar köprü olamaz |
| Yalnız köşeyi bileşen saymamak | Derecesi 0 olan köşe kendi başına bir bileşen |
Kendini test et
Sınavdaki gibi İngilizce sorular. Önce kâğıt kalemle çöz, sonra cevabı aç.
Which of , , , , have an Euler circuit? Which have an Euler path but no Euler circuit?
Cevabı göster
Bağlı grafta Euler devresi her derece çift. Euler yolu (devre değil) tam iki tek dereceli köşe.: hepsi 4, devre var. : hepsi 5, altı tek köşe, hiçbiri yok.: dereceler 4 ve 2, devre var. : 3 köşe derece 4, 4 köşe derece 3; dört tek köşe, hiçbiri yok.: 2 köşe derece 3, 3 köşe derece 2; tam iki tek köşe, yol var devre yok.
Graph has vertices and edges . Does have an Euler circuit or an Euler path? If a path exists, give one.
Cevabı göster
Dereceler: 2, 3, 4, 4, 2, 1. Tek dereceliler ve : devre yok, yol var ve uçları ile olmak zorunda.
Bir yol: . 8 kenarın hepsi bir kez kullanıldı.
A multigraph has four vertices with degrees . Does it have an Euler path?
Cevabı göster
Dört köşenin dördü de tek dereceli. Euler yolu en fazla 2 tek dereceli köşeye izin verir (uçlar). Ne devre ne yol var. (Königsberg köprüleri problemi tam olarak bu dereceler.)
has vertices and edges . How many paths (walks) of length 2 are there from to ? Of length 3?
Cevabı göster
'den 'ye uzunluğu olan yol (walk) sayısı 'nin girdisi.
Uzunluk 2: ortadaki köşe hem 'e hem 'e komşu olmalı: ve . (, ).
Uzunluk 3: (, ).
has vertices and edges . Find all cut vertices and all cut edges (bridges).
Cevabı göster
Yapı: üçgen , köprü , üçgen , köprü .
Kesme köşesi: silinince bileşen sayısı artan köşe. 3 silinirse kopar; 4 silinirse ile ayrılır; 6 silinirse 7 yalnız kalır. 1, 2, 5, 7 silinince graf bağlı kalır.
Köprü: üçgenin kenarları bir döngüde, köprü olamaz. Döngüde olmayan kenarlar ve .
How many different Hamilton circuits does have? (Circuits that differ only in starting point or direction are the same.)
Cevabı göster
Başlangıç köşesini sabitle, kalan 4 köşeyi sırala: . Her devre iki yönde sayıldı: . Genel formül .
A simple graph has 8 vertices and every vertex has degree at least 4. Must it have a Hamilton circuit? Which theorem do you use?
Cevabı göster
Dirac: ve her köşenin derecesi ise Hamilton devresi vardır. Burada ve her derece . Koşul sağlanıyor, devre kesin var (örneğin bu sınıfta).
Does have a Hamilton circuit? A Hamilton path?
Cevabı göster
İki parçalı grafta her kenar taraf değiştirir, devre diye gider ve iki tarafta eşit sayıda köşe gerektirir. , Hamilton devresi yok.
Yol için tarafların farkı en fazla 1 olabilir: bir Hamilton yoludur.
Show that has a Hamilton circuit.
Cevabı göster
'te iki köşe tam bir bit farklıysa komşu. Gray kodu bunu sağlar: .
Ardışık her ikili tek bit farklı, son köşe ile da tek bit farklı. 8 köşenin hepsi bir kez geçiliyor.
Use Dijkstra's algorithm to find the length of a shortest path from to in the weighted graph with edges.
Cevabı göster
Kesinleşme sırası: (0). Komşular: , . En küçük (2): , , . (3): . (8): , . (10): . (13) kesinleşir. Yol .
How many connected components does the graph with vertices and edges have?
Cevabı göster
Bileşenler: (üçgen), , (yol), (yalnız köşe). Yalnız köşe de bir bileşendir: toplam 4.
Find the vertex connectivity and the edge connectivity .
Cevabı göster
: 3 köşelik tarafı silersen geriye birbirine bağlı olmayan 4 köşe kalır, graf kopar. Daha azı yetmez: 2 köşe silsen bile her iki tarafta köşe kalır ve bir taraftaki her köşe karşı taraftakilerin hepsine bağlı. .: bir köşeyi ayırmak için onun 4 kenarını kesmek gerekir; daha az kenar silmek grafı koparmaz. .
Doğrulama: Euler devre/yol varlığı node ile tüm kenar sıralamaları geri izlemeyle (backtracking) aranarak, Hamilton devreleri tüm köşe sıralamaları sayılarak, kesme köşeleri ve köprüler tek tek silinip bileşen sayılarak, yol sayıları komşuluk matrisinin kuvvetleriyle, bağlılık sayıları tüm alt kümeler denenerek, Dijkstra sonucu kodla hesaplanarak doğrulandı (verify/MAT2033/14.mjs).