Войти
ПрограммированиеФорумИгровая логика и ИИ

Открытый проект "Крестики нолики" (3 стр)

Страницы: 1 2 3 4 58 Следующая »
#30
4:58, 24 мая 2019

tac
> вот центральный вопрос, как считать эту выгоду?
Я считал в зависимости от:
1. Материала на поле
2. Атакуемых фигур
3. Крытых клеток

#31
5:33, 24 мая 2019

MrShoor
ну т.е. субективные эвристики ..

почему я вернулся к этой теме  .. тут https://gamedev.ru/projects/forum/?id=244143&page=3&m=4976460#m43, мне расказали про подход альфа зеро .. термин глубокие нейронные сети там не правильный, на самом деле, ввели термин глубокое машинное обучение /в отличии от просто машинного обучения/, а использование нейронных сетей или нет, дело десятое .. но глубокое, оказывается подразумевает именно отсутствие использования эвристики, или что тоже самое придумывание особых инвариантов/признаков .. а основавание только на правилах игры и его состоянии .. вот мне и стало интересно как это решается без эвристик и чем они заменяются

#32
8:32, 24 мая 2019

tac
Если упрощенно, то берут нейронную сеть, на вход ей дают кучу позиций из партий и кто в итоге выиграл, ну и дальше она и выполняет роль оценщика - даём позицию она говорит насколько она хороша (какие у нас шансы выиграть).

#33
(Правка: 16:55) 9:02, 24 мая 2019

MrShoor
> Количество возможных развитий игровой ситуации не больше 9! = 362880
Всего 4520 позиций может возникнуть в ходе игры. Это без учета поворотов и зеркального отражения, с ними — 627.

#34
7:32, 25 мая 2019

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

kipar
> она и выполняет роль оценщика - даём позицию она говорит насколько она хороша
с одной стороны, еще не понятно, как она разбивает глобальный ответ партия выиграна/проиграна на ответы этот ход плохой/хороший .. вот поэтому и интересно это посмотреть на простом примере крестиков ..

но боюсь, что принцип такой же как у минимакса, минимакс после просчета же тоже может сказать к чему ведет ход, но только однозначно и правильно, в отличии от нейросети

#35
(Правка: 8:10) 7:57, 25 мая 2019

tac
> тогда чем это отличается от минимакса? ничем, только тем что какого то черта
> притянули зауши нейросеть, которая медленее минимакса
Быстрее на порядки. Ну т.е. подаём на вход позицию и после нескольких перемножений матриц получаем ее оценку, без всякого перебора миллионов вариантов. Дальше используем эту оценку в минимаксе.

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

#36
8:29, 25 мая 2019

kipar
> получаем ее оценку, без всякого перебора миллионов вариантов
сравнивать надо сравнимые вещи :) в минимаксе тоже после расчетов получаем просто выбором по индексу из массива состояний , а перебор вариантов, соответствует этапу обучения, который очевидно сложнее

#37
17:46, 25 мая 2019
Изображение
#38
19:53, 25 мая 2019

tac
Все позиции в шахматах заранее в массив не загнать. Приходится перебирать во время партии.

#39
23:33, 25 мая 2019

Rikk
и, что дальше ?

#40
(Правка: 23:55) 23:37, 25 мая 2019

kipar
> Все позиции в шахматах заранее в массив не загнать. Приходится перебирать во
> время партии.
замечательно .. но что в отношении сравнения с минимаксом? пойдет потестим? найдем как нить для этого время ...

p.s. как бы это .. что такое нейроные сети я, уважаемые, прекрасно знаю, у меня диплом и 10 статей (это в рецензируемых журналах, а не на стенке ) ) на эту тему, две из которых вполне на уровне докторской .. но просто в свое время я прочитал Минского, и свет мне этот стал не мил .. пришлось с ним во многом согласиться, хотя он и писал потом про эмоциональные машины, но критика перцептронов было много конструктивнее и всего на 200 с небольшим страниц ..

#41
(Правка: 23:45) 23:41, 25 мая 2019

tac
> и, что дальше ?
дальше как завещал товарищ Ленин —- учиться,учиться,еще много раз учиться
ну сегодня этот совет его забыли и больше списывают по урокам то есть это не сам а копирка уже заранее готового. дальше наверное ваше дело встанет.ну просто все списывают и копируют даже научные диссертации мединского скандалы,  а созидать и создавать то некому.

#42
(Правка: 0:59) 0:06, 26 мая 2019

Rikk
> забыли и больше списывают по урокам то есть это не сам а копирка уже заранее
> готового
все много хуже если серьезно ... я не хочу показаться не скромным ) а к черту :) .. еще лет 10 назад я немного вращался в области некоторых профессоров, и меня переодически подбешивало мнение, общепопулярное, что мол перцептрон Розенблата это самая простейшая нейронная сеть ) нет конечно самая популярная его модификация трехслойная, так и называлась простейший перцептрон :) .. но то, что они его свели к линейному класификатору это бессило .. и это даже в академический кругах, я к профессорам - ну как же так? а что, так мы это, давно было читали по диагонали, мол , да пофиг, сча это бэкпропагейшен в моде :) ... что и говорить о студентах .. так вы это хоть сделайте иногда ручками перцептрон и тогда говорите и судите о нем..

не стыдно повторить результаты по статьям .. это как раз полезное и нужное списывание .. толтко тогда можно идти дальше .. а сейчас так пишут статьи, что по ним даже воспроизвести резултаты невозможно .. это в полной мере касается альфа зеро .. в статье одно мыло !!!

сча кстате, стало немного получше, все таки прочитали мою статью в Википедии про перцептрон, но лучше то оригинал ;)

#43
(Правка: 1:45) 1:43, 26 мая 2019

tac
> замечательно .. но что в отношении сравнения с минимаксом? пойдет потестим?
> найдем как нить для этого время ...
это сравнение красного с теплым. Еще раз - и альфаго и стокфиш используют перебор вариантов. Можно сказать "минимакс", хотя я бы сказал альфа-бета отсечение плюс там еще монтекарло.

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

#44
(Правка: 7:52) 7:28, 26 мая 2019

еще раз :)

kipar
> Стокфиш
из за использования эвристик и получения не 100% результата, этот подход не представляет интереса /т.к. в целом эвристики это ограниченное понимание задачи человеком, а алгоритм элементарный/

kipar
> Альфазеро вместо всех этих эвристик просто подает позицию доски (в листе, не
> той которую видит перед собой) на вход обученной нейросети и результат
> использует как оценку листа.
здесь лишь интересно, на основании чего он позиции досок, с оценкой выйграна партия или нет /обучающую выборку/ .. комбинирует в партии? какой то конкретный подход тут должен быть, иначе отдельные позиции он не смог бы комбинировать в партию /по сути, и в нейросетях есть целевая функция /аналогия эвристики/, весь вопрос в том как она формируется, а нейросеть это или перебор с отбором по целевой функции - неважно/

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

при этом позицию

---
-x-
---

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

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


возможно на обучении они соберают, а потом используют статистику вероятности, к чему привела позиция, типа если крестик в центре вероятность выиграть 70%

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

Страницы: 1 2 3 4 58 Следующая »
ПрограммированиеФорумИгровая логика и ИИ