GotAI.NET

Форум: Проблемы искусственного интеллекта

 

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

 Все темы | Новая тема Стр.1 (3)След. > >>   Поиск:  
 Автор Тема: Простейший интеллект
antol
Сообщений: 370
Простейший интеллект
Добавлено: 17 май 13 4:44
Предлогаю вниманию участников форума программную реализацию части идей высказываемых в теме "Простейшая задача для ИИ ?" http://gotai.net/forum/default.aspx?postid=72469


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


Игра, реализация игры интересна тем, что имеет "биологическую" интерпретацию.
http://www.xsp.ru/images/addpic/antolXO.jpg


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

Целями реализации является не построение "умного" алгоритма выигрывающего в "Х-О", а сама структура организации программы.
На мой взгляд, фишки можно связывать в сообщества на базе простых паттернов, например, "очередь", выстраивая все фишки в цепочку или "центр-переферия", связывая одну "центральную" фишку со всеми остальными.
Для разных структур также по разному осуществляются потоки информационного взаимодедействия внутри сообщества и позиция фишки принимающей решение. И все это представляет интерес.


Страница реализации программы имеет адрес http://btlv.narod.ru/Noliki/Noliki.html
[Ответ][Цитата]
antol
Сообщений: 370
На: Простейший интеллект
Добавлено: 24 июл 13 0:15
Мне вот в реализации игры ХО симпатична биологическая интерпретация.
Каждая отдельная, конкретная партия рассматривается здесь как живой организм, состоящий из двух взаимосвязанных частей.
На каждом шаге игры поочередно осуществляется модификация одной из этих двух частей.
"Животное" имеет продолжительность жизни ограниченую размерами, возможностями самомодификации (т.е. конечными размерами игрового поля).
При получении "выигрышной" комбинации одной из сторон животное погибает.

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

Не ясен в чем смысл, противоборства частей целого? Зачем надо стремится "выиграть" и погибнуть при этом.
[Ответ][Цитата]
гость
78.25.120.*
На: Простейший интеллект
Добавлено: 24 июл 13 2:15
> в чем смысл, противоборства частей целого?

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

[Ответ][Цитата]
Vpolevoj
Сообщений: 1408
На: Простейший интеллект
Добавлено: 24 июл 13 4:06
Надо все тоже самое, только сделать на базе игры Го.

Игра Го - не обычные "крестики-нолики", а целая философия, можно даже сказать, философия жизни. И там уместны аналогии с живыми организмами, группами и пр. Идеи выживания, развития, борьбы, давления, влияния и т.д. и т.п

Если хотите, можем развить тему именно в эту сторону.
[Ответ][Цитата]
antol
Сообщений: 370
На: Простейший интеллект
Добавлено: 24 июл 13 6:10
Vpolevoj
Начинать следует с более простого. В этом отношении ХО предпочтительней.
(Вот, когда сложности ХО будет недостаточно можно будет обратиться к философии ГО.)

Мир наполненный сущностями играющихся партий по правилам ХО полагаю распологает необходимым минимумом.
К программному моделированию такого мира предполагаю приступить построив теоретическию базу.
- мир представляется как двухкоординатная матрица, значения которой определяют позиции сущностей на плоскости;
- сущности играющихся партий представляются конечно-размерными игровыми полями, клетки которых имеют три возможных состояния (отсутствие фишки в клетке, Х, О);
- мир дискретен, и на каждом шаге мира выполняется один ход всех играющихся партий мира, и тем самым реализуется жизнь этого мира;
- в начале игры мир наполняется несколькими играющимися партиями различающимися используемыми тактиками-стратегиями (и Х и О) и этапами игры (возрастом);
- стратегии в течении жизни сущности (игры партии) не изменяются, т.е. в общем-то ее судьба, момент ее гибели, предрешена;
- реализуется механизм геометрического перемешивания сущностей мира в матрице мира;
- реализуется механизм порождения сущностей новых играющихся партий на основе наследования стратегий (Х и О) от двух разных родительских сущностей.

Целями моделирования на первом этапе является возможность и условия существования во времени такого мира.
Наиболее неясным для реализации является способ задания использумых стратегий.
[Ответ][Цитата]
Vpolevoj
Сообщений: 1408
На: Простейший интеллект
Добавлено: 24 июл 13 6:37
Цитата:
Автор: antol
Начинать следует с более простого. В этом отношении ХО предпочтительней.

На мой взгляд, игра Го проще (по своим правилам, в частности). А вариантов развития у неё больше. Так что, моделировать поведение (групп камней, например) в Го будет предпочтительнее, к тому же понятие жизни и выживаемости групп там уже есть.

