Вычислительное мышление: Метод решения сложных задач | страница 63
Теперь 7 5, и на выходе 1, как нам и нужно: «Есть две монеты». И снова мы следуем правилу П1 и не делаем ничего.
Более того, если мы попробуем все четыре комбинации монет в щелях, то каждая из них даст правильный выход. Ура! Обучения не потребовалось. Но в данном случае нам повезло. Нам случайно сдали столько карт (три, четыре и пять), что машина сработала правильно. С таким количеством карт она всегда может правильно сказать, присутствуют две монеты или нет. Но что будет, если не повезет? Тогда придется играть по-другому и учиться необходимому поведению. Давайте рассмотрим другую игру.
Мы снова начинаем с того, что произвольно сдаем игрокам и дому небольшое количество карт. На этот раз у игрока 1 на столе шесть карт, у игрока 2 — четыре карты, и у дома тоже четыре карты.
Ситуация, когда ни в одной щели нет монет, а значит, М1 и М2 равны 0, легкая. Карты не перемещаются, для дома мы получаем 0 4, и на выходе 0: «Двух монет НЕТ». Условие (М1 М2) = (0 0) корректно. Это показано на рис. 47.
Если монета есть только в щели 2, значит, (М1 М2) = (0 1). Тогда карты игрока 2 идут вперед. Игрок 1 остается на месте, и на стол попадают четыре карты. На выходе мы имеем 0: «Двух монет НЕТ». Помните, что для получения 1 на выходе нам нужно, чтобы сумма карт на столе была больше (а не просто равна) Д. То есть ничего не меняется, и мы снова следуем правилу П1. Условие (М1 М2) = (0 1) корректно.
Теперь поместите одну монету в щель М1 и ни одной — в щель М2. И снова мы хотим получить на выходе 0, однако посмотрите на карты! На карточном столе у нас 6 4, а значит, на выходе 1, и это неверно! Нужно применить правило П2. В нем говорится:
« сыгранная партия дает на выходе 1, но мы хотели получить 0, чтобы это соответствовало таблице выходов,
заберите М1 карт у игрока 1 и М2 карт у игрока 2».
Это значит, что, поскольку М1 равно 1 и М2 равно 0, мы забираем карту у игрока 1, но не забираем у игрока 2. Новое значение И1 — 5 (6 1), а И2 остается равно 4.
Забрав карту из стопки игрока 1, мы возвращаем его карты. Мы не забрали ни одной карты игрока 2. Машина начала учиться.
Теперь мы выбираем другое условие и пробуем еще раз. Экспериментируя с этим примером, вы вернетесь к (М1 М2) = (1 0), проходя через возможные вводные, и снова получите ошибку. И снова будет применено правило П2, и машина наберется еще немного опыта. На этот раз, когда карту убирают у И1, получается 4.