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