досмотрел наконец третью часть. и как только это сделал. понял, что все-таки смотрел уже. вот думаю - ведь, впринципе, ядро можно начинать писать. а когда технологии сенсорного интрефейса непосредственно в нервную систему будут готовы - можно и модуль в аппаратный блок будет добавить а пока через консоль подключаться можно будет. самое главное, конечно, искусственный разум. сейчас в чем проблема? линейная предсказуемость алгоритма, я так думаю... или есть моделька, где выполнение программы идет по случайному пути, который невозможно предсказать? тогда киньте в меня ей плиз. пока в голове только порождение кода самой программой -> проверка его на "жизнеспособность" -> выпуск в жизнь/убийство как тупикового пути эволюции. ну это конечно абстрактная мысль. просто нет большего в Сети места, где бы эту мысль хотелось выложить
вобщем мысли обдуманные за ночь таки. математические модели все-таки должны быть. самое первое, что вспомнил из имеющегося в голове - алгоритмическая игра LIFE. наверное все такое когда-то писали (например: http://www.2devochki.ru/6 7/15270/1.html про модель на бесконечной (без границ) матрице рассуждать не в тему. а вот другой момент на котором аналогии можно провести: организация замкнутых кусков, вырожденных, перемещающихся, имеющих цикл в несколько итераций и т.п. следующая мысль. 1) минимальный набор функциональных блоков? - порождaющий код - проверяющий на жизнеспособность -- ПРЕД'проверяющий только что порожденный код -- ПОСТ'проверяющий запущенный на выполнение код 2) какое может принимать состояние "живущий код"? - вырожденый (признак вырожденности/смерти?) - замороженный/впавший в спячку: не меняющийся, но при этом бегающий по циклу - живущий: меняющийся. -- имеющий цикл в n итераций -- стремящийся к вырождению 3) из каких инструкций порождать код? - имеющийхся процессорных (думаю самое интересное) - придумать свои а вот здесь мысль ушла на аналогии биологического мира. Ген человека состоит из 23х хромосом - впринципе, не так много - и машинных команд не много. но слишком они функционально примитивны и при случайной генерации - много мусора получится. А хромосомы не такие уж и примитивные. Из органических групп состоят. Наверное правильнее минимальные блоки команд определить (и в будущем добавлять) из которых уже генерить и составлять "код" 4) где выполнять сгенерированный код? 5) по какому все-таки признаку считать его вырожденным/умершим? 6) безусловно, интерес должен представлять порожденный код, который будет изменять себя же 7) какие надо наложить условия, если говорить о генерации все-таки из имеющийхся машинных команд, чтобы не попасть в бесконечный процесс генерации мусора