Страница: 1 |
Страница: 1 |
Вопрос: Алгоритм шахматного бота
Добавлено: 01.04.05 07:56
Автор вопроса: Morpheus | Web-сайт:
Вобщем задался я целью (не сиюминутной и так, чисто теоретически) создать бота для игры в
шахматы, т.е. машину, не использующую шахматных знаний (кроме простейших) и "думающей"
только по математическому алгоритму (велосипед короче изобрести решил).
прошу следить и когда я ошибусь обязательно поправьте пожалуйста. так же буду рад если просто
кинетесь ссылкой по теме.
для простоты попытаюсь для начала обозначить свои кривые понятия, которые я собираюсь
использовать в дальнейшем.
-Количественное давление - суммарное количество фигур бьющих клетку, исключая те, которым
нельзя ходить, но включая их же если ходит король (врага).
-Качественное давление - сумма стоимости всех фигур бьющих клетку, исключая те, которым нельзя
ходить, но включая их же если ходит король врага.
Как пройти от одной точки доски в другую зная тип фигуры надеюсь труда не составит. другое дело
- надо решить, какие клетки считать занятыми, а какие свободными.
Занятыми я бы считал клетки на которых расположены мои фигуры и клетки (не зависимо от
занятости) на которых количественное давление противника превышает мое, а качественное
давление ниже (короче если он бьёт клетку пятью пешками, а я тремя ладьями).
Тогда свободными клетками я бы считал (пустые клетки or клетки занятые фигурами противника)
and (моё количественное давление соответственно выше или равно а качественное выше или равно
у противника).
Также:
1)в случае мясорубки сначала надо отдавать фигуры с более низкой стоимостью.
2)первые пару ходов можно задать вручную.
3)устанвить начальную точку огня для всех фигур на вражеского ферзя или короля и по мере
срубания переводить фокус на более низкооцениваемые фигуры (часть будет срублена при
движении по маршруту).
4)повышать цены на пешки в прямопропорционально их продвижению вперёд.
5)рубить фигуру противника в любом случае когда она дороже и если не открывается шах.
6)не давать королям встретится.
..................
это конечно не всё, ещё многое что в гоолову придёт, но не всё. если кого заинтересовала идея,
прошу откликнуться и написать свои возражения или поправки к тому или иному пункту.
Спасибо.
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
Sur
ICQ: 1249088
Вопросов: 10
Ответов: 304
Web-сайт:
Профиль | | #1
Добавлено: 01.04.05 10:48
Если поможет, то есть исходники на С (занимался этим в 1999)
Или лучше поищи сам поновее: gnuchess, crafty
ЗЫ Про 3 ладьи и 5 пешек - собрался свои правила писать?
Номер ответа: 2
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #2
Добавлено: 01.04.05 12:45
Можно ведь ладью проходной пешкой взять
Номер ответа: 3
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #3
Добавлено: 01.04.05 13:05
Бредовая идея, т.к. Откроется, допустим твой ферзь в следующих 1-3 ходах...
Номер ответа: 4
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 01.04.05 13:36
Написано же - бот
Для написания бм серьезной шахматной программы применяются методы, использующие перебор комбинаций с оценкой полученной позиции, и чем эффективнее программа отсекает ложные ветви и точнее оценивает позицию и дальше считает, тем лучше она играет.
Номер ответа: 5
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #5
Добавлено: 01.04.05 18:04
прокерка на бдительность
Номер ответа: 6
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #6
Добавлено: 02.04.05 04:28
Одно поле может обстреливаться максимум двумя пешками одного цвета.
Ну это само собой разумеется - король не может занимать битое поле.
Еще нужно рокировку запрограммировать.
Номер ответа: 7
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #7
Добавлено: 02.04.05 05:10
Еще нужно рокировку запрограммировать.
точно. королей надо только сделать неуязвимыми, только чтобы они об этом не зналии рокировку надо обязательно. я просто хотел фообще весь гамбит задать (8 ходов-индийская защита)
goto reply #5
приколоться,првести пешку и оставить её пешкой
Номер ответа: 8
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #8
Добавлено: 02.04.05 09:11
pP
Пешка P только что пошла со 2-й на 4ю, две пешки p бьют ее по обычному, третья через битое поле.
Номер ответа: 9
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #9
Добавлено: 02.04.05 09:16
ясно
Номер ответа: 10
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #10
Добавлено: 02.04.05 11:54
Блин, даже 4. Протормозил малость
| |
| |
| |
|p p |
|pPp |
| |
| |
| |
+--------+
Номер ответа: 11
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #11
Добавлено: 02.04.05 15:13
Почему четыре? За один ход ведь можно пойти только одной пешкой. А на проходе можно бить только сразу.
Номер ответа: 12
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #12
Добавлено: 02.04.05 15:16
Хотя все правильно. Просто у тебя не понятно, какая пешка какого цвета. Но все равно, я говорил про поле, а не про фигуру.