Problem Seti 8 Çözümleri

Benzer belgeler
Ara Sınav 1. Algoritmalara Giriş 14 Ekim 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Kitapçık 14

Algoritmalara Giriş Ekim 17, 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Dağıtım 15.

Pratik Ara Sınav 1 Çözümleri

Problem Set 1 Çözümler

Algoritmalara Giriş 6.046J/18.401J

Algoritmalara Giriş. Prof. Erik Demaine. November 16, 2005 Copyright by Erik D. Demaine and Charles E. Leiserson L18.1

Algoritmalara Giriş 6.046J/18.401J

Algoritmalara Giriş 6.046J/18.401J

11.Hafta En kısa yollar I-II-III Devam. Negatif Ağırlıklı En Kısa Yollar Doğruluk Çözümleme

6.046J/18.401J DERS 7 Kıyım Fonksiyonu (Hashing I) Prof. Charles E. Leiserson

Algoritmalara Giriş Ekim 10, 2005 Massachusetts Institute of Technology Professors Erik D. Demaine ve Charles E. Leiserson. Problem Seti 3 Çözümler

Pratik Final Sınavı Çözümleri 2

Algoritmalara Giriş Eylül 21, 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Çalışma notu 6

Algoritmalara Giriş J/18.401J Ders 15. Dinamik Programlama En uzun ortak altdizi En uygun altyapı Altproblemlerin çakışması

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz

Algoritma Geliştirme ve Veri Yapıları 10 Graf Veri Modeli. Mustafa Kemal Üniversitesi

Problem Seti 4 Çözümler

Algoritmalar. Çizge Algoritmaları. Bahar 2017 Doç. Dr. Suat Özdemir 1

Algoritmalar. Ders 14 En Kısa Yollar II Bellman-Ford algoritması Floyd-Warshall algoritması

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok

köşe (vertex) kenar (edg d e)

Algoritmalara Giriş 6.046J/18.401J DERS 2

6.Hafta Kıyım Fonksiyonu (Hashing), BST. Doğrudan erişim tabloları Çarpışmaları ilmekleme ile çözmek Kıyım fonksiyonu seçimi Açık adresleme

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#9: AÇGÖZLÜ ALGORİTMALAR

MRP Nasıl Çalışır, İşin Matematiği Nedir?

BLM-431 YAPAY ZEKA. Ders-5 Bilgili Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

Algoritmalara Giriş Ekim 31, 2005 Massachusetts Institute of Technology Professors Erik D. Demaine ve Charles E. Leiserson Dağıtım 19.

Çizgeler (Graphs) Doç. Dr. Aybars UĞUR

OYUN GELİŞTİRME AŞAMALARI-I

Algoritmalar. DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama Sayı üstelleri Fibonacci sayıları Matriks çarpımı Strassen in algoritması

VERİ YAPILARI. GRAPH LAR Düzce Üniversitesi Teknoloji Fakültesi ÖĞR.GÖR.GÜNAY TEMÜR 1

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ

10.Hafta Minimum kapsayan ağaçlar Minimum spanning trees (MST)

ÇİZGE KURAMI KESİKLİ MATEMATİKSEL YAPILAR GÜZ

Daha komplike uygulamalar elektronik ticaret, elektronik kimlik belgeleme, güvenli e-posta,

Algoritmalara Giriş Kasım 7, 2005 Massachusetts Institute of Technology Profesör Erik D. Demaine ve Charles E. Leiserson Dağıtım 22.

SINAV İLE İLGİLİ AÇIKLAMA

MARKOV ZİNCİRLERİNDE DURUMLARIN SINIFLANDIRILMASI

Genel Graf Üzerinde Mutlak 1-merkez

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

Algoritmalar. DERS 7 Dengeli Arama Ağaçları Kırmızı-siyah ağaçlar Kırmızı-siyah ağacın yüksekliği Rotation / Dönme Insertion / araya yerleştirme

GRAPH LAR Düzce Üniversitesi Teknoloji Fakültesi VERİ YAPILARI. Bilgisayar Mühendisliği ÖĞR.GÖR.GÜNAY TEMÜR 1

Kullanım kılavuzu HERE Drive

KOMPASS PUSULA Kullanma talimatları

