GotAI.NET

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

 

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

 Все темы | Новая тема Стр.1 (3)След. > >>   Поиск:  
 Автор Тема: Свалка идей
Юрий Федорченко
Сообщений: 119
Свалка идей
Добавлено: 10 сен 08 13:43
Какова роль хаоса и случайности в мышлении? Можно ли построить ИИ, существенно опираясь на генераторы чисел? Вот несколько примеров.

1. Можно считать в относительных параметрах. Например, есть два отрезка, вместо того чтобы их высчитывать, мы могли бы заставить программу сделать случайным образом выборки из отрезков. А поскольку, один из отрезков, например в два раза длиннее, то и выборок будет приблизительно в два раза больше. Это хорошо согласуется с ЕИ, который в процессе восприятия ничего точно не высчитывает, а лишь приблизительно.

2. При принятии решения о направлении движения, программа может действовать также случайным образом. Например, в программе есть три варианта действий: влево, вперед, вправо. Каждый из вариантов должен отличаться количественными характеристиками. Например, решение которое принималось чаще всего, будет больше других двух решений, а решение которое принималось ранее реже всего, будет меньше других. Таким образом, программа, случайным образом должна сделать выборки из трех областей. А поскольку одна из областей больше других, то и выборок будет больше в ее пользу.

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

4. Чтобы принять решение о скорости передвижения, программа делает случайную выборку доступных ей скоростей. Та скорость, которая чаще всего встречается в окружении системы, занимает большую область в памяти а значит она победит.
Кстати, если все скорости равноправны, то пусть система значения своей выборки усреднит. То же касается и направления движения. Если три направления (влево, вперед, вправо) абсолютно равноправны, то они усредняются и система выбирает среднее – "вперед". Неплохой компромисс, если не знаешь точно куда идти.

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

Генератор чисел и случайные выборки, это, фактически, универсальный алгоритм какой-то.
[Ответ][Цитата]
гость
89.208.11.*
На: Свалка идей
Добавлено: 10 сен 08 15:50
*
[Ответ][Цитата]
Virtual_Graph
Сообщений: 594
На: Свалка идей
Добавлено: 10 сен 08 18:17
Наконец-то Юрий озвучил так мало упоминаемое понятие - принятие решения. Именно оно формирует поведение системы. Именно оно является важнейшим этапом поведения (точнее одним из важнейших этапов). Именно оно наиболее трудно поддается формализации, за исключением некоторых простых случаев.
Кстати, не удержусь напомнить, что СБ так же принимает решения. Причем предельно рационально. Причем интеграл целевой функции по времени от Т1 до Т2 у СБ будет больше, чем если бы клапан СБ срабатывал случайно. Но это так, к слову, по поводу уже озвученных определний интеллекта.

А вообще, на мой взгляд, решение - это сокращение числа степеней свободы системы, которые она может в принципе обеспечить. Вы же не срываете яблоко с ветки через исполнение танца вприсядку. Хотя такое возможно, но яблоко к этому времени может быть сорвано кем-то более расторопным. Т.е. решение предполагает некую селекцию хаоса из которого отбираются необходимые на данный момент времени комбинации. Какую селекцию и каким образом ??? Вот это уже по настоящему интересные вопросы
[Ответ][Цитата]
гость
195.93.160.*
На: Свалка идей
Добавлено: 10 сен 08 19:18
И вот зачем нужен был перевод статьи "An Analysis of Stochastic Game Theory for Multiagent Reinforcement Learning"

По моему, там как раз и говорится о принятии решений. Но я не понимаю этой математики, графов и всего прочего без хорошего толкового объяснения на русском языке.



Лично моё мнение, полученное благодаря моим личным изысканиям, таково:

Дано N состояний, в которых может пребывать система.
Система - это:
- человек, носитель ЕИ,
- ИИ,
- окружающая среда.
Количество состояний N зависит от состояний элементов, из которых состоит система.
Что очень ВАЖНО : N зависит от состояний рассматриваемых в данный момент элементов,
другими словами, можно группировать несколько элементов в один, если так их рассматривать удобнее. То есть, когда меняется одновременно 10 элементов системы, это равнозначно тому, что меняется 1 элемент, которым мы описываем эти 10 (и который НЕ принадлежит данной системе, а приписывается ей нами)

