Pull to refresh

Comments 393

Самый сложный вопрос который меня беспокоит в этой теме:
Что есть жизнь?
Для тех кто молча минусует поясню смысл вопроса.
Возможно для вас вопрос «что такое жизнь?» очевиден. И тогда вы должны знать, что в биологии существует царство бесклеточных Acytota, куда кроме вирусов входят вирусоиды, вироиды, прионы и сателлитные РНК. То есть с позиции современной науки для жизни нет необходимости в клетке, достаточно небольших молекул.
Можно абстрагироваться дальше и предположить, что сложность сравнимая с биологической может быть достигнута и в плазменных структурах. Тогда мы переходим из разряда молекулярных шовинистов и шовинисты ионные.
А возможно для жизни вообще необязательна барионная материя, может быть достаточно информационной среды. И что жизнь определяется только вычислительной сложностью. Тогда проект Михаила можно рассматривать как жизнь без приставки «искусственная».
Если для вас эта тема очевидна, то обозначьте свою позицию. Давайте подискутируем.
Является ли тогда выключение программы массовым убийством?
Видимо да, остается надеяться что они не успевают этого осознать))
В чем отличие вариантов «успели» и «не осознали»?
Продлим, в чем отличие вариантов «выключивший узнал об успевании» и «не узнал»?
При ответе можно вспомнить о приведенном выше упоминании вирусов.

Смерть бота определена в терминах его мира. Нет мира — нет терминов, нет и смерти

эм… а если в программе предусмотреть сохранение и последующую загрузку? :)
Еретик! Раньше таких на кострах сжигали
ну а что? типа ночь. всем спать :)
Засыпают боты, просыпается мафия?
Ага и еще ввести бэкап любого состояния и вы уже повелитель времени;)
А еще запустить одни и те же состояния параллельно, и вот у нас уже мультивселенная.
Тогда это, в некотором смысле, то, что мы знаем под словом — реинкарнация :) бот возрождается (правда это не перерожднение, а все-таки возрождение) и продолжает процесс свеого развития.
ну… я бы не сказал… анабиоз? также без развития в процессе, а после продолжение с места остановки
Отличная идея для реализации — дать боту возможность раз в N минут или перед принятием опасного решения сохраняться с возможностью восстановления после смерти.
Плюс добавить модификатор интереса, при падении которого бот бросает игру.
Плюс добавить бота-админа, который кикает или штрафует злоупотребляющих сохранениями.
Плюс добавить бота-зрителя, который подписывается на трансляцию наиболее удачливых ботов-игроков и ставит лайки, привлекающие других зрителей.
Но ведь после загрузки это будут уже другие боты
Ими будут управлять другие электроны.(Сарказм)
Это просто старый спор, наше сознание это процесс или состояние. Если процесс то любое его прерывание уничтожает непрерывность, а как следствие сознание оригинала погибает в момент прерывания. Если же состояние, то можем скопировать и все копии будут идентичны.
Скорее, это старый спор про «тот же» или «такой же».
Тут ещё вопрос, что значит «идентичны». Интуитивно кажется, что скопированное состояние не даст идентичности сознания.
я думаю что именно сознание (та работа которая проиходет в головной коре) — это процес
а то что происходит а белом веществе (рефлексы) — это состояние (т.е. структура)
если бы сознание зависило просто от структуры нейронов, то люди бы не превращались в овощи после комы или неудачного общего наркоза
а так получается что неокортекс убит, а рефлексы коекак могут работать
неокортекс убит,

следовательно, структура уничтожена.
думаете химия за несколько часов может уничтожить структуру головной коры?
Я думаю, что «убит» и «уничтожена структура» — синонимы. Если структура не уничтожена — то и функции будут выполняться.
а если на секунду оставить свою предвзятость и все таки ответить прямо на вопрос
может ли (по вашему мнению) измененная химия мозга за несколько часов изменить его физическую структуру?
Может. Более того, может за считанные минуты.
Мы же говорим о структуре синапсов. Это микроуровень.

Да и причём здесь предвзятость? Если мозг утратил часть функций, то как Вы можете утверждать, что его структура не повреждена?
я могу только предположыть
об этом QWhisper и писал когда начинал ветвь
работа коры кроме структуры может зависеть от факта расположения зарядов на нейронах (ниже даже расматривали такую схему на нейронных сетях, где топология заменяется весовыми кооф.)
так вот если «разрядить» (перераспределить заряды) в такой системе — то она утратит свою изначальную функцию
частично такой ефект может наблюдатся при какомто опяненнии наркотиков, тогда избыток нейромедиаторов «коротит» отдельные нейроны, и после лсд (как пишут) — возможны долговременные флешбеки
Вы не включаете весовые коэффициенты в понятие «структуры»? Почему?

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

заряды есть, решение не может быть чисто химическим, оно длжно быть електрохимическим, иначе нейрон не будет нести никакой информации (в том смысле что не даст никакой реакции )
я говорю только о кореголовного мозга
В электрохимии электричество вторично по отношению к химии.
от количества рецепторов в синапсах сильно зависит, а это количество и расположение и активность постоянно меняются
Не совсем, выше правильно написали, такой же, или тот же. Суть спора заключается в том, что если вас завтра скопировать, ночью убить оригинал, утром ваша точная копия откроет глаза, то это будет такая же личность, но не тот же человек. То есть для вас как оригинала, жизнь закончится черным экраном и ни какого продолжения не будет.
Если же вы приверженец теории, что то что выглядит как утка, крякает как утка то это утка. То есть важна память, поступки, эмоции, действия и т.д. То вы с копией один и тот же человек, и можно забить на такие понятия как душа и пр. Если же вы с теорией не согласны, то тут уже можно спорить о парадоксе Тесея, и о том когда и в какой момент исчезнет ваша «душа».
То есть для вас как оригинала, жизнь закончится черным экраном и ни какого продолжения не будет.

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

Холодильник понижает свою энтропию:)


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

) холодильник это не замкнутая система, он подключен к электросети, и так далее если разматывать окажется что эта система включает в себя людей.
Живые организмы берут энергию откуда? Если холодильник будет питаться от солнечных батарей это что-то изменит?
Ну да, одной энтропии видимо недостаточно, нужно ещё самоподдержание своих функций, некая саморемонтируемость, динамическая устойчивость к воздействиям определённого уровня.
Думаю это все тоже не принципиально. На мой взгляд, холодильнику для жизни не хватает только возможности самовоспроизводства с небольшими ошибками.
Так и живой организм ни в коем случае не замкнутая система. Он потребляет энергию извне на уменьшение энтропии внутри/вокруг себя.
Не совсем так.
Потребляется энергия не на уменьшение, а на поддержание постоянного уровня энтропии. Своеобразная константа получается. Рост в данном случае можно исключить для простоты [при этом замедление роста — это опять нарушение].
При этом, каким-то непостижимым образом, эта константа меняется скачкообразно во время размножения, например.
При этом, некоторое живое может менять свою константу энтропии, когда переходит из незамкнутого состояния в замкнутое, и наоборот.

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

Жизнь — это одно из понятий, которые отлично распознаются и определяются в больших масштабах, но на некотором уровне выявляется серая область. которая из-за старика Гёделя не даёт определить всё на свете.

Бедный Гёдель, всё спокойно старику полежать не дадут.

Вы полагаете он все-таки вертится?
А-то… после того, что натворил.
А почему вы решили, что холодильник это не жизнь? Это такая же жизнь, как ваша нога, только пока мы можем делать холодильники и не можем ноги.

Холодильник понижает энтропию некоторого объёма внутри себя. С повышением своей энтропии (уплотнитель потрескался, лампочка перегорела, компрессор барахлит) он сделать ничего не в состоянии.

Так и собака ничего не может сделать с тем, что у неё сердце остановилось.
Я уж не говорю о клеточном апоптозе.

Холодильник понижает энтропию и именно поэтому в нем зарождается жизнь)
На данный момент трудно найти ученого, который придерживался бы такого мнения, что вирусы не относятся к живым существам. Это и понятно, ведь у вирусов есть геном, они пользуются генетическим кодом, они мутируют, они подвержены естественному отбору, они вступают в тесный симбиоз и с бактериями, и с растениями и с животными, и т.д. и т.п.

Единственное, что можно попробовать притянуть к мнению о том, что они не являются живыми — это их неспособность к самостоятельному размножению. Но с другой стороны, а кто вообще в живой природе способен к чему-то «самостоятельному»? Да никто. Ничего самостоятельного в живой природе вообще не существует. Всё живое находится в теснейшем союзе. Если нас лишить всех 50 триллионов обитающих в/на наших телах бактерий, то мы не только плодиться «самостоятельно» не сможем, мы и нескольких дней не проживем. Так что вирусы попросту входят в это сообщество всего живого, являясь полноправными, и более того — совершенно необходимыми творцами жизни. Напомним, что в теле всякого животного помимо бактерий живут еще и триллионы вирусов, многие из которых попросту необходимы для нашей жизни.
Цитат с сайта рентв?
Вот что говорит википедия:
Согласно одному из определений вирусы представляют собой форму жизни, согласно другому вирусы являются комплексами органических молекул, взаимодействующими с живыми организмами. Вирусы характеризуют как «организмы на границе живого»[19]. Вирусы похожи на живые организмы в том, что они имеют свой набор генов и эволюционируют путём естественного отбора[61], а также в том, что способны размножаться, создавая собственные копии путём самосборки. Вирусы имеют генетический материал, однако лишены клеточного строения, а именно эту черту обычно рассматривают как фундаментальное свойство живой материи.
Что-то здесь не так: вирусы не способны к самосборке, и можно с некоторыми оговорками сказать, что это утверждение верно, что бы ни подразумевалось под самосборкой
Оно способны на это в подходящей среде — в порабощённой клетке.
1. Самосборка — это несколько не то
2. Воспроизводят они себя не самостоятельно, что подразумевает приставка само-, а с помощью механизмов клетки
Есть анекдот:
Напиши на обеих сторонах листа «смотри на обороте», дай лист блондинке и займёшь её навсегда.
Ну так вот, какую бы кто казуистику ни придумал, но это не листок будет «самопереворачиваться» «в подходящих условиях» (в руках блондинки), а блондинка будет его переворачивать.
Прошу прощения у всех блондинок!
тут листок-то не простой — письмена на нём программируют мозг «блондинки» переворачивать его
Именно это я и назвал казуистикой: знак «стоп» нажимает на тормоз, двойная сплошная — силовое поле, вирус самореплицируется.
Вирус это инструкция, как собрать много таких же вирусов, но собирает их клетка
так я с этим и не спорю, речь о том, что вирус захвативший клетку это уже форма жизни, а вирус без клетки — нет.
Или вот:
Жизнь — основное понятие биологии — активная форма существования материи, в некотором смысле высшая по сравнению с её физической и химической формами существования[1][2][3]; совокупность физических и химических процессов, протекающих в клетке, позволяющих осуществлять обмен веществ и её деление (вне клетки жизнь не существует, вирусы проявляют свойства живой материи только после переноса генетического материала в клетку).
А вы надо полагать с канала Спас?
Любите Википедию, так любите хотя-бы англоязычную. До православной научные статьи лет через 50 доходят

Non-cellular life is life that exists without a cellular structure for at least part of its life cycle.[1] Historically, most (descriptive) definitions of life postulated that a living organism must be composed of one or more cells,[2] but this is no longer considered necessary, and modern criteria allow for forms of life based on other structural arrangements.[3][4][5][3]

The primary candidates for non-cellular life are viruses. A minority of biologists consider viruses to be living organisms, but most do not. Their primary objection is that no known viruses are capable of autopoiesis, which means they cannot reproduce themselves: they must rely on cells to copy them.[1][6][7][8][9] However, the recent discovery of giant viruses that possess genes for part of the required translation machinery has raised the prospect that they may have had extinct ancestors that could evolve and replicate independently. Most biologists agree that such an ancestor would be a bona fide non-cellular lifeform, but its existence and characteristics are still uncertain.[1][10][11][12][13]
Прямо из вашей цитаты:
A minority of biologists consider viruses to be living organisms, but most do not. Their primary objection is that no known viruses are capable of autopoiesis, which means they cannot reproduce themselves: they must rely on cells to copy them.

