6-7-фигурный эндшпильный генератор. 3-я версия

Discussion in 'Машинное отделение' started by Skipper_NORTON, 30 Oct 2010.

  1. Uralchess Учаcтник

    • Участник
    Member Since:
    04.11.2009
    Message Count:
    398
    Likes Received:
    5
    Репутация:
    0
    Оффлайн
    Это вообще не проблема. Есть крупные сайты типа ChessOK, ChessBase, Shredder, которые с большим удовольствием это захостят.
  2. TopicStarter Overlay

    Skipper_NORTON Старожил

    • Участник
    • Старожил
    Member Since:
    14.12.2007
    Message Count:
    515
    Likes Received:
    4
    Репутация:
    0
    Оффлайн
    С какой стати я должен выкладывать исходник генератора? Это моя интеллектуальная собственность, а вам все просто возьми - и просто отдай. Там десятки идей, оптимизаций, ухищрений, два года работы. Вы хотите, чтобы любой мог взять мой исходник, расковырять все идеи из него и написать свое, основанное на всем этом? А если вы не хотите ЭТО ДЕЛАТЬ, тогда зачем вам исходник? Есть генератор, можно создавать базы, можно обращаться к ним из шахматных программ, что еще нужно?

    Кроссплатформенный исходник обращения к базам могу сделать и выложить, чтобы под любой операционной системой можно было с ними работать. Но не ВСЕГО же генератора. А исходники крупных серьезных проектов вам никто просто так не отдаст. Я вот например, хочу чтобы мне кто-нибудь отдал исходник Рыбки. Или Фрица последнего :)
  3. TopicStarter Overlay

    Skipper_NORTON Старожил

    • Участник
    • Старожил
    Member Since:
    14.12.2007
    Message Count:
    515
    Likes Received:
    4
    Репутация:
    0
    Оффлайн
    Я уже писал, у меня половина 6-фигурных баз построено, моя программа моментально загружается, моментально к ним обращается. И памяти никогда много не ест. Специально так сделал, потому что читал, что многие жаловались, что если есть все 6-фигурные базы Налимова, или половина 6-фигурных, то шахматные программы долго грузятся.

    Впрочем, я выложил dll, если прикрутите ее к вашей программе, то можете сами оценить все.
  4. Kirr Администратор

    • Команда форума
    Member Since:
    11.02.2006
    Message Count:
    1.208
    Likes Received:
    22
    Репутация:
    8
    Оффлайн
    Интересно, у Налимова, вы видимо считаете, проект был несерьёзный? Исходник доступен. Много вы видели проектов, основанных на нём? Да, какие-то идеи из Налимова может кто-то где-то и использует, со ссылкой на первоисточник. Но конкурирующего формата, основанного на идеях из Налимова, не было, нет и не будет. Тем более если конкурент будет закрытым.

    Исходник нужен:

    1. Чтобы человек мог его собрать на своём железе, под свою операционку, пользуясь удобным ему компилятором и набором библиотек. У многих из тех, кто потенциально мог бы помочь, есть доступ к железу под линуксом или бсдями.

    2. Чтобы убедиться что в нём нет жучков. Многие просто не будут качать и запускать бинарник.

    3. Чтобы показать серьёзность своих намерений.

    Решение семифигурки требует немалых ресурсов, которые вы не против позаимствовать у сообщества шахматных любителей. А сообщество, по-вашему, должно оставаться зависимым от вас, например, в вопросе поддержки генератора. Допустим, после пары лет генерации в программе найдётся дефект, который вы, например, не сможете или не захотите исправлять. Открытость исходника - это гарантия того, что проект будет доведён до конца.

    Вы, наверное, были бы не против сгенерировать таблицы и потом их продавать? Тогда ищите инвестора. Непонятен смысл делать половину шага. Выкладывать бесплатно генератор, но не исходник. Если ставится цель сделать следующий стандартный формат таблиц, лет на десять-двадцать (каким сейчас до сих пор остаётся Налимов), то нужно идти весь путь до конца.

    Как вы могли заметить, в списке я также упомянул "Описать ключевые особенности и решения генератора." - это такой же важный компонент открытости, как и исходный код.

    Зачем нужна открытость. Допустим, вашу идею случайно найдёт кто-то другой, и опишет в статье. Всё, эта идея будет названа его именем. Потому что вы про неё умолчали. Я бы понял если бы вы пытались какую-то выгоду получить, как разработчики движков (упомянутых вами фрица и рыбки).

    К сожалению, не все это понимают. Буржуцкий и Коновал уже десять лет назад могли выпустить свой генератор в открытый доступ, и сейчас мы бы уже не помнили кто такой Налимов. Но они предпочли держать его закрытым, зачем - только им известно. Вы, видимо, планируете пойти по тому же пути.
  5. Kirr Администратор

    • Команда форума
    Member Since:
    11.02.2006
    Message Count:
    1.208
    Likes Received:
    22
    Репутация:
    8
    Оффлайн
    Добавлю, а то что-то вы напряглись. Во-первых, жаль что вы предпочитаете домысливать негатив о собеседнике. Во-вторых. Я лично был бы рад если бы кто-то наконец сделал нормальный формат и генератор шахматных таблиц окончаний, включая семифигурные (критерии я вкратце перечислил выше), так как тема сама по себе уже очень интересная. Если в течение какого-то времени такого формата создано не будет (ваш, пока что, к сожалению, не в счёт), то я, может быть, поработаю в этом направлении, если жизнь позволит (маловероятно, так как у меня куча других проектов в разных стадиях, но всё может быть). У меня тоже есть наработки, и чужой исходник мне здесь не к чему. Ковыряться в чужом исходнике, тем более в сложном, как генератор таблиц - это адский труд, без которого, к счастью обхожусь. Гораздо интереснее и плодотворнее работать над своими идеями. Особенно когда речь идёт о хобби.

    Я предпочёл бы, чтобы кто-то (например, вы) сделал человеческий открытый формат и генератор. Тогда я бы смог спокойно сосредоточить усилия на нерешённых задачах (которых полно), вместо создания толчеи вокруг семифигурки.
  6. TopicStarter Overlay

    Skipper_NORTON Старожил

    • Участник
    • Старожил
    Member Since:
    14.12.2007
    Message Count:
    515
    Likes Received:
    4
    Репутация:
    0
    Оффлайн
    Я и сам могу собрать, для линукса, если понадобится.

    Каких жучков? Отдай исходник, потому что у меня паранойя? А вот в софте который у вас на компе установлен на компьютере, нету жучков? Или тоже исходники для этого нужны?

    Никто не выкладывает исходники, только для того, чтобы показать серьезность намерений.

    Насчет дефектов. Можете не бояться, дефектов там нет. После года тестирования, я могу быть уверенным в этом.
  7. TopicStarter Overlay

    Skipper_NORTON Старожил

    • Участник
    • Старожил
    Member Since:
    14.12.2007
    Message Count:
    515
    Likes Received:
    4
    Репутация:
    0
    Оффлайн
    Насчет формата я не спорю. Я уже говорил, могу выложить исходники, позволяющие обращаться к эндшпильным базам.

    Может и DTZ сделал бы, но сейчас свободного времени немного...

    Никакого негатива я не домысливаю. Только позитив :)
  8. Uralchess Учаcтник

    • Участник
    Member Since:
    04.11.2009
    Message Count:
    398
    Likes Received:
    5
    Репутация:
    0
    Оффлайн
    Skipper_NORTON, зайдите в ЭТУ тему. Там вам предлагают кластер для генерации нескольких семифигурок.
  9. Kirr Администратор

    • Команда форума
    Member Since:
    11.02.2006
    Message Count:
    1.208
    Likes Received:
    22
    Репутация:
    8
    Оффлайн
    Эти сказки я слышал ещё во времена распостранения Налимовских шестифигурок. Звучало обычно так: "А в чём проблема? Гугл захостит - у них серверов много!" Причём, говорили обычно люди, имеющие такое же отношение к Гуглу, как вы к Chessbase. Дальше разговоров дело не заходило, и проект продолжался силами энтузиастов. Считаю, что надеяться не на кого, и что ключ к успешному распостранению таблиц - в хорошо организованном p2p решении.
  10. MS Михаил Семионенков

    • Команда форума
    Member Since:
    11.02.2006
    Message Count:
    6.542
    Likes Received:
    3.361
    Репутация:
    175
    Оффлайн
    Сказки? Очень интересный разоблачитель сказок. :)
    Типа, такого Вы не слыхали:

    http://www.k4it.de/index.php?topic=egtb&lang=en

    Thanks to Eugene Nalimov, Andrew Kadatch, Robert Hyatt, Kyrill Kryukov, Nelson Hernandez for generating, compressing, and publishing the databases and offering them for free
  11. Kirr Администратор

    • Команда форума
    Member Since:
    11.02.2006
    Message Count:
    1.208
    Likes Received:
    22
    Репутация:
    8
    Оффлайн
    А, ну это я уже что-то на распостранение таблиц переключился. Интерфейсы - да, есть. Также на сайтах Shredder и ChessOK. :)
  12. bankuss Александр

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    24.05.2006
    Message Count:
    1.084
    Likes Received:
    38
    Репутация:
    6
    Оффлайн
    да уж... пока кто-нибудь на раздаче не появится (или фтп сервер) интересу мало. качать легче чем генерировать :)
    ну а потом и в движки нужна поддержка. из последних таблиц активно только GTB и RTB развиваются.
    но есть недостатки - у гавиоты пока только 5-ти фигурки. а у айвенго упор на битбазы сделан, тоталбазы используются только в корне позиции, но зато есть возможность генерировать 6-ти фигурки.
    налимов - стандарт, но на него нужно разрешение.
  13. bankuss Александр

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    24.05.2006
    Message Count:
    1.084
    Likes Received:
    38
    Репутация:
    6
    Оффлайн
    CPU AMD Opteron X12 6174 2.2 ГГц (OS6174WKT) 6+12Мб/6400 МГц Socket G34 x 2 штуки
    ASUS KGPE-D16 (RTL) Dual Socket G34<SR5690>4PCI-E+SVGA+2xGbLAN+1394 SATA E-ATX 16DDR-III х 1 штука
    Original SAMSUNG DDR-III DIMM 8Gb <PC3-10600> ECC Registered+PLL x 4 штуки
    HDD 2 Tb SATA-II 300 Western Digital RE4-GP <WD2002FYPS> 64Mb х кол-во от баз зависит.

    остальное по вкусу...
    как быстро на таком генерация пойдет? :D
  14. TopicStarter Overlay

    Skipper_NORTON Старожил

    • Участник
    • Старожил
    Member Since:
    14.12.2007
    Message Count:
    515
    Likes Received:
    4
    Репутация:
    0
    Оффлайн
    4 штуки по 8 Gb? Т.е. всего 32 Gb памяти? Ну тогда все просто - можно поставить 4-5 винчестеров по 1 Tb, а лучше по 2 Tb, и запустить на одном сервере сразу 4-5 генераторов, на каждом винчестере по одному, и каждый - какую нибудь определенную базу пусть считает. Чтобы посчитать 7_KRPP-KRP, нужно сначала много младших беспешечных для него посчитать. Точнее - все беспешечные, с соотношением фигур 4-3, и где у обоих сторон будет по ладье (R должна присутствовать у обоих сторон). Когда будут все необходимые беспешечные, можно будет приступить к расчету пешечных 7-фигурных.

    Потребуются еще некоторые 6-фигурные, но они считаются в 50 раз быстрее чем 7-фигурные, поэтому если посчитать еще и их - ненамного дольше будет. вот пример. 7_KRNN-KRN - один из младших беспешечных, который нужен будет для 7_KRPP-KRP. Какие младшие 6-фигурные нужны для 7_KRNN-KRN ? Это все типы, которые получаются после взятия фигуры. Т.е. будущее для 7_KRNN-KRN -
    это 6_KRN-KNN (взята ладья), 6_KRN-KRN (взят конь), 6_KRNN-KN (взята ладья другой стороны), 6_KRNN-KR (взят конь).

    Для этих 6-фигурных понадобятся младшие 5-фигурные, но они настолько быстро считаются, что тут не надо вникать в подробности - просто выделите их все и посчитайте за несколько дней. Потом, как выше было сказано, посчитаете 6-фигурные без пешек (можно тоже не вникать в подробности, а просто выделить все 6-фигурные без пешек и с ладьей (хотя бы одна R присутствует) - и посчитать их за месяц-два, т.к. хотя конкретно для 7_KRNN-KRN нужно только четыре 6-фигурных, которые привел выше, но если строить много 7-фигурных, то рано или поздно все 6-фигурные беспешечные, с ладьей, понадобятся).

    Построенные базы переносите на отдельный винчестер, чтобы винчестеры, на которых идет генерация, были свободны, записываете директории в "Bases\DirectoriesForEG.td" относительно генераторов (exe-файлов), и все - можно строить все подряд 7-фигурные, без пешек и с ладьей у обоих сторон. Они все понадобятся потом для пешечных, и в частности, для 7_KRPP-KRP.

    На одном сервере быстро вы посчитаете только 5-фигурные и нужные 6-фигурные. А 7-фигурные долго будут считаться. Вот приведенный выше 7_KRNN-KRN, я не знаю за какое время будет посчитан. Это может быть и 2 месяца. Зависит от того, сколько там итераций окажется. Может, там есть позиции, которые выигрываются за 600 ходов? Если бы было много таких серверов, тогда все было бы быстро - параллельно запустили все что нужно, и получили все беспешечные. Скажем, есть 20 серверов, по 5 винчестеров на каждом, и может сразу 100 генераторов параллельно работать. Значит, все будет посчитано в конечном итоге, в 100 раз быстрее, чем в случае, если запустить один генератор на одном винчестере, и последовательно все считать.
  15. bankuss Александр

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    24.05.2006
    Message Count:
    1.084
    Likes Received:
    38
    Репутация:
    6
    Оффлайн
    осталось найти инвестора :D
  16. TopicStarter Overlay

    Skipper_NORTON Старожил

    • Участник
    • Старожил
    Member Since:
    14.12.2007
    Message Count:
    515
    Likes Received:
    4
    Репутация:
    0
    Оффлайн
    Да, 20 мощных серверов не каждый может себе позволить. Вот какая нибудь компьютерная фирма могла бы собрать это все, и посчитать все эти 7-фигурки.
  17. TopicStarter Overlay

    Skipper_NORTON Старожил

    • Участник
    • Старожил
    Member Since:
    14.12.2007
    Message Count:
    515
    Likes Received:
    4
    Репутация:
    0
    Оффлайн
    Пришли идеи, как сократить количество оперативной памяти еще в полтора раза (т.е. более 8 ГБ не будет использоваться при генерации любого 7-фигурного типа, а для многих - нужно будет 4 ГБ). А также, время генерации сократится тоже примерно в полтора раза. Т.е. эволюция моего проекта продолжается, думаю после тестирования, через несколько месяцев, выложу в интернете новую, 4-ю версию генератора.

    (Формат баз, понятное дело, не меняется, и построенные базы 3-й версией такие же как и будут построенные - 4-й версией.)

    Изначально все эти идеи просто не могут прийти! хорошие идеи приходят медленно, и после глубокого осмысления того, с чем работаешь. если программирование и работа над очень сложным проектом. У меня уже за эти годы набралось около 20-ти идей, усовершенствований алгоритмов.
  18. bankuss Александр

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    24.05.2006
    Message Count:
    1.084
    Likes Received:
    38
    Репутация:
    6
    Оффлайн
    ну как новая версия? :) работает?
  19. TopicStarter Overlay

    Skipper_NORTON Старожил

    • Участник
    • Старожил
    Member Since:
    14.12.2007
    Message Count:
    515
    Likes Received:
    4
    Репутация:
    0
    Оффлайн
    Да, все отлично работает. По скорости быстрее раза в полтора, и памяти ест меньше. Теперь ей для генерации любой 7-фигурной базы не потребуется более 8 ГБ оперативной памяти (максимум для предыдущей версии был 14 ГБ).

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

    Но займусь как-нибудь.
  20. dan77790 Учаcтник

    • Участник
    Member Since:
    06.03.2008
    Message Count:
    3.792
    Likes Received:
    17
    Репутация:
    0
    Оффлайн
  21. bankuss Александр

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    24.05.2006
    Message Count:
    1.084
    Likes Received:
    38
    Репутация:
    6
    Оффлайн
    выкладывай, посмотрим :)
  22. Greedy Учаcтник

    • Участник
    Member Since:
    22.01.2010
    Message Count:
    448
    Likes Received:
    12
    Репутация:
    0
    Оффлайн
    Немного не по теме, но с таблицами Налимова и ChessBase заметил вот такую фичу.

    Если в ChessBase (у меня 10-я версия) прописать в настройках путь к таблицам Налимова и поставить галочку "загружать при запуске программы", то все движки: Stockfish, Houdini, IvanHoe, Rybka, Fire - все начинают их использовать.

    Заметил сегодня, устанавливая шахматные программы на ноутбук.
    Может это уже давно известная фича и не только CB, но и других оболочек. Не знаю.
  23. bankuss Александр

    • Заслуженный
    • Участник
    • Старожил
    Member Since:
    24.05.2006
    Message Count:
    1.084
    Likes Received:
    38
    Репутация:
    6
    Оффлайн
    это не движки используют, а оболочка сама ходит, вместо движка. (по таблицам).
    давно известный факт.

    кстати рыбка и так поддерживает налимова.
  24. TopicStarter Overlay

    Skipper_NORTON Старожил

    • Участник
    • Старожил
    Member Since:
    14.12.2007
    Message Count:
    515
    Likes Received:
    4
    Репутация:
    0
    Оффлайн
    Попозже чуть... :) Думаю в ближайшие недели кое что дописать, чтобы быстрее работало. Не хочу слишком много версий программы плодить в интернете, и так уже 4-я будет.

Share This Page