Система, которая "описывает саму себя" как ЕИ или ИИ, принимает решения.
Решениями с данной точки зрения являются сформированные "описания",
которые формируют следующее состояние системы
(которое, как я уже написал выше, состоит из суммы состояний её элементов)

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

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

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

ЕИ является мостом между органами чувств и органами воздействия (мыщцы, голосовые связки).

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

Отвлекаясь от темы отмечу, что в этом месте скрыт огромный смысл: задуманное состояние, обязательно приведёт к следующему состоянию, которое возможно было задумано, а возможно и нет. А если и было задумано, то не было задумано следующее, или какое-то дальше по цепочке.
И далее, если возможное будущее состояние определено как НЕЖЕЛАЕМОЕ (что выражено как ЖЕЛАНИЕ НЕ попасть в задуманное состояние) , то будет отменено желание, которое приведёт к такому состоянию. Но тут пока не всё ясно, может кто что скажет по этому поводу?

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

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

ЕИ в таком случае является автоматом, который не может предсказать своё состояние сам ПОЛНОСТЬЮ, лишь частично отдельные элементы.
[Ответ][Цитата]
Virtual_Graph
Сообщений: 594
На: Свалка идей
Добавлено: 10 сен 08 20:41
Цитата:
Автор: гость
ЕИ является мостом между органами чувств и органами воздействия (мыщцы, голосовые связки).

Америку открываете, однако
Цитата:
Автор: гость
И далее, если возможное будущее состояние определено как НЕЖЕЛАЕМОЕ (что выражено как ЖЕЛАНИЕ НЕ попасть в задуманное состояние) , то будет отменено желание, которое приведёт к такому состоянию. Но тут пока не всё ясно, может кто что скажет по этому поводу?

Думаю, что это обеспечивается эмоциями. Собственно для этого они и возникли - как некая путеводная нить во времени. Ибо редко встречаются ситуации, когда цель достигается за один шаг. Эмоции, как интегральный показатель оценки среды (а точнее соотношения состояний среды и целей системы) в таком многошаговом пути ведут в правильном направлении
[Ответ][Цитата]
daner
Сообщений: 4593
На: Свалка идей
Добавлено: 11 сен 08 2:16
Цитата:
Автор: Юрий Федорченко

Какова роль хаоса и случайности в мышлении? Можно ли построить ИИ, существенно опираясь на генераторы чисел? Вот несколько примеров.

1. Можно считать в относительных параметрах. Например, есть два отрезка, вместо того чтобы их высчитывать, мы могли бы заставить программу сделать случайным образом выборки из отрезков. А поскольку, один из отрезков, например в два раза длиннее, то и выборок будет приблизительно в два раза больше. Это хорошо согласуется с ЕИ, который в процессе восприятия ничего точно не высчитывает, а лишь приблизительно.

2. При принятии решения о направлении движения, программа может действовать также случайным образом. Например, в программе есть три варианта действий: влево, вперед, вправо. Каждый из вариантов должен отличаться количественными характеристиками. Например, решение которое принималось чаще всего, будет больше других двух решений, а решение которое принималось ранее реже всего, будет меньше других. Таким образом, программа, случайным образом должна сделать выборки из трех областей. А поскольку одна из областей больше других, то и выборок будет больше в ее пользу.

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

4. Чтобы принять решение о скорости передвижения, программа делает случайную выборку доступных ей скоростей. Та скорость, которая чаще всего встречается в окружении системы, занимает большую область в памяти а значит она победит.
Кстати, если все скорости равноправны, то пусть система значения своей выборки усреднит. То же касается и направления движения. Если три направления (влево, вперед, вправо) абсолютно равноправны, то они усредняются и система выбирает среднее – "вперед". Неплохой компромисс, если не знаешь точно куда идти.

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

Генератор чисел и случайные выборки, это, фактически, универсальный алгоритм какой-то.


