Представление объекта в программировании. - страница 16

 
Реter Konow #:

Цель - запустить автосинтез программ на основе общей модели Объекта.

Это, наверное, то что называется генетическим программированием. Там тоже не получится обойтись без чёткого описания языка в виде БНФ грамматики или дерева (что в общем-то одно и то же)

 
Aleksey Nikolayev #:

Это, наверное, то что называется генетическим программированием. Там тоже не получится обойтись без чёткого описания языка в виде БНФ грамматики или дерева (что в общем-то одно и то же)

Сегодня попробую описать этапы синтеза простой метки из пиксельной "прото-среды" и пошаговый сценарий ее последовательного усложнения.

Дополнено: 

Цель - выявление паттерна усложнения программных объектов для его последующей автоматизации.

 

Часть 4.2

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

По традиции, объявим исходные тезисы:

  • Все Объекты существуют только в Средах. Жизнь Объекта "самого по себе" имеет смысл только в качестве "музейного экспоната". Рассуждая об Объекте, мы должны принимать во внимание Среду его "рождения" и "жизнедеятельности", а именно - объектное окружение в котором он взаимодействует и выполняет программу (или функцию). 
  • Развитие возможно только внутри Среды. Никакой Объект не развивается и не эволюционирует сам в себе и "извлеченный" из Среды теряет интерактивность, т.к. его Событийная Модель перестает получать сигналы, и функции (кроме зацикленных) прекращаются.
  • Объект "рождается" структурированием. В качестве исходного "материала" выступает либо: (1)хаотичное множество прото-частиц в прото-Среде, либо - (2) иерархически классифицированное "меню" из частей ранее собранных функциональных систем, которые на этом этапе будут организованы в новую "Мета-структуру" следующего уровня сложности. Это зависит от создаваемого Объекта и того, какая Среда имеется в наличии.
  • Сложность поколений создаваемых Объектов ступенчата. Нельзя в простой Среде примитивных объектов построить сверхсложную Систему, миновав этапы инжиниринга Объектов промежуточной сложности. Это правило диктуется простым фактом того, что Объекты строятся из общих "частей" и пропасть в сложности от простейшей до сложнейшей Систем не позволит "перешагнуть" этапы сборки "частей" промежуточной сложности. 
  • Эффективность структурирования Объекта зависит от эффективности организации "родительской" Среды. То есть, структурировать Объекты копируя части работающих Систем менее эффективно, чем собирать их из сортированного содержания категорий построенных классификацией этих же Систем. Это значит, перед началом структурирования чего либо из чего либо, последнее желательно разобрать и сортировать, чтобы легче собрать новое.
  • Первым ключевым механизмом в структурировании Объектов является "Наследование" -  т.е. метод полного или частичного заимствования параметров или функций одного Объекта другим. При этом, намного более эффективным для строительства нового Объекта (если он не является полный копией) является использование "заготовок" (шаблонов) в которых далее переопределяются функции/параметры/значения под каждый конкретный Объект. Наследование должно ставиться на "поток" и быть отвлеченным от конкретных объектов. Наследовние должно опираться на некую классификационную Модель пополняемую новыми шаблонами с построением каждого нового Объекта. В этом случае, такая Модель послужит идеальной базой для структурирования, по сути являясь идеальной средой разработки.   Механизм Наследования реализует один из принципов эволюционного развития. 
  • Вторым ключевым механизмом в структурировании Объектов является "Настройка" - метод подбора значений параметров Объекта подходящих для решения его задачи. Может оказаться эффективным использование принципов "генетической оптимизации". Нужно помнить, что эффективность каких либо значений параметров Объекта определяет его Среда, а значит, в процессе тестирования она должна давать обратную связь.
  • Третьим ключевым механизмом в структурировании Объектов является "Отбор" - медод выбора экземпляра Объекта среди его копий-вариантов (отличных в функционале, параметрах или значениях) при тестировании на решение целевой задачи его существования. В этом процессе, Среда также должна давать обратную связь.  Механизмы Отбора, также, реализуют один из принципов эволюционного развития. 


Далее (в следующей части) поговорим о Метке, но стоит учитывать вышеприведенные тезисы, ведь они недвусмысленно намекают на некоторые ответы на вопросы "автосинтеза" программных Объектов. Имеется ввиду, что Бытие Объектов зажато строгими правилами рождения, существования и развития Систем и Сред, и мы не можем творить "что попало" надеясь на результат. Уже сейчас очевидно, что возможные методы реализации программного автосинтеза ограничены.

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

 

Людей с давних пор интересовали научно-популярные вопросы относительно угрозы т.н. "исскуственного интеллекта":

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

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

