© Храмов Сергей Юрьевич
Чувашская республика, г.Чебоксары
chramov1@rambler.ru

 10-06-2014

26 апреля 2014 года издана первая часть книги -

"Давайте поиграем в нарды!".

 26 января 2017 года издана

вторая часть.

Стоимость первой части - 250 рублей, второй - 600 рублей. Сюда включены почтовые расходы по России.

 

9 июля 2018 года вышла книга "Давайте поиграем в домино! (Первая в мире энциклопедия по домино)".

Вопрос цены по домино пока не решен - ориентировочно будет ясно в августе. 

 

Сами книги относятся к проекту по изданию серии книг по интеллектуальным играм.

Всего в серии будет восемь книг:

1. «Давайте поиграем в карты: игры для любой компании!».
2. «Давайте поиграем на доске: придется подумать!».
3. «Давайте поиграем в домино!».
4. «Давайте поиграем в кости: просто и увлекательно!».
5. «Давайте поиграем: бумага и ручки».
6. «Давайте поиграем в слова: легко и весело!».
7. «Давайте поиграем в нарды!».
8. «Давайте поиграем: игры для семьи».

 

В планах сейчас:

- издание отдельной книги по играм в кости;

- издание отдельной книги по "Подкидному дураку" как первая часть книги по карточным играм;

- издание отдельной брошюры по тестовым играм : "Морской бой", "Быки и коровы" и другие.

 

Если кто-то готов материально помочь в издании, буду благодарен (про помощь будет обязательно сказано в главе "Благодарность").

С уважением Храмов Сергей Юрьевич, г.Чебоксары,
Chramov1@rambler.ru.
 

ПМК БЗ-34, МК-52 - Лучшие логические игры

15.06.2018

 

 Здесь буду выкладывать лучшие логические игры на ПМК. Мне известно как минимум три такие игры:

1. "Чет-нечет". Об этой игре подробно сказано на предыдущей страничке сайта. http://davaite-poigraem.umi.ru/pmk_bz-34_mk-52/

2. "Охота на лис".

3. "Быки и коровы".

 

Сначала немного об игре "Охота на лис".

Общие правила в общем-то известной игры таковы.

На поле размерами 9х9 или 10х10 спрятаны случайным образом 5 или 8 лис. Игрок называет координату поля, и в ответ ПМК сообщает количество лис, которые видит пеленгатор. Если появится «0», то пеленгатор ни одну лису не обнаружил. Пеленгатор видит лисы строго по горизонтали, вертикали и диагонали. Необходимо за минимальное число попыток обнаружить все лисы. Всё очень просто!

 

Впервые описание этой игры я встретил в книге «5 вечеров с микрокалькулятором» (авторы: И.Д. Данилов, Г.В. Славин; 1988) – условно ее можно назвать «Охота на лис-1». Игра, вне всякого сомнения, относится к числу выдающихся с точки зрения логических игр для ПМК (наравне с такими играми, как, например, «Чёт-нечёт» или «Быки и коровы»).

Но предложенная программа обладала следующими существенными недостатками.

1. Главный недостаток – на одном поле могли находиться две и даже более (хотя и редко) лис.

2. Пойманные лисы пеленгуются в течение всей игры точно так же, как будто они не были пойманы.

3. Не было счетчика ходов человека. Это существенный минус!

4. Поле имело размеры 9х9, а количество лис равно 5, то есть на одну лису приходилось 16 полей – это слишком много, так как игровое поле является разреженным и следствие этого лис легко было обнаруживать за счет того, что часто возникали поля, на которой не пеленгуется ни одной лисы (поле, на которой не пеленгуется ни одной лисы, самое лучшее, так как сразу отсекает множество других полей, что значительно облегчает дальнейший поиск).

5. Координаты лис легко можно было подсмотреть в регистрах.

6. Программа не контролировала, пойманы все лисы или нет. Человек должен был сам определить, пойманы все лисы или нет.

 

Позднее в журнале «Наука и жизнь» под номером 10 от 1990 года появилась другая программа (авторы: Ю. Иванов, П. Иртюга, г. Ленинград), которая вне всякого сомнения произошла от «Охота на лис-1» (потому что главное «ядро» программы по определению количества запеленгованных лис сохранилось один к одному) – условно я ее назвал «Охота на лис-2». Ее достоинства:

 

