Return to Video

Лабиринт | Думай по-кодерски — эпизод 8

  • 0:22 - 0:25
    Упав с башни, Этика и Хедж
  • 0:25 - 0:29
    оказываются в потоке чистой энергии.
  • 0:31 - 0:37
    Эта река течёт от Брэдбарьера
    до Хаксенбурга.
  • 0:37 - 0:40
    В этом городе находятся заводы,
  • 0:40 - 0:43
    производящие роботов,
    и хранится Модуль памяти —
  • 0:43 - 0:47
    последний из трёх артефактов,
    который необходимо найти Этике.
  • 0:47 - 0:50
    После долгого дня и ещё более долгой ночи
  • 0:50 - 0:54
    они наконец оказываются
    в каньоне из бетона и стали.
  • 0:59 - 1:02
    В самый последний момент
  • 1:02 - 1:03
    кто-то бросает им верёвку.
  • 1:07 - 1:11
    Их спасительница, Лемма,
    ждала их прибытия.
  • 1:11 - 1:15
    Когда Этика нашла Модуль
    творения в лесной башне,
  • 1:15 - 1:19
    радиовещание по всей стране
    было восстановлено.
  • 1:19 - 1:24
    Лидер сопротивления Адила незамедлительно
    оповестила своих союзников,
  • 1:24 - 1:26
    главной из которых была Лемма:
  • 1:26 - 1:32
    она блестящий учёный и работает
    в Хаксенбурге над выводом машин из строя.
  • 1:32 - 1:36
    К сожалению, роботы тоже
    уловили эти радиосигналы
  • 1:36 - 1:39
    и теперь предпринимали оборонительные меры
  • 1:39 - 1:43
    по защите артефакта в самом центре города.
  • 1:43 - 1:49
    Единственный способ попасть туда —
    это через лабиринт расходящихся тропок.
  • 1:49 - 1:55
    Он представляет собой подземную
    систему светящихся конвейеров.
  • 1:55 - 1:57
    Начиная с исходной точки,
  • 1:57 - 2:01
    каждый отрезок идёт прямо,
    а затем разветвляется.
  • 2:01 - 2:05
    Так происходит с каждой веткой,
    снова и снова.
  • 2:05 - 2:07
    Этих веток тысячи.
  • 2:07 - 2:13
    К артефакту ведёт только одна тропа,
    а все остальные ведут к верной гибели.
  • 2:13 - 2:18
    К счастью, Модуль творения
    дал Хеджу удивительную способность:
  • 2:18 - 2:21
    теперь он может создавать
    более мелкие копии самого себя.
  • 2:21 - 2:26
    Каждая копия может делать только две вещи:
    посылать радиосигнал родителю
  • 2:26 - 2:30
    и создавать ещё более мелкую
    копию самого себя,
  • 2:30 - 2:34
    которая, в свою очередь,
    может делать то же самое,
  • 2:34 - 2:37
    и так может создаваться
    бесконечное количество поколений.
  • 2:37 - 2:42
    Патруль почти настигает их,
    поэтому у Этики нет времени.
  • 2:42 - 2:47
    Какие инструкции ей следует дать Хеджу,
    чтобы найти нужную тропу?
  • 2:47 - 2:54
    Приостановите видео,
    чтобы найти ответ самостоятельно.
  • 2:54 - 2:55
    Подсказка через: 3
  • 2:55 - 2:56
    Подсказка через: 2
  • 2:56 - 2:57
    Подсказка через: 1
  • 2:58 - 3:03
    В арсенале программистов есть полезный
    инструмент под названием рекурсия.
  • 3:03 - 3:08
    Рекурсия — это набор указаний,
    отсылающих к самим себе.
  • 3:08 - 3:11
    Это схоже с использованием
    самогó слова в его определении,
  • 3:11 - 3:16
    где это не приветствуется, но в нашем
    случае является очень эффективным.
  • 3:16 - 3:20
    Рекурсия предполагает повторение,
    но не такое, как в цикле.
  • 3:20 - 3:24
    Если в цикле одно действие
    повторяется снова и снова,
  • 3:24 - 3:29
    в рекурсии действие начинается и, прежде
    чем будет завершено, используется снова,
  • 3:29 - 3:33
    и до завершения этого
    начинается снова, и так далее.
  • 3:33 - 3:37
    Это продолжается до тех пор, пока не будет
    достигнуто конечное состояние.
  • 3:37 - 3:41
    Затем информация передаётся
    обратно по уровням
  • 3:41 - 3:44
    до тех пор, пока не достигнет верха
    и цикл не будет завершён.
  • 3:44 - 3:49
    Рекурсия идеально подходит
    для ситуаций с самоподобием,
  • 3:49 - 3:52
    где каждая часть подобна целому.
  • 3:52 - 3:58
    Например, смертельная оборонительная
    система, уничтожающая всех и каждого,
  • 3:58 - 3:59
    кто посмеет ступить на неё.
  • 3:59 - 4:02
    Приостановите видео,
    чтобы найти ответ самостоятельно.
  • 4:02 - 4:03
    Ответ через: 3
  • 4:03 - 4:04
    Ответ через: 2
  • 4:04 - 4:05
    Ответ через: 1
  • 4:05 - 4:08
    Эта головоломка на первый взгляд
    кажется очень сложной,
  • 4:08 - 4:12
    но для неё есть невероятно простое
    решение с помощью рекурсии.
  • 4:12 - 4:17
    Чтобы найти его, давайте сначала взглянем
    на самую простую версию головоломки:
  • 4:17 - 4:20
    что, если бы весь лабиринт
    состоял всего из двух троп?
  • 4:20 - 4:25
    Если Хедж скопирует себя, копия, которая
    пойдёт неверным путём, будет уничтожена.
  • 4:25 - 4:28
    Тогда другая — та,
    которая доберётся до артефакта, —
  • 4:28 - 4:32
    пошлёт сигнал о том,
    по какой тропе она двигалась,
  • 4:32 - 4:35
    и Хедж его получит.
  • 4:35 - 4:38
    Это называется базовым случаем рекурсии.
  • 4:38 - 4:42
    А теперь представьте, что из исходной
    точки тропа разветвляется дважды
  • 4:42 - 4:45
    и на каждой развилке копии Хеджа —
  • 4:45 - 4:48
    назовём их Ветка 1 и Ветка 2 —
  • 4:48 - 4:53
    создают другие копии,
    назовём их Лист 1, 2, 3 и 4.
  • 4:53 - 4:56
    Три Листа будут уничтожены.
  • 4:56 - 5:00
    Тот, который достигнет артефакта,
    отправит правильный ответ
  • 5:00 - 5:02
    только своему родителю.
  • 5:02 - 5:06
    Поэтому если Ветка 1 или 2
    ждёт на развилке
  • 5:06 - 5:08
    и получает радиосигнал,
  • 5:08 - 5:11
    то это верный путь к артефакту
    из его местоположения.
  • 5:11 - 5:15
    Чтобы дать Хеджу верный маршрут
    из того места, где находится он,
  • 5:15 - 5:17
    Ветка должна сказать, каким путём она шла,
  • 5:17 - 5:21
    а также то, что она получила по радио.
  • 5:21 - 5:23
    Этот процесс будет эффективным
    вне зависимости от того,
  • 5:23 - 5:25
    сколько разветвлений придётся пройти.
  • 5:25 - 5:28
    Каждый ответ, который копия
    получает по радиосвязи,
  • 5:28 - 5:32
    описывает путь к пункту управления
    из того места, где она находится,
  • 5:32 - 5:34
    и добавив к этому ту тропу,
    по которой шла она сама,
  • 5:34 - 5:37
    она может указать путь своему родителю.
  • 5:37 - 5:41
    Мы можем суммировать все указания
    в действии под названием «Навигатор»,
  • 5:41 - 5:44
    которое будет выполнять
    каждая копия Хеджа:
  • 5:44 - 5:47
    1. По достижении артефакта
  • 5:47 - 5:51
    сообщи по радиосвязи своему родителю,
    двигалась ли ты по левой или правой тропе.
  • 5:51 - 5:55
    2. Когда окажешься на развилке,
    сойди с конвейера
  • 5:55 - 5:59
    и отправь новые копии
    по левой и правой тропе.
  • 5:59 - 6:01
    Дай им задание «Навигатор».
  • 6:01 - 6:03
    Это и есть рекурсия,
  • 6:03 - 6:08
    и повторений может быть много, прежде
    чем будет запущено последнее указание:
  • 6:08 - 6:13
    3. Если ты услышишь что-то по радио,
    сообщи своему родителю,
  • 6:13 - 6:17
    двигалась ли ты по левой или правой тропе,
  • 6:17 - 6:19
    а затем повтори то, что услышала по радио.
  • 6:19 - 6:23
    «Навигатор» — это пример того,
    что программисты называют функциями,
  • 6:23 - 6:26
    подпрограммами или процедурами.
  • 6:26 - 6:30
    Вне зависимости от используемого термина,
    идея остаётся неизменной —
  • 6:30 - 6:34
    набору указаний даётся ярлык, чтобы его
    можно было легко использовать повторно —
  • 6:34 - 6:37
    возможно, даже сам по себе.
  • 6:37 - 6:40
    Это идеально подходит для нашего случая —
  • 6:40 - 6:45
    всю сеть троп можно проследить
    с помощью всего трёх указаний.
  • 6:46 - 6:48
    Происходит следующее.
  • 7:10 - 7:16
    Когда патруль выворачивает из-за угла,
    Этика и Лемма надевают самодельные маски.
  • 7:16 - 7:20
    Они сбивают роботов с толку,
    чтобы дать Хеджу немного времени.
  • 7:31 - 7:36
    Наконец, после некоторых помех,
    по радио Хеджа слышится ряд указаний.
  • 7:36 - 7:40
    Трое друзей прыгают
    на конвейер и удаляются,
  • 7:40 - 7:44
    а по пятам за ними мчится отряд роботов.
Title:
Лабиринт | Думай по-кодерски — эпизод 8
Speaker:
Алекс Розенталь
Description:

Посмотреть урок полностью: https://ed.ted.com/lessons/the-gauntlet-think-like-a-coder-ep-8

Перед вами восьмой эпизод нашего мультипликационного сериала «Думай по-кодерски». В этом сериале из десяти эпизодов вы познакомитесь с девушкой по имени Этика и её напарником, роботом Хеджем, которые пытаются спасти мир. Они отправляются на поиск трёх артефактов, но по пути им придётся разгадать множество головоломок, связанных с программированием.

Урок — Алекс Розенталь, мультипликация — Kozmonot Animation Studio.

more » « less
Video Language:
English
Team:
closed TED
Project:
TED-Ed
Duration:
08:01

Russian subtitles

Revisions