Страница 2 из 3

Re: Самосовершенствующиеся программы

Добавлено: Вт авг 02, 2016 14:04:23
BOB51
Для таких применений необходимы кристаллы с режимом "самопрограммирования".
Изменение констант, участков кода как реакции на внешние условия - типовые задачи решаемые МК.
Для иного потребуется вмешательство компилятора и/или операционной системы с целью создания прикладного кода в соответствии с требуемыми изменениями.
Так что вполне возможно и весьма давно применяется на тех же персональных компьютерах.
Как пример - поиск/подключение драйверов при смене подсоединенных компонентов системы, модернизация устаревших прожек при получении лекарственного апдейта от прародителя (те же обновления ОС) также в некотором роде "самомодернизация в приложении к конкретным условиям".
:roll:

Re: Самосовершенствующиеся программы

Добавлено: Вт авг 02, 2016 14:18:32
Morroc
berdicheA писал(а): Это несколько ущербно (неэффективно), вы не находите?
Если нет более эффективного способа ? :dont_know:
berdicheA писал(а): Троичная логика, кажется, изначально больше подходит для ИИ.
Когда создадут - спросим ИИ :)) В нейросетях коэффициенты задаются - можно сказать вообще вероятностная.
berdicheA писал(а): Пока шо речь не идет о Разуме, речь идет лишь о придании комп.программам способности размножаться и иметь детей :))) а не просто "клонов" (как это делают компьютерные вирусы).
Вирусы это делают потому что этого достаточно, их ведь делают с определенными целями, а не чтобы они мир захватывали и всякое такое.
Morroc писал(а): Примерно это я и предлагаю, с одним лишь отличием - базовые блоки должны тоже иметь способность к мутации!
Большинство таких мутаций будет приводить к неработоспособности блока. Как бы не пришлось пару миллиардов лет их размножать для получения первого уникального работоспособного экземпляра :))

Re: Самосовершенствующиеся программы

Добавлено: Вт авг 02, 2016 15:44:54
berdicheA
Morroc писал(а):
berdicheA писал(а): Это несколько ущербно (неэффективно), вы не находите?
Если нет более эффективного способа ? :dont_know:
Почему же?
Все детали для троичной логики давно изготовлены.
Morroc писал(а): Вирусы это делают потому что этого достаточно, их ведь делают с определенными целями, а не чтобы они мир захватывали и всякое такое.
Как видите, в условиях нынешних антивирусов - недостаточно.
"Рандомно" изменять программный код они не могут.
А так, в теории, они могут научиться просачиваться через любые системы защит :)) (хотя это и звучит фантастично)
Morroc писал(а):Большинство таких мутаций будет приводить к неработоспособности блока. Как бы не пришлось пару миллиардов лет их размножать для получения первого уникального работоспособного экземпляра :))
Вы правы.
НО, как по мне, ошибаетесь в сроках.
Вероятно, вы слышали про вирус СПИДа.
Так вот - около 60-80% его вирионов вообще нежизнеспособны (из-за его сверхвысокой изманчивости), но играют роль "ложных целей", на которые охотно "клюет" иммунная система.
Остальные (жизнеспособные) "берут свое" просто фантастической численностью (за счет малых размеров).
И - никаких миллиардов лет!
За какие-то 8-10 лет успевает полностью доконать человека.
Так то - биологические процессы.
"Компьютерно-вычислительные" идут значительно быстрее.

Re: Самосовершенствующиеся программы

Добавлено: Вт авг 02, 2016 15:48:29
Maykill
"Вероятно, вы слышали про вирус СПИДа."

честно- не слышал
СПИД-это синдром приобретённого иммунодефицита
а вирус называется ВИЧ ( вирус этого самого...)

Re: Самосовершенствующиеся программы

Добавлено: Вт авг 02, 2016 15:53:10
Borodach
berdicheA писал(а):Жаль, Админы не пожалели и эту идею, увы, тоже перенесли сюда.
При чем здесь "обезьяна"?
...

Обезьян пожалели ... :)

Re: Самосовершенствующиеся программы

