Главная › Форумы › Шашечные программы › Шашечные программы › Спорная статья на сайте Дамиры
- В этой теме 23 ответа, 8 участников, последнее обновление 16 лет назад сделано MiG.
-
АвторСообщения
-
15.09.2008 в 14:35 #340590plus600Участник
Поскольку на сайте дамиры оставить отзыв невозможно, то вопрос автору здесь. Неужели Вы всьерез считаете, что самообучение работает так примитивно, как описано в Вашей статье?
15.09.2008 в 19:02 #400510FenixУчастникСергей, это снова будет специфический разговор на специфические темы?
Может быть попытаетесь по электронке???16.09.2008 в 10:18 #400511plus600УчастникПетр, а что здесь такого специфичного? По-моему вопрос расчета рейтингов более «специфичен». А есть и более специфичные темы…
16.09.2008 в 12:47 #400512OsipovУчастникСергей!
Ну извините вы меня пожалуйста, не знал, что это вас так потревожит.
Даю вам честное слово, что когда писал статью — и мысли не было Вас унизить, чтобы себя возвысить! Тем более, эта тема достаточно популярна и в шахматном программировании, и т.п., необязательно это о шашках. Мы же не «мегапроизводители» ПО или не журналюги какие-нибудь… В том смысле, что нам не из-за чего так поступать.Еще раз извиняюсь! Просто у меня огромное сомнение насет того, что это вообще возможно — самообучение — для игровых программ. Я решил написать об этом.
У меня к вам предлжение — напишите вы статью тоже! Ведь у вас, я уверен, есть что рассказать! И предлагаю обсудить этот вопрос — в чистом, открытом виде.
Разумеется, это если у вас есть желание, время, а главное вы хотите поделиться идеями, а взамен на одну получить, возможно, много новых.
А. Осипов.
16.09.2008 в 13:18 #400513FenixУчастникСергей, любой разговор программистов специфический.
Я, например, тоже не понимаю — как программа, которая пишется человеком, может самообучаться.
Вы можете себе представить, что написанное вами в тетради сочинение, самоисправит ошибки?
Или вы (программисты) выбрали неверный термин, используя чисто человеческие примеры, или вы создаете очередную «теорию относительности» — науку иллюзорную и бесполезную…16.09.2008 в 16:51 #400514edvardbuzinskijУчастникFenix
Я, например, тоже не понимаю — как программа, которая пишется человеком, может самообучаться.💡 В Фантастических романах об Этом давным давно известно
16.09.2008 в 18:08 #400515OsipovУчастникВот здесь немного об этом.
http://underwood.narod.ru/as/diplom/chapter3.htmlИ здесь.
http://chesslover.livejournal.com/7026.htmlРечь идет о программе, некоторые параметры которой меняются в процессе ее работы. Вот например, есть у какой-то программы дебютная библиотека и оценочная ф-ция с переменными параметрами. Программа играет и партию проигрывает. Значит либо тот ход, который она брала из дебютной библиотеки последним плох и она его помечает соответствующим образом и больше так играть с вами не будет. Так сейчас поступает большинство игроков по интернет в шахматы (не без помощи движков, конечно).
Либо она должна проанализировать каким-то образом какие параметры были в оценке недооценены/переоценены и изменить их. Вот в шахматах например: Однако вот это последнее я например не догадываюсь как сделать ХОРОШО.
16.09.2008 в 18:35 #400516FenixУчастникЭдвард, так то в фантастике.
Там мы уже и во времени и в пространстве перемещаемся в секунду…
У вас старого бластера не завалялось?—
Что же касается самообучения, то, я понял, это, всё же, эпитет.
Другого термина не придумали.Мне (не программисту) решение этой задачи представляется в виде накапливающейся базы проаналицированных позиций, куда можно постоянно подсматривать.
Кажется «Тундра» таким образом пыталась навести мосты между дебютом и эндшпилем… Дебют просчитывается на N ходов — а эндшпиль уже просчитан и сложен в базы — остается найти пути перехода и запомнить их.
Так может решаться игровая проблема. Например, нахождение способов НЕ ПРОИГРЫВАТЬ программе.
Но мы же замахивались на большее: решить задачу «шашки» — кто выигрывает…17.09.2008 в 17:18 #400517plus600УчастникСамообучение, это, с моей точки зрения, способность программы (человека, механизма и т.п.) самостоятельно (!) учитывать в дальнейших действиях предыдущую информацию.
Для Plus это означает, что, проиграв (получив худшую позицию) в дальнейшем (без вмешательства программиста в настройки программы) будет избегать этой позиции и выбирать другие ходы на более ранних стадиях. И в Plus это реализовано и работает.
Не нужно, конечно, это идеализоровать и надеяться, что за пару игр программа улучшит свою игру на пару сотен пунктов, но факт остается фактом — это работает.
Упоминавшаяся статья очень сильно упрощает механизм реализации самообучения. Настолько сильно, что всем становится ясным, что работать это не будет. Только описанный механизм никакого отношения к реальной действительности и к самообучению не имеет .
Остальное оставляю «за скобками»17.09.2008 в 17:21 #400518plus600УчастникЧтобы было понятнее — в Plus алгоритм самообучения не имеет никакого отношения к оценочной функции. И на решение задачи «шашки» я никогда не замахивался — это не ко мне
17.09.2008 в 18:30 #400519FenixУчастникПомнится, (сто лет назад…) играл с детищем Агафонова в поддавки. Программа дважды попалась на одну и ту же комбинацию!
В следующий раз она уже играла НЕ ТАК…
Самообучение?
Или простое усиление программы?…18.09.2008 в 07:22 #400520plus600УчастникЭто вряд ли. Скорее всего просто небольшая случайная составляющая в оценке.
26.09.2008 в 03:40 #400521NSУчастникРазнообразия игры обычно добиваются не случайностью в оценке, а случайностью в переборных алгоритмах — случайной сортировкой ходов.
Насчет самообуча — сейчас известно несколько способов —
Запоминание оценок (и лучших ходов) для позиций встретившихся в партиях (ну и близких к корню дерева перебора) — этакий срез хеша.
Называют это либо мительшпильным самообучем, либо новым термином — персистент хеш.Корректировка оценок по результатам партий (используется в Шреддере)
Ведение статистики по дебютной книге, и выбор ходов с лучшей статистикой (дебютный самообуч)
Fenix:
Я, например, тоже не понимаю — как программа, которая пишется человеком, может самообучаться.
Вы можете себе представить, что написанное вами в тетради сочинение, самоисправит ошибки?edvardbuzinskij:
Я, например, тоже не понимаю — как программа, которая пишется человеком, может самообучаться.
Конечно может, причем программа может быть полностью сделана при помощи самообуча:
— изменение веса признаков в Оценочной функции — таким способом делался Скиф:
Считаем что сила игры это функция в пространстве весов признаков, и максимизируем значение этой функции.26.09.2008 в 04:39 #400522alemoУчастникСейчас пришла в голову бредовая идея — а можно ли сделать самообучающийся движок (алгоритм) ?
Александр
26.09.2008 в 04:53 #400523NSУчастникСамообучающийся алгоритм тоже можно — но только на уровне параметров в переборных алгортимах, и включение/отключение разных алгоритмов. Принципиально новые алгоритмы программы сами пока придумывать не умеют.
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.