надеюсь с переводом справитесь
Так и знал что уцепитесь))

Специально для Вас выделю то, что Вам нужно прочитать:
Historically, most (descriptive) definitions of life postulated that a living organism must be composed of one or more cells,[2] but this is no longer considered necessary, and modern criteria allow for forms of life based on other structural arrangements.

Найдете словарь перевести слова выделенные жирным?
Так что это за такие современные критерии, что они не убеждают большинство биологов?
Это же вопрос не знания, а определения, тут должно быть согласие и согласие в том, что вирус это не жизнь, жизнью он становится когда обзаводиться клеткой и начинает жить, а до этого это просто сложная молекула.
Дело в том что википедия вообще не является отражением современной научной реальности, особенно в узкоспециализированных областях. Гуглите царство Acytota, много интересного узнаете, обновите ваши старообрядные взгляды.

Вот эти все неклеточные формы жизни, они могут существовать без клеток?

Да (РНК отлично размножается в определенных растворах).
А вот клетки без них может и могут но плохо и недолго.
А семена могут существовать без земли?
А где узреть эту современную научную реальность?
Вы предлагали подискутировать, а теперь отправляете гуглить даже без пояснения своей мысли.
Ну как где? Читать научные статьи, смотреть научные видео. Желательно проверять год выхода перед прочтением/просмотром, чтобы не усваивать заведомо устаревшие сведения.
Когда Левенгук выступал с докладами о своих инфузориях, научное сообщество того времени свистело ему и обвиняло в шарлатанстве. Но потом бактерии признали жизнью.
Недавно жизнью признали РНК и еще некоторые полимеры.
Я не могу знать что признают следующим, но я вижу постоянное расширение границ как в биологии, так и в физике, и в астрономии и т.п.
Надеюсь все свои мысли я пояснил. Желаю вам всего только самого лучшего в вашей научной одиссее.
Ну как где? Читать научные статьи, смотреть научные видео.

Дайте, пожалуйста, ссылок на эти статьи и видео.


Когда Левенгук выступал с докладами о своих инфузориях, научное сообщество того времени свистело ему и обвиняло в шарлатанстве.

Ссылочку бы на того, кто объявляет жизнью что-то, что остальные учёные не признают, а остальные учёные его освистывают.

Рискну порекомендовать подборку статей для интересующихся темой:
bodhi.name/ru/zh

Ну а дальше уже ищите более специализированные исследования по вопросам которые вас заинтересуют. Удачи!
У Левенгука была такая ужасная оптика, что он один мог в неё видеть хоть что-то. Причём половина — ему померещилась.
В то время? Ни у кого. Я поясняю, почему его наблюдениям не доверяли.

Кстати, у Галилея с телескопом была аналогичная проблема.
Зафиксированые под свой глаз линзы?
Нет, просто очень плохие. Нужен был большой опыт работы с прибором, которого не было ни у кого, кроме конструктора этого прибора. И всё равно половина виделась, а половина чудилась.
А что вы скажите про Прионы?
Как я понимаю, по устройству они более примитивны чем вирусы, а в остальном схожи с ними.

Тут нет смысла дискутировать. Жизнь — это первичное (неопределяемое) понятие в биологии, так как ни одного полного и непротиворечивого определения ее не существует. Как время, пространство, точка или прямая в других науках.

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

Поэтому тут скорее вопрос в другом, — как провести границу между жизнью и химической эволюцией? Если тут можно будет провести границу, то можно будет провести и границу между жизнью и эволюцией любых сложных систем, проведя аналогию.
Где-то было определение жизни как автокаталитической реакции. То есть то, что само поддерживает себя, то и жизнь)
Я не настоящий химик, но по-моему, горение не является автокатализом (или обычно не является). Похоже, я имел ввиду эту статью.
Автокаталитические реакции приводят к колебательным процессам. А в этой симуляции колебательные процессы возникают? По идее должны, так как есть боты поглощающие других ботов (условно «хищники»), есть боты поглощающие органику (условно «травоядные»), и есть боты фотосинтезирующие (условно «растения»). А это значит есть условия для реализации экологических моделей типа «Хищник — Жертва», «Травоядные — Трава», и подобных, с сопутствующими колебательными процессами, как одного из решений. Наблюдаются такие? Или там такого разделения ботов нет, и такие процессы не возникают?
Вообще в колебательных процессах самым впечатлительным, для меня, всегда был резонанс. Вроде бы все силы одинаковы, а вдруг входя в резонанс они отмачивают что-то очень выходящее из ряда остальных событий. Так что резонансные явления на фоне основных колебаний(если они и правда есть), думаю, будет интересно пронаблюдать.
Это потому, что вы рассматриваете силы, а необходимо рассматривать энергию
Если ускоренное видео посмотреть то наблюдаются иногда
Жизнь, как мне кажется, это то, что может меняться безгранично. Например, набор команд в данном проекте ограничен. Все «мутации» влияют только на порядок выполнения команд и их параметры, т.е. принципиально новая команда возникнуть не может, а значит боты не могут эволюционировать в этом направлении, как и в других, которые задуманы автором и будут оставаться неизменными. Сколько бы времени ни прошло, это будет всё тот же мир, в котором не появится ничего нового, пока не вмешается автор. А значит это не есть жизнь — жизни тут не более, чем в любой программе с некоторыми случайными параметрами.
У нас тут вроде как тоже всё в рамках обозначенных, но пока не доконца понятных алгоритмов.
Наши рамки если и обозначены, то на более низком уровне, чем в данной реализации. К примеру, автор реализует команду «фотосинтез», как неделимую данность, хотя в действительности это очень сложный процесс. Мне кажется, с целью осмысления «жизни» нужно использовать куда более простые «кирпичики». Если сразу начинать с таких сложных процессов, то получится интересный симулятор, не более.
вам уже ответили ниже)
Любой процессор определяет список команд и ничего нового выполнить не может.
Любой язык определяет список доступных команд и ничего нового на нем не напишешь, кроме того, что было заложено создателем языка. (нет)
Вы правы, но кол-во и разнообразие софта, однако ж, безгранично, или так только кажется.
«Вот пианино. Клавиатура начинается и заканчивается. Клавиш всего 88. Они не бесконечны. Ты бесконечен, и бесконечна та музыка, которую ты извлекаешь из клавиш.» (Легенда о пианисте)

Вообще, браться рассуждать о таких вещах — занятие рискованное, можно попасть в ловушку своих же рассуждений.
А зачем вы это написали тогда?
«т.е. принципиально новая команда возникнуть не может, а значит боты не могут эволюционировать в этом направлении, как и в других, которые задуманы автором и будут оставаться неизменными.»
И сейчас считаю, что возможность «возникновения» новых команд в рамках этой симуляции задача не из невозможных, несмотря на то что список команд процессора ограничен. От сделало бы мир более «живым». А вообще, мы тут дискутируем, а не высказываем окончательные умозаключения.
Так возникновение новых битов кроме 0 и 1 на компьютере невозможно.
Но программы то новые пишутся.

А вы пишете «будут оставаться неизменными». Это как?
1 и 0 — это элементраные кирпичики для компьютера, с их помощью можно создавать бесконечное множество комбинаций. В проекте же за «кирпичек» берется сложный процесс, уже выше об этом писал.
и что, из сложных процессов нельзя создать бесконечное множество комбинаций?
Отвечаю на ваш вопрос исключительно в контексте данной дискуссии. Если для вас комбинация «фотосинтез» + «поворот» представляется действительно новой командой, непохожей на предыдущие, тогда можно.
Автор же предлагает следующим шагов добавить регистры и пр. В принципе можно дойти до того что появятся новые команды из ничего, вопрос только в том что эволюция тут до чего-то интересного займет вечность
Как насчёт «безграничности» нашего мира? Да, в нём гораздо больше пространства для изменений, но о полной безграничности речи идти не может. В данном проекте реализована просто очень примитивная (по сравнению с нашим миром) модель, все аспекты которой той жизни доступны.

ИМХО, полная безграничность возможна только в полном же хаосе.
Неспобность разума постичь границы или охватить всё многообразие мира можно считать безграничностью для данного разума. По меньшей мере, пока он эти границы не постигнет, их нет. В любом случае я сторонник более мелких кирпичиков — это дает больше свободы в рандомизации не только последовательности команд, но и их структуры, т.е. появление «новой» команды, что создаст куда большую иллюзию свободы. А так — они слишком велики для комбинаций.
Есть же признаки живого и не живого. Чем больше признаков живого в рассматриваемом кандидате на живое — тем кандидат живее.

И да, ваш вопрос ваще некорректен по-определению.
Потому что вы задаете вопрос. ВОПРОС.
Вопросы способны задавать высшие формы жизни, т.е. конечные автоматы крайне высокого уровня развития. Те что пониже вопросов не задают. Но тогда появляется вопрос — а что такое конечный автомат крайне высокого уровня развития?))
Так вот я как раз и пытаюсь составить список всех возможных вариантов признаков живого и неживого. И поверьте он уже не мал)

А как влияет на корректность вопроса то, кто его задал?
Вопрос просто есть, и он сам на себя не ответит.
Ниже прочтите) Влияет логика теории типов и еще как влияет.
У вас она одна, у меня другая.
У муравья ее вообще нет.
Мы никогда не поймем и даже не договоримся о сути вопроса, потому что сам вопрос не имеет почти никакого значения. Более значимо тут как раз таки что подразумевается под вопросом реально)) Я это объяснить запросто смогу. А вы — нет.
Но тогда мы никак и никогда не договоримся даже о сути вопроса.

И т.к. вы не можете объяснить реальную суть вопроса — ваш вопрос вообще теряет всякий смысл.
Я же объяснил суть вопроса во втором комментарии. Или что не так?
Не так то, что мы сильно расходимся насчет того, что такое жизнь) Т.е. у вас есть абстракция «жизнь» и у меня есть абстракция «жизнь», НО ОНИ СИЛЬНО РАЗНЫЕ)
Отсюда следует, что я либо должен, например, отвечать вам на вопрос оносительно вашей абстракции, либо относительно моей абстракции.

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

Еще раз, у нас разные представления об абстракциях, а именно об абстракции «жизнь», но в таком случае, как мы можем об этом рассуждать, если мы рассуждаем о заведомо разных «вещах»?
Понял вас)
Так самое интересное сравнить как раз абстракции «жизнь» произвольных людей и посмотреть как они отличаются. Ведь кажется что все прекрасно понимают что это такое, а на деле получается что все понимают разное.
Вы совершенно точно уловили суть) Я рад. Без шуток.
Очень и очень у многих оное не получается) Рад безмерно.
Признаки живого и не живого ищите у биологов. Тут не нужно выдумывать. Есть специалисты на это. Они уже все разгребли и вменяемые абстракции на сей счет уже создали.
Если вспомнить выражения «жизненный цикл продукта» и «образ ожил в книгах», то единственным обязательным свойством жизни является воспроизводимость.
Причем самовоспроизводимость доступна только при делении клеток и почковании колоний, а люди и вирусы слишком сильно зависят от среды.
Еще раз. Я настаиваю на этом. Если про жизнь — к биологам. Они вам дадут исчерпывающий ответ.

Как пример критерия жизни — изменчивость. Если вы создаете точные копии — то это уже не жизнь. Или например закрепление изменчивости, ну или мутация. Это еще один критерий жизни. Жизнь без мутаций не может быть жизнью. И т.д.

И да, выше или ниже написано например про энтропию и то как она работает, а точнее работает с нарушениями законов термодинамики в живом. Это тоже критерий жизни.

