Evolutionary Programming 2
«Three quarks for Muster Mark»
Начало тут: https://evolutionaryprogramming.blogspot.com/2020/10/evolutionary-programming.html
Итак, сейчас тут будем создавать миры. Как это можно сделать, если мы не знаем всего об устройстве нашего мира? Все просто. Нам не нужна копия, это будет среда со своими правилами. Но правила лучше брать из мира реального, так как нам известно, что это таки работает. Но упрощать настолько, насколько возможно. Приведу для начала несколько мыслей как будет выглядеть эта среда и какие правила будут там.
Для упрощения это будет матрица с векторами x и y. Визуально она будет ограничена максимумами. Будет ли она замкнутой еще вопрос, в принципе это можно сделать указав связи минимумов с максимумами. Но вопрос, а надо ли? Визуально это может быть не совсем очевидно и возможно лучше делать связи с границей как с полем нулевой силы.
Думаю там будет поле хигса. Иначе я не знаю как сделать взаимосвязь частиц. Не уверен, что нужны кварки, лучше оперировать их производными. Нужны будут протоны и электроны - из них будут формироваться устойчивые связи. Нейтроны не уверен, возможно я буду получать массу ядра как 2*массу протонов.
Не совсем ясно как формировать связи на внешнем уровне с другими ядрами. Тут нужно будет прописать логику, что свободные электроны на внешнем уровне ищут связи с свободными электронами других ядер. Проблема в поле хигса, как его делать. Матрица с единицей заряда в каждой точке не годится скорее всего.
Из-за того, что среда будет для упрощения создана в рамках двух векторов, то не ясно как формировать связи с более девяти свободными электронами на внешнем уровне. Возможно просто исключить такое для упрощения, но не знаю чем это может обернуться сейчас. Возможна ли такая среда? Посмотрим.
Итак, новые идеи. мельчайшей частицей буду делать молекулу. Так как тут еще более-менее все ясно. Будут изначально заданные молекулы. Так как с протонами проблема - их нужно как-то объединять, а это лишняя проблема. Возможно потом.
Итак, для начала переделаем матрицу, что-то мне не нравится использовать одномерный массив в двумерный, пойдем другим путем:
matrix_init(){local -r max_x="$1"local -r max_y="$2"local -r type="$3"local xlocal yfor (( y=0; y < "$max_y"; y++ )); dofor (( x=0; x < "$max_x"; x++ )); doeval MATRIX_"$x"_"$y"="$type"donedone}
Комментарии
Отправить комментарий