Вход | Регистрация

  1  2  3   
Информационные технологии ::

Метки: 

Революция в шахматном мире: AlphaZero от Google обыграл StockFish

Я
   Lama12
 
08.12.17 - 12:28
http://www.newsru.com/sport/08dec2017/deep.html
AlphaZero обыграла Stackfish
Программа которую делали люди и рассчитывающую 70 000 000 позиций в секунду проиграла матч из 100 партий самообучающемуся искусственному интеллекту который оценивал всего 80 000 позиций в секунду. В сухую!
На обучение игре в шахматы AlphaZero потратило 4 часа.
Тут предварительный доклад программистов https://arxiv.org/pdf/1712.01815.pdf

Я в шоке.
 
 
   ilou
 
101 - 11.12.17 - 15:48
(98) хотя я тебя понимаю, что и к любому алгоритму можно запилить особый процессор, который будет более удачно рассчитывать ходы.
   NSSerg
 
102 - 11.12.17 - 15:49
(99) Ты походу просто издеваешься.
Как ты сейчас "256MB A1200 MHz" будешь переводить в "Novag Constellation Primo"?
Ты понимаешь что у них и разная система команд, и разная архитектура, и даже примерно соотношение производительности не известно?
Но это не мешает их поместить в один рейтинг лист.
   ilou
 
103 - 11.12.17 - 15:49
(100) я это понимаю, я хочу просто донести мысль, что железо пилилось под математику, а не под "математику" нейронных сетей.
   VS-1976
 
104 - 11.12.17 - 15:50
Под нейросети на сколько я знаю лучше всего подходят видеокарты. Греф закупался карточками в сбер
   NSSerg
 
105 - 11.12.17 - 15:51
(101) Нихрена ты не понимаешь.
Не к алгоритму можно запилить проц - а в рейтинг лист можно поместить программу игравшую на конкретном железе.
Сейчас альфа играла на железе, правильно?
Кто мешает именно на этом железе Альфу свести в матче с сильнейшими движками, посчитать рейтинг, и указать в рейтинг листе вместе с железом на котором альфа играла?

(103) А это что за хрень? TPU - это специализированный нейронный процессор. Он пилился именно под нейронные сети.
   VS-1976
 
106 - 11.12.17 - 15:51
(102) Ну производительность как раз сравнивается в терафлопсах
   NSSerg
 
107 - 11.12.17 - 15:51
(104) Под нейросети лучше подходят недавно появившиеся специализированные нейронные процессоры. Например TPU
   NSSerg
 
108 - 11.12.17 - 15:52
(106) Зачем её сравнивать?
   ilou
 
109 - 11.12.17 - 15:53
(105) да не спорю я что Альфа проиграет, не в этом же разговор был.
   VS-1976
 
110 - 11.12.17 - 15:53
(107) Ожидаемое решение, так как в видеокарте много лишнего
 
  Рекламное место пустует
   NSSerg
 
111 - 11.12.17 - 15:55
(106) Нужно взять движок на любом железе, провести матч, и сравнивать только силу, а не производительность железа.
В рейтинг листе SSDF ты видишь сравнение производительности железа? Нет? Конечно не видишь, потому что его там нет. Оно не нужно.
(109) Кому проиграет? При чем тут выиграет она или проиграет? Разница в силе считается не в проиграет/выиграет, а в пунктах эло.
   VS-1976
 
112 - 11.12.17 - 15:59
(111) Мне кажется что товарищ хочет донести мысль что если бы у противника было побольше времени подумать ( производительность железа выше ), то возможно он бы играл лучше.
   NSSerg
 
113 - 11.12.17 - 16:01
Попробую еще раз объяснить. Альфа играла на 4 TPU по 45 Терафлоп.

Берем Альфу, на этом компе, проводим матчи с
1 Komodo 11.01 MP x64 16GB 1800X 3,6 GHz  
2 Deep Shredder 13 x64 16GB 1800X 3,6 GHz
3 Komodo 9.1 MP x64 2GB Q6600 2,4 GHz
4 Stockfish 6 MP x64 2GB Q6600 2,4 GHz

Считаем получившийся рейтинг Альфы, и добавляется строчка
в http://ssdf.bosjo.net/long.txt
Альфа 4 TPU х 45 Терафлоп, и напротив неё рейтинг.
(109) Так понятно?
   NSSerg
 
114 - 11.12.17 - 16:02
(113) Рейтинги этих четырех движков на указанном железе известны, поэтому когда будет получен результат матчей, можно будет посчитать рейтинг Альфы на 4 TPU х 45 Терафлоп.
   NSSerg
 
