?>

İki General Problemini Çözmeye Çalışırken Kafanız Yanabilir! - Webtekno

Siz de beyninizin sınırlarını zorlayan bulmacaları, problemleri, düşünce deneylerini çözmeyi seviyorsanız bir de "iki general problemi"ni deneyin.

Teknoloji - 11 ay önce

İki ordu, iki general, bir elçi ve bir düşman ordusunun yer aldığı problem; aslında oldukça basit gibi görünse de net bir sonuca ulaşmak için düşünürken beyin yakabiliyor.

"Ben problem çözmek için yaratılmışım." diyenlerin bile kendine olan güvenini kırabilecek bu problemin detaylarına geçelim. Bakalım neler düşüneceksiniz?

“İki general problemi” ya da “iki ordu problemi” nedir?

"Zattiri" ülkesinde bir savaş vardır. Zattiri’deki ordu, 2 bölgeye bölünmüştür. Ordulardan birine "zattiri 1" ordusu, diğerine "zattiri 2" ordusu diyelim. Zattiri ordularının başında da birer general vardır ve mesajlaşarak yani elçi yoluyla anlaşırlar.

Fakat mesajlarının her zaman, ulaşamama riski de vardır. Bu oranın yüzde kaç olduğu fark etmez. Risk vardır işte. Zattiri 1 ordusunun generali, zattiri 2 ordusunun generaline şöyle bir mesaj gönderir:

"12 saat sonra, düşmana karşı taarruza geçelim. Bu mesajı aldığına dair bana teyit mesajı gönder. Eğer göndermezsen bizim zattiri 1 ordusu saldırıya geçmeyecek."

Zattiri 2 ordusunun generali, bu mesajı alır ve ondan beklendiği üzere teyit mesajını elçiyle gönderir fakat kendisi de aynı şekilde teyit etmek ister. Zattiri 1 ordusunun generalinden teyit mesajı talep eder ve mesajı almazsa taarruza geçmeyeceğini söyler.

Sorumuza geçelim.

Bu zattiri orduları, birbirine elçi göndererek ortak bir paydada buluşup taarruza geçebilir mi? Gerçekten anlaştıklarından %100 emin olabilir mi?

Yeterince düşündüyseniz sonuç geliyor…

Aslında bu problemde birden fazla senaryo var. İlk senaryoya göre elçi, iki general arasında sonsuz bir döngüye girerek mesajı teyit ediyor. Her iki general de gönderdiği elçinin geri dönüp teyit mesajı vermesini bekliyor ve tekrar gönderiyor. Bu döngü hiç bitmiyor.

Diğer bir senaryoda ise zattiri 1 ordusu, saldırının yerini elçi vasıtasıyla bildirmek istiyor. Gönderilen elçi geri dönmüyor. Bu yüzden zattiri 1 ordusu da saldırıya geçemiyor çünkü elçinin başına yolda bir şey gelmiş olabilir veya zattiri 2 ordusu, saldırı yerini kabul etmeyip elçiyi öldürmüş olabilir.

Son senaryomuzda ise elçi, zattiri 1 generalinin mesajını zattiri 2 ordusuna iletiyor ve ordu, mesajı kabul ediyor. Daha sonra elçi, kabul mesajını göndermek için zattiri 1 ordusuna doğru tekrar yola çıkıyor. Ancak zattiri 2 ordusu saldırıya geçmiyor çünkü elçi, geri dönerken ölmüş olabilir ve bu durumda da zattiri 1 ordusu da hücum etmez. Bu yüzden zattiri 2 ordusu, mesajın geri iletildiğinden emin olmak zorunda.

Problemi, analoji yoluyla bilgisayar bilimine bağlayabiliriz.

Tarafları; iki general yerine iki bilgisayar sistemi olarak düşünürsek sorun, yine iletişim kanalıdır ve iki sistem arasında her zaman güvensizlik yaratır. Bilgisayar veri iletimi kontrol protokolü TCP (Transmission Control Protocol), bu sistemdeki bağlantıyı sona erdirmek için "4 way handshake" (dört yönlü el sıkışma) yöntemini kullanır. 

