КурсыИИМатематикаКодФизикаО проекте и вопросы

TwiddleLab / Искусственный интеллект / Поиск, игры и планы

Планирование: от цели к шагам

Урок 9 из 11 · 7 мин · Бесплатно, без аккаунта

Что ты узнаешь

  • У каждого действия есть предусловия (что должно быть верно сначала) и эффекты (что оно делает верным).
  • План это список действий, где предусловия каждого выполнены, когда оно запускается, а цель верна в конце.
  • Планировщик может искать планы, например с конца: какое действие даёт цель и что нужно этому действию?
  • Лишние ходы делают план длиннее, но не неверным. Планировщики ищут короткие планы.

Начать урок

Как идёт урок

  1. Скажи роботу «приготовь завтрак», и ему нужно много шагов в правильном порядке. Сколько для миски хлопьев с молоком?

    У робота одна рука. Миска и хлопья в закрытом шкафу, молоко в закрытом холодильнике. Ставка.

  2. Напиши план робота. Запусти и посмотри, где он застрянет.

    Нажимай на действия, чтобы добавить их. Нажми на шаг в плане, чтобы убрать его.

  3. Планировщик сам находит порядок. Он начинает с цели.

    Пройди по шагам: условия каждого действия становятся новыми целями.

  4. У частей планирования есть названия.

    То, что должно быть верно до действия, это его предусловие. То, что действие меняет, это его эффект. План это список действий, который доходит до цели, а планировщик это программа, которая такой список ищет.

  5. Дай каждому действию его предусловия.

    Перетащи каждое условие на действие, которому оно нужно.

    Каждое предусловие это то, чего само действие сделать не может: нельзя взять молоко занятой рукой или из закрытого холодильника. Эти правила это всё, что планировщик знает о кухне.

  6. Этот план работает, но занимает 13 шагов. Сократи его до 9.

    Нажми на шаг, чтобы вычеркнуть его. Запусти, чтобы проверить.

    Шаги 2 и 3 берут хлопья и сразу кладут обратно; шаги 11 и 12 кладут молоко обратно и снова берут. Каждая пара оставляет кухню ровно такой, какой она была, поэтому если убрать обе, план всё равно работает.

  7. План может быть и программой. Где будет коробка хлопьев, когда эта программа закончится?

    Каждый if проверяет предусловие, прежде чем робот действует.

    hand_free равно true, поэтому робот берёт миску; потом он держит миску, поэтому ставит её на стол. fridge_open равно false: пропуск. Теперь рука снова свободна, поэтому он берёт хлопья и всё ещё держит их в конце.

  8. Два плана для одного завтрака. Какой работает?

    Запусти оба. Потом нажми на план, которому доверяешь.

    Чтобы открыть холодильник, нужна свободная рука. План A в этот момент всё ещё держит хлопья, поэтому останавливается. План B открывает холодильник в самом начале, пока рука свободна, и кладёт хлопья обратно, прежде чем взять молоко.

  9. Новая цель: чашка чая. Спланируй за 8 шагов.

    Чашка на столе. Одно действие нужно дважды.

Предыдущий урок: Монте-Карло: случайные партии · Следующий урок: Головоломки с ограничениями · Часть курса: Поиск, игры и планы

Уроки интерактивные и работают на JavaScript. Включи его, чтобы играть.

Loading TwiddleLab