1 00:00:21,734 --> 00:00:24,784 Упав с башни, Этика и Хедж 2 00:00:24,784 --> 00:00:29,024 оказываются в потоке чистой энергии. 3 00:00:30,944 --> 00:00:36,881 Эта река течёт от Брэдбарьера до Хаксенбурга. 4 00:00:36,881 --> 00:00:39,981 В этом городе находятся заводы, 5 00:00:39,981 --> 00:00:43,061 производящие роботов, и хранится Модуль памяти — 6 00:00:43,061 --> 00:00:47,433 последний из трёх артефактов, который необходимо найти Этике. 7 00:00:47,433 --> 00:00:49,943 После долгого дня и ещё более долгой ночи 8 00:00:49,943 --> 00:00:53,663 они наконец оказываются в каньоне из бетона и стали. 9 00:00:58,918 --> 00:01:01,573 В самый последний момент 10 00:01:01,573 --> 00:01:03,323 кто-то бросает им верёвку. 11 00:01:07,023 --> 00:01:11,137 Их спасительница, Лемма, ждала их прибытия. 12 00:01:11,137 --> 00:01:15,089 Когда Этика нашла Модуль творения в лесной башне, 13 00:01:15,089 --> 00:01:18,989 радиовещание по всей стране было восстановлено. 14 00:01:18,989 --> 00:01:23,765 Лидер сопротивления Адила незамедлительно оповестила своих союзников, 15 00:01:23,765 --> 00:01:26,375 главной из которых была Лемма: 16 00:01:26,375 --> 00:01:32,268 она блестящий учёный и работает в Хаксенбурге над выводом машин из строя. 17 00:01:32,268 --> 00:01:36,268 К сожалению, роботы тоже уловили эти радиосигналы 18 00:01:36,268 --> 00:01:38,528 и теперь предпринимали оборонительные меры 19 00:01:38,528 --> 00:01:43,356 по защите артефакта в самом центре города. 20 00:01:43,356 --> 00:01:48,511 Единственный способ попасть туда — это через лабиринт расходящихся тропок. 21 00:01:48,511 --> 00:01:54,897 Он представляет собой подземную систему светящихся конвейеров. 22 00:01:54,897 --> 00:01:56,717 Начиная с исходной точки, 23 00:01:56,717 --> 00:02:01,112 каждый отрезок идёт прямо, а затем разветвляется. 24 00:02:01,112 --> 00:02:04,542 Так происходит с каждой веткой, снова и снова. 25 00:02:04,542 --> 00:02:06,942 Этих веток тысячи. 26 00:02:06,942 --> 00:02:12,884 К артефакту ведёт только одна тропа, а все остальные ведут к верной гибели. 27 00:02:12,884 --> 00:02:17,503 К счастью, Модуль творения дал Хеджу удивительную способность: 28 00:02:17,503 --> 00:02:21,223 теперь он может создавать более мелкие копии самого себя. 29 00:02:21,223 --> 00:02:26,433 Каждая копия может делать только две вещи: посылать радиосигнал родителю 30 00:02:26,433 --> 00:02:30,173 и создавать ещё более мелкую копию самого себя, 31 00:02:30,173 --> 00:02:33,863 которая, в свою очередь, может делать то же самое, 32 00:02:33,863 --> 00:02:36,803 и так может создаваться бесконечное количество поколений. 33 00:02:36,803 --> 00:02:41,854 Патруль почти настигает их, поэтому у Этики нет времени. 34 00:02:41,854 --> 00:02:47,057 Какие инструкции ей следует дать Хеджу, чтобы найти нужную тропу? 35 00:02:47,057 --> 00:02:53,835 Приостановите видео, чтобы найти ответ самостоятельно. 36 00:02:53,835 --> 00:02:54,825 Подсказка через: 3 37 00:02:54,825 --> 00:02:56,025 Подсказка через: 2 38 00:02:56,025 --> 00:02:56,985 Подсказка через: 1 39 00:02:57,825 --> 00:03:02,987 В арсенале программистов есть полезный инструмент под названием рекурсия. 40 00:03:02,987 --> 00:03:08,328 Рекурсия — это набор указаний, отсылающих к самим себе. 41 00:03:08,328 --> 00:03:11,288 Это схоже с использованием самогó слова в его определении, 42 00:03:11,288 --> 00:03:15,848 где это не приветствуется, но в нашем случае является очень эффективным. 43 00:03:15,848 --> 00:03:20,360 Рекурсия предполагает повторение, но не такое, как в цикле. 44 00:03:20,360 --> 00:03:24,360 Если в цикле одно действие повторяется снова и снова, 45 00:03:24,360 --> 00:03:28,662 в рекурсии действие начинается и, прежде чем будет завершено, используется снова, 46 00:03:28,662 --> 00:03:32,662 и до завершения этого начинается снова, и так далее. 47 00:03:32,662 --> 00:03:36,662 Это продолжается до тех пор, пока не будет достигнуто конечное состояние. 48 00:03:36,662 --> 00:03:40,824 Затем информация передаётся обратно по уровням 49 00:03:40,824 --> 00:03:44,444 до тех пор, пока не достигнет верха и цикл не будет завершён. 50 00:03:44,444 --> 00:03:49,106 Рекурсия идеально подходит для ситуаций с самоподобием, 51 00:03:49,106 --> 00:03:51,966 где каждая часть подобна целому. 52 00:03:51,966 --> 00:03:57,970 Например, смертельная оборонительная система, уничтожающая всех и каждого, 53 00:03:57,970 --> 00:03:59,400 кто посмеет ступить на неё. 54 00:03:59,400 --> 00:04:01,920 Приостановите видео, чтобы найти ответ самостоятельно. 55 00:04:01,920 --> 00:04:02,713 Ответ через: 3 56 00:04:02,713 --> 00:04:03,633 Ответ через: 2 57 00:04:03,633 --> 00:04:04,713 Ответ через: 1 58 00:04:04,993 --> 00:04:08,034 Эта головоломка на первый взгляд кажется очень сложной, 59 00:04:08,034 --> 00:04:12,400 но для неё есть невероятно простое решение с помощью рекурсии. 60 00:04:12,400 --> 00:04:17,150 Чтобы найти его, давайте сначала взглянем на самую простую версию головоломки: 61 00:04:17,150 --> 00:04:20,420 что, если бы весь лабиринт состоял всего из двух троп? 62 00:04:20,420 --> 00:04:25,038 Если Хедж скопирует себя, копия, которая пойдёт неверным путём, будет уничтожена. 63 00:04:25,038 --> 00:04:27,757 Тогда другая — та, которая доберётся до артефакта, — 64 00:04:27,757 --> 00:04:32,457 пошлёт сигнал о том, по какой тропе она двигалась, 65 00:04:32,457 --> 00:04:34,858 и Хедж его получит. 66 00:04:34,858 --> 00:04:38,438 Это называется базовым случаем рекурсии. 67 00:04:38,438 --> 00:04:41,778 А теперь представьте, что из исходной точки тропа разветвляется дважды 68 00:04:41,778 --> 00:04:44,760 и на каждой развилке копии Хеджа — 69 00:04:44,760 --> 00:04:47,620 назовём их Ветка 1 и Ветка 2 — 70 00:04:47,620 --> 00:04:52,627 создают другие копии, назовём их Лист 1, 2, 3 и 4. 71 00:04:52,627 --> 00:04:55,747 Три Листа будут уничтожены. 72 00:04:55,747 --> 00:04:59,863 Тот, который достигнет артефакта, отправит правильный ответ 73 00:04:59,863 --> 00:05:01,843 только своему родителю. 74 00:05:01,843 --> 00:05:05,723 Поэтому если Ветка 1 или 2 ждёт на развилке 75 00:05:05,723 --> 00:05:07,713 и получает радиосигнал, 76 00:05:07,713 --> 00:05:11,273 то это верный путь к артефакту из его местоположения. 77 00:05:11,273 --> 00:05:14,563 Чтобы дать Хеджу верный маршрут из того места, где находится он, 78 00:05:14,563 --> 00:05:17,003 Ветка должна сказать, каким путём она шла, 79 00:05:17,003 --> 00:05:20,603 а также то, что она получила по радио. 80 00:05:20,603 --> 00:05:23,483 Этот процесс будет эффективным вне зависимости от того, 81 00:05:23,483 --> 00:05:25,393 сколько разветвлений придётся пройти. 82 00:05:25,393 --> 00:05:28,353 Каждый ответ, который копия получает по радиосвязи, 83 00:05:28,353 --> 00:05:31,603 описывает путь к пункту управления из того места, где она находится, 84 00:05:31,603 --> 00:05:34,033 и добавив к этому ту тропу, по которой шла она сама, 85 00:05:34,033 --> 00:05:37,223 она может указать путь своему родителю. 86 00:05:37,223 --> 00:05:41,223 Мы можем суммировать все указания в действии под названием «Навигатор», 87 00:05:41,223 --> 00:05:44,353 которое будет выполнять каждая копия Хеджа: 88 00:05:44,353 --> 00:05:46,643 1. По достижении артефакта 89 00:05:46,643 --> 00:05:50,737 сообщи по радиосвязи своему родителю, двигалась ли ты по левой или правой тропе. 90 00:05:50,737 --> 00:05:54,567 2. Когда окажешься на развилке, сойди с конвейера 91 00:05:54,567 --> 00:05:58,547 и отправь новые копии по левой и правой тропе. 92 00:05:58,547 --> 00:06:00,827 Дай им задание «Навигатор». 93 00:06:00,827 --> 00:06:02,867 Это и есть рекурсия, 94 00:06:02,867 --> 00:06:07,961 и повторений может быть много, прежде чем будет запущено последнее указание: 95 00:06:07,961 --> 00:06:12,948 3. Если ты услышишь что-то по радио, сообщи своему родителю, 96 00:06:12,948 --> 00:06:16,577 двигалась ли ты по левой или правой тропе, 97 00:06:16,577 --> 00:06:19,427 а затем повтори то, что услышала по радио. 98 00:06:19,427 --> 00:06:23,423 «Навигатор» — это пример того, что программисты называют функциями, 99 00:06:23,423 --> 00:06:26,113 подпрограммами или процедурами. 100 00:06:26,113 --> 00:06:29,503 Вне зависимости от используемого термина, идея остаётся неизменной — 101 00:06:29,503 --> 00:06:34,297 набору указаний даётся ярлык, чтобы его можно было легко использовать повторно — 102 00:06:34,297 --> 00:06:36,607 возможно, даже сам по себе. 103 00:06:36,607 --> 00:06:39,583 Это идеально подходит для нашего случая — 104 00:06:39,583 --> 00:06:44,813 всю сеть троп можно проследить с помощью всего трёх указаний. 105 00:06:46,257 --> 00:06:47,887 Происходит следующее. 106 00:07:09,760 --> 00:07:15,537 Когда патруль выворачивает из-за угла, Этика и Лемма надевают самодельные маски. 107 00:07:15,537 --> 00:07:19,657 Они сбивают роботов с толку, чтобы дать Хеджу немного времени. 108 00:07:31,473 --> 00:07:36,251 Наконец, после некоторых помех, по радио Хеджа слышится ряд указаний. 109 00:07:36,251 --> 00:07:40,101 Трое друзей прыгают на конвейер и удаляются, 110 00:07:40,101 --> 00:07:43,821 а по пятам за ними мчится отряд роботов.