|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.01.2013, 23:42 | #1 |
Пользователь
Регистрация: 24.12.2012
Сообщений: 82
|
алгоритм для крестиков-ноликов
надумал писать крестики нолики (5 в ряд)
и задался вопросом о том как будет соображать компьютер: пока из мыслей приоритетность клеток + (отдельно) поиск троек - четверок, поставленных в ряд. собственно интересует мнение форумчан, не надо тыкать в гугл. |
07.01.2013, 15:40 | #2 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Правильно думаете - поиск троек и чётвёрок в ряд + вилок. Если честно то достаточно просто для такой игры сделать матрицу ходов.
|
07.01.2013, 15:47 | #3 | |
Пользователь
Регистрация: 24.12.2012
Сообщений: 82
|
Цитата:
вилки планирую искать так: есть лист с тройками - четверками в ряд я его просматриваю и нахожу клетки, которые могут "обломать" завершение их до пятерок клетка, обламывающая сразу несколько комбинаций - она и предотвратит вилку Последний раз редактировалось denrubun; 07.01.2013 в 15:51. |
|
07.01.2013, 15:50 | #4 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Начните с хотсит-игры, реализуйте всю логику - расстановки, очерёдности ходов, выигрыш-проигрыш. Сделайте графическое оформление простейшее.
А там видно будет - если грамотно сделаете, то подключить вместо одного хотсит-игрока модуль для оценки ходов - будет просто, сперва можно написать заглушку, которая принимает поле и ходит в рандомную клетку. Потом уже будем обсуждать предметно. В общем виде можно просто перебором с оценочной функцией сделать. Ссылки на подобные обсуждения с реализацией на оценочных функциях: http://programmersforum.ru/showthread.php?t=33566 а также откройте поиск для себя - много тем на форуме, искать по ключевым словам "крестики нолики". |
07.01.2013, 16:00 | #5 |
Пользователь
Регистрация: 24.12.2012
Сообщений: 82
|
ставка поочередно, проверка координат, переключение хода, отлов выигрыша - все это сделано уже за графику я не брался еще никогда и старательно оттягиваю этот момент.
п.с. рандом-заглушка тоже есть, даже было проведено соревнование ее с текущей версией аи, успешно(в пользу аи конечно) кстати про поиск я чтото забыл, спасибо) |
08.01.2013, 01:01 | #6 |
Пользователь
Регистрация: 24.12.2012
Сообщений: 82
|
прочитал про минимакс, про отсечения, вроде понял, но выглядит это все довольно обобщенно. А у меня такая болезнь я хочу чтоб алгоритм был ну оптимальней некуда, за каждую проверку дерусь. Отсюда возникает вопрос: много ли, по вашему мнению, я смогу добиться уйдя от минимакса и построения деревьев в изобретение алгоритма исключительно для данной задачи? Или я покружусь и пойму что лучше не может быть, и тогда лучше не выпендриваться и просто реализовывать минимакс?
|
08.01.2013, 07:50 | #7 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Виталий, а Вы садист. Матрица игры, в комбинаторике, вычисляется как факториал. Например для матрицы 3Х3 число комбинаций буде (3 * 3)! = 362880. Для матрицы 5Х5=25! Мне даже представить страшно какая будет матрица.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 08.01.2013 в 07:56. |
08.01.2013, 12:04 | #8 | ||
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Цитата:
Цитата:
Достаточно просто проверять противника на эти комбинации и всё. |
||
08.01.2013, 16:15 | #9 | |
Пользователь
Регистрация: 24.12.2012
Сообщений: 82
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм для Шашек | isus | Помощь студентам | 16 | 10.10.2012 09:46 |
Алгоритм для программы | Kostik777 | Помощь студентам | 2 | 15.01.2010 12:09 |
алгоритм для бенчмарка | CraZZy RabbIt | Общие вопросы Delphi | 9 | 02.03.2009 22:01 |
Алгоритм для Pascal | Trojan-PSW.Win32 | Помощь студентам | 6 | 29.01.2008 10:17 |