WEBVTT 00:00:31.587 --> 00:00:36.148 Ethic en Hedge zijn op de begane grond in een reusachtige toren. 00:00:37.288 --> 00:00:41.945 Energiebarrières weerhouden hen ervan het tweede doel te bereiken: 00:00:41.945 --> 00:00:43.945 de Node van Creatie. 00:00:52.667 --> 00:00:53.619 Om daar te komen 00:00:53.619 --> 00:00:57.479 moet Ethic met behulp van drie energiestromen de toren beklimmen. 00:00:57.479 --> 00:00:59.407 Zodra ze een stap naar voren zet, 00:00:59.407 --> 00:01:03.479 telt een timer automatisch 60 seconden af. 00:01:07.359 --> 00:01:11.659 Achterin de ruimte staat een reservoir dat uit onzichtbare torens bestaat, 00:01:11.659 --> 00:01:14.725 waartussen energie opgeslagen kan worden. 00:01:14.725 --> 00:01:18.865 Nadat er een minuut verstreken is, stort er een stroom energie naar beneden 00:01:18.865 --> 00:01:21.015 die de units een voor een vult, 00:01:21.015 --> 00:01:25.475 waarbij een krachtveld alle overtollige energie tegenhoudt. 00:01:25.475 --> 00:01:27.615 Terwijl de seconden rustig verstrijken 00:01:27.615 --> 00:01:32.713 moeten Ethic en Hedge exact berekenen hoeveel energie-units zullen vallen. 00:01:32.713 --> 00:01:34.403 Bij elk van deze drie uitdagingen 00:01:34.403 --> 00:01:38.098 moeten ze precies uitzoeken tot hoever de reservoirs gevuld worden. 00:01:38.098 --> 00:01:41.918 Als ze het voor elkaar krijgen, zal de energie hen omhoog katapulteren. 00:01:41.918 --> 00:01:46.568 Maar als de berekening niet klopt, mislukt de energielift 00:01:46.568 --> 00:01:48.098 en vallen ze naar beneden. 00:01:48.098 --> 00:01:51.348 Wanddiagrammen illustreren enkele voorbeelden. 00:01:51.348 --> 00:01:55.608 Deze configuratie vormt exact twee energie-units. 00:01:55.608 --> 00:02:00.735 Deze configuratie vormt vier units -- drie hier en een hier. 00:02:00.735 --> 00:02:03.275 En ook deze configuratie vormt vier units, 00:02:03.275 --> 00:02:06.678 want aan de rechterkant zal alle energie eruit stromen. 00:02:06.678 --> 00:02:10.910 De energie zal zo uit de lucht vallen, dat het alleen overstroomt 00:02:10.910 --> 00:02:13.498 als er geen ruimte is om het op te slaan. 00:02:13.498 --> 00:02:17.175 Hedge kan maximaal één blokkentoren tegelijk zien 00:02:17.175 --> 00:02:18.875 en daarvan de hoogte berekenen, 00:02:18.875 --> 00:02:22.725 maar hij kan niet de hele constructie in een oogopslag bekijken. 00:02:22.725 --> 00:02:26.360 Hoe kan Ethic Hedge programmeren om precies te weten te komen 00:02:26.360 --> 00:02:29.340 hoeveel energie elk reservoir kan opslaan? 00:02:29.340 --> 00:02:32.795 [Pauzeer nu de video om het zelf uit te zoeken.] 00:02:38.805 --> 00:02:41.615 Je kan het op deze manier bekijken: 00:02:41.615 --> 00:02:44.697 elke lege cel slaat alleen energie op 00:02:44.697 --> 00:02:48.607 als er uiteindelijk links van hem 00:02:48.607 --> 00:02:51.497 en rechts van hem een muur staat. 00:02:51.497 --> 00:02:56.322 Maar Hedge heeft veel tijd nodig om elke afzonderlijke cel te bekijken. 00:02:56.322 --> 00:03:01.175 Wat als hij overweegt om een voor een de kolommen van blokken te bekijken? 00:03:01.175 --> 00:03:05.025 Hoeveel energie-units zijn er bijvoorbeeld nodig om dit op te slaan? 00:03:05.025 --> 00:03:08.049 [Pauzeer nu de video om het zelf uit te zoeken.] 00:03:10.349 --> 00:03:13.759 Laten we een probleemanalyse maken met gebruik van ons voorbeeld. 00:03:13.759 --> 00:03:15.894 Er zijn vijf kolommen met blokken. 00:03:15.894 --> 00:03:18.414 De meest linkse kolom kan geen energie opslaan, 00:03:18.414 --> 00:03:20.484 want daarboven zijn geen units. 00:03:20.484 --> 00:03:23.201 Boven de tweede stapel is er ruimte vrij voor drie units 00:03:23.201 --> 00:03:27.244 die dan tussen deze twee stapels van vier blokken komen te zitten. 00:03:27.244 --> 00:03:32.186 Er zijn drie units als we de afgevlakte energiehoogte -- vier 00:03:32.186 --> 00:03:36.346 en de hoogte van de stapel eraf trekken -- de som is dus 4 min 1. 00:03:36.346 --> 00:03:41.808 De derde stapel lijkt hetzelfde -- 4 links, 4 rechts en 3 blokken hoog, 00:03:41.808 --> 00:03:46.537 dus het slaat 4 min 3 = 1 unit op. 00:03:46.537 --> 00:03:50.875 Naast de vierde en vijfde stapels staan geen hogere stapels 00:03:50.875 --> 00:03:53.427 dus daar kan geen energie opgeslagen worden. 00:03:53.427 --> 00:03:57.245 We kunnen dit idee implementeren als algoritme. 00:03:57.245 --> 00:04:01.015 Door de kolommen een voor een als referentiepunt te overwegen, 00:04:01.015 --> 00:04:03.651 kan Hedge vanaf links een voor een de stapels afgaan 00:04:03.651 --> 00:04:05.396 om de hoogste stapel te vinden, 00:04:05.396 --> 00:04:08.063 rechts de stapels afgaan om de hoogste stapel te vinden 00:04:08.063 --> 00:04:12.833 en de kleinste stapel als energielimiet vaststellen. 00:04:12.833 --> 00:04:15.963 Als de uitkomst hoger uitpakt dan de betreffende kolom, 00:04:15.963 --> 00:04:18.537 trek dan de hoogte van de originele kolom eraf 00:04:18.537 --> 00:04:22.984 zodat de uitkomst het aantal units oplevert die deze kolom kan opslaan. 00:04:23.444 --> 00:04:24.651 Als het op gelijke hoogte 00:04:24.651 --> 00:04:27.244 of onder het niveau van de betreffende kolom staat, 00:04:27.244 --> 00:04:29.397 zal de energie ernaast vallen. 00:04:29.397 --> 00:04:32.927 Hedge kan dit met een loop op een heel reservoir toepassen. 00:04:32.927 --> 00:04:37.975 De loop begint bij de meest linkse kolom en beweegt een kolom per keer naar rechts. 00:04:38.605 --> 00:04:41.642 Voor elke kolom legt hij dezelfde stappen af -- 00:04:41.642 --> 00:04:43.913 zoek links naar de hoogste kolom, 00:04:43.913 --> 00:04:47.201 herhaal dit ook aan de rechterkant, selecteer de laagste stapel, 00:04:47.201 --> 00:04:49.318 trek de oorspronkelijke kolomhoogte eraf 00:04:49.318 --> 00:04:53.178 en verhoog het totaal als de uitkomst een positief getal is. 00:04:53.178 --> 00:04:56.848 Zijn loop wordt net zo vaak herhaald als het aantal aanwezige kolommen. 00:04:56.848 --> 00:04:59.574 Dat zal werken, maar het neemt veel tijd in beslag 00:04:59.574 --> 00:05:00.798 voor een groot reservoir. 00:05:00.798 --> 00:05:05.328 Bij elke stap herhaalt Hedge de handeling om naar links en rechts te kijken. 00:05:05.328 --> 00:05:10.280 Als er N stapels zijn, kijkt hij N keren naar alle N stapels. 00:05:10.280 --> 00:05:12.260 Kan het sneller? 00:05:12.260 --> 00:05:15.608 Zo bespaar je tijd: voordat hij actie onderneemt, 00:05:15.608 --> 00:05:17.468 kan Hedge aan de linkerkant beginnen 00:05:17.468 --> 00:05:21.338 en een turfschema bijhouden van de hoogste stapel. 00:05:21.338 --> 00:05:25.098 Hier is dat 2, nogmaals 2, omdat de eerste stapel hoger was, 00:05:25.098 --> 00:05:27.848 daarna drie keer een 4. 00:05:27.848 --> 00:05:30.714 Zo kan hij de hoogste, meest uiterst rechtse stapels vinden 00:05:30.714 --> 00:05:36.492 door dit ook van rechts naar links te doen: 1, 3, 4, 4, 4. 00:05:36.882 --> 00:05:40.663 Uiteindelijk staat deze tabel in zijn geheugen opgeslagen. 00:05:40.663 --> 00:05:45.961 Hedge kan nogmaals proberen te berekenen hoeveel energie er zal zijn 00:05:45.961 --> 00:05:50.001 boven elke stapel met dezelfde vergelijking als voorheen: 00:05:50.001 --> 00:05:53.638 neem de kleinste van de linkse en rechtse waarden 00:05:53.638 --> 00:05:56.708 en trek de hoogte eraf van de huidige toren. 00:05:56.708 --> 00:05:59.565 In plaats van N keer te kijken naar N stapels, 00:05:59.565 --> 00:06:02.273 kijkt hij alleen 3 keer naar N stapels -- 00:06:02.273 --> 00:06:04.573 dit heet lineaire tijd. 00:06:04.573 --> 00:06:07.814 Er zijn zelfs manieren om deze oplossing verder te optimaliseren, 00:06:07.814 --> 00:06:10.564 maar dit werkt prima voor onze helden. 00:06:10.564 --> 00:06:12.684 Ethic en Hedge zijn een hecht team. 00:06:14.952 --> 00:06:17.197 De eerste stortvloed valt makkelijk te omzeilen 00:06:17.197 --> 00:06:18.956 en ze stijgen richting de top. 00:06:21.573 --> 00:06:24.133 De tweede stortvloed valt iets moeilijker te omzeilen. 00:06:33.051 --> 00:06:36.891 De derde stortvloed is ontzettend groot en bevat tientallen stapels blokken. 00:06:36.891 --> 00:06:39.156 De timer telt af naar nul, 00:06:39.156 --> 00:06:41.344 maar Ethic gebruikt een snelle applicatie. 00:06:41.344 --> 00:06:44.528 Ze zet het wiel binnen de tijd op de juiste positie ... 00:06:49.015 --> 00:06:51.935 en de energie katapulteert hen naar de Node van Creatie. 00:06:55.640 --> 00:06:58.423 Net als de eerste Node onthult het een visie: 00:06:58.423 --> 00:07:01.057 gebeurtenissen van jaren geleden. 00:07:01.057 --> 00:07:03.187 De wereldmachine veranderde alles 00:07:03.187 --> 00:07:06.856 en Ethic, in haar functie als hoofd robotica-technicus, 00:07:06.856 --> 00:07:08.876 maakte zich zorgen door wat ze zag. 00:07:08.876 --> 00:07:11.892 Toen de Bradbarrière omhoog steeg om het volk binnen te houden, 00:07:11.892 --> 00:07:14.576 wist ze dat er iets ergs aan de hand was. 00:07:14.576 --> 00:07:16.676 Daarom creëerde ze drie artefacten 00:07:16.676 --> 00:07:21.221 die macht, creativiteit en geheugen van het volk kunnen terughalen 00:07:21.221 --> 00:07:24.121 en smokkelde ze mee naar drie gemeenschappen. 00:07:24.121 --> 00:07:26.519 Voor ze het volk hierover kon vertellen, 00:07:26.519 --> 00:07:30.090 ontdekte de overheid Ethics inspanningen en gaf de bots de opdracht om haar 00:07:30.090 --> 00:07:31.999 en de andere programmeurs te arresteren. 00:07:31.999 --> 00:07:35.209 Ethic heeft de machine voor de laatste keer gebruikt 00:07:35.209 --> 00:07:37.979 om een robot te creëren die het oude apparaat beschermt 00:07:37.979 --> 00:07:39.799 tegen de krachten van onwetendheid 00:07:39.799 --> 00:07:42.329 door het te omheinen in een grote doolhof. 00:07:42.329 --> 00:07:44.743 Ze benoemde haar creatie Hedge. 00:07:51.801 --> 00:07:55.631 Plotseling knippert de energielift en valt hij uit.