Сознание человека как "искусственная" среда эволюц

Автор adada, мая 04, 2006, 15:36:19

« назад - далее »

AdmiralHood

Цитата: novice от февраля 14, 2012, 02:51:55
Цитата: AdmiralHood от февраля 14, 2012, 02:33:28
Все популярные микропроцессоры по мере увеличения степени интеграции просто добавляли уже известные архитектурные изыски, то есть шли в хвосте прогресса.
Иначе и быть не могло. Маркетинговая стратегия "захвати рынок, задави конкурентов, а потом уже совершенствуй" рулит. Сравните DOS, NT с той же VAX-VMS. Где сейчас Digital, а где MS?
Истину глаголете
Уверуйте в электричество, племянники!

novice

Цитата: Сергей от февраля 14, 2012, 03:45:47
Я говорил, не о том, что нужно строить модель мозга, а о том, что на имеющейся сейчас базе построить самопрограммирующуюся программу не получится. Надо использовать другие принципы. Лет пять назад тут пытались написать программу, которая бы сама, случайным перебором, совершенствовала алгоритм...

Программа должна уметь сама себя менять - как это делает ДНК и нейрон - без этого никакой «полёт» невозможен.
Боюсь, что здесь присутствует непонимание в терминологии. Термин "программа" можно применять к некоторым стандартным последовательностям в деятельности живых организмов (программа поведения, инстинктивная программа и т.п.). Но в компьютерной терминологии здесь более уместен термин "алгоритм". Т.е. "программа живых существ"="алгоритм вычислений". Общие черты:
1. Реализация на конкретной платформе
2. Способность изменяться в зависимости от внешних/внутренних параметров 
Насколько понимаю, в той же ДНК закодирован именно алгоритм, реализующийся в зависимости от многих условий.

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

Дж. Тайсаев

Цитата: Сергей от февраля 14, 2012, 03:45:47
Я говорил, не о том, что нужно строить модель мозга, а о том, что на имеющейся сейчас базе построить самопрограммирующуюся программу не получится. Надо использовать другие принципы. Лет пять назад тут пытались написать программу, которая бы сама, случайным перебором, совершенствовала алгоритм...

Программа должна уметь сама себя менять - как это делает ДНК и нейрон - без этого никакой «полёт» невозможен.
Совсем необязательно задавать такие параметры, что бы программа себя меняла, хотя и это в принципе возможно, но тут сложности в том, что большая часть изменений, если они случайны приведёт попросту к тому что программа перестанет работать. Впрочем и они решаемы, например, если добавить возможность отката изменений назад, при малейшем сбое, только это уже будет не имитация эволюции, а создание собственной модели эволюции. Хотя, а почему бы и нет.
Но я о другом. Можно сделать так, что бы менялась не программа, а параметры элементов динамического массива данных в этой программе, как это сделал я когда то в 90 ещё, на архачином досовском Борланд Си++. В этом случае промма будет имитировать среду, в которую тоже можно заложить стохастические изменения параметров, но там уже не надо добиваться, что бы эти изменения были направленными на какой то совершенствование. А вот сами элементы массива (это могут быть и простые пиксели), могут "размножаться", менять параметры, например скорость перемещения по экрану, или частоту репликации. А мутациями будут служить генератор псевдослучайных чисел, который будет генерировать различные комбинации параметров этих пикселей и даже новые параметры.
Тогда мне элементарно не хватило ресурсов, у меня был Хt с 512 килобайтами памяти на борту, а сейчас через интернет можно создавать кластерные массивы на целой глобальной сети компьютеров, что то вроде вирусов, только цель у них будет выжить, а значит приносить наименьший вред среде.
Шматина глины не знатней орангутанга (Алексей Толстой).

Сергей

Цитата: novice от февраля 14, 2012, 09:58:19Боюсь, что здесь присутствует непонимание в терминологии. Термин "программа" можно применять к некоторым стандартным последовательностям в деятельности живых организмов (программа поведения, инстинктивная программа и т.п.). Но в компьютерной терминологии здесь более уместен термин "алгоритм".
------------------
большая часть изменений, если они случайны приведёт попросту к тому что программа перестанет работать

Дело тут не в терминологии. Я утверждаю, что на имеющемся «железе» создать «разумность» нельзя. Можно только имитацию разумности. «Алгоритм» живого - это непрерывное изменение алгоритмов вычислений и «платформ» под влиянием поступающих сигналов. Любая живая система - эволюционирующая, в которой информация изменяет свойства носителя информации. Простым изменением массивов данных и параметров программы такую систему создать нельзя.

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




