Наш новый движок Strelka!!!

Тема в разделе "Машинное отделение", создана пользователем SDChess, 5 май 2007.

  1. krey Михаил Кройтор

    • Команда форума
    Рег.:
    10.04.2006
    Сообщения:
    3.709
    Симпатии:
    50
    Репутация:
    1
    Адрес:
    Кишинев
    Оффлайн
    я знаю ближайшего родственника гидры - apilchess. сама по себе программа на одном процессоре играет... ммм... не скажу как. так что сила гидры (как и заппы) в числе голов.
  2. syrdon Учаcтник

    • Участник
    Рег.:
    21.05.2007
    Сообщения:
    78
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Для жизни достойной. У Рыбки, вроде, 4. Хотя может это Рыбак так над народом издевался.

    Умные люди (см. Рыбкин) и сам Рыбак говорили, что Рыбка в целом следует фруктовой идеологии. Маленькая ОФ, упор на подвижность, описанные Рыбкиным таблицы с корректурами материала (Фрукт для этого отдельный хэш юзал), плавный переход в эндшпиль, существенное различие в поведении на PV, узлах с верхним и нижним отсечением, два значения в хэш-таблице и большие с... простите заговорился.
  3. Fruit Александр

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    2.201
    Симпатии:
    64
    Репутация:
    3
    Оффлайн
    syrdon, начали заговариваться, заговаривайтесь до конца. :)
  4. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Я думаю, что про киллеров это шутка была. ;)

    А вот то, что ты написал дальше и есть Стрелка. Кто же ты такой syrdon? :rolleyes:

    Я тут начал разбираться в переборных алгоритмах Стрелки. И хоть видна фруктовая основа, но все переделано. Даже те, немногочисленные строчки, которые остались от Фрукта переписаны по другому. Т.е. можно считать, что Стрелка не клон Фрукта!
    Но вот как быть с Рыбкой я не знаю. :/ Тут без syrdon-а не разберешься. А он работает тока за выпивку. :D

    Кстати, нашел вроде глюк в коде Стрелки. Сейчас буду проверять так ли это. :)
  5. Chemer Максим

    • Участник
    Рег.:
    14.09.2006
    Сообщения:
    1.674
    Симпатии:
    13
    Репутация:
    0
    Адрес:
    Запорожье
    Оффлайн
    Непойму, что за прикол копаться в исходнике чюжой проги? А потом обижаются, что их клонерами называют. :( Неужели от этого самооценка возростает?
  6. krey Михаил Кройтор

    • Команда форума
    Рег.:
    10.04.2006
    Сообщения:
    3.709
    Симпатии:
    50
    Репутация:
    1
    Адрес:
    Кишинев
    Оффлайн
    нет, от этого образованнее становишься.
    не пойму, в чем прикол учиться? Зачем уметь считать и писать? что, от этого самооценка возрастает?
  7. ChessTerminator75 Андрей

    • Участник
    Рег.:
    22.05.2007
    Сообщения:
    121
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Челябинск
    Оффлайн
    WildCat
    как по твоему
    код стрелки писал профессионал?
    Мне интересно твое мнение о стиле программирования автора стрелки :)
    К стати код какой проги по твоему написан грамотнее всего?

    P.S. Лично мне больше всего нравиться фрукт :)
  8. Chemer Максим

    • Участник
    Рег.:
    14.09.2006
    Сообщения:
    1.674
    Симпатии:
    13
    Репутация:
    0
    Адрес:
    Запорожье
    Оффлайн
    Я имел в виду в коде потенциального конкурента.
  9. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    ChessTerminator75
    Стрелку писал программист-профессионал. Стиль программирования достаточно хороший. Единственное, что раздражает - это вместо использования inline-функций непосредственно пишется код, что несколько затрудняет чтение. Да комментарии не очень (но у кого они хорошие?). А в остальном все прекрасно.
    Я видел такие исходники: WildCat, TSCP, ExChess, Crafty, Fruit, Strelka. Из них, конечно, Фрукт со Стрелкой лучше всего.
  10. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Греку забыл...
  11. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Я Греку одним глазом смотрел. Уже ничего не помню. :)

    Сегодня Осипов прислал письмо, в котором заявил, что не видит никакой нужды в сокрытии идей, на которых построена Стрелка. И вообще он за свободный обмен идеями и исходниками.
    Так что можете задавать любые нескромные вопросы. Будем препарировать Стрелку :)
  12. Orlov Учаcтник

    • Участник
    Рег.:
    27.02.2007
    Сообщения:
    177
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Как перебор организован? В двух словах.
  13. syrdon Учаcтник

    • Участник
    Рег.:
    21.05.2007
    Сообщения:
    78
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Не проще ли тогда открыть исходники? :p

    Нескромные вопросы:
    Какие критерии у LateMoveReduction? По истории или по статической оценке?
    Все ли узлы оцениваются или только в форс-варианте?
    В чём различие между узлами с прогнозируемым верхним и нижним отсечением? (У Фрукта не было, как все помнят, но на всякий случай он имел 3 флага для узлов.)
  14. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Суть в том, что при обсуждении лучше понимаешь.
    Все.
    - глубина >= 3
    - только если ход тихий
    - и не входит в 3 лучших по сортировке
    если LMR дает оценку выше беты, то производится поиск на нормальную глубину.
    Вот и весь LMR.

    На остальные вопросы пока ответить не могу. :)
  15. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    В двух словах о переборе. Он состоит из пяти функций:
    - не PV-узлы не под шахом
    - не PV-узлы под шахом
    - PV-узлы
    - обычный ФВ. Здесь рассматриваются взятия и шахи, хорошие по SEE. Вроде как внутри ФВ рассматриваются до 3 шахов подряд.
    - ФВ, когда мы под шахом
  16. syrdon Учаcтник

    • Участник
    Рег.:
    21.05.2007
    Сообщения:
    78
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Так жестоко? Только первые 3 хода без редукции?
  17. syrdon Учаcтник

    • Участник
    Рег.:
    21.05.2007
    Сообщения:
    78
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Т.е. плохие шахи в ФВ отнимают больше кредита-глубины, хорошие - меньше?
  18. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    То есть в Стрелке по SEE ранжируются не только взятия, а все ходы?
  19. syrdon Учаcтник

    • Участник
    Рег.:
    21.05.2007
    Сообщения:
    78
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Наверное, имеются в виду шахи.
    Плохие по SEE отсекаются.
  20. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Ничего они ни у кого не отнимают. Плохие не рассмартиваются совсем.
    Это откуда такое следует? По SEE ранжируются взятия. Как обычные ходы ранжируются я даже не смотрел.
  21. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Из оценки шахов по SEE.
    Причем не совсем понятно - Дали шах ладьей, её съели слоном (плохой шах по SEE) слона съели ферзем - мат. Такое в ФВ не увидит? Или для шахов "другой SEE"?
  22. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Такое ФВ не должен смотреть. И шахи оцениваются по SEE только в ФВ.

    Вот фишки используемые в функции поиска в не PV-узлах:

    - контроль повторения позиции
    - таблица перестановок
    - отсечения на малой глубине
    - пустой ход
    - IID
    - LMR
    - fail-soft
  23. syrdon Учаcтник

    • Участник
    Рег.:
    21.05.2007
    Сообщения:
    78
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Ясно.
    Спасибо.
  24. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Что такое fail-soft?
  25. syrdon Учаcтник

    • Участник
    Рег.:
    21.05.2007
    Сообщения:
    78
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Вернуть не alfa, а лучшее значение при нижнем-упадении.
  26. Осипов Юрий Учаcтник

    • Участник
    Рег.:
    18.06.2007
    Сообщения:
    399
    Симпатии:
    475
    Репутация:
    11
    Адрес:
    Правда
    Оффлайн
    Хочу напомнить слова Сергея Маркова (пост № 593):

    "Знаете, на самом деле обнародование исходников "Стрелки" никому особо не поможет. Ну есть вот Тога, например. Она играет примерно как "Стрелка". Или Scorpio, например. Все эти движки "простые как сапог". В них очень хорошо подобраны веса в очень простых оценочных функциях. Они очень хорошо отлажены. Я вот почитал исходники "Стрелки", что я вам могу сказать... Поможет это мне в разработке? Я бы сказал, что поможет разве что чисто психологически."

    Истинная правда!
  27. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Психология в нашем деле - самое важное. :)
  28. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    С целью?
  29. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    С целью потом захешировать опровержение и получить больше отсечек по значению из Хеша.
  30. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Функция поиска в не PV-узлах под шахом:

    - контроль повторения позиции
    - таблица перестановок
    - fail-soft

    Ради чего было это все выносить в отдельную функцию я не понял. :)
  31. Orlov Учаcтник

    • Участник
    Рег.:
    27.02.2007
    Сообщения:
    177
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    А стоимость фигур чему равна?
  32. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Функция поиска в PV-узлах:

    - контроль повторения позиции
    - из таблицы перестановок берется только лучший ход (нет отсечений)
    - IID с глубиной depth-1
    - какое-то непонятное продление :)
    - продление угрозы превращения
    - продление шаха (максимум может сработать только одно из продлений)
    - fail-soft

    Кстати, в не PV-узлах тоже есть продление шахов и глубина IID - "depth-2".
  33. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Есть такие генераторы:

    генератор защит от шаха
    генератор взятий
    генератор обычных ходов
    генератор шахов
    инкрементальный генератор ходов:
    - ход из таблицы перестановок
    - хорошие по SEE взятия (генерируются все, но плохие рассматриваются позже)
    - два киллера
    - обычные ходы
    - плохие по SEE взятия

    Про ОФ я предлагаю поговорить в отдельном топике.
  34. syrdon Учаcтник

    • Участник
    Рег.:
    21.05.2007
    Сообщения:
    78
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    LTR нежнее, NullMove-а нет и т.д. Ну и if-ы стрипаются. Экономятся лишние проверки. Хорошая идея в целом.
  35. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    До ФВ эти лишние проверки на скорости никак не сказываются. Тем более что в PV узлах сидим очень мало (очень редко).
    Может сам PV передается в качестве параметра в PVSearch()?

Поделиться этой страницей