Шашки в России

Программа Каллисто - Открылся сайт Каллисто

Kallisto - Май 08, 2006 - 06:57 AM
Тема сообщения: Открылся сайт Каллисто
Открылся сайт Каллисто: www.igorkorshunov.narod.ru

Для желаюМожно скачать оболочку + 3 моих движка + движок Кестутиса Гасаитиса (KestoG).
щих сделать свою шашечную программу будут полезны исходники движка SiDra. В них демонстрируется как подключать свой движок к оболочке, а также основные принципы шашечного программирования. Кроме того, может быть уже существующие движки поддержат протокол?
Вскоре появится (если еще нет) возможность подключать движки с этим протоколом к оболочке Авроры.
Kallisto - Май 08, 2006 - 08:23 AM
Тема сообщения:
Забыл сказать, что Каллисто 2 это не тот движок, что можно было скачать с сайта Авроры.
Исправлена ошибка в генераторе ходов + усилена ОФ. Тестовый матч между этими версиями +79 -37 =806 с контролем 1 + 1.
В течении матча 3 раза вылезала ошибка старой версии. Эти партии переигрывались.
plus600 - Май 08, 2006 - 06:00 PM
Тема сообщения:
Kallisto писал(а):
Тестовый матч между этими версиями +79 -37 =806 с контролем 1 + 1.

А вы считатете такой перевес в матче из 922 партий значимым?
Kallisto - Май 08, 2006 - 09:06 PM
Тема сообщения:
Счет 79 : 37 с моей точки зрения выглядит подавляющим Smile

Спросите у любого баскетболиста Smile
plus600 - Май 09, 2006 - 07:29 AM
Тема сообщения:
У баскетболиста спрашивать не буду, аналогия очень не корректная. А с точки зрения статистики такое соотношение выглядит неубедительным, на уровне одной сигмы, не более того Razz
Kallisto - Май 09, 2006 - 02:08 PM
Тема сообщения:
Видимо Вы учитываете ничьи. В таком виде спорта как шашки это не совсем корректно. Для сравнения двух игроков ничьи лучше не учитывать. Их количество просто может говорить о классе игры. Более они ничего не показывают.
plus600 - Май 09, 2006 - 02:15 PM
Тема сообщения:
Вы же не живых людей сравниваете, а программы.
Типичная выборка из 900 значений, сигма равно 30, три сигмы - 90 - это и есть разброс всех данных. То есть с одной сигмой это выглядит как +79(плюс-минус 30) -37(плюс-минус 30) =806(плюс-минус 30) .
Или +(от 50 до 110) -(от 10 до 50) =(от 780 до 840). А уж с тремя сигмами это выглядит и того хуже никакиой достоверной разницы.
А предложение исключить ничьи просто не проходит, уж что было, то было Laughing
Kallisto - Май 09, 2006 - 04:08 PM
Тема сообщения:
Какой же тогда результат значим?

100 : 0 ?
plus600 - Май 09, 2006 - 04:55 PM
Тема сообщения:
Из тысячи партий - с примерно такой разницей. 40 - недостаточно мало. Это для того, чтобы уверенно говорить о превосходстве одной версии над другой. Если говорить неуверенно (с вероятностью чуть больше 50 процентов), то хватит разницы и в 40.
booot - Май 09, 2006 - 07:11 PM
Тема сообщения:
Сергей, приведенные Вами основы матстатистики были б верны, если б все результаты шашечной партии были б равновероятными. Чего, очевидно, утверждать нельзя Smile.
plus600 - Май 09, 2006 - 07:17 PM
Тема сообщения:
Тогда не нужно вообще цифры сравнивать, а нужно приводить доказательства "неравновероятности" Rolling Eyes
И равновероятность здесь ни причем, стохастичность - еще туда сюда.
letas - Май 09, 2006 - 07:48 PM
Тема сообщения: Открылся сайт Каллисто
Лично я ничего не понял из Вашего спора.Попробую перевести все на обычный язык.Автор считает,что ему значительно удалось усилить свою программу.Что новая версия играет надежнее,чем старая.По моему это основная идея всего ,что он утверждает.
plus600 - Май 09, 2006 - 07:54 PM
Тема сообщения: Re: Открылся сайт Каллисто
Спор идет об обоснованности такого утверждения, не более того.
letas - Май 09, 2006 - 08:19 PM
Тема сообщения: Открылся сайт Каллисто
Могу добавить еще следующее.Новая версия сильнее.Но и новая версия проигрывает,то есть еще резервы для улучшения.Хотя большой процент ничьих говорит о силе обеих версий.Еще остается один вопрос:какой процент одинаковых партий?Я пробовал запускать партию между Каллисто1 и Каллисто2.Они все время начинали игру одним и тем вариантом.
AlexanderS - Май 09, 2006 - 10:49 PM
Тема сообщения:
plus600 писал(а):
Kallisto писал(а):
Тестовый матч между этими версиями +79 -37 =806 с контролем 1 + 1.

А вы считатете такой перевес в матче из 922 партий значимым?

Такой перевес значим настолько, что позволяет оценить силу игры новой версии на 13 пунктов ЭЛО выше.
letas писал(а):

Но и новая версия проигрывает,то есть еще резервы для улучшения.

Если в матче разыгрывался определенный набор позиций (что скорее всего) то возможно в этом наборе присутствуют и теоретически проигранные позиции, в которых не проиграть сильному сопернику невозможно ;)
Kallisto - Май 10, 2006 - 05:52 AM
Тема сообщения:
Использовалась жеребьевка начальных позиций. Так что повторов не было.

И я старался следить, чтобы не было позиций с явным перевесом одной из сторон. Таких может быть было максимум 3 позиции.

Действительно, игра против слабых соперников (уровне кмс покажет малый прирост силы), т.к. умения обыгрывать слабых не прибавилось.
За то в игре с сильным соперником, новая версия вместо игры на равных может ощутимо выиграть.

Проигрыш 4% партий против сильного соперника, имея всего несколько секунд на ход, считаю что это вполне нормальный результат.

Но и новая версия проигрывает,то есть еще резервы для улучшения
Улучшать будет интересно только в том случае, если появятся соперники.
plus600 - Май 10, 2006 - 07:03 AM
Тема сообщения:
AlexanderS писал(а):
Такой перевес значим настолько, что позволяет оценить силу игры новой версии на 13 пунктов ЭЛО выше.

Опять же повторюсь, речь идет не о людях, а о программах и их алгоритмах. И более того не о двух разных программах, а о двух ее модификациях. Формальная процедура сравнения двух таких модификаций вещь математически не очень очевидная.
Kallisto - Май 10, 2006 - 08:01 AM
Тема сообщения:
Исправил баг из-за которого не читались старые партии из games.pdn. Получалось, что матч всегда запускается заново, а не продолжается старый.
Для тех, кого инересует проведение матчей движков лучше скачать заново (теперь версия оболочки 1.20). Остальным можно не беспокоиться.

Plus600!
Все никак не пойму Вы шутите или серьезно?
plus600 - Май 10, 2006 - 08:05 AM
Тема сообщения:
Kallisto писал(а):
Plus600!
Все никак не пойму Вы шутите или серьезно?

Я абсолютно серьезно. С математикой шутить не привык.
Kallisto - Май 10, 2006 - 09:39 AM
Тема сообщения:
Зря Вы так... Нарвались на математика Smile

Итак, имеем +79 -37 =806, т.е.

мат. ожидание количества очков набранных первым движком = 0,522776573
несмещенная дисперсия = 0,030968178
сигма = 0,175977777

Получаем доверительные интервалы для соотв. дов. вероятностей:

95,0% - (0,51141757; 0,534135575)
99,0% - (0,507848292; 0,537704853)
99,7% - (0,505576908; 0,539976237)
99,9% - (0,503706069; 0,541847077)

Т.е. видим, что мат. ожидание количества очков первого движка набранного в партии со вторым выше 0,5 с очень большой вероятностью.
Вероятность, что это не так около 0,0084%.

А это и значит, что не может быть никаких сомнений, что первый движок сильнее Smile


Plus600!
В Бабруйск! Учить матстатистику!

ЗЫ. Сорри за жаргон Smile
plus600 - Май 10, 2006 - 10:31 AM
Тема сообщения:
В Бабруйск я не поеду, считаю, что в МГУ матстатистику преподают лучше.
Поясните, что такое "мат. ожидание количества очков набранных первым движком" и как Вы ее считали. Я из цифр ничего не понял.
Kallisto - Май 10, 2006 - 11:42 AM
Тема сообщения:
79 * 1 + 806 * 0,5 = 482 очка набрано в матче первым движком.

Мат. ожидание кол-ва очков в одной партии = 482 / 922 (это количество всех партий).
Kallisto - Май 10, 2006 - 12:57 PM
Тема сообщения:
Сделал проверку в Excel. Теперь все могут сравнивать силу двух движков с математической точностью. Причем это касается не только шашек.
letas - Май 11, 2006 - 09:16 AM
Тема сообщения: Открылся сайт Каллисто
Попробовал провести небольшой матчик между Каллисто2 и Каллисто1.У меня результат 10-0=10.Наверное с настройками намудрил.Дебюты из "летающих выбирали сами программы."А как сделать чтобы возможен был матч в классику.
Kallisto - Май 14, 2006 - 09:44 AM
Тема сообщения:
Результаты похожи на правду.
Каллисто 1 - это версия почти 3-летней давности. Конечно, она значительно слабее.

Начальные варианты берутся из fly.dat. Если в начале добавить пустых строк, то будет использоваться начальная расстановка шашек.

Кстати, а какой контроль времени в шашках считается нормальным? Какой используется на чемпионатах мира?
Kallisto - Май 14, 2006 - 10:06 AM
Тема сообщения:
Сделал страничку с описанием того, какие алгоритмы использует Каллисто 2. Может кому будет интересно.

www.igorkorshunov.narod.ru
Kvadrat64 - Май 14, 2006 - 10:49 AM
Тема сообщения:
Игорь, нельзя ли добавить режим игры с указанием времени на ход:
5 сек, 10, 15, 20, 30 и т.д. Это удобно при проведении турнирчиков Smile
Kallisto - Май 14, 2006 - 11:46 AM
Тема сообщения:
Нет. В каких турнирах Вы видели такой контроль?
Kallisto - Май 15, 2006 - 02:00 PM
Тема сообщения:
Меня самого заинтересовало насколько последнее усиление ОФ скажется на игре со слабыми противниками. Вот результаты игр против Каллисто 1:

Каллисто 2 - Каллисто 1 : +322 -11 =589
Каллисто 1.61 - Каллисто 1 : +318 -15 =589

Усиление едва заметно. Интересно было бы проверить в матче с другой сильной программой.
Kvadrat64 - Май 15, 2006 - 04:40 PM
Тема сообщения:
согласен, такого контроля в турнирах не бывает, но мне как оператору передающему ход от проги проге такой режим удобнее, особенно в конце партии, когда каллисто начинает играть в блиц. Отрицательно о контроле времени на ход высказывался и Старцев, но там особенности его программы. Если программа рещает что итерация не закончится за отведенное время, она заканчивается намного раньше, что зачастую идет во вред Plus600.
1000 партий в автоматическом режиме я вам наиграть не могу, но по летающим с участием тундры, дамиры, каллисто и plus600 организовать могу.
Kallisto - Май 16, 2006 - 06:13 AM
Тема сообщения:
Не понимаю, чем блиц плох (5 минут на партию)?
Kvadrat64 - Май 16, 2006 - 09:37 AM
Тема сообщения:
Лично для меня блиц не плох, я люблю блиц. А вот заставить играть в блиц Каллисто и Дамиру я не могу, так как должен передавать ходы вручную, а не через какие-то ваши там внутренности. При этом мне не хочется многократно переключаться туды-сюды Smile
Kallisto - Май 16, 2006 - 01:03 PM
Тема сообщения:
При любом контроле придется переключаться между окнами.
Kvadrat64 - Май 16, 2006 - 08:05 PM
Тема сообщения:
Я не точно выразился, скорость выдачи ходов программой Каллисто в конце партии превосходит мои способности по переключению между окнами. Только поэтому мне удобно ставить например 30 сек на ход. 30 сек прошло прога делает ход, переключаюсь, передаю ход и т.д. Ожидаемое время намного лучше, чем сидеть пялиться в экран ожидая хода. Только для удобства оператора и все. Smile
Игорь, вопросы - Каллисто долго стартует - базы грузятся в память?
Почему такой большой объем получился 678 997 031 байт?
Аналогичная база Дамиры, включая полную ранговую 6-ку и полную безранговую 6-ку имеет объем 643 285 399 байт.
Kallisto - Май 17, 2006 - 06:53 AM
Тема сообщения:
Можно выставлять фишеровский контроль X + 30. Х можно принять даже за единицу, если Вам так нравяться извращенные контроли. Между прочим при контроле время на один ход, любая программа тратит до 50% времени впустую.
Я в своей жизни провел более 1000 партий между шахматными (еще до WinBoard) и шашечными программами переключаясь между окнами, и чем программа быстрее ходит тем мне удобнее.