Понимая, что многие страхи перед ИИ создавались популяризаторами с целью подогрева Рынка и стимула продаж тематической продукции - игр, книг, фильмов (и... чипов для мозга), все таки хотелось бы понять КАКОЙ код в реальности может угрожать человечеству и возможно ли его написать в принципе? 

Ответить, даже в общих чертах, очень непросто. Сначала, нужно скинуть художественный вымысел и сформулировать суть:

  • Должна ли в процессе тенденции развития и усложнения программного обеспечения возникнуть программа, которая сможет сама изобретать другие программы или механизмы? 
  • Cможет ли эта программа создать другую программу, которая будет сложнее чем она?
  • Можно ли сформулировать и написать "алгоритм усложнения" программ/механизмов без которого невозможно создание такой программы?

Не будем дерзить и отвечать первыми, давайте спросим Эволюцию. Разве она не владеет алгоритмом усложнения? Разве не использует его сотни миллионов лет? Разве наша эко-система не есть доказательство наличия в распоряжении Эволюции недоступного нам пока "Грааля Жизни"? 

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

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


Послесловие:

Эту часть я решил посвятить объяснению смысла своего исследования. Пошаговый разбор продолжу в следующей части.


 

Хорошая философская тема, к сожалению, сейчас не могу развёрнуто ответить, но вкратце тезисно:

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

Альтернативная гипотеза: развитие воли и автономности всё-таки неизбежно происходит по мере усложнения системы (ИС) и тогда возможны сценарии как в Detroit: Become Human, когда андроиды даже превосходят по человечности самих людей, или как в Cyberpunk 2077, в сюжетной линии с разумными машинами в такси Деламейн, в этом случае возникнет либо необходимость искусственного сдерживания саморазвития умных машин, либо этическая проблема иклюзивности и признания прав андроидов, но на самом деле этическая проблема возникнет еще на этапе создания ИС: насколько это допустимо создавать существо, которое возможно будет страдать от осознания себя запертым в железной тюрьме производственного цеха? - впрочем точно такая же проблема существует при рождении биологических людей и сейчас, просто детей никто не спрашивает хотят ли они жить в этом мире.

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

 
transcendreamer #:

Хорошая философская тема, к сожалению, сейчас не могу развёрнуто ответить, но вкратце тезисно:

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

Альтернативная гипотеза: развитие воли и автономности всё-таки неизбежно происходит по мере усложнения системы (ИС) и тогда возможны сценарии как в Detroit: Become Human, когда андроиды даже превосходят по человечности самих людей, или как в Cyberpunk 2077, в сюжетной линии с разумными машинами в такси Деламейн, в этом случае возникнет либо необходимость искусственного сдерживания саморазвития умных машин, либо этическая проблема иклюзивности и признания прав андроидов, но на самом деле этическая проблема возникнет еще на этапе создания ИС: насколько это допустимо создавать существо, которое возможно будет страдать от осознания себя запертым в железной тюрьме производственного цеха? - впрочем точно такая же проблема существует при рождении биологических людей и сейчас, просто детей никто не спрашивает хотят ли они жить в этом мире.

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

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

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

 

Надо сначала ответить на вопрос - что такое сознание. Пока с этим не очень, есть даже такой термин в современной философии - "трудная проблема сознания".

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

 
Aleksey Nikolayev #:

Надо сначала ответить на вопрос - что такое сознание. Пока с этим не очень, есть даже такой термин в современной философии - "трудная проблема сознания".

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

72 падежа, 24 новых падежа особого назначения, нелинейная система письма, матричная грамматика, морфосинтаксис, бустрофедон, еще и фонетика специальная — то что нужно для самых крутых трейдерских сект (чтобы чекисты и масоны Грааль не смогли украть).

 
Aleksey Nikolayev #:

Надо сначала ответить на вопрос - что такое сознание. Пока с этим не очень, есть даже такой термин в современной философии - "трудная проблема сознания".

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

Не соглашусь с этим мнением. Если разобраться, Сознание - это сломанный, трижды перекрученный, заваленный тысячетонной эмоциональной свалкой, еле функционирующий и проржавевший "обработчик" Объекта. Нам просто нужно вытащить из него механизм обработки и усложнения Систем, а остальное оставить Мыслителям и психиатрам.)

 
Реter Konow #:

Не соглашусь с этим мнением. Если разобраться, Сознание - это сломанный, трижды перекрученный, заваленный тысячетонной эмоциональной свалкой, еле функционирующий и проржавевший "обработчик" Объекта. Нам просто нужно вытащить из него механизм обработки и усложнения Систем, а остальное оставить Мыслителям и психиатрам.)

Звучит как предложение вытащить из воды её мокрость)