Ethic dan Hedge berada di lantai bawah sebuah menara besar.
Pembatas energi memisahkan mereka dari tujuan kedua pencarian mereka
Simpul Penciptaan
Untuk mendapatkannya, Ethic harus memakai 3 aliran energi untuk memanjat menara
Begitu ia melangkah pengatur waktu akan mulai menghitung mundur dari 60 detik
Di belakang ruangan, ada sebuah penghalang tak terlihat
yang menahan energi di antara mereka
Setelah satu menit, aliran energi akan mengalir turun dari atas,
mengisi unit satu persatu
dengan medan gaya yang mencegah aliran keluar dari depan maupun belakang
Selama 60 detik
Ethic dan Hedge harus menentukan berapa banyak energi yang turun
Untuk setiap tiga tantangan,
mereka harus memilih jumlah energi yang akan memenuhi penghalang.
Jika mereka melakukannya, energi tersebut akan mendorong mereka ke atas
Tetapi jika mereka salah memilih jumlah, energi yang naik akan runtuh,
menjatuhkan mereka.
Diagram di layar memperlihatkan beberapa contoh,
Susunan ini akan menangkap 2 unit energi.
Susunan ini akan menangkap 4— 3 di sini, dan 1 di sini.
Dan yang ini juga akan menangkap 4,
karena energi di sebelah kanan akan tumpah keluar.
Energi akan turun sedemikian rupa
dan hanya tumpah jika tidak ada ruang yang dapat menahannya.
Hedge dapat membuat satu menara balok terlihat dan menghitung tingginya.
Tetapi ia tidak dapat melihat seluruh strukturnya sekaligus.
Bagaimana Ethic memprogram Hedge untuk mencari tahu
dengan tepat berapa energi yang dapat ditampung setiap penahan?
Jeda sekarang untuk mencari tahu.
Inilah salah satu cara berfikir tentang apa yang terjadi:
Setiap sel kosong akan menampung energi
Hanya jika ada penghalang yang sejajar di sebelah kirinya,
dan penghalang yang sejajar di sebelah kanannya.
Tetapi akan lama bagi Hedge untuk memeriksa setiap sel individu
Jadi bagaimana jika ia mempertimbangkan seluruh kolom balok sekaligus?
Berapa banyak energi yang dapat ditahan oleh ini, misalnya?
Jeda sekarang untuk mencari tahu.
Mari analisa masalahnya dengan melihat contoh.
Ada 5 kolom balok di sini.
Bagian paling kiri tidak dapat menahan energi karena tidak ada yang lebih tinggi.
Tumpukan kedua hanya dapat menahan 3 unit diatasnya,
karena energi akan terperangkap di antara kedua 4 tumpukan balok ini.
Kita mendapatkan 3 unit dengan tinggi di mana energi akan sejajar— 4,
dan mengurangi ketinggian tumpukan— jadi 4 dikurangi 1.
Tumpukan ketiga serupa— 4 di kiri, 4 di kanan, dan tingginya 3,
jadi akan menampung 4 dikurangi 3 yaitu 1 unit.
Tak ada yang lebih tinggi di sebelah kanan tumpukan ke 4 dan 5,
sehingga mereka tidak dapat menyimpan energi.
Kita bisa mengadaptasi ide ini menjadi sebuah algoritma.
Pertimbangkan satu kolom sebagai titik acuan,
Hedge dapat melihat tumpukan di arah kiri untuk mencari yang tertinggi,
lihat tumpukan di arah kanan untuk mencari yang tertinggi,
dan ambil yang lebih kecil dari keduanya sebagai batas ketinggian pengisian energi.
jika hasilnya lebih tinggi dari kolom dalam pertanyaan,
kurangi ketinggian kolom asli,
dan hasilnya adalah jumlah unit yang dapat ditampung kolom tersebut
Jika sama atau di bawah level kolom yang dimaksud,
Energi akan tumpah.
Hedge dapat menerapkannya ke seluruh penghalang dengan rotasi
yang dimulai dari kolom paling kiri ke arah kanan, satu persatu
Untuk tiap kolom, ia akan menggunakan cara yang sama— mencari yang tertinggi di kiri,
lakukan hal yang sama ke kanan, ambil ketinggian terendah dari keduanya,
Kurangi ketinggian asli kolom,
dan tambahkan total keseluruhan jika angka tersebut positif.
Rotasinya akan berulang sebanyak kolom yang ada.
Cara itu bisa berhasil, tapi perlu waktu lama untuk penghalang yang besar.
Tiap kali Hedge mengulangi tindakannya melihat ke kiri dan melihat ke kanan.
Jika ada tumpukan N, dia akan melihat semua tumpukannya N kali.
Apakah ada cara yang lebih cepat?
Ini caranya: sebelum melakukan hal lain,
Hedge dapat mulai dari kiri,
dan terus menghitung dari tumpukan tertinggi.
Di sini akan menjadi 2, 2 lagi, Karena yang pertama lebih tinggi,
lalu 4, 4, 4.
Dia dapat menemukan tumpukan tertinggi paling kanan
dengan melakukan hal yang sama dari kanan ke kiri: 1, 3, 4, 4, 4.
Pada akhirnya dia akan punya tabel seperti ini dalam ingatannya.
Sekarang, Hedge dapat berputar sekali lagi untuk menghitung energi yang akan ada
di atas setiap tumpukan dengan persamaan yang sama sebelumnya:
ambil nilai terkecil dari yang disimpan di kiri dan kanan,
dan kurangi tinggi menara saat ini.
Daripada melihat tumpukan N kali, dia hanya akan melihat tumpukan N 3 kali—
yang disebut waktu linear.
Ada beberapa cara untuk mengoptimalkan solusinya lebih jauh,
tapi ini cukup baik untuk pahlawan kita.
Etika dan Hedge bekerja sama.
Rintangan pertama sangat mudah, dan mereka naik menara.
Yang kedua sedikit lebih sulit.
Yang ketiga sangat sulit, dengan puluhan tumpukan balok.
Waktu hampir habis, tetapi program Ethic cepat.
Dia memposisikan kemudi tepat waktu,
dan energi mengangkat mereka ke Simpul Penciptaan.
Seperti yang pertama, ia memperlihatkan: kenangan bertahun-tahun lalu.
Mesin dunia mengubah segalanya,
dan Ethic, dengan posisinya sebagai kepala insinyur robotika,
menjadi resah dengan apa yang dilihatnya.
Ketika Bradbarrier naik untuk menjaga orang,
dia tahu ada sesuatu yang salah
Jadi dia menciptakan tiga artefak
dengan kemampuan untuk memulihkan kekuatan, kreativitas, dan memori manusia,
dan menyelundupkannya ke tiga komunitas.
Sebelum ia bisa memberi tahu orang cara menggunakannya,
pemerintah mengetahui pekerjaannya dan mengirim robot untuk menangkapnya
dan programmer lainnya.
Hal terakhir yang Ethic ciptakan menggunakan mesin dunia
adalah robot yang akan melindungi perangkat kuno
dari kekuatan ketidakpedulian dengan mengurungnya di labirin raksasa.
Dia menamai ciptaannya Hedge.
Tanpa peringatan, pengangkat energi terganggu, lalu gagal.