115 - 11.12.17 - 16:14
(112) Если на другом железе сила выше (ежу понятно что на разном железе разная сила), никто не мешает посадить альфу на другое железо, и добавить еще строчку в рейтинг-лист, с указанием другого (более мощного железа), и другого, более высокого рейтинга.


Например как сделано для этого движка.
32 Deep Shredder 11 x64 2GB Q6600  2,4 GHz rating: 3014
49 Deep Shredder 11  256MB  Athlon 1200    rating: 2897  


Неужели непонятно, что именно поэтому железо и указывается, что играли разные движки на разном железе, а на разном железе разная сила?
   NSSerg
 
116 - 11.12.17 - 16:17
Или вот
192 Genius 4.0 DOS Pentium 90 MHz           2304
202 Genius 4.0 DOS 486/50-66 MHz            2268
   ilou
 
117 - 11.12.17 - 16:44
(114) ладно свою мысль я донес. По поводу рейтингов вообще никаких вопросов нет, рано или поздно дадут они данную информацию и можно будет этот рейтинг сосчитать.
   Вафель
 
118 - 11.12.17 - 16:44
мне кажетеся специально параметры сток фиша подбирали так чтобы он все игры проиграл.

-Эх выигрывает нас.
-Давайте отключим библиотеку дебютов.
-Все равно выигрывает
-Эндшпили тоже отключим
-Еще чуть чуть нужно
-Может времени поменьше поставим, версию постарее возьмем?
   ilou
 
119 - 11.12.17 - 16:47
Вполне вероятно, что так оно и было, я все ж сомневаюсь, что на типовом железе, можно обогнать расчет вариантов.
   ilou
 
120 - 11.12.17 - 16:48
Если бы только ИИ запилило свою "математику", но и опять же она работать будет у "него в голове", а не из формул.
   NSSerg
 
121 - 11.12.17 - 16:56
(117) Донес - это когда её, мысль, собеседник понял. Я так и не понял.
(119) Что значит "Обогнать расчет вариантов"?
Альфа - тоже переборный движок, только у него более мощная, но более медленная оценочная функция.
(120) Оценочная функция Альфы - тоже формула, но существует она в виде нейронной сети с весами. Её легко можно переписать под любой обычный CPU - только считаться будет медленно.

(118) Отключения ЭБ  и я не понял. Это вообще какая-то жесть, ибо на текущий момент шестифигурки фактически неотъемлемая часть стока.

Дебютная не является неотъемлемой частью. Но у стока дебютную отобрали, а Альфе поставили, еще вдобавок и обучаемую.
   ilou
 
122 - 11.12.17 - 17:08
(121) ох, тебя шатает от мысли о рейтинге к мысли о НС.

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

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

по НС я понял, что у тебя свое представление о данной области знаний, по факту, ты пишешь, по следующей аналогии, что "клетка - это просто молекулы, которые взаимодействуют", но это уже совсем другой подход к данным.
   NSSerg
 
123 - 11.12.17 - 17:25
(122) Опять я ничего не понял. Что значит свое представление? Нейронная сеть, она и в Африке нейронная сеть.
Я всего лишь отвечаю на посты, но отвечать очень тяжело, ибо по большей части я не понимаю что ты пишешь, для меня это бессвязный набор слов.

