Re[9]: Программы, которые увеличивают полезную сложность
От: kov_serg Россия  
Дата: 28.01.19 20:44
Оценка: 102 (1) :)
Здравствуйте, Shmj, Вы писали:

S>Мы о вычислительных задачах. Понятно что есть вычислительные процессы а есть не связанные с вычислениями.

Что является полезным в вычислительной задаче? Для чего увеличивать сложность вычислительной задачи если она уже решает поставленную проблему?
Для уменьшение потребляемых ресурсов для решения? Для увеличения точности?

S>Т.е. создается некая простая программа, которая применяет хитрые методы для отбивания ресурса у других программ. Потом другие программы начинают становиться еще более совершенными и придумывают как ее победить.

Нет. Необходимо создать положительную обратную связь для роста сложности.

S>используя цикл. А можно без цикла — написать 500 Гб кода — для каждого k будет свое выражение. Писанины как бы больше, но повысится ли при этом сложность?

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

S>Алгоритмически мы не сможем оценить что сложнее а что проще (пока нет алгоритма).

Зато если алгоритм работает и выдаёт результат, мы всегда можем оценить необходимое для его работы количество ресурсов.
S>Нужно оценивать только сознательно. Иногда это сложно сделать а иногда не очень — т.е. если удалось записать то же самое короче — то усложнения не произошло.

S>Форма снежинок обусловленна правилами, которые заданы в элементарных частицах. А вот образование цепочки ДНК — там не определено, т.к. в ракурсе правил элементарных часитиц — любая комбинация равновероятна (АЦТГ можно комбинировать в любой последовательности).


S>Модель выживания, скажем так. Применить для выживания неких сущностей таким образом, чтобы их вычислительная сложность повышалась. В той же игре жизнь — вычислительная сложность не повышается.

Причем тут вычислительная сложность, если вас интересует полезность. Если эта полезность позволяет приумножить количество экземпляров. То эти экземпляры будет проще встретить.
https://www.youtube.com/watch?v=C2vgICfQawE&t=70
Выделяются строительные блоки и из них строятся примитивы, на следующей итерации из этих примитивов строятся более сложные примитивы и так далее.
Если посмотрите на живый организмы то они тоже построены комбинаций разных подсистем выполняющий какие-то функции. Сами эти примитивы накипливались, отбиралисьи, приспосабливались и объединялись не сразу.
https://www.youtube.com/watch?v=xP5-iIeKXE8

_>>Если вы оперируете полезностью. Определите скалярный функционал полезности и ищие его максимум.

S>Выше написал пример задачи.
Из неё не понятно в чем полезночть числа pi в вашей задаче.

S>Ок, а можно сделать так, чтобы топология сама усложнялась? Или это нужно делать сознательно?

Можно. Делать надо целенаправленно.

_>>Вам надо на каждом этапе эволюции усложнять условия выживания что бы получить что-то новое. А если получающиеся при этом подсистемы сами усложняют себе жизнь это просто превосходный способ наращивания сложности. Эта положительная связь или убъёт всех или вы получите что-то очень неожиданное.

S>Вот что-токое и хотелось бы увидеть. Если это вообще возможно.
Пробуйте, что вам мешает это делать.

S>При этом задачи повторить биологические процессы — нет. Главное условие — чтобы усложнялось.

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

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

S>Выжить — это не задача. Это все равно что сказать — победить. Такая задача не конкретна, т.к. не говорит что именно нужно делать. То есть нет такого алгоритма "выжить".
Да выжить это не задача это цель причем выжить (при этом отдельная особь долго не живёт). Вероятность найти тех кто не выжил очень не велика

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

Вы не поняли, правила выживания должны сами усложнятся с усложнением тех кто выживает. Тогда те кто находит (обычно случайно) лучший способ поведения в такой среде получает приимущества.

S>Так в том и вопрос — какие правила задать, чтобы "выживали" те, у кого сложность выше.

Всё зависит от вас. Какие зададите. Но если хотите усложнения то должна быть положительная связь с интересующим вас параметром сложности или полезности.

S>Вот это и нужно воссоздать.

Дерзайте.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.