Читайте о методе Монте-Карло и его реализациях. Если я правильно понял, вы говорите о чем-то подобном. Может и ошибаюсь.
[Ответ][Цитата]
daner
Сообщений: 4593
На: Свалка идей
Добавлено: 11 сен 08 2:25
Цитата:
Автор: Virtual_Graph
Думаю, что это обеспечивается эмоциями. Собственно для этого они и возникли - как некая путеводная нить во времени. Ибо редко встречаются ситуации, когда цель достигается за один шаг. Эмоции, как интегральный показатель оценки среды (а точнее соотношения состояний среды и целей системы) в таком многошаговом пути ведут в правильном направлении


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

[Ответ][Цитата]
daner
Сообщений: 4593
На: Свалка идей
Добавлено: 11 сен 08 2:31
>>>>195.93.160.*
Цитата:
И вот зачем нужен был перевод статьи "An Analysis of Stochastic Game Theory for Multiagent Reinforcement Learning"
По моему, там как раз и говорится о принятии решений. Но я не понимаю этой математики, графов и всего прочего без хорошего толкового объяснения на русском языке.

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

А что бы в этой математики разбираться... ну не знаю, могу посоветовать почитать знаменитую AIMA (в интернете давно на русском болтается). А еще можете посмотреть тему http://ai.obrazec.ru/forum/viewtopic.php?t=1614&postdays=0&postorder=asc&start=0
Пока не надоест. Мы там постепенно формализуем определенную модель используя туже самую математику. Может это поможет.
[Ответ][Цитата]
Юрий Федорченко
Сообщений: 119
На: Свалка идей
Добавлено: 11 сен 08 3:19
Цитата:
Автор: daner
Читайте о методе Монте-Карло и его реализациях. Если я правильно понял, вы говорите о чем-то подобном. Может и ошибаюсь.

А я то думал, что придумал что-то новое Спасибо за наводку на метод, это именно то о чем я хотел сказать. И, кстати, раз Вы знаете этот метод, и вообще, отлично разбираетесь в математике, то как по-вашему - этот метод, разве не более естественный для моделирования ЕИ и ИИ?
[Ответ][Цитата]
daner
Сообщений: 4593
На: Свалка идей
Добавлено: 11 сен 08 4:30
Цитата:
Автор: Юрий Федорченко
А я то думал, что придумал что-то новое Спасибо за наводку на метод, это именно то о чем я хотел сказать. И, кстати, раз Вы знаете этот метод, и вообще, отлично разбираетесь в математике, то для моделирования ЕИ и ИИ?

Спасибо конечно за комплимент, но лично я не думаю, что я хорошо разбираюсь в математики. так... на средненьком уровне. Мне кое как хватает (но хватает).
Цитата:

как по-вашему - этот метод, разве не более естественный

более чем что? во всех методах, так или иначе присутствует рандомизация, где-то она более важнее, где-то менее. Самой рандомизации маловато будет. То что вокруг нее, на самом деле намного важнее. т.е. способ ее применения. Ну что бы было понятно, посмотрите, скажем, пример вычисления числа Пи
Лично я только в общих чертах понимаю смысл того, как именно получается это число, таким способом.
Короче, математически, это оооочень не тривиальный метод, который обычно требует очень нетривиальных обоснований (помните как вы легко "ошиблись" с буквой "А"?)
[Ответ][Цитата]
Юрий Федорченко
Сообщений: 119
На: Свалка идей
Добавлено: 11 сен 08 13:45
Daner - не надо прибедняться

Цитата:
Автор: daner
более чем что?

