Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
если долго держать смерч над помойкой, то может собраться Боинг-747.Возможно из этого принципа сделали приложение «Социальный мониторинг»
А не «правильнее» ли было бы генерировать AST, а потом из него код?
Ведь там-то дерево и всё уже готово.
"a = a" — это сильно.
if cond :
for j in range(1,randint(0, max_expr))
expres
for i in range(0,randint(0, max_elif))
elif cond :
for j in range(1,randint(0, max_expr))
expres
for i in range(0,randint(0, 1))
else:
for j in range(1,randint(0, max_expr))
expres
if [..]:
[..]
elif [..]:
[..]
[..]
elif [..]:
[..]
[..]
..
else:
[..]
[..] if [..]:
[..]
elif [..]:
[..]
[..]
elif [..]:
[..]
[..]
..
else:
if []:
[..]
[..]человек идет есть, если голоден
Вспоминая Докинза, основную идею можно выразить так: если долго держать смерч над помойкой, то может собраться Боинг-747.
Кроме того, этот код так или иначе всё равно выполняет какую-то нужную человеку задачу и очень из-за этого ограничен рамками.
И кстати, если бы вы интересовались таким разделом ИИ, как «Искусственная жизнь», то знали бы, как без всяких осознаний своих желаний и потребностей генерируются на искусственном поле «хищники» и «травоядные»
Как вы поймете, что код с генерированный вашей программы готов?— вы про этот вопрос? Потому что вопрос про полезность, я, к сожалению, не нашел. Ну ладно отвечу на оба. Готов он будет тогда, когда заработают все 3 модуля и код будет выдавать мне свои рандомные действия, которые я постараюсь зафиксировать. Полезность же можно оценить только в том случае, если была задана изначальная цель и получены конечные результаты. В моем случае, если код просто будет работать, и «жить» так сказать, я сразу же пойму, что он для меня полезен. Если же говорить про другую «полезность», более общую, то её, при желании, можно будет увидеть, изменяя третий модуль, который отвечает за специализацию кода. Полезность будет понятна от постановки конкретной задачи. На данном этапе кроме задачи работоспособности и рандомной генерации с использованием памяти, нет.
Если вы займетесь моделированием на уровне молекул, то там тоже образуются устойчивые структуры. Но вот к живым системам это не имеет никакого отношения.
И проблема таких систем не в том, что увидеть их, а в том чтобы появилось принципиально новое на уровне аксиом.
В этой модели трава никогда не станет ядовитой.Если прописать такую возможность, то станет. Но для авторов не было такой задачи.
Такие стратегии с заданной аксиоматикой никогда не появятся…
Это все пока еще не живое.
Только туда куда вы идете уже ходили.. Я боюсь, вы не до конца понимаете, что именно я пытаюсь написать. Уж точно не то, что делали греки. У меня нет тут никаких аксиоматик, — все кирпичи строятся рандомно (случайно), и структуры на их основе тоже рандомны, где же тут аксиоматика и греки?
Набьете шишек, пойдете читать учебники.
если входящий массив совпадает с ними, она будет принимать те же решения, которая принимала раньше. Таким образом, если поначалу эти действия будут абсолютно хаотичными, то с течением времени они станут частично повторяющимися, — таким образом, будет видна так сказать «осмысленность» действия, потому что оно повторяется.
Вы игнорируете главный вопрос, как вы поймете, что программа созданная программой полезна?
Почему вы это считаете чем-то «осмысленным»?
… ничто не делает оценку качества сгенерированного кода.
Например, сбивание травоядных в табун и скрытие хищника в кустах напрямую вытекают из заданных изначально свойств пространства: отсутствие телепортации и заслонение видимости.
А что она делает?
а также ознакомиться в общих чертах с генетическими алгоритмами (в особенности с рекомбинацией и мутацией)Мой вопрос про отсутствие у вас фитнес-функции должен был как бы намекнуть, что мне про ГА рассказывать не надо. )) Не буду настаивать. Начнёте экспериментировать, сами заметите, что без отбора один единственный рандом даст только шум. Главное проверять свои идеи на практике, так как мы все так или иначе до экспериментов плаваем в своих фантазиях.
Генерация рандомных ветвлений на Питоне