Дж. Тайсаев

Цитата: Сергей от февраля 14, 2012, 12:36:30
Первым шагом моделирования такой системы может быть создание вырожденных (неоднозначных) машинных кодов, для того, чтобы при изменении программы не происходило зависание на каждом такте работы. Не очень себе представляю, как это можно сделать, но могу показать, как это реализуется в ДНК.
Есть же например Пролог, правда он чересчур громоздкий и недостаточно пластичен, но лиха беда начало. Креативность можно программировать, для начала из многозадачности, через те те же "деревья" и графы, затем например через подпрограммные модули, которые будут создавать новые задачи случайным образом, самостоятельно их тестировать на исполнимость и лишь потом включать  в качестве дополнительной альтернативы в основную программу. Раньше проблемка была совсем пустяковая, зависание приводило к сбою и основной задачи, теперь то появились многозадачные системы, которые могут локализовать сбой. Эх, где ты добрый старый Юникс (((
Шматина глины не знатней орангутанга (Алексей Толстой).

novice

Цитата: Сергей от февраля 14, 2012, 12:36:30
Дело тут не в терминологии. Я утверждаю, что на имеющемся «железе» создать «разумность» нельзя.
Согласен с Вами. Только причиной является незнание законов живой материи, а не недостатки "железа".

Цитата: Сергей от февраля 14, 2012, 12:36:30
Можно только имитацию разумности. «Алгоритм» живого - это непрерывное изменение алгоритмов вычислений и «платформ» под влиянием поступающих сигналов. Любая живая система - эволюционирующая, в которой информация изменяет свойства носителя информации. Простым изменением массивов данных и параметров программы такую систему создать нельзя.
Моделируем отдельный нейрон отдельным компьютером необходимой производительности. Моделируем каждый синапс отдельным компьютером. Объединяем все эти компьютеры в сеть, где каждый компьютер связан с каждым по необходимости (Интернет). В чем ущербность такой модели?

Цитата: Сергей от февраля 14, 2012, 12:36:30
Первым шагом моделирования такой системы может быть создание вырожденных (неоднозначных) машинных кодов, для того, чтобы при изменении программы не происходило зависание на каждом такте работы.
В приведенной модели кластеру компьютеров при загрузке в них некорректной программы ничего не грозит. Они могут быть инициализированы заново с последующей загрузкой начального варианта программы со стороннего компьютера, не входящего в их кластер (не подвергшегося изменениям).

Цитата: Сергей от февраля 14, 2012, 12:36:30
Не очень себе представляю, как это можно сделать, но могу показать, как это реализуется в ДНК.
Покажите, пожалуйста, как это реализовано в ДНК.

Дж. Тайсаев

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

GS.nsk

#157
Цитата: novice от февраля 14, 2012, 16:44:29
Мне кажется понятна причина непонимания Сергея...
Для него - Компьютер - Процессор - Это всё... больше ничего не существует...
сейчас это так и есть, в связи с ростом произ-ти ( но при этом универсальный процессор выполняет и роль простейшего автомата и выбор стратегии), он один совмещает две различных, я бы сказал, парадигмы...

вот на пример Boston Dynamics BigDog: (http://www.youtube.com/watch?v=b2bExqhhWRI&feature=fvst)
- система "удержания равновесия" - структурно, это обычный "Автомат"- (ОУСС)
- Выбор направления движения и решение проблем автомата - а вот это уже мозг (сознание-самосознание)...

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


GS.nsk

Цитата: Дж. Тайсаев от февраля 14, 2012, 13:34:13
Раньше проблемка была совсем пустяковая, зависание приводило к сбою и основной задачи, теперь то появились многозадачные системы, которые могут локализовать сбой. Эх, где ты добрый старый Юникс (((
:) вот так всегда....виноват кто-то другой...а не тот кто писал...тщательнее проектировать надо...

Дж. Тайсаев

Цитата: GS.nsk от февраля 14, 2012, 21:18:21
:) вот так всегда....виноват кто-то другой...а не тот кто писал...тщательнее проектировать надо...
А как можно тщательно спроектировать стохастичные мутации? В том то и проблема, что для имитации эволюции надо, что бы изменения в алгоритме были по возможности непрогнозируемые, а значит встаёт проблема с зависаниями. Впрочем что то сделать конечно можно, ограничить доступные адреса и прерывания например, а при длительном повторении одной и той же последовательности кодов (зацикливание) задать возможность самостоятельного отката и т.д. А там глядишь и что то разумное вдруг начнёт ругаться на тебя как Франкенштейн с экрана  :)
Шматина глины не знатней орангутанга (Алексей Толстой).

GS.nsk


Дж. Тайсаев

Шматина глины не знатней орангутанга (Алексей Толстой).

василий андреевич

Цитата: Дж. Тайсаев от февраля 14, 2012, 22:12:17
А как можно тщательно спроектировать стохастичные мутации?
Не надо их проектировать. Важно, что бы в "железе" были ослабленные места, которые ломает "дурак за клавой". Как нельзя создать монолит, противостоящий землетрясениям, так нельзя защитить мозг или комп. Противостоять случайностям, значи, допускать поломки в сочлениях блоков, при этом сочленения восстанавливаются в зависимости от алгоритма поломок "ответственными" блоками. Когда сочленения станут "крепче" блоков, начнется процесс жертвования блоками, которые будут восстанавливаться с изменениями за счет деятельности бывших "сочленений".

Сергей

Цитата: novice от февраля 14, 2012, 16:44:29Покажите, пожалуйста, как это реализовано в ДНК.

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

Вырожденность кода и устойчивость к ошибкам

Известен только один механизм появления нового в процессе эволюции: репликация избыточных элементов, их видоизменение под действием случайных мутаций, последующее комбинирование или рекомбинация, и отбор удачных вариантов. На генетическом уровне это проявляется в появлении избыточной ДНК, на уровне нервной системы - новых нейронных сетей, на уровне организмов и сообществ - появлении новых моделей поведения. Так увеличивается число и разнообразие элементов на каждом из уровней организации. «Алгоритм» живого - это непрерывное изменение алгоритмов вычислений и «платформ» под влиянием внешних сигналов. Любая живая система - эволюционирующая, в которой поступающие сигналы изменяют свойства носителя информации.

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

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

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

Теперь конкретно о вырожденности кодов в ДНК:

Уровни информационного содержания ДНК и их физический смысл

1. Первый уровень – это копирование самой молекулы ДНК – получение оттиска с каждой из её цепей. Кодировщиком, по сути, выступает сама цепь ДНК. Фермент сшивает звенья второй цепи и увеличивает точность копирования. Наиболее быстрое и точное копирование было бы, если бы цепи состояли из двух мономеров: один в одной цепи, второй – во второй, или равномерное чередование двух звеньев в каждой из цепей. Звеньев, как мы знаем, четыре, и чередуются они не равномерно. Именно благодаря этой вырожденности и появляется возможность кодировки на более высоких уровнях.

2. Второй уровень - это регуляция копирования и считывания. Например, определение участков, с которых будут считываться белковые последовательности. Для этого необходимо:

2.1. узнавание определённых участков двойной спирали белками и другими лигандами. Можно выделить два крайних варианта:

2.1.а. образование решетки водородных связей между выступающими в бороздки ДНК участками оснований и функциональными группами аминокислот («цифровое» кодирование);

2.1.б. узнавание белком вариаций спирали ДНК (разные пары оснований имеют несколько различающуюся геометрию) образование Ван-дер-Ваальсовских контактов и электростатических взаимодействий («аналоговое» кодирование).
Обычно наблюдается комбинация этих двух крайних вариантов. Тут вырожденность проявляется в том, что узнаваемые белками сходные по физическим характеристикам участки образуются при разных комбинациях «букв»

2.2. Нарушения двойной спирали. Участки с высоким содержанием АТ-пар легче расплетаются – это важно для точек начала репликации и транскрипции. При наличии внешнего напряжения участки с последовательностями чередующихся GC пар образуют левую спираль, а полиндромы – крестообразные структуры. Кластеры из гуанинов в теломерах образуют квадруплексы, а последовательности с ассиметричным расположением пуринов-пиримидинов – триплексные структуры.

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

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


GS.nsk

#164
Цитата: Сергей от февраля 19, 2012, 02:58:55
дествительно много букв...

"В случае нейрона - он также собирает сигналы от синапсов по аналоговому принципу, но по аксону передаёт цифровой сигнал"

Замечание:
почему вы всё время упоминаете аналоговое, аналоговое...
Когда то попадалось (как сняли не разобрался, но видео а не модель) работы синапсиса...
Ведь это обычный интегратор! Или другими словами СЧЁТЧИК, или то что выставляет некий коэфф. пропорциональный воздействию...
Кстати, на это принципе основан формат SACD (от Sony)...

пояснение:
Зачем переходить к "аналоговым примитивам" если эту функцию можно построить другими 1001 способами?