И т.д.
Вот у меня как раз на сегодня 3 неопровержимых фактора отсеялось из кучи шелухи:
1. воспроизводимость
2. изменчивость
Все остальное спорно и не обязательно

Про нарушение законов термодинамики это ересь, потому что никакие законы термодинамики не нарушаются — система не является замкнутой
Способность перехода из незамкнутой системы в замкнутую и наоборот, причем по собственному усмотрению и является «нарушением закона». Не живое такими магическими способностями никак не обладает)) И да, то что я написал — оное подметить способны совсем единицы) И да, оформить это в виде формул крайне затруднительно.
То что вы пишете совершенно верно. Но суть вовсе не в этом же.
Но такая способность перехода туда-сюда возможна же только в одном случае)) Только если такая способность принудительно «запрограммирована». Магии тут нет никакой.
Всего навсего принудительно нарушаются законы термодинамики да и все тут) Ничего хитрого.
Все остальное спорно и не обязательно
а вот биологи будут против
Вы опять расходитесь в том, что такое жизнь. И в данном случае разойдетесь в абстракциях уже не со мной, а со всем биологическим сообществом. Что как бы настораживает.
Биологическому обществу я предлагаю рассмотреть такую цепочку.
Человек это жизнь? Безусловно да.
Человек с протезом ноги? Тоже.
Киборгизированный человек наподобии робокопа?
Человек сумевший перенести свою память и сознание на компьютерный носитель?
Датацентр, содержащий развернутые и работотающие сознания таких людей?
Юпитерианские мозги?

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

А сможет ли она отличить такую цивилизацию от цивилизации развившейся на базе «проекта Михаила»?
Эти вопросы из разряда, чем отличается «искусственное» от «не искусственного».
Это тоже крайне значимый вопрос. И вовсе не тривиальный.
И этот вопрос с жизнью связан очень тесно) И связан опять же целиком и полностью через теорию типов, ибо проще нее быть ничего не может.
А значит искусственные штуки так или иначе будут повторять теорию типов создателя.

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


PS
Человек с протезом и манекен с прикреплённой к нему отрезанной ногой человека — вполне себе разные вещи.
То есть например прилетев на чужую планету и обнаружив там гигантские залежи кремниевой (или нет) электроники

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

Вышеупомянутое пламя опять оказывается живым?
У него нет изменчивости, это один и тот же процесс окисления.
Воспроизводимости, кстати, тоже нет, есть только цикл положительной обратной связи, впрочем, и отрицательной тоже
В определении жизни в первую очередь важно ее самосохранение, с использованием для этого информации, энергии и вещества из окружающей среды. Это подходит для определения жизни в вашей симуляции. Если уточнить, что вещество — высокомолекулярные соединения, то биологической жизни вообще, включая гипотетическую в других мирах, если еще уточнить — углеродные высокомолекулярные соединения, то для земной формы жизни.
1. воспроизводимость
2. изменчивость
Все остальное спорно и не обязательно

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

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

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

Репликаторы и жизнь — концепции параллельные, но все же не тождественные.
Это вы описали мем. И да — мем относится к репликаторам. Признать его живым наверно мешает отсутствие физического носителя, хотя если такой носитель не является базовым свойством, то можно было бы.

Единственное, что я в своем определении забыл добавить (и на что особо внимания никто не обратил, как ни странно) это пункт 3. наличие памяти. Эта память может быть геномной (наследуемой) и нейронной, иммунной, меметической (приобретаемой). Так вот для живого наследуемая память обязательна. И она как раз должна быть изменчивой.
Да. Это из той работы. Репликатор — тем замечателен, что формализован в отличии от понятия жизни. Репликатор — формализованная единица с которой работает механизм эволюции.

Забавно, что эволюция — это, вообще говоря, не о жизни. Эволюция — это о репликаторах.
ЕМНИП, в НАСА определили жизнь — как химический репликатор.
Чем проще определение жизни, тем вероятнее ее найти на других планетах)
О том и речь. Определение должно быть пригодно для определения. Пардон за каламбур.
Главное не упростить до деления жировых пятен на поверхности воды.
Жировые пятна не обладают наследственностью.
На счет мыслящего океана, наоборот пример очень хороший.
Я не большой специалист по Стругацким, но мне думается что это многоагентная система и продукт длительной эволюции. Он очнь сильно напоминает упомянутые выше юпитерианские мозги. В воде довольно удобно охлаждать электронику, мда))
Так самое интересное сравнить как раз абстракции «жизнь» произвольных людей и посмотреть как они отличаются.

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

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

Я настаиваю на этом. Если про жизнь — к биологам.

Вы совершенно правы, если контекст вопроса — биология. Но являются ли биологи владельцами патента на термин?

С точки зрения философа — мутабельность должна быть сбалансирована между выживанием сейчас и приспособлением к изменениям условий в будущем. По сути изменчивость определяет качество не особи, а вида. Можно добавить критерий, объединяющий воспроизводство и приспособление — живущий обязан являться представителем вида, которому присущи все качества жизни (общий генетический код, организация, метаболизм, рост, адаптация, реакции, воспроизводство и т.д.).

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

Мне то все сойдет. Больше контекстов хороших и разных.)
Контекст военных например хорош. Даже не думал об этом))
Но откуда идет контекст военных? Кто воюет?
Только тот, у кого есть интеллект.
Остальные не воюют. Ибо зачем?

Под войнами понимается не биологическая доминантность, а именно организованная интеллектуальная доминантность.

Биологическое определение войны: организованная интеллектуальная доминантность определенного вида над определенными видами [возможно такими же] на определенном ареале с целью захвата жизненноважных ресурсов этого ареала.

Высокоорганизованные стайные животные, например, этим и живут.
Думаю для войны как и для жизни в целом интеллект не нужен, а иногда и вреден.
В виде примера вам иммунная система.
Добавлю минимальный набор (спорная попытка) программиста — живое умеет воспроизводить себя и умирать.

Добавлю филологическое — если критерии существования столь многочисленные и разные, то можно предположить, что мы имеем дело с термином отсутствия противоположного, который обозначает не сущность, а отсутствие противоположных сущностей.
То есть, если я бесплоден и научился продлевать жизнедеятельность неограниченно долго, то я не живой?
Если Вы — это объект в программе, который не создает свои копии (в каких-то условиях) и не прекращает свое существование (в каких-то условиях), то вряд ли программист назовет этот объект живым.

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

Вспоминается старый вирус Hobo, который при появлении дискеты в дисководе проверял её на наличие своей копии. Если копия есть, то увеличивал свой счетчик «детей» — два бродяги встретились и сделали ребенка. Если на дискете копия не найдена, то проверялся свой счетчик детей, один из которых мог быть выселен на дискету. После проверок сотни дискет, бродяга умирал от старости со всеми детьми. Подселение с дискеты на чистый комп не было реализовано, поэтому бродяги далеко не разбрелись, и даже не успели заинтересовать никого из производителей антивирусов. Не были реализованы мутации, адаптации, метаболизм или рост, но сделанного было достаточно, чтобы воскликнуть — оно живое!
тоже кстати навеяло мысль, что все мы теоретически мертвы —неживые, т.к. критериев нет оказывается)
С точки зрения философа — мутабельность должна быть сбалансирована между выживанием сейчас и приспособлением к изменениям условий в будущем.
Точки зрения биолога и философа расходятся. Биолог может подкрепить свою точку зрения, философ — никак не может.
Биолог говорит следующее: нет никаких балансов и взглядов наперед. Есть цепь случайных событий и не более. Тот кто приобрел случайную мутацию и многократно размножился, с закреплением мутации и в последующем среднем времени не вымер — и определит новый вид.
Точка зрения философа берется на пустом месте, она умозрительна и не требует подтверждений фактами. Точка зрения биолога рассчитана и требует наличия подтверждающих фактов.
Я склоняюсь к биологам, но не исключаю философов как некий хлам. Зачем?

Если появится что-то более вменяемое в сравнении с биологической точкой зрения, я безболезненно переметнусь в этот новый лагерь)
я безболезненно переметнусь в этот новый лагерь

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

Фильтр — инструмент, он не самоценен, польза или вред применения любого инструмента определяется ситуацией.
Фильтр — инструмент, он не самоценен, польза или вред применения любого инструмента определяется ситуацией.

Не вижу противоречия с тем, что я сказал.
Вам же я бы крайне посоветовал разогнать у «ботов» интеллект. Не бредовую хрень каторую называют искусственным интеллектом, а именно интеллект. Но что это?))
А это очень просто. Интеллект — это способность оперировать логикой теории типов.
А теория типов что это? А это вам уже знакомо — это логика высших порядков, в кампутерах она частично и в общем-то убого реализована в виде ООП.

Вот смотрите, есть «пассатижи», что есть «пассатижи»? Это «инструмент». Что есть «инструмент»? Это «вещь». И так далее. Таким образом вы создадите ваши правила теории типов для ваших ботов, естественно такие сложные штуки как «инструмент» описывать не нужно. Для ваших ботов хватит банальных абстракций.
Но сразу же встает вопрос. А куда это упрется? В ООП это упирается в «объект». В ООП «объект» является базовой абстракцией всего. А у живого как?) У живого базовых абстракций много, но не сильно много. У живого базовые абстракции — это чувства. Именно чувства не поддаются объяснению с точки зрения теории типов и каждое чувство — есть базовая абстракция, т.е. не имеющая родителя.

С точки зрения теории типов что есть «время»? Т.е. что родитель абстракции «время»? Естественно это «процесс». Но какой? Процессы бывают периодическими, а бывают не периодическими. Не периодические процессы «времени» не зададут. Время можно задать только на периодических процессах. Идем далее. Что есть процесс? Это способность восприятия «бифуркации», т.е. именно чувственная способность видеть качественные изменения. Это базовая абстракция) «Периодичность» — ровно такая же базовая абстракция. Вот вы и словили уже что «бифуркация» и «периодичность» — это базовые абстракции, т.к. родителей у них нет. Но как быть с ООП? А все и тут просто. Наследуйте от «объекта» — «абстракцию», у вас это будет база. И навешайте в виде интерфейсов на «абстракцию» «бифуркация-able» и «периодичность-able» и у вас появится «время». В рамках теории типов интерфейсы потому и названы абстрактными абстракциями)

При этом, поймите самое главное, ДЛЯ ТЕОРИИ ТИПОВ НЕ ВАЖНА РЕАЛИЗАЦИЯ ТИПОВ. Важна тут только логика, т.е. кто что из под чего наследуется и какие интерфейсы прицеплены. И все.

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

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

И последнее. Добивайтесь ТОЛЬКО реального интеллекта, а не той убогой байды которую называют «искусственным интеллектом» и которая к интеллекту вообще не имеет никакого отношения от слова совсем.
Вы говорите автору — возьми и сделай настоящий интеллект. Причем вещаете как гуру, который этих интеллектов не одну сотню сделал. Забавно)
Так точно. Возьми и сделай настоящий интеллект.
И даже объяснение как сделать — приведено.

Или вы из разряда людей, которые не понимают что такое ООП? Похоже что да.
Давайте на пальцах, этот абсолютно тривиальный пример приводится всегда.
Есть тарелка, вам нужно проявить интеллект относительно абстракции «тарелка».

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

Собираете абстракции ручками в иерархии и начинаете обизъяньи скачки с перебором. Т.к. нет реализаций, то только перебор, эвристики, т.е. правил отбора заведомо предпочтительных вариантов нет, но вы можете их написать. На это есть некоторые теоремы теории типов, они вам сократят перебор.

Вот и все))

Так вы за примерно 0.000001 секунду получите «квадратную тарелку».

