
- •Лабораторная работа № 1. Численное интегрирование
- •Лабораторная работа № 2. Решение дифференциальных уравнений методом Рунге-Кутта четвертого порядка
- •Лабораторная работа № 3. Моделирование клеточных автоматов Варианты заданий
- •Задача 1
- •Var s,s1: array[0..60] of integer; Gd,Gm,I,j: integer;
- •Задача 2
- •Var a,b: array[1..N] of word; Gd,Gm,I,j: integer;
- •Задача 3
- •Задача 4
- •Задача 5
- •Лабораторная работа № 4. Моделирование случайных процессов
- •Лабораторная работа № 5. Моделирование вероятностных клеточных автоматов
- •Var a,b,p : array[1..N,1..M] of integer;
- •Var i1,j1: integer;
- •Варианты заданий
Лабораторная работа № 5. Моделирование вероятностных клеточных автоматов
Имеется матрица автоматов, каждый из которых может находится в состоянии «мертвый» (0) или «живой» (в этом случае клетка содержит значение возраста). Состояние автомата меняется в соответствии с выражением:
Здесь S – количество живых соседей, f – объем питательных веществ в соответствующей ячейке в соответствующий момент времени, U1 – пороговое значение объема питательных веществ, требуемое для выживания клетки. В течение жизни клетка потребляет питательные вещества, отмирает при их недостаточности и может быть «возрождена» при их наличии. Объем питательных веществ в клетке изменяется по следующему закону:
Данная постановка задачи является детерминированной. Для внесения в нее элементов стохастичности на каждой итерации жизни колонии автоматов генерируют случайную величину и ее значением оценивают альтернативы принимаемых решений. Например:
Здесь внесена стохастичность в предпоследнюю строку. x – равномерно распределенная в диапазоне от 0 до 1 случайная величина, T – некий порог ее оценивания, например, 0.7. Соответственно, чем больше T, тем выше вероятность перехода ячейки из состояния 0 в состояние 1.
Кроме того, можно варьировать по случайному закону шаги изменения объема питательных веществ в клетке, умножая их на случайную величину.
Основные принципы решения задачи можно позаимствовать из примера на языке Pascal:
uses crt, graph;
const N=110; M=90; Ur=8;
Var a,b,p : array[1..N,1..M] of integer;
Gd,Gm,t,S,i,j: integer; x: real;
Procedure Draw;
begin
For i:=1 to N do For j:=1 to M do begin
If a[i,j]=0 then setcolor(black);
If a[i,j]>0 then setcolor(red);
If a[i,j]>4 then setcolor(blue);
circle(5*i,5*j,1); circle(5*i,5*j,2);
If p[i,j]>Ur/2 then setcolor(8);
circle(5*i,round(5*j),3); end;
end;
Procedure Raschet;
Var i1,j1: integer;
begin S:=0;
If a[i,j]=0 then begin
For i1:=i-1 to i+1 do For j1:=j-1 to j+1 do
If a[i1,j1]>0 then inc(S); x:=random(100)/100;
If (p[i,j]>Ur/4)and(S>2)and(x<0.7) then b[i,j]:=1; end;
If (a[i,j]>0)and(a[i,j]<6) then b[i,j]:=a[i,j]+1;
If (a[i,j]=6)or(p[i,j]=0) then b[i,j]:=0;
end;
BEGIN Gd:=Detect; InitGraph(Gd, Gm, 'c:\bp\bgi');
setbkcolor(15); Randomize;
For i:=40 to 43 do For j:=40 to 43 do a[i,j]:=1;
For i:=1 to N do For j:=1 to M do begin
x:=random(800)/100; p[i,j]:=Ur*(round(0.2+x)); end;
Repeat inc(t);
For i:=2 to N-1 do For j:=2 to M-1 do begin
If (t mod 3=0)and(p[i,j]<Ur) then
p[i,j]:=p[i,j]+round(random(400)/100);
If p[i,j]>Ur then p[i,j]:=Ur; end;
For i:=2 to N-1 do For j:=2 to M-1 do Raschet;
For i:=2 to N-1 do For j:=2 to M-1 do
begin a[i,j]:=b[i,j];
If a[i,j]>0 then If p[i,j]>1 then p[i,j]:=p[i,j]-2
else p[i,j]:=0; end; If t>100 then Draw;
until keypressed; CloseGraph;
END.
Варианты заданий
Вариант 1. В основную постановку задачи внести стохастичность отмирания клетки при недостатке питания и увеличения объема питательных веществ в пустой клетке:
Вариант 2. В основную постановку задачи внести стохастичность отмирания клетки от старости и увеличения объема питательных веществ в пустой клетке:
Вариант 3. В основную постановку задачи внести стохастичность оживания клетки и увеличения объема питательных веществ в пустой клетке:
Вариант 4. В основную постановку задачи внести стохастичность отмирания клетки при недостатке питания и уменьшения объема питательных веществ в живой клетке:
Вариант 5. В основную постановку задачи внести стохастичность отмирания клетки от старости и уменьшения объема питательных веществ в живой клетке:
Вариант 6. В основную постановку задачи внести стохастичность оживания клетки и уменьшения объема питательных веществ в живой клетке:
Вариант 7. В основную постановку задачи внести стохастичность отмирания клетки:
Вариант 8. В основную постановку задачи внести стохастичность отмирания клетки при недостатке питания и оживания клетки:
Вариант 9. В основную постановку задачи внести стохастичность отмирания клетки от старости и оживания клетки:
Вариант 10. В основную постановку задачи внести стохастичность отмирания клетки и увеличения объема питательных веществ в пустой клетке: