Вычислительное мышление: Метод решения сложных задач | страница 61



Создаем обучающийся мозг

Искусственный интеллект учится играть в карты

Мы уже знаем, что компьютеры слепо выполняют написанные для них инструкции — алгоритмы. В этом их сила, но трудно утверждать, что компьютеры разумны. Наш интеллект проявляется не только в способности решить конкретные задачи, но и в гибкости. Мы учимся. Они — нет. Обучение — ключевой элемент интеллекта, но как будет учиться искусственный интеллект, если он всегда следует инструкциям? Выходит, нужно создать алгоритм для обучения!

Давайте начнем с действительно простого задания для ИИ — проверить, получил ли он необходимое число монет. Сформулируем задачу точнее. Чему именно должен научиться наш простой ИИ? Допустим, нам нужно, чтобы он смог сообщить, когда у него есть две монеты — но только если это действительно так. Если монет нет или на столе только одна монета, делать ничего не надо. Будем считать, что у ИИ есть сенсор для монет, однако нужно научиться их считать.

Чтобы объяснить, как в этом случае происходит обучение, мы используем простую версию Для этого понадобится игровое поле, показанное на рис. 44, и набор карт (не важно, что на них изображено). Сыграв серию раундов этой игры, машина научится правильно определять, есть ли у нее нужное число монет. Игроки кладут (или не кладут) монету на игровое поле, после этого карты перемещают по столу, складывают и сравнивают числа. В итоге машина выдает ответ.



У машины есть две щели, куда каждый из двух игроков помещает монеты, чтобы их посчитали. Карты обоих игроков выкладываются в нужную позицию на поле. Еще есть зона карточного стола, где играют в карты, и зона, куда складывают карты дома. Итоговую карту раунда кладут в последнюю зону — зону выхода. Выбирают из двух итоговых карт, на одной стоит 0, а на второй — 1.

Игра идет слева направо следующим образом. Мы сдаем небольшое произвольное число карт двум игрокам и дому — это, соответственно, И1, И2 и Д. Потом мы играем серию раундов. Каждый игрок должен положить монету в щель, чтобы получить право сыграть раунд. Сделав это, игроки открывают карты — И1 и И2. Эти карты отправляются в зону карточного стола (там они складываются, и мы получаем сумму — С). Сумма играет против дома. Если у игроков больше карт, чем у дома (С Д), то они выиграли. В этой ситуации выход равен 1. Нам нужно, чтобы в конечном итоге это означало «Есть две монеты». Если выигрывает дом, то выход равен 0, и мы надеемся, что это будет означать «Двух монет НЕТ». В любом случае карты игроков отправляются в начальную точку и начинается следующий раунд.