В чом собственно проблема?
Вы я вижу понимаете, что такое ООП. Хорошо. Пожалуйста, набросайте простой интеллект для примера, или выложите ссылки на ваши работы. Чтобы развить дискуссию.
Минусов слишком много.
А значит оно вряд ли востребовано.
Ну а «квадратную тарелку» и с ней гору мусора вы и сами можете запросто получить. Попробуйте, это увлекательно) Рецепт приложен уже.
А так все интересно начиналось.
UFO just landed and posted this here
Да ладно?) Что вам тогда мешает разложить мир на полки? Или хотя бы кусочек мира?
Почему вы пользуетесь «искусственным интеллектом», который ничего не может?
Почему вы все еще надеетесь, что он вам даст ответ, что «пассатижи» — это «вещь» с вероятностью в 84%? Что мешает сразу собрать базу, где сразу написано, что пассатижи — это вещь 100%? Ну или проще — «пассатижи» — это «вещь».
Что-то мешает ага? Попробуйте соберите такую базу)) Тот же гугл или яндекс у вас такую базу купит мгновенно за астрономические деньги.

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

И покажите пруф, ну раз тут спрашивают за пруфы и прочее — где это написано, что ооп не должно следовать иерархиям реального мира?
UFO just landed and posted this here
только потому, что первой можно кидаться, а второй нет.

Вы сумасшедший?
Если объектом Plate можно обкидываться, т.е. объект Plate вообще имеет потенциальную возможность быть кинутым, то у него должен быть интерфейс IОбкидывание-able. И не факт, что вы будете обкидываться этим объектом. То чем можно пообкидываться — должно быть потенциально обозначено. Не нужно думать тут, что реализация интерфейса вообще должна быть. Ее может и не быть. В таком случае, интерфейс можете считать флагом объекта. Ну и реализуйте как положено Plate:IОбкидывание-able(INameable Вася, INameable Петя)
Само собой интерфейс IОбкидывание-able должен наследоваться от интерфейса IКинуть-able. Это же разные вещи.
Какие нахрен throwable и причом тут статикобжэкт??? Какое отношение они имеют к ооп вообще?
Вы объяснитесь хоть как-то. Полнейшее идиотство.
Вы втираете какую-то дичь.
Вам ответили
ООП следует той иерархии, которая решает поставленную задачу.

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

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

Мне очень нравится определение Фон Неймана для самокопирующихся автоматов. Правда он не называл это жизнью. По его мнению для таких агентов необходино 4 компонента:
1. Устройство управления
2. Чертеж
3. Копировальная машина
4. Сборочная фабрика

Ну вот правда вирусы и РНК добавили изюминок в это определение. Точнее убрали))
Оказалось что все необходимое для жизни кроме чертежа можно арендовать у других организмов.
А так вообще в природе сложно найти организмы без симбионтов и паразитов. Например ничего крупнее бактерии не сможет жить без ДНК митохондрий. А некоторые вирусы неспособны размножаться без вироидов, как и наоборот.
Мне тоже определение паразитов в статье как нехищников показалось некорректным.
Это социальные а не биологические паразиты.
> Что есть жизнь?
это с одной стороны и очень сложный вопрос и с другой очень простой.
Согласно современным представлениям это нечто что может в дарвиновскую эволюцию.
Как анти пример можете рассмотреть кристаллы(само воспроизведение, деление и тп..). Когда и если мы найдем нечто что противоречит нашим представлениям об эволюции мы подправим формулировку, а пока так.
По-моему, это чисто условная граница в иерархии самоорганизации материи (если такая иерархия вообще есть)
Жизнь — это форма существования белковой материи. Короче сказать сложно.
Вы слышали что рухнул Советский Союз?
Уже необязательно опираться в научных дебатах на труды Маркса, Энгельса и других политических деятелей начала 19 века </sarcasm>
Мне это определение нравится краткостью и ёмкостью.
Автор тут не при чём. Я его даже не указал, заметьте. Вы же пристрастны.
Предполагаю, читаете РФ-макулатуру и подобные этому сайты. Это Ваш личный выбор, под воздействием внешних обстоятельств. Вряд ли такое мнение самозародилось, как жизнь на планете Земля. И спорить тут не о чем. А Энгельс — мой выбор, с младенчества :o) Тоже внушённый извне и прошедший проверку временем. Лет через 20 поговорим с Вами наравне уже.
Мне это определение нравится краткостью и ёмкостью.

Единственное, что нам сообщает определение, это что структуры, не состоящие из белков живыми быть не могут. Ну, то есть было принято волевое решение считать живым только то, в чём есть белки. Действительно коротко. Очень красноречиво демонстрирует уровень научных знаний о том, что такое жизнь на тот момент времени. Хорошо, что сейчас с этим получше.

Сарказм не конструктивен, т.к. вызывает подозрения в личной неожиданной заинтересованности. Спорить на тему что и как «сейчас» лучше, чем было — бессмысленно. Т.к. в прошлом (моём) Вы не были и судить существенно объективнее, чем я — не можете. Лет через 20 — тогда и поговорим)) Если не забудете((( Прощайте, дискуссии не получилось, совершенно неожиданно. А жаль!
Сарказм не конструктивен, т.к. вызывает подозрения в личной неожиданной заинтересованности.

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


Спорить на тему что и как «сейчас» лучше, чем было — бессмысленно.

На тему того, когда учёные лучше понимали что такое жизнь — действительно бессмысленно. Сейчас понимают гораздо лучше, это факт.


Т.к. в прошлом (моём) Вы не были и судить существенно объективнее, чем я — не можете.

Я не понял как ваше прошлое связано с пониманием того, что такое жизнь, такое впечатление, что вы говорите о чём-то другом.

Ну начнем с того что надо убрать слово «белковой» так как сегодня живыми уже признаны организмы вообще не содержащие белков.
Останется «Жизнь — форма существования материи»
А это уже похоже на каноническое определение «веревка — есть вервие простое»
Ну начнем с того что надо убрать слово «белковой» так как сегодня живыми уже признаны организмы вообще не содержащие белков.

Это какие? Можно ссылку или ключ для погуглить?

Читайте выше, уже многократно обсудили

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


  • Скажи, что такое жизнь?

Старец посмотрел на него просветленно, улыбнулся чему-то своему и ответил:


  • Жизнь — это большая медленная река.

Миллиардер подождал продолжения, но старец закрыл глаза и как будто заснул. Миллиардер пришел в бешенство:


  • Старый осел, какая к чертям река? Я шел сюда два месяца, угробил экспедицию, людей, и ты мне говоришь какую-то буддийскую чушь???!!!!

Старец испугался, вскочил и скрылся в подвале храма. Через несколько минут голова его появилась в окошке на уровне пола, и он робко спросил:


  • А что, жизнь — это не большая медленная река?
Очень понравилась, то ли притча, то ли анекдот) в контексте споров о смысле жизни))
А действия вроде перемещения или поедания не требуют энергии? Стоило бы наверно это сделать, и тогда боты бы могли делиться на тех, кто неподвижно занимается фотосинтезом и тех, кто плавает и поедает других.

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

Ну и «вспышки на солнце» я бы устраивал почаще.
Вычитание энергии за действие уже реализованно
Приятно, что тема клеточных автоматов живет. есть развитие к непрерывному времени (float) youtu.be/ys5XtGDOoUw
И как вариант 3d, добавить холмик-горку, свет по разному падает. Но тут лучше к Unity перебраться, пошире возможностей.
А так успехов в мире клеточных автоматов!
Правда с моём проекте нет клеточных автоматов. Или я что то в них не понимаю.
Смотря по каким критериям оценивать. Что имеем: дискретное время-есть шаг времени, дискретный мир- есть квадратные клетки и мир состоящий из них, то что там внутри клетки что-то происходит вполне нормально, клетка меняет свое состояние(переходит в новое состояние). ваше перемещение бота это изменение одной клетки в ноль (условно) и переход другой в 1(условно), внутренняя кухня клетки может быть сложнее на порядок вашей(не к слову обидеть). Окрестность тоже наблюдаем, насколько понимаю 8 ячеек, дальше не смотрите.
Клеточный автомат
внутренняя кухня клетки может быть сложнее на порядок вашей
а можете пример привести?
так уже привел в комментарии выше но еще тогда про вычисления
3d cellular automata
pdf примерно про это
хотя чем проще тем народу больше нравится (это опять же не про автора, хотя его коммент по своему интересен, с точки зрения понимания сути происходящего)
наверное ближе к пониманию простые формы
так а где там внутренняя кухня на порядок сложнее?
все что касается Конвэя и подобных задается как-раз довольно простыми правилами, без всякой эволюции и естественного отбора

п.с. последнее видео похоже на кварк-глюонную плазму)
delta_a = Da * laplacian_a + q*a*c*(c-a) + p1 — (1.0f+p2)*a + a*a*b;
delta_b = Db * laplacian_b + q*b*d*(d-b) + p2*a — a*a*b;
delta_c = Dc * laplacian_c + q*a*c*(a-c) + p1 — (1.0f+p2)*c + c*c*d;
delta_d = Dd * laplacian_d + q*b*d*(b-d) + p2*c — c*c*d;
это коэффициенты клеточного автомата
но это для эрудиции

Видео еще раз посмотрите пусть игра «жизнь» вас не смущает это другое по природе своей)
приятно куда то двигаться, тем более в клеточных автоматах/ с детства нравились еще на тетрадке без компа.
Это видео смотрел много раз, завораживает)
Ну все же согласитесь, лапласианы посчитать это не то же самое что возиться с мутациями и естественным отбором?
думаю мы о разном, хорошо что написали статью может кто еще что-то сделает и на вашем примере ) Удачи
P.S. лапласиан узнали уже приятно, осталось формулы понять, они ведь не просто так появились и немного о другом чем видео.
laplacian_a
laplacian_b
laplacian_c
laplacian_d

Я тоже узнал!
понял, вам как соавтору респект
Смотрится забавно, было бы интересно анимацию посмотреть. Но геном — не геном, а программа поведения ботов (конечный автомат). Геном должен задавать свойства ботов, например, получение энергии фотосинтезом, или потребление извне, сколько потомков максимально может оставить и тп. А повороты от стенок, сделать шаг, посмотреть и тд. это программа поведения — надстройка над геномом. Тогда больше на реальную эволюцию походило бы, если запастись большим набором генетических свойств, кот. будут меняться (мутировать). Но все равно это далеко до моделирования реальной эволюции, в ее процессе создаются новые гены, кот. ранее не было. Тем не менее, очень интересный проект.
Спасибо за комментарий. Цели смоделировать эволюцию в реальном мире не было. Скорее она служила примером. В виртуальном пространстве можно самому создавать свои миры со своими правилами. Анимацию можно посмотреть в разделе «Ссылки»
Вы как-то невнимательно прочитали статью.
Фотосинтез и другие виды получения энергии как раз определяется геномом, представленным в виде псевдо-программы. Этот геном мутирует, подвергается естественному отбору и т.д.
А вот сколько потомков оставить это как раз фенотипические свойства. Нигде в биологических системах это не прописано в геноме — оставит сколько повезет.
А вот сколько потомков оставить это как раз фенотипические свойства. Нигде в биологических системах это не прописано в геноме — оставит сколько повезет.

В геноме конечно нет, имелось ввиду, что это разные виды, а у разных видов может быть разное число потомков.
Не увидел в тексте, где разделение на геном и программу поведения (фенотипические свойства).
В геноме не записан цвет ваших глаз, в геноме находится программа для создания белка соответствующего цвета и вторая программа запускающая первую лишь в клетках радужки глаз.
Я вначале подумал, что не хватает как минимум возможности иметь длиннее ленту команд и дольше думать взамен на трату энергии в единицу времени. Но потом осознал, что об этом следующая версия: боты смогут общаться, соответственно колонии может быть смогут научиться думать дольше комбинированно. Так и предлагаемые вами свойства: например, свойство «получение энергии фотосинтезом» будет регулироваться размером шапки колонии, которая будет плавать вверху и слать питательные клетки вниз. Точнее, не «будет регулироваться», а «будет возможность» такой штуке организоваться в рамкам правил. Будет или не будет я не знаю.
удалить этот коммент не там разместил
попросил автора удалить комментарий поставили минус, сам его не могу удалить, нет кнопки, как у Электроника. Наверное поклонники неклеточных автоматов… а может и не автоматов, а просто неорганической жизни в 500 строчек кода плюс минус конечно. Сорри, это за минус единички. Можете вместе с этим удалить. Тоже вариант неплохой.