Рассмотрим конкретный пример. И проследим мою мысль.
Я думал о том, как научить программу играть в шахматы. Но чем больше я об этом думал, тем мне это казалось более и более невозможным. Потом я поднял информацию в сети и нашел методы, которые используются в создании интеллектуальных игр.
В частности, приводился пример игры "крестики-нолики". Автор утверждал, что для начала нужно построить граф. Так, вначале пустое поле может быть только в одном состоянии. После первого хода, может быть 9 состояний, поскольку игровое поле, состоит из 9 клеток. После второго хода, каждое из 9 состояний может перейти в любое из 8 состояний. и т.д. то есть создается такое вот дерево состояний, по которому программа будет потом просчитывать ходы.
Например, вы делаете ход, программа идет по дереву состояний и смотрит далеко вперед - ищет выигрышные для себя состояния в конце дерева состояний, и потом реализовывает их. Так же устроены и шашки и шахматы и т.д. Только в шахматах все дерево не просчитать, поэтому программа может просчитывать дерево на разную глубину, и выбирать какие-то промежуточные победы.
И вот тогда я придумал еще один способ! Давайте посмотрим на примере "крестиков-ноликов". Вы делаете первых ход. Затем, программа заполняет все остальные пустые клетки поля случайным образом расставляя крестики и нолики. В том числе, случайным образом выпадут и выигрышные комбинации. Вот эти комбинации программа и будет реализовывать.
Какие это дает преимущества? Например для моделирования сложных систем, которые не знают с чем могут столкнуться. Так, если вдруг программа, основанная на переборе ходов по дереву состояний, столкнется с полем где не 9 а 20 клеток, она ничего не сможет сделать. Не сможет нормально сделать ход, так как тут нужно совсем другое дерево состояний чертить. Моя же программа справиться с легкостью. так как она будет расставлять крестики и нолики случайным образом по всем клеткам сколько бы их ни было. И будет находить выигрышные для себя комбинации и реализовывать их.
Потом, я стал переносить этот метод на другие системы и задачи и пришел к выводу, что почти все можно моделировать сходным способом. И во-первых этот метод естественнее и во-вторых он более гибок.
Кроме того, что для меня очень важно, можно даже сказать что мой вариант более интеллектуальный, поскольку в моем варианте программа ищет выигрышные комбинации, а в традиционном методе, все комбинации уже жестко заданы деревом состояний.
[Ответ][Цитата]
daner
Сообщений: 4593
На: Свалка идей
Добавлено: 11 сен 08 14:32
Цитата:
Автор: Юрий Федорченко

Рассмотрим конкретный пример. И проследим мою мысль.
Я думал о том, как научить программу играть в шахматы. Но чем больше я об этом думал, тем мне это казалось более и более невозможным. Потом я поднял информацию в сети и нашел методы, которые используются в создании интеллектуальных игр.
В частности, приводился пример игры "крестики-нолики". Автор утверждал, что для начала нужно построить граф. Так, вначале пустое поле может быть только в одном состоянии. После первого хода, может быть 9 состояний, поскольку игровое поле, состоит из 9 клеток. После второго хода, каждое из 9 состояний может перейти в любое из 8 состояний. и т.д. то есть создается такое вот дерево состояний, по которому программа будет потом просчитывать ходы.
Например, вы делаете ход, программа идет по дереву состояний и смотрит далеко вперед - ищет выигрышные для себя состояния в конце дерева состояний, и потом реализовывает их. Так же устроены и шашки и шахматы и т.д. Только в шахматах все дерево не просчитать, поэтому программа может просчитывать дерево на разную глубину, и выбирать какие-то промежуточные победы.
И вот тогда я придумал еще один способ! Давайте посмотрим на примере "крестиков-ноликов". Вы делаете первых ход. Затем, программа заполняет все остальные пустые клетки поля случайным образом расставляя крестики и нолики. В том числе, случайным образом выпадут и выигрышные комбинации. Вот эти комбинации программа и будет реализовывать.
Какие это дает преимущества? Например для моделирования сложных систем, которые не знают с чем могут столкнуться. Так, если вдруг программа, основанная на переборе ходов по дереву состояний, столкнется с полем где не 9 а 20 клеток, она ничего не сможет сделать. Не сможет нормально сделать ход, так как тут нужно совсем другое дерево состояний чертить. Моя же программа справиться с легкостью. так как она будет расставлять крестики и нолики случайным образом по всем клеткам сколько бы их ни было. И будет находить выигрышные для себя комбинации и реализовывать их.
Потом, я стал переносить этот метод на другие системы и задачи и пришел к выводу, что почти все можно моделировать сходным способом. И во-первых этот метод естественнее и во-вторых он более гибок.
Кроме того, что для меня очень важно, можно даже сказать что мой вариант более интеллектуальный, поскольку в моем варианте программа ищет выигрышные комбинации, а в традиционном методе, все комбинации уже жестко заданы деревом состояний.


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

