Etik ve Hedge devasa bir
kulenin zemin katındalar.
Enerji bariyerleri görevlerinin
ikinci hedefleri olan
Yaradılış Düğümü'ne ulaşmalarına
engel oluyor.
Kuleye tırmanıp ona ulaşmak için
Etik üç enerji akımı kullanmalı.
İleri adımını atar atmaz bir zamanlayıcı
60 saniyeden geri saymaya başlayacak.
Odanın arkasında,
aralarında enerji tutabilen
görünmez kulelerden oluşan bir havza var.
Bir dakika sonra bir enerji seli
yukarıdan boşalacak
önden veya arkadan taşmalarına
engel olan güç alanı ile birlikte
her seferinde bir birimi dolduracak.
60 durgun saniye boyunca Etik ve Hedge,
tam olarak kaç tane enerji biriminin
düşeceğine karar vermeli.
Üç zorluğun her biri için
havzanın tam olarak dolması için
gerekli miktarı belirlemeliler.
Eğer başarırlarsa enerji onları
daha yukarı çıkaracak.
Fakat miktarı yanlış belirlerse
enerji kaldırması sona erer
ve yere düşerler.
Duvarlardaki şekiller
bazı örnekleri gösteriyor.
Bu düzenleme tam olarak
iki birim enerji kaplayacak.
Bu düzenleme 4 tane kaplayacak,
3'ü burada 1'i burada.
Şu da 4 tane kaplar
çünkü sağdaki herhangi bir enerji dökülür.
Bu enerji, sadece onu tutacak
bir boşluk olmadığı zaman
taşacağı şekilde yağacak.
Hedge tek seferde sadece bir kulenin
bloklarını görünür kılıp
uzunluğunu ölçebilir ama
tüm yapıya tek seferde bakamaz.
Etik her bir havzanın tam tamına
ne kadar enerji tutabileceğini
çözmesi için Hedge'i
nasıl programlayabilir?
Kendiniz çözmek için şimdi durdurun.
Neler olup bittiğini anlamanın bir yolu:
her boş hücre
sadece eninde sonunda solunda
ya da sağında bir duvar
varsa enerjiyi tutacak.
Ancak Hedge'in her bir hücreyi
kontrol etmesi çok zaman alır.
Peki eğer tek seferde bir blok sütunu
kontrol ederse ne olur?
Örneğin kaç enerji birimi bunu tutabilir?
Kendiniz çözmek için şimdi durdurun.
Hadi örneğimize bakarak
sorunu inceleyelim.
Burada 5 blok sütun var.
En sondaki enerji tutamaz
çünkü ondan daha yüksek bir şey yok.
2 tane 4'lü bloğun arasında
sıkışıp kalacakları için
2. yığının üzerinde
3 birim bulundurabilir.
Enerjinin düzleyeceği yüksekliği alarak
-4 ve yığının yüksekliğini çıkarıyoruz,
bu da 4 eksi 1 olur-
3 birim elde ediyoruz.
3. yığın benzer. 4 solda,
4 sağda ve yüksekliği 3.
Yani 4 eksi 3 eşittir 1 birim tutacak.
4. ve 5. yığının sağ tarafında
onlardan yüksek bir şey yok
dolayısıyla enerji tutamazlar.
Bu fikri bir algoritmaya uyarlayabiliriz.
Her sütunu tek tek referans alın,
Hedge teker teker yığınların solunu
kontrol ederek en uzun olanı bulabilir,
sağlarına bakarak da
en uzunlarını bulabilir
ve ikisinden küçük olanı
enerjinin dolacağı sınır olarak alabilir.
Eğer sonuç söz konusu
sütundan daha yüksekse,
asıl sütunun yüksekliğinden çıkar.
Böylece sonuç, o sütunun tutabileceği
birim sayısını verecektir.
Söz konusu sütunun seviyesine
eşit ya da seviyesinin altındaysa
enerji dökülecektir.
Hedge bunu tüm havzaya,
en sol sütundan başlayıp
sağa doğru teker teker
gidecek şekilde uygulayabilir.
Her sütun için aynı adımları
tekrarlayacak; en uzun için sola bakacak,
aynısını sağ tarafa yapacak,
küçük olanın yüksekliğini alacak,
asıl sütunun yüksekliğini çıkaracak
ve o sayı pozitifse
genel toplamı arttıracak.
Döngüsü sütun sayısınca tekrar edecek.
Bu işe yarar fakat geniş bir
havza için çok zaman alır.
Her adımda Hedge sağa sola bakıyor.
Eğer N tane yığın varsa,
N tane yığına N zamanda bakacaktır.
Daha hızlı bir yol var mı?
Bir zaman kazandırıcı:
başka bir şey yapmadan önce
Hedge soldan başlayabilir
ve en uzun yığının hangisi
olduğunun çetelesini tutabilir.
Bu 2, ilki daha uzun olduğu için tekrar 2,
sonra 4, 4, 4 şeklinde olacaktır.
En sağdaki yığınlardan hangisinin
en uzun olduğunu
sağdan sola 1, 3, 4, 4, 4
şeklinde giderek bulabilir.
Sonunda belleğinde şöyle bir tablo olacak.
Şimdi her yığının üzerinde ne kadar
enerji olacağını hesaplamak için
Hedge bir önceki denklemin aynısıyla
bir geçiş daha yapabilir:
kaydedilen sağ ve
sol değerlerden en küçüğünü al,
mevcut kule yüksekliğinden çıkar.
N tane yığına N kere bakmaktansa
N yığına sadece 3 kez bakacak,
buna doğrusal zaman denir.
Çözümü daha da iyileştirmenin yolları var
fakat kahramanlarımız için
bu kadarı yeterli.
Etik ve Hedge bir olarak çalışıyor.
İlk akış çantada keklik
ve kulede yükseliyorlar.
İkincisi biraz daha zor.
Üçüncüsü düzinelerce blok yığınından
oluştuğu için oldukça geniş.
Geri sayım sıfıra yaklaşıyor
ama Etik'in programı hızlı.
Çarkı tam zamanında oynatıyor
ve enerji onları
Yaradılış Düğümü'ne yükseltiyor.
İlki gibi bir görüş yansıtıyor:
geçen yılların anıları.
Dünya makinesi her şeyi değiştirdi
ve robotbilim mühendisliği amiri olan Etik
gördüklerinden dolayı tasalandı.
Bradbarrier insanları içeride
tutmak için yükseldiğinde,
bir şeylerin cidden
yanlış olduğunu biliyordu.
Bundan dolayı üç eseri insanların gücünü,
yaratıcılığını ve hafızasını
yerine getirecek özellikte yarattı.
Sonra onları üç topluluğa kaçırdı.
İnsanlara nasıl
kullanılacaklarını açıklayamadan
hükümet çabasını keşfetti,
onu ve diğer programcıları
tutuklaması için botlar gönderdi.
Etik dünya makinesini en son,
eski cihazı cehalet kuvvetlerinden
korumak için devasa
bir labirente kapatacak
bir robot yaratmak için kullandı.
Adını Hedge koydu.
Birden bire enerji
asansörü titriyor ve düşüyor.