А с чего Вы взяли, что у автора такая кнопка есть?

Графику на джаве кнопочками делали?
У меня похожие (по виду) получались, когда очередной клон Жизни написал. Как раз кнопками псевдографику сделал

спойлер

графику кнопочками? да вы ценитель)
в соседнем проекте сейчас такая графика:
Заголовок спойлера
image

Ух тыж ё. Как он грузит комп. Все вентиляторы на максимум взвыли.
Эта версия грузит вам только 1 ядро
Но вой вентиляторов говорит об обратном.
Два четырехядерника думают иначе)
загрузку ЦПУ смотрели во время выполнения? сколько там %?
¯\_(ツ)_/¯
Все равно там ничего не происходит. Generation: 100000, Population: 0, Organic: 1.
Так у вас первый бот умер) Запустите еще раз или настройки покрутите
Выяснил. Если первый бот при старте оказывается в воде или на самой светлой части суши, то он сразу дохнет. Вероятность такого старта примерно 75—85% при настройках по умолчанию. Но если остался жив, то компьютер уже не так завывает и жрет 150%, 37 потоков.
UFO just landed and posted this here
А кнопками удобнее всего, когда поле не больше экрана. Не надо никаких масштабирований и графических преобразований, и интерактив удобный — кликнул мышкой, вот тебе сразу и отклик.
Ради смеха и «змейку» с тетрисом в таком же стиле накорябал.

github.com/Tarson/LIFE
И очень медитативное видео!
можно было бы использовать и значения > 64. просто делать переход также на val % 64.
еще не понял решаете ли вы проблему зависания. например в клетке стоит goto +64. итого если программа дойдет до этого места то зависнет в бесконечном цикле. то есть бот перестанет что либо делать или достаточно что такое отсеивается естественным отбором?
В новом проекте я использую длину генома 128 и 128 чисел (0..127). Зависнуть может но не с числом 64 (диапазон доступных чисел 0,,63), а с числом 0. Или будет несколько переходов, возвращающий указатель на старое место. Числу 0 можно назначить команду, я правда этого не сделал. Все подобные неудачные варианты отсеиваются естественным отбором. Энергия бота с каждым ходом убывает и без активных действий по пополнению энергии, бот превратится в органику.
пока читал вспомнил, что на ютюбе уже видел видео на эту тему. сходил, нашел по ключам «генетические алгоритмы», только потом понял что это вы и были.
идея интересная, в свое время, после ваших видео, тоже хотел заняться. я думаю нужно делать более сложный геном, 64 операции слишком мало, ну и мир хочется посложнее.
Да, проект старый. Только сейчас дошли руки статью написать. В новом варианте, который непонятно когда доделаю, геном расшириться до 128.
Может быть есть смысл выложить проект на гитхаб? Просто там удобнее следить за развитием проекта и помогать в меру сил.
На старый есть ссылка в конце статьи. Проект был переписан на Java и выложен на гитхабе. Новый пока рано выкладывать. К тому же я предпочитаю один работать
Пока у меня нет прав на плюсы, свидетельствую своё почтение автору! Это просто кайф!

Самый сложный вопрос который меня беспокоит в этой теме:
Что есть жизнь?


Жизнь, кроме всего прочего, это индивидуальность, Позвольте своим ботам самостоятельно делать выводы и принимать решения.
Интересно сделано. А не было ли мысли преобразовать развёртку цилиндра в проекцию сферы с экватором, полюсами и сменой дня и ночи?
В проекте есть смена времён года. Солнце то ярче светит, то хуже. Делать не на плоскости, а на сфере, по моему ничего не добавит, кроме сложности программирования. Скорее всего надо увеличивать размеры мира, увеличивать его сложность и разнообразие(день/ночь, экватор/полюса) и увеличивать количество команд, доступных ботам.
А также как мне кажется «вспышки солнца» можно сделать локальными, а ля бомбы чтоб не полностью давила на мир
Минутка расширения сознания:
Ваш мир — не плоскость!
Ваш мир это картографическая проекция поверхности геометрической фигуры «тор» (он же бублик)*. Ведь ваши подопечные входя в край экрана выходят из противоположного, а значит если все эти границы визуально соединить, то получится бублик!
Что бы получился шар, вам просто нужно отменить телепортацию микробов снизу-вверх и сделать что бы входя вверх, они выходили тоже сверху, но на другой половине «карты». А заходя вниз, они выходили снизу, на другой половине карты (представьте ваш мир картой, разлинованной мередианами и широтами).
Ну и достаточно будет натянуть эту плоскую «текстуру» микробной жизни на 3д модель шара.

*маленькая оговорочка, Солнце у этого бублика находится в середине (там где у бублика отверстие) и при этом странно (магически) освещает только половину бублика, видимо под Солнцем стоит перегородка))))

Короче, вот рисунок, так понятнее что я говорю:
image

А вот настоящей плоскостью ваш мир бы был, если бы они не телепортировались с краёв карты =)
В статье говорится о цилиндре, сверху и снизу «стена».

Мир представляет из себя двухмерное, разбитое на квадраты поле. По горизонтали он замкнут по кругу, то есть если бот выйдет за левый край, то появится с правой стороны. Сверху и снизу движение ограниченно стеной. Мир, по задумке — это разрез водоёма, чем выше, тем больше энергии можно получить от Солнца.
А, ну я не читал статью, я смотрел видео месяц назад и уже забыл про это.
А сюда пришёл комментарии почитать))) Действительно, получается это цилиндр.
Но шар сделать по прежнему просто, создав телепортацию сверху вверх, и снизу вниз))) И ещё о чём я подумал, у этой карты (шара) будет отрезан северный и южный полюс (так как на «настоящей» карте в самой северной и южной точке есть место лишь для 1 бота, ибо там поверхность визуально растянута, а места на самом деле там очень мало), ну не беда, там всегда холодрыга =D
создав телепортацию сверху вверх, и снизу вниз))

Это не будет шар, это будет цилиндр с телепортацией. Для шара нужно, чтобы все точки, соседние с полюсом, были доступны из полюса за один ход.
Это будет не шар и не цилиндр, а тор все-таки! :)
Тор — это с телепортацией сверху вниз и снизу вверх, а выше пишут про сверху вверх и снизу вниз.
У этой карты (шара) будет отрезан северный и южный полюс
))))
Тогда не будет никакой телепортации.
Чтобы жизнь стала разумной нужно помимо генома добавить еще сознание.
Геном — это наличие рук, ног, фотосинтезирующих органов или острых зубов.
А в сознание в той или иной степени надо заложить стремление к самосохранению и размножению. Пусть для начала это будут вероятности срабатывания команд фотосинтеза, движения, размножения и т.п.
Здесь скорее бактерии, чем разумная жизнь. Стремление к самосохранению и размножению не наделяет сознанием.
Насекомые тоже частично ведут себя как автоматы, хоть и на основе нейронных сетей простых, но тем не менее глюки есть, пример муравьиный круг смерти
Хех, наделение подпрограммы сознанием тянет на все Нобелевки мира вместе взятые :)
Мир Дикого Запада ждет своей реализации
Боты отличают чужого от своего, если код-геном отличается более, чем на один байт. Это ресурсоёмкая операция, но после введения этой возможности, стали появляться колонии с чёткими границами.

Можно хэшировать геном при создании бота. Сравнивать хэши, наверно, будет быстрее, чем весь геном (хотя все зависит от реализации).


ИМХО, нужно отделить свойства бота от поведения. Например, создать отдельный "геном" для перемещения или поведения в целом. А еще лучше, чтобы поведение зависело не только от генома, но и от внешних факторов (двигаться к источнику пищи/энергии, убегать от врагов и пр.). Тогда получится некое подобие интеллекта. Во всяком случае поведение будет более разнообразным.

Ну так его поведение зависит от внешних факторов. шагнул -уперся в чужака — съел — посмотрел вправо — там пусто -шагнул туда, а была бы органика, то съел бы. И так далее.
а если: «посмотрел влево-вперёд-вправо и выбрал оптимальное* направление».
*оценка оптимальности — заложить в геноме.

Можно добавить ошибки распознавания: посмотрел влево, и с вероятностью 55% определил трупик, 40% — живой соперник, 5% — какая-то еда.
Дело в том, что я ничего закладывать не хочу, пусть само появиться. Хотя, конечно, можно ввести такую команду. Сейчас бот может, даже в течении одного хода, посмотреть по всем 8 направлениям и шагнуть в первое попавшее пустое место. Что бы сравнивать направления, нужна память, которой сейчас у бота нет. В следующей версии я запланировал регистры и операции с ними. Вот тогда и может сформироваться оценка лучшего направления.
А накой мутация если вид и так успешен? Возмозно у успешных стоит снижать вероятность мутации

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

Здесь нет никакой функции, которая определяла бы, какой бот успешен, какой нет. Сам бот не мутирует, мутация может возникнуть у потомка с вероятностью 25%.
Можно расширить этот эксперимент: дать ботам сенсоры и нейросеть, топология которой также задаётся генетически. В этом случае будет возможность наблюдать сразу 2 вида эволюции — генетическую и «культурную».
Но поле для эксперимента при этом должно быть существенно больше.
Я думал об этом. Даже последний мой эксперимент касался обучение простейшей нейросети посредством естественного отбора.
(некоторые утверждают, что у меня не нейросеть, а линейный классификатор )
Но подбирались веса, а не топология. С изменяющейся топологией было бы куда интересней. Может быть потом решусь реализовать это.
Если меняются веса, в чем сложность изменять топологию? Например обнулить нейрону все веса и он как-бы исчезает из управления, или задействовать нейрон сняв запрет на использование. Начать можно буквально с нескольких нейронов, чем больше, тем, конечно, интереснее.
Добавлять-убавлять скрытые слои еще интереснее, но и сложнее…
А что сделать со связями? Под топологией я понимаю не только количество нейронов, но и как они связанны друг с другом. В любом случае, это сложней, чем изначально заданная сеть
Ну так все со всеми. Отсутствие связей имитируется нулевыми весами. Комбинаторная сложность, правда, зашкаливает, но можно ввести ограничения типа нерекуррентности и тд
Не думали об обучении с подкреплением, когда «учителем» выступает среда обитания? Было бы интересно посмотреть на поведение ботов, целью которых была бы максимизация показателя энергии и продолжительности жизни. А при почковании и порождении нового бота, в качестве мутации можно было бы менять веста сети на какой-то небольшой рандомный коэффициент.
Я делал нейронную сеть, которая обучалась средой. Сеть поощрялась за счет получения энергии и штрафовалась за ее потерю. Но размножения и генома у меня не было.
Бот запускался в лабиринт с разным объектами и обучался там выживать (ловить продукты и не биться о стены).
Сеть умела ходить в стороны и съедать органику, обзор был на соседние 8 клеток (входов нейронной сети была информация о смежных клетках).
В итоге сеть старалась собирать продукты и не биться о стенки, но периодически зацикливалась на пустых пространствах. Для повышения качества работы нужно введение более сложных мотиваций, но я этим не занимался уже.
Обожаю подобные статьи.

