Читать «Вычислительное мышление: Метод решения сложных задач» онлайн - страница 54
Питер Макоуэн
Чтобы объяснить, как в этом случае происходит обучение, мы используем простую версию Для этого понадобится игровое поле, показанное на рис. 44, и набор карт (не важно, что на них изображено). Сыграв серию раундов этой игры, машина научится правильно определять, есть ли у нее нужное число монет. Игроки кладут (или не кладут) монету на игровое поле, после этого карты перемещают по столу, складывают и сравнивают числа. В итоге машина выдает ответ.
У машины есть две щели, куда каждый из двух игроков помещает монеты, чтобы их посчитали. Карты обоих игроков выкладываются в нужную позицию на поле. Еще есть зона карточного стола, где играют в карты, и зона, куда складывают карты дома. Итоговую карту раунда кладут в последнюю зону — зону выхода. Выбирают из двух итоговых карт, на одной стоит 0, а на второй — 1.
Игра идет слева направо следующим образом. Мы сдаем небольшое произвольное число карт двум игрокам и дому — это, соответственно, И1, И2 и Д. Потом мы играем серию раундов. Каждый игрок должен положить монету в щель, чтобы получить право сыграть раунд. Сделав это, игроки открывают карты — И1 и И2. Эти карты отправляются в зону карточного стола (там они складываются, и мы получаем сумму — С). Сумма играет против дома. Если у игроков больше карт, чем у дома (С Д), то они выиграли. В этой ситуации выход равен 1. Нам нужно, чтобы в конечном итоге это означало «Есть две монеты». Если выигрывает дом, то выход равен 0, и мы надеемся, что это будет означать «Двух монет НЕТ». В любом случае карты игроков отправляются в начальную точку и начинается следующий раунд.
Поскольку мы сдаем произвольное количество карт и оно определяет результат, мозг настольной игры тоже будет действовать произвольно. Нам необходимо, чтобы после многократного повторения игры наш мозг научился менять изначальное случайное число карт на число, которое всегда дает нужный результат. То есть в конце выход должен быть равен 1, только если присутствует две монеты. Результат, которого мы хотим добиться, представлен на рис. 45.
Машина учится это делать в ходе серии раундов, и после каждого раунда мы применяем следующие простые где М1 обозначает число монет, которое положил игрок 1 (одну монету или ни одной), а М2 — число монет, которое положил игрок 2.
сыгранная партия дает правильный выход,
не делайте ничего — не меняйте число карт.
:
сыгранная партия дает на выходе 1, но мы хотели получить 0, чтобы это соответствовало таблице выходов,
заберите М1 карт у игрока 1 и М2 карт у игрока 2.
:
сыгранная партия дает на выходе 0, но мы хотели получить 1,
добавьте М1 карт игроку 1 и М2 карт игроку 2.
Эти правила — обучающий алгоритм для нашего мозга. Пора их, поэтому давайте посмотрим на примеры.
Пример игры 1. Удачный расклад, все хорошо!
Представим, что сейчас в игре три карты, сданные игроку 1, четыре — игроку 2 и три — дому (И1 = 3 И2 = 4 Д = 5). В щели 1 есть монета (М1 = 1), а в щели 2 монеты нет (М2 = 0). Мы запишем, что (М1 М2) = (1 0).