Добавлено: Вт авг 02, 2016 16:01:29
berdicheA
Maykill писал(а):"Вероятно, вы слышали про вирус СПИДа."

честно- не слышал
СПИД-это синдром приобретённого иммунодефицита
а вирус называется ВИЧ ( вирус этого самого...)
Я совершенно сознательно употребил словосочетание "вирус СПИДа".
Если бы я написал "слышали про вирус ВИЧ", это бы звучало в расшифровке так: "слышали про вирус Вируса Иммунодефицита Человека".
"вирус Вируса", не находите словосочетание странным? :))
А поскольку "заразный" СПИД вызывается (по известным данным), только ВИЧ, я и сказал "вирус СПИДа"
Хотя, можно было бы сказать и "Вероятно, вы слышали про ВИЧ".
...но "вирус СПИДа" мощнее звучит. :)))

Re: Самосовершенствующиеся программы

Добавлено: Вт авг 02, 2016 16:06:12
Morroc
berdicheA писал(а): Все детали для троичной логики давно изготовлены.
Размером ~20нм и работают с частотой 4-5 ГГц ? :)) А то может быть их эмулировать можно в 10 раз быстрее, чем работают "давно изготовленные" с троичной.
berdicheA писал(а): Как видите, в условиях нынешних антивирусов - недостаточно.
Хватает, вроде только что была свежая новость о вирусе, который за кем то там следил.
berdicheA писал(а): "Рандомно" изменять программный код они не могут.
Без разработки специальной структуры под это дело и не будут - почти наверняка код получится неработоспособный.
berdicheA писал(а): А так, в теории, они могут научиться просачиваться через любые системы защит :)) (хотя это и звучит фантастично)
Мне кажется это уже задача для вирусов с ИИ, а мутирующие - это уже проникшие и прячущиеся/размножающиеся внутри.
Morroc писал(а): И - никаких миллиардов лет!
Миллиарды лет ушли на выработку принципов построения белковой жизни, а если она извне, то может и побольше. Можно сократить это время, например разработкой специальных структур построения и готовых блоков для максимальной изменчивости, но менять совсем от балды код - это расточительно, слишком много неработоспособного получится.

Re: Самосовершенствующиеся программы

Добавлено: Вт авг 02, 2016 16:22:08
Maykill
http://beluch.ru/life/conway.htm
вот вам эволюция
Мир, который построил Конуэй

а вот верся распространения жизни от Глуховского :))
https://fantlab.ru/work88548

Re: Самосовершенствующиеся программы

Добавлено: Вт авг 02, 2016 16:48:15
berdicheA
Morroc писал(а): Размером ~20нм и работают с частотой 4-5 ГГц ?
Не забывайте, микросхема - это обычная деталь, которую спокойно изготавливают по чертежам.
В троичной логике те же "транзисторы", "конденсаторы", "диоды", "резисторы" и пр., шо и в двоичной.
Morroc писал(а):Хватает, вроде только что была свежая новость о вирусе, который за кем то там следил.
Как видите, раз его поймали, значит не хватило, по определению. :))
Morroc писал(а):Без разработки специальной структуры под это дело и не будут - почти наверняка код получится неработоспособный.
Я тоже думал про это - создать некий "интерпретатор" некоего "байт-кода".
Но потом понял, что "сырые" машинные инструкции можно модифицировать напрямую.
Дело в том, что, к примеру, Windows имеет такую вещь, как SEH. Все программные исключения и ошибки прогоняются через эту систему. Перехватив эту обработку исключений, можно спокойно исправить измененный код программой-оригиналом и изменить что-то другое, причем это обеспечивает 100% скрытность (пользователь ничего не увидит/услышит).
Схема может быть такой:
1. Перехват SEH
2. Создание мутантной копии вируса в памяти
3. Попытка мутантной копии осуществить заражение
4. Если где-то выходит ошибка - стираем эту копию, создаем другую (тоже мутантную, но "мутируем" в других местах) и пытаемся снова
5. Если успех - "отпускаем" копию в "свободное плавание".
6. Начинаем сначала.
Morroc писал(а):Мне кажется это уже задача для вирусов с ИИ, а мутирующие - это уже проникшие и прячущиеся/размножающиеся внутри.
Так "смутировать" можно и систему атаки защит!
Тем более, она не так сложна, как может показаться.
Знаменитый "червь Морриса" был устроен просто, а каков результат!
Вы думаете, в плане, к примеру, подбора паролей что-то изменилось с 1988 года? :))
Большинство людей и близкого понятия не имеет о компьютерной безопасности, полагаясь во всем на "антивирус".
Жаль только - не спасет их антивирус :twisted:
Morroc писал(а):Можно сократить это время, например разработкой специальных структур построения и готовых блоков для максимальной изменчивости, но менять совсем от балды код - это расточительно, слишком много неработоспособного получится.
То, про шо вы говорите, называется "полиморфный вирус".
Это близкие, но не идентичные понятия.

