GotAI.NET

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

 

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

 Все темы | Новая тема Стр.17 (56)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Выполнение команд
Андрей
Сообщений: 3461
На: Выполнение команд
Добавлено: 21 апр 11 20:13
Цитата:
Автор: гость 68.68.27.*
Отсутствие остановки когда задание выполнено [...]
как это совмещается с Вашим внешним заданием цели, то есть "командой" в вашей теории?
С точки зрения предлагаемой теории правильно поставить вопрос так: могут ли быть ситуации, когда робот активен, но не выполняет какую-либо команду? Теория даёт однозначный ответ - нет. Любая деятельность робота (человека) продиктована выполнением некоторой команды. Можно сказать иначе - если человек что-то делает, значит он это делает в рамках выполнения какой-то команды. Не бывает холостой активности "просто-так".

Отсюда возникает важный вопрос - какую команду выполняет человек, когда он выполнил все внешние команды? Тут можно обратиться только к опыту наблюдений, здесь нечего гадать. Когда человек "бездельничает", он, как правило рыщет в поисках чего-то новенького. Перефразируя Элхонона Голдберга - им движет инстинкт новизны.

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

Но это всё не значит, что ИИ должен действовать точно так же, как человек. Если человек от безделья бестолково смотрит телевизор, возможно для ИИ лучше просто постоять в уголке, мудро помалкивая...
Я всё же настаиваю, что решающим критерием интеллекта есть не "отсутствие мёртвых точек", а "наличие поведения, соответствующего выполняемой команде".
[Ответ][Цитата]
Анатоль
Сообщений: 1964
На: Выполнение команд
Добавлено: 22 апр 11 12:18
Андрей, а как у Вас получается небольшой размер экзэшников?
Вы сжимаете экзэшник какой-то программой, или как-то настраиваете компилятор Делфи?
А то у меня пустая форма 300 килобайт занимает.
[Ответ][Цитата]
Андрей
Сообщений: 3461
На: Выполнение команд
Добавлено: 22 апр 11 16:04
Чтобы минимизировать экзэшник использую такие приёмы:
1. Максимально вычистить раздел Uses.
В Делфи тупо сделано - даже если функция из модуля не используется в программе, она всё равно линкуется к экзешнику. Впрочем, это один из факторов сверхбыстрой компиляции, за которую можно многое простить.
2. Максимальное использование WinAPI, минимальное использование классов.
3. После компиляции ужимаю экзешник программой UPX (the Ultimate Packer for eXecutables).

Удобно компилировать и ужимать сразу одним батником, например:
"C:\Program Files\Borland\Delphi6\Bin\DCC32.EXE" /b "D:\MyProgs\GotAIReader\GotAIReader.dpr"
D:\MyProgs\upx\upx.exe --best --compress-icons=0 D:\MyProgs\GotAIReader\GotAIReader.exe
[Ответ][Цитата]
NewPoisk
Сообщений: 3527
На: Выполнение команд
Добавлено: 22 апр 11 16:15
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Выполнение команд
Добавлено: 22 апр 11 16:54
у меня разница по памяти upx-нутого и обычного 200K
и то думаю это просто остаток запрошенной распаковщиком и эта память будет освобождена когда понадобится
[Ответ][Цитата]
Андрей
Сообщений: 3461
На: Выполнение команд
Добавлено: 28 июн 11 15:02
Забавная книжка для детей, в самую точку: "Problem Solving 101" Ken Watanabe.
[Ответ][Цитата]
altlisek
Сообщений: 8
На: Выполнение команд
Добавлено: 10 июл 11 23:18
Цитата:
Автор: Андрей

Любая деятельность робота

К сожалению, мои знания и мысли об ИИ находятся на уровне детского сада.
Мне кажется, задачу создания ИИ можно разложить на три почти независимые подзадачи:

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

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

3) Состыковать сенсорный и моторный блоки через "датчик Дарвина" (массив памяти о состоянии здоровья и/или настроения), который будет эксплуатировать критическую информацию и убивать ненужную, подавая освобождающуюся память на вход рецепторов. Для начала можно попытаться построить компьютерную модель из одного датчика, одного мотора, соединённых "датчиком Дарвина"..
[Ответ][Цитата]
Андрей
Сообщений: 3461
На: Выполнение команд
Добавлено: 11 июл 11 0:16
Цитата:
Автор: altlisek
мои знания и мысли об ИИ находятся на уровне детского сада
Побольше бы нам таких "детсадовских". А то всё "учителя" приходят
Милости просим.

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

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