Рейтинг не дает представление о том кто кого обыграл. Рейтинг эта единица измерения силы. Любой движок на конкретном железе (и любой игрок, человек) имеет силу, измеряется она в единицах рейтинга Эло.
То есть рейтинг Эло - это число, которое показывает силу.
Если  Hiarcs 10 HypMod 256MB Athlon 1200 MHz  
имеет рейтинг 2834 (58-ая строчка в http://ssdf.bosjo.net/long.txt), значит на этом железе (256MB Athlon 1200 MHz) в Классические шахматы он играет чуть сильнее Карлсена, чей рейтинг 2829
  https://2700chess.com/players/carlsen

Это у тебя мысли скачут. Ты умудрился связать НС - с невозможностью измерения силы движка, использующего НС в качестве оценочной функции.
   NSSerg
 
124 - 11.12.17 - 17:29
(122)
+(123) Попробую теперь объяснить как устроен движок - совсем упрощенно это переборная часть + ОФ(оценочная функция)
ОФ бывает простой, тогда движок будет быстрый, бывает сложной, тогда движок будет медленный.
Устройство Альфы в целом не отличается от других движков.
Основное отличие в том что в качестве ОФ у него используется НС (очень медленная, но очень мощная ОФ), а в качестве переборных алгоритмов похоже mcts.

Ты пытаешься рассуждать о тех вещах, которые не понимаешь - как устроен шахматный движок, что такое рейтинг и т.д. И в итоге получается бессвязный набор слов.
   NSSerg
 
125 - 11.12.17 - 17:37
https://2700chess.com/
Вот рейтинг-лист людей (Это Live! рейтинг)
Несмотря на то, что ну никак нельзя сравнить мощность "железа человека" и железа на котором играют программы - все равно у людей тоже есть рейтинг, благодаря которому можно узнать кто сильнее, и насколько.
Так как рейтинг ssdf откалиброван на людях, то можно узнать кто сильнее - человек, или конкретная программа на конкретном железе.
   NSSerg
 
126 - 11.12.17 - 17:39
Поподробней про рейтинг Эло
https://ru.wikipedia.org/wiki/Рейтинг_Эло
   ilou
 
127 - 11.12.17 - 18:10
(123) опять 25, еще раз это сравнение процессора с видеокартой, мягкого с кислым, нельзя их сравнивать, нельзя сравнивать движки работающие на мат анализе и движки работающие на НС на одном и том же железе, как ты этого не понимаешь, если уж и сравнивать, то только результаты, как ты сам выше и писал, результаты в не зависимости от железа, только так.

Но попробую по твоему решить задачу, с другой стороны я понимаю твое упорство, что мол вот есть готовые алгоритмы перебора ходов и выбора оптимального варианта и давайте их сравнивать, мол ограничением у нас будет мощность компьютера, а раз данный параметр у нас ограничен, то остается качество кода. у НС есть некоторая потребность в мощности в рамках которого она работает, больше ей просто не нужно, вот это и должно быть ограничение (это очень грубо), если уж на то пошло, а не просто какой-то компьютер, вот эту систему и должны тебе по идее написать по Альфа0, но что для тебя будет значит TPU хз и как находить аналог и будет ли он аналогом я ума не приложу.
   NSSerg
 
128 - 11.12.17 - 18:45
(127) я ни разу не пытался сравнить производительность  нейронных сетей на процессоре и tpu (кстати, это не видеокарта)
Я всего-лишь написал что те-же алгоритмы можно запустить на cpu.
При чем тут сравнение производительности?
Я ни разу в ветке не предложил сравнить игру движка (и силу движков) на нейронных сетях и классической ОФ на одном железе.
Я писал что Альфа должна играть на своем железн (на TPU), а классические движки на своем.
Вы кому и на какую фразу отвечаете?
   NSSerg
 
129 - 11.12.17 - 18:49
И еще раз - альфа такой же переборнвй движок.
И если удвоить количество tpu, то на оценку каждой позиции будет уходить в два раза меньше времени, и соответсвенно за то же время Альфа сможет рассмотреть в два раза больше позиций (узлов дерева перебора) с соответствующим ростом силы.

Еще раз повторяю - в альфе играет не нейронная сеть, она не выбирает ход, а всего лишь дает оценку позиции, а за выбор хода, так же и а классических движках отвечает перебор.
   NSSerg
 
130 - 11.12.17 - 18:50
мне кажется, что так же как рассуждая о рейтинге, вы даже примерно не представляли что это такое, так же и с выбором хода Альфой, вы даже примерно не представляете как это происходит.
   ilou
 
131 - 11.12.17 - 20:25
(130) собственно я понял, что вы сравниваете калькулятор и Альфо0, вас просто терзает мысль, что мол они негодяи книгу ходов запихнули в нейронную сеть и теперь тупым перебором выбирают самую подходящую, а вот программке это сделать не дали и типа требуют от неё все ходы просчитывать заранее с 0ми данными. Еще раз если бы все так было просто, тупой мат анализ и т.д. то всякие нейронные сети были бы не нужны, вы опять говорите, по аналогии "клетка - есть набор взаимодействующих молекул и ничего более", нейронные сети это больше чем набор мат алгоритмов, хотя будет вопрос, а что же это такое, если не система с выбором ходов...
   NSSerg
 
132 - 11.12.17 - 21:56
(131) Еще раз повторить? Вы даже примерно не понимаете как работает Альфа. Я, как разработчик шахматного движка, примерно (или больше чем примерно) понимаю как он работает. И с моей точки зрения вы пишете ахинею.
Какая книга ходов?
Еще раз попытаюсь обяснить - на базе НС в Альфе сделана оценочная функция. Не более того.
Так же как и любой другой движок, Альфа строит дерево перебора, оценивая листья дерева при помощи ОФ (своей нейронной сети).
Правда в mcts немного всё сложнее, но не буду вас грузить.
Насчет дебютной книги отдельный разговор, так же считаю что вы к нему просто не готовы.
   Lama12
 
133 - 11.12.17 - 21:57
(131) Вообще-то NSSerg все верно говорит. Нейросеть просто оценочная функция.
 
 
   Dzenn
 
134 - 11.12.17 - 22:22
ИИ наступает, как и предсказывал Рэй Курцвейл.
Через 10 лет ждём домашних роботов https://hi-news.ru/technology/prognozy-reya-kurcvejla-na-blizhajshie-25-let.html
   КомПрог
 
135 - 11.12.17 - 23:33
(134) Вот здесь эти же прогнозы:
https://youtu.be/WL0Dj50x2Gs
   shpioleg
 
136 - 12.12.17 - 00:34
(133) Тогда и шахматиста-человека можно представить как просто оценочную функцию.
   NSSerg
 
137 - 12.12.17 - 00:52
(136) Да причем тут представить? Там прямо в коде написаны переборные алгоритмы, чем больше времени отводится программе тем дальше она считает, а оценка позиции производится за фиксированное время. И выдает НС получая на вход позицию, не ход, а оценку этой позиции.
Точно так-же как и оценочная функция любой другой шахматной программы.

Не представить можно, а прямо в коде прописаны переборные алгоритмы, и чем дольше программа думает, тем дальше считает. Для mcts понятие "дальше" конечно условное, но суть в другом. Это обычный переборный движок.
   NSSerg
 
138 - 12.12.17 - 00:52
Просто роль оценочной функции играет нейронная сеть, с уже посчитанными весами.
   NSSerg
 
139 - 12.12.17 - 01:01
В (0) же достаточно четкое описание.
Вместо ОФ используется нейронная сеть, не стали использовать Альфа-бету, а в качестве переборного алгоритма используется mcts.

Использование mcts с наложенной ОФ - уже давно стандартный метод перебора в ГО.

Такой метод перебора использовала моя программа участвовавшая в открытом чемпионате Голландии 2013 года.
http://archive.codecup.nl/2013/49/rules_symple.html
http://archive.codecup.nl/2013/27/competitionlist.html

Игра похожа на ГО, поэтому в ней хорошо работает MCTS (вместо альфа-беты)
   Gobseck
 
140 - 12.12.17 - 01:24
(136) +100
Причем среди людей были шахматисты, которые быстро и далеко считали варианты (Михаил Таль) и шахматисты, у которых в голове была "хорошая оценочная функция" (Капабланка, Карпов).
   NSSerg
 
141 - 12.12.17 - 01:33
(140) Шахматисты считают все, поэтому ни одного шахматиста нельзя представить как оценочную функцию. И человек выдает ход, а не оценку (а если и выдает оценку позиции, то обязательно подкрепляет её перебором)
В отличии от человека, нейросеть, так же как и обычная ОФ - выдает именно оценку, без какого-либо перебора.
И чтоб программа могла играть - её ОФ обязательно нужно подкрепить перебором.
   NSSerg
 
142 - 12.12.17 - 01:35
Или иными словами - программа, как и человек - это перебор + ОФ (где у Альфы в качестве ОФ - Нейронная сеть)
   ILM
 
143 - 12.12.17 - 06:17
(140) У Каспарова были хороши обе ачивки. Про Таля не согласен, он играл скорее интуитивно и эмоционально. У него было видение партии как произведения искусства. По красоте игры, Таля пока ещё никто не превзошёл.
   Зуекщмшср
 
144 - 12.12.17 - 06:21
(143) Накамура иногда выдает талевские партии. Дубов пытается мутить воду в стиле Таля.
   Волшебник
 
Модератор
145 - 12.12.17 - 09:06
Искусственный интеллект Гугла оказался фикцией!
Опять перебор, тупая заученная вусмерть нейросеть, которая дальше не обучается, хоть учи её тыщу лет!
А-ха-ха!
   antgrom
 
146 - 12.12.17 - 09:21
Программа от Гугла просто умеет гуглить.
Поэтому и выигрывает.
   NSSerg
 
147 - 12.12.17 - 15:25
Похоже что нейросеть выдает не только оценку позиции, но еще вероятность того что будет сделан тот или иной ход из этой позиции (вероятность того что он лучший), и эта вероятность используется в переборных алгоритмах.
   КомПрог
 
148 - 12.12.17 - 15:43
В 2014г ИИ за 4 часа мог только в пинг-понг научиться играть:
https://youtu.be/y81ryf_eDHA?t=1m46s
Прогресс за 3 года поражает. Толи еще будет...
   NSSerg
 
149 - 12.12.17 - 16:01
(148) Ничего подобного. Так-же можно было посчитать веса в ОФ.
Не научилась Альфа играть в шахматы за четыре часа. За четыре часа веса в ОФ (нейронной сети) были посчитаны.
 
 
   ERWINS
 
150 - 12.12.17 - 17:54
NSSerg рекомендую почитать как там сделано.

нейросеть кроме подсчета оценочной функции предсказывает еще и перспективные ходы. Если в первых версиях для ГО это были 2 разные нейросети, то сейчас используется одна и таже.

Программа научилась играть за 4 часа, правда на уровне человека, в дальнейшем ее дообцчали ДОЛГО.

В остальном ты прав.
   ERWINS
 
151 - 12.12.17 - 18:02
"Не научилась Альфа играть в шахматы за четыре часа. За четыре часа веса в ОФ (нейронной сети) были посчитаны."
не научилась играть в Го веса за ... часа были подсчитаны, ненаучилась в .... веса были подсчитаны.

А научиться и посчитать веса одно и тоже. Не?
   NSSerg
 
152 - 12.12.17 - 19:23
(151) Повторюсь - почитать веса в ОФ за четыре часа умели и раньше.
Нет, посчитать веса в ОФ, и научиться играть в шахматы не одно и то-же.
Оценочная функция не умеет играть в шахматы. Ей нужен генератор ходов, исполнитель, переборные алгоритмы и т.д.
Более того - Прежде чем ОФ научить (посчитать веса) - её нужно написать.

Ровно так-же как и Стокфиш - написана полностью программа, включая переборные алгоритмы и ОФ. Теперь посчитать веса признаков в ОФ - можно достаточно быстро.

Так же и Альфа - написана полностью программа, включая переборные алгоритмы и ОФ, и только после этого за четыре часа она была обучена.
   NSSerg
 
153 - 12.12.17 - 19:28
(150) Я это знаю, ибо это есть в моих постах на Каспаровчесс. Это не меняет сути. Нейросеть - это все-равно всего-лишь ОФ (понятно что одна ОФ умеет кое-как считать ценность ходов - ценность хода это разница между ОФ в позиции перед ходом, и в позиции после хода), которая еще вдобавок умеет достаточно точно выдавать веса ходов, которые в дальнейшем используются в переборе (MCTS)

И то что её на огромных вычислительных мощностях обучили за четыре часа - в принципе в этом ничего такого нет.

А есть - Альфа это первая шахматная программа на MCTS играющая достаточно сильно, и первая шахматная программа с ОФ на Нейронных сетях, играющая достаточно сильно. Ну и что сделало это возможным - это появление TPU. Потому что без TPU производительности для такой силы игры бы не хватило, и на этот проект не обратили бы внимания.
   ERWINS
 
154 - 12.12.17 - 19:35
(152) значит не понял суть.
Алгоритм один и тот же под шахматы и под го и под какую то там еще игру. Т.е. если ты поменяешь правила то для фиш тебе придется переписывать программу? например конь ходит как жираф? а тут нет.

(153) вероятно сеть не сжимали. Насколько можно ее сжать не известно, но например для картинок в 1000 раз практически без потери точности. Но тогда качество игры при одинаковой вычислительной мощности должно будет практически сравняться.
   NSSerg
 
155 - 12.12.17 - 19:52
(154)  переборные алгоритмы, оф, представление доски, генераторы и исполнители ходов - разные под разные игры.
если у тебя написаны шахматы, а нужно шашки - придется все переписывать с нуля. если тебе нужно из программы в бразильские шашки сделать программу в русские - меняется генератор ходов и исполнитель, нужно пересчитать веса в оф, и переписать в оф эндшпильный блок.

только я не понимаю какое это имеет отношение к теме.

что такое «алгоритм один и тот-же» - алгоритм чего?
   NSSerg
 
156 - 12.12.17 - 19:53
Нормальная шахматная программа - это достаточно большой количество алгоритмов и эвристик.

Это не один алгоритм. И не два :)
   ERWINS
 
