БЛОГФорумСсылки Написать письмоПочему Арбуз? Служебная UN ЕЖЕ-движение - международный союз интернет-деятелей

Изучение законов наследственности у биоморфов

Лучшее средство против депрессии - это горячая ванна и ... Нобелевская премия.
Доди Смит

Величайшая драма науки – результаты исследований чешского священника Грегора Менделя в течение тридцати пяти лет после опубликования не замечались учеными. В результате этого старт генетики как науки запоздал на треть века, а в СССР она попала еще и под пресс идеологии, уродливо выразившийся в лысенковище. Это негатив. А позитив в том, что биология, перестав быть наукой чисто описательной, базирует свои разработки на математике, что в век компьютеризации должно послужить питательной средой для ее (биологии, и генетики, в том числе) развития. Однако, компьютеры являются не только инструментом для расчетов математических запросов биологии, но и дают возможность создавать искусственные, программные или виртуальные организмы с заданными свойствами и изучать их. Подарок любителям таких разработок преподнесла Компьютерра, посвятив №289 (№11 за 1999 год) искусственной жизни. Правда, уже прошло более двух лет, но за это время в обзорах Игоря Гордиенко периодически освещались различные программные организмы, живущие в американских университетах. Вспомнив старинный лозунг «Нам запад не указ» приглашаю всех заняться исследованием наследственности программных организмов. Предвижу вопрос – какой от этого толк? Во-первых, это очень интересно и этого уже достаточно. Какой толк от игры «Жизнь»? От шахмат? От фракталов? Во-вторых, идет бурный рост этого направления программирования – созданные на экране организмы будут жить, плодиться, питаться и, возможно, решать задачи людей, надо начать, а уж желающие использовать результаты всегда найдутся. Некоторые аспекты развития таких организмов уже проработаны фантастами, смотрите, например здесь. А какой, скажите, толк от изучения языков гномов, хоббитов и других жителей Средиземья? А ведь есть чудаки, получающие от этого удовольствие. На этом агитацию кончаем и переходим к делу.

Любители фрактальных изображений знают, что при некоторых параметрах множество Мандельброта рисует картинки, поразительно похожие на живые организмы. При желании в Сети можно найти много таких изображений, и называются они биоморфами. Однако получить такое изображение непросто, можно часами перебирать параметры множества, но получать лишь потрясающие пейзажи и калейдоскопы. Открываю тайну (бытия биоморфов). Обычно, выходя из цикла, цвет текущей точки рисуют, привязывая красную составляющую цвета (RGB) к значению, например, реальной составляющей полученного комплексного числа, зеленую к мнимой части, а синюю к самому произвольному их сочетанию. Получаются, как я уже говорил марсианские пейзажи, юпитерские натюрморты и альфа-центаврные монстры. Для получения организма надо брать только последнее значение счетчика цикла возведения в степень и из него получать все цвета фрактала. Кому лень- пишите, вышлю исходники на VB6. Назначаем шесть параметров (генов), от которых зависит вид (пока только вид…) организма. Первые два влияют на вид сердцевины организма, вторые два на длину колючек и последняя пара – на общий вид. В начале придаем им случайные значения и выводим на экран четыре разных организма. Если они нам не нравятся, можно обновить. Теперь выбираем родителей и … нажимаем кнопку Пуск. В результате известного процесса появляются новые четыре организма – дети выбранных родителей. Вот тут можно и проверить, как выполняются законы Менделя для наших питомцев, как выполняется известное соотношение 3:1, какие гены доминантные, а какие рецессивные. Продолжая процесс, то есть, выбирая родителей из детей, можно иногда получить внука или правнука, похожего на предка, но, в основном, вид потомства «усредняется», вбирая признаки родителей. На усреднение у нас заготовлена фишка – самая настоящая мутация от радиации, от удобрений, загрязнения и стрессов. Значение мутации, обычно сначала равное нулю, вводится экспериментатором и не дает процессу «усредниться», порождая отклонения у детей. При большом значении мутации колония вырождается, на это грустное зрелище стоит посмотреть всем, кого не волнует охрана окружающей среды. Вообще, программа очень эмоциональна, невозможно отделаться от постоянного желания: «А что, если этого пестренького с этим полосатеньким…». Особенно, если ее показывать домочадцам или сослуживцам, то будут сплошные возгласы типа: «А этот вылитый отец…» или «А этот ни в мать, ни в отца…»
Рассмотрим примерный сеанс работы с программой. Запустим и увидим четверку претендентов.


  

Полюбовавшись на них, нажмем «Снова» из любопытства.


  

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


  image006.jpg (44725 bytes)

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


  

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


  

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


  

Программа, конечно, вызовет массу нареканий, но это ведь только начало, первый шаг, открывающий простор для деятельности. Можно назначить доминантные и рецессивные признаки, сцепленные признаки, вероятность наследования того или иного признака, начните, и идеи появятся. То, на что Морган потратил восемь лет, исследуя скрещиваемый горох, мы повторим на экране за пять минут. Дальнейшие шаги – заставить организмы двигаться, питаться, конкурировать за еду, подбирать партнера для размножения, выполнять какие-либо действия (например, как было в одной из заметок Гордиенко, решать «задачу комивояжера») и поощрять за них. Мы ищем собратьев по разуму в Космосе, а ведь нам по силам создать их на экранах! И будет о чем с ними поговорить! Сделаем шаг.

Для тех, кто хочет повторить эти безумные опыты привожу текст программы. Предварительно надо создать форму, как на рисунках, причем значения из формы Отец, Мать, Мутация и Шаг передаются в переменные q1, q2, mut и ss соответственно