2. Прогноз, отталкивающийся от задания - план. Критерием верности этого прогноза является соответствие событий статистике для данной конкретной команды - "верно то, что обычно случается при выполнении этой конкретной поставленной команды".

Эти два прогноза постоянно автоматически сопоставляются между собой и если фиксируется противоречие (что это?) между этими двумя прогнозами - включается сознание и деятельность робота (человека) корректируется. Вот эта корректировка - это самое интересное, в этом вся прелесть затеи ИИ.

Пример. Я шёл домой на автопилоте по привычному пути. У меня было задание - зайти в магазин. Чтобы зайти в магазин нужно изменить маршрут и пойти в другую сторону. Я на автомате проскочил поворот и когда у меня в голове столкнулись лбами два прогноза (один, говорящий, что впереди фактически дом, и второй, говорящий, что впереди по плану должен быть магазин) я остановился, снялся с автопилота и сознательно скорректировал своё поведение (а, следовательно, и прогноз).

Два прогноза это, имхо, принципиально важно.

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

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

Дополнительный вопрос: какова глубина прогноза и представляет ли собой прогноз "ленту" событий-образов или только крайнюю точку? Я пока склоняюсь к мысли, что глубина прогноза меняется и может быть от долей секунд до миллиардов лет, в зависимости от задачи. И представляет собой не ленту, а мгновение, точку.

Цитата:
Автор: altlisek
у мну были кое-какие простейшие мысли и исполняемые файлы по этой теме
Чувствуйте себя совершенно свободно и давайте всё сюда, и побольше

Цитата:
Автор: altlisek
задача упрощается тем, что исполнительная часть ИИ вряд ли кардинально отличается от первой (сенсорно-прогнозирующей части ИИ).
С этим спору нет.

P.S. Не Ваш ли калькулятор так расхваливал Виктор Лещиков?
[Ответ][Цитата]
altlisek
Сообщений: 8
На: Выполнение команд
Добавлено: 11 июл 11 1:13
Цитата:
Автор: Андрей

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

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

Был у меня пример на волновом движке. Он, для простоты, считает прогноз-точку, на несколько мгновений опережающий текущее время. Прогнозирует периодический пилообразный сигнал
[Ответ][Цитата]
altlisek
Сообщений: 8
На: Выполнение команд
Добавлено: 11 июл 11 1:43
Цитата:
Автор: Андрей

Дополнительный вопрос: какова глубина прогноза

Мну пробовал моделировать прогнозирование простейшего периодического сигнала (синусоида, пила, случайно следующий одинаковый прямоугольный импульс) на одну, две, три "секунды" (условных единиц времени) вперёд. Результат обычен - чем больше глубина прогноза, тем больше ошибка. Скажем, если ошибка прогнозирования на "секунду" вперёд составляла 10%, то ошибка прогноза на 3 "секунды" доходила до 50%.
[Ответ][Цитата]
Андрей
Сообщений: 3461
На: Выполнение команд
Добавлено: 11 июл 11 20:01
Цитата:
Автор: altlisek
прогноз должен иметь форму дерева
Точно! Отсюда и варианты.

Цитата:
Автор: altlisek
чем больше глубина прогноза, тем больше ошибка
Здесь есть над чем подумать. Вы правы относительно привычных аналитических математических методов, но у человека мышление образное и абстрактное. И для разных уровней абстракции прогноз может быть разной точности для разной глубины.
Пример прогноза. Солнце погаснет не раньше, чем через 7 миллиардов лет. Вполне может быть, что этот прогноз на 100% верен. Вместе с этим, я не смогу сделать прогноз относительно того, в каком именно месте на Солнце возникнет протуберанец в следующую минуту. Т.е. общий-дальний прогноз может быть точнее, чем частный-ближний.
Наверное правильным будет сказать, что прогноз многослоен (состоит из уровней абстракции, детализации) и на каждом древовидном уровне абстракции-детализации действует общее правило - чем дальше прогноз, тем он менее точен.

Цитата:
Автор: altlisek
пример на волновом движке
По Вашему примеру есть ряд вопросов.
1. Дефолтный прогноз = 0, почему не RND или не последнее значение?
2. Собственно прогноз в Вашей программе, если я правильно понял, это подбор значения аргументов для массива осцилляторов. Насколько это представление универсально на Ваш взгляд? Или такой способ "восприятия" для программы было выбран только для упрощения этой конкретной задачи, ввиду того, что в качестве входной последовательности был заведомо выбран периодический сигнал?
[Ответ][Цитата]
altlisek
Сообщений: 8
На: Выполнение команд
Добавлено: 11 июл 11 21:06
Цитата:
Автор: Андрей
общий-дальний прогноз может быть точнее, чем частный-ближний