157 - 12.12.17 - 20:01
Программа имеет на вход правила ходов и начальную расстановку.

Обрабатывая и формируя веса она учиться играть используя правила ходов. Ей без разницы что ты запихнешь.


"это достаточно большой количество алгоритмов и эвристик" - вот в данном случае нейросеть заменяет эвристики собой.

Время рукописных программ игры в .... ушло. Скоро такая же судьба постигнет и программистов и сантехников.
   NSSerg
 
158 - 12.12.17 - 20:18
(157) Зачем фантазировать? Все не так.
У Альфы полноценные переборные алгоритмы (MCTS), вместо ОФ нейронная сеть. Обученная. Которая кроме ОФ дает веса ходов.

На самом деле обучение ОФ нейронными сетями - давно уже стандарт и в ГО и в нарды. В принципе в этом ничего нового нет.
Новое только сила, и то что эта схема впервые применена в шахматах. Именно в шахматах не получалось сделать сильную программу на mcts (в другие игры уже 10 лет как получается)
И именно в шахматах не получалось сделать ОФ на нейронных сетях (в нарды тоже уже 10 лет как)

Но по форумам зачем-то распространяют слухи что Альфа с помощью нейронной сети научилась играть в шахматы.

Нет. Нейронная сеть в ней это ОФ, а обучение - это настройка весов в ОФ. Играть в шахматы она умеет вообще без нейронной сети, но естественно очень слабо. Как и любая другая программа с непосчитанными весами в ОФ.

