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

Тема в разделе "Машинное отделение", создана пользователем SDChess, 5 май 2007.

  1. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    :) ОФ слишком простая и короткая...
    Признаки найдены конечно не все. Признаков больше (Например сильный конь против слабого слона)

    Перебор разобрать есно значительно сложнее (тем более что в переборе присутствуют совсем нестандартные алгоритмы) + Тяжело будет разобрать сортировку ходов. (расчет весов ходов)

    Без разбора переборных алгоритмов в возможность полного разбора кода Рыбки за рузмное время я конечно не поверю...

    Куда шампанское передавать?
  2. syrdon Учаcтник

    • Участник
    Рег.:
    21.05.2007
    Сообщения:
    78
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Зря Вы про нестандартные алгоритмы сказали. Народ кинется ломать. :lol:
    Расчет весов небось происводится на основе расчёта взятия или значения из истории/убийц?

    Штука в том, что мы все отлично знаем, что у Анечки может быть внутри. (удержался от непристойной шутки - мало ли в честь кого программа названа).

    Да, читать RecStudio код немного напрягает, но ведь Delphi не слишком злобно оптимизирует, хотя ОФ он вставил прямо в форсированный поиск и потом страдал разадресацией.
    Основная функция поиска у Вас богата параметрами, это да.

    Разумеется. Я просто зашабашил после 4-х часов.

    Объявим тендер :) ! На ящик водки. Но уже без меня. :cool:

    Неделя немного суматошная. Я Вам в личку напишу.
  3. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Эт я перестарался - конечно правильней в отдельной структуре все эти параметры хранить.
  4. MS Михаил Семионенков

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    6.542
    Симпатии:
    3.361
    Репутация:
    175
    Оффлайн
    NS,

    Вы, мне кажется, несколько переоцениваете сложность анализа реассемблированной программы.
    Лет 20 назад я работал с графическим процессором, который не был документирован.
    Была только программа (бинарник, само собой), засылавшая управляющую внутрь процессора.
    Я реассемблировал эту программу, но программы, управлявшей процессором, там не оказалось: бинарник (!) был перекодирован. Но это не помешало размотать все: систему команд процессора, адреса и назначение регистров итп, написать свою, более мощную, программу, и запулить ее куда надо. Ребята, хоть и очень старались в заметании следов, оставили перекодировку в основной памяти. Я вычислил место, где уже дешифрованная программа отправлялась, с помощью лома и матери перенаправил вывод в память, реассемблировал этот вывод и восстановил все картину. Даже если бы дешифровщик пересылали в процессор, один черт я бы нашел способ поймать дешифрованную программу.
    Замечу, что все это делалось без дебаггеров, просто на уровне реассемблированного кода. Я давно отошел от этих дел, но уверен, что современный дебаггер способен дать кучу наводящей информации. Конечно, ответить на вопрос, что делает некая абстрактная программа, - чрезвычайно трудно, но если взломом занимается человек, знающий, что это за программа и ориентирующийся в соответствующих алгоритмах - задача не выглядит фантастической.
  5. VP Учаcтник

    • Участник
    Рег.:
    06.05.2007
    Сообщения:
    181
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Красноярск
    Оффлайн
    Куда смотрят только модеры :)
    Тему про Стрелку совсем заофтопили,
    начиная со взлома Анечки...и что там есть у нее внутри...
    Пора syrdon,NS,MS открыть соотв. тему,
    глядишь и еще выявим таланты на форуме по взлому прог.
  6. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
  7. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Давайте поговорим по теме ветки. :)
    Я начинаю смотреть исходники Стрелки. Первые выводы такие:
    Изначально это был Фрукт, но настолько все переделано, что Стрелка может считаться вполне оригинальным движком. Конечно, жаль, что нет возможности сравнить с исходниками Рыбки. :)
    Таблица пондерхитов с сайта CCRL говорит о том, что Стрелка и Рыбка очень похожи - http://computerchess.org.uk/ccrl/40...=by+rating&reference_list=None&recalibrate=no
    Вполне возможно, что Осипову удалось разобраться в основных алгоритмах Рыбки и реализовать их.
  8. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    А как узнал что изначально это был Фрукт?
  9. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Видно же.
  10. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Если видно что это Фрукт - тогда плохо. Написать сильный движок переписав другой сильный движок наверно значительно проще чем писать "с нуля".
  11. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Ну он не просто переписан, а довольно сильно изменен. Остались только кое-какие идеологические фишки.
  12. Orlov Учаcтник

    • Участник
    Рег.:
    27.02.2007
    Сообщения:
    177
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    В таком случае, говорить что это был фрукт не следует. Использовать чужие идеи никто не запрещал.
  13. thenewone Евгений Манев

    • Участник
    • Старожил
    Рег.:
    09.06.2006
    Сообщения:
    3.173
    Симпатии:
    18
    Репутация:
    1
    Адрес:
    Пловдив
    Оффлайн
    Может, нам следует ожидать скорого появления движка под именем Koshka v.1.0.beta 32-bit ? :D :D :D :D :D :lol: :lol: :lol: :lol: :lol:
  14. Orlov Учаcтник

    • Участник
    Рег.:
    27.02.2007
    Сообщения:
    177
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Belka v.1.0.beta 32-bit лучше звучит :)
  15. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Честно говоря, я уже начал подумывать о том, чтобы заняться разработкой Белки. :)
    То что это был Фрукт - это мое личное мнение, а не факт. Но в любом случае сейчас Стрелка очень далека от Фрукта, т.е. тут не о чем даже разговаривать.
    То, что что-то проще еще не аргумент. На С++ писать значительно проще, чем на ассемблере. Не запрещать же из-за этого С++. :)
  16. Orlov Учаcтник

    • Участник
    Рег.:
    27.02.2007
    Сообщения:
    177
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    А на сколько в Стрелке PST оригинальны? Или ничего в них необычного нет?
  17. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    PST просто инициализируются константами. Во Фрукте PST вычисляются в функции pst_init(). И то, что они численно несовпадают - очевидно.
  18. syrdon Учаcтник

    • Участник
    Рег.:
    21.05.2007
    Сообщения:
    78
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    А Killer-ов сколько?
  19. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Как и у большинства других - два.
    Кстати, syrdon, если уж ты такой гений, достань из Рыбки PST. Интересно на них глянуть.
  20. Orlov Учаcтник

    • Участник
    Рег.:
    27.02.2007
    Сообщения:
    177
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    А PST общие для всех стадий игры или есть разбивка?
  21. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Ну, естественно, как и в Фрукте, все делится на opening и endgame.
    На всякий случай не надо больше провакационных вопросов о внутреннем устройстве Стрелке. А то я не уверен, что Осипову понравится то, что я это рассказываю всем. :rolleyes:
    Для начала, я спрошу у него разрешения, пока не сболтнул чего лишнего. :/
  22. Orlov Учаcтник

    • Участник
    Рег.:
    27.02.2007
    Сообщения:
    177
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    ясно, только не понял почему естественно.
  23. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Сад расходящихся рыбок :)
  24. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Orlov, заканчивай полностью цитировать предыдущий пост. Лучше я уж сам буду по два раза вставлять свои посты. :lol:
    А естественно, потому что удалять такую фишку было бы неестественно. :cool:
  25. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Это естественно по другим причинам. Я куогда писал свою первую шахматную программу вообще не знал что бывают PST - считал это своим изобретением :lol: (в книге адельсона-Вельского про PST ничего не было)
    При этом разделил их не на две, а аж на три стадии - дебют, миттельшпиль, эндшпиль (в условиях малого быстродействия потребовалась отдельная дебютная PST). Разделение PST сразу автоматом приходит в голову когда пишешь программу играющую только на них - так как пешки на миттельшпильной PST в эндшпиле не идут в ферзи (осбенно когда скорость движка 100 узлов в секунду)
  26. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Разделение на opening и endgame имеет несколько другую идеологию. Поэтому естественно, что Стрелка не отступает от идеологии Фрукта.
  27. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Не могу понять твою мысль... ИМХО в любой шахматной программе должно быть разделение PST как минимум на миттельшпильную и эндшпильную хотя-бы для короля и пешки.
  28. krey Михаил Кройтор

    • Команда форума
    Рег.:
    10.04.2006
    Сообщения:
    3.709
    Симпатии:
    50
    Репутация:
    1
    Адрес:
    Кишинев
    Оффлайн
    хорошо рассуждать о PST когда являешься довольно квалифицированным шахматистом. а если ты только научился играть в шахматы - то для тебя сила пешки одинакова и в дебюте, и в эндшпиле... то есть равна нулю :) то же и с королем - начинающий игрок редко задумывается о том, что король, вообще говоря, очень сильная фигура - а в эндшпиле он просто зверь!

    но я согласен - у любой сильной программы должен быть PST. вот у scorpio он наружу вытащен.
  29. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Я о том, что есть два подхода к разделению ОФ на стадии:
    1. ОФ переключается в зависимости от стадии.
    2. ОФ вычисляет интегральную оценку по миттельшпильной и эндшпильной.
  30. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Я не особенно квалифицированный шахматист. :rolleyes:

    Видимо поэтому у меня в программе почти так и есть. :D
    Только равна не нулю, конечно, а 100 + бонус за продвинутость. :cool:
  31. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Я в шашки вообще играть не умею, но PST хорошие сделал. Правда WildCat говорил что они очень кривые.
    При этом правильные PST квалифицированных шашистов значитльно слабеее...

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

    ИМХО второй пункт это всего лишь развитие первого. Первый плавно перетекает во второй - у меня так в шашках перетекло - текущая PST простой интегральная. (хотя выглядит и не так - реально это интегральная оценка от двух PST)
  32. syrdon Учаcтник

    • Участник
    Рег.:
    21.05.2007
    Сообщения:
    78
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Тогда вероятность, что Стрелка клон чуть упала. По слухам, Рыбак как-то сболтнул, что двух мало.

    Нет, спасибо. Рыбак мне бутылку не обещал.:)
  33. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Это все-таки разные подходы. Мне так не кажется, что второй развитие первого. Просто первый делать надо больше и сложнее, чтобы получить такой же результат как во втором. Но зато в первом теоретически можно получить лучший результат.
  34. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Для чего мало?
    Я так и думал. :D
  35. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Говорят, у Гидры нету.

Поделиться этой страницей