Но, дело ваше. Пробуйте с Х-О.

PS Для примера. Самое основное правило Го гласит: в свою очередь игрок МОЖЕТ ПОСТАВИТЬ камень своего цвета на любое свободное место доски (куда захочет), а может и НЕ СТАВИТЬ - пропустить свой ход, если он считает это возможным или не видит в этом необходимости.

Собственно, по классическим правилам, партия считается законченной, когда ОБА игрока отказываются от своих ходов, а это часто происходит задолго до момента заполнения всех игровых полей (и тогда они заполняются технически - формально).
[Ответ][Цитата]
гость
78.25.122.*
На: Простейший интеллект
Добавлено: 25 июл 13 2:04
Vp.> когда ОБА игрока отказываются от своих ходов

в реальности в такой ситуации могут иметь место несколько туров отказов, но потом
один из участников внезапно (разумеется, не внезапно) принимает решение о ходе.
этот рефлексивный аспект существенно затрудняет моделирование ГО из тех принципов,
о которых заявил анатол (адекватность которых для моделирования XO также не очевидна).
[Ответ][Цитата]
Yandersen
Сообщений: 351
На: Простейший интеллект
Добавлено: 25 июл 13 16:01
Попробую описать ИИ в рамках концепции "Чёрного Ящика" с эффекторами и сенсорами, часть из которых помечена целевыми.

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

Цель в таком случае определяется просто: увеличение количества значков в своей линии и недопущение увеличения количества значков в чужой линии. Для задания Целей нужно ещё два сенсора на каждую ячейку поля: целевой сенсор должен активироваться при увеличении количества значков в линии, проходящей через данную клетку. Если в клетке свой значок - это хорошо, знач своя линия растёт; если чужой - плохо, враг отстраивается.

Таким образом Цель выглядит как требование активации сенсоров "Хорошо" и неактивации сенсоров "Плохо". В процессе игр ИИ должен определить закономерности, приводящие к зажиганию целевых сенсоров и использовать этот опыт для снижения активности сенсоров "Плохо" и увеличения активности сенсоров "Хорошо".

Учитывая то, что игроки ходят по очереди и ставят по одному знаку за такт, а ИИ может активировать хоть все эффекторы разом, то эффекторы не соединяем с выставлением значка напрямую: каждый эффектор имеет "ведро", в котором суммируются все запросы активации - временной штамп первого запроса и общая сумма запросов; каждый игровой ход из всех вёдер выбираются те, которые принадлежат эффекторам пустых ячеек, затем из этих вёдер выбирается наиболее наполненное (если несколько вёдер одинаково полны, то выбирается то, которое раньше остальных получило запрос активации) и значок ставится в клетке, ему соответствующей, после чего все вёдра запросов опорожняются. Если ни одно из вёдер не содержит ни одного запроса (при первом запуске, пока опыта 0), значок непроизвольно ставится в любой из пустых клеток.
Если этим и ограничиться, ИИ будет развиваться долго: сначала он будет рандомом ставить значки, пока случайно не попадёт в клетку, соседнюю с уже помеченной своим значком, что вызовет активацию сенсора Хорошо. С другой стороны, он будет запоминать также и негативный опыт - когда второй игрок будет выстраивать линии, ИИ будет получать активации сенсоров "плохо". Полученный позитивный опыт ИИ будет продолжать дуплицировать в каждой последующей партии, пока второй игрок не вставит свой знак на излюбленную иишкой ячейку, тем самым блокировав ход, приводящий к активации "хорошего" сенсора. Из-за этого ИИ шлёпнет свой знак в рандомную пустую ячейку. Со временем он начнёт "понимать", что сенсор "плохо" (эти активируются ростом чужой линии через данную ячейку) не активируется, если в ячейку поставить свой значок. Таким образом ИИ станет стремиться заполнять те ячеки, где раньше побывали линии второго игрока, стремясь предупредить предыдущий негативный опыт. Учитывая то, что целевые сенсоры при росте линии активируются одноврменно на всех линейно сопряжённых контактирующих ячейках, ИИ вскоре начнёт абстрагировать понятие "хорошо" как увеличение количества своих значков на одной линии, т.е. перестанет тупо лепить один крестик рядом с другим в целях моментального получения кайфа как в прежней партии.
Со временем научится играть, я думаю. Если с реальным Игроком, то намного быстрее.
[Ответ][Цитата]
rrr3
Сообщений: 11857
На: Простейший интеллект
Добавлено: 25 июл 13 22:10
Цитата:
Автор: Yandersen
...Со временем научится играть, я думаю. Если с реальным Игроком, то намного быстрее.

1. В тени остался вопрос внутренних механизмов (правил и т.п.) преобразований в системе, приводящих к тем или иным действиям (к любым) эффекторов, механизм "действия" сенсоров на систему (на ее элементы).
2. В соответствии с п. 1 и появится вопрос о механизмах влияния на систему отличающих пряник от плетки ("хорошо", "плохо").

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

Истин не глаголю, без обид.
[Ответ][Цитата]
antol
Сообщений: 370
На: Простейший интеллект
Добавлено: 25 июл 13 22:41
Цитата:
Автор: Yandersen

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

Вобщем-то, то что вы описываете частично реализовано мною в рамках модели представленной первым сообщением темы.

Сейчас я планирую реализовать новый вариант игры основанный совершенно на других принципах. Реализовать через волновую функцию.
Играющаяся партия здесь представляется как гармонизация во времени двух переплетающихся закольцованных пространственных кривых.
На этом пути предстоит считать спектры. Всплывающие гармоники и есть суть сенсоры "хорошо" и "плохо".
[Ответ][Цитата]
гость
78.25.121.*
На: Простейший интеллект
Добавлено: 25 июл 13 22:51
нет, тут не проблема просто во внутренних 'механизмах' - их известно достаточно, многое можно придумать самостоятельно по ходу реализации (если начать делать).

суть в том, что если задать такие 'механизмы' достаточн продуманно, то поведение такого конструктивного объекта в общем случае проанализировать априори чрезвычайно трудно. После нескольких туров самоизменения такая алгоритмическая система будет (может) обладать поведением, характеристики которого довольно трудно прогнозировать.

Скажем, не совсем понятно, вот для игры не 3x3, а уже для 5x5 нужно ли сразу предусмотреть ГРАДАЦИИ плохо/хорошо или ожидать что в ходе эволюции системы сформируются иерархически организованные связи между узлами целей и узлами оценок
так чтобы рост массы оценки 'интерпретировася' подсистемой целей как, напр., 'очень плохо', что приобретало бы некий специальный смысл 'опасно' и вызывало бы реорганизацию системы приоритетов ("ведер над ведрами") и целевых установок
(при опасности варианты на увеличение 'хорошо' вообще не рассматриваем).

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

> Со временем он начнёт "понимать"

вот это как раз из рассказа само собою не следует.
[Ответ][Цитата]
гость
78.25.121.*
На: Простейший интеллект
Добавлено: 25 июл 13 23:17
антол> Я планирую реализовать игру через волновую функцию.

само по себе это крайне интересно. Но счет апроксимаций континуальных приближений тоже
ведь крайне прожорлив.. можно считать на символическом уровне, преобразовывая
волновые уравнения, но ведь с уравнениями 'ментальной динамики' тоже нет определенности..
[Ответ][Цитата]
rrr3
Сообщений: 11857
На: Простейший интеллект
Добавлено: 25 июл 13 23:18
Цитата:
Автор: гость
... такая алгоритмическая система будет (может) обладать поведением, характеристики которого довольно трудно прогнозировать.

Какая "такая"? Пока ничего нет - пустышка. Проблема именно что нет выбора/создания внутренних механизмов. От них и будут зависеть "способности".

Цитата:

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

Тема - "Простейший интеллект". Хотя это и не совсем хороший "полигон" (игра), но ничего "ручками" кроме "цели" закладывать не надо. Если конечно создается "интеллект" в смысле ЕИ, а не того что уже много разных прог играющих, например, в шахматы, шашки, аннотации и т.п. и т.д. Это мое мнение, может не совпадать с мнением автора ветки.
[Ответ][Цитата]
Grosh
Сообщений: 162
На: Простейший интеллект
Добавлено: 25 июл 13 23:30
Цитата:
Автор: гость

> Со временем он начнёт "понимать"

вот это как раз из рассказа само собою не следует.


И эта самая глубокая мысль из всех известных мне и посвященных ИИ. Годится для всех существующих подходов. Увы, без исключения
[Ответ][Цитата]
rrr3
Сообщений: 11857
На: Простейший интеллект
Добавлено: 25 июл 13 23:33
Цитата:
Автор: Grosh
И эта самая глубокая мысль из всех известных мне и посвященных ИИ. Годится для всех существующих подходов. Увы, без исключения

Исключение могут составить Экспериментально проверенные подходы.
[Ответ][Цитата]
 Стр.1 (3): [1]  2  3След. > >>