forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   Шахматы - как вообще? (http://forum.boolean.name/showthread.php?t=8077)

Baisangur 29.03.2009 04:21

Шахматы - как вообще?
 
Привет всем! Возникла необходимость познать как во всяких шахматных программах(прим. Cheesmaster) работает противник. Т.е. как компьютер играет в шахматы, как выбрать лучший ход, продумать все.. Примерный алгоритм подскажите хоть? =)

H@NON 29.03.2009 11:34

Ответ: Шахматы - как вообще?
 
вот почитай : http://artema.fopf.mipt.ru/ai/chessalg.html
А вообще гугл на фразе "алгоритм шахмат" выдает много чего по этой теме :)

Baisangur 29.03.2009 14:58

Ответ: Шахматы - как вообще?
 
Спс H@NON! =)
Конечно я первым делом в гугл сбегал, но там таких вещей начитался страшных, что решил пойти по пути меньшего сопротивления и спросить тут, вдруг че готовенькое покажут ;)

avel 29.03.2009 18:55

Ответ: Шахматы - как вообще?
 
да все просто. чисто сам алгоритм создания поля и проверки ходов реализуется массивом и его перебором. т.е. есть поле(читай массив) 8х8
далее есть массив фигур, или тип, или я например из файла грузил (весьма удобно и реализовать можно не только шахматы, а вообще что угодно простым добавлеением файлов новых фигур)
в этом файле (массиве) указываешь возможные ходы фигуры. в виде смещений по х и у. т.е. все варианты начиная от центра. т.е. для пешки например это будет всего одна кобинация(вперед(смещение по у на 1)) без учета первого хода, когда пешка может больше, чем на 1 сходить. ну эт уже детали. для слона, например, надо учитывать все возможные диагонали. т. е. от нижнего левого угла до правого верхнего и наоборот. и также другую диагональ сколько там вариантов сами считайте, мне лень. ну а потом все просто. проверяем циклом все эти комбинации убираем из них те, которые выходят за пределы поля и получаем массив допустимых ходов. когда ход сделан проверяем соответствует ли он этому массиву. в общем все просто.
а вот ИИ... тут уже куда сложнее. ибо тут надо учитывать преоритетность ходов, ценность фигур, стратегию, тактику...

Phantom 29.03.2009 19:07

Ответ: Шахматы - как вообще?
 
Цитата:

а вот ИИ... тут уже куда сложнее. ибо тут надо учитывать преоритетность ходов, ценность фигур, стратегию, тактику...
По мне, так это наоборот самая простая часть =)

avel 29.03.2009 19:27

Ответ: Шахматы - как вообще?
 
ну ну... напишешь грамотный ИИ для шахмат я те памятник поставлю. =)

Phantom 29.03.2009 21:29

Ответ: Шахматы - как вообще?
 
avel, Просто смотря на сколько ходов вперёд просчитывать. Чем больше, тем сложнее будет обыграть ИИ, но и времени на рассчёты много потребуется, медленно думать будет.

avel 29.03.2009 21:38

Ответ: Шахматы - как вообще?
 
ну рассчет ходов это еще не все. если машина тупо выбирает наиболее удачый ход, то обыгрывается достаточно просто. всякими гамбитами и пр. так что тут все не так просто, как кажется...

ABTOMAT 30.03.2009 02:35

Ответ: Шахматы - как вообще?
 
Сделать шахматы сетевыми.
Зачем рассчитывать алгоритм? Пускай приматы мозги напрягают хD

tormoz 30.03.2009 03:07

Ответ: Шахматы - как вообще?
 
Ну вы даете
Программы для игры в шахматы разрабатывают гении ГОДАМИ
Если вы задаете такие вопросы, то вам даже в шашки не научить комп играть (шахматное ИИ на 2 порядка сложнее шашечного)
Это высший пилотаж алгоритмики и дается он немногим

Phantom 30.03.2009 09:57

Ответ: Шахматы - как вообще?
 
tormoz, Ну я же говорю про элементарный ИИ, который просто будет просчитывать игровую ситуацию на несколько ходов вперёд и выбирать самую оптимистичную для себя ветвь развития событий =)

jimon 30.03.2009 10:53

Ответ: Шахматы - как вообще?
 
Phantom_wc
а неелементарный чем отличается от того что ты описал ? разве что к нему базу дебютов и ендшпилей присойденяют

Phantom 30.03.2009 13:09

Ответ: Шахматы - как вообще?
 
jimon, неэлементарный - это то, что имел ввиду tormoz, просто я хз какие аццкие алгоритмы он подразумевал. А вообще человеку проще играть в шахматы наверно потому, что человек видит ситуацию в целом и он не просчитывает все возможные ходы. Человек сразу видит какие ветки просчитывать не имеет смысла.

HolyDel 30.03.2009 15:24

Ответ: Шахматы - как вообще?
 
откуда ты знаешь что в мозгах происходит? может и просчитывается каждый вариант, только незаметно.

avel 30.03.2009 15:40

Ответ: Шахматы - как вообще?
 
ну насчет того кому проще играть я даже и не знаю... ибо есть у меня одна программка, которую я пока еще ни разу не выиграл... =)


Часовой пояс GMT +4, время: 14:28.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot