2
robezЦитата:
Потому я предпочитаю простые модельки, а не туманные рассуждения непонятно о чем.
Понимаете, самомодифицирующиеся интеллектуальные агенты вовсе не являются "туманной" концепцией. Игрушечные прототипы существуют, да и самостоятельно все эти эксперименты легко повторяются. Конечно, результаты не претендуют на решение проблемы ИИ, ну а что вы ожидали. В тоже время, модели Каминского, как я понял, вообще пока "материального" обличия не имеют (у меня вот так руки и не дошли до экспериментов с зажатыми в узкие рамки клеточными автоматами), хотя могут применяться при анализе программных систем, функционирующих в условиях нехватки ресурсов (памяти).
Цитата:
как определяется непознаваемое для саморазвивающихся автоматов или самомодифицирующих себя программ? Неполнота не может выступать в качестве такого предела.
...
У вас есть более простое определение или модель непознаваемого, чем предлагает Каминский?
Как я уже говорил, идеи Геделя применимы и к самомодифицирующимся автоматам и вообще ко всем непротиворечивым формальным системам. Почему неполнота не может выступать в качестве предела познания я не понимаю. Вообще, проблем с непознаваемым у самомодифицирующихся автоматов может быть несколько:
- Геделевская неполнота (существование истинных, но недоказуемых, т.е. невыводимых высказываний). Простой пример. Пусть имеется непротиворечивая формальная система и утверждение "это утверждение недоказуемо средствами системы ". Если это утверждение может быть выведено (доказано) средствами , то оно, очевидно, истинно, но недоказуемо в этой системе (просто потому что оно эту недоказуемость и утверждает). И наоборот, если не может вывести такое утверждение, то оно получается невыводимым, а с учетом своего содержания ещё и истинным. В любом случае получается комбинация истинность + недоказуемость (с точки зрения ).
- Предел Каминского (артефакты ограниченности ресурсов).
- Неконтролируемое воздействие наблюдающего процесса на наблюдаемый процесс (ограничения на точность моделирования типа неопределенностей Гейзенберга).
- Синдром машины времени -- система может предказать свое поведение в некотрой ситуации, а затем, когда такая ситуация наступит, система может воспользоваться свободой воли и поступить по-другому.
- Проблемы дискретизации и приближенного моделирования (к теме о поворотах на решетке).
- Комбинаторный взрыв.
- Алгоритмические трудности (функционирование сознания может существенно базироваться на "решении" алгоритмически-неразрешимых проблем, например, проблемы остановки).
- Другие факторы, вроде невычислимости или хаотичности среды.
- Противоречивость сознания как формальной системы. Это очень серьезная и "надуманная" проблема. Однако, даже если сознание лишено логической "безупречности", ничто не мешает трактовать математику как эмпирический инструмент, полезность которого определяется "в среднем" при практической эксплуатации в реальных условиях.
Ещё одна забавная возможность (проблема), связанная с самопознанием существует. В такую систему может быть зашит паразитный код, который невидим для системы, но, тем не менее, мигрирует от версии к версии. Этот феномен хорошо знаком интересующимся теорией компиляторов -- чтобы скомпилировать первую версию компилятора, написанного на своем же входном языке, нужен сам работающий компилятор и если эта проблема "курицы и яйца" решена написанием первого бинарника компилятора на другом языке (например на ассемблере или в машинных кодах), то программист может спрятать в этой первой версии паразитный код, который при компиляции первым компилятором своих исходников на своем входном языке добавит себя в новый бинарник, который при компиляции своих исходников сделает тоже самое, и т.д. "до бесконечности". При этом, в исходных текстах компилятора не будет этого паразитного кода, он сохраниться в явном виде лишь в самой первой машинной версии, которую можно выкинуть (дизассемблер, конечно, сразу же выявит пакость). Исторически, даже с gcc случался такой казус. :)
Цитата:
Для области программирования комбинаторный перебор слишком большая роскошь, никто из программистов этим не занимается.
Я занимаюсь (иногда). :) Вот, например, писал шахматную программу, которой я сам легко "продуваю" (правда, я очень плохо играю в шахматы). Или вы имели ввиду, что при написании программ программисты не используют комбинаторный перебор в своих рассуждениях? Ну, в-принципе, да, используются инкрементно-эволюционно-творческие методы. Вообще, грань между перебором и неперебором несколько размыта... :)
Цитата:
Если такое различение используется в качестве единственного аргумента в пользу невозможность формализовать сознание?
Если это вы про разграниченность софта и железа, то я имел ввиду только это и ничего кроме этого. И о невозможности формализовать сознание я тоже не говорил (об этом в этой теме вообще никто толком не говорил). Кстати, вполне возможно, что сознание действительно не является формальной системой; это удобно, ведь тогда на него не будет действовать геделевская неполнота (правда, ряд других проблем всплывет, одна страшнее другой :) ). Когда появляется необходимость поработать на грани геделевских ограничений, сознание просто "расширяется" подключаясь к некоторому дополнительному "источнику сознания"; этот феномен наверняка известен алкашам, которые подыскивают себе собутыльника для осуществления неформальных геделевских рассуждений. :)
2
EvgenyGRЦитата:
Если Вы хотите реализовать J-функцию, как алгоритм на практически бесконечномерном Булевом пространстве Вам потребуется недопустимо много ресурсов. В природе размерность фазового пространства (аналог многомерного Булевого пространства) всего внешнего мира так же практически бесконечна. В реальном мире (когда нужна J-форма) существуют такие физические объекты (которые сами является практически бесконечно мерным, требует для своего описания практически бесконечное число размерностей фазового пространства), которые эту J – функцию и реализуют, реализуют своими состояниями. Реализуют они ее не с помощью логических операций, а с помощью законов природы.
Ваша позиция ясна, но непонятно, как это вы привязываете к более-менее однородной физиологии мозга. Теория нейросеток, например, развивается, рассматривая однородную сеть элементарных "сумматоров" как универсальный компьютер (есть теоремы о том, что любую вычислимую функцию можно собрать из простых заранее заготовленных функций). Что же является "мостом" в вашем случае?
Цитата:
Я не вижу принципиальных запретов существованию функциональной формы реализующей Фурье преобразование (или какое-то приближение к нему), в прочим это и не принципиально, можно и набор дискретных камертонов, а можно и менять частоту камертона (как у струны в гитаре), для физического объекта это не проблема.
Ну да, такой девайс есть, Кортиев орган (ушная улитка) называется. :)
Цитата:
А вот у живых форм все происходит по-другому. Живая форма принимает то или иное состояние до того как возникнет ситуация (появиться причина). В многочисленном поколении живых форм (я говорю пока о простейших живых формах) присутствуют самые разные функциональные формы из коллекции. А вот приведение этих форм в соответствие с ситуацией во внешней среде делается отбором. В этом и есть отличие живых форм от не живых. Живые формы рвут причинно-следственную связь. Следствие – воплощение в натуре той или иной формы из коллекции происходит до того как появляется причина для проявления такой формы. Уже у самых простых живых форм появляется то, что мы понимаем как свободу выбора.
Хм, интересная идея об упреждающей адаптации. А не могли бы вы немного прояснить связь со свободой выбора? Это мне особенно интересно...
-- Пт апр 29, 2011 22:33:20 --2
EvgenyGRНасчет ваших новых определений. Прямо словарик напрашивается для проведения аналогий между моей и вашей "системами координат": функциональная форма = программа; свободная функциональная форма = программа, написанная программой моделирования мира; эвристика = метапрограмма или шаблон программы. Как-то так. :)
Цитата:
Эвристики создается на основе свободных функциональных форм. А само существование свободных функциональных форм возможно только при нарушении принципа причинности.
Ага, кажется мысль почти понятна. Вот только, кажется, "нарушение принципа причинности" -- слишком уж радикальный термин. :) Вообще, сам я лично не могу алгоритмическое мышление и причинно-следственный детерминизм разделять -- алгоритмы эксплуатируют это свойство реальности, а иначе бесполезны.
Цитата:
информации невозможна (не определима) в детерминизме.
Философски, информация это вообще что-то вроде категории (поправьте, если что не так; я в гуманитарных тонкостях ни бум-бум). Но в научном смысле информации даются четкие определения; да, определение шенноновской информации может быть и не очень соотвествуют интуитивному представлению об информации... Во всяком случае, последняя ваша реплика совершенно непонятна.
2
докерЦитата:
вы лично на себе работу интуиции испытывали
Ещё как! Даже на этом форуме висят парочка тем с гипотезами (может быть для кого-то и сомнительными), в справедливости которых я более чем убежден, но доказать их пока не удается (у меня плохая математическая подготовка). И ощущение такой интуитивной уверенности совпадает с аналогичным ощущением в ситуациях, когда строго подтвердить убежденность все-таки удалось.
-- Пт апр 29, 2011 22:35:12 --Я вот опять чуть-чуть о сознании хочу поговорить (ну не могу я его отдельно от интеллекта воспринимать, не получается :) ). Правда, опять в контектсе столь сильно захватившей меня идеи о самомодифицирующихся автоматах. Думаю, что в процессе раскрутки версий, даже если что-нибудь ценное и получится, то это будет скорее-всего что-то вроде интеллектуального агента, решающего определенную задачу, а потом требующего переучивания. Как спроектировать целевую функцию, чтобы seed ai научился размеренно размышлять во время "бездельничества" -- непонятно. Поэтому, возникает естественная идея вшить такой механизм неопределенного обдумывания заранее в самую первую версию системы.
Интроспективно, мне кажется, что чем-то похожим на сознание будет процесс ведения некоторого списка запланированных дел -- ИИ должен пополнять такой список (чем? откуда брать задачи? может быть, просто коллекционировать самое "вкусненькое", что когда-либо попадалось ИИ в процессе его размышлений?), периодически сканировать этот список, выполняя некоторые "понравившиеся" дела-цели, а также должен вовремя "вычеркивать" неактуальные задачи (последнее может происходить автоматически при сборке мусора).
Есть у кого-нибудь идеи на эту тему? Может ли такой механизм возникнуть сам по себе при bootstrapping'е? Какая целевая функция (мотивация) этому могла бы соответствовать? Или достаточно обратных связей через внешнюю среду? Как поддерживать непустоту списка? Как может выглядеть этот механизм в явном виде, т.е. какие есть альтернативы к озвученной модели с ведением ToDo-списка (что-нибудь на тему долгосрочного планирования)?
На некоторые из этих вопросов можно попробовать сразу-же дать наивные ответы. Например, автоматического появления периодического мониторинга целей (т.е. ведения списка) можно добиться добавлением к "мотивирующей среде" ещё одного ограничения, искусственность введения которого сглаживалась бы какой-нибудь закрепленной за ним важной функцией. Скажем, можно просто дать ИИ какое-нибудь устройство ("тело"), через которое и только через которое он сможет взаимодействовать с внешней средой и как-нибудь обязать ИИ-программу технически обслуживать это устройство; т.е. можно попробовать ввести мотивирующие факторы вроде усталости, требующей специально организованного периодического отдыха, ну или ещё чего-нибудь в том же духе.
Проблема в том, что как когда-то заметил один из участников форума, просто сам по себе какой-либо "мотивирующий" фактор вроде голода, напрямую никак не связан с необходимостью искать еду. Точнее говоря, связан, но через "инстинкты", а чтобы эти инстинкты у ИИ появились их нужно или запрограммировать, или как-то вывести на ходу... Вариант с "вывести на ходу" более приемлем, но непонятно как должна выглядеть минимальная способная на это первая версия ИИ. В-принципе, если ИИ-субстрат кроме сенсоров/акторов снабдить ещё и аккумулятором ("электрическим"), то при достаточно мощном движке логических выводов, думаю, ИИ быстро сообразит, что надо что-то делать, раз уж (a) заряд аккумулятора уменьшается, (б) заряд аккумулятора нужен для функционирования субстрата, (в) субстрат нужен для функционирования ИИ. Но чтобы эта цепочка не привела к тривиальному решению "ничего не делать", нужно ещё и что-то вроде инстинкта самосохранения ввести. Ну вот опять что-то приходится добавлять искусственно; можно ли обойтись без этого?
Ну действительно, можно ведь понадеяться на моделирующие и предсказывающие возможности ИИ, с помощью которых он, рассмотрев различные сценарии развития событий, решит не сдохнуть от разрядки аккумуляторов, а все-таки поисследовать окружающую среду. Но и здесь появляется вопрос: а почему ИИ должен предпочесть более "интересный" вариант? Это же опять подразумевает какую-то врожденную тягу ИИ к, в данном случае, знаниям, исследованиям и т.д. Мутно как-то... :) Нужно что-то простое и беспроигрышное, вроде принципа наименьшего действия в физике.
К тому же, здесь ещё стоит учесть и ограничения на время обдумывания. Ведь этот процесс может быть достаточно сложным и продолжительным, что приводит к риску деактуализации принимаемых решений (представтьте, что ИИ все-таки принял оптимальное решение, но пока он думал, обстановка уже успела измениться и решение потеряло оптимальность). Должна быть применена какя-то иерархическая схема обдумывания -- сначала применяются простейшие проходы анализа, потом всё более и более сложные.
Одним из "дежурных" решений может быть создание двукаскадного осциллятора, один каскад которого создает программы-"предикторы" суть модели явлений реального мира, а второй -- тестирует эти программы и пишет на их основе программы-"акторы", которые запускаются на выполнение и результаты работы которых подаются опять в первый каскад, который снова пишет предикторы и т.д. Иногда такая система с обратной связью колеблется с большей амплитудой, иногда с меньшей. Состояние малоамплитудных колебаний, т.е. состояние близкое к равновесию соответствует принятию оптимального решения и является "желательным". Впрочем, состояние равновесия, будучи аттрактором, достигается по вполне естесвенным причинам, например, в порядке достаточно физичной минимизации энергии описанного осциллятора.
Вместе с тем, замечу, что некоторые другие артефакты сознания, вроде свободы воли или рефлексии, могут --- заявляю почти уверенно --- возникать (хотя-бы в "урезанном" виде) сами по себе прямо в изначальной концепции самомодифицирующегося ИИ. Например, внося изменения в свой код, такой автомат может изменять схему поведения в определенных ситуациях, что похоже на совершение сознательного выбора (т.е. если автомат знает, что в определенной ситуации он поступит определенным образом, то он сможет заранее изменить что-нибудь в себе так, чтобы и предписанное поведение изменилось). Рефлексия же моделируется уже самой возможностью самомодификации. Творчество в, извините за каламбур, творческом смысле, более узком чем тот, которым я оперировал ранее, тоже легко объясняется как следствие способности предсказать и реализовать нечто, что может кому-нибудь в будущем "понравиться".
Наверное, это все на оффтопик похоже, но, по крайней мере, означенной в заголовке теме все-таки соответствует. :)
-- Пт апр 29, 2011 22:37:30 --Нашел ещё один потрясающий, яркий
очерк о seed ai. Надеюсь кому-нибудь будет интересно. Я ещё не дочитал это до конца, так что позже детально отпишусь о впечатлениях если удастся подчерпнуть чего-нибудь нового. :)