Базы совсем несжаты. В каждом байте храниться 4 позиции, хотя можно было хранить 5. Это делалось для того, чтобы при сжатии лучше сжимались. Но в конце концов я решил отказаться от сжатия совсем.
Damon - Май 18, 2006 - 01:07 AM
Тема сообщения:
Уважаемые программисты!
Меня давно интересовал вопрос о контроле время/ход – как поступают программы по истечении времени, если итерация не завершена? (Здесь не первый раз критикуется "поведение" PLUS в подобной ситуации).
Предположим, на завершенной итерации оптимальным считается вариант, начинающийся ходом 1; время есть – расчет продолжается, и пусть к его истечению в незавершенной итерации текущим оптимальным явл. вариант с ходом 2 (и ход 1 уже рассмотрен).
Прокомментируйте хотя бы в общих чертах действия ваших программ в таком (или подобном) случае; м.б. какие-нибудь "усеченные" итерации при нехватке времени используются, или какие иные меры предпринимаются для недопущения (?) подобных ситуаций...
Kallisto - Май 18, 2006 - 05:11 AM
Тема сообщения:
Damon писал(а):
Уважаемые программисты!
Меня давно интересовал вопрос о контроле время/ход – как поступают программы по истечении времени, если итерация не завершена? (Здесь не первый раз критикуется "поведение" PLUS в подобной ситуации).
Предположим, на завершенной итерации оптимальным считается вариант, начинающийся ходом 1; время есть – расчет продолжается, и пусть к его истечению в незавершенной итерации текущим оптимальным явл. вариант с ходом 2 (и ход 1 уже рассмотрен).
Прокомментируйте хотя бы в общих чертах действия ваших программ в таком (или подобном) случае; м.б. какие-нибудь "усеченные" итерации при нехватке времени используются, или какие иные меры предпринимаются для недопущения (?) подобных ситуаций...


Не совсем понятен вопрос. При истечении времени на ход выбирается текущий оптимальный (а что еще делать?).

Эта ситуация ничем не грозит, кроме потери времени. Поэтому надо хорошенько подумать прежде чем начинать следующую итерацию: а хватит ли у нас времени, чтобы ее закончить? Т.е. такие ситуации лечатся профилактикой.
Damon - Май 18, 2006 - 06:03 PM
Тема сообщения:
Kallisto писал(а):
Не совсем понятен вопрос. При истечении времени на ход выбирается текущий оптимальный (а что еще делать?).

"Текущим оптимальным" ессно явл. лучший ход завершенной итерации, т.е. в моем примере – ход 1, так?
Kallisto писал(а):
... ситуация ничем не грозит, кроме потери времени. Поэтому надо хорошенько подумать прежде чем начинать следующую итерацию: а хватит ли у нас времени, чтобы ее закончить?

Однако же Plus так себя и ведет... Другой разговор, что при контроле время/ход "экономия" времени не нужна... Но к чему тогда утверждение "Если программа решает что итерация не закончится за отведенное время, она заканчивается намного раньше, что зачастую идет во вред Plus600" (Kvadrat64)? Неужели [ситаете, что] С.Старцев обрывает расчет раньше времени?
Kvadrat64 - Май 18, 2006 - 07:49 PM
Тема сообщения:
Получается да, расчет обрывается раньше времени. Я вижу по работе программы, иногда она думает до 13 сек, вместо предложенных 30 и не делает попытки думать хотя бы 29 секунд. Возможно по этой причине Сергей считает такой режим неоптимальным для Plus600. Иное дело время на партию, тогда все итерации будут доведены до конца, только с разными глубинами.
Kallisto - Май 19, 2006 - 06:30 AM
Тема сообщения:
Цитата:
"Текущим оптимальным" ессно явл. лучший ход завершенной итерации, т.е. в моем примере – ход 1, так?


Лучший текущей (незавершенной итерации), т.е. ход 2.

При контроле время на ход обрывать расчет раньше времени вообще не имеет смысла.
AlexanderS - Май 19, 2006 - 04:54 PM
Тема сообщения:
Я не понимаю в чем проблема? Если программа выдает ход за 13 секунд вместо 30-ти значит она с большой долей вероятности уверена в том, что за оставшееся время не сможет довести дальнейшие вычисления до логического завершения. При использовании например алгоритма MTD(f) результаты текущей итерации неточные до полного завершения вычислений, таким образом нельзя прервать вычисления как в классическом alpha-beta после нескольких просчитанных ходов и получить "хоть что-то".

Я тоже считаю режим N времени на 1 ход совершенно неоптимальным. Либо до конца партии, либо время на несколько ходов (20,30,40)

Вот с Каллисто был случай - поставили позицию из миттельшпиля, для разыгрывания, по 3 минуты, запустили счет, так за 3 минуты и не сходила - уронила флажок. Вот это попроблемнее вещь ;)
Kallisto - Май 19, 2006 - 06:07 PM
Тема сообщения:
MTD(f) в любой момент времени имеет лучший ход, как и альфа-бета. Поэтому может быть прерван без особых проблем.

Цитата:
Вот с Каллисто был случай - поставили позицию из миттельшпиля, для разыгрывания, по 3 минуты, запустили счет, так за 3 минуты и не сходила - уронила флажок. Вот это попроблемнее вещь ;)


Можно об этом поподробнее?
AlexanderS - Май 20, 2006 - 12:26 AM
Тема сообщения:
Kallisto писал(а):
MTD(f) в любой момент времени имеет лучший ход, как и альфа-бета. Поэтому может быть прерван без особых проблем.

Имеет, но только за предыдущую итерацию (если не используется полная оценка ходов по очереди, что в общем почти аналогично NS)
Цитата:
Вот с Каллисто был случай - поставили позицию из миттельшпиля, для разыгрывания, по 3 минуты, запустили счет, так за 3 минуты и не сходила - уронила флажок. Вот это попроблемнее вещь ;)


Можно об этом поподробнее?

Да куда уж подробнее Smile Могу позицию откопать если кто вспомнит, логов уж точно не осталось.
Kallisto - Май 20, 2006 - 03:52 AM
Тема сообщения:
Стандартный MTD(f) имеет лучший ход за текущую итерацию, не хуже чем альфа-бета.

Неужели есть позиция на которой всегда роняется флажок? Что же Вы молчали до сих пор?
Между прочим, нахождение багов помогает улучшать программы Smile Так что, если кто находит что-то неправильное, то лучше сразу сообщить об этом автору.
AlexanderS - Май 20, 2006 - 04:13 PM
Тема сообщения:
Kallisto писал(а):
Стандартный MTD(f) имеет лучший ход за текущую итерацию, не хуже чем альфа-бета.

Неужели есть позиция на которой всегда роняется флажок? Что же Вы молчали до сих пор?
Между прочим, нахождение багов помогает улучшать программы Smile Так что, если кто находит что-то неправильное, то лучше сразу сообщить об этом автору.


у MTD(f) может быть несколько стратегий поиска лучшего хода, насколько мне помнится. Если просматривать и оценивать ходы по очереди, аналогично AB и NS то да, но тогда теряются некоторые преимущества MTD(f) в части накопления информации. А если отсекать худшие ходы то в любой конкретный момент времени мы будем иметь несколько предположительно лучших ходов с неопределенной оценкой, и пока вычисления не закончим не сможем выбрать из них определенно лучший.

Что касается того глюка - было один раз и недавно, буду в шашечном центре спрошу что за позицию мы тогда ставили
Kvadrat64 - Июль 30, 2006 - 07:55 PM
Тема сообщения:
Игорь, не содержит ли ошибок ЭБ6 Каллисто? Есть подозрение, что есть ошибки.
Kallisto - Июль 31, 2006 - 09:29 AM
Тема сообщения:
Ошибок нет. Но она безранговая. К тому же я так и не сделал, чтобы перед анализом убирать все плохие по базе ходы. Отсюда могут быть неточности при игре.
Kvadrat64 - Июль 31, 2006 - 05:14 PM
Тема сообщения:
Т.е. получается, что программа имея выигранную позицию может выпустить выигрыш? Мне кажется это серьезная недоработка.
Как запустить Engines match - Kallisto2-Kallisto2? У меня никак не получается, зависает программа и при 512 мб и при 1792 мб.
Какой нужно выбрать Memory Limit? Taskman показывает, что Каллисто потребляет (примерно) от 60 до 100 мб, т.е. по идее 512 мб должно хватить для игры Каллисто2-Каллисто2.
Kallisto - Июль 31, 2006 - 07:31 PM
Тема сообщения:
Нужно сделать копию dll. Одну и ту же винда не может загрузить два раза. Памяти для матча нужно 2 * (memory limit + размер ЭБ).
Kvadrat64 - Июль 31, 2006 - 08:26 PM
Тема сообщения:
Было у меня предположение, что нужно копию dll, я делал Kallisto22.dll
(64+647)*2=1422 mb, да, вполне вероятно, что нехватило памяти.
1. А что, базы целиком грузятся в память? У меня дома 512 мб, Каллисто только запускается долго, потом быстро играет и свопинга никакого нет. Завтра попробую 5-ку сгенерить.
2. А в режиме Каллисто2-Каллисто1, Каллисто1 обращается к базам? 3. Или базы под Каллисто2 заточены?
3. И еще вопрос: можно ли отредактировать fly.dat убрав "нормальные" дебюты, чтобы Каллисто играла исключительно летающие?
4. Пока писал вопросы созрел еще один. Достаточно ли убрать окончания начинающиеся на 6хххх.ed, чтобы получить базу пятерки? И генерировать ничего не надо.
Kallisto - Авг 01, 2006 - 07:16 AM
Тема сообщения:
1. Да. Скорость доступа очень критична. Даже сжимать базы уже малоцелесообразно.

2. Все версии Каллисто поддерживают одни и те же базы.

3. Да. Его можно редактировать как угодно. Даже пустые строки вставлять (будет играть с начальной позиции).

4. Достаточно. Специально для этого сделал. Первая цифра в названии - это количество шашек в таблице окончаний.
Kvadrat64 - Авг 01, 2006 - 04:00 PM
Тема сообщения:
Благодарю за ответы. На работе запустил Каллисто в режиме матча Каллисто2-Каллисто2 с базой 6 фигурки на компьютере с 1гб и временем 10 мин + 3 сек, любопытно будет посмотреть результаты. Удобно, что файл games.pdn формируется на "лету". Качество партий с таким контролем должно быть достаточно высоким. Когда уходил, счет в матче был +2-0=23. Думаю, несколько суток играть будет. Интересно, в чью пользу счет? Wink
Возможен ли запуск матча, в котором Каллисто2 играет с базой 6 против Каллисто2 с базой 4-ки? Жаль нет движков от других программ -Авроры, Дамиры, Plus600, Торнадо, Тундры и т.д. Очень удобно проводить соревнования или тестирование...
Судя по тому, как Вы отрицательно настроены по отношению к сжатию баз, появление 7-ки или 8-ки не стоит ожидать?
Kallisto - Авг 01, 2006 - 04:52 PM
Тема сообщения:
Счет всегда показывается с точки зрения первого движка (Game->Engines...->First).

По поводу движков. Есть Kestog, MiuMiu. Подключить движок к оболочке очень просто. Kestog я подключил за полчаса.

Вообще не стоит ожидать появление хоть чего-нибудь. Т.к. интерес к шашкам-64 практически пропал. Может быть когда-нибудь займусь шашками-100. Но пока отпугивает такой же беспорядок с движками.
Kvadrat64 - Авг 01, 2006 - 07:15 PM
Тема сообщения:
Может заняться 80-ти клетками? Там и ничейность намного ниже, и программ нет, кроме старой глючной Agafonof Club
Kallisto - Авг 01, 2006 - 08:32 PM
Тема сообщения:
Если не с кем играть, то мне 80 неинтересны.
AlexanderS - Авг 02, 2006 - 01:28 AM
Тема сообщения:
В Авроре уже имеется возможность подключения произвольных движков по протоколам Kallisto, Checkersboard, и возможность устраивать между ними (или Авророй) матчи. У checkersboard только один движок по русским - KestoG, который Игорь переделал так же и под интерфейс Каллисто. Я запускал матчи с контролем по 1 и по 5 минут между разными движками (и с разными базами), контроль времени на конечный результат не влияет, выяснилось что наличие баз на силу игры Каллисто2 также влияет незначительно - между движками с базами 6 и 5 разница приблизительно в 20 пунктов ЭЛО, между 5 и 0 - приблизительно столько же. Каллисто1 играет на разряд слабее, KestoG и MiuMiu играют практически одинаково и еще на разряд слабее, уже на уровне кмс. SiDra - на уровне 3-го разряда. Движок Авроры я сейчас переделываю, но пока он вне сравнения с Каллисто2, где-то ближе к MiuMiu. Точные цифры у меня дома, если интересно могу привести все результаты и партии.

Подключить любой движок к интерфейсу Авроры или Каллисто - пара минут, но думаю что у авторов Дамиры, Plus600, Торнадо, Тундры и т.д. такая мысль вряд ли возникнет Smile
Kallisto - Авг 02, 2006 - 06:19 AM
Тема сообщения:
выяснилось что наличие баз на силу игры Каллисто2 также влияет незначительно - между движками с базами 6 и 5 разница приблизительно в 20 пунктов ЭЛО, между 5 и 0 - приблизительно столько же

На самом деле все сложнее и зависит от наличия ЭБ у противника. Об я уже говорил в соседнем топике.
MiG - Авг 03, 2006 - 04:40 AM
Тема сообщения:
AlexanderS писал(а):
Михаил, давно уже известно что скорость генерации ходов, скорость перебора, и вообще качество реализации алгоритмов имеет десятое значение для силы игры программы.


Александр, извини, не совсем понял, что ты имеешь ввиду.
AlexanderS - Авг 03, 2006 - 07:32 AM
Тема сообщения:
MiG писал(а):
А для хорошего движка нужен хороший генератор ходов.

А разработка хорошего (быстрого) генератора — весьма нетривиальная задача. Медленный же генератор сделать значительно проще.