А видео надо было озвучивать голосом Дроздова.
Я там и музыку вначале поставил из «В мире животных», но Ютуб был недоволен, пришлось убрать
чтоб поиграться, генетический алгоритм интересен, но он слишком далёк от того чтоб из него чтото полезное можно получиться, в итоге получается приложение которое ищет самое полезное сочетание мутаций которые изначально уже заложены в приложение, ничего нового оно не создаст и жизнью это точно назвать низя, вот если создать песочничу в которой комбинируются самые низкоуровневые комманды процессора, было бы уже намного интереснее, но есть проблема с определением жизнеспособности
Любой процессор определяет список команд и ничего нового выполнить не может.
Любой язык определяет список доступных команд и ничего нового на нем не напишешь, кроме того, что было заложено создателем языка. (нет)
1. Что думать о таких совпадениях? Когда ты минуту назад читал и смотрел про клеточные автоматы, полон мыслей, открываешь Habr — и на тебе!
2. Вы же в курсе про «русских коров»?
копипаста интернета
В нынешнем (2002 — И.П.) году Microsoft затеяла игру для программистов многих стран мира. ...Microsoft создала террариум. Всем желающим предложили населить его растениями и животными — травоядными и хищниками.

Программист задавал свойства существа (дальность зрения, максимальная скорость движения, сила атаки, сила защиты и т.п. — общая сумма была ограничена), алгоритмы его поведения (по какой траектории передвигаться; в каких случаях атаковать; есть все, что обнаружишь, или оставить немного на развод и т. п.). Трава росла. Травоядные ели траву. Хищники ели травоядных и друг друга.
Тот, кто больше ел, больше размножался. Задача состояла в том, чтобы размножиться как можно больше, вытесняя конкурирующие разновидности хищников, травоядных и т.п. Игра показала, что россияне плохо умеют изготовлять хищников, зато у них замечательно получаются травоядные. В ходе игры российские «коровы» победили всех конкурентов — за счет уникальной стадности и редкостного умения пакостить травоядным представителям других наций. По сути, российские разработчики были единственными, кто додумался, как сделать травоядных по-настоящему стадными. По правилам игры, животным не разрешалось напрямую обмениваться информацией. Поэтому, пасущаяся с краю стада «корова» не могла сообщить коллегам об увиденной «траве» или приближающихся хищниках.

Россияне придумали следующий алгоритм стадности. Если одна корова видела бегущую корову своего вида — она начинала бежать в том же направлении. Любопытно, что никто, кроме россиян, не додумался до такой идеи. По словам организаторов игры, именно эта не рассуждающая массовость принесла россиянам победу. Второе изобретение российских программистов было поизощреннее. Если в поле зрения их коровы не было травоядных своего вида — а сплошь чужаки, российская корова с максимальной скоростью съедала всю доступную траву, ничего не оставляя «на развод». И погибала от голода вместе с чужаками. Сложная смесь самопожертвования и ксенофобии.

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

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


Второй вариант (забрать с собой как можно больше противников) — логичен и используется муравьями.

слепое повторение действий соседей — это основной принцып разных групп животных что выработался в процессе еволюции
стаи птиц или огроменные косяки рыбы, ниодна особь внутри косяка не знает форму группы и местоположение опасности, но пара простых правил помогают ефективно сохранить популяцию
www.youtube.com/watch?v=AfjeZ0O3rF4

Делал в школьные годы похожий проект. Только мир был динамический — полоса "света" двигалась по также как и у вас зацикленному миру. Правда у ботов был фиксированный код, но несколько переменных параметров. У ботов была врожденная способность двигаться к свету, тратя энергию. Фотосинтезировали они только на свету. Между собой правда они никак не взаимодействовали. Также были определенные условия почкования с умеренной мутацией параметров у клона.
В итоге эмуляций популяция обычно делилась на животных, бегающих за светом, и растения, которые теряли возможность двигаться, взамен приобретая возможность "пережить" ночь.
Проект делался на бейсике и прошло с тех пор уже лет двадцать...

Тоже недавно таким занимался. Так увлекся, что чуть конференцию не пропустил. Модель основана на боте, который имеет набор модулей. Модули потребляют энергию и совершают полезную работу. При размножении набор модулей может мутировать. Энергия запасается во время кормёжки и потом используется другими модулями.
Тут проскакивали слова про уменьшение энтропии (за счёт увеличения ее вовне). И правда, холодильник тоже так умеет. Мне все время не хватает слова энтропия, хочется рассуждать о степени сложности, уровне развития, разнообразности реакций и действий системы, назвать это уровнем организации, к примеру. Но от тепловой энтропии это как-то далеко. На интуитивном уровне понятно, что даже простейшая клетка — это «жизнь», а сложнейший кристалл с меньшей энтропией — это все-таки «не жизнь». Но вот как это формализовать… Было замечательное определение информации у Шрейдера, что-то про увеличение тезауруса системы. Я же определил бы жизнь так: это система, подверженная влияниям окружающего мира, и увеличивающая со временем свой тезаурус за счёт этого влияния. Камень со временем будет разрушаться, а даже сорняк — расти, проходить качественно разные стадии. Сотовый телефон от влияний мира только будет ломаться и разлагаться (веками), а человек, или животное накапливать опыт и эволюционировать. Поскольку планета аналогично прошла этапы от просто раскаленного шара до биосферы, ее тоже можно рассмотреть как живую систему (все признаки соблюдены). Тут возникает намек на наличие сознания у растений, планеты и пр. Что же, буквально это понимать конечно не стоит. Сознание можно рассмотреть как достигнутую степень развития системы, тезаурус системы, ее множество ответных реакций на внешние сигналы. Основной посыл в том, что изолированной системе в далёкой перспективе просто неоткуда взять возможностей для роста организованности (вспоминается Пригожин). Живая система — значит встроена в мир, в единую многоуровневую сеть перераспределения энтропии, формирующей высокоорганизованные системы.
Живое не обязано обладать сознанием.
Но только сознание может задаться вопросом про живое
Мой посыл в том, чтобы расширить понятие сознания до той степени, чтобы оно было присуще всему. Условно, очень упрощенно: сознание и материя как софт и железо. Мы же до сих пор не знаем как вообще возникает сознание человека, верно? Не память, принятие решений а именно сознание. Возможно, это фундаментальное свойство материи, которое просто не имеет значимых проявлений для простых систем. Для облака газа, из которого формируется солнечная система, сознанием будет действующие в нем векторы сил, та расстановка условий, которая ведет к формированию протосолнца. Для газа, который выпустили из емкости, сознанием будет стремление к расширению. Я понимаю, что это я сам наделяю некий физический процесс смыслом, и говорю что это сознание. Но может здесь ключ к его глубинному пониманию? Человек — это просто куда более сложный процесс, но принцип тот же.
Почему это мы не знаем?

Сознание — продукт деятельности нервной системы человека.

Сложные рефлексы повлекли за собой создание речи.

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

Составив предложение «я мыслю, значит я существую» никак не изменило того, что в своем фундаменте — это тот же самый рефлекс.

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

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

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

Насчет утюга — да, это более простой пример. Но по той же причине и менее интересный — провести границу между человеком и утюгом куда как проще, чем между человеком и телефоном.
Браво автору!

Я в своё время нечто похожее делал, но больше были интересны мутации свойств, не прописанных явно в коде. Например, изначально не определено как может двигаться организм, что нужно идти к еде и т.д., а в процессе он сам тыкаясь получал ± запоминал результат и повторял его. Сейчас конечно это выглядит глупо, но когда учился было прикольно.

А не пробовали запускать симуляцию с уже созданными геномами (случайно и по паттерну сгенерированных)? Или например два (или более) бота с сильно разными геномами. В этом случае думаю что колонии могут радикально отличаться.
У меня тоже не прописано, что нужно идти к еде. Те кто к еде не идёт, умирали не оставив потомства, а у тех, кто родился у выживших, это в геноме записано.
Запускать два разных генома не пробовал. Колонии и сейчас различаются. В следующем проекте, надеюсь масштабы мира позволят колониям долго развиваться в естественной изоляции друг от друга, что бы различия были более явными. Плюс расширенный состав команд и больший размер генома будут способствовать этому.
Смущает реализация механизма мутаций.
В геноме бота, каждая ячейка — это инструкция, или параметр инструкции. Чисто интуитивно, вероятность того, что изменение одной команды окажется полезной мутацией и улучшит программу — очень мала. Так не самозародятся структуры типа вложенных циклов, множественных ветвлений, подпрограмм, и т.д. Ну, или нужно бесконечно большое количество симуляций.
Мне кажется, что геном живых существ ближе не к инструкциям, а к данным — параметрам конфигурации, и их мутация дает более линейный и предсказуемый эффект.
Количество команд и размер генома невелики, так что вероятность не такая уж низкая. В начале, через несколько десятков тысяч ходов, мир меняется кардинально. Затем скорость эволюции начинает снижаться. Для подобных алгоритмов нужны масштабы и время, так как это по сути перебор разных вариантов, хоть и оптимизированный.
Так не самозародятся структуры типа вложенных циклов, множественных ветвлений
Почему нет? Вполне себе зарождаются.
Можете запустить программу и увидеть как боты делают что-то в цикле. Например бегают по кругам и более сложным траекториям, или в паузах между бегом фотосинтезируют.
А множественные ветвления заданы определениями самих команд.
Дико интересно, спасибо за статью.
Такими вещами давно занимаются биологи — моделируют всякие системы и их эволюцию.
Ага. Только где картинки этих биологов?))

Только вот что-то статьи на Хабре они про это не часто пишут… Так что автору однозначто респект и уважение!

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

UFO just landed and posted this here

Забавно… народ таким развлекался когда то еще на PDP-11

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

Другой, не менее интересный вопрос, об ограничениях такого рода эволюции и программирования в целом.

Есть такое понятие «unprestatable», четко определить не возьмусь, но смысл в том что робот/программа/конечный автомат/искусственный интеллект/и т.д. (в широком смысле) неспособен решать творческие задачи и «выйти за рамки». А люди и даже животные [предполагается что] могут.

Представим, например, робота пытающегося открыть банку с пивом. Неважно, зачем ему это надо, важно что он не был запрограммирован на открытие банки с пивом. У него, возможно, есть специальная подпрограмма для таких неожиданных ситуаций, но если она почему-то не дала результата, то робот «не догадается» взять камень и сковырнуть/срезать крышку — т.е. сделать что-то «креативное» чтобы достичь цели. Почему так? Допустим, робот понимает задачу и «начинает думать» — искать варианты решения и моделировать ситуации. По сути, это запуск программы перебора из бесконечного числа возможных «креативных» вариантов чтобы получить ответ на вопрос «как открыть это пиво». К сожалению, здесь есть фундаментальная проблема останова — возможно наш железный друг «задумается навсегда» и мы никак не сможем это предвидеть заранее (unprestatable).

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

искусственный интеллект/и т.д. (в широком смысле) неспособен решать творческие задачи и «выйти за рамки». А люди и даже животные [предполагается что] могут.
Как такое можно объяснить? ИМХО только мистикой: у людей и животных есть волшебная способность, а у машин ее быть не может.

Представим, например, робота пытающегося открыть банку с пивом.
Открывание банки с пивом — творческая задача? ;) — Ok. Предположим, что это так. У пещерных людей на протяжении многих поколений была задача добывания огня. Кто-то ее решил и научил других добывать огонь трением или ударами с искрами твердых камней. Аналогичное обучение робота в задаче с пивом допускается? Если допускается, то какой источник? М.б. инет? — Если да, то робот прочтет здесь:
«не догадается» взять камень и сковырнуть/срезать крышку
и последует этому совету. Не так ли поступают многие юзеры: ищут в гугле «как починить комп», «покрасить потолок» и т.д. — и «креативно» следуют найденному? ;)
Как такое можно объяснить? ИМХО только мистикой: у людей и животных есть волшебная способность, а у машин ее быть не может.


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

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

За ТС не отвечу, а за комментатора вполне)

