Loosseer

Ответы в темах

Просмотр 12 сообщений - с 16 по 27 (из 27 всего)
  • Автор
    Сообщения
  • Loosseer
    Участник

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

    Нет никакой демо.
    А базы можно до 6 шашек строить. С ними должно лучше быть.

    Т.е. то что я скачл с описанием как демо версия с 3-х шашечными окончаниями является полной версией!
    Это радует :)

    Я посмотрел свой код — нашел несколько косяков. Подправлю и выложу ту версию что получше будет играть после турнира в выходные.

    Loosseer
    Участник

    Это шутка? Нет никакого перемножения матриц в методе наименьших квадратов.
    Есть сумма 600 000 000 (по количеству позиций) матриц 75×75, и сумма такого-же количества векторов 1×75. А потом решение уравнения Ax+b=0, где A матрица 75×75.

    Квадрат разницы по каждой позиции Это xA(i)x’-xb(i)
    Нам всего-лишь надо проссумировать все A(i) и все b(i), получим выражение для суммы квадратов.

    Чтоб не выводить готовую формулу — вот она:
    …..

    Решение системы уравнений — моментально. Для составления время тратится на подсчет количества (если PST — то сам факт есть на этом поле/нет шашки) признаков в каждой позиции. 600 миллионов позиций, миллион позиций в секунду — 10 минут.

    Потом составление матрицы — 600 000 000* 76 *76 / 2 умножений — несколько минут.

    матрицу 600 000 000 хранить в памяти не нужно — достаточно сразу плюсовать посчитав количество признаков по конкретной позиции. И грузить их можно хоть по одной, хоть по 1000, хоть по 1000000.

    С погрешностью бороться совсем легко — Разделили позиции на две равные части (по 300 миллионов), посчитали матрицу и вектор в каждой части,и потом сложили. В каждой части аналогично.

    Уважаемый NS, думаю Вы сами найдете «мелкие» неточности в вышеуказаном.
    Остальным же «неолимпиадникам» это мало интересно.
    Тот путь куда скатывается обсуждение в этом форуме меня нисколько не удивило (я был готов)
    Ваше мнение многие читали здесь http://www.kasparovchess.crestbook.com/viewtopic.php?id=707&p=1

    Я не только был готов, но и знаю как это решается. 8)

    Loosseer
    Участник

    Насчет мнгновенно расчета root2:
    я лично считал 2 суток
    брал несколько раз по 10 млн позиций из 600 млн и считал для каждого набора
    из результатов откинул наборы с плохой корреляцией
    опять не понятно ?

    Вообще то вы можете перемножить мнгновенно 2 матрицы 10Мбх75 вещественных чисел двойной точности мнгновенно даже на современном компьютере, а не PIII-650 с 128 Мб где они даже в память не умещаются и надо постоянно со свопом работать?

    А вот двойной точности даже не хватало на таких матрицах — вырождались в 90% случаев из-за погрешности (отбрасовались мелкие слагаемые в конце суммирования). Пришлось юзать библиотеку с большей точностью.

    А вот мне непонятно зачем выдвигать какие-то суждения как это должно б было быть? Какие-то 32 года на расчет миллиарда позиций и мнгновенное решение root2 для 10000000х75. :?:

    6 месяцев и 1 час — вот реальные результаты реального эксперимента реализованного на практике.

    Если Тузик шел по мосту, упал в воду и утонул. Зачем обсуждать удельную массу тузика, закон Архимеда, психологическое состояние пса и возможность суицида?
    Тузик утонул — вот факт и все!
    Теперь можно только завести нового пса (лучше породы Водолаз)

    P.S. запускал расчет дебютных позиций на глубине 5 сегодня ночью
    Скорость 99.14 решенных поз.сек — дальше считайте сами 32 года или сколько надо на миллиард

    Loosseer
    Участник

    ну если обращение матрица размера 75х75 происходит мнгновенно , то значит тормозило что-то еще — я лично не замерял и профилированием кода не занимался в этом расчете
    например перемножение матриц
    я брал по 10 млн тестов (все 600 млн не получалось явно из-за памяти и скорости)
    считал несеолько раз и откинув крайние результаты остальные усреднял

    P.S. а вот многие дальнейшие события в этой ветке уже мне очевидны

    Loosseer
    Участник

    Если в словарь помещать только последовательности одного результата, то сжатие однозначно будет лучше чем у RLE.

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

    А вот за счет комбинирования выявится структура небольших отклонений, что и даст небольшой выигрыш

    Вообще еще раз замечу, что сжатие шашек с 90% ничиьих и поддавков с их почти полным отсутствие совсем разные вещи
    Пример: Сортируем позиции по балансу фигур и получаем в шашках монотонные последовательности, а в поддавки все равно будет чехарда
    Сжатие шашек однозначно сильнее выходит

    Loosseer
    Участник

    Насчет словаря окончаний:
    Каков был бюджет — таков и результат
    при 128 Мб оперативки в 2001 супротив 2Гб у чинок еще в 1991 ловить было можно только здравый смысл
    Сделал классификацию окончаний
    Запустил прогон расчетов реальных позиций
    Взял наиболее восстребованные классы, остальные выбросил
    правило 20 — 80 еще никто не отменял
    Сегодня можно посильнее базу протолкнуть — только ИМХО кэш тогда был важнее
    Насчет полезности (потерял свои тесты) — есть небольшая — дык тока вот Каллисто демо вообще почти без баз обходится

    Насчет ОФ:
    Моя реализация мет мин квадр требовала обращения матрицы размерности числа параметров
    При размерности более 75 расчет занимал более часа
    пришлось остановиться на разбиении параметров в группы и расчет внутри групп
    Потом пытался уже соединить группы меж собой в окончательную сумму с коэффициентами
    Тут уж коэффициэнты не считались через Root2 пришлось ручной генетикой
    многи просто ушли в 0
    Некоторые мешали друг другу (типа +101 -100.8 вместо ожидаемого диапазона внутри 0..1)
    Как-то на глаз все равно вышло
    Сейчас есть 32*2*(4стадии игры)+14+1+1+1 ~ 300

    P.S. прикольно написал кэш вместо хэш :D — а потом подумал и правда же он важнее был

    Loosseer
    Участник

    База окончаний:
    360 Млн «вменяемых» позиций 2-9 шашек (безранговая) — размер 36Мб

    И мне тоже интересно как удалось 9-фигурку запихнуть в 36 Мб. А в несжатом виде какой размер?

    А насчет 21%. Семь партий — это слишком мало, чтобы делать какие-то выводы о силе игры..

    полной девяткой там не пахнет
    360 Млн позиций указано же
    несжатый размер сами можете посчитать, с учетом того что в поддавках ничьих менее 1%, а в шашках скорее все 90%

    фиксированный словарь как раз генетикой и делал
    взял наглаз начальный набор (256 кодов)
    посчитал статистику всякую и сделал набор кодов-кандидатов (2000 шт)
    ну и стал паковать словарь с попыткой замены избраного кода на алтернативный случайным образом
    через месяц глянул результат, ну 10% был лучше первоначального
    Хотя мне сжатие не особо и нужно было 36Мб вместо 75
    Просто я под Хэш больше памяти смог забрать 64 вместо 32
    а внаши дни вообще вопрос не стоит о таких цифрах
    Доступ стал в 2 раза медленнее, но общая скорость упала только на 0.3%
    Rar сжимает несжатый словарь до 29Мб, так что меня 36 с линейным доступом устраивает

    Loosseer
    Участник

    Я всё-таки никак не могу себе представить миллиард позиций.
    Даже если на получение каждой позиции тратилась секунда —
    Это 1000000000/3600/24/365=32 года…
    Откуда взялся миллиард позиций с точной оценкой (решенных) ?

    Я взял первый и второй турнир по переписке
    все партии загнал в список позиций до 15 хода
    Получилось не помню точно , но порядка 1000
    Запустил расчет для каждой на 10 секунд
    И сохранял просто хеш на диск
    Потом склеил все с удалением одинаковых + отрезал редкивстречающиеся = получил миллиард
    Ну а потом полгода расчетов на глубине 3,4,5,6

    Посчиталось 60%

    Шашки это огромной ничейное поле с микоскопическими ямками результативных позиций
    Поддавки это тоненкое лезвия ничейного ножа (причем далеко не прямое лезвие) — шаг вправо, шаг влево и ты проиграл

    Loosseer
    Участник

    1) Саму программу выложить? (а исходники на родном Вам паскале не нужны?) — ответ прост — смотрим голосование
    2) ручная генетика» — это как?
    расчет 4-5 сложных компонентов Оф, а потом ручная доводка «полным сканированием » их весовых К
    типа
    считае веса полей
    считаем веса еще что-то
    ….
    потом эти компоненты меж собой комбинируем с взвешиванием коээфицентов ( да ты ж знаешь все это )

    в ответ на: Ценность полей в поддавках #362549
    Loosseer
    Участник

    Друзья — шибко меня туркает при чтении таких вопросов
    примитивные проги от 2001 года за 4 сек говорят что ed2 победа белых
    калисто вам еще быстрее найдет

    Я практически готов к опубликованию доказательства того, что 1.gh4 fg5 2.h:f6 g:e5 3.cd4 … проигрывает (!). Но в этом мне нужна ваша помощь. Возможно, я что-то упустил или не рассмотрел серьезный вариант. Кто же поможет мне и «Дамире»?
    В принципе чем могу помогу. Я, как теоретик (пусть и не главный) был бы очень заинтересован в опровержении хода 3.cd4. Тогда разработанные мной варианты с 3.hg3 снова станут актуальными. Сейчас сложилась уникальная ситуация: две программы оценивают критическую позицию (ход белых)

    по-разному. Прежде чем двигаться дальше, необходимо выяснить, кто же ошибается. И кто виноват в ошибке: дыра в программе или человеческий фактор. В моей практике был случай, когда я проверяя свой этюд, зевнул частное побочное решение. Единственность хода белых казалась настолько очевидной, что я (mea culpa!) просто забыл проверить это при помощи базы окончаний. Истина открылась лишь спустя два года!
    Я думаю, авторам противоположных доказательств следует их сверить и найти причину «разночтения». Мне кажется это не займет много времени.
    P.S. Кстати, что будет если белые в позиции на диаграмме сыграют ed2?

    Loosseer
    Участник

    600 000 000 позиций с расчитанным окончанием были взяты из 1000 000 000 позиций наиболеечастовстречаемых при анализе реальных партий по переписке (расчет примерно 6 месяцев)
    критерий оценки эффективности и сама эффективность реализованы не были — просто статистика и результат по мин квадр — программа стаоа играть сильнее и все ( никаких оценок рейтинга ЭЛО не проводилось)

    P.S.
    special for NS ручная геннетика присутсвовала

    Loosseer
    Участник

    В первой партии легко выигрывало 10. ef2!

    Как Дамира пропустила такой ход? Мне плохо верится, что прога могла не видеть этот неглубокий вариант.

    Первую партию Левит проиграл
    Четвертую выиграл
    Сам он если пропадает то надолго

    ниже подробно 1 партия

    1.a3-b4 d6-c5 2.b4:d6 c7:e5 3.g3-f4 e5:g3 4.f2:h4 f6-g5 5.h4:f6 g7:e5.6. h2-g3 h8g7 7.b2-a3 d8-c7
    8. g3-f4 (ab2! тоже выигрывало)
    8. .. e5:g3 9. a1-b2 e7-f6 проигрыш после 10.ef2 g:e1 11.cd4 (последний шанс 9. .. gf2 10 .. gf6 11. ef4 тоже плачевен 1:0)
    10. с3-d4 c7-d6 — самая длинная агония
    11. d4-e5 f6:f2 12. g1:e3 h6-g5 — за белых dc3 либо bc3 выигрывает

    итог:
    7. .. d8c7 проигрыш черных
    но и
    7. ..bc7 8.ab2 ed6 9.ef4! g:e5 10.ef2 ed4 11.c:d4 d:f4 12.fg3 .. 13. de3!
    7. .. ef6 8.-//-
    7. .. ed6 8.-//-
    7. ..gf6 8.-//-
    7. ..ed4 8.c:e5
    проигрывают, а значит уже ход 6. ..h8g7 проигрышен

Просмотр 12 сообщений - с 16 по 27 (из 27 всего)
137 запросов за 1,052 секунд.