Смутно помню из электротехники следующий закон: если соединить вместе N шумящих элементов, то общий уровень шума возрастёт не в N, а в корень из N раз. То есть, при объединении в пространстве миллиона приблизительно однотипных элементов, удельный уровень шума каждого (полный уровень шума поделить на миллион) уменьшится в корень из миллиона = 1000 раз.

Это как бы означает, что сделать усреднённый прогноз для всего населения России (~100млн. чел) в 10тыс. раз легче, чем для одного отдельно взятого гражданина.

То же самое имеем при объединении по оси времени: Сделать прогноз по России на, скажем, весь 2015г в (корень из 365 ~= 19) приблизительно в 20 раз легче, чем на какой-то конкретный день, например, на 1 апреля.

Цитата:
Автор: Андрей
По Вашему примеру есть ряд вопросов.
1. Дефолтный прогноз = 0, почему не RND или не последнее значение?

В программе имеется строка "tPrognoz! = 5". Это значит, что прогноз ведётся на 5 условных "секунд" вперед. Это число можно менять по своему усмотрению.
[Ответ][Цитата]
altlisek
Сообщений: 8
На: Выполнение команд
Добавлено: 11 июл 11 21:45
Цитата:
Автор: Андрей
2. Собственно прогноз в Вашей программе, если я правильно понял, это подбор значения аргументов для массива осцилляторов. Насколько это представление универсально на Ваш взгляд? Или такой способ "восприятия" для программы было выбран только для упрощения этой конкретной задачи, ввиду того, что в качестве входной последовательности был заведомо выбран периодический сигнал?

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

В волновом движке программы это ограничение обойдено (?) тем, что "тупо" берется 10 тыс. членов "ряда Фурье" со случайными (RND) частотами и фазами. И сопроводительными коэффициентами, для простоты равными единице. Такой "ряд" не боится апериодического сигнала, хотя имеет низкую эффективность, точность и надёжность.

Прогноз происходит следующим образом: если на кратковременную память, которая помнит строго "от и до" осуществить какое-нибудь нелинейное воздействие (например, подменить амплитуды векторов) со стороны долговременной памяти, то у неё "вырастают крылья" прогнозов в прошлое и будущее. Алгоритм подмены амплитуд я подсмотрел у голограммы Габора.

Вообще, волновой движок проще, но трудно понять, что там внутри происходит, как всё это оптимизировать и совершенствовать.
[Ответ][Цитата]
Андрей
Сообщений: 3461
На: Выполнение команд
Добавлено: 23 авг 11 20:39
Очередная попытка собрать воедино все части с целью синтезировать правильную архитектуру СИИ.
Итак. Посылки. Определения.

Действие - это любое изменение в составе деятельности интеллектуальной системы. Например, если я иду пешком - это не действие. Действие будет если я замедлюсь, ускорюсь, остановлюсь или поверну.

Каждое действие (т.е. изменение состава деятельности), совершаемое человеком, происходит в рамках некоторой задачи (задания, команды, приказа). Действие "решает" эту задачу. Что значит "решает"?
Чтобы ответить на этот вопрос нужно детальнее определиться с тем, что такое задача.

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

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

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

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

Действие всегда совершается в данный момент времени, в "сейчас", но исправляет противоречие в будущем. Чем более дальнее противоречие исправляется, тем более интеллектуальной является система и её действия. Чем ближе исправляемое противоречие к точке "сейчас", тем менее интеллектуальной является система.

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

Теперь точка рекурсии.
Противоречий между прогнозом и ожиданием может быть бесконечное множество, поскольку прогноз (в отличие от константного ожидания) зависит от контекста и может вступать в противоречие с ожиданием многими способами (на разной глубине, на разных ветвях). Отсюда - противоречие между прогнозом и ожиданием является задачей! Так возникает ветвление, конкретизация, "подзадачи" и "подцели".

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

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

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

Если у кого-то есть идеи, как вышесказанное можно упростить или обойти - милости просим.
[Ответ][Цитата]
Эгг
Сообщений: 10409
На: Выполнение команд
Добавлено: 23 авг 11 20:44
Цитата:
Автор: Андрей

Если у кого-то есть идеи, как вышесказанное можно упростить или обойти - милости просим.

http://www.nimb.info/phpBB3/viewtopic.php?f=13&t=6258#p9667
[Ответ][Цитата]
 Стр.17 (56)1  ...  13  14  15  16  [17]  18  19  20  21  ...  56<< < Пред. | След. > >>