Кстати, программе с mcts в принципе ОФ для игры не обязательна, может играть вообще чисто на переборных алгоритмах.
   ERWINS
 
159 - 13.12.17 - 13:00
(158)
"У Альфы полноценные переборные алгоритмы (MCTS), вместо ОФ нейронная сеть. Обученная. Которая кроме ОФ дает веса ходов. " - полностью согласен

"Новое только сила, и то что эта схема впервые применена в шахматах" - она была применена 3 года назад с хорошими результатами, но разработка была прекращена.

"Играть в шахматы она умеет вообще без нейронной сети, но естественно очень слабо" - без ОФ? круть! Тогда можно сказать что она умеет играть в шахматы без перебора, но только слабо - используя веса ходов.
   NSSerg
 
160 - 13.12.17 - 13:34
(159)
1.Применена в шахматах она была не только три года назад. Применение нейросети или mcts в ОФ можно считать нормальным, только когда оно дает нормальную силу игры. Всякие Жирафы в нормальную силу не играли. И естественно Жираф не первая неудачная попытка.

2. Зачем ты споришь? Еще раз повторяю - программы с mcts могут играть без ОФ, совсем. Есть примеры достаточно сильных программ в ГО, совсем без ОФ.

На всякий случай еще раз повторю ссылку - я автор не только программ на альфа-бете, но и программ на mcts. И знаю о чем говорю. Ссылку в ветке я уже давал. (139)
   NSSerg
 
