
Семинар № 8: Морской бой
Актуальность: "Морской бой" - игра для двух человек или двух команд. "Морской бой" прекрасно развивает внимание, логику, образное мышление, воображение. Игра развивает стратегические навыки.
Цель: Уничтожить все корабли противника на клетчатом поле размером 10х10. За ход можно наносить один удар, если есть попадание по кораблю противника наносится еще один удар, иначе ход переходит к сопернику.
Решение: Так в нашем распоряжении находится 4 типа кораблей разного размера, то и расставлять их стоит по-особому. Желательно крупные корабли располагать ближе к краям, мелкие корабли ставить в центр, так как по ним сложнее попасть. Вести огонь следует по диагоналям, рассчитывая примерные расстояния, исходя из того, какие корабли остались у противника.
Результаты игры морской бой любезно предоставлены сайтом alexdev.ru.
Выводы: Во время игры были применены различные алгоритмы для защиты и нападения; была выведена победная стратегия для игры с любым противником. В результате игры был применен опыт П.Л. Чебышова, увеличилась скорость разворачивания разметки по Гауссу на листе бумаги, улучшилась техника работы в коллективе, эффективность возросла.
Семинар № 9: Быки и коровы
Актуальность: логическая игра для двоих игроков. Для игры достаточно иметь бумагу, ручку и уметь считать. Также игра может называться «цифры» или «цвета».
Цель: Играют двое. Каждый задумывает и записывает тайное 4-значное число с неповторяющимися цифрами[1]. Игрок, который начинает игру по жребию, делает попытку отгадать число. Попытка — это 4-значное число с неповторяющимися цифрами, сообщаемое противнику. Противник сообщает в ответ, сколько цифр угадано без совпадения с их позициями в тайном числе и сколько угадано вплоть до позиции в тайном числе. Например:
Задумано тайное число «3219».
Попытка номер: «2310».
Результат: две «коровы» (две цифры: "2" и "3" — угаданы на неверных позициях) и один «бык» (одна цифра "1" угадана вплоть до позиции).
Игроки делают попытки угадать по очереди. Побеждает тот, кто угадает число первым.
Решение:
В общем случае количество
вариантов для k-значного числа в
N-ричной системе
счисления без
повторений, будет равно числу размещений:
.
В
случае варианта с повторениями количество
вариантов будет равно
.
Большинство известных алгоритмов суть вариации алгоритма полного перебора с определённой эвристикой[4]. В связи с тем, что количество вариантов не столь велико и схема прямого перебора элементарно реализуется, компьютер играет в «быки и коровы» намного сильнее человека. Чем больше знаков в числе, тем больше разница в силе игры человека и компьютера.
Приведем один пример. Ходы и ответы на них будем записывать в табл. 1.
Таблица
1
Предположим, что партнер задумал число 3594, которое нам нужно отгадать. Наш первый ход 1568 дал ответ 16. Это означает, что в задуманном числе имеется всего одна цифра из названных, причем стоящая на своем месте. Постараемся отгадать ее, не привлекая пока - чтобы не запутаться - другие цифры. Сделаем второй ход 1586. Ответ 16 говорит о том, что на своем месте стоит цифра 1 или 5. Теперь следует третий ход 1658, и ответ 1к показывает, , что в задуманном числе на втором месте стоит 5, а цифр 1, 6, 8 в нем нет. Ходом 2570 постараемся выяснить наличие цифр 2, 7 и 0. Ответ 16 весьма удачен - этих цифр в искомом числе нет. Итак, ясно, что задуманное число состоит из цифр 3, 4, 5, 9, причем на втором месте - 5. Сделаем следующий ход 4539. Ответ 16 3к означает, что задумано одно из чисел - 3594 или 9543. Если первая цифра 3, то 9 может быть только третьей, а если первая 9, то 3 - только четвертой. Ход 3594 и ответ 46 привел нас к цели; ответ 16 3к означал бы, что задумано число 9543, в этом случае партия продлилась бы на ход дольше.
Выводы: Во время игры были применены различные комбинаторные и логические методы (дедукция, индукция, исключение), были сделаны удачные попытки разгадать числа противника. Были получены различные алгоритмы поиска чисел.