Наш новый движок Strelka!!!

Discussion in 'Машинное отделение' started by SDChess, 5 May 2007.

  1. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    А мне мой вариант больше нравится. Твой не передает всех эмоциональных оттенков. :p
     
  2. Осипов Юрий
    Оффлайн

    Осипов Юрий Учаcтник

    Репутация:
    11
    Какая разница - шашки или шахматы. Суть и там, и там - одна и та же.

    В шахматах ход задавать проще - в одной 16-битной переменной умещается. Это очень важно для нового алгоритма - там списки ходов надо в памяти хранить для экономии в скорости. А в шашках - для каждого хода надо до 12 клеток запоминать - не удобно.
     
  3. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    В шашках тоже можно придумать формат близкий к 2 байтам на ход.
     
  4. Осипов Юрий
    Оффлайн

    Осипов Юрий Учаcтник

    Репутация:
    11
    Похоже, можно начинать собирать коллекцию клонов Стрелки. Недавно появилась некая "Rybka 1.0 beta 2", автор - Васик Райлих. Теперь - какой-то Scofield 3(Panama), автор - Ben Lau.

    Господа даже не утруждают себя что-то изменить в программе - просто меняют название и автора, компилируют и выпускают. Делать им что-ли нечего?
     
  5. VolMike
    Оффлайн

    VolMike Учаcтник

    Репутация:
    0
    Провоцируют.
     
  6. Vertu
    Оффлайн

    Vertu Старожил

    Репутация:
    4
     
  7. Осипов Юрий
    Оффлайн

    Осипов Юрий Учаcтник

    Репутация:
    11
    Кстати, VolMike.

    Помнится осенью Вы неплохо тестировали предыдущую версию Стрелки. Причем - под Ареной, что для меня очень удобно (там PGN интереснее).

    Нет желания повторить тесты с новой версией? Было бы очень хорошо.
     
  8. MS
    Оффлайн

    MS Михаил Семионенков

    Репутация:
    175
    "Дорогой Ватсон, я всегда Вам об этом говорил" :)
    Жаль, закопался совсем...
     
  9. VolMike
    Оффлайн

    VolMike Учаcтник

    Репутация:
    0
    Сейчас у меня не так много выч. ресурсов, но, думаю, 1 комп выделить удасться.
    Начну с понедельника.
     
  10. ChessTerminator75
    Оффлайн

    ChessTerminator75 Андрей

    Репутация:
    0
    Интересная информация в файле "Zappa Mexico II Release Notes.txt"
    Хотел бы выделить следующий фрагмент:

    3. Strelka
    Since this release comes immediately after the release of the
    Strelka source code, I assume that there will be a hue and cry from
    the unwashed masses about how I am pirating the intellectual
    property of Vasik Rajlich. Let me just immediately say that there
    are simply no new ideas in Strelka anyway; my shock at reading the
    Strelka source code was not generated by the brilliancies contained
    therein but by the lack thereof. Looking at Strelka finally
    convinced me to do some things that everyone else has done for a
    long time (like futility pruning), and to clean up my code a bit
    since I had always been developing in "crunch" mode. I did not add
    any eval terms from Strelka (my view being that Zappa's eval is way
    better than Strelka's anyway) and I also did not do the crazy
    futility pruning where it drops into the qsearch at depth 3. In
    summary, Strelka was more a source of motivation than chess ideas.
    Of course, you will just have to take my word for it until some
    enterprising Russian hacker disassembles Zappa :)

    (у кого более менее нормальный переводчик переведите пожалуйста :)

    Я предлагаю прислушаться к тому что Anthony Cozzie пишет о Стрелке (особенно о ..the crazy futility prunin).

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

    Ну и конечно обратил внимание что в конце Cozzie пишет:
    "Конечно вам придется поверить мне на слово до тех пор пока какой нибудь
    инициативный хакер из России не дизассемблирует Заппу :)"
     
  11. klf
    Оффлайн

    klf баннер

    Репутация:
    0
    автопепревод

    3. Strelka Начиная с этого релиза, вышедшего немедленно после выпуска исходного кода Strelka, я предполагаю, что будет оглушительный шум от помоев о том, как я граблю интеллектуальную собственность Vasik Rajlich. Позвольте мне только немедленно сказать, что так или иначе, просто нет никаких новых идей в Strelka; мой шок при чтении исходного кода Strelka не был произведен блесками, содержавшимися там, но нехваткой этого. Просмотр Strelka наконец убедил меня делать некоторые вещи, которые все остальные сделали в течение долгого времени (как сокращение тщетности), и немного вычистить мой код, так как я всегда развивался в способе "хруста". Я не добавил никаких сроков оценки от Strelka (мой взгляд, являющийся, что оценка Заппы - так или иначе лучше, чем у Стрелка), и я также не делал сумасшедшего сокращения тщетности, где это заскочит в qsearch в глубине 3.
    В резюме, Стрелка была больше источником побуждения, чем шахматные идеи. Конечно, Вы будете только иметь мое честное слово, пока какой-нибудь инициативный российский хакер не дисассемблирует Заппу
     
  12. ChessTerminator75
    Оффлайн

    ChessTerminator75 Андрей

    Репутация:
    0
    "оглушительный шум от помоев"
    хорошо сказано :D
     
  13. krey
    Оффлайн

    krey Михаил Кройтор Staff Member Команда форума

    Репутация:
    1
    собрал стрелку при помощи gcc. ну и намучался! пришлось каждой константе постфих ULL приписывать... :)
     
  14. apm
    Оффлайн

    apm Учаcтник

    Репутация:
    0
    krey,
    жаль что вы не заметили топик http://kasparovchess.crestbook.com/viewtopic.php?id=2381
    некоторое время назад я тоже мучался с gcc и мне дали ссылку с патчем.

    Я правда с тех пор не устаю удивляться как играет стрелка.
    Запустил ее на fics где она сыграла 1250 игр.
    Есть на мой взгляд шедевры, а есть просто не ясные, не объяснимые для меня сливы.
    Особенно связка эндшпиль+мало_времени+мало_фигур+проходные - стрелка порой исполняет только держись, жертвует фигуры направо налево, отдает весь материал, и вдруг скачком меняется оценка с +7 на -3.
     
  15. krey
    Оффлайн

    krey Михаил Кройтор Staff Member Команда форума

    Репутация:
    1
    как раз заметил, только одно дело, использовать это патч под никсом, другое - собирать под виндой. я еще не умею линуксовые скрипты выполнять под винду. :( да и более того - этот скрипт модификаторы константам не ставит.
     
  16. apm
    Оффлайн

    apm Учаcтник

    Репутация:
    0
    Утилита patch и множество других нормальных вещей доступно в Windows
    через cygwin, но если неохота вникать в cygwin - есть и
    уже собранный проект
    http://sourceforge.net/projects/unxutils/
     
  17. krey
    Оффлайн

    krey Михаил Кройтор Staff Member Команда форума

    Репутация:
    1
    да ладно, я уже всё сделал. другое дело, что меня интересуют 2 ассемблерные вставки.
    Code:
    _asm { mov  eax, dword ptr bm[0]
             test eax, eax
             jz   f_hi
             bsf  eax, eax
             jmp  f_ret
    f_hi:    bsf  eax, dword ptr bm[4]
             add  eax, 20h
    f_ret:
    как это понять? на с/с++
     
  18. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Инструкция BSF просматривает исходный операнд, начиная с бита 0 (младший бит), определяя первый ненулевой бит. Если все биты операнда-источника являются нулевыми, то флаг нуля очищается. В противном случае флаг нуля устанавливается, а в целевой регистр (приемник) копируется номер первого найденного ненулевого бита.
     
  19. bankuss
    Оффлайн

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

    Репутация:
    6
    при компиляции под х64 этот блок приходиться заменять ;)
     
  20. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Под х64 наверно одной инструкции bsf достаточно...
     
  21. Vertu
    Оффлайн

    Vertu Старожил

    Репутация:
    4
    http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?pid=41925#pid41925
     
  22. Renegat23
    Оффлайн

    Renegat23 баннер

    Репутация:
    0
    А по русски?
     
  23. Vertu
    Оффлайн

    Vertu Старожил

    Репутация:
    4
    Попроси у Коззи повторить это тебе по-русски...
     
  24. Vertu
    Оффлайн

    Vertu Старожил

    Репутация:
    4
    В целом, Коззи почти дословно повторяет первый пост Рыбкина.
     
  25. Gold Dragon
    Оффлайн

    Gold Dragon Новичок

    Репутация:
    0
    Я тут гуглом попытался перевести. Вот что получилось:

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

    В академических кругов, новизна всем правилам. Это гораздо лучше, чем к роману
    очень экспериментальные результаты. Цель состоит в том, чтобы добавить к знаниям
    рода человеческого, и ключевой вопрос: "Что можем мы, как сообщество
    извлечь из этого? "Вам придется принять мои слова на веру, что
    исходный код Стрелка просто не способствует состояние на
    искусство в создании компьютерных шахматных двигателей. Рассмотрим фрукты: Вы можете воспользоваться
    новые идеи, фрукты, добавить их в существующую программу шахматы, и
    сделать его лучше. Почти каждый использует поздно перейти сокращения некоторых
    сортировать сегодня. Существует нет эквивалента в Стрелке, не магические
    методов, которые могут быть добавлены к новой шахматной программы и придать ему 100
    Эло. Существует не эквивалентна нулевой шаг, истории обрезки деревьев, и даже
    ч. расширениями. В течение двух лет, когда вещи становятся
    скучно компьютерных энтузиастов шахмат всегда может дискуссии о том, что
    Рыбка была тайной. Задним умом, Васик должны были совершенно amused
    в этих обсуждениях, поскольку Рыбка в "секретных" было просто для того, чтобы быть супер
    оптимизирована для 3 или 4 раза быстрее, чем все остальное.

    Существует только одна вещь, которая действительно интересного об Стрелка: о том, что
    поиск по-прежнему важны. Множество людей (включая меня, в соответствии с
    темной школе Диепевеен) считает, что в 16-18 или в 20 наиболее слой был
    достаточно для любой позиции. Очевидно, что мы были неправы. Вот почему я
    уже сказал, что я думал, Васик пошли в другом направлении (на
    мере, от меня). Хотя я пытался улучшить оценки, то он был
    пытается оптимизировать свою программу, и поскольку Рыбка получает около 4-5 больше
    слоя, чем Заппа, его 5 кордом поиска, особенно в играх быстрее,
    оказались лучше, чем мой эвристический оценки.

    Во всяком случае, с инженерной точки зрения Стрелка (rybka) это просто фантастика.
    Она пакеты большинства поиск и оценку фрукты / Крафти в
    - то почти в 3 раза быстрее. Для тех из вас, что никогда
    письменные код, в 3 раза это очень много, учитывая, что фрукты и
    Крафти уже достаточно хорошо закодированы. Рыбка еще быстрее
    конечной beancounter, Фриц 5, в то время как имеющие гораздо больше, в соответствии с
    капюшоном. И вот почему я сказал, что Стрелка была более источник
    мотивация, чем понять, потому что я никогда не очень принято время,
    оптимизировать Заппа, убедили стандарта CS доктрина ", не тратьте
    Ваше время пытается улучшить констант на кап-время алгоритм ".

    Что это все сводится к представляет собой разницу между интересным и
    полезным, два качества, которые зачастую не связанных.

    Я думаю, что это о том, как наилучшим я могу сделать для того, чтобы попытаться объяснить мою
    точки зрения. Я лично имели пожизненный роман с наукой
    и техники. Я считаю, это удивительное, что они работают на всех. Представьте
    в zillions квантовых взаимодействий в тех случаях, когда мы говорим о том, что
    Американский доллар потерял стоимости по отношению к евро! Это мы можем построить
    модели для таких сложных явлений, является абсурдным, - и еще тех,
    модели работы до 20 знаков после запятой. Вот почему я пытаюсь
    заработать моей PhD: Я хотел бы сделать несколько небольших вклад в науку.
    Конечно, я не ожидаю, все, чтобы это мнение. Я не думаю,
    это особенно так Райлич; он, как чисто конкурента, который хочет
    игры, чтобы выиграть, и держать себя в twinkies. Просто потому, что он не
    научно интересно
    (или не было в 2005 году. Может быть, он сделал что-то интересное
    с тех пор), не делает каких-либо Рыбка менее большой шахматной программы.

    cheers,

    антропологический"
     
  26. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Кто такая Стрелка без таблицы материала, без отсечений на малой глубине и без оптимизации параметров ОФ.
    Без этого она будет явно слабее открытого Фрукта. А этого всего не было во Фрукте.

    Так что кое-что новое в Стрелке есть.
     
  27. Bison
    Оффлайн

    Bison Учаcтник

    Репутация:
    0
    Кстати есть данные сколько эти самые "отсечения на малой глубине" реально ей приносят?
    Где-то встречался со словосочетанием Crazy Pruning или что-то типа этого, думаю неспроста :rolleyes:
     
  28. Pia
    Оффлайн

    Pia Учаcтник

    Репутация:
    0
    Из Рыбки позаимствованное. Думаете, что Осипов Стрелку бросил - взял, что смог, а придумать самому -слабо...
     
  29. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Не очень много, но ощутимо.
     
  30. Vertu
    Оффлайн

    Vertu Старожил

    Репутация:
    4
    Pia, [censored]

    Тем временем Энтони Коззи ругается с Васиком!

     
  31. Vertu
    Оффлайн

    Vertu Старожил

    Репутация:
    4
     
  32. Bison
    Оффлайн

    Bison Учаcтник

    Репутация:
    0
    По мне так лучше более медленный, но зато удобоотлаживаемый код... Да и на скорости много не выиграешь по отношению к вложенным усилиям
     
  33. Хайдук
    Оффлайн

    Хайдук Учаcтник

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

    Atik_Yomin Учаcтник

    Репутация:
    0
    Появился новый клон Стрелки 2.0 под названием "hustle 5.01" Автор клона (или как он выражается движка основанного на коде Стрелки) все тот же Ben lau.
     
  35. thenewone
    Оффлайн

    thenewone Евгений Манев

    Репутация:
    1
    Неужели нет желающих, чтоб Стрелка поддерживала многопроцесорность?
    Давайте попросим Юрия Осипова вместе :)