Цель — собрать как можно больше определений (мнений), чтобы вычленить из них универсальный критерий жизни.
Мне он пригодится для дальнейшей разработки. Но возможно он будет полезен где-то еще. Например при исследовании экзопланет и т.п.
UFO just landed and posted this here
Вы абсолютно правы. Прежде всего, робот не задастся целью открыть банку с пивом, если его явно не запрограммировать.
UFO just landed and posted this here
Очень сложно говорить за человека и обезьян, потому что до конца непонятно «как это работает у них». А вот за современных роботов очень даже можно — все это начиная от контроллера в лифте и заканчивая самым большим суперкомпьютером сводится к машине Тьюринга и не выходит за ее теоретические ограничения. Unprestatable одно из них.

То что вам кажется что человек это просто большой компьютер скорее всего ошибка, здесь количество не переходит в качество.
UFO just landed and posted this here
Если под «творческой задачей» мы понимаем создание некой заранее не определенной структуры или решение некой заранее не определенной задачи, то с этим справляются не просто неразумные, но и вообще неживые в нашем понимании процессы. Поток воды, к примеру, весьма творчески подходит и к сложной задаче поиска щели в плотине, и к не менее сложной задаче обтачивания камней по пути.
А как вы понимаете «созидание»?)
Типичная логическая дыра.

Созидание — это интеллектуальное изменение чего-то или кого-то вокруг себя с понижением энтропии в созидаемом.
Разрушение — это интеллектуальное изменение чего-то или кого-то вокруг себя с увеличением энтропии в разрушаемом.

Данные процессы сопровождаются скачкообразными изменениями в энтропии. Что то что другое есть признаки «искусственного»

Что есть «творческая задача?» Это комплекс созидательно-разрушительных [искусственных как мы выяснили] процессов, подчиняющийся некоему набору эвристиков, т.е. правил.

Что такое эвристики? Это скопированные алгоритмы наборов действий, обязательно с ошибками.

Реальное применение эвристиков — опыт.

Комплексное рассуждение над эвристиками — мудрость.

И т.д. и т.п.

Ну и куда подевалась ваша речька с камушьками?))
У меня те же определения, только без слова «интеллектуальное». Вы просто утверждаете, что это именно интеллектуальный процесс, а я утверждаю, что нет — и созидание (=локальное снижение энтропии), и разрушение (=локальное повышение энтропии) происходят в общем случае и в отсутствии интеллекта или жизни в нашем понимании. И могу привести примеры безинтеллектуального созидания и разрушения (разрушения-особенно легко). Те же процессы с участием интеллекта (= всего того что вы дальше описываете -эвристики, опыт и т.п.) — частный случай.
Скачок энтропии — признак не интеллектуальных действий, а фазового перехода в системе. Я опять же могу привести примеры, в которых этот скачок происходит, а интеллектуальной деятельности нет. Кристаллизация и взрывное расширение, например.
Ответьте на простой вопрос.
Если вы «как речька» соберетесь разрушить плотину — вы будете набирать в рот воды и «точить водой» камни? Причем поливать водой камни будете хаотично да?
Или все же используете как обезьяна минимум палку, а как человек тринитротолуоловую шашку или вообще ракету с вертолета?

Слушайте, даже в этом убогом случае вы не будете бегать набирать воду в рот далеко, потому что у вас есть чувственные абстракции «близко»/«далеко», и по странному стечению обстоятельств даже по вашему беганью можно 100% сказать, что у вас есть зачатки интеллекта.

Как бы вы не выкручивались в данном случае, заподозрить в вас интеллект все же выйдет)) Вы и сами не заметите как проколитесь на ровном месте.
Нет, я подговорю знакомого аквариумиста, тот выпустит за плотину пираний, пираньи летом съедят бобров, зимой замерзнут сами, и по весне плотину снесет ледоходом. А гипотетический наблюдатель заподозрит, что это всё был хитрый план, но непонятно чей — пираний, аквариумиста, меня или InterceptorTSK, который как бы невзначай намекнул подумать о снесении плотины. И непонятно, плотина ли была нашей целью, или это хитрый план по истреблению бобров. Или побочный эффект от выкидывания лишних пираний.
Из этого бреда воспалённого сознания казуса пробитой плотины будет вытекать (не мной замеченное) определение интеллекта как способности: а) найти проблему на ровном месте, и б) потом спихнуть эту проблему на другого. В создании проблем неживая природа ещё и даст фору, но вот в спихивании слаба, поскольку сама-то не способна ни оценить масштаба собственной пакости, ни пострадать от неё.
Вода каторая изумительно но крайне тупо [не интеллектуально] находит щщели в плотине и при этом обтачивает камни — неминуемо снесет плотину.
Это условия этого вашего некоего «творчества», вовсе не мои.

Но вы преумело спихнули на меня «снос плотины» ага?

И да, посчитайте количество «бреда воспаленного сознания» в постах — у бредометра стрелка погнется. Угадаете на чьих будет гнуть стрелку?
В статье хочу описать свой эксперимент по созданию «искусственной жизни» на компьютере.
ИМХО не хватает четких формулировок. 1) Какова цель данного эксперимента? 2) Определение искусственной жизни. Нпр., она должна моделировать реальную? Или м.б. альтернативной (к реальной)? Поэтому в комментах выше каждый стал высказывать свое мнение по вопросу «что есть жизнь?»
Есть вопрос по поводу направлению движения.
4 направления равносильны. вверх, вниз, влево, вправо.
Что касается оставшихся 4 то или их вероятность ниже, или энергии на них нужно больше.
ну банально использовав теорему Пифагора можно понять, что расстояние нужно пройти больше.

Опять же, если это особенности вашего мира, то вопрос снимается
Энергии тратится одинаково. Это особенности мира.
Всегда хотел грабнуть со стаковерфлоу все посты содержащие код на выбранном языке и дать «ботам» возможность юзать код по очереди, т.е. первый цикл отбросить все не работающие не компилируещиеся, а остальные запускать с разными параметрами и стремиться к результату какому-то.
Так вот, идея с геномом очень интересна, и возможно даже подойдет для создания такого случайного компилятора)
однако не хватает рейтинга команд — привело к размножению или улучшению энергетического баланса +1, впустую потратили тик -1. Так-же не понравилась полная рандомность параметров. Такой-же второй геном бы с параметрами, и рейтингом параметров приводящих к улучшению.
Люди будут стараться написать всё более лучшие версии подобных игр, добавляя всё больше параметров, и учитывая всё больше факторов, и в конце напишут Матрицу (не математическую, а трилогии Вачовски)
Было бы здорово, в качестве дальнейшего развития функционала, научить ботов жить там, где лучше условия. Т.е. они должны стремиться прожить дольше за счет этих самых условий.
Суть в том, что я не учу их делать что то. Естественный отбор оставляет тех, кто смог собрать больше энергии и оставить больше жизнеспособного потомства. Как они это делают и к чему стремятся, я уже не решаю.
Тогда можно сделать «накопительную» систему обучения. Т.е. предок передает по наследству информацию или ее часть, о том, где или как «жить лучше». Бот, который соберет эту информацию от нескольких своих потомков — будет наиболее жизнеспособный.
Обучение опыту предка распространено только среди немногих видов высших животных, причем практически исключительно среди млекопитающих. Говорят, некоторые виды осминогов подходят к этому. Передача опыта — высокая форма интеллекта. Врядли это то, что следует моделировать при исследовании базовых законов эволюции.

Разве что боты сами научаться этому.
Говорят, некоторые виды осминогов подходят к этому.

Нереально. Осьминоги умирают, оставив потомство.
Я совершенно точно не специалист по осьминогам… Ссылаюсь на фильм «Пришельцы со дна океана», или какой-то близкий по теме.
Это слишком категоричный взгляд на мир. Гляньте передачу про любых животных, все животные повторяют за предком, а иначе выживание невозможно.
про любых животных

Червей? Ракообразных? Рыб? Кого бы ещё вспомнить?.. Черепах?
Да хоть пчёл вспомните, они общаются через запахи и танцы.
Любое животное каким либо образом общается, а если не общается, то получает опыт следя.
Замечательно, что Вы почему-то всегда вспоминаете только относительно развитых животных. А про всех остальных (каковых СУЩЕСТВЕННО БОЛЬШЕ) — упорно забываете.
Почитайте на досуге про почвенных нематод. Интересно, как и за кем они могут следить?..
Детёныши многих видов даже не видят своих родителей. Из этого следует, что обучение у предка не может считаться навыком необходимым для выживания.
Я бы даже сказал «большинства», и это если считать по крупным таксонам. А если по видам — то «абсолютного большинства», т.к. не менее половины видов слепы.
Детёныше всех видов глаза открывают в конце концов (у которых есть глаза).
Но родители к этому времени могут быть уже мертвы.
Я хочу сказать что у всех животных есть то, что и у людей, просто в зависимости от вида эта «деталь» или «свойство» упрощено. И порой у некоторых видов упрощение настолько сильное, что это свойство становится незаметным, что люди начинают утверждать что «этого у них нет». Я считаю что утверждать обратное — тупиковый ненаучный взгляд и не приведёт к развитию в области изучения животных и даже тормозит его (если упираются в утверждениях отсутствия чего-то, хотя не изучили животное даже на малую часть, тем более в этой области)
Вы, похоже, очень слабо представляете себе состав царства животных.
порой у некоторых видов упрощение настолько сильное

Не у «некоторых», а почти у всех. Напомню Вам, что количество известных видов животных примерно равно количеству известных видов насекомых (все прочие — составляют небольшой процент видов). Вероятно, примерно столько же, сколько открыто насекомых — неоткрыто нематод.
Я лишь не согласен одному слову в утверждении «Обучение опыту предка распространено только среди немногих видов высших животных», на основе которого (и своего опыта утверждений других людей) я сделал вывод (что большинство людей как-то необоснованно считает что у животных нет ОСНОВ тех или иных процессов/свойств, в то время что, как раз таки, основы процессов у них есть (ибо они произошли из изначального общего предка и развивались КОНВЕРГЕНТНО), просто у нас это процессы УСЛОЖНЕНЫ.
Пожалуй и я перегнул тут со словом «у всех». Это, видимо, относительное восприятие в сочетании с художественным преувеличением))))
Но и вы выискиваете именно тех, у кого это заметить сложнее, вы тоже преувеличиваете игнорированием 90% других видов))))
Та мелочь, о которой вы думаете что не учится, на самом деле она учится. Это, как бы сказать, миф научной среды что ли, недооценивать животных, а потом удивляться как это у животных есть самопожертвование, странные действия похожие на любовь. Вот как по мне, странные действия совершают те, кто этому удивляется, ведь механизмы в основе своей у нас одинаковые, мы просто УМНЕЕ, но мы не меньше животные чем другие животные (а порой используем ум в свою животную угоду).
Удачи всем вам =)
Та мелочь, о которой вы думаете что не учится, на самом деле она учится

Тот чайник, о котором вы думаете, что его нет, на самом деле есть.

тоже преувеличиваете игнорированием 90% других видов

Я уже в который раз пытаюсь Вам вдолбить, что «та мелочь, о которой я думаю» — составляет примерно 99% видов. А всё, что Вы можете назвать — звери, птицы, некоторые рептилии, некоторые моллюски, некоторые членистоногие — вместе меньше 1% известных видов.

У многих животных есть обучение на собственном опыте. Вон, у белой планарии условные рефлексы вырабатывают, хрестоматийный пример.
Но на счёт перенятия чужого опыта через наблюдение — увольте! По крайней мере половине видов животных — наблюдать нечем. Большинство видов животных — максимум способно отличить «своих» от «чужих», но не проследить поведение. Более-менее детально отслеживать перемещение себе подобных — способна небольшая часть (большинство позвоночных, некоторые моллюски, вероятно, некоторые насекомые), а повторять за другими новое поведение — это высший пилотаж, на который, как я уже писал, способны только высшие из высших: звери и птицы, возможно некоторые виды других классов, но это не точно.

но мы не меньше животные чем другие животные

