0:00:31.587,0:00:36.298 Ethic e Hedge estão no andar térreo[br]de uma imensa torre. 0:00:37.278,0:00:41.685 Barreiras de energia os separam[br]do alvo da segunda busca deles: 0:00:41.945,0:00:43.945 o "Node da Criação". 0:00:52.667,0:00:53.699 Para chegar até ele, 0:00:53.699,0:00:57.409 Ethic deve usar três correntes[br]de energia para escalar a torre. 0:00:57.409,0:01:03.359 Assim que ela avançar, uma contagem[br]regressiva de 60 segundos terá início. 0:01:07.359,0:01:11.659 Atrás da sala, há um reservatório[br]feito de torres invisíveis 0:01:11.659,0:01:14.545 que podem reter energia entre elas. 0:01:14.735,0:01:18.865 Depois de um minuto,[br]uma cascata de energia descerá, 0:01:18.865,0:01:22.355 preenchendo uma unidade de cada vez,[br]com um campo de força 0:01:22.355,0:01:25.495 que impede a dissipação da energia[br]para frente ou para trás. 0:01:25.495,0:01:27.625 Durante 60 segundos de silêncio, 0:01:27.625,0:01:32.723 Ethic e Hedge devem decidir exatamente[br]quantas unidades de energia descerão. 0:01:32.723,0:01:34.423 Para cada um dos três desafios, 0:01:34.423,0:01:38.088 eles devem escolher a quantidade exata[br]que preencherá o reservatório. 0:01:38.088,0:01:41.938 Se fizerem assim, a energia[br]os impulsionará para cima. 0:01:41.938,0:01:46.558 Mas se eles usarem a quantidade errada,[br]o "elevador de energia" não funcionará, 0:01:46.558,0:01:48.048 fazendo com que eles caiam. 0:01:48.048,0:01:51.348 Diagramas nas paredes[br]ilustram alguns exemplos. 0:01:51.348,0:01:55.618 Esta configuração capturará[br]exatamente duas unidades de energia. 0:01:55.618,0:02:00.735 Esta configuração capturará quatro[br]unidades: três aqui e uma aqui. 0:02:00.735,0:02:03.275 E esta aqui também capturará[br]quatro unidades, 0:02:03.275,0:02:06.688 porque qualquer energia[br]à direita se dissiparia. 0:02:06.688,0:02:08.998 A energia descerá de tal maneira 0:02:08.998,0:02:13.538 que somente transbordará[br]se não houver espaço para retê-la. 0:02:13.538,0:02:18.865 Hedge pode fazer uma torre de blocos[br]visíveis de cada vez e calcular a altura, 0:02:18.865,0:02:22.725 mas não consegue olhar[br]para a estrutura toda de uma só vez. 0:02:22.725,0:02:25.670 Como será que Ethic pode programar[br]Hedge para que ele descubra 0:02:25.670,0:02:29.340 a quantidade exata de energia[br]que cada reservatório pode reter? 0:02:29.340,0:02:33.145 Um pausa agora[br]para que você descubra sozinho. 0:02:34.170,0:02:38.700 [Regra 1] [Regra 2] 0:02:38.805,0:02:41.635 Eis uma maneira de pensar[br]sobre o que está acontecendo: 0:02:41.635,0:02:44.550 cada célula vazia reterá energia 0:02:44.550,0:02:48.650 somente se houver[br]uma parede à sua esquerda 0:02:48.790,0:02:51.437 e uma parede à direita. 0:02:51.517,0:02:56.142 Mas levaria muito tempo para que Hedge[br]verificasse isso para cada célula. 0:02:56.322,0:03:01.085 Então, e se ele verificasse uma coluna[br]inteira de blocos de cada vez? 0:03:01.185,0:03:04.735 Por exemplo, quantas unidades[br]de energia ela pode armazenar? 0:03:05.025,0:03:10.099 [Uma pausa agora[br]para que você descubra sozinho.] 0:03:10.389,0:03:13.759 Vamos analisar o problema[br]olhando para o nosso exemplo. 0:03:13.759,0:03:15.914 Há cinco colunas de blocos aqui. 0:03:15.914,0:03:18.781 A da esquerda não pode reter[br]qualquer quantidade de energia, 0:03:18.781,0:03:20.484 pois não há nada mais alto. 0:03:20.484,0:03:23.118 A segunda coluna pode ter[br]três unidades acima, 0:03:23.118,0:03:27.244 já que elas ficariam presas[br]entre estas duas colunas de quatro blocos. 0:03:27.244,0:03:29.766 Temos três unidades ao calcular a altura 0:03:29.766,0:03:32.186 na qual a energia se nivelaria, [br]ou seja, quatro, 0:03:32.186,0:03:36.216 e subtraindo a altura da coluna,[br]então quatro menos um. 0:03:36.346,0:03:38.178 A terceira coluna é parecida: 0:03:38.178,0:03:41.808 quatro à esquerda, quatro à direita[br]e tem três blocos de altura. 0:03:41.808,0:03:46.177 Ou seja, ela reterá quatro menos três,[br]que é igual a uma unidade. 0:03:46.537,0:03:50.957 A quarta e a quinta colunas[br]não têm nada mais alto à direita, 0:03:50.957,0:03:53.427 então elas podem reter qualquer energia. 0:03:53.427,0:03:57.245 Podemos adaptar essa ideia[br]para um algoritmo. 0:03:57.245,0:04:01.025 Considerando uma coluna de cada vez[br]como o ponto de referência, 0:04:01.025,0:04:03.516 Hedge pode olhar para a esquerda,[br]coluna por coluna, 0:04:03.516,0:04:08.136 para descobrir quanto mede a mais alta,[br]olhar para a direita e fazer o mesmo, 0:04:08.156,0:04:12.833 e usar a menor das duas como a altura[br]a ser preenchida por energia. 0:04:12.833,0:04:15.963 Se o resultado for maior[br]que a coluna em questão, 0:04:15.963,0:04:18.537 subtraia a altura da coluna original, 0:04:18.537,0:04:23.334 e o resultado será o número[br]de unidades que a coluna pode reter. 0:04:23.634,0:04:27.194 Se for igual ou abaixo do nível[br]da coluna em questão, 0:04:27.194,0:04:29.397 a energia transbordará. 0:04:29.397,0:04:32.917 Hedge pode usar um loop para aplicar[br]isso a um reservatório inteiro, 0:04:32.917,0:04:35.132 que se inicia na coluna à esquerda, 0:04:35.132,0:04:38.382 e se move para a direita,[br]uma coluna por vez. 0:04:38.662,0:04:41.691 Para cada coluna, ele seguirá[br]os mesmos passos: 0:04:41.691,0:04:45.451 procurar pela mais alta à esquerda,[br]fazer o mesmo à direita, 0:04:45.451,0:04:49.271 calcular a menor das duas,[br]subtrair a altura da coluna original 0:04:49.318,0:04:53.178 e aumentar o total geral[br]se o número for positivo. 0:04:53.178,0:04:56.688 O loop se repetirá[br]conforme o número de colunas. 0:04:56.848,0:05:00.798 Isso funcionará, mas levará muito tempo[br]para verificar um reservatório grande. 0:05:00.798,0:05:05.328 A cada passo, Hedge repete a ação[br]de olhar à esquerda e à direita. 0:05:05.328,0:05:10.280 Se houver colunas N,[br]ele deverá olhar para todas elas, N vezes. 0:05:10.280,0:05:12.260 Há um modo mais rápido? 0:05:12.260,0:05:14.048 Eis como economizar tempo: 0:05:14.048,0:05:17.468 antes de fazer qualquer coisa,[br]Hedge pode começar à esquerda 0:05:17.468,0:05:21.338 e manter um registro[br]de qual coluna é a mais alta. 0:05:21.338,0:05:25.098 Aqui, seriam dois, novamente dois,[br]já que a primeira coluna era mais alta, 0:05:25.098,0:05:27.848 então quatro, quatro, quatro. 0:05:27.848,0:05:30.628 Assim, ele pode encontrar[br]as colunas mais altas à direita 0:05:30.628,0:05:33.472 fazendo o mesmo,[br]movendo-se da direita à esquerda: 0:05:33.472,0:05:36.742 um, três, quatro, quatro, quatro. 0:05:36.882,0:05:40.632 Por fim, ele terá na memória[br]uma tabela como esta. 0:05:40.722,0:05:45.961 Agora, Hedge pode ir além[br]para calcular quanta energia haverá 0:05:45.961,0:05:50.001 acima de cada coluna,[br]com a mesma equação de antes: 0:05:50.001,0:05:53.638 utilize o menor dos valores[br]armazenados à esquerda e à direita, 0:05:53.638,0:05:56.708 e subtraia a altura da torre atual. 0:05:56.708,0:05:59.583 Ao invés de olhar para N colunas N vezes, 0:05:59.583,0:06:02.293 ele olhará para N colunas[br]apenas três vezes, 0:06:02.293,0:06:04.573 o que chamamos de "tempo linear". 0:06:04.573,0:06:07.814 Há maneiras de otimizar[br]a solução ainda mais, 0:06:07.814,0:06:10.564 mas isso basta para nossos heróis. 0:06:10.564,0:06:12.974 Ethic e Hedge trabalham em conjunto. 0:06:14.992,0:06:18.836 A primeira cascata de energia[br]é muito fácil, e eles sobem a torre. 0:06:21.573,0:06:23.781 A segunda é um pouco mais difícil. 0:06:33.051,0:06:36.911 A terceira é grande,[br]com dezenas de colunas de blocos. 0:06:36.911,0:06:41.344 O tempo se esgota,[br]mas o programa de Ethic é rápido. 0:06:41.344,0:06:44.758 Ela consegue colocar o volante[br]na posição correta bem a tempo, 0:06:49.015,0:06:51.935 e a energia os leva até o Node da Criação. 0:06:55.640,0:06:58.427 Assim como o primeiro artefato,[br]este contém uma visão: 0:06:58.427,0:07:00.867 memórias de anos passados. 0:07:01.067,0:07:03.187 A máquina do mundo mudou tudo, 0:07:03.187,0:07:06.856 e Ethic, na posição[br]de engenheira-chefe de robótica, 0:07:06.856,0:07:08.906 ficou preocupada com o que viu. 0:07:08.906,0:07:11.946 Quando Bradbarrier foi construída[br]para aprisionar as pessoas, 0:07:11.946,0:07:14.586 Ethic sabia que algo estava muito errado. 0:07:14.586,0:07:16.676 Então, ela criou três artefatos 0:07:16.676,0:07:21.221 capazes de restaurar o poder,[br]a criatividade e a memória das pessoas, 0:07:21.221,0:07:24.131 e os contrabandeou para três comunidades. 0:07:24.131,0:07:26.579 Antes que ela pudesse dizer[br]às pessoas como usá-los, 0:07:26.579,0:07:29.399 o governo descobriu[br]suas intenções e enviou os robôs 0:07:29.399,0:07:31.889 para prendê-la e os outros programadores. 0:07:31.889,0:07:35.306 Ethic usou a máquina do mundo[br]para criar uma última coisa: 0:07:35.306,0:07:39.766 um robô que protegeria o artefato antigo[br]das forças da ignorância, 0:07:39.766,0:07:42.169 encerrando-o em um enorme labirinto. 0:07:42.329,0:07:45.283 Ela deu o nome de Hedge à sua criação. 0:07:51.801,0:07:56.221 Sem nenhum aviso, a corrente de energia[br]oscila e então é interrompida.