Etik ve robotu Hedge, direniş lideri Adila'ya
sanatı kül eden fırın-robotları sabote etmek için yardım etmeyi kabul ediyor.
Karşılığında Adila onları,
Etik'in arayışının ilk nesnesi olan
Güç Düğümüne götüreceğine söz veriyor.
Seneler önce sadece bir fırın-robot vardı.
Fırının içinde 0 ve bilinmeyen, rastgele üretilen bir seri numarası vardı.
Zamanla ilk robot, daha fazla fırın-robot üretmek için kendini çoğalttı.
Her çocuk ilk robotun bilinmeyen seri numarasını fırınına aktardı
ve kendi rastgele, özgün seri numarasını dışına kazıdı.
İkinci nesil fırın-robotlar da kendilerini aynı şekilde çoğalttılar,
sürekli kendi seri numaralarını yavrularının fırınlarına aktardılar.
Bu nesiller boyu devam etti.
Günümüzde her fırın-robot emirlerini ailesinden alıyor.
Yani Etik ilk sıfır robotu bulursa ve bir şekilde talimatlarını değiştirirse
tüm orduyu tek seferde yenebilir.
Adila'nın mükemmel bir çözümü var:
Senelerdir taşıdığı veri kristali
aktif edilmek için doğru zamanı bekliyor.
Bir robotun kontrolünü kazanmak
ve yeni talimatlar vermek için tasarlanan bir programı içeriyor.
Ancak ilk robot dışında başka bir fırın-robota yüklenirse
sıfır robotu talimatları geçersiz kılacak
ve bu süreçte veri kristalini yok edecek.
Gıda dağıtımına birkaç dakika kaldı
ve bunu doğru bir şekilde yapmak için tek şansları var.
Neyse ki, Hedge'in veri depolama yeteneği yardımcı olabilir.
Programlamada,
bilgi parçası değişken denen bir şeyde depolanır.
Değişkenler temelde sayıları, kelimeler ya da diğer değerleri tutan kaplardır.
Etik, Hedge'i ilk sıfır robotu hızlıca bulması için nasıl programlayacak?
Kendiniz çözmek için durdurun.
İşte bir ipucu.
Programlar, ihtiyacınız kadar fazla değişkeni olacak şekilde yazılabilir
ama bu problemi sadece biriyle çözebilirsiniz.
Hedge onu seri numara depolamak için kullanabilir
ve ihtiyaç duydukça yeni bir tane ile yerini değiştirebilir.
Kendiniz çözmek için durdurun.
Anahtar nokta, Hedge'in ilk fırın-robotu bulmak için
bütün ilişkileri çıkarmasına gerek olmaması.
Örneğin eğer şansı yaver gider de ilk olanı hemen seçerse
işi tamamlar.
Ancak herhangi başka bir robotla başlarsa
basit bir talimatlar dizisi takip ederek
sıfır-robotuna doğrudan ulaştıracak bir yol bulabilir.
Onları oluşturmaya yardımcı olmak için önce problemi basitleştirelim.
Diyelim ki sadece üç fırın-robot var;
bir ebeveyn ve iki çocuk ama hangisinin kim olduğunu bilmiyorsun.
Hedge'in rastgele birini seçip fırınının içine bakmasını sağlayabilirsin.
Şimdi, soy ağacının bu şekilde göründüğünü biliyorsun.
Eğer fırının içerisindeki sayı 0 ise ebeveyni buldun demektir.
Değilse, hangi çocuğu seçtiğin fark etmeksizin
fırınında ebeveyninin seri numarası bulunmalı.
Bu senaryoda ebeveyni bir ya da iki hamlede bulman garanti.
Gerçekte ise bir sürü fırın-robot var
ve kaç nesil olduğunu
ya da soy ağaçlarının nasıl olduğunu bilmiyorsun.
Bilmene gerek de yok
çünkü Hedge ilk robotu bulana kadar
aynı işlem dizisini yapmaya devam edebilir.
Nasıl mı? Bir döngü ile.
Hedge herhangi bir robotu rastgele seçip fırınına bakabilir
ve seri numarasını değişken olarak depolayabilir.
Sonra depolanan değişken
ilk robotun fırın numarası olan 0'a eşitlenene kadar
tekrar edecek olan şu döngüyü başlatacak:
1. Dış seri numarası depolanmış numarayla eşleşen robotu bul.
2. Fırınının içine bak.
3. Yeni numarayı, eskisinin üzerine yazarak depola.
Döngü bittiğinde Hedge'in sıfır robotunu bulduğunu bileceğiz.
Yani kontrol programını yüklemeli.
Olacaklar şu şekilde:
Hedge'in ilk robotu bulması için sadece 5 tekrar lazım:
Robot 733, fırınında 0 bulunduruyor.
Mekanik göz açıp kapayıncaya kadar program tüm orduya yayılıyor
ve Adila kontrolü devralıyor.
Fırın-robotlara, artık gizlice sanatsal eserleri koruduklarını saklamaları için
tiyatral alev püskürtmeleri yaptırıyor.
Etik fırın-robotları hallettiği için
Adila anlaşmanın kendine düşen kısmını yerine getiriyor.
Etik ve Hedge'i ilk eser Güç Düğümünün
konumuna götürüyor.
Kesin olan tek bir şey var;
çalmak zorunda kalacaklar.