161 - 13.12.17 - 13:55
+ (160) Опечатка. Применение нейросети или mcts в *программе можно считать нормальным...
   ERWINS
 
162 - 13.12.17 - 14:07
Понял. В ГО чистый mcts работает, а вот в шахматах насколько я знаю нет.
   Волшебник
 
Модератор
163 - 13.12.17 - 14:14
(148) Вы арканоид с пинг-понгом не путаете?

Роботов для игры в настольный теннис пока не придумано. Есть робопушки, которые выстреливают шарики по программе и/или рандомно.
   ERWINS
 
164 - 13.12.17 - 14:48
(162) насколько я помню это связано с конечностью партии в ГО и потенциальной бесконечностью в шахматах.
   ДемонМаксвелла
 
165 - 13.12.17 - 15:11
(164) неверно. дерево перебора в го ветвится быстрее. и партия шахмат не бесконечна, есть, например, правило 50 ходов.
   ERWINS
 
166 - 13.12.17 - 15:13
(165) партия в го не может длиться больше чем 19*19 ходов.
Какома максимальная длительность партии в шахматы?
   ДемонМаксвелла
 
167 - 13.12.17 - 15:19
(166) лучше говорить о правиле 75 ходов, там ничья засчитывается автоматом.

теоретически это приводит к верхней планке менее 10 тыс ходов.

Но на практике 99,99 % партий (и у людей, и у машин) длятся менее 100 ходов.
   ERWINS
 
168 - 13.12.17 - 15:21
(167) а в ГО это 19*19 ходов если кто то раньше не сдастся. Но такое можно не учитывать.
   ДемонМаксвелла
 
169 - 13.12.17 - 15:29
Длина партии растет линейно, а ветвление экспоненциально. Длина партии на количество расчетов сильно не влияет.
   ДемонМаксвелла
 
170 - 13.12.17 - 15:33
   ERWINS
 
171 - 13.12.17 - 15:35
(169) для MCTS важна длина партии, точнее как часто мы будем приходить к варианту пройгрыш/выйгрыш.
   NSSerg
 
