Navigation » Immortal Chess - Chess without Frontiers! > Шахматный раздел > Шахматное программирование » Вопросы к шахматным программистам

Шахматное программирование Chess Programming. Вы уже написали свою шахматную программу? Или только-только приступили к её разработке? Добро пожаловать в данный раздел! Делимся советами, помогаем новичкам в шахматном программировании

Ответ
Опции темы
Непрочитано 20.04.2017, 09:19   #1661
Kvetka
 
Регистрация: 20.03.2010
Адрес: Минск
Сообщений: 95
Сказал(а) спасибо: 8
Поблагодарили 558 раз(а) в 84 сообщениях
Страна:

Награды пользователя:

По умолчанию Re: Вопросы к шахматным программистам

Цитата:
Сообщение от Remes_ Посмотреть сообщение
Спасибо, доброволец уже есть, он пытается сделать разбиение двухсот миллионов
Двести миллионов - это много. Не каждая файловая система выдержит PGN файл такого размера. Вот пара нюансов, с которыми человек может столкнуться, особенно если он раньше не работал с базами партий:
  • Проще всего, когда номера ECO уже прописаны в соответствующих тегах. Тогда можно просто растасовать все партии по файлам в соответствии с ними и всё. Сейчас многие публикуют партии вместе с тегами ECO, но не все. В большой базе процент партий без тега ECO может оказаться существенным.
  • Если тега нет, придётся вычислять его самому. Для этого понадобится pgn файл с перечислениями всех начал из ECO. Что-нибудь вроде eco.pgn, легко находится в интернете. Простой способ: сравнивать первые ходы из eco.pgn и в партии. Где больше совпало, такой и дебют. Работает быстро, но неаккуратно. Дело в том, что до одной и той же позиции часто можно прийти разными путями. Файл eco.pgn обычно этот нюанс не отражает. Лучше сравнивать получаемые позиции, а не ходы.
  • В больших коллекциях партий, особенно собранных из разных источников, актуальна проблема нахождения и вычищения дублей. С такой гигантской базой я бы, наверное, сначала растасовал партии по файлам, а потом уже в каждом файле искал дубли. Устанавливать две партии дублями, если совпали иимена игроков, время партии и название турнира, ненадёжно. В разных источниках игроков или турнир могли назвать по-разному. Сравнивать нотации ходов немного надёжнее, но тоже не очень, так как могут быть по-разному расставлены пробелы, переносы строк или какие-нибудь метки. Лучше всего сравнивать списки фактически сделанных ходов.
  • Сейчас это уже не так актуально, но всё же может быть полезным проверять партии на корректность. Например, в базах chess-db.com иногда попадаются партии из шахмат Фишера без начальной позиции. Проверка корректности партии обычно на порядок замедляет её считывание. Так что есть смысл крепко подумать: нужно оно или нет. И, кстати, возможно, есть смысл проверять наличие тегов SetUp и FEN, чтобы понять: начинается ли партия с начальной позиции.
Kvetka вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
nemalp (20.04.2017)
Непрочитано 20.04.2017, 10:07   #1662
Kvetka
 
Регистрация: 20.03.2010
Адрес: Минск
Сообщений: 95
Сказал(а) спасибо: 8
Поблагодарили 558 раз(а) в 84 сообщениях
Страна:

Награды пользователя:

По умолчанию Re: Вопросы к шахматным программистам

Цитата:
Сообщение от Remes_ Посмотреть сообщение
Спасибо, доброволец уже есть, он пытается сделать разбиение двухсот миллионов У меня к Вам другой вопрос. Вот если будет pgn файл с одним дебютом, тысяч 50 партий, как можно кветку использовать для изучения и знакомства с вариантами?
Можно для такого файла построить дерево ходов (делается с помощью создания дебютной книги, подробнее - здесь). Дальше я бы брал какую-нибудь хорошую книгу по тому или иному дебюту с человеческими описаниями. Делал бы в Кветке из неё ходы, смотрел бы, как их оценивает движок. А с помощью дерева ходов смотрел бы, какие партии игрались с такой позицией, какие дальнейшие продолжения выбирали шахматисты. Можно будет открыть какую-нибудь конкретную партию с заданной позицией и поизучать именно её.
Kvetka вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
nemalp (20.04.2017), Remes_ (20.04.2017), voronn09 (20.04.2017)
Непрочитано 21.04.2017, 15:06   #1663
Remes_
 
Регистрация: 05.02.2011
Сообщений: 479
Сказал(а) спасибо: 40
Поблагодарили 1,061 раз(а) в 367 сообщениях
Страна:
По умолчанию Re: Вопросы к шахматным программистам

Ни кто не занимался захватом диаграмм со сканированных книг?
Дело в том, что существует очень много задачников разных, и на тактику, и на этюды, и всё это в сканированном ч\б виде. Хотелось бы такую штуку, которая сможет диаграммы в fen переводить. Несколько программ встречал, даже на андроидах которые с вебкамеры работают, но результаты не очень.
Пытался "на коленке" свою сделать. Подвожу мышку под диаграмму, нажимаю Ctrl, определяется граница диаграммы, размеры, ожидаемые размеры и положение клеток, и не смог реализовать распознавание Причём распознание можно было бы сделать простое по шаблонам. Нарисовать фигуры в svg или png какие часто в книгах встречаются, и сравнивать после масштабирования с каждой клеткой.
Ни кто похожим не занимается? Кому интересно посмотреть что я натворил, пишите в личку, но предупреждаю что код ужасный.

Последний раз редактировалось Remes_; 21.04.2017 в 15:49.
Remes_ вне форума   Ответить с цитированием
Непрочитано 25.04.2017, 01:39   #1664
Rimidalv
 
Регистрация: 28.04.2010
Сообщений: 49
Сказал(а) спасибо: 13
Поблагодарили 52 раз(а) в 34 сообщениях
Страна:
По умолчанию Re: Вопросы к шахматным программистам

Цитата:
Сообщение от Инопланетянен Посмотреть сообщение
Всем спасибо нашёл я человека на другом форуме который сделал всё как я хотел за 500 руб.
В Arena:
Menu->Engines->Manage->Закладка UCI->Common Max CPU cores setting
И ничего в коде менять не надо.
Rimidalv вне форума   Ответить с цитированием
Непрочитано 26.04.2017, 11:13   #1665
PozitiFF_Chess
Главный администратор
 
Аватар для PozitiFF_Chess
 
Регистрация: 14.03.2010
Сообщений: 8,493
Сказал(а) спасибо: 3,121
Поблагодарили 21,815 раз(а) в 7,688 сообщениях
Страна:

Награды пользователя:

По умолчанию Re: Вопросы к шахматным программистам

Цитата:
Сообщение от Remes_ Посмотреть сообщение
Хотелось бы такую штуку, которая сможет диаграммы в fen переводить
К автору internetchesskiller можно обратиться ) Потому что он сделал именно это. Правда, направил это в читерское русло зачем-то.
PozitiFF_Chess вне форума   Ответить с цитированием
Ответ

Социальные закладки


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
шахматное программирование Vladimir50 Шахматное программирование 8 07.01.2014 19:09
Память VS Программа Overman Флейм 5 18.06.2010 19:53