Для конечной силы игры не имеет значения с какой скоростью выдаются ходы из генератора - 10,100,500 тыс. в секунду. Гораздо большее значение имеет применяющийся при поиске алгоритм и его ухищрения, а еще большее значение - оценочная функция.

Можно сравнить с частотой у процессоров - PIV на реальной частоте 4000 работает медленнее чем Athlon на реальной же - 2400.
Kallisto - Авг 03, 2006 - 08:30 AM
Тема сообщения:
Конечно, скорость генерации ходов имеет малое отношение к силе игры. Но не стоит так уж пренебрегать. Если скорость будет 10 тыс. в сек., то это поставит крест на всех остальных алгоритмах. Просто чтобы сделать такой генератор нужно очень постараться. Обычно, генератор ходов не занимает более 10% времени вычислений. Т.е. если написать совсем идеальный (выполняющийся мгновенно) генератор ходов, то программа получит всего 10% ускорение. Это очень несущественно, по сравнению с тем чего можно добиться усилив ОФ. А в прогах по русским шашкам еще очень слабенькие ОФ.
Kallisto - Авг 03, 2006 - 08:58 AM
Тема сообщения:
Например, в Каллисто генератор ходов выдает от 14 до 30 млн. ходов в секунду, в зависимости от позиции. А скорость перебора около 1.3 млн. позиций в секунду. Т.е. генератор ходов мало ограничивает основную скорость.
Kvadrat64 - Авг 12, 2006 - 04:32 PM
Тема сообщения:
Игорь, у меня вопрос по записи в pdn
Получается, что в случае нечетного количества ходов в fly.dat,
первым ходом в pdn будет ход черных? Это же неправильно, там или пробелы надо поставить или точки.
Пример fly.dat: cd4 ba5 bc3
Что получается в pdn: 1. f6-g5 d4-c5 2. d6:b4 a3:c5 3. g7-f6 g3-f4
Думаю, надо так: 1. ..... f6-g5 2. d4-c5 d6:b4 3. a3:c5 g7-f6 4. g3-f4
Kallisto - Авг 13, 2006 - 12:23 PM
Тема сообщения:
Просто не в курсе, что по этому поводу говориться в формате pdn. Поэтому как уж получилось.
NS - Авг 22, 2006 - 11:17 AM
Тема сообщения:
А можно немного рассказать об основных признаках в ОФ шашечных программ (русские шашки), и о переборных алгоритмах (продления, отечения и т.д.)
Alkand - Авг 22, 2006 - 12:15 PM
Тема сообщения:
NS писал(а):
А можно немного рассказать об основных признаках в ОФ шашечных программ (русские шашки), и о переборных алгоритмах (продления, отечения и т.д.)

Воспользуйтесь поиском по форуму. Это уже не раз обсуждалось.
NS - Авг 22, 2006 - 12:18 PM
Тема сообщения:
Воспользовался - ничего не находит...
В одноименной ветке - ничего про ОФ программ нет.
Kallisto - Авг 22, 2006 - 08:01 PM
Тема сообщения:
У меня на сайте написано как устроена Каллисто (а круче шашечной думалки нет).
NS - Авг 23, 2006 - 07:54 AM
Тема сообщения:
Достаточно простые алгоритмы, кстати ФВ всё-таки есть Smile (превращения)

А не планируется сделать коммерческую версию?
NS - Авг 23, 2006 - 08:07 AM
Тема сообщения:
plus600 писал(а):
Вы же не живых людей сравниваете, а программы.
Типичная выборка из 900 значений, сигма равно 30, три сигмы - 90 - это и есть разброс всех данных. То есть с одной сигмой это выглядит как +79(плюс-минус 30) -37(плюс-минус 30) =806(плюс-минус 30) .
Или +(от 50 до 110) -(от 10 до 50) =(от 780 до 840). А уж с тремя сигмами это выглядит и того хуже никакиой достоверной разницы.
А предложение исключить ничьи просто не проходит, уж что было, то было Laughing


Всего 922 партии, вероятность победы 79/922, ничьи 806/922, поражения 37/922

Код:
 467.5        0.090%       0.358%      99.732%
 468.0        0.116%       0.474%      99.642%
 468.5        0.148%       0.622%      99.526%
 469.0        0.188%       0.810%      99.378%
 469.5        0.236%       1.047%      99.190%
 470.0        0.294%       1.341%      98.953%
 470.5        0.363%       1.703%      98.659%
 471.0        0.443%       2.146%      98.297%
 471.5        0.537%       2.683%      97.854%
 472.0        0.644%       3.327%      97.317%
 472.5        0.766%       4.093%      96.673%
 473.0        0.903%       4.996%      95.907%
 473.5        1.054%       6.050%      95.004%
 474.0        1.220%       7.270%      93.950%
 474.5        1.399%       8.669%      92.730%
 475.0        1.590%      10.259%      91.331%
 475.5        1.792%      12.051%      89.741%
 476.0        2.000%      14.051%      87.949%
 476.5        2.213%      16.263%      85.949%
 477.0        2.426%      18.690%      83.737%
 477.5        2.637%      21.327%      81.310%
 478.0        2.840%      24.167%      78.673%
 478.5        3.032%      27.199%      75.833%
 479.0        3.208%      30.407%      72.801%
 479.5        3.364%      33.771%      69.593%
 480.0        3.497%      37.268%      66.229%
 480.5        3.603%      40.871%      62.732%
 481.0        3.679%      44.551%      59.129%
 481.5        3.724%      48.275%      55.449%
 482.0        3.737%      52.012%      51.725%
 482.5        3.717%      55.729%      47.988%
 483.0        3.665%      59.394%      44.271%
 483.5        3.582%      62.975%      40.606%
 484.0        3.470%      66.445%      37.025%
 484.5        3.333%      69.778%      33.555%
 485.0        3.173%      72.951%      30.222%
 485.5        2.995%      75.947%      27.049%
 486.0        2.803%      78.750%      24.053%
 486.5        2.600%      81.350%      21.250%
 487.0        2.392%      83.742%      18.650%
 487.5        2.181%      85.923%      16.258%
 488.0        1.972%      87.895%      14.077%
 488.5        1.768%      89.663%      12.105%
 489.0        1.571%      91.234%      10.337%
 489.5        1.385%      92.619%       8.766%
 490.0        1.210%      93.829%       7.381%
 490.5        1.049%      94.878%       6.171%
 491.0        0.901%      95.778%       5.122%
 491.5        0.768%      96.546%       4.222%
 492.0        0.649%      97.195%       3.454%
 492.5        0.543%      97.738%       2.805%
 493.0        0.451%      98.189%       2.262%
 493.5        0.372%      98.561%       1.811%
 494.0        0.304%      98.865%       1.439%
 494.5        0.246%      99.112%       1.135%
 495.0        0.198%      99.310%       0.888%
 495.5        0.158%      99.468%       0.690%
 496.0        0.125%      99.592%       0.532%
 496.5        0.098%      99.690%       0.408%
 497.0        0.076%      99.766%       0.310%


Сигма 21.18

Первая колонка - количество очков, вторая колонка вероятность исхода, третья и четвертая колонка - вероятность нарастающим итогом (начиная с нижнего, либо верхнего края)

Три Сигмы используются для подсчета доверительного 99.73% интервала в случае НОРМАЛЬНОГО распределения.
Как видите в данном случае правило трех сигм не работает. Не просто не работает - а выдает полный бред!
plus600 - Авг 23, 2006 - 08:15 AM
Тема сообщения:
Kallisto писал(а):
У меня на сайте написано как устроена Каллисто (а круче шашечной думалки нет).

Уважаемый, а Вы знаете, что такое скромность?
Kallisto - Авг 23, 2006 - 10:51 AM
Тема сообщения:
Борюсь с этим недостатком. Разве незаметно?
Kallisto - Авг 23, 2006 - 10:53 AM
Тема сообщения:
NS писал(а):
Достаточно простые алгоритмы, кстати ФВ всё-таки есть Smile (превращения)

depth <= 0 еще не значит, что есть ФВ Smile
Kallisto - Авг 23, 2006 - 11:01 AM
Тема сообщения:
NS
Я так и не понял, что ты этой таблицей хотел сказать.

У нас была задача определить явл. ли победивший движок более сильным. Тогда можно твой подход применить так:
Предполагаем крайний случай, т.е. что они равны. И проверяем насколько вероятно, что между двумя равными движками случится такой результат в пользу первого. Если это маловероятно, то значит первый движок сильнее.
Kallisto - Авг 23, 2006 - 11:09 AM
Тема сообщения:
NS писал(а):
Достаточно простые алгоритмы

Если можешь предложить что посложнее, то милости просим Smile
NS - Авг 23, 2006 - 11:55 AM
Тема сообщения:
Kallisto писал(а):
NS
Я так и не понял, что ты этой таблицей хотел сказать.

У нас была задача определить явл. ли победивший движок более сильным. Тогда можно твой подход применить так:
Предполагаем крайний случай, т.е. что они равны. И проверяем насколько вероятно, что между двумя равными движками случится такой результат в пользу первого. Если это маловероятно, то значит первый движок сильнее.


Я произвел расчеты того-же показателя, что и Plus600 - только не примерно, а точно (заданы вероятности результата, определить возможены исход после 922-ух туров)

Сейчас приведу доверительный интервал (аналог 3-х сигм - 99.7%)
Для случая жестко заданного процента ничьей (от него мало зависит, но возьмем тот, который случился в матче), и для равномерного распределения рейтинга.
Kallisto - Авг 23, 2006 - 12:16 PM
Тема сообщения:
[quote="NS"]
Kallisto писал(а):
NS
Сейчас приведу доверительный интервал (аналог 3-х сигм - 99.7%)
Для случая жестко заданного процента ничьей (от него мало зависит, но возьмем тот, который случился в матче), и для равномерного распределения рейтинга.


Как раз от процента ничьих тут все и зависит.
NS - Авг 23, 2006 - 12:20 PM
Тема сообщения:
Поэтому и возьму процент случившийся в матче. Smile
plus600 - Авг 23, 2006 - 12:41 PM
Тема сообщения:
Kallisto писал(а):
Борюсь с этим недостатком. Разве незаметно?

Уже не стоит и бороться, цель полностью достигнута.
NS - Авг 23, 2006 - 01:45 PM
Тема сообщения:
Доверительный интервал (цифры для слабейшего движка, всё в пунктах Эло):
Интервал 0.1 пункта Эло - расчет со всеми знаками после запятой (язык позволяет), Проценты по таблице Эло округлены до трех знаков после запятой (например 51.001)
Мат. Ожидание -15.6
Сигма 3.75
Доверительный интервал 99.7% [-26.0,-4.2]
(интервал считался не через сигму, а через распределение с минимизацие размера)
Так что предыдущая версия точно (99.7% Smile ) слабее.
Но разнице в силе может быть весьма мала.
NS - Авг 23, 2006 - 02:47 PM
Тема сообщения:
Kallisto писал(а):
NS
Я так и не понял, что ты этой таблицей хотел сказать.

У нас была задача определить явл. ли победивший движок более сильным. Тогда можно твой подход применить так:
Предполагаем крайний случай, т.е. что они равны. И проверяем насколько вероятно, что между двумя равными движками случится такой результат в пользу первого. Если это маловероятно, то значит первый движок сильнее.

При вероятностях 58/922, 806/922,58/922 -