Algoritmalara Giriş Ekim 24, 2005 Massachusetts Institute of Technology Profesör Erik D. Demaine ve Charles E. Leiserson Dağıtım 16.

Anadolu Üniversitesi Endüstri Mühendisliği Bölümü İST328 Yöneylem Araştırması 2 Dersi Bahar Dönemi. Hazırlayan: Doç. Dr.

KÜTLE VE AĞIRLIK MERKEZİ

BLM-431 YAPAY ZEKA. Ders-3 Durum Uzayında Arama. Yrd. Doç. Dr. Ümit ATİLA

8. SINIF LGS MATEMATİK DENEME SINAVI - 2

BMT 206 Ayrık Matematik. Yük. Müh. Köksal GÜNDOĞDU 1

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI LİNEER KRİPTANALİZ

SUPERNOVA BOY OYUN TASARIM BELGESİ MURAT DALKILIÇ

Minterm'e Karşı Maxterm Çözümü

MATRİKS TRADER GRAFİK ÜZERİNDEN EMİR GÖNDERİMİ

YZM 2116 Veri Yapıları

1- Matematik ve Geometri

ALGORİTMA VE PROGRAMLAMA I

MAK Makina Dinamiği - Ders Notları -1- MAKİNA DİNAMİĞİ

BÖLÜM 04. Çalışma Unsurları

MAT223 AYRIK MATEMATİK

1. BÖLÜM Mantık BÖLÜM Sayılar BÖLÜM Rasyonel Sayılar BÖLÜM I. Dereceden Denklemler ve Eşitsizlikler

Elektrik akımının yönü ELEKTRİK İLE İLGİLİ BAZI SİMGELER VE İSİMLERİ. Yukarıda da aktardığım

SU DALGALARINDA GİRİŞİM

HARİTA OKUMA BİLGİSİ

KENDĐ KENDĐNE YOL BULAN ARAÇ

OBEB OKEK ÇÖZÜMLÜ SORULAR

Akademik Personel ve Lisansüstü Eğitimi Giriş Sınavı. ALES / Sonbahar / Sayısal I / 18 Kasım Matematik Soruları ve Çözümleri

MATEMATiK BÖLÜMÜ. 1) Aşağıda bir bardağın ölçüsü ve bu bardakların nasıl içice geçirildiği verilmiştir. A) 1 B) 3 C) 5 D) 6

Desenli Hücreler. Aşağıdaki şekilde görüldüğü gibi Bilge Kunduz elektronik tablonun sütunlarına desenler yerleştirmiştir.

MAT223 AYRIK MATEMATİK

ENDEKLER1. Prof. Dr. Mustafa AKAL

ÇARPANLAR ve KATLAR ASAL SAYILAR. Örnek-2 : 17 ve 27 sayılarının asal sayı olup olmadığını inceleyelim.

VKV Koç İlköğretim Okulu 2. Sınıftan 3. Sınıf Geçen Öğrenciler için Giriş Sınavı Çözümleri 31 Mayıs Ünite. Konu:

Azalt ve Fethet Algoritmaları

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

Bir işaretli büyüklük sayısında en soldaki basamak bir işaret içerir. Diğer basamaklarda ise sayısal değerin büyüklüğü (mutlak değeri) gösterilir.

Daha iyi, daha sorunsuz, daha kolay, daha cazip, daha ekonomik olana ulaşabilmek içinse;

Fizik 101: Ders 21 Gündem

Çevrimiçi Yardım Kılavuzu - SSS V1.2

DİNAMİK (2.hafta) Yatay Hareket Formülleri: a x =0 olduğundan ilk hız ile yatay bileşende hareketine devam eder.

Akıllı Mürekkep Tasarrufları Kılavuzu

Öklid alıştırmaları. Mat 113, MSGSÜ. İçindekiler. 36. önermeden sonra önermeden sonra 8. Çarpma 11

SON TESLİM TARİHİ: PERŞEMBE GÜNÜDÜR.

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

EM302 Yöneylem Araştırması 2 Çok değişkenli DOP ların çözümü. Dr. Özgür Kabak

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

2017 MÜKEMMEL YGS MATEMATİK

BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları

