Öyler Yolu (Eulerian Path)
Yazan : Şadi Evren ŞEKER
Bilgisayar mühendisliği de dahil olmak üzere pekçok bilim ve mühendislik alanında kullanılan graf teorisindeki özel bir yol (path) şeklidir. Bu yolun özelliği her kenardan (edge) bir kere (en az ve en çok) geçen yolu bulmaktır.
İçerik
Teorinin tarihi çıkışı
Teorinin tanımı
Öyler yollarının özellikleri
Bir graftaki farklı öyler yollarının sayısı
İlk bakışta hamilton yolu (hamiltonian path) ile karıştırılabilir ancak Hamilton yolundaki amaç her düğümden (node) bir kere geçen yolu bulmak iken Öyler yolunda her kenardan (edge) bir kere geçen yolu bulmak amaçlanır.
Öyler teorisinin tarihi çıkışı
Öylerin teorisini ortaya atmasında önemli rol oynayan tarihi problem Königsberg köprüsü problemidir.

Yukarıdaki şekilde pregel nehri etrafında kurulu (C ve B karaları) ve nehrin ortasında iki adası olan (A ve D adacıkları) kösigner şehrinin yukarıda görülen 7 köprüsü bulunmaktadır.
Problem bütün köprülerden bir kere geçilen bir yol olup olmayacağıdır.
Öyler bu soruyla uğraşırken yazımızın konusu olan öyler yolu teorisini bulmuştur ve cevap olarak böyle bir yolun bulunamayacağını istaplamıştır.
Öylerin iddiası bastir bir keşfe dayanmaktaydı. Şayet bir düğüme (node) bir kenar (edge) ile geliniyorsa bu düğümü terk etmek için farklı bir yola ihtiyaç duyulur.
Bu durumda her düğümün sini (node order) hesaplayan Öyler, bir düğüme giren çıkan yolların sayısına düğüm si (node order) ismini verdi.
Buna göre şayet bir düğümün si tekse, bu düğüm ya başlangıç ya da bitiş düğümü olmalıdır. Bunun dışındaki durumlarda (yol (path) üzerindeki herhangi bir düğüm olması durumunda) tek sayıdaki yolun sonuncusu ziyaret edilmiş olamaz.

Yukarıdaki şekilde köprü örneğinin graf ile gösterilmiş hali görülüyor. Burada dikkat edilirse her dört düğüm de tek sayıda ye sahiptir.
A 5
B C D ise 3
sine sahiptir. Bu durumda düğümlerden iki tanesi başlangıç ve bitiş olsa diğer iki tanesini birleştiren yollar kullanılamayacak ve bütün kenarlar gezilmiş olamayacaktır.
Öyler yolu (eulerian path) tam olarak şu şekilde tanımlanabilir:
Bir yönsüz grafta (undirected graph) şayet bütün düğümleri (nodes) dolaşan bir yol bulunabiliyorsa bu yola Öyler yolu( Eulerian Path, Eulerian Trail, Eulerian Walk) ismi verilir. Bu yolun bulunduğu grafa ise yarı öyler (semi-eulerian) veya dolaşılabilir (traversable) graf ismi verilir.
Şayet bu yolun başlangıç ve bitiş düğümleri (node) aynıysa bu durumda tam bir döngü (cycle) elde edilebiliyor demektir ve bulunan bu yola öyler döngüsü (eulerian cycle, eulerian circuit veya eulerian tour) ismi verilir. Bu yolu içeren grafa ise öyler grafı (eulerian graph veya unicursal) ismi verilir.
Yukarıdaki tanımı yönlü graflar (directed graphs) için de yapmak mümkündür. Ancak bu durumda yukarıdaki tanımda geçen yolları, yönlü yollar ve döngüleri, yönlü döngüler olarak değiştirmek gerekir.
- Bir yönsüz bağlı grafın bütün düğümlerinin si çiftse bu graf öyler grafıdır (eulerian) [amcak ve ancak]
- Bir yönlü graf (directed graf) ancak ve ancak bütün düğümlerin giren ve çıkan lerinin toplamları eşitse öyler grafı (eulerian) olabilir.
- Bir yönsüz graf’ın öyler yolu bulunabilmesi için iki veya sıfır sayıda tek düğüm sine sahip üyesi olmalıdır.
Bir grafta öyler döngüleri bulunuyorsa, birden fazla olabilir. Yani birbirinden farklı döngüler elde edilebilir. Burada fark oluşturan faktör başlangıç ve bitiş düğümleridir.
Örneğin aşağıdaki şekil için