Re: Самосовершенствующиеся программы

Добавлено: Вт авг 02, 2016 18:00:36
Morroc
berdicheA писал(а): В троичной логике те же "транзисторы", "конденсаторы", "диоды", "резисторы" и пр., шо и в двоичной.
Зато элементы из них уже сложнее, это все не отработано годами и имеет ли смысл не очень понятно.
Morroc писал(а): Как видите, раз его поймали, значит не хватило, по определению. :))
Если точно известно, что вирус есть - его таки поймают, не по сигнатуре так по косвенным признакам - "а шо это за гадость лезет по файлам так шустро и включает камеру на ноуте ?". Если поймали когда уже наворовал данных - можно считать вирус удачный.
Morroc писал(а): 2. Создание мутантной копии вируса в памяти
3. Попытка мутантной копии осуществить заражение
4. Если где-то выходит ошибка - стираем эту копию, создаем другую (тоже мутантную, но "мутируем" в других местах) и пытаемся снова
Если менять от балды - не дождемся :))
Morroc писал(а): Так "смутировать" можно и систему атаки защит!
Тем более, она не так сложна, как может показаться.
Знаменитый "червь Морриса" был устроен просто, а каков результат!
Вы думаете, в плане, к примеру, подбора паролей что-то изменилось с 1988 года? :))
Черви строили под определенную известную уязвимость, пока мутирует как надо - уже и заплатку поставят. А под неизвестную можно дооолго мутировать - это сложнее, чем от антивирей прятаться. Для подбора паролей оно вообще не надо.
Morroc писал(а): То, про шо вы говорите, называется "полиморфный вирус".
Это близкие, но не идентичные понятия.
Помельче подробить и нормально, зато это работает в отличии от слепого изменения кода.

Re: Самосовершенствующиеся программы

Добавлено: Вт авг 02, 2016 19:28:30
berdicheA
Все ваши утверждения упираются в утверждение "нужной мутации долго ждать".
По-моему, вы ошибаетесь :))
ВИЧ же мутирует почти рандомно и, хотя около 80% его вирионов генетически так или иначе дефективны, вплоть до полной неспособности к заражению отдельной копии вируса, он является неизлечимым и смертельным вирусом.
По моему мнению, правильная тактика вируса компьютерного - размножаться преимущественно в оперативной памяти и лишь изредка (после тихого уничтожения всех механизмов защиты атакованной машины) записываться в файлы на диск.
Более того, жизненный путь такого вируса в системе должен быть сходен с путями ВИЧ в природе.
1-я стадия - мы проникли в какой-то процесс, разведываем обстановку, продумываем тактику.
2-я стадия - РЕЗКО увеличиваем свою численность в памяти, съедая всю доступную память. В отсутствие ресурсов у антивирусов уничтожаем их процессы. Стадия длится очень малый промежуток времени, достаточный лишь для убийства защит.
3-я стадия - уменьшаем свою численность. Разведываем сетевые соединения, заражаем соседей и файлы.
4-я стадия - после того, как всех и все засрали, можем продолжить веселуху, подключив кучу "левых" троянчиков.
Далее.
Следуя попутно природе, можно выяснить и требуемый размер вируса.
Пусть 1 байт компьютера соответствует 1 нуклеотиду
А 1 машинная инструкция 1 аминокислоте.
Тогда для 1 инструкции вирусу ВИЧ (и всему живому) надо точно 3 байта.
Для компьютера на базе i86 - по разному, но в среднем около 5 байт (учитывая наличие некодирующих структур вроде программного заголовка и пр.).
По такой классификации, вирус ВИЧ содержит в себе примерно 10 кБайт инфы.
А значит, около 3500 "инструкций".
Размер компьютерного аналога должен быть 3500 байт*5=~17 кБайт (со всеми заголовками, общий размер, верхний предел размера).
Написан он должен быть на ASMе, в силу вышеуказанных причин.
Дальше - по мутациям.
В вирусе ВИЧ делается за 1 цикл размножения от 1 до 10 мутаций разных видов (вставка, удаление, изменение "байтов").
Сделав поправку на размер (в 1,7 раза) и на вырожденность природного генокода (на 26-27 значащих вариантов приходится 64 возможных) количество "мутаций" должно быть в 64/27=2,37 раз меньше
Итого, верхний предел кол-ва мутаций должен быть: 10*1,7/2,37= 7-8 изменений на весь "код".
Учитывая, что не все места (заголовки и пустоты "выравнивания" - нельзя) можно трогать, общее кол-во мутаций должно быть от 0 до 7 на весь код ("мутации" разных типов).
При этом не забывая пользоваться полиморфизмом.

