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

Тема в разделе "Машинное отделение", создана пользователем Skipper_NORTON, 14 янв 2009.

Статус темы:
Закрыта.
  1. bankuss
    Оффлайн

    bankuss Александр баннер

    Репутация:
    6
    какие-нибудь подвижки есть?
     
  2. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    3-я версия генератора готова с лета 2009, т.е. уже полгода назад. Для генерации любой базы с 7-ю фигурами нужно будет от 4 ГБ оперативной памяти если нет пешек, и до 10-11 ГБ если с пешками. По времени - много, несколько месяцев на каждый тип окончания. Могу и сейчас закачать в инет, но по некоторым причинам сделаю это примерно в апреле 2010. В частности - хочу сначала добить все свои тесты, хотя и не сомневаюсь что все пройдет точно. Полгода программа проходит тесты и не выдала ни разу ни малейшей ошибочки.

    Я у себя на одном домашнем компьютере уже 120 типов 6-фигурных эндшпильных баз построил :) и несколько 7-фигурных.
     
  3. bankuss
    Оффлайн

    bankuss Александр баннер

    Репутация:
    6
    Skipper_NORTON хотелось бы попробовать новый :)
     
  4. bankuss
    Оффлайн

    bankuss Александр баннер

    Репутация:
    6
    Skipper_NORTON хотелось бы попробовать новый :)
     
  5. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    Быстрее чем 1-й генератор раза в 2. Медленнее чем 2-й раза в полтора. Но это стоит того - ведь оперативной памяти 3-й стал использовать НАМНОГО меньше. А по памяти была бы основная стоимость. Иначе у 2-го памяти не хватило бы, был бы жуткий своп и он стал бы в 10 раз медленнее чем нынешняя 3-я версия. Такой вот расклад.

    Места на винчестере используется примерно столько же, ведь даже если места на винчестере не хватит, то можно штук 5 винчестеров объединить в RAID. Так что, это хоть и дорого, но такой комп, который мог бы строить 7-фигурные - собрать вполне реально. Чтобы построить ВСЕ 7-фигурные за несколько лет нужно конечно, много компов, несколько десятков, или даже сотню. Так что я один не построю года до 2030-го, пока компы быстрые не появятся. сейчас может построить только богатый спонсор. :)
     
  6. bankuss
    Оффлайн

    bankuss Александр баннер

    Репутация:
    6
    все 7-ки не нужны, но основные, часто встречающиеся можно было бы попробовать.
     
  7. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    Да, вот особенно 7_KRPP-KRP и 7_KBPP-KBP очень хотелось бы. Т.е. ладья и 2 пешки против ладьи и 1 пешки. Также слон и 2 пешки против слона и 1 пешки.
     
  8. bankuss
    Оффлайн

    bankuss Александр баннер

    Репутация:
    6
    Skipper_NORTON а уже сгенерированные организовать как ФТП :) чтобы с нуля не генерить - скачать проще.
     
  9. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    А если не практический интерес в партиях, а просто - чисто свой то мне еще очень интересны KBPP-KRP, и KBBP-KRP, то есть слон и 2 пешки против ладьи и 1 пешки. А также два слона против ладьи и по одной пешке у каждой стороны.
     
  10. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    Ну на ФТП конечно можно организовать. За траффик провайдеру прибыль :) А еще дать dll для доступа к базам производителям других движков. Пока нет баз - толку никакого. Если бы были базы - дело пошло бы быстрее.
     
  11. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    Я походу еще и движок сам сделал. Играет конечно не в силу гроссмейстера, но вроде, неплохо. :) хотя на этом я не специализировался, попрограммировал несколько недель и все. Просто интересно было попробовать, а доводить силу игры до уровня мастера желания уже нету. Вымотался я уже от шахматного программирования.

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

    vasa Опытный перворазрядник Команда форума Команда форума

    Репутация:
    583
    Skipper_NORTON, заказы на семифигурные позиции принимаете? :)
     
  13. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    vasa

    Я сам хочу у кого-нибудь заказать :) Мой комп дома хоть и хороший, но если стану генерить 7-фигурку - долго ждать будете.
     
  14. vasa
    Онлайн

    vasa Опытный перворазрядник Команда форума Команда форума

    Репутация:
    583
    А если конкретную "позу" считануть? :)
     
  15. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    конкретную "позу" - абсолютно неэффективно. По времени займет ненамного меньше чем строить всю базу сразу со всеми возможными позициями. (хотя если там быстрый мат то можно и быстро посчитать). А польза от последнего случая намного больше. Когда построена база вы сможете всегда найти в ней оценку для любой позиции с такими фигурами.

    Все просто - если в вашей "позе" мат в 50 ходов, то нужно посчитать всё будущее данной позиции. Оно цепляет скажем, половину позиций всей базы т.е. половину всех возможных позиций с данным соотношением фигур. Эти все позиции нужно будет посчитать. Тогда какой смысл ради вашей одной "позы" считать пол-базы? Проще один раз и навсегда посчитать всю базу целиком и быть уверенным что если встретится ЛЮБАЯ позиция с данным соотношением фигур - мы моментально получим точную оценку.
     
  16. WildCat
    Оффлайн

    WildCat Коршунов Игорь Команда форума

    Репутация:
    0
    И 6-фигурных пока тоже нет?
     
  17. vasa
    Онлайн

    vasa Опытный перворазрядник Команда форума Команда форума

    Репутация:
    583
    Ех, жалко. А то вот уже возник вопросец: ничья или нет в партии Домингес-Ананд ;)
     
  18. bankuss
    Оффлайн

    bankuss Александр баннер

    Репутация:
    6
    64-битная DLL есть ?
     
  19. dan77790
    Оффлайн

    dan77790 Учаcтник

    Репутация:
    0
    А программа Freezer, которую продают на сайте Шреддера - это не тот же самый генератор, но вид сбоку?)
     
  20. bankuss
    Оффлайн

    bankuss Александр баннер

    Репутация:
    6
    dan77790 нет, та программа по другому принципу работает.
     
  21. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    я думаю, программа Freezer, которую продают на сайте Шреддера — если я задам на анализ 7-фигурную позицию и там фигуры свободно могут перемещаться на доске, с матом в 50 ходов — ничего разумного за приемлемое время не посчитает.


    Ну я для себя уже посчитал около 120 штук. Всего 6-фигурных 365 штук.

    А зачем 64-битная DLL? 32-битная точно так же хорошо обращается к базам, а если сделать 64-битную то ее не смогут юзать люди со старыми 32-битными операционными системами. Но могу и 64-битную сделать если кому-то нужно. Проще пареной репы - всего-то перекомпилировать готовый проект на x64.

    bankuss, вы 32-битную с моей старой версии пробовали использовать? Если у вас есть свой движок то можете попробовать.
     
  22. bankuss
    Оффлайн

    bankuss Александр баннер

    Репутация:
    6
    Skipper_NORTON еще не пробовал, но так как компиляю в основном под 64, то хотелось бы сразу под 64, а то бывают глюки всякие между версиями. если не затруднит, сделайте такую dll.
     
  23. WildCat
    Оффлайн

    WildCat Коршунов Игорь Команда форума

    Репутация:
    0
    Пока нет возможности получить хотя бы 6-фигурки, то нет и смысла подключать все это к движкам. А так можно было бы сделать поддержку для RobboLito / FireBird.
     
  24. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    bankuss

    Вы когда хотите примерно попробовать подключить DLL? Мой генератор 3-й версии строит базы в другом формате - не в том, в каком были у 1-й и 2-й версии. Формат пришлось поменять чтобы оптимизировать обращения к базам во время генерации и чтобы можно было меньше оперативной памяти использовать. Поэтому если будете использовать только те, которые с 3-й версии, то примерно в апреле когда закачаю в инет программу, закачаю и DLL. Если нужно к старым то мог бы раньше сделать для вас такую DLL.

    6-фигурки можно получить и быстро. 3 человека с компами - и будут все они через один годик.
     
  25. bankuss
    Оффлайн

    bankuss Александр баннер

    Репутация:
    6
    как сделаете, так и опробуем. и старые базы тоже потянут. а потом и на новые сделаем...
     
  26. 17
    Оффлайн

    17 Учаcтник

    Репутация:
    0
    Одинь крайне дурацкий вопрос! :)

    А не можно ли несколько ускорить время и уменьшить размер баз путем следующее:

    Множество позиций/решения в определенной базе примерно krpp~krp -> Мн_All и это множество состоиться из несколько подмножества
    - Мн_ Win - связанное с победой, т.е. счет различен от равенство, или до достижения трансформированной базе с уменшением материала - т.е. 6,5,4,3 баз)
    - Мн_Draw - где варианты окончиваються ничей, при те же условия
    - Мн_Trfd - трансформированной базе с уменшением материала - т.е. 6,5,4,3 баз - это для примера, так как оно подмножество предыдущих два.

    Вот и вопрос: не можно ли создавать баз только на основе всех решений Мн_ Win, при этом в ней указываеться как 0 (или другой символ), что ход не находиться в базы, сл. позиция ничейная, соответственно указывать евентуалные подмножество трансформированных баз Мн_Trfd, нужных для вычисленний!?
     
  27. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    17

    Редкий случай... Когда из написанного ВООБЩЕ НИЧЕГО НЕ ПОНЯТНО. То есть ноль процентов. :)

    Если кто-то понимает, то может, по теме заданного вопроса - что нибудь ответит.
     
  28. 17
    Оффлайн

    17 Учаcтник

    Репутация:
    0
    :D :D :D

    Я предупредил в самом начале сообщения, так что совесть чиста! :ermm:

    Развиваю свою идиотскую мысл :D - сохранять в базе только выигрышные позиции/ходы. :dizzy:
    Конечно - ясно, что возможно (скажем) в ничейной позиции на 50-ий ход с начала варианта одна из сторон `подставляет` ладью и позиция сразу из ничейной становиться проигрышной и т.д., но все же...

    зам. исходил из то, что насколько имею представления - базы на основе `грубой силы` - т.е. считаються (записываються) все возможные варианты. :)
     
  29. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    А ничейные не сохранять?
    Тогда у меня к вам интересный вопрос. Как вы предлагаете хранить базу, т.е. в каком виде? Что именно там будет записано в самой базе? Типа "Позиция такая-то ферзь тут король тут и т.д. - выигрыш за 50 ходов, позиция такая-то... выигрыш за 30 ходов, позиция такая-то - выигрыш за 90 ходов и т.д." ?
     
  30. 17
    Оффлайн

    17 Учаcтник

    Репутация:
    0
    Нечто подобное!

    Исхожу из общей постановки, что целое больше (в крайнем случае равно) части, соответственно часть меньше (в крайнем случае равно) целое.*

    В 7-ти фигурной базе сохраняються (такое представление имею) и скажем 6(5-4-3) фигурные, т.е. krpp~krp включають в себе krp~krp, krr-krp, krb~krp, krn-krp и т.д. Если выключить из 7-ми фигурные базы позиции после трансформации (т.е. при уменшением материала), но указывая, что имееться переход к базе 6-ти фигурной - тут снижение во времени при изготовке базы и ее размер (имхо) не будеть большим.

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

    —-
    зам.* - даю пример, так как не уверен, что правильно выражаюсь.

    если a=b+c+d+е (где b, c, d, e положительные числа, больше нуля)
    то тогда a>b, a>c, a>d, a>e

    a - все 7-ми фигурные позиции
    b - выигрышные 7-ми фигурные позиции
    c - ничейные 7-ми фигурные позиции.
    d - трансформированные 7-ми фигурные позиции (примерно krpp~krp трансформировалась в krbp~krp)
    e - трансформированные позиции, ведущие к 6-ти фигурные бази (достаточно к ним посылать)

    т.е. - сохранять только b - выигрышные 7-ми фигурные позиции без изменения начального материала + указания на варианты c, d, e.

    зам.2. - не знаю также в база krpp~krp включаються ли и вычисления трансформированной krbp~krp (т.е. опять 7-ми фигурная база после трансформации материала - пешка стала слон).

    зам.3. - если это бред - забудьте мои `предположения` :)
     
  31. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    Неверное утверждение.

    Далее. Я хочу еще раз спросить, так как вы не ответили. ЧТО КОНКРЕТНО вы предлагаете записать на винчестер, чтобы там была информация о том что позиция —— с белым королем на b2, пешкой на c2, ферзем на a3, и черным королем на g7, черным ферзем на h7 ВЫИГРЫВАЕТСЯ за 73 хода?
     
  32. 17
    Оффлайн

    17 Учаcтник

    Репутация:
    0
    дублированное! :)
     
  33. 17
    Оффлайн

    17 Учаcтник

    Репутация:
    0
     
  34. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    Я спросил что КОНКРЕТНО на винчестер нужно записать? По буквам. Вот я смотрю на винчестер (сканирую) — что я видеть должен? "только доказанные выигрышные варианти" ? Или "Ka2, Qf2... Mate in 73" или "номер 233345566, Mate 73". Неужели мой вопрос трудно понять?
     
  35. Skipper_NORTON
    Оффлайн

    Skipper_NORTON Старожил

    Репутация:
    0
    Просто дайте запись информации об одной выигранной позиции - что должно быть записано на винчестере.
     
Статус темы:
Закрыта.