Информация об изменениях

Сообщение Программы, которые увеличивают полезную сложность от 26.01.2019 1:22

Изменено 26.01.2019 2:09 Shmj

Программы, которые увеличивают полезную сложность
Такой вопрос к знающим.

Существуют ли программы, которые умеют повышать полезную сложность и не упираются в некий лимит (окромя лимита ресурсов, т.е. не хватает уже памяти или диска)?

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

Понятно что точное значение минимального набора команд установить вряд ли получится — всегда есть место оптимизации, скажем так (и не всегда очевидно как ее провести, некоторые решения вырабатываются эвристически). Однако когда разница в сложности состаляет порядки (т.е. для одного функционала нужно 10 команд а для другого 100 или 1000) — то повышение сложности становится очевидным, пусть и не выразимым в точных цифрах.

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

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

К примеру, в игре Жизнь, таким алгоритмом является проверка клетки на количество соседей — если 2-3 — то выживает (если у пустой 3 — то зарождается жизнь). Этот алгоритм предопределяет возникновение причудливых пульсирующих узоров, но не предопределяет создание вычислительных систем, т.к. они не дают преимущества для выживания согласно данному алгоритму развития (хотя в игре Жизнь и можно написать вычислительную машину — алгоритм не способствует ее возникновению).

Решена ли данная задача? Можно ли однозначно утверждать, что повышение сложности без лимита возможно?

Чего хотелось бы:

1. Чтобы среда не была проще, чем возникающие в ней сущности. К примеру, если среда состоит из 10 тыс. команд а в ней возникают максимальные сущности из 23 команд — это не доказательство повышения сложности. Если же наоборот — среда из 23 команд а сущности имеют 10 тыс. команд — то ОК.

2. Желательно исключить экспоненциальные рост времени на проверку/отбор. Т.е. если сущность из 10 команд (из 10 возможных) возникает в 10 раз медленнее чем сущность из 9 полезных команд — менее интересно (однако, и такой вариант — можно рассмотреть).

Кто что об этом знает?
Программы, которые увеличивают полезную сложность
Такой вопрос к знающим.

Существуют ли программы, которые умеют повышать полезную сложность и не упираются в некий лимит (окромя лимита ресурсов, т.е. не хватает уже памяти или диска)?

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

Понятно что точное значение минимального набора команд установить вряд ли получится — всегда есть место оптимизации, скажем так (и не всегда очевидно как ее провести, некоторые решения вырабатываются эвристически). Однако когда разница в сложности состаляет порядки (т.е. для одного функционала нужно 10 команд а для другого 100 или 1000) — то повышение сложности становится очевидным, пусть и не выразимым в точных цифрах.

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

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

К примеру, в игре Жизнь, таким алгоритмом является проверка клетки на количество соседей — если 2-3 — то выживает (если у пустой 3 — то зарождается жизнь). Этот алгоритм предопределяет возникновение причудливых пульсирующих узоров, но не предопределяет создание вычислительных систем, т.к. они не дают преимущества для выживания согласно данному алгоритму развития (хотя в игре Жизнь и можно написать вычислительную машину — алгоритм не способствует ее возникновению).

Решена ли данная задача? Можно ли однозначно утверждать, что повышение сложности без лимита возможно?

Чего хотелось бы:

1. Чтобы среда была проще, чем возникающие в ней сущности. К примеру, если среда состоит из 10 тыс. команд а в ней возникают максимальные сущности из 23 команд — это не доказательство повышения сложности. Если же наоборот — среда из 23 команд а сущности имеют 10 тыс. команд — то ОК.

2. Желательно исключить экспоненциальные рост времени на проверку/отбор. Т.е. если сущность из 10 команд (из 10 возможных) возникает в 10 раз медленнее чем сущность из 9 полезных команд — менее интересно (однако, и такой вариант — можно рассмотреть).

Кто что об этом знает?