Lineer Denklem Sistemleri

2. (x 1 + x 2 + x 3 + x 4 + x 5 ) 10 ifadesinin açılımında kaç terim vardır?

Sevdiğim Birkaç Soru

İŞ SIRALAMA. İş Sıralamanın Amaçları. İş Sıralama Türleri - 1. İş Sıralama. İş Sıralama Türleri - 2

Transkript:

Algoritmalara Giriş Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Kasım 22, 2005 6.046J/18.410J Dağıtım 27 Problem Seti 8 Çözümleri Problem 8-1. Sola Dönüş yok Yeni bir Nexus Nano çaldınız, ancak arabanın sahibi, arabayı, The Spade denilen bir mekanik kilitle sola dönmesini engelleyecek şekilde kitlemiş. Kaza yapmamak ve dikkat çekmemek için herhangi bir U dönüş de yapmamanız gerekiyor. Düz giderken hızlı gidebildiğinizden, sağa dönüşleri en aza indirerek, olabildiğince çabuk şekilde, aracın parçalarını satacağınız garajınıza ulaşmanız gerekiyor. Ancak eğer iki farklı yoldaki sağa dönüş sayısı aynı ise, düz gittiğiniz mesafeyi de azaltmak istiyorsunuz. İyi ki elinizde şehrin haritası var, böylece sola dönmeden ve U dönüşü yapmadan bir yol planlayabilirsiniz. Daha da iyisi, haritanın m x n hücreli elektronik sürümü de mevcut. Bu hücreler ya boş(geçilebilir) ya dolu(geçilemez) şekildedir. Her bir hücrede geldiğiniz yönde devam edebilir ya da sağa dönebilirsiniz. Sola dönmeye ihtiyacınız olmayan 2 örnek harita Şekil 1' de gösterilmiştir. Şekil 1: 2 tane sola dönüşsüz harita. s' den t' ye olabildiğince az sağa dönüşlü, sola dönüşsüz ve U dönüşsüz yol bulun. Bu haritalar ile www.c l i c k m a z e s. c o m / n o l e f t / i x n o l e f t. h t m adresindeki Java uygulamaları ile oynayabilirsiniz. 1

(a) m x n büyüklüğünde bir haritada, sola dönüşsüz, olabildiğince az sağa dönüşlü bir yol bulmak, veya böyle bir yol olmadığını belirlemek için verimli bir algoritma bulun. Algoritmanız aynı zamanda, eşit sağa dönüşlü yollar arasında, düz yol uzunluğunu da en aza indirmelidir. (İpucu: Soruyla ilgili bir sezgi edinebilmek için sol taraftaki harita için soruyu çözün.) Çözüm: Problemi çözmek için temel fikir, problemi bir grafik olarak simgelemektir. Daha sonra en uygun sola dönüşsüz yolu bulmak için en kısa yol algoritmasından faydalanılır. Grafikteki her (u,v) kenarı, w 1 (u, v) ve W 2 (U, v) gibi 2 tane ağırlığa sahiptir. Eğer kenar bir sağa dönüşü simgeliyor ise, w 1 (u, v)=1 atamasını yaparız, buna karşılık eğer kenar bir düz gidişi simgeliyorsa w 2 (u, v) =1 atamasını bir mesafe ile yaparız. Şekil 2: Grafik Gösterim. Bu problemi bir G grafiğine çevirmenin bir yolunu Şekil 2' de görüyorsunuz. Hücrelerden oluşan haritamız, ağırlıklı yönlendirilmiş bir grafiğe çevrildi. Haritadaki her mn hücre için, 4 düğüm oluşturuyoruz. Eğer araba, belirli bir hücreye onun altındaki başka bir hücreden geliyorsa, burada güney düğümüne girer. Düğümleri yarattıktan sonra, onlara yönlendirilmiş kenarları ekleriz. Sağa dönüşe denk gelen bir kenar w 1 (u, v)=1 ve w 2 (u, v)=0 olurken, düz giderken w 1 (u, v)=0 ve w 2 (u, v)=1 oluyor. Sola dönüşü veya u dönüşü simgeleyen kenarlar grafikte gösterilmez. Bir yönden başka bir yöne giden kenar (güneyden batıya) sağa dönüşü simgeler. Bu grafiği yaratmak O(mn) süre alacaktır. 2

