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

Сообщение Re[8]: Программы, которые увеличивают полезную сложность от 28.01.2019 16:01

Изменено 28.01.2019 16:06 Shmj

Re[8]: Программы, которые увеличивают полезную сложность
Здравствуйте, kov_serg, Вы писали:

_>Имено вы строите модель и уже потом пытаетесь моделировать, что-то что вас интересует. Например вы хотите получить полезную информацию: сколько еще проживёт солнце. Как вы это опишите алгоритмически?


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

Для моделирования полного моделирования времени жизни солнца — нужно смоделировать элементарные частицы и квантовые эффекты, на которых основана термоядерная реакция. Можно на более высоком уровне абстракции. Мне это мало интересно.

_>>>>>Для решения задачи не обязателен код, нужен решатель.

S>>И? Что хотел сказать?
_>То что для решения задач не обязательно использовать код или последовательность операций. Можно использовать физические процессы.
_>Например задача переместить вас на 100км от текщего местоположения, не решается командами x86.

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

_>>>Классика же f(z)=c+z*z

S>>А где же тут увеличение полезной вычислительной сложности? Требуется, грубо говоря, чтобы программа на выходе выдавала алгоритм, который решает некую специфическую задачу.
_>Пример задачи приведите. Тут простой алгоритм отображения начальной точки в конечную z0--(solver)-->zn, полезность в наглядности возрастания сложности отображения.

Нужно что-то типа борьбы за некий ресурс, чтобы получались программы разной сложности и конкурировали между собой. И ресурс доставался тем программам, алгоритм которых более сложный (в полезном смысле, а не просто размером).

Вот если речь о шахматах — то подходит. Но, насколько мне известно, там нет постоянного увеличения сложности — есть некий лимит, после которого увеличение размера нейросети ничего не дает.

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

_>Алгоритм на каждом шаге имеет оду и туже сложность, а сложность преобразование возрастает.


Тут стоит сделать уточнение. Можно записать получение числа Пи по формуле:



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

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

_>Для образования сложных структур сознание нафиг не упало. Посмотрите обычные на снежинки.

_>Image: where15-1.jpg

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

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

_>Решение чего? Алгоритмически решение можно получить только в рамках ограниченной модели.

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

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


Выше написал пример задачи.

_>Это обычное насыщение. Для увеличения "полезности" нейросети важно не мощность(количество) нейронов, а их топология.


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

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

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


Вот что-токое и хотелось бы увидеть. Если это вообще возможно.

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

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


Выжить — это не задача. Это все равно что сказать — победить. Такая задача не конкретна, т.к. не говорит что именно нужно делать. То есть нет такого алгоритма "выжить".

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

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

_>И еще у живых организмов мозг очень энергозатратное устройство, и простое увеличение его мощности (кол-ва нейронов) ведёт к немедленной гибели популяции из-за невозможности прокормить эту подсистему. Поэтому усложнение у них идёт иными путями нежели простое наращивание вычислительных блоков.


Вот это и нужно воссоздать.
Re[8]: Программы, которые увеличивают полезную сложность
Здравствуйте, kov_serg, Вы писали:

_>Имено вы строите модель и уже потом пытаетесь моделировать, что-то что вас интересует. Например вы хотите получить полезную информацию: сколько еще проживёт солнце. Как вы это опишите алгоритмически?


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

Для моделирования полного моделирования времени жизни солнца — нужно смоделировать элементарные частицы и квантовые эффекты, на которых основана термоядерная реакция. Можно на более высоком уровне абстракции. Мне это мало интересно.

_>>>>>Для решения задачи не обязателен код, нужен решатель.

S>>И? Что хотел сказать?
_>То что для решения задач не обязательно использовать код или последовательность операций. Можно использовать физические процессы.
_>Например задача переместить вас на 100км от текщего местоположения, не решается командами x86.

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

_>>>Классика же f(z)=c+z*z

S>>А где же тут увеличение полезной вычислительной сложности? Требуется, грубо говоря, чтобы программа на выходе выдавала алгоритм, который решает некую специфическую задачу.
_>Пример задачи приведите. Тут простой алгоритм отображения начальной точки в конечную z0--(solver)-->zn, полезность в наглядности возрастания сложности отображения.

Нужно что-то типа борьбы за некий ресурс, чтобы получались программы разной сложности и конкурировали между собой. И ресурс доставался тем программам, алгоритм которых более сложный (в полезном смысле, а не просто размером).

Вот если речь о шахматах — то подходит. Но, насколько мне известно, там нет постоянного увеличения сложности — есть некий лимит, после которого увеличение размера нейросети ничего не дает.

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

_>Алгоритм на каждом шаге имеет оду и туже сложность, а сложность преобразование возрастает.


Тут стоит сделать уточнение. Можно записать получение числа Пи по формуле:



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

Алгоритмически мы не сможем оценить что сложнее а что проще (невычислимость доказана). Нужно оценивать только сознательно. Иногда это сложно сделать а иногда не очень — т.е. если удалось записать то же самое короче — то усложнения не произошло.

_>Для образования сложных структур сознание нафиг не упало. Посмотрите обычные на снежинки.

_>Image: where15-1.jpg

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

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

_>Решение чего? Алгоритмически решение можно получить только в рамках ограниченной модели.

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

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


Выше написал пример задачи.

_>Это обычное насыщение. Для увеличения "полезности" нейросети важно не мощность(количество) нейронов, а их топология.


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

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

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


Вот что-токое и хотелось бы увидеть. Если это вообще возможно.

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

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


Выжить — это не задача. Это все равно что сказать — победить. Такая задача не конкретна, т.к. не говорит что именно нужно делать. То есть нет такого алгоритма "выжить".

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

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

_>И еще у живых организмов мозг очень энергозатратное устройство, и простое увеличение его мощности (кол-ва нейронов) ведёт к немедленной гибели популяции из-за невозможности прокормить эту подсистему. Поэтому усложнение у них идёт иными путями нежели простое наращивание вычислительных блоков.


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