Спорная статья на сайте Дамиры

Главная Форумы Шашечные программы Шашечные программы Спорная статья на сайте Дамиры

  • В этой теме 23 ответа, 8 участников, последнее обновление 16 лет назад сделано MiG.
Просмотр 15 сообщений - с 1 по 15 (из 24 всего)
  • Автор
    Сообщения
  • #340590
    plus600
    Участник

    Поскольку на сайте дамиры оставить отзыв невозможно, то вопрос автору здесь. Неужели Вы всьерез считаете, что самообучение работает так примитивно, как описано в Вашей статье?

    #400510
    Fenix
    Участник

    Сергей, это снова будет специфический разговор на специфические темы?
    Может быть попытаетесь по электронке???

    #400511
    plus600
    Участник

    Петр, а что здесь такого специфичного? По-моему вопрос расчета рейтингов более «специфичен». А есть и более специфичные темы…

    #400512
    Osipov
    Участник

    Сергей!

    Ну извините вы меня пожалуйста, не знал, что это вас так потревожит.
    Даю вам честное слово, что когда писал статью — и мысли не было Вас унизить, чтобы себя возвысить! Тем более, эта тема достаточно популярна и в шахматном программировании, и т.п., необязательно это о шашках. Мы же не «мегапроизводители» ПО или не журналюги какие-нибудь… В том смысле, что нам не из-за чего так поступать.

    Еще раз извиняюсь! Просто у меня огромное сомнение насет того, что это вообще возможно — самообучение — для игровых программ. Я решил написать об этом.

    У меня к вам предлжение — напишите вы статью тоже! Ведь у вас, я уверен, есть что рассказать! И предлагаю обсудить этот вопрос — в чистом, открытом виде.

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

    А. Осипов.

    #400513
    Fenix
    Участник

    Сергей, любой разговор программистов специфический.

    Я, например, тоже не понимаю — как программа, которая пишется человеком, может самообучаться.
    Вы можете себе представить, что написанное вами в тетради сочинение, самоисправит ошибки?
    Или вы (программисты) выбрали неверный термин, используя чисто человеческие примеры, или вы создаете очередную «теорию относительности» — науку иллюзорную и бесполезную… :-(

    #400514
    edvardbuzinskij
    Участник

    Fenix
    Я, например, тоже не понимаю — как программа, которая пишется человеком, может самообучаться.

    💡 В Фантастических романах об Этом давным давно известно :?

    #400515
    Osipov
    Участник

    Вот здесь немного об этом.
    http://underwood.narod.ru/as/diplom/chapter3.html

    И здесь.
    http://chesslover.livejournal.com/7026.html

    Речь идет о программе, некоторые параметры которой меняются в процессе ее работы. Вот например, есть у какой-то программы дебютная библиотека и оценочная ф-ция с переменными параметрами. Программа играет и партию проигрывает. Значит либо тот ход, который она брала из дебютной библиотеки последним плох и она его помечает соответствующим образом и больше так играть с вами не будет. Так сейчас поступает большинство игроков по интернет в шахматы (не без помощи движков, конечно).

    Либо она должна проанализировать каким-то образом какие параметры были в оценке недооценены/переоценены и изменить их. Вот в шахматах например: Однако вот это последнее я например не догадываюсь как сделать ХОРОШО.

    #400516
    Fenix
    Участник

    Эдвард, так то в фантастике.
    Там мы уже и во времени и в пространстве перемещаемся в секунду…
    У вас старого бластера не завалялось?

    Что же касается самообучения, то, я понял, это, всё же, эпитет.
    Другого термина не придумали.

    Мне (не программисту) решение этой задачи представляется в виде накапливающейся базы проаналицированных позиций, куда можно постоянно подсматривать.
    Кажется «Тундра» таким образом пыталась навести мосты между дебютом и эндшпилем… Дебют просчитывается на N ходов — а эндшпиль уже просчитан и сложен в базы — остается найти пути перехода и запомнить их.
    Так может решаться игровая проблема. Например, нахождение способов НЕ ПРОИГРЫВАТЬ программе.
    Но мы же замахивались на большее: решить задачу «шашки» — кто выигрывает…

    #400517
    plus600
    Участник

    Самообучение, это, с моей точки зрения, способность программы (человека, механизма и т.п.) самостоятельно (!) учитывать в дальнейших действиях предыдущую информацию.
    Для Plus это означает, что, проиграв (получив худшую позицию) в дальнейшем (без вмешательства программиста в настройки программы) будет избегать этой позиции и выбирать другие ходы на более ранних стадиях. И в Plus это реализовано и работает.
    Не нужно, конечно, это идеализоровать и надеяться, что за пару игр программа улучшит свою игру на пару сотен пунктов, но факт остается фактом — это работает.
    Упоминавшаяся статья очень сильно упрощает механизм реализации самообучения. Настолько сильно, что всем становится ясным, что работать это не будет. Только описанный механизм никакого отношения к реальной действительности и к самообучению не имеет :).
    Остальное оставляю «за скобками» :)

    #400518
    plus600
    Участник

    Чтобы было понятнее — в Plus алгоритм самообучения не имеет никакого отношения к оценочной функции. И на решение задачи «шашки» я никогда не замахивался — это не ко мне :)

    #400519
    Fenix
    Участник

    Помнится, (сто лет назад…) играл с детищем Агафонова в поддавки. Программа дважды попалась на одну и ту же комбинацию!

    В следующий раз она уже играла НЕ ТАК…
    Самообучение?
    Или простое усиление программы?…

    #400520
    plus600
    Участник

    Это вряд ли. Скорее всего просто небольшая случайная составляющая в оценке.

    #400521
    NS
    Участник

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

    Насчет самообуча — сейчас известно несколько способов —

    Запоминание оценок (и лучших ходов) для позиций встретившихся в партиях (ну и близких к корню дерева перебора) — этакий срез хеша.
    Называют это либо мительшпильным самообучем, либо новым термином — персистент хеш.

    Корректировка оценок по результатам партий (используется в Шреддере)

    Ведение статистики по дебютной книге, и выбор ходов с лучшей статистикой (дебютный самообуч)

    Fenix:

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

    edvardbuzinskij:

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

    Конечно может, причем программа может быть полностью сделана при помощи самообуча:
    — изменение веса признаков в Оценочной функции — таким способом делался Скиф:
    Считаем что сила игры это функция в пространстве весов признаков, и максимизируем значение этой функции.

    #400522
    alemo
    Участник

    Сейчас пришла в голову бредовая идея — а можно ли сделать самообучающийся движок (алгоритм) ?

    Александр

    #400523
    NS
    Участник

    Самообучающийся алгоритм тоже можно — но только на уровне параметров в переборных алгортимах, и включение/отключение разных алгоритмов. Принципиально новые алгоритмы программы сами пока придумывать не умеют.

Просмотр 15 сообщений - с 1 по 15 (из 24 всего)
  • Для ответа в этой теме необходимо авторизоваться.