Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Алгоритм игры в шахматы


Автор: zaksys 25.10.2009, 13:54
Здраствуйте. Нужен простейший алгоритм игры в шахматы желательно написанный на VB. Ну или просто пример алгоритма, какой-нибудь игры.

Автор: Ипатьев 25.10.2009, 13:54
И правда. Какая разница - шахматы или кости. И то и другое игра.

Автор: zaksys 25.10.2009, 14:55
Цитата(Ипатьев @ 25.10.2009,  13:54)
И правда. Какая разница - шахматы или кости. И то и другое игра.

А алгоритма случаем нету?

Автор: ДобренькийПапаша 25.10.2009, 15:51
Цитата(zaksys @ 25.10.2009,  14:55)
Цитата(Ипатьев @ 25.10.2009,  13:54)
И правда. Какая разница - шахматы или кости. И то и другое игра.

А алгоритма случаем нету?

Есть и для костей и для шахмат и для го и для шашек. Учёные давно уже разработали унифицированный алгоритм для всех логических игр... Вы не знали что-ли???

Автор: nworm 25.10.2009, 21:01
простейший алгоритм любой игры с ходами: делаем первый попавшийся возможный ход, например, игра в преферанс с болваном.

Автор: zaksys 25.10.2009, 21:25
Цитата(ДобренькийПапаша @ 25.10.2009,  15:51)
Цитата(zaksys @ 25.10.2009,  14:55)
Цитата(Ипатьев @ 25.10.2009,  13:54)
И правда. Какая разница - шахматы или кости. И то и другое игра.

А алгоритма случаем нету?

Есть и для костей и для шахмат и для го и для шашек. Учёные давно уже разработали унифицированный алгоритм для всех логических игр... Вы не знали что-ли???

Не знал конечно, но может есть примеры как эти алгоритмы реализованы.

Автор: Michael.de 25.10.2009, 23:26
Цитата(zaksys @  25.10.2009,  13:54 Найти цитируемый пост)
...Нужен простейший алгоритм игры в шахматы желательно написанный на VB...
Алгоритм не привязан к какому-либо языку, иначе это уже код. А один из первых шагов в написании алгоритма для шахмат - расчёт всех возможных передвижений для любой из фигур хотя бы на один ход вперёд smile

P.S. А по идее этот алгоритм должен функционировать след. образом: комп. перебирает все возможные варианты до определённого уровня глубины (если есть база данных - смотрит там), выбирает по своим критериям наилучшее решение и делает ход. Только там (в шахматах) задействованны сотни "подалгоритмов"...

Автор: nworm 26.10.2009, 01:16
Цитата

P.S. А по идее этот алгоритм должен функционировать след. образом: комп. перебирает все возможные варианты до определённого уровня глубины (если есть база данных - смотрит там), выбирает по своим критериям наилучшее решение и делает ход. Только там (в шахматах) задействованны сотни "подалгоритмов"...


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

может быть также довольно тупой перебор на очень большом суперкомпьютере (чтоб суперкомпьютеры тестировать).

а так, полно литературы по этому поводу.

Например, yandex сразу выдаёт первые старые книги
Ботвинник М. М., Алгоритм игры в шахматы, М., 1968; его же, Блок-схема алгоритма игры в шахматы (Препринт), М., 1972
 
Есть также статьи про различные шахматные задачи, с более простыми алгоритмами (потому что не вся игра).

Самый простой алгоритм можете по сочинять:

Код

printf("Сдаюсь!");


Хотя может кто-то знает ещё проще smile

Автор: ДобренькийПапаша 26.10.2009, 06:53
Я 10 лет профессионально играл в шахматы, однако международного мастера выполнить не успел. Остался кандидатом.
Если есть желание научить программу играть хотя бы в силу кандидата, и собираетесь разрабатывать с нуля и в одно лицо, то уйдёт лет 5.

Если просто хотите, чтобы программа могла делать ходы, то по-моему это элементарно, можно и самому без готовых решений разобраться. Обратите внимание на эту книгу, возможно она вам поможет "Программирование шахмат и других логических игр" - Корнилов Е.Н

Автор: DRUID3 26.10.2009, 07:57
http://ocrai.narod.ru/chessalg.html...

Автор: Ипатьев 26.10.2009, 10:20
Сдается мне, некоторые не поняли вопроса.

Автор: zaksys 27.10.2009, 11:24
Цитата(ДобренькийПапаша @ 26.10.2009,  06:53)
Я 10 лет профессионально играл в шахматы, однако международного мастера выполнить не успел. Остался кандидатом.
Если есть желание научить программу играть хотя бы в силу кандидата, и собираетесь разрабатывать с нуля и в одно лицо, то уйдёт лет 5.

Если просто хотите, чтобы программа могла делать ходы, то по-моему это элементарно, можно и самому без готовых решений разобраться. Обратите внимание на эту книгу, возможно она вам поможет "Программирование шахмат и других логических игр" - Корнилов Е.Н

Большое спасибо за источник.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)