## 字幕表 動画を再生する

• Ethic and Hedge are on the ground floor of a massive tower.

• Barriers of energy separate them from their quest’s second goal:

• the Node of Creation.

• To reach it, Ethic must use three energy streams to climb the tower.

• As soon as she steps forward a timer will begin counting down from 60 seconds.

• At the back of the room there’s a basin made of invisible towers

• that can hold energy between them.

• After one minute, a torrent of energy will pour down from above,

• filling one unit at a time,

• with a force field preventing it from spilling out the front or back.

• During the 60 calm seconds,

• Ethic and Hedge must decide exactly how many units of energy will fall.

• For each of the three challenges,

• they must choose the amount that will fill the basin exactly.

• If they do so, the energy will propel them further upwards.

• But if they get the amount at all wrong, the energy lift will fail,

• dropping them.

• Diagrams on the walls illustrate some examples.

• This configuration will capture exactly 2 units of energy.

• This configuration will capture 4— 3 here, and 1 here.

• And this one will also capture 4,

• because any energy on the right would spill out.

• The energy will rain down in such a way

• that itll only overflow if there’s no space that could hold it.

• Hedge can make one tower of blocks visible at a time and count how tall it is,

• but he can’t look at the whole structure all at once.

• How does Ethic program Hedge to figure out

• exactly how much energy each basin can hold?

• Pause now to figure it out for yourself.

• Here’s one way of thinking about what’s happening:

• each unoccupied cell will hold energy

• if and only if there is a wall eventually to its left,

• and a wall eventually to its right.

• But it would take a long time for Hedge to check this for each individual cell.

• So what if he were to consider a whole column of blocks at a time?

• How many units of energy can this hold, for instance?

• Pause now to figure it out for yourself.

• Let’s analyze the problem by looking at our example.

• There are 5 columns of blocks here.

• The leftmost one can’t hold any energy, because there’s nothing higher than it.

• The 2nd stack can have 3 units above it,

• as they would be trapped between these two 4 block stacks.

• We get 3 units by taking the height where the energy would level off— 4,

• and subtracting the height of the stackso that’s 4 minus 1.

• The 3rd stack is similar— 4 to the left, 4 to the right, and it’s 3 high,

• so itll hold 4 minus 3 equals 1 unit.

• The 4th stack and 5th stacks have nothing higher than them to the right,

• so they can’t hold any energy.

• We can adapt this idea into an algorithm.

• Considering one column at a time as the point of reference,

• Hedge can look to the left stack by stack to find the height of the tallest one,

• look to the right to find the height of the tallest one,

• and take the smaller of the two as the height the energy can fill up to.

• If the result is higher than the column in question,

• subtract the height of the original column,

• and the result will be the number of units that column can hold.

• If it's equal to or below the level of the column in question,

• the energy would spill off.

• Hedge can apply that to an entire basin with a loop

• that starts on the left-most column and moves right, one column at a time.

• For each column, hell run the same stepslook all the way left for the tallest,

• do the same to the right, take the lower height of the two,

• subtract the original column height,

• and increase the grand total if that number is positive.

• His loop will repeat as many times as there are columns.

• That will work, but itll take a long time for a large basin.

• At every step Hedge repeats the action of looking left and looking right.

• If there are N stacks, hell look at all N stacks N times.

• Is there a faster way?

• Here’s one time saver: before doing anything else,

• Hedge can start on the left,

• and keep a running tally of what the highest stack is.

• Here that would be 2, 2 again, since the first was higher,

• then 4, 4, 4.

• He can then find the highest right-most stacks

• by doing the same going right-to-left: 1, 3, 4, 4, 4.

• In the end hell have a table like this in his memory.

• Now, Hedge can take one more pass to calculate how much energy there will be

• above every stack with the same equation from before:

• take the smaller of the stored left and right values,

• and subtract the height of the current tower.

• Instead of looking at N stacks N times, hell look at N stacks just 3 times

• which is what’s called linear time.

• There are ways to optimize the solution even further,

• but this is good enough for our heroes.

• Ethic and Hedge work as one.

• The first cascade is a breeze, and they rise up the tower.

• The second is a little tougher.

• The third is huge, with dozens of stacks of blocks.

• The timer ticks down towards zero, but Ethic’s program is fast.

• She gets the wheel in position just in time,

• and the energy lifts them to the Node of Creation.

• Like the first, it reveals a vision: memories of years gone by.

• The world machine changed everything,

• and Ethic, in her position as chief robotics engineer,

• grew troubled by what she saw.

• When the Bradbarrier went up to keep the people in,

• she knew something was seriously wrong.

• So she created three artifacts

• with the ability to restore people’s power, creativity, and memory,

• and smuggled them to three communities.

• Before she could tell people how to use them,

• the government discovered her efforts and sent bots to arrest her

• and the other programmers.

• The last thing Ethic used the world machine to create

• was a robot that would protect the ancient device

• from the forces of ignorance by enclosing it in a giant maze.

• She named her creation Hedge.

• Without warning, the energy lift flickers, then fizzles out.

Ethic and Hedge are on the ground floor of a massive tower.

B1 中級

# Epiphanyの塔｜Think Like A Coder, Ep 7 (The Tower of Epiphany | Think Like A Coder, Ep 7)

• 31 0
林宜悉 に公開 2021 年 01 月 14 日