172 - 13.12.17 - 15:37
(166) (171) С этой точки зрения mcts важна не максимальная длина партии, а средняя.
Чем меньше возможных ходов в позиции, тем проще mcts (в шахматы меньше чем в ГО)
Чем короче средняя партия - тем проще mcts (в шахматы средняя партия короче чем в ГО)
   NSSerg
 
173 - 13.12.17 - 15:41
В шахматы препятствие для MCTS было совершенно другое, а именно то что в шахматы в отличии от ГО - Альфа-бета хорошо играет. Но есть примеры и шахмат на MCTS - но играют слабее альфа-беты. Например WildCat пробовал, можно у него спросить чем закончилось (игра осмысленная, но слабая относительно классической альфа-беты)

А вот уже в шашки говорят были успешные попытки с mcts.
Только я уже потерялся, о чем спор?
Что сделано нечто феноменальное? Да, но я уже повторял, то что на обучение потрачено 4 часа - это ни о чем. Феноменально что сильно играет MCTS, и что при этом сильно играет с ОФ на нейросетях. Ни то ни другое не удавалось.
И если бы не появились TPU, то и не удалось бы.
   ERWINS
 
174 - 13.12.17 - 15:42
(172) важна даже не длина партии,а партии с однозначным исходом. Если мы не используем в шахматах ОФ то работать MCTS  не будет.
   ERWINS
 
175 - 13.12.17 - 15:43
Спор в твоем утверждении что для шахмат чистый MCTS без ОФ будет работать.
   NSSerg
 
176 - 13.12.17 - 15:43
(174) (175) Будет.
Что ты понимаешь под словом "работать"?
И что такое MCTS без ОФ? UCT+RAVE? Будет работать. Будет играть. Несравнимо сильнее чем рандомный движок.
   ERWINS
 
177 - 13.12.17 - 15:44
(176) "Несравнимо сильнее чем рандомный движок" жесткое утверждение. Не верю.
   NSSerg
 
178 - 13.12.17 - 15:48
(177) На основании чего не веришь? Я, когда приступал к написанию Symple - вообще не мог понять как mcts работает, и не верил что сможет играть. А оно вона как - играет, осмысленно, видит тактику. То есть у меня есть причины думать что сможет играть.

Потом в шахматы - тоже не верилось что сможет играть, но есть пример WildCata - движок играющий в шахматы на mcts.
   NSSerg
 
179 - 13.12.17 - 15:50
(174) Что такое "партия с однозначным исходом"?
   NSSerg
 
180 - 13.12.17 - 15:51
Все партии, наигранные mcts - с однозначным исходом. Конечная позиция имеет однозначный результат.
   ERWINS
 
181 - 13.12.17 - 15:52
(179) победа/поражение или разница в числе камней и т д.

в шахматах почти всегда при случайных ходах будет или ничья очень долгая партия.
   NSSerg
 
182 - 13.12.17 - 16:52
(181) MCTS это не случайные ходы. Мы точно оба понимаем о чем идет речь? Что такое RAVE например?
   NSSerg
 
183 - 13.12.17 - 17:22
Применительно к шахматам в качестве RAVE можно использовать статистику ходов, включающую в себя - Какая фигура, откуда, куда пошла, и если взятие, что съела.

У программы, в которой только RAVE - хорошие взятия вылезут в топ, и она начнет объедать рандомный движок.
А далее в ТОП вылезут матующие ходы.
То есть естественно нет никаких сомнений что только на одном RAVE MCTS-движок будет всё выигрывать у рандомного.
Ну и никто не мешает наложить на статистику данные, например SEE, MVV/LVA (это ну никак не ОФ), так что программе не нужно даже набирать статистику по RAVE чтоб объедать, она будет уметь делать это изначально.

UCT - вполне достаточно чтоб для 3ЭБ шахматная программа смогла построить готовую эндшпильную библиотеку, в реальном времени, прямо во время партии. Думаю что сможет и для 4ЭБ. Например KBNK, KQKR - думаю что и с этим проблем не будет.

И это всё без ОФ.
   ERWINS
 
184 - 13.12.17 - 17:31
(183) "хорошие взятия вылезут в топ" игра партии идет до конца. Хорошие взятия алгоритм не увидит, так как может идти очень долго. Если мы например ограничиваем 30 ходами и потом считаем простую стоимость фигур то ваш вариант будет работать.

Неуверен что мат ладья+король вс король можно поставить случайными ходами меньше чем за 1000 ходов.
   ERWINS
 
185 - 13.12.17 - 17:32
Мы берем чистый монтекарло который работает на ГО и вероятно не работает на шахматах.

Любые улучшения это эвристика.
   NSSerg
 
