В этой статье я бы хотел обсудить некоторые теоретические аспекты, касающиеся игр.
Вряд ли я скажу здесь что-то новое, скорее всего эта тема рассматривается в специальных разделах теории игр. Если бы я мог дать вам ссылку в интернете вместо данного сочинения, я бы так и сделал. Информацией, которая могла бы опровергнуть выводы из нижеследующих рассуждений, я тоже не располагаю. Возможно, плохо искал – тогда буду рад, если кто-нибудь развеет мои иллюзии.
Тема игр сама по себе весьма привлекательна. Наверное, в мире немного людей, совершенно равнодушных к играм. Мы в них играем, потому что это интересно. Каждый человек со своих субъективных позиций как-то оценивает известные ему игры : эта – моя любимая, эта – тоже пойдет, а эта – полный отстой. Отсюда вопрос : можно ли дать объективную оценку игре ? Положительный ответ должен быть подкреплен формальным способом этой оценки, результатом которой будет конкретное число – некий коэффициент, по которому мы можем определить, что шахматы, например, лучше шашек – независимо от того, кому что больше нравится. Если понимать эту задачу буквально, то я, конечно, не готов предоставить такой рецепт. Во многом придется рассчитывать на вашу (и мою) интуицию, а то, что в моих силах, я буду строго аргументировать.
Для начала следует уточнить рамки использования понятия "игра". Разумеется, мы отбрасываем футбол, прятки и прочие игры, в которых нельзя абстрагироваться от мышечных телодвижений. Карты сюда не относятся, но их мы тоже исключаем, как и все игры, где имеет место случайность, не допускающая строгой формализации.Остаются чисто логические игры, ко множеству которых применимы дальнейшие рассуждения.
Мне лень лазить по источникам, поэтому займусь отсебятиной и введу несколько аббревиатур, которые в дальнейшем будут мелькать довольно часто.
ИР – игровое разнообразие.
Допустим, у нас есть какая-то игра, и нужно оценить, насколько она хороша.Очевидно, что чем интересней в нее играть, тем она лучше. А то, насколько она интересна, зависит от того, насколько она разнообразна. Независимо от личных предпочтений, игру крестики-нолики до трех вы сочтете неинтересной (если, конечно, вам больше пяти лет). Игровое разнообразие – это основной критерий, по которому можно дать оценку любой игре.
ОП – описание правил.
ОП содержит информацию о правилах – что в игре допустимо, а что – нет. Информация должна быть исчерпывающей, там не должно быть дырок, из-за которых могут возникнуть не предусмотренные правилами ситуации. ОП можно представить в виде файла, в котором содержится вся эта информация. Чем сложнее правила игры, тем большим будет размер этого файла. В дальнейшем аббревиатура ОП будет ссылаться как на содержимое этого файла, так и на его размер – там по контексту разберетесь.
Средствами современной теории информации можно формализовать этот размер – например, сказать конкретно, сколько бит весит описание правил игры "Шахматы". С формализацией разнообразия конечно все сложнее, но в принципе и этот вопрос решаемый, а сделать это можно следующим образом.
БС – беспроигрышная стратегия
Если для игры найдена БС, то это может говорить лишь о ее примитивизме. Если же она не слишком примитивна, то вы можете в нее можно играть всю жизнь и не надоест.Причем идеально играть в нее так и не научитесь – наверное, потому и не надоест.
Чем больше показатель ИР для данной игры, тем она сложнее, и тем сложнее выработать для нее БС. Если пытаться выразить эту сложность числом, то можно привязаться к размеру алгоритма, реализующего такую стратегию. Любую задачу можно решить несколькими способами, поэтому следует уточнить, что из всего множества алгоритмов, решающих эту задачу, мы выберем наиболее лаконичный, потом подсчитаем его размер и таким образом вычислим величину ИР. В теории все просто, но на практике мы можем применить такие вычисления разве что к крестикам-ноликам 3х3 и им подобным. Поэтому во многом придется рассчитывать на интуицию. Ведь не обязательно проводить какие-то вычисления, чтобы интуитивно понять, что ИР шахмат гораздо больше, чем ИР шашек.
Кстати, о шашках. Последнее достижение в области реализации БС – это компьютерная программа, у которой невозможно выиграть в шашки. Это достижение стоило упорного двадцатилетнего труда десятков человек и компьютеров.
Статья заканчивается на оптимистической ноте, мол, следующие на очереди стоят шахматы. Однако в свете сказанного подобный оптимизм выглядит довольно смешным.
Меня всегда удивляло, что шашки – это игра, признанная видом спорта. Теперь я могу привести весомый аргумент в пользу того, что шашки – это отстой. То, что компьютеру удалось перебрать все варианты развития событий, коих 18-ти значное число, говорит о том, что шашки – одна из самых примитивных логических игр. Поэтому она и является удобным объектом для формализации ее БС – пусть даже ценой значительных усилий. Семнадцать нулей для комбинаторики – это детский лепет, и шахматы тут даже близко нельзя ставить. В общем, ребята молодцы, но тут они либо не понимают, о чем говорят, либо просто блефуют. Лично я не уверен, хватит ли им компьютера, у которого винт размером с Землю, чтобы проделать то же самое с шахматами. Может быть, я преувеличиваю, а может наоборот – недооцениваю ситуацию, не знаю. Но тот, кто имеет представление о комбинаторике и о шахматах, скорее всего меня поймет.
ИР можно считать некой обобщающей мерой, по которой можно судить о сложности данной игры и непредсказуемости игровых ситуаций. Очевидно, что величина ИР зависит от величины ОП, ведь чем больше в игре разных нюансов, тем большее разнообразие игровых ситуаций мы имеем.Разнообразие – это качество, всегда желаемое для игры, а в отношении правил наоборот – приветствуется лаконичность. Более удачной будет та игра, которая разнообразней, но из двух игр с одинаковым показателем ИР более удачной будет та, правила которой проще (то есть ОП меньше). Правила игры, если это удачная игра, построены не на произволе фантазии, а исходя из определенных принципов, один из которых – в правилах не должно быть ничего лишнего. Любое уточнение или наворот должны либо затыкать дырки, о которых говорилось выше, либо значительно обогащать ИР. Таким образом, наиболее удачной будет та игра, которая наиболее оптимально сочетает в себе лаконичность правил с разнообразием игровых ситуаций.
Для дальнейших рассуждений необходимо определить еще одно понятие, такое как полноценность. Это связано с тем, что игра должна соответствовать некоторым минимальным требованиям в отношении величины ИР. Те же крестики-нолики формально соответствуют определению игры, но их ИР не позволяет считать их полноценной игрой. Определить минимальный показатель ИР, начиная с которого игру следуетсчитать полноценной, мы можем только на основании субъективной оценки. Для того, чтобы наделить это понятие некой объективной значимостью, мы пойдем другим путем – попытаемся оценить минимальную величинуОП, начиная с которой уже возможно придумать правила для полноценной игры. Для этого рассмотрим еще два параметра, оказывающих первостепенное влияние как наОП, так и на ИР.
N – количество игроков
R – размерность игрового поля
Сразу договоримся, что оба параметра – это целые числа. Можно придумать игру с дробным количеством измерений, благо теория фракталов позволяет извращаться таким образом. Игра с дробным количеством игроков, без сомнения, будет еще веселее. Но правила подобных игр будут довольно навороченными, и далее будет оговорено условие минимизации ОП, которое сразу обрубит подобные навороты (собственно, вообще какие-либо навороты).
Минимальный показатель N – единица, определяющая множество унарных игр. Так, игре "Пятнашкам" соответствует N=1 и R=2; " Кубику – рубику " – N=1 и R=3
Унарные игры можно считать слишком "бедными", по крайней можно написать программу, собирающую кубик-рубик и даже решить задачу в общем виде – для произвольного параллелепипеда. Конечно, можно наворотить правила унарной игры до такой степени, что никакой программист не сможет решить задачу формализации ее стратегии. Но такая игра вряд ли будет соответствовать требованиям эстетики, нарушая принцип минимизации ОП. То есть имеет значение не только величина, но и соразмерность базовых параметров.
То же самое в отношении параметра R. Одномерные игры крайне скудны, наверное поэтому я затрудняюсь привести пример подобной игры (разве что – соревнования по бегу). В этом случае еще более очевидно, что минимальное значение R должно быть не меньше 2-х – для того, чтобы игра была полноценной, "достаточно богатой".
Исходя из этих соображений я вижу основания ввести так называемый "Стандарт 2х2", задающий необходимое условие полноценности игры : N>1 & R>1. Кстати, крестики-нолики проходят через это условие, и здесь уже приходится ссылаться на размытое представление о "минимально допустимом" ИР.
Кроме теоретических обоснований стандарта 2х2 можно привести реальное подтверждение того, что это стандарт игры. Задумайтесь, ведь ему действительно соответствует подавляющее большинство существующих игр (компьютерные не в счет). К этой категории можно отнести даже футбол. Это командная игра, где соревнуются команды, а не отдельные игроки – кто больше забьет голов. Поэтому здесь N=2 и правильнее сказать, что здесь соревнуются 2 команды, а не 22 игрока. Что касается числа R, то формально оно равно трем, ведь мяч перемещается и в вертикальном направлении. Но сила гравитации налагает ограничение на использование третьего измерения, например, мяч может остановиться на поверхности, но не может зависнуть в воздухе. Короче,третье измерение здесь, так сказать, урезано, поэтому нельзя футбол назвать объемной игрой, то есть здесь R как бы больше 2-х, но меньше 3-х, типа 2 с "хвостиком", и если уж округлять до целого, то скорее следует округлять до меньшего, то есть до 2-х.
Еще одно необходимое условие полноценности – это наличие в игре смысла. Например, если в правилах шахмат сделать поправку, что мат нужно ставить не королю, а ферзю, то игра потеряет смысл. При составлении правил игры сложно заведомо предсказать, в каких случаях это произойдет – нужно попробовать в нее поиграть и тогда станет ясно, нужно ли вносить изменения в правила, и если нужно, то какие. Но есть одно условие, общее для всех игр, несоблюдение которого лишает игру смысла. Это возникает в том случае, когда у одного из игроков есть возможность 100%-го выигрыша. Точнее, если оба игрока обладают БС и один из них побеждает – значит в правилах игры есть какая-то лажа и они требуют корректировки.
Теперь вроде все готово для того, что бы сформулировать основную задачу : найти такую игру, которая, с одной стороны, соответствовала бы требованию полноценности, а сдругой – ее ОП было бы минимальным из всех возможных. Если исходить только из одного соображения – минимума ОП – то можно придумать игру "для отмазки", которая будет даже примитивнее крестиков-ноликов. Необходим некий минимум содержательности игры, без которого нет смыла формулировать такую задачу – вот для чего я использую понятие полноценности. Еще оно полезно тем,что на него можно "повесить" такие оценочные критерии, как "эстетичность" (соразмерность базовых игровых параметров) и смысл – об этом уже было сказано.
Наша конечная цель – определить правила игры, оговоренной в постановке задачи – назовем ее "игра по умолчанию".Соблюдая условие полноценности, мы считаем, что она соответствует стандарту 2х2. Увеличивать N или R нет смысла, так как это приведет к увеличению ОП, т.е. искомая игра должна быть именно 2х2, не больше и не меньше. Итак, ищем двумерную игру, рассчитанную на двух игроков, с минимальным количеством информации, требующейся для исчерпывающего описания ее правил.
Сразу следует отметить, что для соблюдения основного условия должен соблюдаться принцип симметрии – правила должны быть одинаковы для обоих игроков.
В первую очередь приведем список обязательных параметров, которые необходимо оговорить для любой игры, по крайней мере, если она относится к категории логических.
Эти параметры содержат информацию об игровом поле, фигурах и, собственно, правилах, указывающих на то, как фигуры взаимодействуют с полем. Нам нужно играть на чем-то, чем-то и по каким-то правилам – мы не можем игнорировать ни одну из этих составляющих. Придерживаясь основного принципа для каждого из перечисленных параметров мы определим значение по умолчанию. В разных случаях оно может принимать одно из трех значений : ноль, единица или бесконечность, и в каждом случае выбор будет строго обоснован. Это относится только к численным параметрам, но есть и другие типы. Например, в любой логической игре как-то оговаривается вопрос о том, чей ход будет первым. По умолчанию значение соответствующего параметра можно определить, как "RANDOM", указывая на то, что обычно этот вопрос решается методом подбрасывания монетки. Первый ход – это единственная неизбежная асимметрия, и для того, чтобы в этом случае не отходить от принципа симметрии, у каждого игрока должны быть равные шансы ходить первым. В данном случае это не важно – обычно игроки сами договариваются, бросать им монетку, или же "первым хожу всегда я" – т.е. значение этого параметра нисколько не сказывается на содержательной стороне игры. Еще один нечисловой параметр содержит информацию об очередности ходов. По умолчанию он равен значению, указывающему на то, что игроки ходят по очереди и каждый делает только один ход. В шахматах, например, есть исключение из этого правила – совершая рокировку, игрок как бы делает два хода : ладьей и королем. Для того, чтобы оговорить подобную ситуацию, содержимое ОП должно пополниться новым правилом. Здесь мы исключаем подобные оговорки, поскольку ищем игру с минимальным ОП, и этот параметр, как и все остальные, принимаем по умолчанию.
Для того, чтобы определить игровое поле, нам необходимо два параметра. Во-первых, это тип поля – Type. Очевидно, что тип поля поумолчанию – это поле в клетку, поэтому оно используется в подавляющем большинстве логических игр. Здесь выбор типа строго соответствует принципу минимума информации, посредством которой можно описать двумерное игровое поле, а также правила игры на таком поле. Если поле не в квадратик, а в треугольник (пол квадратика), или шестиугольник (по типу сот), то усложняется как способ описания самого поля, так и правила игры, при составлении которых невозможно пренебречь его особенностями. Надеюсь, мне удалось убедить вас в том, что поле в клетку – это действительно тип игрового поля по умолчанию для логических игр.
SizeXY – второй параметр, и он определяет линейные размеры игрового поля. Минимальное значение это параметра соответствует размеру 1х1. Понятно, что играть на таком поле смысла нет. Но мы ведь исходим из принципа минимального ОП, а здесь значение имеет не размер поля как таковой, а количество информации об этом размере. С этой позиции, например, для квадратного поля размером 8х8 ОП будет меньше, чем для прямоугольного 3х2. В первом случае запись можно сделать более лаконичной : SizeXY=8, подразумевая, что число 8 относится он как к X, так и к Y. Во втором случае подобная "архивация" уже не прокатит, и придется ужезаписать SizeXY=3х2, что чуть-чуть длиннее. Но есть вариант подобной записи, еще более лаконичный : SizeXY= То есть, значение параметра SizeXY вообще отсутствует, а это значит, что не существует информации, накладывающей какие-то ограничения на размер игрового поля. Фактически это означает, что по умолчанию поле бесконечно, а если его необходимо как-то ограничить, то для этого требуется дополнительная информация.
Таким образом, имеем неограниченное поле в клеточку.
Далее определим необходимые параметры, содержащие информацию о фигурах.
KTF – количество типов фигур.Предполагается, что одному и тому же типу соответствует один и тот же набор правил. Обычно есть общие правила для всех типов фигур и отдельно оговариваются правила, специфические для каждого типа. Несложно подсчитать, что в шахматах 6 типов фигур, в шашках – всего 1. Это минимальное допустимое значение KTF, ведь без фигур, с одним только полем, игра вообще немыслима (так же как и с фигурами без поля). Бесконечность здесь неуместна, поскольку придется определять правила для бесконечного числа типов, поэтому по умолчанию мы имеем один тип фигур, иследовательно – один набор правил для этого типа. Понятное дело, что по умолчанию в этом наборе должно быть одно правило, иначе это не будет искомая игра с минимальным ОП . И конечно же, это правило должно быть предельно лаконичным.
PR [1..KTF] – массив правил для всех типов фигур. В нашем случае, по умолчанию, это одно простейшее правило для единственной фигуры, которое мы определим ниже.
Любое мыслимое действие с фигурой связано с изменением ее положения, а все множество возможных изменений можно привязать к одному или более из трех элементарных действий :
1. Переместить фигуру с одного места поля на другое – MOV
2. Поставить фигуру на поле, когда она находится за его пределами – SET
3. Убрать фигуру с поля за его пределы – DEL
Можно их сочетать, как, например, в шахматах побить фигуру означает выполнить одновременно 2 действия – MOV и DEL.
Для соблюдения условия минимизации ОП, мы должны выбрать только одно из трех действий, на основе которого будет построено наше самое лаконичное правило. Очевидно, что действие MOV мы исключаем,так как правило на его основе требует информации как о начальном положении фигуры, так и о конечном, чего не скажешь об остальных действиях. Для того, чтобы была возможность применить действие DEL, нам необходимо изначально иметь какие-то фигуры на поле. Для этого нужно определить очередной параметр :
IFP, который вмещает в себе всю информацию об исходном состоянии игры – начальной расстановке фигур ( Initial Figures Positions). Нам придется приравнять его к нулю или пустому множеству – ведь по умолчанию минимум информации о расположении фигур – это пустое поле. При этом никаких противоречий не возникает – фигуры, конечно, есть, но все они в исходном состоянии находятся за полем, и не нужно никакой дополнительной информации, чтобы уточнять, где именно за полем они находятся.Если бы эта информация имела какое-то значение, то мы вынуждены были бы допустить некое вспомогательное поле и оговаривать отдельно, как фигуры могут с ним взаимодействовать, что в нашем случае недопустимо.
Следующий необходимый параметр отвечает за количество используемых фигур каждого типа – то есть это массив значений, который для шахмат, например, выглядит так : 1,1,2,2,2,8
По умолчанию у нас один тип фигур. Пусть KFT - это количество фигур в данном типе, которыми располагает игрок. Например, для пешек в шахматах KFT=8 для каждого игрока. Определим значение KFT по умолчанию. Нулевое значение недопустимо, ибо фигуры должны быть. Если число фигур равно, к примеру, 100, значит у нас есть информация об этом ограничении. Минимум информации – это ее отсутствие, и по аналогии с определением размера поля мы принимаем это количество неограниченным – что, кстати, прекрасно гармонирует с бесконечным полем.
Пустое поле вначале игры не допускает действия DEL, и методом исключения мы определяем действие SET, на базе которого нам нужно построить простейшее правило.
Куда можно поставить фигуру ? Точнее, как будет звучать предельно лаконичный, и в то же время формально корректный ответ на этот вопрос? Ответ очевиден – "куда угодно". Правило задано однозначно – никаких неясностей здесь не возникает, как и сомнений в том, что придумать более лаконичное правило просто невозможно. Но здесь возникает одна дырка, которую нужно как-то заткнуть. Ведь при таком условии возможен случай, когда игрок ставит свою фигуру на фигуру соперника, и этот случай необходимо оговаривать отдельно. Простой и лаконичный способ это сделать – заменить фигуру соперника своей. Но для этого нужно применить действие DEL, а у нас по умолчанию – одно действие, и допуская второе мы опять же увеличиваем размер нашего ОП. Можно ли обойтись в данном случае меньшим расточительством ? Можно, если внести в наше правило небольшую поправку : поставить фигуру можно не на любую, а только на свободную клетку. Это будет стоить нам несколько дешевле, ведь разница в информативности между выражениями "любая клетка" и "любая свободная клетка" отличаются на меньшую величину, чем "весит" дополнительное действие, пусть даже простейшее – сам факт, что его нужно оговаривать придает ему большую информативную весомость.
Обнаружен организм с крупнейшим геномом Новокаледонский вид вилочного папоротника Tmesipteris oblanceolata, произрастающий в Новой Каледонии, имеет геном размером 160,45 гигапары, что более чем в 50 раз превышает размер генома человека. | Тематическая статья: Тема осмысления |
Рецензия: Рецензия на статью | Топик ТК: Главное преимущество модели Beast |
| ||||||||||||