Отступы при переносе в html пропали, надеюсь, для любителей это не критично...

Option Explicit
Public novy, xmax, ymax, v, m, x, y, k, g, j, n, f, w3, w4, w5, w6 As Integer
Public re, im, rere, w1, w2 As Double
Public red, green, blue As Byte
Dim u3(4), u4(4), u5(4), u6(4), v3(4), v4(4), v5(4), v6(4) As Integer
Dim u1(4), u2(4), v1(4), v2(4) As Double
Private Sub Form_Load()
Randomize (Timer)
novy = 0
xmax = 200
ymax = 200
n = 15
m = 2
begin
End Sub
Sub begin()
zapolnenie
For f = 1 To 4
w1 = u1(f)
w2 = u2(f)
w3 = u3(f)
w4 = u4(f)
w5 = u5(f)
w6 = u6(f)
risunok
Next f
End Sub

Sub zapolnenie()
For j = 1 To 4
u1(j) = Rnd * 2 - 2
u2(j) = Rnd * 2 - 2
u3(j) = Int(Rnd * 6 + 1)
u4(j) = Int(Rnd * 6 + 1)
u5(j) = Int(Rnd * 6 + 1)
u6(j) = Int(Rnd * 6 + 1)
Next j
End Sub
Sub risunok()
For x = ss To xmax Step ss
For y = ss To ymax Step ss
re = (x - xmax / 2) / 40
im = (y - ymax / 2) / 40
k = 1
For j = 1 To n
k = k + 1
For g = 1 To m
rere = re
re = re * re - im * im
im = 2 * rere * im
Next g
re = re + w1
im = im + w2

If Abs(re) > w3 Or Abs(im) > w4 Then Exit For
Next j
If (Abs(re) < w5) Or (Abs(im) < w6) Then
red = Int(40 * k) Mod 255
green = (72 * k) Mod 255
blue = (58 * k) Mod 255
Else
red = 255
green = 255
blue = 255
End If
If ss > 1 Then Line (x + (f - 1) * (10 + xmax), y + (ymax + 70) * novy)-Step(ss, ss), RGB(red, green, blue), BF
If ss = 1 Then PSet (x + (f - 1) * (10 + xmax), y + (ymax + 70) * novy), RGB(red, green, blue)
Next y
Next x
PSet (20 + (f - 1) * (10 + xmax), 1 + (ymax + 70) * novy)
Print f
End Sub

Private Sub Комманда1_Click()
'If novy = 1 Then novy = 0
If q1 = q2 Then
begin
Else
For g = 1 To 4
If g <> q1 And g <> q2 Then Line ((g - 1) * (10 + xmax), (ymax + 70) * novy)-Step(xmax + ss, ymax + ss), RGB(255, 255, 255), BF
Next g

If novy = 1 Then
novy = 0
Else
novy = 1
End If

For f = 1 To 4

If Rnd * 10 < 8 Then
v1(f) = (u1(q1) + u1(q2)) / 2 + mut * (Rnd - 0.5)
v2(f) = (u2(q1) + u2(q2)) / 2 + mut * (Rnd - 0.5)
End If

If Rnd * 10 < 3 Then
v1(f) = u1(q1) + mut * (Rnd - 0.5)
v2(f) = u2(q1) + mut * (Rnd - 0.5)
End If

If Rnd * 10 > 7 Then
v1(f) = u1(q2) + mut * (Rnd - 0.5)
v2(f) = u2(q2) + mut * (Rnd - 0.5)
End If

If Rnd * 10 < 8 Then
v3(f) = ((u3(q1) + u3(q2)) / 2 + 2 * mut * (Rnd - 0.5))
v4(f) = ((u4(q1) + u4(q2)) / 2 + 2 * mut * (Rnd - 0.5))
v5(f) = ((u5(q1) + u5(q2)) / 2 + 2 * mut * (Rnd - 0.5))
v6(f) = ((u6(q1) + u6(q2)) / 2 + 2 * mut * (Rnd - 0.5))
End If

If Rnd * 10 < 3 Then
v3(f) = u3(q1) + 2 * mut * (Rnd - 0.5)
v4(f) = u4(q1) + 2 * mut * (Rnd - 0.5)
v5(f) = u5(q1) + 2 * mut * (Rnd - 0.5)
v6(f) = u6(q1) + 2 * mut * (Rnd - 0.5)
End If

If Rnd * 10 > 7 Then
v3(f) = u3(q2) + 2 * mut * (Rnd - 0.5)
v4(f) = u4(q2) + 2 * mut * (Rnd - 0.5)
v5(f) = u5(q2) + 2 * mut * (Rnd - 0.5)
v6(f) = u6(q2) + 2 * mut * (Rnd - 0.5)
End If

u1(f) = v1(f)
u2(f) = v2(f)
u3(f) = v3(f)
u4(f) = v4(f)
u5(f) = v5(f)
u6(f) = v6(f)
w1 = u1(f)
w2 = u2(f)
w3 = u3(f)
w4 = u4(f)
w5 = u5(f)
w6 = u6(f)
risunok
Next f
'If novy = 1 Then novy = 0
End If
End Sub

Private Sub Комманда2_Click()
begin
End Sub

Private Sub Комманда3_Click()
End
End Sub


 


Рецензия


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


Автор about me
Design by dady_MYKC
)c( 2000-2017
Kопирайта нет, копируйте на здоровье :)

100012 лет в Интернете


.