186 - 13.12.17 - 17:44
(184) То есть как не увидит?
(185) Да, чистый mcts, без ОФ.
Согласен даже на только UCT + RAVE + MVV/LVA.
Совсем простая схема, аналогичная которой будет работать в ГО.
   ERWINS
 
187 - 13.12.17 - 17:47
(186) ты вероятно делаешь предположения что ходы взятий будут в приоритетах и работать форсированные варианты.
но эта эвристика, а мы говорим о чистом монтекарле.
   NSSerg
 
188 - 13.12.17 - 17:47
+ (186) Вообще ничего кроме этого. Генератор ходов, исполнитель хода, проверка окончания партии, и простенькая формула для расчета миксующая UCT, вышеописанный RAVE.
И что-то для взятий. Например просто в случае остальных равных - рассматриваем ход лучший по MVV/LVA

И утверждаю что такое будет выигрывать 100% против рандомного движка.
   ERWINS
 
189 - 13.12.17 - 17:51
(188) согласен с таким утверждением.
   NSSerg
 
190 - 13.12.17 - 17:54
(187) Какие форсированные варианты в mcts? Как это?
Что такое чистый Монте-Карло? Это Монте-Карло без ОФ.
Считается минимально играет UCT+RAVE+еще немножечко.
   ERWINS
 
191 - 13.12.17 - 18:06
(190) да, такое будет играть.
   ERWINS
 
192 - 13.12.17 - 18:07
"И что-то для взятий" - форсированные варианты?
   NSSerg
 
193 - 13.12.17 - 18:32
(192) нет, не переборное, либо mvv/lva, либо see.
Просто расставить приоритеты для ходов при одинаковой статистике.
То же самое что простая сортировка ходов в обычной альфа-бете.
Например приоритет по mvv/lva, у взятий приоритет перед остальными ходами. Я бы еще и шахам дал приоритет.

Но мы обсуждали совсем другое, что альфа - полноценный движок, который уже умеет играть в шахматы. А обучение нужно только чтоб он играл хорошо. Как и классические шахматные программы с непроставленными весами в оф. Чтоб нормально играла - веса нужно настроить. И настройка за четыре часа, да и еще на сверхмощностях - это не достижение. Достижение Альфы в другом.
   ERWINS
 
194 - 13.12.17 - 18:37
Спор начался с фразы "Еще раз повторяю - программы с mcts могут играть без ОФ, совсем." - с ней я согласен для ГО и любой игры с конечным числом шагов в партии и не согласен с шахматами. Кстати с шашками я согласен если не учитывать дамки.
   NSSerg
 
195 - 13.12.17 - 18:58
(194) ты же только что в (190) сказал противоположное.
   NSSerg
 
196 - 13.12.17 - 19:37
Тут наверно стоит разобраться в устройстве шахматной программы. Сортировки ходов не имеют ни малейшего отношения к ОФ.

Может все-таки определимся, может ли играть MCTS без ОФ в шахматы или нет? Допустим если за "может играть" принять например набор 99,9% набранных очков против "рандомного движка" - движка который в любой позиции равновероятно делает ход из списка легальных ходов.

в (191) Ты согласился что такое будет играть в шахматы.
в (194) Ты опять не согласен.
   ERWINS
 
197 - 13.12.17 - 19:51
(196) с таким дополнением "Сортировки ходов не имеют ни малейшего отношения к ОФ" разночтений между нашими позициями нет.
Но я считаю что Сортировка ходов напрямую связана с ОФ и следует из ее статистики.
   NSSerg
 
198 - 13.12.17 - 20:48
(197) ты точно знаком с устройством шахматной программы?
мне то доказать что я знаком - ничего не стоит.
И я утверждаю, что в шахматных программах ОФ и сортировка ходов - ну никак не свзяны. И если используется сортировка по mvv/lva, see, шахам, истории, киллеры, лучшие ходы - ну ни малейшего отношения к ОФ это не имеет. Мне очень тяжело что-то доказывать, когда собеседник на ходу придумывает новые определения классическим блокам шахматной программы.
   NSSerg
 
199 - 13.12.17 - 20:52
mvv/lva - это не статистика, так же как и see.
первое это просто разница номиналов берущей и взятой фигуры, а второе - статичная (без перебора) оценка результата разменов.
К ОФ, статистике - это никаким боком.
   ERWINS
 
200 - 14.12.17 - 10:26
(198) ты меня не понял. Внос сортировки порядка ходов - это эвристика которая неявно следует из ОФ. В коде это разные куски которые никак не связаны.

(199) ты говоришь с точки зрения реализации, а я с точки зрения общих принципов.

  1  2  3   

Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует