| Шахматное программирование Chess Programming. Вы уже написали свою шахматную программу? Или только-только приступили к её разработке? Добро пожаловать в данный раздел! Делимся советами, помогаем новичкам в шахматном программировании |
![]() |
| Опции темы |
|
|
#1 |
|
Регистрация: 15.03.2010
Сообщений: 1,712
Сказал(а) спасибо: 3,475
Поблагодарили 5,816 раз(а) в 1,744 сообщениях
Страна:
|
Решился на написание нового движка, т.к. исходники старого совсем уж страшные.
![]() Пока сделал генератор на вращающихся битбордах и perft для его проверки. Скорость получилась примерно сопоставимой с той, что была в старом движке. Уже можно скачать исходники и исполнимые файлы: Мурка 1.0. Нужно иметь в виду, что это не движок, а только лишь вычислитель perft для заранее заданных позиций. ![]() Надеюсь наши народные умельцы будут помогать чем смогут. ![]() В глобальных планах хотелось бы выйти где-то на уровень Стрелки , а дальше будет видно. ![]() В ближайших же планах сделать простейшую поддержку UCI/Xboard, простую ОФ (материал, ценность полей), альфа-бету (сортировка: взятия-киллеры-остальные), ФВ с взятиями. Пока вроде все... ![]() Murka 2 Murka 3 Последний раз редактировалось WildCat; 13.07.2013 в 09:21. |
|
|
|
| 53 пользователя(ей) сказали cпасибо: |
|
|
#4 |
|
Заблокирован
Регистрация: 29.03.2010
Возраст: 29
Сообщений: 1,522
Сказал(а) спасибо: 470
Поблагодарили 1,305 раз(а) в 832 сообщениях
Страна:
|
Wildcat, если бы ты дописал кусок кода, который бы отвечал за ошибки при лимитировании эло, был бы просто отличный движок для начнающих :3
|
|
|
|
| Пользователь сказал cпасибо: | Bordgia (13.02.2012) |
|
|
#7 |
|
Регистрация: 15.03.2010
Сообщений: 55
Сказал(а) спасибо: 82
Поблагодарили 97 раз(а) в 36 сообщениях
|
|
|
|
|
|
|
#8 |
|
Регистрация: 15.03.2010
Сообщений: 1,712
Сказал(а) спасибо: 3,475
Поблагодарили 5,816 раз(а) в 1,744 сообщениях
Страна:
|
Для собственного удовольствия.
Первая версия будет и без лимитирования ну очень слабой. И тактически и стратегически будет часто ошибаться. Зачем еще что-то лимитировать? Скорее всего. Последний раз редактировалось WildCat; 31.05.2010 в 19:32. |
|
|
|
| Пользователь сказал cпасибо: | Bordgia (13.02.2012) |
|
|
#9 |
|
Регистрация: 14.03.2010
Сообщений: 3,288
Сказал(а) спасибо: 3,524
Поблагодарили 7,160 раз(а) в 2,088 сообщениях
Страна:
|
WildCat, в движке будут использованы самые современные и прогрессивные приемы и техники шахматного программирования? те же самые, что и в вяленом, рыбке и айвенго?
|
|
|
|
| Пользователь сказал cпасибо: | Bordgia (13.02.2012) |
|
|
#10 |
|
Регистрация: 15.03.2010
Сообщений: 1,712
Сказал(а) спасибо: 3,475
Поблагодарили 5,816 раз(а) в 1,744 сообщениях
Страна:
|
Будет использовано все, что сможет увеличить силушку богатырскую.
![]() Только на уровень элитных движков я все равно особо не расчитываю - не так это просто, как некоторым кажется.
|
|
|
|
| Пользователь сказал cпасибо: | Bordgia (13.02.2012) |
|
|
#12 |
|
Kashchey the Deathless
Регистрация: 10.03.2010
Сообщений: 8,323
Сказал(а) спасибо: 11,806
Поблагодарили 39,691 раз(а) в 7,223 сообщениях
Страна:
|
Как оригинально ты кошку назвал, однако!
__________________
|
|
|
|
| 3 пользователя(ей) сказали cпасибо: |
|
|
#14 |
|
Регистрация: 20.03.2010
Сообщений: 175
Сказал(а) спасибо: 427
Поблагодарили 261 раз(а) в 125 сообщениях
Страна:
|
Кот (или код?) с комментариями на русском!
Это очень хорошо! Хотелось бы, что бы так было и дальше.
Последний раз редактировалось ChessTerminator; 31.05.2010 в 20:58. |
|
|
|
| Пользователь сказал cпасибо: | Bordgia (13.02.2012) |
|
|
#16 | |
|
Регистрация: 14.03.2010
Сообщений: 175
Сказал(а) спасибо: 5
Поблагодарили 202 раз(а) в 85 сообщениях
|
Цитата:
http://winpooh-berloga.blogspot.com/...g-post_31.html ну или исходники Греко Последний раз редактировалось WinPooh; 31.05.2010 в 21:08. |
|
|
|
|
|
|
#17 |
|
Регистрация: 10.05.2010
Возраст: 56
Сообщений: 235
Сказал(а) спасибо: 6
Поблагодарили 1,487 раз(а) в 241 сообщениях
Страна:
|
Если уж всё в самом начале, то можно еще попробовать добавить к отображению позиции списки фигур (в дополнение к битбордам):
int piece_list[12][16]; Первый индекс - тип фигуры, второй номер фигуры в списке. В списке храним координаты фигур, в конце списка - число -1. В make/unmake несколько лишних операций, зато в генераторах ходов и оценке циклы по фигурам получаются эффективнее. Вместо например: Bitboard b; for (b = WhiteKnight; b != 0; b & = b -1) { square = BSF(b); имеем: int *p; for (p = piece_list[WhiteKnight]; (square = *p) != -1; p++) { В Гудини это дело добавляет что-то к скорости. |
|
|
|
| 5 пользователя(ей) сказали cпасибо: | Bordgia (13.02.2012), Telepat (31.05.2010), WildCat (31.05.2010), Кевин (01.06.2010), Тянь-Викунтяу (06.01.2013) |
|
|
#20 | ||
|
Регистрация: 15.03.2010
Сообщений: 1,874
Сказал(а) спасибо: 2,230
Поблагодарили 4,925 раз(а) в 1,366 сообщениях
|
Цитата:
Цитата:
for (b = White ^ WhitePawn ^ WhiteKing; b != 0; b &= b -1) { *** }. Последний раз редактировалось ThinkingALot; 01.06.2010 в 10:56. |
||
|
|
|
| Пользователь сказал cпасибо: | Bordgia (13.02.2012) |