Код:
 437.0        0.000%       0.001%     100.000%
 437.5        0.000%       0.001%      99.999%
 438.0        0.000%       0.001%      99.999%
 438.5        0.001%       0.002%      99.999%
 439.0        0.001%       0.003%      99.998%
 439.5        0.001%       0.004%      99.997%
 440.0        0.002%       0.006%      99.996%
 440.5        0.003%       0.009%      99.994%
 441.0        0.004%       0.013%      99.991%
 441.5        0.005%       0.018%      99.987%
 442.0        0.007%       0.025%      99.982%
 442.5        0.010%       0.036%      99.975%
 443.0        0.014%       0.050%      99.964%
 443.5        0.019%       0.069%      99.950%
 444.0        0.026%       0.095%      99.931%
 444.5        0.034%       0.129%      99.905%
 445.0        0.045%       0.174%      99.871%
 445.5        0.059%       0.233%      99.826%
 446.0        0.077%       0.310%      99.767%
 446.5        0.099%       0.409%      99.690%
 447.0        0.126%       0.535%      99.591%
 447.5        0.160%       0.695%      99.465%
 448.0        0.201%       0.896%      99.305%
 448.5        0.250%       1.147%      99.104%
 449.0        0.309%       1.456%      98.853%
 449.5        0.379%       1.835%      98.544%
 450.0        0.459%       2.294%      98.165%
 450.5        0.553%       2.847%      97.706%
 451.0        0.660%       3.507%      97.153%
 451.5        0.780%       4.287%      96.493%
 452.0        0.915%       5.202%      95.713%
 452.5        1.064%       6.267%      94.798%
 453.0        1.227%       7.494%      93.733%
 453.5        1.403%       8.897%      92.506%
 454.0        1.590%      10.487%      91.103%
 454.5        1.786%      12.273%      89.513%
 455.0        1.990%      14.263%      87.727%
 455.5        2.198%      16.461%      85.737%
 456.0        2.406%      18.867%      83.539%
 456.5        2.612%      21.479%      81.133%
 457.0        2.811%      24.290%      78.521%
 457.5        2.999%      27.289%      75.710%
 458.0        3.173%      30.462%      72.711%
 458.5        3.327%      33.789%      69.538%
 459.0        3.459%      37.248%      66.211%
 459.5        3.565%      40.813%      62.752%
 460.0        3.643%      44.456%      59.187%
 460.5        3.691%      48.147%      55.544%
 461.0        3.707%      51.853%      51.853%
 461.5        3.691%      55.544%      48.147%
 462.0        3.643%      59.187%      44.456%
 462.5        3.565%      62.752%      40.813%
 463.0        3.459%      66.211%      37.248%
 463.5        3.327%      69.538%      33.789%
 464.0        3.173%      72.711%      30.462%
 464.5        2.999%      75.710%      27.289%
 465.0        2.811%      78.521%      24.290%
 465.5        2.612%      81.133%      21.479%
 466.0        2.406%      83.539%      18.867%
 466.5        2.198%      85.737%      16.461%
 467.0        1.990%      87.727%      14.263%
 467.5        1.786%      89.513%      12.273%
 468.0        1.590%      91.103%      10.487%
 468.5        1.403%      92.506%       8.897%
 469.0        1.227%      93.733%       7.494%
 469.5        1.064%      94.798%       6.267%
 470.0        0.915%      95.713%       5.202%
 470.5        0.780%      96.493%       4.287%
 471.0        0.660%      97.153%       3.507%
 471.5        0.553%      97.706%       2.847%
 472.0        0.459%      98.165%       2.294%
 472.5        0.379%      98.544%       1.835%
 473.0        0.309%      98.853%       1.456%
 473.5        0.250%      99.104%       1.147%
 474.0        0.201%      99.305%       0.896%
 474.5        0.160%      99.465%       0.695%
 475.0        0.126%      99.591%       0.535%
 475.5        0.099%      99.690%       0.409%
 476.0        0.077%      99.767%       0.310%
 476.5        0.059%      99.826%       0.233%
 477.0        0.045%      99.871%       0.174%
 477.5        0.034%      99.905%       0.129%
 478.0        0.026%      99.931%       0.095%
 478.5        0.019%      99.950%       0.069%
 479.0        0.014%      99.964%       0.050%
 479.5        0.010%      99.975%       0.036%
 480.0        0.007%      99.982%       0.025%
 480.5        0.005%      99.987%       0.018%
 481.0        0.004%      99.991%       0.013%
 481.5        0.003%      99.994%       0.009%
 482.0        0.002%      99.996%       0.006%
 482.5        0.001%      99.997%       0.004%
 483.0        0.001%      99.998%       0.003%
 483.5        0.001%      99.999%       0.002%
 484.0        0.000%      99.999%       0.001%
 484.5        0.000%      99.999%       0.001%
 485.0        0.000%     100.000%       0.001%


Вероятность набрать 482 очка и более - 0.006%
Так что можно сказать что играет сильнее с вероятностью 99.994%

Короче понятно, что как раз с точки зрения статистики - новая версия очень убедительно играет сильнее....
Kallisto - Авг 23, 2006 - 03:52 PM
Тема сообщения:
NS писал(а):
Но разнице в силе может быть весьма мала.

Это из-за того, что даже идеальная программа будет не намного сильнее. Все дело в том, что в шашках ошибиться не так уж и просто.
Kvadrat64 - Авг 23, 2006 - 06:16 PM
Тема сообщения:
В режиме Каллисто2-Каллисто2 результативность (проигрыш-выигрыш) колеблется от 5% до 10%. Если грубо, каждая 15-ая партия.
Если предположить, чтоошибочный ход делается на 8-10 ходе, получается, что примерно каждый 300 ход ошибочный. (Речь идет о дебюте).
Игорь, как у Вас программа ловит одинокую дамку тремя, перебором или зная принцип игры в этом окончании?
Kallisto - Авг 23, 2006 - 07:08 PM
Тема сообщения:
и то и другое
Kvadrat64 - Авг 27, 2006 - 01:08 PM
Тема сообщения:
Игорь, извините за назойливость, опять вопрос по ЭБ6 и ЭБ5.
Некоторое время тому назад я сгенерировал базу 6-ки и на некоторых слабых компьютерах пользуюсь базой 5-ки, убрав 6-ти фигурные окончания. Сегодня любопытства ради, решил сгенерировать 5-ку, и обнаружил разницу в базах! Базы 2-4 не отличаются, отличия на уровне 5-ки. Вот список различных файлов:
50014,50041,50113,50212,50311,50410,51004,51103,51202,51301,51400.
Где-то уже писалось, что создание ЭБ - детерминированный процесс, и, следовательно, базы не должны различаться. В чем же дело?
Различия содержимого в файлах (file compare) от одного байта до 1 kb, а размеры баз полностью совпадают.
Kallisto - Авг 27, 2006 - 01:30 PM
Тема сообщения:
Они не могут отличаться, если генерировались одной и той же программой.
Попробуйте еще раз сгенерировать и посмотрите, что получится.
Можете прислать мне по почте две версии 50014?
Kvadrat64 - Авг 27, 2006 - 01:39 PM
Тема сообщения:
Да, конечно, сейчас вышлю. Возможно, первый раз я генерировал базу при помощи KallistoEdGen.exe входящего в состав Авроры, а сегодня при помощи KallistoEdGen.exe входящего в состав Каллисто. Но, сравнив эти две версии убедился, что они идентичны (file compare /b).
Сравнение файлов 50014.ed и E:\KALLISTO2\ED\KALLISTO\VER1\50014.ED
00002358: A9 AA
00003847: 9A AA
000072E2: 86 82
000076B1: 9A AA
00008B09: 6A AA
0000AF4F: 06 0A
0000C43E: 40 80
0000C781: 9A AA
0000D74C: 6A AA
0000DBA8: A9 AA
0000EC3C: 86 8A
000102A8: 6A AA
00010F64: 55 15
00010F65: 55 45
00010F68: 15 11
00010F69: 85 81
00011701: A9 AA
000124E3: 41 00
00012AA6: A6 AA
00013EFE: 9A AA
00015378: 6A AA
00016344: 05 04
0001679F: A6 AA
00017833: 9A AA
00017B76: A6 AA
00018F9C: 6A AA
0001B69D: 5A 6A
0001CAF5: 62 22
0002076D: 5A 6A
00021B94: A9 AA
Kvadrat64 - Авг 27, 2006 - 02:04 PM
Тема сообщения:
Файлы выслал на igorkorshunov@yandex.ru
Повторная перегенерация (третья по счету) дает полное совпадение с только что сгенерированной (второй по счету).
Следовательно мартовская генерация была сбойной? Там генерировал в режиме 6-ки.
Kvadrat64 - Авг 27, 2006 - 03:59 PM
Тема сообщения:
Я нашел версию которой генерировал в марте, действительно, она сильно отличается содержимым, несмотря на совпадение размеров с текущей версией KallistoEdGen.exe. Распространялась та версия вместе с Авророй, с которой и увидела свет "самостоятельная" Каллисто.
Та версия от 01 марта 2006 г.
Kallisto - Авг 27, 2006 - 05:22 PM
Тема сообщения:
Вспомнил!
В старом генераторе ходов была ошибка. Поэтому базы немного отличаются. Но отличия только на исключительных позициях. Это могло проявляться только в одной партии из 300.

Лучше сгенерировать базы заново новым генератором (тот что был на моем сайте, а не тот что с мартовской Авророй).
Kvadrat64 - Авг 27, 2006 - 05:56 PM
Тема сообщения:
Понятно. Тогда несколько вопросов.
Значит, если наиграно около 9000 партий, то примерно 30 из них могут быть некорректными? Или результаты всех этих партий теперь недостоверные? Wink
Шестифигурные окончания тоже могут различаться?
Какие это исключительные позиции? Судя по большому различию баз например в окончании 50311 (это одно из наиболее часто встречающихся игровых окончаний, как я понимаю - либо 3 простые против дамки и простой, либо три дамки против дамки и простой), результаты всех 9000 партий придется поставить под сомнение. Sad
Kallisto - Авг 27, 2006 - 06:52 PM
Тема сообщения:
Под сомнение стоит поставить то, что это оказывало хоть какое-то влияние. Ошибочны были позиции в которых при взятиях шашка либо возвращалась на свое место, либо перепрыгивала его. Это очень редкие позиции. К тому же Калиисто не использует позиции из базы в которых возможно взятие (это нужно было для работы со сжатыми базами).
Kallisto - Авг 27, 2006 - 07:16 PM
Тема сообщения:
Kvadrat64 писал(а):
Судя по большому различию баз например в окончании 50311 (это одно из наиболее часто встречающихся игровых окончаний, как я понимаю - либо 3 простые против дамки и простой, либо три дамки против дамки и простой)

1 простая, которая ходит первой против 3 дамок и простой. Ошибки в тех позициях где эта простая сносит почти все шашки соперника. Но Каллисто совсем не смотрит такие позиции в ЭБ.
plus600 - Авг 29, 2006 - 08:12 AM
Тема сообщения:
Kallisto писал(а):
Kvadrat64 писал(а):
Судя по большому различию баз например в окончании 50311 (это одно из наиболее часто встречающихся игровых окончаний, как я понимаю - либо 3 простые против дамки и простой, либо три дамки против дамки и простой)

1 простая, которая ходит первой против 3 дамок и простой. Ошибки в тех позициях где эта простая сносит почти все шашки соперника. Но Каллисто совсем не смотрит такие позиции в ЭБ.

То, что не смотрит при игре, это понятно, а разве при расчете ЭБ они не используются?
Kallisto - Авг 29, 2006 - 08:41 AM
Тема сообщения:
Используются. Поэтому ошибки очень редко, но возможны, и лучше базы перестроить.
Kvadrat64 - Авг 29, 2006 - 05:26 PM
Тема сообщения:
Уже перестроил Smile
Кстати, Игорь, проверьте свои базы! Вы мне написали, что правильный файл в каталоге ver1, а он как раз мартовский, т.е. не точный! Wink
Kallisto - Авг 29, 2006 - 10:32 PM
Тема сообщения:
Да. Я и сам пользовался старыми базами. Уже не помню то ли просто забыл, то ли решил, что эти ошибки столь несущественны, что не стоит из-за них тратить несколько часов на построение новой базы.

