|
Последнее обновление 27 June 2012(ревизия от 21.03m.21) (16 августа 2018 поменял хостинг на платный Fozzy Hosting Services(Хостинг Fozzy) )
На главную
Добавил Ифрита на github.com
Ifrit add to github.com
Ифрит (Ifrit)
- шахматный
UCI
движок написанный на языке С++.
Rating in CCRL 40/40(June 23, 2012):
Ifrit j2.9 2084 (+37 -37)
Ifrit j3.6 64-bit 2211 (+32 -32)
Ifrit j3.8 64-bit 2161 (+39 -39)
Ifrit j4.2 2115 (+34 -34)
Ifrit j4.3 2156 (+33 -33)
Ifrit m1.5 2375 (+28 -28)
Ifrit m1.6 2328 (+40 -40)
Ifrit m1.7 2429 (+68 -67)
Ifrit m1.8 2386 (+80 -82)
Rating in CCRL 40/4(May 14, 2012):
Ifrit m1.5 64-bit 2369 (+30 -30)
All Ifrit Все доступные на сайте версии Ифрита.
BIN
bin(GENIE)
bin_ifrit(Ifrit_C exe)
bin_ifrit_b(Ifrit_b exe)
bin_ifrit_j(Ifrit_j exe)
bin_ifrit_m(Ifrit_m exe)
Jim_Ablett_compiles(Ifrit exe)
SRC
src_ifrit(GENIE, Ifrit_C src)
src_ifrit_b(Ifrit_b src)
src_ifrit_j(Ifrit_j src)
src_ifrit_m(Ifrit_m src)
src Strelka_2_0 by Jury Osipov in January 2008
Strelka_2_0
Ифрит представлен на сайтах:
SDchess - бесплатные шахматные программы (Free Chess)
WBEC Newspage
RWBC-chess Ratings
Ифрит участвовал в битве движков ChessWar, который проводит Olivier Deville
на сайте
ChessWar
WinBoard forum
Ifrit m1_5 in OpenWar
Games group G(completed)
Final standings after round 11
Games group F
Final standings after round 11
Ifrit j4-3_x64_ja - OpenWar 08(completed)
Crosstable OpenWar 8th
Ifrit m1-5_x64_ja - OpenWar 9th Edition
OpenWar 9th Edition starts 15.11.2011 at 10:00 french time.
List of participants
Pairings
Crosstable OpenWar 9th
Ифрит играл в турнирах которые проводит Graham Banks
Ifrit j2.6 - 17th Amateur Series Division 8(completed)
17th Amateur Series Division 8
Ifrit j3.5 - 21th Amateur Series Division 7(completed)
21th Amateur Series Division 7
Ifrit j3.6 - 22nd Amateur Series Division 7(completed)
22nd Amateur Series Division 7
Ifrit j3.9 - 24th Amateur Series Division 6(completed)
24th Amateur Series Division 6
Ifrit j4.2 - 25th Amateur Series Division 6(completed)
25th Amateur Series Division 6
Ifrit j4.3 - 26th Amateur Series Division 6(completed)
26th Amateur Series Division 6
Ifrit j4.3 - 27th Amateur Series Division 6(completed)
27th Amateur Series Division 6
Ifrit m1.5 - 31st Amateur Series Division 5(completed)
31st Amateur Series Division 5
Ifrit m1.5 - REDSHIFT MYSTERY(completed)
REDSHIFT MYSTERY
Ifrit m1.8 - INFESTATION OF THE NANOBYTES(completed)
INFESTATION OF THE NANOBYTES
Ifrit m1.8 64-bit - 39th Amateur Series Division 6(completed)
39th Amateur Series Division 6
UCI движок Ifrit
В серии "с" используется 0х88 генератор ходов.
В серии "b" используется bitboard генератор ходов.
В серии "j" используется bitboard генератор ходов + объектно-ориентированное программирование (object-oriented programming).
(объектно-ориентированное программирование до версии j3 и начиная с версии j3.8)
В серии "m" используется magic-bitboards генератор ходов.
Типы игры:
При игре обычно использую 256 Мб хеш-таблицу.
1. Фиксированная глубина. (Fixed depth)
Возможность задавать фиксированную глубину поиска в полуходах.
2. Блиц партии.(Blitz game)
Тестируем с контролем 1 мин + 1 сек и 5 мин + 1 сек на партию.
3. Бесконечный анализ.(Infinite analysis)
Работа в режиме анализа позиции. Вы делаете ходы, а движок оценивает позицию.
Алгоритм:
1. MiniMax. Основной перебор оптимизирован альфа-бета отсечением. При правильной реализации он не вносит дополнительной погрешности.
2. Late move reductions.
3. Hash-table(хеш-таблица).
4. Mvv/lva(most valuable victim / least valuable aggressor). Сортировка взятий наиболее ценная жертва/наименее ценный агрессор.
5. Killer heuristic(эвристика убийцы). Это просто использование лучшего хода для данной глубины.
6. Quiescence search (форсированный перебор).
На максимальной глубине основного перебора мы продолжаем цепочку взятий, либо начинаем, если фигура под боем.
Взятия считаются до конца.
7. Extensions(продления).
В случае шахов глубина этой ветки увеличивается на полуход.
8. Null move(нулевой ход). Редукция 4.
9. Delta pruning используем в quiescence search.
10. Futility pruning.
11. Razoring.
12. History heuristic.
В графической оболочке Арена (автор
Martin Blume)
www.playwitharena.de
можно поиграть с Ифритом.
На данный момент разработка программы приостановлена.
Программу когда-то тестировали: Dragon777, Сергей Зеркалов, Anechka008.exe, GreKo.exe, Murka_2_w32.exe, fruit_21.exe.
Обратите внимание на исходники. Они хорошо прокомментированы. И те, кто хотят написать
шахматную программу, найдут в них пример реализации.
Я стремлюсь не только к эффективности,
но и к прозрачности кода. Пытаюсь сделать максимально понятные
и доступные исходники.
Дневник писал для себя, но так как он получился забавным,
то решил его выложить.
Оставляйте сообщения в гостевой и пишите по нижеуказанному
адресу.
E-mail:
Andchess2006@yandex.ru
|