Разве с этим кто-то спорил?
В принципе можно реализовать через возможность бота спрашивать у соседей «Где лучше?» и что бы они ему высылали координату этого места. Со временем эволюция научит их воспринимать вопросы и ответы.
Вау, наконец-то нашёл единомышленника) вот то, что я в своё время выложил в читабельную версию)
tm.spbstu.ru/Моделирование_основных_принципов_биологических_систем(организмы_%2B_глюкоза)
tm.spbstu.ru/Моделирование_основных_принципов_биологических_систем
Если кого-то это тронет, обязуюсь найти более «взрослую” версию с перераспределением питательной среды, мембранами и прочим
Интересно, а если создать пропорционально молекулы всех элементов, создать для них благоприятную среду для возникновения жизни. Через какое время появятся живые существа? И появятся ли вообще?
Весьма занятно ) Особенно заинтересовала «вспышка на Солнце». Было бы интересно посмотреть статистику насчет таких катастроф. Например, как часто после катастрофы мир изменяется до неузнаваемости? И вообще, бывает ли такое?
А еще я бы добавил влияние самой жизни на окружающую среду — например, чем больше фотосинтезирующих ботов, тем меньше концентрация CO2, тем хуже для фотосинтезирующих организмов, и т.п.
Всегда интересовала тема «Жизнь» на ПК. Я очень впечатлен прочитанным и увиденным. Еще больше удивило то, что это реализовано на pixilang. Реализация УТК так проста, что хочется кричать «браво».
Посмотрел видео и заметил, что в некоторый момент времени, прослеживается цикличность некого этапа «жизни» той или иной колонии (?) — как будто этот этап попал в спираль и прокручивает себя n-ое количество раз, образуя закономерность (или что-то типа того).
Очень интригующе и мотивирующе. Хотя идея «умирать если не удалось размножиться» у меня вызывает много вопросов. Я понимаю, что хвосты этого растут из конрадовской жизни, но это мало похоже на нормальную биологию. Наоборот, чем больше энергии запасено, тем существу лучше.

Умерли от тесноты, как в "Вселенной 25"

Отличный проект, результаты впечатляют, подобные клеточные (или не совсем клеточные) автоматы меня всегда завораживали.
Я понимаю всю сложность таких проектов (в том числе и вычислительную), и я вряд ли реализую что-то подобное в ближайшее время, но очень хочется увидеть версию, где взаимодействия будут вероятностными. Клеточная РПГ (или D&D). Правда это значительно усложнит рассчет каждого следующего шага. Но и привнесет непредсказуемые сценарии.

Отдельно хочется отметить, что бессмертность автоматов может быть проблемой. Смерть способствует обновлению генофонда популяции. Можно было бы задать, эм, cumulative probability distribution смерти с помощью нескольких параметров — опорных точек (которые, естественно, мутируют согласно общим законам симуляции). Условно, с начала жизни до хода N шанс естественной смерит низок, а затем он начинает резко расти. Вероятностный подход так же создаст некоторую непредсказуемость, иначе, все особи одного вида будут погибать на условном 42-ом ходу (если доживут).

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

Отдельное обращение к автору: даже если вы любите работать в одиночку, исходники на git* (а также описание/примеры/результаты/ссылки) могут помочь другим начинающим энтузиастам и просто интересующимся (таким как я) начать свой проект или попробовать ваши симуляции (разумеется, если нет других причин и ограничений на дистрибьюцию кода).
Но и привнесет непредсказуемые сценарии.

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

Собственно, подход автора к параметрам функций, если я его правильно понял, дает ровно такой результат.
Совершенно верно. Один байт может служить как командой, так и параметром или смещением для другой команды
UFO just landed and posted this here
Мне не даёт покоя мысль, что в будущем можно создать «слепок» мозга в виртуальном пространстве и что после смерти самого человека, его «двойник» может жить «там».
В фантастике бесчисленное кол-во раз.
Из последнего прочитанного — Alastair Reynolds, у него целая серия книг с человечеством разбившимся на «косморасы», одна из раз, уперевшаяся в науку при смерти «носителя» скачивала разум в большую базу где тусовались все умершие. Огромный коллективный интеллект. А отголоски ещё в Дюне, да.
У Гамильтона опять же, Пришествие ночи, кажется серия.
В прошлом многим не давала покоя мысль, что люди смогут летать, что вода может бежать сама собой вверх, что можно будет получать энергию от солнца и так далее.

Когда техника дойдет, люди попользуются и привыкнут.
Ну, положим, вода сама-собой вверх по прежнему не бежит.
Здесь совсем другие принципы.
Мне часто присылают клоны моего проекта. Я не против, даже приветствую. Особенно нравится, когда меня упоминают.
foo52ru Вы не пробовали анализировать изменение длины (среднего количества реально исполняемых команд) очереди команд у каждой особи в процессе моделирования? Возможно есть закономерности вида «планктон-простой но его много, а кит сложный но их мало». Возможно получится по длине очереди увидеть на картинке формирование сложных объектов, ведущих себя как нечто цельное (хотя для этого в текущей модели не хватает неких «социальных»/«симбиозных» команд).
В общем идея выглядит интересно.
UFO just landed and posted this here
Если бы при нажатии по существу можно было бы просматривать её ДНК, то было бы намного интереснее следить за ними и стали бы понятнее причины их поведения.
Кстати, я видел ваш проект с видом сверху, так вот, этот из статьи (с видом сбоку) намного интереснее наблюдать, так как тут чаще происходит соприкосновение различных видов.
Давненько натыкался на эти видео на ютубе. Можно ли добавить ботам ячейку памяти? Сами пишут, сами читают воспоминания, но всё это стоит энергии чуть больше чем просто жить без воспоминаний. Будет ли хоть какое-то преимущство?
Был удивлен, когда, прочитав рассказ Грега Игана Кристалльные ночи, обнаружил Вашу статью. Тема один в один. Удачи в дальнейшем развитии проекта!
Да, мы тоже так думали, только биологам это фиолетово.
Если найдется хоть один биолог желающий сотрудничать с радостью примем.
Это пока больше игра в эволюцию, реальные модели эволюции намного сложнее. Но как база для развития вполне годная. Не пробовали обратить внимание Маркова, может заинтересует, у него блог имеется.
По-моему реальные модели просто намного узкоспециализированнее а не сложнее. Или у вас конкретные примеры есть?
Имел в виду теоретические модели эволюции, а не программы.
Так и есть. На узкоспециализированной модели можно поставить эксперимент и получить результат. Поэтому биологам проще создать свою модель под свой эксперимент, чем думать, как интерпретировать результаты чужой модели.
Интересная жизнь вышла. Точно нужно видео.

Делал похожий проект. Бесконечная трава с периодическим ростом, травоядные и хищники. Процессы были не так интересны, но была любопытная деталь — мир всегда умирал.
Ссылка на видео есть в конце статьи
тоже пытался моделировать жизнь и сделать что бы она саморазвивалась, но я остановился на том, как смоделировать свет ?, то есть распространения электромагнитных волн где постоянно изменяющееся магнитное поля порождает электрическое.
Зачем моделировать ЭМ волны для моделирования жизни?
Для модели жизни свет нужен только в виде мощности на площадь.

По ключевому слову Agent Based Model Вы найдете невероятное количество релевантных научных статей .)

Интересно ознакомиться с теоретическим базисом. А какие области науки (математики, наверное, в первую очередь) лежат в основе?
Автору респект! Проект очень интересный, настолько интересный, что я зарегестрировался на Хабре).

Не совсем понятен возникший спор о том, что такое жизнь. Какая в конце-концов разница? Понятно что созданное здесь не жизнь, а лишь компьютерная модель. Модель объясняющая работу эволюции и принципы естественного отбора. В этом плане проект в самом деле потрясающий. Особое уважение вызывает попытка автора не запрограммировать поведение, а сделать так, чтобы боты пришли к какой-то модели поведения «естественным» путём.

Другая серия комментариев связана с созданием искусственного интеллекта, задачей тоже не связанной с данной темой. Делать искусственный интеллект и симулятор жизни совершенно разные задачи. Далеко не всё живое обладает интеллектом, вряд ли он есть у растений (Саймак бы поcпорил, конечно, вспомним его «All flash is grass»).

Теперь, если позволите, несколько размышлений о самом проекте. Первое, что бросается в глаза (и об этом уже были замечания), что команды для ботов, в общем-то, готовые. Она просто случайным образом появляется в «геноме». Так ли это интересно? фактически всё число возможных моделей поведения равно числу возможных команд в степени числа ячеек под них.
Второе, в данной реализации «параметры» и «действия» записаны в один буфер. В природе же это не совсем так. У всех людей один генотип, они могут давать друг с другом потомство, но ни один человек не обладает абсолютно одинаковой внешностью. Да что человек, на дереве не найдешь ни одного одинакового листа. Тем не менее у всех (почти) людей при рождении две ноги. Где-то это ведь прописано? Возможно боту следует добавить свойства? В виде отдельного массива. Желательно переменной длины. В этом массиве хранить какие-то значения. А где-нибудь в генотипе прописывать, какая ячейка массива за что отвечает. Например появляются у бота мышцы, появляется ячейка где прописана величина мышечной активности. Когда выполняется команда «движение» программа обращается к этому показателю и в зависимости от величины позволяют организму пройти на 1, 2 или 3 клетки (условно). Когда у организмов появляется потомок его значение параметров какое-нибудь среднее между показаниями родителей с каким-либо допустимым отклонением (его можно прописывать как константу мира). Организмы усложняются появляется больше параметров. Кому то достаточно 2-3, кому-то 50.
Третье, возможно надо переосмыслить алгоритм выполнения команд. Почему они выполняются последовательно? Может же организм самостоятельно принимать решение, какую команду использовать? Хотя тут мы опять подходим к понятию интеллект, который «по-хорошему» в данном проекте должен появиться сам собой. Возможно придумать как могут появится различные условные операторы в ходе развития ботов.

+ некоторые команды возможно сделать «врожденными» и не зависимыми от того есть соответствующая команда в стеке или нет? Ну, например, узнать сколько у бота энергии?

P.S. немножко странно, что подобный проект написан на Жава. Мне кажется тут бы больше подошли более производительные языки, типа СИ.
Удивлю Вас ещё больше. Проект написан на планшете, с использованием небольшого интерпретатора Pixilang. Пытался чем-то заполнить свободное время на работе.
Тоже давно мечтаю такую программу написать. Только у животных должна меняться форма, и это будет влиять на их ттх.

Кстати, есть такой проект интересный, но простенький, больше на игрушку похоже, 3D, текстуры, анимация:
speciesdevblog.wordpress.com
Не особо, распаралеливание помогло. Немного поменял логику и баланс. Получилось совсем подругому, но тоже интересно
У меня сейчас новая версия многопоточная работает на 8 ядрах вместо одного. Вместе с заменой проца на новый стало в 10 раз быстрее. И я еще под OpenCL написал, но там пока не получается максимальную скорость выжать — фреймворк лажает.

Круто! Тоже была мысли на opencl добавить. На github не увидел этого. Или это где-то в другом месте?

Автор сильно не прав. Помню аналогичную попытку времен Спектрума. Кажется, проект назывался Змеем. Там хотя бы памяти больше было.
Нельзя в 64 байта заложить описываемое поведение, что кстати иллюстрируется значениями условных переходов.
Листинг в студию.
автор, собственно, и не отрицает, что 64 — это сильно мало. но надо же с чего-то начинать. листинги есть на гитхабе, одна из сылок есть в конце статьи
Видимо, ни одна из спровоцированных мутаций не сделала бота лучше и все мутанты, со временем, погибли.
Возможно они просто стали "чужими", потому что скорее всего уже отличались на один байт от соседей. 50% организмов остались "своими", 1/128 повезло и вспышка поменяла ген в котором и так была мутация, остальные распались на разобщенные
Скорее всего так и есть.

Articles