Şimdi grafik gösterimimiz hazır. Sağa dönüşleri en aza indirmek ve daha sonra düz gidiş mesafesini kısaltmak durumundayız. Bir kenar için tek bir gerçek değerdeki ağırlık tutmak yerine, (w1(u, v), w 2 (u, v)) sayı çiftlerini tutuyoruz. İki ağırlığı, ilk önce ilk ağırlığa, daha sonra da 2. ağırlıklara bakarak kıyaslıyoruz. Başka bir deyişle, w = (w 1,w 2 ) ve w' = {w 1 ',w 2 ') için w < w' olması için ya w 1 < w 1 ' olmalı ya da w 1 = w 1 ' ve w 2 < w 2 ' olmalıdır. Alternatif olarak, her bir kenarda tek ağırlıkla bu problemi ele alabiliriz : Sağa dönüşler w > E (örnek, 4mn + 1) ve düz gidilen köşeler 1 ağırlığında alırız. Grafikteki en kısa yol, her zaman en az sayıda sağa dönüşe sahip olacaktır. Çünkü sağa dönmek oldukça pahalı. Bu w, yol ve kenar ağırlıkları gerçek sayılar yerine ikili olsa da, kenar ağırlıkları artı değerli olduğu için, Dijktra' nın algoritmasını kullanabiliriz. Diğer bir deyişle,s' den u' ya ağırlığı w(p) olan bir p yolu verildiğinde, bu p' ye bir (u, v) kenarı ekleyerek elde edilecek p yolunun ağırlığı hiçbir zaman daha küçük değildir; yani, vj(p ) > w(p) + w(u, v). Dijkstra' nın algoritması O(VlgV + E) sürede çalıştığından, koşma süremiz O(mn lg mn) olacaktır. Eğer düz gidilen yolları kısaltmak istemiyorsak ve sadece sağa dönüş sayısını azaltmak istiyorsak, öncelikli sıra işlemlerini O(1) sürede desteklemesi için Dijktra' nın algoritması için öncelikli sırayı düzenlemek mümkündür. Bu koşma süresini O(mn)' e azaltacaktır. Bunu yapabilmek için basit bir yaklaşım, yol uzunluklarını her zaman tam sayı yapmak ve en uzun yol ağırlığının 4 mn (artı düğümlerdeki ) olmasıdır. Yani, öncelikli sırayı O(mn) bağlantılı liste gibi hazırlayabilriz. Burada her bir bağlantılı liste, her gidilebilir yol ağırlığına denk gelmektedir. Aslında, eğer genişlik önce benzeri bir algoritma kullanacaksak, gerçekte iki bağlantılı listeye ihtiyacımız vardır. Düz yollar için kenar ağırlıkları 0, sağa dönüşler için 1 olacak. 0 ağırlıklı bir kenarda keşfettiğimiz yeni düğümler bir listeye eklenir. 1 ağırlıklı kenarda keşfettiğimiz yeni düğümler ise diğer listeye eklenir. Bu algoritmanın başlangıçtaki varsayımlarını ve doğruluk ispatını okuyucuya egzersiz olarak bırakıyoruz. Düz yollar için beraberlik olduğunu varsaydığımızda, bu sorunu çözmek için O(mn) bir algoritma olduğunu görürüz. Eğer "tam bir doğruluk ispatlı" bir O(mn) çözümü bulursanız, bu konuda bizi de bilgilendirin. (b) a bölümündeki algoritmanız ile üretilen yol haritası çıktıktan sonra, polisin sizi takip ettiği durumda garajınıza kadar götürebileceğinizi düşünün. Takipten kurtulmak için en iyi stratejinin hızlı bir şekilde 2 sağ dönüş yapmak olduğunu düşünün. (örnek, komşu karelerde, 90 derecelik dönmeler 1 birim düz gitme ile kesilir) 3