Но теперь, т.к. играю матч против Дамиры, то перестроил, на всякий случай Smile
Kvadrat64 - Сен 03, 2006 - 08:21 AM
Тема сообщения:
Игорь, не помешало бы добавить программе автобой и пару кнопок - Сдаться, предложить ничью.
Kvadrat64 - Сен 03, 2006 - 08:57 AM
Тема сообщения:
Буквально только что вылез такой баг программы. Я решил устроить аналогичный турнир с теми же дебютами Каллисто-Дамира и Plus600-Дамира.
Вот вторая партия Каллисто-Дамира:
1. a3-b4 f6-e5
2. b4-c5 d6:b4
3. c3:a5 g7-f6
4. b2-c3 e7-d6
5. a1-b2 a7-b6
6. e3-d4 f6-g5
7. d4:f6 g5:e7
8. d2-e3 h8-g7
9. g3-f4 e7-f6
10. c1-d2 b6-c5
11. c3-d4 b8-a7
12. d4:b6 a7:c5
13. d2-c3 c5-b4
14. b2-a3 b4:d2
15. e3:c1 f6-e5
16. a3-b4 e5:g3
17. h2:f4 g7-f6
18. c1-d2 f6-e5
19. g1-h2 e5:g3
20. h2:f4 f8-g7
21. d2-c3 d8-e7
22. c3-d4 e7-f6
23. f2-e3 f6-g5
24. d4-c5 g7-f6
25. c5:e7 f6:d8
26. b4-c5 d8-e7
27. c5-b6 e7-f6
28. b6:d8 h4-g3
29. f4:h2 g5-h4
30. d8:g5 h4:f6
И вот тут выскочило сообщение:
Каллисто: move not found
После чего Каллисто зависла, а через некоторое время вылетела.
Kvadrat64 - Сен 03, 2006 - 09:35 AM
Тема сообщения:
Полагаю, что-то с базами. Возможно 4 простые против 2 простых. Rolling Eyes
Kallisto - Сен 03, 2006 - 09:39 AM
Тема сообщения:
Посмотрел в режиме анализа все хорошою. Видимо опять пондеринг :(
Послал версию с логами. Если будут еще проблемы присылайте логи.

Если сдаетесь или ничья, то просто начинайте новую партию. Автобой будет не очень удобно.
Kallisto - Сен 03, 2006 - 09:51 AM
Тема сообщения:
В режиме партии удалось воспроизвести проблему Smile
Проблема в пондеринге. Когда-то я ее уже исправлял. Попробую исправить еще раз Smile
Kvadrat64 - Сен 03, 2006 - 10:07 AM
Тема сообщения:
А зачем там пондеринг? Нормальная поза, из базы.
Может его отключать, если уже находимся в ЭБ?
А если у Вас на Кубке сайта вылезет такая проблема, как будет засчитана партия? Wink
Кстати, пондеринг вовсе не обязывает вас мгновенно делать ответный ход. Если ход угадан, можно немножко подумать еще Very Happy
Этим страдает и Тундра. Против Plus600 это может дать положительный эффект, а против Дамиры, у которой пондеринга нет, может сказаться отрицательно.

Да, в режиме партии ошибка есть (если присутствуют), в режиме анализа - нет.
Базы убрал, в режиме партии ошибка исчезла.
Базы поставил, ошибка есть и в версии с лог файлом.
А может все-таки базы??? Rolling Eyes
Kallisto - Сен 03, 2006 - 11:13 AM
Тема сообщения:
Если сбой случается во время турнира, то оператор восстанавливает работоспособность программы (ее часы в это время идут) и продолжает с проблемной позиции.

На угаданные ходы Каллисто вовсе не отвечает мгновенно.

Выслал исправленную версию. Ошибка была из-за того, что во время угадывания возможного продолжения Каллисто дошла до позы, где у Дамиры нет шашек и не смогла корректно вернуться.
Kvadrat64 - Сен 03, 2006 - 01:30 PM
Тема сообщения:
Версию потестирую.
Вот Вам для размышлений:
Дамира-Каллисто2
1. a3-b4 f6-e5 2. b4-c5 d6:b4 3. c3:a5 g7-f6 4. b2-c3 f6-g5
5. g3-f4 e5:g3 6. h2:f4 e7-d6 7. c3-d4 h8-g7 8. d4-e5 d6-c5
9. d2-c3 c5-d4! 10. e3:c5 g5:e3 11. f2:d4 c7-b6 12. a5:c7 b8:d2
13. c1:e3 f8-e7 14. e3-f4 g7-f6 15. e5:g7 h6:f8 16. a1-b2 a7-b6
17. e1-d2 e7-d6 18. d4-e5 d6-c5 19. e5-f6 c5-b4 20. g1-f2 b4-a3
21. b2-c3 b6-c5 22. f4-e5 c5-d4 23. c3-b4 a3:c5 24. e5:c3 d8-c7
25. d2-e3 c7-b6 26. e3-f4 b6-a5 27. f2-e3 c5-b4 28. c3-d4 b4-a3
29. d4-e5 a3-b2 30. f6-e7 f8:d6 31. e5:c7 =

(Дамира+Plus600+Квадрат64)-Каллисто2
1. a3-b4 f6-e5 2. b4-c5 d6:b4 3. c3:a5 g7-f6 4. b2-c3 f6-g5
5. g3-f4 e5:g3 6. h2:f4 e7-d6 7. c3-d4 h8-g7 8. d4-e5 d6-c5
9. d2-c3 c7-b6? 10. a5:c7 d8:b6 11. c3-d4 c5-b4 12. e1-d2 f8-e7
13. a1-b2 b4-a3 14. d2-c3 b6-a5 15. d4-c5 e7-d6 16. c5:e7 g7-f6
17. e5:g7 h6:d6 18. f4:h6 d6-e5 19. g1-h2 a7-b6 20. e3-d4 a5-b4
21. c3:c7 e5:a1 22. c7-d8 b8-a7 23. f2-e3 a1-b2 24. d8-a5 b2-a1
25. a5-e1 a1-f6 26. e1-a5 f6-h8 27. e3-f4 h8-f6 28. a5-d2 a7-b6
29. d2-e1 f6-d4 30. e1-a5 b6-c5 31. a5-b4 h4-g3 32. b4:f8 g3:e5
33. h6-g7 d4-a1 34. f8-e7 a1-c3 35. e7-h4 c3-d4 36. g7-f8 d4-a7
37. f8-g7 a7-d4 38. g7-h6 d4-a7 39. h2-g3 a7-b8 40. h6-g7 и т.д. 1-0

Квадрат64-Каллисто2.01.02:
1. a3-b4 f6-e5 2. b4-c5 d6:b4 3. c3:a5 g7-f6 4. b2-c3 f6-g5
5. g3-f4 e5:g3 6. h2:f4 e7-d6 7. c3-d4 h8-g7 8. d4-e5 d6-c5
9. d2-c3 c7-b6? 10. a5:c7 d8:b6 11. c3-d4 b6-a5 12. d4:b6 a5:c7
13. a1-b2 f8-e7 14. b2-c3 a7-b6 15. c3-d4 b6-a5 16. c1-b2 c7-b6
17. e1-d2 b8-a7 18. d2-c3 b6-c5 19. d4:b6 a5:c7 20. b2-a3 a7-b6
21. c3-d4 e7-d6 22. g1-h2 d6-c5 23. h2-g3 g7-f6 24. e5:g7 h6:f8
25. f4:h6 c7-d6 26. g3-f4 b6-a5 27. d4:b6 a5:c7 28. e3-d4 c7-b6
29. f2-e3 d6-c5 30. f4-e5 b6-a5 31. d4:b6 a5:c7 32. e3-f4 f8-e7
33. h6-g7 e7-d6 34. g7-f8 c7-b6 35. f8:a7 h4-g3 36. f4:h2 1-0

Мне кажется, немного надо ограничить Каллисто от рискованных ходов.
Хотя, возможно, турнирная версия Каллисто будет свободна от этого недостатка. Wink
Игорь, размер последнего движка поражает воображение. Вы уверены, что ничего там не усекли, не убрали ничего лишнего/нужного?
116 kb, совсем ничего не осталось ... Shocked
Kallisto - Сен 03, 2006 - 02:17 PM
Тема сообщения:

Это видимо та редкая позиция, когда стратегия окружения не проходит. Как это объяснить программе?
Kallisto - Сен 03, 2006 - 02:22 PM
Тема сообщения:
Kvadrat64 писал(а):
Мне кажется, немного надо ограничить Каллисто от рискованных ходов.
Хотя, возможно, турнирная версия Каллисто будет свободна от этого недостатка. Wink
Игорь, размер последнего движка поражает воображение. Вы уверены, что ничего там не усекли, не убрали ничего лишнего/нужного?
116 kb, совсем ничего не осталось ... Shocked

Рискованный ход - это человеческая оценка. Программа рассуждает совсем иначе. Размер зависит только от компилятора, и он мог быть в несколько раз меньше.
Kvadrat64 - Сен 03, 2006 - 04:28 PM
Тема сообщения:
Kallisto писал(а):

Это видимо та редкая позиция, когда стратегия окружения не проходит. Как это объяснить программе?

Ну-у-у, я не знаю Embarassed ... но попробую.
1. Отсутствие на h2, g3 отсталой шашки белых. Треугольник h4, h6, g5 оправдывает себя (как правило) если у белых застряла шашка на h2, g3 -> при наличии на F4 белой шашки -> при наличии на d6 черной шашки + желательно иметь поле a5
2. Наличие массы темпов у белых - не тронуты шашки a1, c1, e1
3. Нарушена связь между флангами у черных. На вертикалях d e не осталось черных шашек. Отсутствует "золотая" d8
4. Шашки черных "расползлись" по флангам (ну, это бывает при игре на окружение) - это следствие пункта 3.
Поэтому, навскидку, позиция благоприятная для белых.
Более точно описать позицию может Алканд, если захочет. Smile
Эти правила, наверно, трудно формализовать и описать в ОФ, а жаль.
Kvadrat64 - Сен 03, 2006 - 04:35 PM
Тема сообщения:
Kvadrat64 писал(а):
Версию потестирую.

Попробую завтра запустить матч Каллисто2.01.02-Каллисто_2_log
партий так на 800. Я немного добавил для интереса в Ваш Fly.dat свои дебюты Smile , теперь там 396, вот его и запущу.
Kallisto - Сен 03, 2006 - 06:40 PM
Тема сообщения:
Подумать над этой позицией явно стоит. На первый взгляд кажется идея о потере связи между флангами может оказаться полезной. Как бы ее формализовать получше?

Матч Каллисто2.01.02-Каллисто_2_log делать не надо, т.к. это все одна и та же версия Каллисто 2. Только с включенным логом + исправлена ошибка с пондерингом.
Kallisto - Сен 03, 2006 - 06:44 PM
Тема сообщения:
В fly.dat - все начальные позиции из летающих шашек (те что были в xls на этом сайте). Может быть я парочку явно перекошенных удалил. Уже не помню.
Kvadrat64 - Сен 03, 2006 - 06:54 PM
Тема сообщения:
Kallisto писал(а):
Подумать над этой позицией явно стоит. На первый взгляд кажется идея о потере связи между флангами может оказаться полезной. Как бы ее формализовать получше?

Матч Каллисто2.01.02-Каллисто_2_log делать не надо, т.к. это все одна и та же версия Каллисто 2. Только с включенным логом + исправлена ошибка с пондерингом.

1. Может именно отсутствие шашек на d e поможет?
2. Что же делать, если нет dll от других сильных программ? Матч Каллисто2-Миумиу (или Каллисто1) запускать не хочется, а Каллисто2-Каллисто2 - познавателен для меня как для шашиста, особенно, результативные партии.
3. У меня есть fly.dat на 1111 дебютов (и на 6000 дебютов есть Smile ). Пару раз матч Каллисто2-Каллисто2 прерывался без видимых причин. Возможно именно версия с лог файлом поможет зафиксировать причину?
Kallisto - Сен 03, 2006 - 09:25 PM
Тема сообщения:
Kvadrat64 писал(а):

1. Может именно отсутствие шашек на d e поможет?

Вряд ли такой упрощенный вариант поможет.
Но можно попробовать.
Kvadrat64 - Сен 04, 2006 - 06:27 PM
Тема сообщения:
Игорь, при разыгрывании матча Каллисто2.01.02-Каллисто2.01.02 с временем 10+10 и ЭБ6 в первом же дебюте на первом ходу опять выскочила ошибка moves not found!
Первый дебют был . a7e5
Приходится нажимать ок, потом игра продолжается потом опять moves not found, опять ok и т.д.
Kvadrat64 - Сен 04, 2006 - 06:49 PM
Тема сообщения:
Хотел открыть отдельный топик, но передумал.
"О пользе знаний или нужна ли большая ЭБ?"
Любопытства ради, написал программку для определения максимальной длины строки в файле и прогнал партии Каллисто2-Каллисто2 через это сито. В рез-тате отобрал партию имеющую максимальную длительность - 116 ходов!

[Event "Match"]
[Site "EB6"]
[Date "2006.8.31"]
[Round "3.2"]
[White "Kallisto 2"]
[Black "Kallisto 2"]
[Result "1-0"]
[TimeControl "300+5"]
[FEN "W:W18,22,23,24,25,26,27,28,29,30,31,32:B1,2,3,5,6,7,8,9,10,11,12,13"]

1. g3-h4 b6-c5 2. d4:b6 a7:c5 3. h2-g3 c5-d4 4. e3:c5 d6:b4 5. g3-f4 b4-a3 6. c3-d4 c7-d6 7. d2-e3 d6-e5 8. f4:d6 e7:c5 9. d4:b6 a5:c7 10. e3-f4 f8-e7 11. g1-h2 e7-d6 12. b2-c3 d6-e5 13. f4:d6 c7:e5 14. f2-e3 h6-g5 15. e1-d2 e5-f4 16. c3-d4 g7-h6 17. d4-c5 d8-c7 18. a1-b2 b8-a7 19. c5-d6 c7:e5 20. b2-c3 a7-b6 21. e3-d4 f4-g3 22. h2:d6 g5-f4 23. h4-g5 f6:h4 24. d6-e7 b6-a5 25. e7-f8 f4-g3 26. d2-e3 g3-h2 27. f8-c5 h2-g1 28. c5-a7 g1-h2 29. a7-b8 h4-g3 30. e3-f4 g3:e5 31. d4:f6 h2-g1 32. f6-e7 h6-g5 33. e7-f8 g1-a7 34. f8-g7 a7-f2 35. g7-f8 f2-a7 36. f8-g7 a7-f2 37. b8-h2 f2-g1 38. g7-h6 g5-h4 39. h2-d6 g1-h2 40. d6-b8 h2-g1 41. b8-a7 g1-h2 42. c3-d4 h2-d6 43. a7-b8 d6-e7 44. b8-e5 e7-f8 45. e5-h2 a5-b4 46. h2-c7 b4-c3 47. d4:b2 f8-b4 48. c7-a5 b4-c5 49. h6-f4 c5-d4 50. a5-c3 d4-b6 51. f4-e5 b6-d4 52. e5-f4 d4-b6 53. f4-b8 b6-c5 54. b8-a7 c5-d6 55. a7-f2 d6-f4 56. f2-d4 h4-g3 57. c3-d2 f4-d6 58. b2-c3 g3-h2 59. d4-a7 d6-e7 60. c3-d4 e7-f6 61. d2-c3 f6-d8 62. a7-b8 d8-g5 63. d4-c5 g5-d8 64. c3-h8 d8-a5 65. h8-a1 a5-d8 66. a1-h8 d8-a5 67. h8-a1 a5-d8 68. a1-b2 d8-g5 69. b2-e5 g5-d8 70. e5-h8 d8-a5 71. h8-a1 a5-d8 72. a1-h8 d8-a5 73. h8-a1 a5-d8 74. a1-c3 d8-a5 75. c3-g7 a5-e1 76. g7-h8 e1-a5 77. h8-a1 a5-e1 78. c5-b6 h2-g1 79. b6-a7 e1-a5 80. b8-h2 a5-e1 81. a7-b8 g1-b6 82. b8-a7 b6-a5 83. a7-g1 e1-h4 84. h2-e5 h4-e1 85. e5-f6 e1-g3 86. f6-d8 a5-e1 87. g1-f2 g3-b8 88. d8-h4 e1:g3 89. h4:e1 b8-c7 90. a1-g7 c7-d6 91. e1-a5 d6-g3 92. c1-d2 g3-f2 93. a5-c7 f2-c5 94. g7-a1 c5-f2 95. c7-b8 f2-a7 96. b8-h2 a7-g1 97. a1-g7 g1-c5 98. h2-g1 c5-e7 99. d2-e3 e7-d6 100. g7-a1 d6-h2 101. e3-d4 h2-d6 102. a1-c3 d6-h2 103. d4-c5 h2-c7 104. c3-a1 c7-h2 105. c5-b6 h2-g3 106. g1-h2 g3-e1 107. b6-a7 e1-b4 108. a7-b8 b4-d2 109. h2-c7 d2-a5 110. c7-d8 a5-d2 111. d8-a5 d2-g5 112. b8-a7 g5-d8 113. a1-g7 d8-e7 114. a7-c5 e7:b4 115. a5:d2 a3-b2 116. g7:a1 1-0

1. Если не ошибаюсь, в партии имело место трехкратное повторение ходов, а значит должна была быть зафиксирована ничья.
2. Каллисто2 долго и упорно старался выиграть, Каллисто2 старался не проиграть. Там была длинная серия единственных ходов, и в конце концов Каллисто2 запутала Каллисто2. Rolling Eyes
3. Если бы у Каллисто была 8-ка была бы ничья.
4. Как такие партии будут разыгрываться на турнире, если DamExchange не будет реализован? Сильнейшая сторона ведь имеет право продолжать игру, если слабейшая не может доказать ничью.
5. Роковым стал 77. ... a5-e1
6. Призываю всех Exclamation шашечных программистов поддержать формат pdn принятый в Авроре и Каллисто. Очень удобный формат и позволяет загружать партии летающих шашек. Тундра грузит летающие из собственного формата, Дамира и Plus600 не грузит "летающие" партии. Про Торнадо не знаю.
Kallisto - Сен 04, 2006 - 07:07 PM
Тема сообщения:
Kvadrat64 писал(а):
Игорь, при разыгрывании матча Каллисто2.01.02-Каллисто2.01.02 с временем 10+10 и ЭБ6 в первом же дебюте на первом ходу опять выскочила ошибка moves not found!
Первый дебют был . a7e5
Приходится нажимать ок, потом игра продолжается потом опять moves not found, опять ok и т.д.


Напишите мне об этом в письме. У меня сыграно уже более 500 партий и все нормально.
plus600 - Сен 04, 2006 - 07:11 PM
Тема сообщения:
Kvadrat64 писал(а):
6. Призываю всех Exclamation шашечных программистов поддержать формат pdn принятый в Авроре и Каллисто. Очень удобный формат и позволяет загружать партии летающих шашек. Тундра грузит летающие из собственного формата, Дамира и Plus600 не грузит "летающие" партии. Про Торнадо не знаю.

В первой версии стандарта PDN тег FEN завершался точкой. Именно так и было реализовано в Plus. Добавьте эту точку в данный файл и текущей версией Plus все спокойно грузится.
Высланное обновление от этого недостатка избавлено.
Kvadrat64 - Сен 04, 2006 - 07:22 PM
Тема сообщения:
To Plus600
Точка после ]? Или после слова FEN? Вообще, точка там нелогично смотрится, как рудимент чего-то... Не грузится ни так, ни сяк...
To Kallisto
Собственно, мне там нечего добавить. Я дважды запускал матч и дважды получил ту же ошибку. Log файл, к сожалению, забыл на работе. Завтра постараюсь выслать, если не забуду. Голова кругом идет от разнообразных проблем Sad
Попробуйте дебют . a7e5 Каллисто перед запуском матча проверяет файл fly.dat Мой файл проверенный, не одну тысячу наиграл Smile
может его выслать, хотя я кажется высылал fly396.dat (я его переименовывываю в fly.dat перед запуском матча)
plus600 - Сен 04, 2006 - 07:28 PM
Тема сообщения:
Kvadrat64 писал(а):
To Plus600
Точка после ]? Или после слова FEN? Вообще, точка там нелогично смотрится, как рудимент чего-то...

