Где протестировать свою шахматную программу?

Тема в разделе "Машинное отделение", создана пользователем KM2200, 26 авг 2016.

  1. TopicStarter Overlay

    KM2200 Учаcтник

    • Участник
    Рег.:
    28.03.2011
    Сообщения:
    269
    Симпатии:
    23
    Репутация:
    2
    Оффлайн
    Да уж, 68... Rg5?? это тяжелый случай. Придётся видимо вмонтировать в мою программу некоторые законы пешечного эндшпиля (хотя так делать я не люблю). А вообще хорошая партия. То что ваша программа не поставила мат ферзем это конечно ерунда, исправите. Ясно же, если она видит мат в 9 ходов, то на следующем ходу будет 8 и т.д.
    Я сейчас готовлю новую версию, несколько усиленную. К сожалению без рокировок пока.

    Еще я свою программу откомпилировал под Windows, но она там почему-то стала гораздо медленнее.
    Вы чем под Windows компилируете?
  2. sovaz1997 Новичок

    • Новичок
    Рег.:
    30.08.2016
    Сообщения:
    46
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    После добавления эвристики нулевого хода моя программа не увидела мат. Я временно отключил эту эвристику - она пока, к сожалению, не дала большого преимущества. Но сегодня эта эвристика, наконец, не ухудшила силу игры, а даже улучшила. Но ваша пока чаще выигрывает.

    P.S. для компиляции в Windows использую тот же gcc (mingw 64 в Windows) - https://sourceforge.net/projects/mingw-w64/ . Вы же с -O3 компилируете, надеюсь?
  3. TopicStarter Overlay

    KM2200 Учаcтник

    • Участник
    Рег.:
    28.03.2011
    Сообщения:
    269
    Симпатии:
    23
    Репутация:
    2
    Оффлайн
    Да, я тоже взял mingw-w64. C -O3, естественно. Windows у меня на ноутбуке, там 1.3 Ггц против 3.0 на компе, но программа работает аж в 4 раза медленнее.

    Насчёт мата я что-то не понял. Если программа видит мат, она должна его поставить (ну разве только глубина катастрофически упадет). Ваша сначала видела (87. Qd2+ +M9/8 3.3s), а потом почему-то нет (88. Qc3++11.00/10 4.0s).
  4. sovaz1997 Новичок

    • Новичок
    Рег.:
    30.08.2016
    Сообщения:
    46
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    У меня была эвристика нулевого хода: https://ru.wikipedia.org/wiki/Эвристика_нулевого_хода - из-за этого проблемы. Эту штуку надо уметь настраивать. Нулевой ход используется почти во всех современных шахматных программах. К сожалению, эвристика не идеальная (это, все же, не полный alpha-beta перебор), но при правильной реализации дает очень сильный прирост к силе игры.
  5. TopicStarter Overlay

    KM2200 Учаcтник

    • Участник
    Рег.:
    28.03.2011
    Сообщения:
    269
    Симпатии:
    23
    Репутация:
    2
    Оффлайн
    Ну тогда настраивайте. Удачи.

    А насчёт Windows я протупил, у меня же и Linux есть на том же ноутбуке, сейчас запустил под Linux, то же самое. Видно всё дело в том, что Intel >> AMD :)
  6. TopicStarter Overlay

    KM2200 Учаcтник

    • Участник
    Рег.:
    28.03.2011
    Сообщения:
    269
    Симпатии:
    23
    Репутация:
    2
    Оффлайн
    Выкладываю обновлённую версию своей программы. Теперь она Rg5?? не пойдет ;)
    Там два файла, один для Linux, другой для Windows.

    Вложения:

    • tigrament.zip
      Размер файла:
      699,4 КБ
      Просмотров:
      7
  7. sovaz1997 Новичок

    • Новичок
    Рег.:
    30.08.2016
    Сообщения:
    46
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    KM2200, здравствуйте! А вы планируете добавлять рокировку в свой движок? Было бы интересно провести матч между движками (с дебютной книгой) ;). Я могу немного рассказать о своей реализации рокировки (я там придумал, как удобно хранить возможность рокировки)
  8. TopicStarter Overlay

    KM2200 Учаcтник

    • Участник
    Рег.:
    28.03.2011
    Сообщения:
    269
    Симпатии:
    23
    Репутация:
    2
    Оффлайн
    Да, конечно планирую. Я сейчас просто этим не занимаюсь, много других дел, может ближе к Новому Году сделаю.
  9. sovaz1997 Новичок

    • Новичок
    Рег.:
    30.08.2016
    Сообщения:
    46
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Понял. Хорошо)
  10. sovaz1997 Новичок

    • Новичок
    Рег.:
    30.08.2016
    Сообщения:
    46
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Забавная партийца получилась (Последняя версия Zevra против стабильной). Белые провели в конце партии зачем-то пешку в коня (т. к. все равно был бы размен). У белых на доске 3 коня и пешка, черные успевают провести свою пешку в ферзи, но белые следующим ходом ставят мат пешкой и 3 конями)))

  11. vasa Опытный перворазрядник

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    23.252
    Симпатии:
    4.551
    Репутация:
    224
    Адрес:
    Ростов-на-Дону
    Оффлайн
    zevra - эстет )))
  12. Valen548 Новичок

    • Новичок
    Рег.:
    09.10.2016
    Сообщения:
    38
    Симпатии:
    2
    Репутация:
    1
    Оффлайн
    Если вы запрограммировали в соответствии с протоколом UCI (http://wbec-ridderkerk.nl/html/UCIProtocol.html) то должно работать во Фрице, Арене, Винборде и других прогах.
    Вы с нуля программировали?
  13. sovaz1997 Новичок

    • Новичок
    Рег.:
    30.08.2016
    Сообщения:
    46
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Да, все с нуля. Уже год пишу)). Несколько раз переписывал, последний раз переписывал в Августе и с тех пор развиваю. Да, поддерживает UCI и работает во Fritz, Arena, Cutechess и других. Поддерживает все режимы (турнирный, фиксированное время/фиксированная глубина). Рейтинг - где-то уровень 1-го разряда. Сейчас на CCRL лежит старая версия, новая по моим оценкам прибавила 100-150 пунктов ЭЛО: http://www.computerchess.org.uk/ccrl/404/ . Также, программа лежит на sdchess.ru . Тестировал perft во многих тестовых позициях. Ошибок генератора ходов нет, сейчас работает очень стабильно :).

    Здесь можно скачать последние версии: https://github.com/sovaz1997/Zevra/releases

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