Yani 2 tane ardışık sağa dönüş içeren ve hala sol dönmediğiniz, mümkün olduğunca az sağ dönüşe sahip, eşit sağa dönüşlü yollarda da en kısa düz yolu tercih edeceğiniz bir yol bulmak istiyorsunuz. Böyle bir yolu bulmak veya yol olmadığını belirlemek için verimli bir algoritma yazın. Çözüm: Bir önceki problemdeki G grafiğinin G 0 =(V 0,E 0 ) ve G 1 =(V 1, E 1 ) kopyalarını içeren yeni G' grafiğini yaratırız. Eğer u' dan V' ye 2 sağa dönüş ile gidilebiliyorsa, grafiğe u 0 ЄV 0 ' dan v 1 ЄV 1 ' e giden bir kenar ekleriz. Bu kenar w 1 (u 0,v 1 )=2 ve w(u 0,v 1 )=0 ağırlıklarına sahiptir. Yeni grafik G' grafiğinde, s 0 'den t 1 ' en kısa yolu bulalım. Kaynak sadece G 0 ' da, gider de sadece G 1 ' de olduğundan, en azından bir kez iki ardışık sağa dönüş yapmanız garantilidir. G' grafiğinin orijinal G grafiğine göre (yani 8mn) iki kat fazla düğümü vardır.kenarların sayısını ikiye katlar ve sonra iki ardışık sağa dönüşü temsil eden en çok 8mn kenar ekleriz ( orijinal grafikteki her düğümden iki ardışık sağa dönüş yaparak en çok bir başka düğüme ulaşabiliriz). Bu nedenle Dijkstra's algoritmasıyla G' araması yapmak asimptotik olarak gene O(mn lg mn) süresini alır. Problem 8-2. Video Oyun Tasarımı Profesör Cloud, bir senedir, uzun zamandır beklenen Take-home Fantasy XII isimli oyunun tasarımına danışmanlık yapıyor. Oyundaki seviyelerden birinde, oyuncular girişten çıkışa gitmek için bir labirentteki birçok odayı gezmek zorunda. Odalarda hayat iksiri veya canavar olabileceği gibi, odalar boş da olabilir. Oyuncu odalarda dolaşırken L yaşam puanları azalır veya artar. Hayat iksiri içmek L' yi arttırırken, canavarla karşılaşmak L' yi azaltır. Eğer L, 0' ın altına düşerse, oyuncu ölür. Figur 3' de gösterildiği gibi bu labirent, köşelerin odaları, tek yönlü kenarların da koridorları simgelediği bir G=(V,E) yönlendirilmiş grafiği ile simgelenebilir. f : V -> Z köşe ağırlık fonksiyonu odanın içindekileri simgeler. Eğer f (v) = 0 ise oda boştur. Eğer f (v) > 0 ise odada hayat iksiri vardır. Oyuncu odaya her girdiğinde L yaşam puanı f(v) kadar artar. Eğer f (v) < 0 ise odada canavar vardır. Oyuncu odaya her girdiğinde L yaşam puanı f(v) kadar azalır. L eksi olursa oyuncu ölür. Labirente giriş odası s Є V, çıkış odası da t Є V ' dir. s' den her v' ye ve her v'den t'ye bir yol vardır. Oyuncu, s girişinden L = L 0 > 0 yaşam puanı ile girişten oyuna başlar. 4

Çıkış Giriş Şekil 3 1-girilebilir labirent örneği. Profesör Cloud canavarları ve hayat iksirlerini labirente rastgele yerleştirmek için bir program tasarlıyor, ama bazı labirentlerde girişten çıkışa gitmek L 0 > 0 olmak zorunda olduğundan mümkün olmayabiliyor. s' den t' ye giden yolda eğer oyuncu sağ kalabiliyorsa bu yol girilebilirdir. Eğer L 0 =r ile başlayan bir labirentte girilebilir bir yol varsa, r-girilebilir labirenti tanımlayın. Profesöre r nin en küçük değerini tanımlamak için verimli bir algoritma tasarlamasında yardımcı olun. Öyle ki, bu algoritma, verilen labirentin r-girilebilir olduğunu veya böyle bir r olmadığını belirlesin. (Gidiş yolundan puan almak için, bir labirentin verilen bir r için r-girilebilir olup olmadığı problemini çözün.) (a) Şekil 3' teki labirent için güvenli bir yol bulun. (b) Ağırlıkların kenarlarda olduğunu düşünerek soruyu denk bir probleme çevirin ve bu denkliği kanıtlayın. Çözüm: Eğer giriş düğümü bir ağırlığa sahipse, 0 ağırlıklı yeni bir giriş yaratır ve bu girişten orijinal girişe bir kenar tanımlarız. Daha sonra, köşelerdeki ağırlıkları kenarlara taşırız. Eğer v düğümü f(v) ağırlığına sahipse, bütün (u,v) Є E' ler için w(u, v) = f (v) işlemini yaparız. Denk olan problem kenar ağırlıklı bu grafikte, her alt yolun artı olduğu bir yol bulmadır. 5