A-B-E-A-C-D-A döngüsü bir öyler döngüsüdür. Benzer şekilde
E-B-A-C-D-A-E döngüsü de bir öyler döngüsüdür.
Buradaki soru acaba bir grafta kaç farklı öyler döngüsü olabilir?
Bu soruya cevap BEST teoremi ismi verilen ve teoremi bulan kişilerin isimlerinin baş harflerinden oluşsan teorem ile verilir. BEST teoremine göre bir grafta bulunan öyler döngülerinin sayısı graftaki bütün düğümlerin lerinin bire eksiğinin faktöriyellerinin çarpımına eşittir.
∏ ( d(v)-1) !
olarak gösterilebilecek teoriye göre d() verilen düğümün (vertex) si ve v ise graftaki bütün düğümlerdir.
Örneğin yukarıdaki graf için bu değeri hesaplayacak olursak önce düğümlerin lerini çıkarmamız gerekir:
A 4
B 2
C 2
D 2
E 2
Şimdi bu değerlerin birer eksiklerinin faktöriyellerini çarpalım
3! = 6
1! = 1
1! = 1
1! = 1
1! = 1
sonuç olarak 6×1x1×1x1 = 6 farklı öyler döngüsü bulunabilir diyebiliriz.
« Sözdizim (Syntax) | Denkşekillilik (Isomorphism) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Öyler Yolu (Eulerian Path)' isimli yazı 17 Jun 2009 tarihinde, saat: 23:07 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 542 defa okunmuştur.
Benzer yazıları algoritma analizi (teory of algorithms), graf teorisi (graph theory, çizge kuramı), veri yapıları kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Yazarın Kitabı
Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
- Visual Basic ile Gösterici (Pointer) Kullanımı
- Hasse Çizgeleri (Hasse Diagrams)
- Zeki Vekiller (Akıllı Ajanlar, Intelligent Agents, Zeki Etmenler )
- Integral Kriptoanalizi ( Toplam Tecessüsü , Integral Cryptoanalysis)
- Diferansiyel Kriptoanalizi ( Fark Tecessüsü , Differential Cryptoanalysis)
- Sierpinski Üçgeni (Sierpinski Triangle)
- C ile programlamaya giriş final sınavı çözümleri
- Çok Seviyeli Sıralar (Multi Level Queues)
- Çift Özetleme (Double Hashing)
- İkinci Dereceden Sondalama (Quadratic Probing)
Yapılan Son Yorumlar
- Abdurrahman ulusoy: merhaba hocam. gelişigüzel...
- Oguz Okutan: Merhaba hocam.. Fonksiyonlarda degere göre...
- Şadi Evren ŞEKER: Null, NULL, nil veya null olarak...
- Fatih Kabakci: hocam merhabalar,...
- kara: Çok güzel anlatılmış gerçekten teşekkürler...
- Şadi Evren ŞEKER: Bahsettiğiniz şekil dönüşümü...
- Caner: Kullanıcıdan açı girdisi almıyorsanız...
- Furkan Yediyildiz: Algoritmanin mantigi cok güzel...
- havva: çok sağolun çok güzel açıklamalar var tşk...
- Şadi Evren ŞEKER: typedef komutu, bir yapıdan yeni bir...
- fatih kabakci: hocam ben structures ile ilgili bir sorum...
- Şadi Evren ŞEKER: evet, yukarıda açıklanan, herhangi...
- Abdurrahman ulusoy: fi açısından teta kadar döndürme...
- Şadi Evren ŞEKER: Hayır yok, bir noktanın, herhangi...
- Abdurrahman ulusoy: Bu durumda yukarıdaki formüllerin...
- Abdurrahman ulusoy: Merhaba hocam Üstteki mesajımda...
- mustafa ekmekcioğlu: merhaba şadi bey ben hacettepe...
- Şadi Evren ŞEKER: Talebiniz üzerine...
- Evren Kocaturk: ve bunu matlab üzerinde, gerekli...
- Evren Kocaturk: teşekkürler, işime yarayacak gibi,...
Yakın Yazılar
Hamilton Yolu (Hamiltonian Path,hamiltonian circuit)
Dış Yol Uzunluğu (External Path Length)
Edmonds Karp Algoritması (Edmonds Karp Algorithm)
Internal Path Reduction Trees ( İç Yol İndirgeme Ağaçları)
İç Yol Uzunluğu (Internal Path Length)
FTP (File Transfer Protocol)(Dosya Transferi Protokolü)
Döngüsel Çarprazlama (Cycle Crossover)
asgari tarama ağacı (en kısa örten ağaç, minimum spanning tree)
Bağlam Yönelimli Programlama (Aspect Oriented Programming)
Bağlantılar
bu gerçekten başarılı bir site gerçekten bravo!