Re: Самосовершенствующиеся программы

Добавлено: Ср авг 03, 2016 08:59:15
BOB51
Пока прожка творит прожку - или "подставной" или замещающе-эмулирующий код все равно все действия проводятся на базовом ядре какой-то основной системы.
Другой вопрос - ежли прожка (душа) будет в состоянии модифицировать ядро системы (тело) по собственному усмотрению.
Хотя-бы на уровне перестроения клетки (ядра системы) на уровне имеющихся атомов/молекул с последующей пересадкой самомодифицированной "души" (нового вида программного кода основанного на самосозданной системе команд) в измененное тело (аппаратный модуль).
И то... как "ближайшее подобие вируся-натуралуся" возможно сгодится...
Элементная база сейчас уже доступна - ежли ядро на основе ПЛИС/ПЛМ имеется, а прожка может самостоятельно изменять структуру ядра на уровне перекомпоновки простейших ячеек (атомов в молекуле) и перераспределения межсоединений между различными БИС, входящими в комплект аппаратной части системы (молекулами/тканями) данного устройства.
КАРРР!!!
:facepalm:

Re: Самосовершенствующиеся программы

Добавлено: Ср авг 03, 2016 10:42:54
berdicheA
BOB51 писал(а):Другой вопрос - ежли прожка (душа) будет в состоянии модифицировать ядро системы (тело) по собственному усмотрению.
Хотя-бы на уровне перестроения клетки (ядра системы) на уровне имеющихся атомов/молекул с последующей пересадкой самомодифицированной "души" (нового вида программного кода основанного на самосозданной системе команд) в измененное тело (аппаратный модуль).
Я, может быть, вас не так понял.
Но зачем модифицировать, к примеру, структуру процессора?
Ведь все живое (и природные вирусы) имеет универсальный генетический код.
Это значит, что ген, например, бактерии одинаково прочитается и в любой бактерии, любом растении, животном, грибе и т.д.
Т.е. меняются сами гены, но их СПОСОБ ЧТЕНИЯ остается неизменным.
Так что, не вижу смысла модифицировать, помимо "проги", еще и "ядро".

Re: Самосовершенствующиеся программы

Добавлено: Ср авг 03, 2016 11:19:44
rus084
с двоичным кодом это не сработает , получится слишком сложно .
вот нейросети - другое дело , только нужно определиться с критерием "выживаемости" .
например нейрон может вывести символ в поток вывода , зажечь светодиод , либо выполнить другое действие .

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

Re: Самосовершенствующиеся программы

Добавлено: Ср авг 03, 2016 11:28:10
berdicheA
rus084 писал(а):с двоичным кодом это не сработает , получится слишком сложно .
(я скажу за вирусы).
Почему же?
Вот все живое обходится 4-ичным генетическим кодом и ничего, самосовершенствуется :))
Почему бы вирусу не самосовершенствоваться в двоичной?