Точка перед закрывающей кавычкой. Логично или нелогично вопрос не по существу (по мне так и двоеточие перед B тоже не нужно), главное так написано в стандарте, и это обязаны все поддерживать, а не реализовывать то, что им удобнее.
[FEN "W:W18,22,23,24,25,26,27,28,29,30,31,32:B1,2,3,5,6,7,8,9,10,11,12,13."]
plus600 - Сен 04, 2006 - 07:36 PM
Тема сообщения:
Однако, оригинально. Во второй версии стандарта требование наличия точки убрали. А в первой было... Отстаю от жизни. Всем обиженным приношу свои извинения.
Kvadrat64 - Сен 04, 2006 - 07:39 PM
Тема сообщения:
To Plus600: Теперь загрузилось
Сергей, где-ж Вы были раньше? Wink
plus600 - Сен 04, 2006 - 07:41 PM
Тема сообщения: Поддрежка PDN в программах
Kvadrat64 писал(а):
To Plus600:
Сергей, где-ж Вы были раньше? Wink

Раньше я был там же Smile и всегда говорил, что plus полностью поддерживает PDN. Оказалось, много времени уделял основной работе и кое за чем в новой редакции стандарта не уследил... :(
Kallisto - Нояб 26, 2006 - 11:24 AM
Тема сообщения:
Последние сообщения из этой ветки куда-то пропали Sad
Еще раз:
Вышло обновление движка KestoG 1.3: www.igorkorshunov.narod.ru/Draughts/
Сила игры значительно возросла. Теперь он может бороться с лучшими программами, хотя и вовсе не использует ЭБ.
Kvadrat64 - Дек 09, 2006 - 03:02 PM
Тема сообщения:
KestoG 1.3 по-прежнему значительно уступает Каллисто.
Игорь, у меня вопрос. Цитирую Ваш пост:
"Базы совсем несжаты. В каждом байте хранится 4 позиции,
хотя можно было хранить 5. Это делалось для того,
чтобы при сжатии лучше сжимались.
Но в конце концов я решил отказаться от сжатия совсем."
------------------------------------------
Если это не секрет, поясните, пожалуйста, как в байт запихнули 4 позиции Question Или это касается только баз окончаний 6-ки, в которых на доске одновременно не может быть более 6 шашек Question
Сколько нужно байт чтобы хранить позицию из 24 шашек Question (минимум)
NS - Дек 09, 2006 - 05:14 PM
Тема сообщения:
Байт это Восемь бит.
Для хранения результата используется 2 бита (безранговые ЭБ) для определения результата - Выиграно, проиграно, ничья.
Хотя хранить можно 5 результатов, так как 3^5=243<256

Сама позиция в ЭБ не хранится!!! По позиции вычисляется адрес в ЭБ, по которому хранится результат.
Kvadrat64 - Дек 09, 2006 - 05:36 PM
Тема сообщения:
Меня интересует общий случай, для записи позиции из 24 шашек сколько понадобицца Smile байт?
NS - Дек 09, 2006 - 05:50 PM
Тема сообщения:
В ЭБ не пишутся позиции. Smile
Полную информацию о позиции можно писать в Хеш (вместо Зобриста)
Для этого необходимо 75 бит (Для быстрого расчета) или что то-же самое 9-10 байт.
Этого достаточно чтоб записать любое расположение любого количества шашек на 32 полях доски.
NS - Дек 09, 2006 - 06:14 PM
Тема сообщения:
Короче - на восьми полях (первая и последняя горизонталь) по 4 возможных состояния, на остальных 24 по 5.
Итого необходимое количество бит - Log2(4)*8+Log2(5)*24.
Очередь хода хранить не надо, если очередь хода черных - просто переворачиваем доску.
Kvadrat64 - Дек 09, 2006 - 07:48 PM
Тема сообщения:
Первая и последняя горизонталь - 256 позиций=1 байт, 2-7 - 625 позиций в горизонтали=10 бит
2*8+6*10=76 бит (10 байт)
Если считать по вертикали - 400 позиций в вертикали=9 бит
9*8=72 бит можно в 9 байт уместиться? Так наверно проще и экономичнее.
NS - Дек 09, 2006 - 08:24 PM
Тема сообщения:
Ничего не понял.
Если матиматика говорит что для однозначенго представления любой комбинации шашек на доске требуется
Log2(Число Комбинаций) бит,
А число позиций 5^24*4^8, то
Значит Формула Log2(4)*8+Log2(5)*24 верна...
2*8+2,3219280948873623478703194294894*24=71,...
То есть нужно 72 бита - 9 байт. В предыдущем посте я немного ошибся... Smile
Если учесть что шашек каждого цвета не больше 12-ти, то потребуется чуть меньше памяти на позицию, но значительно усложнится (и станет более медленным) расчет Ключа.
Kvadrat64 - Дек 09, 2006 - 08:24 PM
Тема сообщения:
Интересная инфа про сжатие ЭБ есть у тундровцев. В одном байте они хранят (если не шутят Wink ) 40 позиций!
NS - Дек 09, 2006 - 08:28 PM
Тема сообщения:
Даже в Чинуке хранят до 80-ти и больше позиций в байте (сжатые полные ЭБ)
И алгоритмы сжатия достаточно просты...

Насколько я понимаю - в Тундре неполные ранговые ЭБ.

Не вижу вообще никакого смысла в использовании ранговых ЭБ (в практической партии оно ненужно), а использование Неполных ЭБ резко снижает их эффективность.
Kvadrat64 - Дек 09, 2006 - 08:33 PM
Тема сообщения:
Я имел ввиду разложить позу не по горизонтали, а по вертикали.
В вертикали может быть 400 позиций (4*5*5*4=400), т.е. 9 бит х
8 вертикалей= 9 байт (Получается, что Ваши подсчеты верны Wink )
Kvadrat64 - Дек 09, 2006 - 08:44 PM
Тема сообщения:
Отчего же неполные ЭБ снижают эффективность их использования?
Нечетные базы в определенных случаях могут быть вредными, полная 6-ка с неполной базой 8-ки (4 на 4) может оказаться очень полезной.
Где-то читал, что через 4 на 4 проходит более 80% партий.
Еще более полезной может оказаться 5 на 5, но там видимо, огромные базы будут.
NS - Дек 09, 2006 - 09:14 PM
Тема сообщения:
Я говорю о другой неполности - Когда для большего сжатия, например, хранят позиции только с очередью хода одной стороны (например той у которой больше шашек) и т.д.
Именно такой неполнотой добиваются большего сжатия ЭБ, и именно такая неполнота уменьшает эффективность использования ЭБ.
letas - Янв 16, 2007 - 08:17 PM
Тема сообщения: Открылся сайт Каллисто
Вопрос к автору.Может версия игры в поддавки играть матчи как в прямые шашки.Я пробовал у меня не получилось.
Kallisto - Янв 17, 2007 - 04:08 AM
Тема сообщения:
А что не получилось?
AlexanderS - Янв 17, 2007 - 07:06 AM
Тема сообщения:
Kallisto писал(а):
А что не получилось?


Рискну предположить что пытался запустить турнир с одной длл-ки, надо сделать копию.
letas - Янв 17, 2007 - 02:11 PM
Тема сообщения: Открылся сайт Каллисто
AlexanderS писал(а):
Kallisto писал(а):
А что не получилось?


Рискну предположить что пытался запустить турнир с одной длл-ки, надо сделать копию.


Сделал копию.Все заработало.Спасибо.
letas - Янв 19, 2007 - 01:36 PM
Тема сообщения: Re: Открылся сайт Каллисто
letas писал(а):
AlexanderS писал(а):
Kallisto писал(а):
А что не получилось?


Рискну предположить что пытался запустить турнир с одной длл-ки, надо сделать копию.


Сделал копию.Все заработало.Спасибо.


Правда неудобно,что программа разыгрывает "свои" дебюты.Я полностью удалил все из файла "losers_fly".Но это не помогло.По прежнему программа играет свои дебюты.Как все таки заставить ее играть хотя бы с начальной позиции.
Kvadrat - Янв 19, 2007 - 02:27 PM
Тема сообщения:
Это может быть файл Kallisto2\Engines\Kallisto Losers.bk
Попробуйте его удалить (переименовать)
letas - Янв 19, 2007 - 03:15 PM
Тема сообщения:
Kvadrat писал(а):
Это может быть файл Kallisto2\Engines\Kallisto Losers.bk
Попробуйте его удалить (переименовать)

Удалил.Но не помогло.Правда у меня нет файла Kallisto2.Есть простоKallisto
Kallisto - Янв 19, 2007 - 06:05 PM
Тема сообщения:
Начальные позиции матча берутся из файла fly.dat.
Дебютная книга - Engines\Kallisto Losers.bk
letas - Янв 19, 2007 - 08:26 PM
Тема сообщения:
Kallisto писал(а):
Начальные позиции матча берутся из файла fly.dat.
Дебютная книга - Engines\Kallisto Losers.bk

Подкорректировал файл fly.dat.Игра пошла с начальных позиций.Как я и хотел.
NS - Фев 06, 2007 - 08:08 AM
Тема сообщения:
А можно "Best move" в оболочке сделать шире, и сделать его многострочным?
Например перенести вниз экрана, и добавить горизонтальный скроллинг.

Тода можно было-бы вывести полный PV, а в режиме Анализа добавить режим MultiPV
Kallisto - Фев 06, 2007 - 08:52 AM
Тема сообщения:
Можно сделать специальное окошко пониже для вывода PV. Но особой необходимости в нем я не вижу.
Kallisto - Фев 06, 2007 - 09:10 AM
Тема сообщения:
Можно скачать новую версию Каллисто (чемпиона Европы среди программ): www.igorkorshunov.narod.ru/Draughts
Результат тестового матча по 5 минут против предыдущей (второй) версии: +39 -22 =861
Достоверность того, что новая версия сильнее более 95%.

Теперь в архиве есть также специальные версии для игры в чекерс (ОФ очень слабая), пул, бразильские шашки, русские и чекерсные поддавки.

Также появилась новая неплохая программа от Сергея Нефедова - Skifi.
nikvo - Фев 07, 2007 - 04:08 PM
Тема сообщения:
Kallisto

Я скачал бразильскую версию.Архив не открывается.
NS - Фев 07, 2007 - 04:20 PM
Тема сообщения:
на сайте нет Бразильской версии. Там полный Архив. Для его открытия нужен WinRar версии не ранее 2.9
Kvadrat - Фев 07, 2007 - 05:31 PM
Тема сообщения:
Игорь, а возможно ли сделать так, чтобы выдавались оценки ко всем возможным в позиции ходам? Или Каллисто обдумывает один, сильнейший на ее взгляд, ход?
NS - Фев 07, 2007 - 05:34 PM
Тема сообщения:
Kvadrat писал(а):
Игорь, а возможно ли сделать так, чтобы выдавались оценки ко всем возможным в позиции ходам? Или Каллисто обдумывает один, сильнейший на ее взгляд, ход?


Это о чем я говорил - Стандартная Альфа-Бета и её модификации выдают оценку только одного, лучшего хода. При получении нескольких оценок резко замедляется скорость переборных алгоритмов.
Замедление при выдаче оценок всех ходов равно КоличествоВозможныхХодовВПозиции/БренчингФактор.

Так вот - получение нескольких оценок - это и есть режим MultiPV Smile
nikvo - Фев 07, 2007 - 05:43 PM
Тема сообщения:
Kvadrat писал(а):
Игорь, а возможно ли сделать так, чтобы выдавались оценки ко всем возможным в позиции ходам? Или Каллисто обдумывает один, сильнейший на ее взгляд, ход?

В тундре реализована такая возможность.Очень удобно.
Вопрос к авторам Дамиры да и ко всем разработчикам.Есть такая возможность сделать?
plus600 - Фев 07, 2007 - 05:49 PM
Тема сообщения:
nikvo писал(а):
В тундре реализована такая возможность.Очень удобно.
Вопрос к авторам Дамиры да и ко всем разработчикам.Есть такая возможность сделать?

Давно уже реализовано. Называется короткий анализ.
NS - Фев 07, 2007 - 05:51 PM
Тема сообщения:
Режим MultiPV вызывает значительное замедление, и соответвенно уменьшение силы игры.
Что нужно сделать - например Игорю Расширить поле BestMove, либо добавить новое поле в оболочке (многострочное)

Разработчикам... MultiPV Альфа-Бета отличается от простой практически добавлением пары строк в процедуру поиска из корня дерева. Нисколько времени это не занимает.
nikvo - Фев 07, 2007 - 06:00 PM
Тема сообщения:
plus600 писал(а):
nikvo писал(а):
В тундре реализована такая возможность.Очень удобно.
Вопрос к авторам Дамиры да и ко всем разработчикам.Есть такая возможность сделать?

Давно уже реализовано. Называется короткий анализ.


В тундре это называется show Best linesin analyze.Каждый ход оценивется числом.В каждой партии есть несколькл моментов,когда надо расмотреть несколько ходов.Мне удобнее работать,как реализовано в тундре.И иногда надо сделать не короткий анализ,а полный.
NS - Фев 07, 2007 - 06:03 PM
Тема сообщения:
Зачем придумывать свою терминологию, когда давно есть общепринятая?
Режим MultiPV подразумевает задание количества выдаваемых лучших ходов. При большом значении - это будут все ходы, при 2 - это будут два лучших хода, при 1 - это будут стандартные переборные алгоритмы, программа будет играть в полную силу.
nikvo - Фев 07, 2007 - 06:08 PM
Тема сообщения:
NS писал(а):
Зачем придумывать свою терминологию, когда давно есть общепринятая?
Режим MultiPV подразумевает задание количества выдаваемых лучших ходов. При большом значении - это будут все ходы, при 2 - это будут два лучших хода, при 1 - это будут стандартные переборные алгоритмы, программа будет играть в полную силу.


В тундре расматриваются все возможные ходы.В других программах этого не встречал.Мне как пользователю интересно знать,что есть пару ходов очень сильных пару средних и пару слабых.Если я оценил ход как сильный,а программа оценивает как слабый,то я потом всегда могу расмотреть эту возможность.В других программах я не имею такой возможности
nikvo - Фев 07, 2007 - 06:12 PM
Тема сообщения:
Бывает самый сильный ход упрощает позицию.Тогда лучше сделать ход менее сильный,но сохранящий сложноту.С помощью тундры мне очень легко сделать такой выбор.Хотелось,что бы это учли в будущем разработчики Дамиры.Потому что я пользуюсь в основном ее
NS - Фев 07, 2007 - 06:15 PM
Тема сообщения:
http://download.shredderchess.com/div/uci.zip

* <id> = MultiPV, type spin
the engine supports multi best line or k-best mode. the default value is 1


Для примера описание шахматного протокола UCI.
Выдавать всегда все ходы - неправильно. Слишком сильное замедление. Конечно всегда лучше иметь возможность выбора количества выводимых лучших ходов.

На самом деле все очень просто.
plus600 - Фев 07, 2007 - 06:34 PM
Тема сообщения:
nikvo писал(а):
И иногда надо сделать не короткий анализ,а полный.

Короткий анализ это название, анализируются ВСЕ ходы. Не путайте
Kvadrat - Фев 07, 2007 - 06:35 PM
Тема сообщения:
Я уже пробовал подавать такую идею авторам программ.
Например Тундра в режиме анализа выдает список всех ходов и все анализирует и плохие в том числе (простые отдачи шашек и другие плохие ходы). Таких плохих ходов зачастую оказывается БОЛЬШИНСТВО. Предлагался CheckBox c галочками. Отметил нужные ходы, они и анализируются, я считаю так очень удобно, и прога не распыляет свои "силы" (процессорное время) попусту. Ответственность за правильность выбора перекладывается на humana, но на то он и анализ...
nikvo - Фев 07, 2007 - 06:43 PM
Тема сообщения:
plus600 писал(а):
nikvo писал(а):
И иногда надо сделать не короткий анализ,а полный.

Короткий анализ это название, анализируются ВСЕ ходы. Не путайте


А что ж тогда средний и полный?
nikvo - Фев 07, 2007 - 06:45 PM
Тема сообщения:
NS писал(а):
http://download.shredderchess.com/div/uci.zip

* <id> = MultiPV, type spin
the engine supports multi best line or k-best mode. the default value is 1


Для примера описание шахматного протокола UCI.
Выдавать всегда все ходы - неправильно. Слишком сильное замедление. Конечно всегда лучше иметь возможность выбора количества выводимых лучших ходов.

На самом деле все очень просто.


Что то я у Тундры замедления не заметил
plus600 - Фев 07, 2007 - 06:46 PM
Тема сообщения:
nikvo писал(а):

А что ж тогда средний и полный?

Это другие алгоритмы. И у них другая цель. Короткий - выводит оценку всех ходов, остальные определяют лучший и его трассу.
plus600 - Фев 07, 2007 - 06:47 PM
Тема сообщения:
Kvadrat писал(а):
Я уже пробовал подавать такую идею авторам программ.
Например Тундра в режиме анализа выдает список всех ходов и все анализирует и плохие в том числе (простые отдачи шашек и другие плохие ходы). Таких плохих ходов зачастую оказывается БОЛЬШИНСТВО. Предлагался CheckBox c галочками. Отметил нужные ходы, они и анализируются, я считаю так очень удобно, и прога не распыляет свои "силы" (процессорное время) попусту. Ответственность за правильность выбора перекладывается на humana, но на то он и анализ...

У меня просто можно прервать (в процессе анализа) расчет любого хода, если он кажется человеку очевидным
nikvo - Фев 07, 2007 - 06:49 PM
Тема сообщения:
plus600 писал(а):
nikvo писал(а):

А что ж тогда средний и полный?

Это другие алгоритмы. И у них другая цель. Короткий - выводит оценку всех ходов, остальные определяют лучший и его трассу.


Поняно.Мне ,как пользователю удобнее,как в Тундре
NS - Фев 07, 2007 - 06:50 PM
Тема сообщения:
Цитата:
Что то я у Тундры замедления не заметил


Я написал формулу, посмотрите повнимательней.

Насчет анализа нескольких конкретных ходов в позиции.


* go
start calculating on the current position set up with the "position" command.
There are a number of commands that can follow this command, all will be sent in the same string.
If one command is not sent its value should be interpreted as it would not influence the search.
* searchmoves <move1> .... <movei>
restrict search to this moves only
Example: After "position startpos" and "go infinite searchmoves e2e4 d2d4"
the engine should only search the two moves e2e4 and d2d4 in the initial position.


почитайте описание протокола, может еще чего интересное найдется Smile

Хотя кроме Ponder, MultiPV и searchmoves - ничего интересного нет.
Kvadrat - Фев 07, 2007 - 07:00 PM
Тема сообщения:
Сергей, Вы не совсем поняли. Н-р в позе 10 ходов, 4 проигрывают, 3 оцениваются как ничейные, остальные 3 ведут к преимуществу.
Ну и зачем спрашивается анализировать 7 из 10 ходов, когда можно ограничить расчет тремя? (одновременно считать только три хода)
Собствено говоря, человек именно так и ведет счет.
plus600 - Фев 07, 2007 - 07:06 PM
Тема сообщения:
Нет, вроде все понял. Чтобы ограничиться тремя ходами, нужно просто при расчете всех остальных нажать определенное сочетание клавиш. Аналогия проставки чек-боксов. На мой взгляд это даже удобнее, увидив оценку хода на определенной глубине не считать его дальше. Сам это часто использую - выставляю бесконечное время и по своему усмотрению прерываю расчет ходов - очень удобно.
plus600 - Фев 07, 2007 - 07:08 PM
Тема сообщения:
nikvo писал(а):

Поняно.Мне ,как пользователю удобнее,как в Тундре

Дело хозяйское, многим удобнее как в Plus
Kvadrat - Фев 07, 2007 - 07:31 PM
Тема сообщения:
А вообще режим анализа и игра - совершенно разные вещи.
В Каллисто режим multiPV надо включать по F9 (в режиме анализа), а в режиме игра - отключать его, раз он так сильно влияет на силу игры.
nikvo - Фев 07, 2007 - 07:39 PM
Тема сообщения:
plus600 писал(а):
nikvo писал(а):

Поняно.Мне ,как пользователю удобнее,как в Тундре

Дело хозяйское, многим удобнее как в Plus


Мне как пользователю(да и не только мне.Квадрату напр)хотелось бы,что такая возможность была учтена
NS - Фев 07, 2007 - 07:58 PM
Тема сообщения:
Kvadrat писал(а):
А вообще режим анализа и игра - совершенно разные вещи.
В Каллисто режим multiPV надо включать по F9 (в режиме анализа), а в режиме игра - отключать его, раз он так сильно влияет на силу игры.


Обычно режим MultiPV используют только в режиме анализа.
В коммерческих оболочках, например ChessBase - просто над окном с анализом располагаются две небольшие клавиши "+" и "-" Соответственно увеличивающие и уменьшающие на единицу количество выводимых вариантов.

Сделать это очень несложно, поддержать движком тоже очень просто.
Если Игорь добавит такую возможность - я сразу поддержу её в своем движке.
plus600 - Фев 08, 2007 - 05:57 AM
Тема сообщения:
nikvo писал(а):

Мне как пользователю(да и не только мне.Квадрату напр)хотелось бы,что такая возможность была учтена

Тоже резонно. Но я не понял "как в Тундре"? Поясните.
nikvo - Фев 08, 2007 - 07:02 AM
Тема сообщения:
ход оценка глубина
c3-в4 10 19
e3-d4 - 10 19
g3-f4 -10 19
a3-b4 -30 19
c3-d4 0 19
e3-f4 -10 19
g3-h4 0 19


Где значение -20 +20 равная позиция итд
plus600 - Фев 08, 2007 - 07:39 AM
Тема сообщения:
nikvo писал(а):
ход оценка глубина
c3-в4 10 19
e3-d4 - 10 19
g3-f4 -10 19
a3-b4 -30 19
c3-d4 0 19
e3-f4 -10 19
g3-h4 0 19


Где значение -20 +20 равная позиция итд

Понятно , но где здесь отличие от того, что реализовано (уже очень давно) в Plus?
nikvo - Фев 08, 2007 - 07:48 AM
Тема сообщения:
Сергей!

Вы автор один из первых программ,играющих в шашки на высоком уровне.Все остальные современные программы были созданы после Вас.Все разработчики ,создавая свои программы,смотрели Вашу.Ничего задорного нету,если Вы посмотрите демо версию тундры.
И Вам сразу станет понятно,что хотят пользователи.
В тундре,предусмотрена возможность просмотра сразу.У,вас,же надо делать короткий анализ. Мы(пользователи)хотели бы,что бы в Вашей программе (и в других)также можно видеть сразу.
plus600 - Фев 08, 2007 - 08:13 AM
Тема сообщения:
На работе у меня нет Тундры, поэтому, поясните, что значит" сразу"? В процессе обычного счета? Попробуйте нажать Ctrl-4
nikvo - Фев 08, 2007 - 08:29 AM
Тема сообщения:
plus600 писал(а):
На работе у меня нет Тундры, поэтому, поясните, что значит" сразу"? В процессе обычного счета? Попробуйте нажать Ctrl-4


После нажатия Ctrl-4 выскакивает табличка анализ Она пустая.
"Сразу"это в процессе обычного счёта.
plus600 - Фев 08, 2007 - 09:12 AM
Тема сообщения:
По Ctrl-4 в процессе счета выводится информация по двум лучшим ходам с трассами.
Вывод информации по всем ходам в процессе счета замедляет перебор. "Оно это нужно"?
nikvo - Фев 08, 2007 - 09:16 AM
Тема сообщения:
plus600 писал(а):
По Ctrl-4 в процессе счета выводится информация по двум лучшим ходам с трассами.
Вывод информации по всем ходам в процессе счета замедляет перебор. "Оно это нужно"?


Ведь я могу включать эту функцию по своему усмотрению?Да,такая возможность очень желательна.
nikvo - Фев 08, 2007 - 09:18 AM
Тема сообщения:
Предлагаю дальнейшее обсуждение проводить на страничке Программа плюс
NS - Фев 08, 2007 - 09:20 AM
Тема сообщения:
Уже писалось - обычно добавляют возможность увеличения/уменьшения количества PV.
Два хода тоже замедляют - почти в два раза Smile
Но это же не значит что режим многовариантного анализа совсем не нужен.
Kvadrat - Фев 08, 2007 - 05:22 PM
Тема сообщения:
Именно о такой возможности толкует nikvo. В Тундре многовариантный анализ реализован на лету, оценки динамично меняются, в зависимости от глубины анализа, все наглядно. Если Каллисто по каким-то причинам отбросила из n ходов n-1 ход, то желательно вывести причину по которым это произошло, т.е. собственно говоря оценки к отброшенным ходам.
plus600 - Фев 08, 2007 - 08:20 PM
Тема сообщения:
Причина то простая, эти n-1 хода хуже. А задача (для убыстрения) ставилась - какой ход лучше, про "насколько" не спрашивали.
Либо только про лучший ход и быстро, либо про все , но медленно.
Kvadrat - Фев 08, 2007 - 08:27 PM
Тема сообщения:
Далеко не факт, что отбрасываются худшие ходы.
Точнее, абсолютно точно, иногда отбрасываются ЛУЧШИЕ ходы, потому, что
1. нет программ которые играют идеально.
2. любая программа иногда проигрывает, потому, что отбрасывает ЛУЧШИЙ ход Very Happy Very Happy Very Happy
plus600 - Фев 08, 2007 - 08:29 PM
Тема сообщения:
Кто бы спорил Sad
NS - Фев 09, 2007 - 12:43 PM
Тема сообщения:
Цитата:
Далеко не факт, что отбрасываются худшие ходы.
Точнее, абсолютно точно, иногда отбрасываются ЛУЧШИЕ ходы, потому, что
1. нет программ которые играют идеально.
2. любая программа иногда проигрывает, потому, что отбрасывает ЛУЧШИЙ ход


Ээх... Ничего не отбрасывается Smile
Хорошие переборные алгоритмы, при стремление глубины в корне к бесконечности - так-же к бесконечности стремят любую ветвь в переборе.

В сильных шахматных пограммах отсечения используются только в самом конце перебора. В сильных шаечных считется что отсечения вообще не нужны, только при Depth<=0.

Используются не отсечения, а некоторое сокращение глубины перебора на слабых ходах/в плохих по отношию к Альфе (нижней границе) позициях.Можно использовать и другие методы для опередения того что позиция явно выходит за Альфа/Бета границы - например в шахматах для этого используется Null Move.
Kallisto - Фев 09, 2007 - 01:24 PM
Тема сообщения:
NS!
Ты не понял. Имеется ввиду отбрасывание ходов по итогом перебора на некоторую глубину. При увеличении глубины будут отброшены другие ходы.

Т.е. программа считает один ход лучшим, а остальные отбрасывает. Причем иногда отброшенным оказывается объективно лучший ход. Лично я здесь не вижу никакой проблемы.
NS - Фев 09, 2007 - 01:27 PM
Тема сообщения:
Да я тк-же и делаю. Но в итоге, прежде чем отсечь - мы всё-таки считаем на какую-то глубину.


То есть я делаю не совсем так. Совсем так-Это Аналог NullMove/IID с отсечениями. А я режу по статической оценке, по оценке из Хеша, при достижении Ничьи/проигранной позиции (Например четыре дамки против одной) и позние ходы, но всё режу с верификацией.
plus600 - Фев 09, 2007 - 01:46 PM
Тема сообщения:
NS писал(а):

Ээх... Ничего не отбрасывается Smile

Еще как отбрасывается. Надо только текст внимательно читать. Любая программа при выборе лучшего хода отбрасывает все остальные хода, считая их худшими. И, иногда, в этом ошибается Cry
NS - Фев 09, 2007 - 01:50 PM
Тема сообщения:
В хороших программа - без предварительного расчета с некоторым сокращением глубин - ничего не отбрасывается.
В шахматах - отсечения идут либо в рамках ФВ, либо на двух последних ply (Футилити и Экстендед Футилити) В шашках - считается отсекать вообще ничего не надо. Нет смысла в отсечении, когда вместо отсечения сократив глубину на 4 ply - мы вообще ничего не теряем в размерах дерева.

И об этом говорится уже очень давно - что вторая схема Шеннона в чистом виде - абсолютно бессмысленна.
Kallisto - Фев 09, 2007 - 01:50 PM
Тема сообщения:
Тут речь не о отсечениях.
Цель программы найти лучший ход. Она его находит так как может. Все остальные ходы отбрасываются. И среди отброшенных может оказаться объективно сильнейший ход.
NS - Фев 09, 2007 - 01:52 PM
Тема сообщения:
Но при увеличении глубины в корне, этот лучший ход на котором произошло сокращени глубины - будет рассматриваться всё дальше.
Kallisto - Фев 09, 2007 - 01:58 PM
Тема сообщения:
Да поэтому здесь никакой проблемы нет.
Проблема может быть в том, что объективно сильнейший ход не всегда лучший против конкретного противника.

Программа играющая объективно лучшими ходами будет выигрывать у Skifi очень мало партий.
NS - Фев 09, 2007 - 02:18 PM
Тема сообщения:
А если подходить к этому немного по другому? Просто Факт выигрыша достаточного длинного матча, вообще не обращать внимания на счет.
Так-же как и в опимальных стратегиях - Оптимальная стратегия не дает гарантии максимального выигрыша против соперника с неоптимальной сратегией, но сам выигрыш (относительно веса игры) в большинстве случаев гарантирует, и всегда гарантирует то, что не проиграем по сравнению со стоимостью игры.
Kvadrat - Фев 09, 2007 - 08:07 PM
Тема сообщения:
Игорь, где взять msvci70.dll и msvcrt70.dll? Некоторые движки требуют эти файлы и не загружаются.
letas - Фев 09, 2007 - 08:17 PM
Тема сообщения:
Kvadrat писал(а):
Игорь, где взять msvci70.dll и msvcrt70.dll? Некоторые движки требуют эти файлы и не загружаются.

Я нашел в инете через поиск.Но возможно они есть и в винде или каких то прогах
Kallisto - Фев 09, 2007 - 08:35 PM
Тема сообщения:
Да, в инете их много где можно взять.
Это файлы из .NET Framework.
Kvadrat - Фев 10, 2007 - 08:59 PM
Тема сообщения:
Игорь, нельзя ли поправить код так, чтобы Каллисто распознавала из fly.dat запись такого вида:
a3-b4 b6-a5
Текущая версия понимает только сокращенную нотацию:
ab4 ba5
Alkand - Фев 10, 2007 - 09:22 PM
Тема сообщения:
Kvadrat писал(а):
Игорь, где взять msvci70.dll и msvcrt70.dll? Некоторые движки требуют эти файлы и не загружаются.

Вот пара файлов.
Kallisto - Фев 12, 2007 - 06:50 AM
Тема сообщения:
Kvadrat писал(а):
Игорь, нельзя ли поправить код так, чтобы Каллисто распознавала из fly.dat запись такого вида:
a3-b4 b6-a5
Текущая версия понимает только сокращенную нотацию:
ab4 ba5

Можно. На сколько это важно?
Kvadrat - Фев 12, 2007 - 03:55 PM
Тема сообщения:
Игорь, это не принципиально. Хотя еще удобнее было бы так:
1.a3-b4 b6-a5
Ладно, будет считать, что я ничего не просил.
Сочетания 3-, 6- b и т.д. очень легко убрать в Far, а с кодом еще надо возиться.
Вот итоги запущенных матчей:
"Kallisto 3" - "Skifi 0.03" +20-1=73 (EB0)
"Kallisto 3" - "Skifi 0.03" +34-0=60 (EB6)
Матч в летающие продолжится еще долго, хотя смысла особого в нем теперь не вижу. Счет примерно +60-2=90 в пользу Каллисто.
Запустил еще 2 матча Skifi-KestoGKesto1_3_vc7, когда уходил с работы счет был примерно +0-2=6 в пользу KestoG
Еще один матч Skifi-Kallisto3(EB5) - подождем результатов.
Kvadrat - Фев 12, 2007 - 05:42 PM
Тема сообщения:
По Скифи - надо поработать с ОФ, подключить базу окончаний (я очень надеюсь, что Вы найдете общий язык Игорем), увеличить скорость перебора.

Игорь, вопрос такой, (дилетантский). Что если сделать так, чтобы базы в память грузила оболочка, а движки по очереди ей (базой) пользовались? Тогда не нужно 2*объемБД+хеш, а нужно просто объемБд+хеш.
Kallisto - Фев 12, 2007 - 11:05 PM
Тема сообщения:
Нужно такое сделать. Только мои базы не годятся. Больше 6-ки я их делать не собираюсь. Если бы кто-то взялся, кому базы интересны.
AlexanderS - Фев 13, 2007 - 08:06 AM
Тема сообщения:
Kallisto писал(а):
Нужно такое сделать. Только мои базы не годятся. Больше 6-ки я их делать не собираюсь. Если бы кто-то взялся, кому базы интересны.

Да вроде NS сам был полон оптимизма в создании баз, и вроде даже хотел сделать их общедоступными Embarassed
NS - Фев 13, 2007 - 12:13 PM
Тема сообщения:
Да, сделаю - но не сейчас.
После окончания лечения.
Kvadrat - Фев 13, 2007 - 05:26 PM
Тема сообщения:
Сейчас играются матчи с ЭБ5, ЭБ4, ЭБ3. Любопытно будет посмотреть статистику и влияние ЭБ на итог игры.
Есть у кого-нибудь таблица ЭЛО? Я свою потерял :(
Kvadrat - Фев 13, 2007 - 05:33 PM
Тема сообщения:
Kallisto писал(а):
Нужно такое сделать. Только мои базы не годятся. Больше 6-ки я их делать не собираюсь. Если бы кто-то взялся, кому базы интересны.

А надо ли? Чем больше ЭБ тем преснее игра. Может только 4 простые против 4 простых добавить?
NS - Фев 14, 2007 - 07:46 AM
Тема сообщения:
Цитата:
Есть у кого-нибудь таблица ЭЛО? Я свою потерял :(

E=1/(1+10^(D/400))

Найти очень легко в интернете, например Википедия.
http://ru.wikipedia.org/wiki/%D0%A0%D0% ... 0%BB%D0%BE

Первый столбец - разница в пунктах Эло.

-200 0,240253073 24,02530734
-199 0,24130538 24,13053799
-198 0,242360825 24,23608251
-197 0,243419406 24,34194057
-196 0,244481118 24,44811179
-195 0,245545958 24,55459581
-194 0,246613922 24,66139222
-193 0,247685006 24,76850064
-192 0,248759206 24,87592065
-191 0,249836518 24,98365182
-190 0,250916937 25,09169371
-189 0,252000459 25,20004588
-188 0,253087079 25,30870786
-187 0,254176792 25,41767916
-186 0,255269593 25,52695931
-185 0,256365478 25,6365478
-184 0,257464441 25,74644411
-183 0,258566477 25,8566477
-182 0,25967158 25,96715805
-181 0,260779746 26,07797459
-180 0,261890967 26,18909675
-179 0,263005239 26,30052395
-178 0,264122556 26,41225559
-177 0,265242911 26,52429107
-176 0,266366298 26,63662976
-175 0,26749271 26,74927102
-174 0,268622142 26,86221422
-173 0,269754587 26,97545867
-172 0,270890037 27,08900371
-171 0,272028486 27,20284865
-170 0,273169928 27,31699277
-169 0,274314354 27,43143537
-168 0,275461757 27,54617572
-167 0,276612131 27,66121306
-166 0,277765466 27,77654664
-165 0,278921757 27,89217568
-164 0,280080994 28,00809941
-163 0,28124317 28,12431701
-162 0,282408277 28,24082768
-161 0,283576306 28,35763059
-160 0,284747249 28,4747249
-159 0,285921097 28,59210974
-158 0,287097843 28,70978426
-157 0,288277476 28,82774757
-156 0,289459988 28,94599876
-155 0,290645369 29,06453694
-154 0,291833612 29,18336117
-153 0,293024705 29,30247052
-152 0,29421864 29,42186403
-151 0,295415407 29,54154073
-150 0,296614997 29,66149965
-149 0,297817398 29,78173979
-148 0,299022601 29,90226014
-147 0,300230597 30,02305967
-146 0,301441374 30,14413736
-145 0,302654921 30,26549214
-144 0,30387123 30,38712296
-143 0,305090287 30,50902873
-142 0,306312084 30,63120836
-141 0,307536607 30,75366074
-140 0,308763848 30,87638476
-139 0,309993793 30,99937927
-138 0,311226431 31,12264313
-137 0,312461752 31,24617518
-136 0,313699742 31,36997423
-135 0,314940391 31,4940391
-134 0,316183686 31,61836858
-133 0,317429615 31,74296145
-132