Gönderilen iletişim talebi, kanalın öteki ucundaki sistem bir ACK (acknowledge) ile yanıtlayıp gönderdiği için bir bağlantıyı yanıtlayarak karşı tarafa yardım eder. Tüm iletilerin eksiksiz bir biçimde alındığı, sonlandırmayı başlatan sistemden başka bir ACK ile takip edilir. İki taraf da bağlantının sonlandırıldığını bilir fakat sorun yine iki sistem arası paylaşılan bilgidir.

Örnek verecek olursak, ilk mesaj başarılı olur ancak ikinci mesaj kaybolursa yarı açık bir bağlantı oluşur. İlk taraf da bağlantının kapatıldığının farkında olmadığı için TCP güvenilir bir protokol olmasına rağmen problemi çözemez.

Ee sonuç ne yani?

Yok. Elçi ne kadar git gel yaparsa yapsın iki taraf da hücum etmek için yeterince emin olamaz.

Sizin bu probleme dair başka senaryo ve çözüm önerileriniz var mı? Yorumlarda merakla bekliyor olacağız.

Kaynaklar: Medium, Medium 2, Scaler

Kafanız yeterince yanmadıysa aşağıdaki içeriklerimize de göz atabilirsiniz:

Haftanın Öne Çıkanları

Samsunspor - Sivasspor! CANLI

2024-01-14 16:33 - Spor

İpsala Gümrük Kapısı’nda 8 düzensiz göçmen yakalandı

2024-01-11 08:58 - Gündem

Anadolu Otoyolu'nda iki TIR çarpıştı: Ulaşımda aksama yaşandı

2024-01-13 08:02 - Gündem

Trabzonspor - Samsunspor / Canlı yayın

2024-01-11 19:58 - Spor

Linç edilen yazar Haber7'ye konuştu! "Bunları Cumhuriyet'te yayınlayamazsınız!"

2024-01-13 19:03 - Gündem

ABD'nin ticari ham petrol stokları arttı

2024-01-11 10:32 - Ekonomi

İYİ Parti'den CHP ve Özgür Özel'e çok sert PKK tepkisi

2024-01-16 22:53 - Politika

CHP'nin 'takoz siyaseti' ağır bedel ödetmişti: İstanbul'da kentsel dönüşüme 43 d

2024-01-15 17:38 - Gündem

Milli Eğitim Bakanı'ndan yarıyıl tatili açıklaması

2024-01-12 18:18 - Gündem

Windows, 36 yıl önce nasıl gözüküyordu?

2024-01-15 10:53 - Teknoloji

İlgili Haberler

Apple’ın Yeni Hamlesi: 2025’te MicroLED ile Karşımıza Çıkacak

23:33 - Teknoloji

OpenAI, İnsansı Robot İnşa Etmek İçin Yeniden Harekete Geçti

23:28 - Teknoloji

Xiaomi 15 Ultra'nın Çıkış Tarihi Netlik Kazanmak Üzere

23:23 - Teknoloji

LG, Ücretsiz Radyo ve Podcast Dinleme Uygulaması Radio+’ı Tanıttı

22:33 - Teknoloji

OPPO, A Serisinin Yeni Orta Segment Modeli A5 Pro Tanıtıldı

22:08 - Teknoloji

Günün Manşetleri

415 konut ve 63 işyeri açık artırmayla satılacak

07:47 - Ekonomi

CHP'li belediyenin arsa vurgununa Bakanlıktan inceleme

07:38 - Gündem

Bazı bakanlıklara çok sayıda personel alınacak

07:27 - Ekonomi

Asgari ücreti nokta atışı bildi! Emekli maaşı için rakam verdi

07:03 - Ekonomi

Arabuluculukta ücret tarifesi belli oldu

06:58 - Ekonomi