Özgüveninizi Kıracak Bu “İki General Sorununu” Çözmeye Çalışırken Başınız Dönebilir!
İki ordu, iki general, bir büyükelçi ve bir düşman ordusunu ilgilendiren sorun; Aslında oldukça kolay gibi görünse de net bir sonuca ulaşmayı düşünürkenBeyni yakabilir.
“Sorunları çözmek için yaratıldım.”diyenler bile özgüveninizi kırabilir Bu sorunun detaylarına geçelim. Bakalım ne düşünüyorsunuz?
“İki general sorunu” ya da “iki ordu sorunu” nedir?
“Zattiri” ülkesinde savaş var. Zattiri’deki ordu 2 bölgeye ayrılmıştır. ordulardan birine “zattiri 1” ordusu, başkasına “zattiri 2” ordusu diyelimki. Zattiri ordularının başında bir general vardır ve mesajlaşarak yani elçiler aracılığıyla haberleşirler.
Ama mesajların her zaman ulaşma riski Ayrıca orada. Bu oranın yüzde kaç olduğu önemli değil. Risk var. Zattiri 1 ordusunun generali, Zattiri 2 ordusunun generaline şu mesajı gönderiyor:
“12 saat sonra düşmana saldıralım. Bana bu mesajı aldığınızı söylemiştiniz. onay mesajı Göndermek. Eğer göndermezseniz kişisel ordumuz saldırmayacaktır.”
Zattiri 2 ordusunun generali bu mesajı alır ve beklendiği gibi onay mesajını messenger aracılığıyla gönderir ancak kendisi de aynı şekilde onaylamak ister. Zattiri, 1’inci Ordu generalinden bir teyit beyanı talep eder ve Mesajı almazsa saldırmaz.anlatır.
Sorumuza geçelim.
Allah’ın bu orduları birbirlerine elçiler gönderdiler. Ortak bir zemin bulup saldırı başlatabilecekler mi?Aslına bakılırsa anlaştılar %100 eminimBu mümkün mü?
Yeterince düşünürsen sonuç gelir…
Aslında bu problemde birden fazla senaryo var. Birinci senaryoya göre haberci, iki general arasında sonsuz bir döngüye girerek mesajı doğruluyor. Her iki general de gönderdikleri elçinin geri dönmesini bekliyordu. onay mesajı bekliyorum ve tekrar gönderir. Bu döngü asla bitmez.
Başka bir senaryoda Zattiri 1 ordusu, saldırının yerini bir haberci aracılığıyla bildirmek istiyor. Gönderilen elçi geri dönmez. Bu yüzden Zattiri 1’in ordusu saldıramıyor çünkü Yolda büyükelçiye bir şey olmuş olabilir.Veya Zattiri 2’nin ordusu saldırı yerini kabul etmeyip büyükelçiyi öldürmüş olabilir.
Son senaryomuzda haberci, General Zattiri 1’in mesajını Zattiri 2’nin ordusuna iletir ve ordu mesajı kabul eder. Daha sonra elçi kabul mesajını iletmek üzere tekrar ordusuna doğru yola çıkar. Ama 2. Ordu saldırmıyor çünkü Haberci dönüş yolunda ölmüş olabilir ve bu durumda ordusu da saldırmaz. Bu yüzden zattiri 2 ordusunun mesajın geri iletilmesini sağlaması gerekiyor.
Sorunu benzetme yoluyla bilgisayar bilimine bağlayabiliriz.
Taraflar; İki genel yerine iki bilgisayar sistemi olarak düşünürsek sorun yine iletişim kanalındadır ve iki sistem arasında her zaman güvensizlik yaratır. Bu sistemdeki ilişkiyi sonlandırmak için bilgisayar veri iletim kontrol protokolü TCP (İletim Kontrol Protokolü) kullanılır. “4 yönlü el sıkışma”yöntemi kullanır.
Gönderilen bağlantı isteği, kanalın diğer ucundaki sistemin yanıt verip ACK (acknowledge) göndermesi nedeniyle karşı tarafa bir ilişkiye yanıt vererek yardımcı olur. Tüm mesajların tam olarak alındığını, sonlandırmayı başlatan sistemden gelen başka bir ACK takip eder. Her iki taraf da iletişimin sonlandırıldığını biliyor ancak sorun hala devam ediyor. İki sistem arasında paylaşılan bilgidir.
Örneğin, ilk mesaj başarılı ancak ikinci mesaj kaybolmuşsa yarı açık bağlantı meydana gelmek. Birinci taraf kontağın kapalı olduğunun farkında olmadığından TCP güvenli bir protokol olmasına rağmen sorunu çözemez.
Peki sonuç ne?
Hayır. Elçi ne kadar yaparsa yapsın, her iki taraf da Bir hamle yapacak kadar kendine güvenemez.
senin sorunun hakkında Başka senaryo ve analiz öneriniz var mı? var? Yorumlarda merakla bekliyor olacağız.
Yeterince memnun kalmadıysanız aşağıdaki içeriğimize de göz atabilirsiniz: