Имя: Пароль:
IT
IT-новости
Революция в шахматном мире: AlphaZero от Google обыграл StockFish
,
0 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

Я в шоке.
112 VS-1976
 
11.12.17
15:59
(111) Мне кажется что товарищ хочет донести мысль что если бы у противника было побольше времени подумать ( производительность железа выше ), то возможно он бы играл лучше.
113 NSSerg
 
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) Так понятно?
114 NSSerg
 
11.12.17
16:02
(113) Рейтинги этих четырех движков на указанном железе известны, поэтому когда будет получен результат матчей, можно будет посчитать рейтинг Альфы на 4 TPU х 45 Терафлоп.
115 NSSerg
 
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  


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

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

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

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

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

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

по НС я понял, что у тебя свое представление о данной области знаний, по факту, ты пишешь, по следующей аналогии, что "клетка - это просто молекулы, которые взаимодействуют", но это уже совсем другой подход к данным.
123 NSSerg
 
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

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

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

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

Еще раз повторяю - в альфе играет не нейронная сеть, она не выбирает ход, а всего лишь дает оценку позиции, а за выбор хода, так же и а классических движках отвечает перебор.
130 NSSerg
 
11.12.17
18:50
мне кажется, что так же как рассуждая о рейтинге, вы даже примерно не представляли что это такое, так же и с выбором хода Альфой, вы даже примерно не представляете как это происходит.
131 ilou
 
11.12.17
20:25
(130) собственно я понял, что вы сравниваете калькулятор и Альфо0, вас просто терзает мысль, что мол они негодяи книгу ходов запихнули в нейронную сеть и теперь тупым перебором выбирают самую подходящую, а вот программке это сделать не дали и типа требуют от неё все ходы просчитывать заранее с 0ми данными. Еще раз если бы все так было просто, тупой мат анализ и т.д. то всякие нейронные сети были бы не нужны, вы опять говорите, по аналогии "клетка - есть набор взаимодействующих молекул и ничего более", нейронные сети это больше чем набор мат алгоритмов, хотя будет вопрос, а что же это такое, если не система с выбором ходов...
132 NSSerg
 
11.12.17
21:56
(131) Еще раз повторить? Вы даже примерно не понимаете как работает Альфа. Я, как разработчик шахматного движка, примерно (или больше чем примерно) понимаю как он работает. И с моей точки зрения вы пишете ахинею.
Какая книга ходов?
Еще раз попытаюсь обяснить - на базе НС в Альфе сделана оценочная функция. Не более того.
Так же как и любой другой движок, Альфа строит дерево перебора, оценивая листья дерева при помощи ОФ (своей нейронной сети).
Правда в mcts немного всё сложнее, но не буду вас грузить.
Насчет дебютной книги отдельный разговор, так же считаю что вы к нему просто не готовы.
133 Lama12
 
11.12.17
21:57
(131) Вообще-то NSSerg все верно говорит. Нейросеть просто оценочная функция.
134 Dzenn
 
гуру
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
136 shpioleg
 
12.12.17
00:34
(133) Тогда и шахматиста-человека можно представить как просто оценочную функцию.
137 NSSerg
 
12.12.17
00:52
(136) Да причем тут представить? Там прямо в коде написаны переборные алгоритмы, чем больше времени отводится программе тем дальше она считает, а оценка позиции производится за фиксированное время. И выдает НС получая на вход позицию, не ход, а оценку этой позиции.
Точно так-же как и оценочная функция любой другой шахматной программы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

Но на практике 99,99 % партий (и у людей, и у машин) длятся менее 100 ходов.
168 ERWINS
 
13.12.17
15:21
(167) а в ГО это 19*19 ходов если кто то раньше не сдастся. Но такое можно не учитывать.
169 ДемонМаксвелла
 
13.12.17
15:29
Длина партии растет линейно, а ветвление экспоненциально. Длина партии на количество расчетов сильно не влияет.
170 ДемонМаксвелла
 
13.12.17
15:33
(163) придумано

https://geektimes.ru/post/215405/
171 ERWINS
 
13.12.17
15:35
(169) для MCTS важна длина партии, точнее как часто мы будем приходить к варианту пройгрыш/выйгрыш.
172 NSSerg
 
13.12.17
15:37
(166) (171) С этой точки зрения mcts важна не максимальная длина партии, а средняя.
Чем меньше возможных ходов в позиции, тем проще mcts (в шахматы меньше чем в ГО)
Чем короче средняя партия - тем проще mcts (в шахматы средняя партия короче чем в ГО)
173 NSSerg
 
13.12.17
15:41
В шахматы препятствие для MCTS было совершенно другое, а именно то что в шахматы в отличии от ГО - Альфа-бета хорошо играет. Но есть примеры и шахмат на MCTS - но играют слабее альфа-беты. Например WildCat пробовал, можно у него спросить чем закончилось (игра осмысленная, но слабая относительно классической альфа-беты)

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

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

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

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

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

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

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

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

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

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

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

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

(199) ты говоришь с точки зрения реализации, а я с точки зрения общих принципов.
201 NSSerg
 
14.12.17
10:49
(200) Я тебя понял. Ни в одной сильной программе до сих пор ОФ не использовалась ни явно ни неявно в сортировке ходов.
Может быть можно притянуть за уши на история, киллеры и лучшие ходы - как-то повлияла ОФ, но я их использовать в простейшей программе на MCTS не предлагал.
А mvv/lva и see - вообще статические методы. К Которым ну совсем никак нельзя притянуть ОФ.

Далее - UCT и RAVE - это часть именно MCTS, переборных алгоритмов, основа MCTS. Поэтому к ОФ их тоже притянуть за уши не выйдет.

