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

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

Phantom 30.03.2009 16:16

Ответ: Шахматы - как вообще?
 
Чувствую себя как на экзамене :wallbash: :-D

DeMoNN 02.04.2009 21:49

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

Сообщение от Phantom_wc (Сообщение 102149)
avel, Просто смотря на сколько ходов вперёд просчитывать. Чем больше, тем сложнее будет обыграть ИИ, но и времени на рассчёты много потребуется, медленно думать будет.

дык можно ии в тред вынести и он будет думать даже когда думает чел и времени на обдумывание во время хода компа уменьшится. лЛюди же тоже во время хода противника думают

Main Cry 03.04.2009 04:56

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

Сообщение от Phantom_wc (Сообщение 102149)
Просто смотря на сколько ходов вперёд просчитывать. Чем больше, тем сложнее будет обыграть ИИ, но и времени на рассчёты много потребуется, медленно думать будет.

Это позерство - называть что-либо простым, не зная алгоритмов.
Ежу понятно, что прога перебирает позиции на следующие ходы и дает им оценку и что время расчета прямо пропорционально количеству вариантов в шахматах.
ЗАЧЕМ писать очевидные вещи, не приводя конкретных алгоритмов и при этом называть это ПРОСТЫМ???

Phantom 03.04.2009 07:47

Ответ: Шахматы - как вообще?
 
Main Cry, Я не писал, что это просто. Но да, это просто. По крайней мере я представляю как сделать приоритет фигур и сделать перебор вариантов на n-ое количество ходов вперёд. В создании самой игры я вижу и более сложные задачи, которые придётся решать.
Цитата:

ЗАЧЕМ писать очевидные вещи, не приводя конкретных алгоритмов и при этом называть это ПРОСТЫМ???
А зачем писать конкретные алгоритмы к очевидным вещам? Алгоритм зависит от способа хранения игровой ситуации. Мне что, целую игру что ли написать и выложить сюда?

Main Cry 03.04.2009 16:22

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

Сообщение от Phantom_wc (Сообщение 102654)
Main Cry, Я не писал, что это просто.

Цитата:

Сообщение от Phantom_wc (Сообщение 102654)
По мне, так это наоборот самая простая часть =) .

Тогда что сложнее? Нарисовать фигуры и расставить их по местам?

Цитата:

Сообщение от Phantom_wc (Сообщение 102654)
Но да, это просто.

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

tormoz 03.04.2009 16:25

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

По сравнению с алгоритмом самого ИИ шахмат все остальное - даже не стоит внимания

Это как говорить : да на Эверест залезть очень просто. Сложнее к подножию подойти (туда автобусы ходят)

Phantom 03.04.2009 19:17

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

Те, кто действительно что-либо создал, в большинстве случаев, имеют тенденцию делать из этого деньги
А я и делаю. Пусть пока небольшие.
Цитата:

Ты сначала напиши, потом будешь писать свои гениальные выводы.
О, нет. Через это я уже прошёл. Вот мне больше делать нечего, чем писать игру только для того, чтобы доказать кому-то, что я в теме.

IGR 29.04.2009 16:35

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


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

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