Kallisto

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

Просмотр 15 сообщений - с 196 по 210 (из 728 всего)
  • Автор
    Сообщения
  • в ответ на: Рейтинги шашечных программ #370675
    Kallisto
    Участник

    Конечно меняет, разве это не очевидно? Он меняет ответ на вопрос — зачем нужны эти рейтенги. Если 4 — не нужные, 400 — может быть и нужны.

    Достаточно меня одного, чтобы рейтинги были нужны.
    Для публикования на форуме достаточно еще одного человека, которому они интересны.

    Никакой необходимости в поиске еще 398-и я не вижу.

    в ответ на: Рейтинги шашечных программ #370672
    Kallisto
    Участник

    И сколько из них сильных настолько, чтобы они были интересны не только создателям?

    Какое это имеет значение? Неужели ответ на этот вопрос что-то меняет?

    Ну допустим четверым это интересно. Или предположим четырем сотням. Что от этого изменится?

    Kallisto
    Участник

    Медленно, зато очень просто.

    Вот это самая большая проблема интерфейсов — неуниверсальность.
    Кто-то обязательно был бы недоволен потерей скорости на ровном месте, хоть и копеечным. А так, я надеюсь, что любой будет удовлетворен.

    Kallisto
    Участник

    Все, буду делать реализацию вот этого интерфейса:


    struct EdBoard1
    {
    // все поля идут по порядку a8, c8, и т.д. до g1
    unsigned char board[32];
    };

    struct EdBoard2
    {
    unsigned char *wman;
    unsigned wman_cnt;

    unsigned char *wkings;
    unsigned wkings_cnt;

    unsigned char *bman;
    unsigned bman_cnt;

    unsigned char *bkings;
    unsigned bkings_cnt;
    };

    // интерфейсный класс для доступа к эндшпильным базам
    struct EdAccess
    {
    // возвращаемые значения

    const draw = 0;
    const win = 10000;
    const lose = -10000;
    const db_not_found = 32000;

    // коды для обозначений шашек

    const white = 1;
    const black = 2;
    const empty = 4;
    const king = 8;

    // флаги для доступа к базе

    const in_mem = 1;


    // загрузить базы
    // пока такие типы игр:
    // russian
    // russianlosers
    // brazil
    // brazillosers
    // pool
    // poollosers
    // checkers
    // checkerslosers

    unsigned Load(char *game_type) = 0;


    // получить тип базы

    char *GetBaseType() = 0;


    // оценка позиции (всегда ход белых)

    int GetResult(EdBoard1 *board, unsigned flags) = 0;
    int GetResult(EdBoard2 *board, unsigned flags) = 0;


    // получить указатель на таблицу по материалу

    unsigned GetTable(unsigned wm, unsigned wk, unsigned bm, unsigned bk) = 0;


    // получить указатель на таблицу по материалу и по наиболее продвинутой шашке

    unsigned GetTable(unsigned wm, unsigned wk, unsigned bm, unsigned bk, unsigned rank) = 0;


    // проверка загруженности таблицы целиком в память

    unsigned IsTableInMemory(unsigned table);


    // получить индекс в таблице

    unsigned __int64 GetIndex(EdBoard1 *board) = 0;
    unsigned __int64 GetIndex(EdBoard2 *board) = 0;


    // получить оценку по указателю на таблицу и индексу

    int GetResult(unsigned table, unsigned __int64 index, unsigned flags) = 0;


    };

    Если бы вы знали, сколько мне пришлось протратить усилий из-за того, что часто интерфейсы конфликтуют между собой, то не отнеслись бы к обсуждению столь индифферентно :)

    в ответ на: Рейтинги шашечных программ #370665
    Kallisto
    Участник

    Мне тут так и не ответили на вопрос — зачем нужны эти рейтинги ?

    Ответ кажется очевиден. Чтобы знать в какую силу играет та или иная программа. Сейчас об этом судить просто невозможно.

    в ответ на: Рейтинги шашечных программ #370661
    Kallisto
    Участник

    А то ведь как можно сделать. Сыграла программа плохо, заявляешь, что выступала тестовая версия. Сыграла удачно — значит самая последняя :D

    Обычно так и делают :)
    Вот почему мне интересны только рейтинги программ с отрытым протоколом. Можно провести сколько будет угодно партий и для всех версий этой программы. И тогда объективная сила сила игры будет очевидна.

    NS wrote:
    Доверительные интервалы зависят от вероятности ничьи.

    Фиксированной вероятности ничьей нет. Она зависит, от силы соперников, или даже от их стиля.

    в ответ на: Рейтинги шашечных программ #370658
    Kallisto
    Участник

    Если будут считаться рейтинги по результатам таких матчей — народ будет бояться играть.

    Народ и так боится играть.

    Не хотите ли заодно ввести отдельные рейтинги на «5 секунд на ход», «10 секунд на ход» 😆 Результаты могут быть о-о-о-чень разные.

    Нет, результаты будут похожими. Но чем больше времени, тем меньше будет разница между слабыми и сильными.
    А до контроля «время на ход» мы не опустимся :)

    в ответ на: Рейтинги шашечных программ #370656
    Kallisto
    Участник

    Что мешает скинуть все партии в .pdn и посчитать рейтинг ЭлоСтатом?

    Глючный он. Я уж лучше своей программкой посчитаю.
    Но тут дело в том, что в турнирах выступали разные версии программ. Так что мы по-любому хорошего рейтинга не получим.

    в ответ на: Рейтинги шашечных программ #370655
    Kallisto
    Участник

    Один посчитать по итогам турниров, пусть их и было немного. Но там каждая программа получит свой рейтинг.

    OK. Но доверительные интервалы будут уж очень большие.
    В шахматах еще ни у кого не появлялась идея посчитать рейтинг по результатам официальных турниров :)

    в ответ на: Рейтинги шашечных программ #370653
    Kallisto
    Участник

    но в приведенном случае рейтинг посчитанный русским шашкам просто вне доверительного интервала.

    А вот это ты зря. Доверительный интервал можно посчитать даже для такого метода. Нижняя граница будет несколько сотен пунктов.

    в ответ на: Рейтинги шашечных программ #370650
    Kallisto
    Участник

    На самом деле. Ведь достоверность такого рейтинга просто никакая.
    По такому малому количеству партий никакой способ составления рейтингов не поможет.

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

    в ответ на: Рейтинги шашечных программ #370645
    Kallisto
    Участник

    Еще было бы интересно выравнять рейтинги программ с человеческими. Может кто-то, имеющий рейтинг, играл с каким-нибудь движком довольно много?

    Или может найдется человек с рейтингом, который сыграет большой матч в леталки против «Каллисто 1». Я предполагаю она играет где-то между кандидатом и мастером.

    в ответ на: Матч Каллисто — Тундра #370311
    Kallisto
    Участник

    Тут важно ещё и правильно этот самый «плюсик» подобрать. Вы же понимаете, что все эти цифры — «80%» и «+3 — +5» я взял с потолка. Нужен тестовый прогон и статистика. Если 80% — то плюсик может быть один, а если 70% или 90% — то число будет другое.

    Об это Вам не нужно беспокоиться.
    Лучше посоветуйте как определить, что шашка слаба и как посчитать количество нападений и защит.

    в ответ на: Матч Каллисто — Тундра #370308
    Kallisto
    Участник

    Понимаете, чаще всего сформулировать правило, которое действует в 100% случаях, очень трудно. Ну а если правило действует в 80% — как тогда быть ?

    Вот именно такие правила нам и нужны.А расчет нужен для того, чтобы выявлять исключения.

    в ответ на: Матч Каллисто — Тундра #370306
    Kallisto
    Участник

    А до него на протяжении 1мин 20 сек выдает небольшой минус — 10 — 20 единиц. Потом начинает рекомендовать верный bc5

    Т.е. не все с Тундрой плохо :)
    При серьезном контроле она бы так не ошиблась.

Просмотр 15 сообщений - с 196 по 210 (из 728 всего)