Re: Самосовершенствующиеся программы

Добавлено: Ср авг 03, 2016 11:40:44
rus084
если в программном коде что-либо изменить , алгоритм может коордиинально поменяться , а в большинстве случаев не будет работать .
нейросеть будет работать даже с повреждениями

Re: Самосовершенствующиеся программы

Добавлено: Ср авг 03, 2016 11:50:16
BOB51
Не всегда двоичный привязанный к конкретной системе команд, обусловленный физической аппаратной структурой ядра код является оптимальным для какого-либо алгоритма.
В случае с имитацией одной системы команд на иной аппаратной базе мы имеем дело с симуляцией одной системы команд посредством имеющихся в устройстве аппаратно-зависимых программных средств.
Изменить аппаратную структуру ядра, заданную при изготовлении невозможно (в типовых МК и/или МП).
Однако самосовершенствующейся прожке понадобится и соответственно измененное "мясцо" для приемлемого жизнеобеспечения (иначе в той прожке толку нету - она ж не для виртуально-незримого существования себя усовершенствует).
Вот так живовирусы и действуют - причепився, влез в чужую физоболочку и начал ее перестраивать под свое будущее.
В результате "железо" - физическая часть пораженной животины уже совсем иная и вдобавок управляется новым алгоритмом модифицированной ДНК вируся (изначальная задачка которой была в перестройке физического уровня для благополучного размещения нового управляющего кода). Как результат то уже не овечка исходная получилась в вредоносный вольк-хычник с новыми зубьями и непрмерно-агрессивными повадками. И не только "виртуально - витающими"(на уровне картинки/звука/распечатки), а абсолютно материально - прикладными(изменение аппаратной структуры подвергшегося мутации объекта)...
8)

Re: Самосовершенствующиеся программы

Добавлено: Ср авг 03, 2016 11:57:42
berdicheA
rus084 писал(а):если в программном коде что-либо изменить , алгоритм может коордиинально поменяться , а в большинстве случаев не будет работать .
Совершенно верно, в большинстве случаев.
Но это работает в природе и убивает людей!
(иначе в той прожке толку нету - она ж не для виртуально-незримого существования себя усовершенствует)
У вируса (любого, даже компьютера) толк есть - он ВЫНУЖДЕН мутировать, иначе перестанет существовать :))
Тут по такому принципу - раз ВЫЖИЛ, значит ИЗМЕНИЛСЯ ПРАВИЛЬНО!
Вот так живовирусы и действуют - причепився, влез в чужую физоболочку и начал ее перестраивать под свое будущее.
Не совсем так объясняет нынешняя наука.
Безусловно, он переделывает клетку под себя, за счет встраивания своего кода (и компьютерные вирусы делают так же 100%).
Но он не меняет способ чтения генетических последовательностей, он всего лишь подменяет исходную последовательность своей.

Re: Самосовершенствующиеся программы

Добавлено: Чт авг 04, 2016 20:08:17
Ariadna-on-Line
Тема давно витает, но не понятно как подступиться.
Тогда вопрос дилетанта. Пробовал ли кто создать программу для процессора, (а лучше микро-пр-ра ), которая сама в себе создает подпрограммы (пусть пустые с парой NOP-ов и Return-ом) и ссылками на них в своем теле (пусть не по делу). И чтобы при холодном перезапуске процессора они уже там были, и процесс продолжался. Это примерно как мозг - он ведь все время усложняется. По-видимому бОльшая часть содержимого должна располагаться в флеш-памяти.

Re: Самосовершенствующиеся программы

Добавлено: Чт авг 04, 2016 20:17:14
berdicheA
Да примерно так и работают многие программы ИИ (только там меняются не подпрограммы, а изменяется "ассоциативный" словарь).
Тут вопрос несколько про другое - компьютерная эволюция, сходная с биологической.
А кому в компьютере есть смысл "рандомно" эволюционировать?
Только вирусам. :))
Разработка идет. :solder:
Принимаются все идеи (ваши я также учитываю).