Это не панацея. Это достаточно тривиальный метод и о нем не особо говорят только из-за того, что сам по себе он не интересен, а вот как добавка к другим методам... когда они обсуждаются, там всегда упоминается и о рандомизации.
[Ответ][Цитата]
гость
195.93.160.*
На: Свалка идей
Добавлено: 11 сен 08 15:49
"В том числе, случайным образом выпадут и выигрышные комбинации"
А откуда становится известно что эти комбинации выигрышные? Без "заглядывания" наперёд по дереву?

Здесь очень важно заметить аналогию между __индивидуальным__ поиском решения человеком и наличием __индивидуальности__ у программы (от индивидуальности зерна рандомизации).

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

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

Например, при землетрясении люди разбегаются кто куда, но только итог покажет, кто выбрал верное направление. Рушатся дома, разверзается земля, падают электрические провода, льётся вода из канализации, бесчинствуют мародёры и другой криминальный контингент, люди просят о помощи и подвергают опасности спасателей - этот список далеко не полон. Нет времени думать - нужно действовать. Действовать, фиксируясь на окружающих людях, корректируя своё поведение так, чтобы оно привело к состоянию, в каком находится субъект, на котором зафиксировались. Брать пример, подражать, с небольшими отличиями, коррекциями. Всё что может сделать один человек, возможно, сможет и другой.
[Ответ][Цитата]
Юрий Федорченко
Сообщений: 119
На: Свалка идей
Добавлено: 11 сен 08 18:04
Цитата:
Автор: гость
"В том числе, случайным образом выпадут и выигрышные комбинации"
А откуда становится известно что эти комбинации выигрышные? Без "заглядывания" наперёд по дереву?

Я думаю так, в случае "крестиков-ноликов", если три символа вподряд одинаковы, значит это выигрышный расклад. В случаях с шашками, считается количество шашек. Ески у противника количество шашек меньше - значит выйгрышный вариант и можно реализовывать. Вот как-то так. Потому что если делать и рандом и дерево состояний, то действительно, зачем тогда рандом?
Кстати, вы ничего не сказали о том, что этот вариант имеет преимущества, а говорите только о недостатках. А именно - программа сможет эффективно действовать даже не смотря на то, что доска может по ходу игры меняться, количество клеток например, или можно ввести еще одного игрока, который будет играть красными шашками. И т.д. и т.п. В случае "рандомизации", программа все равно будет эффективной.
Кстати, я подумал, и понял, что таким образом можно моделировать все логические операции - "и", "или", "больше-меньше", "если...то" и т.д. И даже арифметику - плюс-минус. Забавно Теперь осталось понять, как это можно применять в ИИ, и может ли такой подход дать какие-то преимущества. Я так подозреваю что может.
P.S. А вообще-то весь порядок который мы наблюдаем возник из хаоса. Кора головного мозга тоже хаотична и однородна. Это и наталкивает меня постоянно на мысль, что хаос, случайность и рандомизация - это перспективно. То есть из хаоса рождается порядок (Пригожин, синергетика и т.д.), но нужно понять и смоделировать этот процесс.
Я даже подозреваю, что то, когда порядок возникает из порядка, это лишь частный случай возникновения порядка из хаоса. Так как, если порядок может возникать из хаоса (из чего угодно), то совершенно естественно, что он может возникнуть и из другого порядка.
[Ответ][Цитата]
гость
195.93.160.*
На: Свалка идей
Добавлено: 11 сен 08 18:54


Тест обмена картинками.

Картинка по поводу деревьев решений. Не судите строго, это проба.
[Ответ][Цитата]
 Стр.1 (3): [1]  2  3След. > >>