В альфа-бете программе ОФ - это процедура вызываемая в листьях дерева. В ней нет ни SEE, ни других методов сортировки ходов. И ОФ не используется для сортировки ходов (и если бы даже использовалась, то я не предлагал её использовать в программе на MCTS без ОФ)

в MCTS ОФ это добавка к рассчитанной статистике для выбора хода. Обычно это такая-же ОФ как в альфа-бете, но иногда для быстроты счета её делают инкрементальной (она не умеет считать полную ОФ, а умеет считать только разницу в ОФ до хода и после него).

То есть все умные слова написанные выше -
MVV/LVA, SEE, вытягивание шахов наверх, UCT, RAVE - ну никак невозможно притянуть к ОФ, они не имеют к ней никакого отношения.


И еще немного. Кое у кого проскакивает мысль что Альфа вообще научилась играть в шахматы при помощи нейронной сети - конечно же нет. У неё естественно есть полноценный генератор ходов, и без всякой нейронной сети она знает какие легальные ходы (по правилам шахмат) есть в позиции.
202 ERWINS
 
14.12.17
12:31
(201) В ГО в какой то из версий системе вообще не давали какие ходы легальны, а какие нет. Просто код возврата в случае плохого хода был поражение.

Не исключаю что и тут могли такое реализовать. В случае некорректного кода возврат - поражение.

(201) я говорю о неявном использовании ОФ. Например взятия в самом примитивном варианте повышают ОФ - значит повышаем их вес.
203 NSSerg
 
14.12.17
14:08
(202) >>Не исключаю что и тут могли такое реализовать.

Зря не исключаешь. Не могли. Ибо цели совсем другие. Научить НС правилам - это задачка уровня курсовой, серьезным людям такими извращениями заниматься не пристало, тем более что цель Альфы совершенно иная, и "немного" глобальней.

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

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

>> я говорю о неявном использовании ОФ. Например взятия в самом примитивном варианте повышают ОФ - значит повышаем их вес.

Жесть. Ты еще запрети взятия в программе которая не использует ОФ. Или сильные ходы, потому что они повышают ОФ.
Еще раз повторюсь - сортировки ходов не имеют ни малейшего отношения к ОФ. А если натягивать сову на глобус - так можно вообще программе в принципе запретить делать ходы. Так как любой ход изменяет значение ОФ. И есть общепринятая терминология, которой вообще желательно придерживаться, иначе понять друг друга будет невозможно.
204 NSSerg
 
15.12.17
00:54
На каких ресурсах Альфа обучилась за четыре часа, это кстати не 4 TPU
AlphaZero defeated Stockfish after just 4 hours of self-play, using 5,000 first generation TPUs to generate the games and 64 second generation TPUs to train the neural networks
https://en.wikipedia.org/wiki/AlphaZero
И мнение автора Стокфиш о матче:
https://www.chess.com/news/view/alphazero-reactions-from-top-gms-stockfish-author
Тем временем Chess.com также получил длинный комментарий от одного из авторов оригинальной книги Stockfish Tord Romstad, который мы дадим в полном объеме:

Результаты матчей сами по себе не имеют особого значения из-за довольно странного выбора параметров времени и настроек параметра Stockfish: игры были сыграны в фиксированное время 1 минута / ход, что означает, что Stockfish не использует эвристику управления временем ( много усилий было предпринято для того, чтобы компания Stockfish определила критические моменты в игре и решила, когда потратить дополнительное время на ходу, в фиксированное время за ход сила будет значительно страдать).Используемая версия Stockfish - один год, играла с гораздо большим количеством поисковых потоков, чем когда-либо получала значительное количество тестов, и имела слишком маленькие хеш-таблицы для количества потоков.Я считаю, что процент ничьих был бы намного выше в матче с более нормальными условиями.

С другой стороны, нет никаких сомнений в том, что AlphaZero мог бы сыграть лучше, если бы в проект было включено больше работы (хотя «4 часа обучения», упомянутые в документе, очень вводят в заблуждение, когда вы принимаете во внимание огромные аппаратные ресурсы, используемые в течение этих 4 часов).Но в любом случае, Stockfish против AlphaZero - это очень сравнение яблок с орангутанами.Одна из них - обычная шахматная программа, работающая на обычных компьютерах, другая использует принципиально разные методы и работает на специально разработанных аппаратных средствах, которые недоступны для покупки (и это будет выход из бюджета обычных пользователей, если это так).
205 ERWINS
 
15.12.17
16:03
(204) плата с 4 тенсорными процами стоит 700 долларов. Но она под экспортными ограничениями, так что ее не купишь.

в остальном согласен.
206 Волшебник
 
модератор
15.12.17
16:07
(170) Это фейк
207 ДемонМаксвелла
 
15.12.17
17:41
(206) с чего это? там видео есть, его подделать сложнее, чем сделать робота. И вообще, нафига одному из ведущих производителей промышленных роботов (https://en.wikipedia.org/wiki/KUKA) делать фейки?
208 ДемонМаксвелла
 
15.12.17
17:43
(206) они максимум могут приврать насчет силы игры робота из маркетинговых соображений. Но робот то вообще играть умеет.
209 ДемонМаксвелла
 
15.12.17
17:50
там в статье о двух таких роботах рассказано. и видео игры обоих есть.
210 NSSerg
 
15.12.17
18:13
(205) это развод, TPU не продается.
211 КомПрог
 
18.12.17
17:24
Кто-то тут еоворил что-то про покер... получите:
https://hitech.newsru.com/article/18dec2017/libratus
Искусственный интеллект превзошел сильнейших игроков в покер