(c) Bu problem için hiç bir hayat puanı arttıran devre olmadığını varsayın. Verilen bir r için, labirentin r-girilebilir olup olmadığını nasıl kontrol edersiniz? Çözüm: Bunun için Bellman-Ford' un değiştirilmiş bir sürümünü kullanırız. Verilen bir r için, her bir u düğümü için, oyuncunun u' ya erişmesi için sahip olacağı en fazla q[u] puanı bulunur. Eğer q[t] artı bir değer ise grafiğimiz r-güvenilirdir. uєv olan her köşe için, q[u]' nun alt sınırı p[u] hesaplanır. Giriş hariç bütün p[u]' ları başlangıçta - ' a atarız. Bellman-Ford algoritmasını koşturarak ve kenarları rahatlatarak p[u] değeri q[u]' ya yakınsayana kadar artar. Burada, eksi değerli bir düğüme ulaşmanın, bu düğüme ulaşamamaktan iyi olması önemlidir. Yani, eğer p[u] artı oluyorsa onu değiştiririz, aksi takdirde, - olarak saklarız. Rahatlama rutinini aşağıdaki gibi değiştiririz. Bütün kenarlar V defa rahatlatıldıktan sonra, eğer eksi ağırlıklı hiçbir devre yoksa, bütün p[u]' lar karşılık gelen q[u]' ya yakınsar.(u köşesine erişirken sahip olunan en fazla puanların sayısı). Bu noktada eğer q[t] artı değerli ise, oyuncu çıkışa artı hayat puanları ile ulaşabilir ve grafik r-güvenilir olur. (d) Şimdi, hayat puanlarını arttıran bir devre olabileceğini varsayın. Verilen bir r için, labirentin r-girilebilir olup olmadığını nasıl kontrol edersiniz? Çözüm: Eğer p[t] artı değerli değil ise, bütün kenarları bir kere daha rahatlatırız. (Tıpkı Bellman-Ford' da olduğu gibi). Eğer herhangi bir düğümün p[u]' su değişirse, r puan ile s' den ulaşılabilen artı ağırlıklı bir devre bulduk demektir. Yani, oyuncu devrede t' ye ulaşmak için gerekli olan puana erişebilecek şekilde yeterli defa devrede dolaşır. Eğer artı ağırlıklı bir devre bulamazsak ve p[t], - ise, grafiğimiz r-güvenilir değildir. Algoritmanın doğruluğu Bellman-Ford' un doğruluğu ile aynıdır ve koşma süresi O(V E) dir. (e) r-girilebilir bir labirentte, en küçük r değerini nasıl bulabilirsiniz. Çözüm: Yukarıda verilen alt yöntemi kullanarak en küçük r' yi buluruz. Önce grafiğin 1-güvenilir olup olmadığını kontrol ederiz. Eğer öyle ise 1' i cevap olarak döndürürüz. Eğer değilse, 2 ve 4' ü kontrol ederiz. i' inci basamakta 2 i-1 ' i kontrol ederiz. En sonunda 2 k-1 ' in güvenilir olmadığı ama 2 k ' nın olduğu bir k buluruz. Yani, r' nin en küçük değeri iki değer arasındadır. Bundan sonra r=2 k-1 ile r=2 k arasında r' nin tam değerini bulmak için ikili arama yaparız. Analiz : iken, yapılan işlemlerin sayısı k + O(lg r)=o(lg r)dir. Bellman-Ford' u O(lg r) sürede koşturmak zorunda olduğumuzdan toplam koşma süresi O(V E lg r)' dir. 6