Личный кабинет

Битва программ

Популяризация программирования среди школьников
Роман Еннер ( Пользователь )
Наверное большинству известно идея "битвы программ": есть задача, чаще всего игра, не очень сложная, чтобы её можно было запрограммировать школьникам, и не всегда с очевидным алгоритмом (чтобы было интересно). Необходимо двум (или более) участникам написать программу делающую всего один ход в этой игре (т.е. программа получает текущую обстановку, обрабатывает её по оригинальному алгоритму и совершает один единственный ход). Таким образом запуская по очереди две разные программы (для этого можно написать третью программу, которая будет при этом проверять правильность-честность хода) и получаем что две программы играют друг с другом.
Какие битвы проводили:
-крестики-нолики в кубе 4х4х4, аналогично классическим но нужно выстроить ряд из 4-х (Х или 0) в любой грани, в любом сечении куба.
-игра "4 квадрата" http://freeonlinegames.com/puzzle-games/four-square.html. Цель сформировать как можно больше квадратов своего цвета 2х2

Цель темы: собрать как можно больше потенциально хороших игр
например, также подходят игры
-гомоку
-реверси
-го
Денис Кириенко ( Пользователь )
Спасибо, я про подобные вещи регулярно думал, вот в этом году наконец-то сподвигнулся сделать.

Хорошие идеи для таких игр есть в книге Арсака "Программирование игр и головоломок". Скачать книгу можно отсюда: http://books.prometey.org/download/11261.html

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

Понятно, что для знакомых с динамическим программированием это несложная задача, но для начинающих восьмиклассников - самое оно, т.к. стратегия неочевидна, но можно придумывать много разных эвристик. То, что из этого у меня получилось, описано здесь: http://server.179.ru/wiki/wakka.php?wakka=...ka/IgraVspichki
Виталий Потопахин ( Пользователь )
Цитата (Roman Enner, 02.05.2010, 22:31) <{POST_SNAPBACK}>
Наверное большинству известно идея "битвы программ": есть задача, чаще всего игра, не очень сложная, чтобы её можно было запрограммировать школьникам, и не всегда с очевидным алгоритмом (чтобы было интересно). Необходимо двум (или более) участникам написать программу делающую всего один ход в этой игре (т.е. программа получает текущую обстановку, обрабатывает её по оригинальному алгоритму и совершает один единственный ход). Таким образом запуская по очереди две разные программы (для этого можно написать третью программу, которая будет при этом проверять правильность-честность хода) и получаем что две программы играют друг с другом.
Какие битвы проводили:
-крестики-нолики в кубе 4х4х4, аналогично классическим но нужно выстроить ряд из 4-х (Х или 0) в любой грани, в любом сечении куба.
-игра "4 квадрата" http://freeonlinegames.com/puzzle-games/four-square.html. Цель сформировать как можно больше квадратов своего цвета 2х2

Цель темы: собрать как можно больше потенциально хороших игр
например, также подходят игры
-гомоку
-реверси
-го


Мы чем-то подобным занимается много лет. Правда наша цель борьба программы против человека эксперта. Наши лучшие работы выложены на www.lotos-khv.narod.ru причем вместе с исходниками.

Но вот ГО я бы из этого списка вычеркнул уровень проблемы совсем иной. Если кому будет интересно у меня есть коллекция описаний игр, что-то около 60 наименований.
Михаил Густокашин ( Пользователь )
Задача такого рода была на Всероссийской олимпиаде в 1998 году http://neerc.ifmo.ru/school/archive/1997-1...98-problems.rar (задача 4, второй тур, называется "Просто Филя").
Тесты, решения участников и т.п. можно скачать по ссылочке http://neerc.ifmo.ru/school/archive/1997-1...tml#pers-russia
На своих уроках я давал детям задачу где нужно было двум программа по известным предыдущим ходам себя и противника на очередном ходе выдать 0 или 1. Причем баллы распределялись следующим образом:
0:0 - 3:3
0:1 - 0:5
1:0 - 5:0
1:1 - 1:1
т.е. игра с ненулевой суммой и уж точно не имеет оптимальной стратегии. Количество ходов заранее неизвестно. Как-то тяжело пошло, наверно, слишком рано дал.
Денис Кириенко ( Пользователь )
Цитата (Михаил Густокашин, 03.05.2010, 16:44) <{POST_SNAPBACK}>
Задача такого рода была на Всероссийской олимпиаде в 1998 году

Интересно, это первый и последний раз, когда участникам на Всероссийской олимпиаде предлагалась "интерактивная" задача?



Цитата (Потопахин Виталий, 03.05.2010, 01:51) <{POST_SNAPBACK}>
Если кому будет интересно у меня есть коллекция описаний игр, что-то около 60 наименований.


Конечно, интересно! Выложите, пожалуйста!
Роман Еннер ( Пользователь )
Вот еще интересная игра, по моему, очень даже неплохой кандидат для реализации в битве программ:
Дачники
Михаил Густокашин ( Пользователь )
Нашел в интернетах забавную штуку: http://ai-contest.com/
В ней требуется написать бота, который будет играть против такого же бота в игру по захвату планет. Каждая планета характеризуется флотом на ней, а также количеством производимых кораблей. Можно посылать флоты своих планет для захвата вражеских или нейтральных планет, при этом время полета будет равно округленному вверх евклидову расстоянию.
Для сдачи доступны языки Python2, C++, Java и C# но можно попросить организаторов добавить и другие популярные языки, например, Python3.

Автоматический перевод странички на русский: http://translate.google.ru/translate?js=n&...-contest.com%2F
Организатор: University of Waterloo

Задача основана на игрушке Galcon, которая есть для айфона и пк.
Роман Еннер ( Пользователь )
Конкурс играющих программ
Станислав Михалкович ( Пользователь )
Цитата (Денис Кириенко, 02.05.2010, 23:15) <{POST_SNAPBACK}>
То, что из этого у меня получилось, описано здесь: http://server.179.ru/wiki/wakka.php?wakka=...ka/IgraVspichki


Что-то ссылка не открывается...
Денис Кириенко ( Пользователь )
Цитата (Михалкович Станислав, 20.02.2012, 22:22) <{POST_SNAPBACK}>
Что-то ссылка не открывается...


Страница перенесена в архив: http://server.179.ru/wiki/?page=Informatik...10/IgraVspichki

footer logo © Образ–Центр, 2018. 12+