1. Поле увеличилось до 10х10, а количество лис до 8. Среднее количество полей на одну лису стало 12,25 – оптимально число. Искать стало намного труднее.

2. Пойманные лисы при охоте более не пеленгуются. Это значительно усложнило поиск,  и сделало игру куда интереснее. Очень весомый плюс!

3. Появился счетчик ходов человека, поэтому по окончанию партии всегда можно узнать, сколько было затрачено ходов. Это тоже немалый плюс!

4. Координаты лис записываются в регистры в зашифрованном виде, поэтому если даже и посмотреть регистры, то сразу сообразить, каковы координаты лисы, очень трудно. Мелочь, конечно же, но приятно.

5. Вывод о количестве оставшихся лис в случае поимки лисы выводилось с помощью оригинального видеосообщения «LIS-N», где «N» - количество непойманных лис. Если вышло «LIS-0», то победа.

 

Но при всех достоинствах сохранился самый главный недостаток – на одном поле могло находиться две и более лис. Это вроде бы и мелочь, но из-за особенности алгоритма расстановки в отличие от программы «Охота на лис-1» в более половины случаев «случайных» чисел хотя бы на одном поле располагалось по две лисы. Совсем нехорошо!

Далее, если лиса оказывалась на поле с координатами «0,0», то она не ловилась и не пеленговалась, то есть лиса фактически становилась невидимой! Крайне неприятный недостаток (дело в том, что программа в регистры пойманных лис вместо координат записывала ноль, а потому непойманная лиса с координатами «0,0» уже изначально обозначалась как пойманная, и в итоге программа с одной стороны считала, что в начале игры непойманных лис восемь, а с другой стороны получалось, что одна лиса уже поймана; всё это говорит о том, что программа не прошла полностью отладочные испытания).

 

Взяв за основу «Охота на лис-2», автор разработал «Охоту на лис-3», добавив следующие улучшения:

1. Алгоритм расстановки осуществляется по специальной формуле (формула рекуррентная и следующая: N(j+1)= N(j)*q –[N(j)*q/p]*p; где p=101, q=74, N(j+1) – новое число, N(j) – предыдущее число; вот ссылка, откуда взята эта формула:  http://4pda.ru/forum/index.php?showtopic=748847&st=80; со слов человека, предложившего формулу, он и разработал программу «Охота на лис-2», но это со слов), и в результате на одном поле теперь всегда располагается не более одной лисы!

2. Лиса на поле с координатами «0,0» теперь пеленгуется и ловится (для этого в регистр пойманный лисы теперь записывается не ноль, а отрицательное число).

3. Сохранены все прочие достоинства «Охота на лис-2» (пойманные лисы более не пеленгуются; сохранен счетчик попыток человека; можно посмотреть свой последний ход и т.д.).

4. Практика показывает, что если играют дети, то им лучше играть при условии, что пойманные лисы по-прежнему пеленгуются (как в программе «Охота на лис-1»). С этой целью в программе имеется возможность реализовать и это, если на шагах 65-70 записать «КНОП»!

 

И хотя теперь исчезло видеосообщение в виде «LIS-N», но во по всем другим показателям, казалось бы, у программы нет недостатков. Но, оказывается, не так. Играя с младшей дочерью в эту программу, неожиданно выявился интересный и весьма специфичный недостаток – из-за формулы распределения все лисы хотя и располагались на разных полях, но примерно 4-5 лис всегда располагались очень скученно, то есть рядом друг с другом. Зная эту особенность, можно значительно сократить время на поиск лис. Это все же существенный минус! Как быть?

 

После недолгих размышлений, была разработана «Охота на лис-4», которая сохранила все основные возможности «Охота на лис-3», но теперь расположение лис производится не по формуле, а по «случайному» принципу (точнее, конечно же, псевдослучайному), так что теперь лисы располагаются действительно каждый раз хаотично. Естественно, возникает вопрос: а как это удалось осуществить?

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

Разумеется, может возникнуть опасение того, а не возможно ли бесконечное распределение лис? Такое возможно, но вероятность крайне мала, так как математически можно определить, что при случайном распределении лис вероятность того, что хотя бы у двух лис совпадут координаты равно примерно 25%. Вероятность того же, что при двух подряд раза случайного распределения лис произойдет совпадение равна соответственно 0,25х0,25=0,0625, то есть примерно 6%, а три раза – уже всего примерно 1,5%.

Так как более всего времени у программы уходит даже не на само случайное распределение лис, а на проверку совпадений, то может возникнуть опасение того, что время распределения лис весьма затянется. Если играть с настоящим программируемым микрокалькулятором, то это было бы существенным минусом, но так как у нас теперь эмулятор на сотовый телефон, скорость которого более чем в десять раз превышает скорости работы настоящего калькулятора, то время перестало играть такого тормозящего фактора (скорее всего именно из-за большого времени на проверку совпадений в 80-90-е года разработчики первых программ «Охота на лис-1» и «Охота на лис-2» и отказались от проверки, так как саму проверку в действительности не так уж и сложно реализовать).

Практика показывает, что на распределение лис у эмулятора уходит примерно 15 секунд (из которых 5 секунд уходит на распределение и 10 секунд на проверку; в режиме работы реального времени калькулятора ушло примерно 2 минуты 15 секунд, то есть примерно в 9 раз дольше), если после первого распределения не было совпадений координат (введите, к примеру, «0,1234»), 30 секунд, если после первого распределения оказалось совпадение (введите, к примеру, «0,1»), 45 секунд, если при первых двух распределений оказались совпадения (не удалось подобрать!) и т.д. Так как вероятность того, что первые два распределения имеют совпадения равна всего 6%, то, как видим, потеря времени несущественна.

Итак, как таковых недостатков у «Охоты на лис-4» НЕТ. Фантастика да и только! Каков итог всему сказанному? Есть две очень хорошие программы: «Охота на лис-3» и «Охота на лис-4». Какую программу выбрать?

1) Если вы хотите, чтобы из восьми лис 4-5 распределялись скученно, то «Охота на лис-3».

