Самообучающаяся машина из… спичечных коробок



Среди многих важнейших и очень заманчивых проблем, которые усиленно исследуются учеными и инженерами, не последнее место занимают создание самообучающихся машин. В процессе работы они приобретают опыт, запоминают его, анализируют, а поэтому могут улучшать первоначально заложенную в них программу поведения. Именно такими возможностями обладают электронные вычислительные машины ЭВМ. А одной из лучших моделей, на которой проводят изучение и проверку программ, являются различные игры. В 1959 году американец А. Л. Сэмюэль запрограммировал ЭВМ таким образом, что она не только правильно играла партию в шашки, но могла просматривать предыдущие партии, учитывать накопленный опыт и изменять свою стратегию. Машина быстро совершенствовалась и вскоре достигла такого уровня, что уже в каждой партии побеждала своего изобретателя. Как известно, создать такую программу для игры в шахматы оказалось намного сложнее. И хотя человек научил ЭВМ играть в эту древнюю игру, машина пока уступает в силе высококвалифицированным шахматистам.

Ну, а как быть, если Вам захочется дома, в свободное время, заняться экспериментами по обучению машины какой-либо игре?

Неужели покупать себе ЭВМ? Оказывается нужды в этом нет.

Очень простую обучающуюся машину, о которой и пойдет рассказ, изобрел биолог из Эдинбургского университета Дональд Майк. Электронную вычислительную машину вам заменят… спичечные коробки.

Но прежде чем рассказать, как построить из них «ЭВМ», опишем игру, которой будет обучаться машина. Ей предстоит овладеть в общем-то довольно простой игрой — «шестипешкой».



Игра ведется на доске 3 поля х 3 поля (рис. 1); с каждой стороны участвует три пешки (конечно, их можно заменить монетками, шашками и т. п.). Партнеры ходят по очереди, двигая каждый раз какую-нибудь одну пешку. Пешка может либо перемещаться вперед на одно поле, если оно пустое, или может брать неприятельскую пешку, передвигаясь на один квадрат по диагонали (влево или вправо). Взятая пешка снимается с доски.

Партия считается выигранной в любом из трех случаев: если одна из пешек достигла третьего ряда;

— если сняты все неприятельские пешки;

— если создалось положение, при котором у противника нет ни одного хода.

Ничья в этой игре невозможна. А вот сразу сказать, кто из партнеров должен при правильной игре победить: тот, кто ходит первым, или вторым, — нельзя. Конечно, такую простую игру вы легко сможете проанализировать, проверив все возможные варианты. Но автор «машины» советует ни в коем случае этого не делать заблаговременно. Вам будет гораздо интереснее построить «машину» и обучаться игре одновременно с ней.

Итак, приступайте к сооружению «ЭВМ» — спичечного робота. Для этого потребуется 24 пустых спичечных коробок. Сделайте на бумажках схемы, которые изображены на рис. 2 и наклейте их на коробки.



Учтите, что робот всегда ходит вторым. Поэтому на схемах изображены позиции, которые возможны для него на втором (они отмечены цифрой 2), четвертом и шестом ходах. Действительно, после вашего первого хода у него всегда два возможных ответа. А вот после вашего третьего хода у него возможных ответов (ход четвёртый) уже одиннадцать. Возможные положения перед шестым (последним) ходом робота отмечены цифрой 6.

В каждую коробку положите маленькие квадратики из картона, на которых нарисованы такие же стрелки, как и на схеме, наклеенной сверху коробки.

«ЭВМ» готова к игре.

Робот может делать любой ход, но притом только законный. В начале у него нет стратегии — он идиот. Начинается процесс его обучения.

Сделайте первый ход на доске, а затем выберите коробку с позицией, которая соответствует положению, возникшему на доске. (Игру вы могли начать с углового или центрального дебюта; на схемах изображены позиции только левого углового дебюта, так как ход правой угловой пешки приведет точно к такому же развитию игры, точнее зеркально-отраженному).

Встряхните выбранную коробку и с закрытыми глазами вытащите из нее один квадратик. Закройте коробку и, открыв глаза, переставьте на доске пешку за робота на стрелке, которая изображена на вытащенном вами квадратике. Затем свой второй ход вы делаете на доске и снова повторяете ту же процедуру: находите коробку с соответствующей позицией и, закрыв глаза, извлекаете квадратик, стрелка на котором укажет, какой ход делает робот. Так игра продолжается до чьей-либо победы.

Если выиграет робот, положите все квадратики в коробки по своим местам и начинайте играть снова. А вот если он проиграет, вы должны оштрафовать его — забрать из коробки тот квадратик, который представлял его последний ход. Остальные же все квадратики кладутся в свои коробки и игра начинается снова.

Если вы вытащите пустую коробку, (это может случиться, хотя и очень редко) то это означает, что у робота нет ходов, кроме таких, которые приводят к. поражению, и он сдается. В этом случае выньте из коробки квадратик, который соответствовал предыдущему ходу.

Чтобы определить сколь успешно идет процесс обучения робота, надо вести учет его побед и поражений. И, когда вы сыграете с ним, скажем, 50 партий, то постройте кривую обучения робота. На рис. 3 показаны результаты типичного турнира из 50-ти партий. Вы видите, что до 36-ой партии робот проигрывал (это случилось 11 раз) и выигрывал, но потом стал играть в совершенстве, одержи! одну победу за другой.



Это закономерно, так как в игре «шестипешка» преимущество на стороне того, кто ходит вторым. В начале робот ничего не знал об этой игре, ошибался и проигрывал, но система штрафа, которую вы применили, привела к тому, что он овладел стратегией игры. Учтите, что чем лучше играет партнер, тем быстрее обучается робот.

С. Х. Кипнис

Напишите, ребята, как вам понравилась новая игра с роботом, легко ли вы разобрались в рисунках и тексте?



Загрузка...