2) Если вы хотите, чтобы все лисы распределялись случайным образом, то «Охота на лис-4».

 

Обращаю внимание, что интерфейс обеих программ совершенно одинаков.

В формате «.pmk» представлены по два варианта для каждой программы, причем с дополнением «для Поли» (имя младшей дочери автора) приведен вариант, в которой пойманные лисы по-прежнему пеленгуются. Во всех программы число лис равно восьми.

Наконец-то, спустя 25 лет, я смог для себя закрыть-таки мечту довести до совершенства эту игру.

 

В заключение стоит отметить, что в программах «Охота на лис-1» и «Охота на лис-2» на одном поле могут оказаться несколько лис, что нехорошо, то в них можно поступить следующим образом – заранее определить, при каких «случайных» числах все лисы располагаются на разных полях, затем забыть их расположение, и уже позднее, когда все забылось, снова ввести заранее записанное «случайное» число и отыскать лис. Немножко утомительно, но решение – главное! – есть и для этих программ.

 

Теперь немного об игре "Быки и коровы".

ПМК задумывает четырехзначное число, в котором все цифры разные и они от 1 до 9 (цифры «0» нет). Игрок набирает четыре цифры, и в ответ ПМК показывает число «быков» и «коров».

«Бык» - цифра совпадает как по значению, так и по позиции.

«Корова» - цифра совпадает только по значению.

Опять же, как все просто!

Ниже приведена программа из книги «Микрокалькуляторы в играх и задачах» (1986 г.). Условно я ее назвал "Быки и коровы-1". Она как таковых не имеет ярких недостатков за исключением интерфейса. Чуть позже планирую ее улучшить (более удобный ввод в виде четрехзначного числа, учет количества попыток, более удобюный вывод о количесте "быков" и "коров").

 

10.07.2018

Был в командировке, четыре дня ездил в поезде, получил возможность еще раз играть с ПМК.

Играл и в "Кауфстен". Максимум продержался 12 лет, а так всего 8-11 лет.
В итоге пришел к выводу, что цену на землю лучше уменьшить до 8-10 бушелей за акр, а разнице между куплей и продажей земли тоже уменьшить с 3 до 2.

 

Также много играл в "Быки и коровы", кажется, партий двадцать. Пришел к следующим выводам:
1. В 80% случаев можно отгадать за 6 и менее попыток.
2. В 20% случаев угадывается за 7 попыток.
Вывод - если не укладываетесь угадывать за 7 попыток, то надо учиться и учиться. :-)

 

И, конечно же, много играл и в "Охота на лис" (поле 10х10, 8 лис).
Не могу доказать, но пришел к выводу, что при оптимальной стратегии найти всех лис можно за 30 ходов и менее.