Файл: Л. В. Горчаков в в в в е е д д е е н н и и е е в в к к о о м м п п ь ь ю ю т т е е р р н н о о е е м м о о д д е е л л и и р р о о в в а а н н и и е е учебное пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 161

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

21
Рис. 3. Траектории
p
a
cx bx
x y
e e
k

при
4,
2,
1,
3
a
b
c
p




Интегрируя по х, получаем lg lg lg
a
y by
p
x cx
k




или
p
cx
a
by
x
e y
e
k

(14)
Так как k не зависит от времени, то
0 0
0 0
p
a
cx
by
k
x y
e e

Следовательно, мы нашли уравнения для траектории, соответ- ствующей данному начальному положению. Функция
p
cx
x
e
и
a
by
y
e
могут быть выражены графически (рис. 4).
Рис. 4.
 
p
cx
f x
x
e

при c = 1, p = 3

22
Всякое значение за исключением экстремального она принимает
2 раза. Следовательно, если в (14) зафиксировать х, то ему соответ- ствуют два значения у и наоборот. Максимальное и минимальное значение принимаются переменной у при
x
p c

и переменной x при
y
a b

. Причем не существует точки перегиба. Из выражения
(7) следует, что
0
dx dt

, если и только если
y
a b

. Следова- тельно, в нижней части траектории x увеличивается, а на верхней части уменьшается, таким образом, движение идет против часовой стрелки. Вычислим средние значения х и у.
Поскольку движение циклическое, можно взять среднее по од- ному циклу.
Пусть T – длина цикла. Из (7) имеем
1 x dx dt
a by

 


0 0
1
T
T
x dx dt
a by dt





;
 


 




0
lg lg
0
T
x T
x
aT
b
ydt
T a by






(15)
Но (0, T) есть полный цикл, следовательно,
y
a b

. Аналогично
x
p c

. Эти средние не зависят от начального положения и сов- падают с координатами точки равновесия E.
Для явного получения траектории движения используем
Mathcad для того, чтобы прямо решить систему уравнений (7) при следующих начальных условиях
4,
2,
1,
3
a
b
c
p




1   2   3   4   5   6   7   8   9

Задачи для самостоятельной работы
1. Рассмотрим модель двух хищников, каждый из которых име- ет свою скорость увеличения a и p. Численность обоих уменьшает- ся пропорционально xy. И их численность описывается системой уравнений
,
0
dx dt
ax bxy
a b



,
,
0
dy dt
py cxy
p c



(16)
Для этой модели получаем




v, v
du dt
bp c
d dt
ac b u
 
 
и
2 2
d u dt
apu

(17)

23
Решение не является периодическим и есть
st
st
u
Ae
Be



, где
s
ap

. Дифференцируя это и подставив в (16), получим v
st
st
rAe
rBe

 

, где
r
cs bp

. Из этих формул получаем
 
2 2
v 2 4
u
AB


. Сле- довательно, траекториями первого приближения являются гипер- болы с центром в E. Используйте Mathcad для получения вида этих траекторий с теми же самыми начальными условиями.
2. На рынке товаров имеется два производителя товаров, один производит х товаров, второй – у товаров. Они обмениваются друг с другом товарами, первый отдает второму долю


0 1
q
q
 
в обмен на такую же долю товаров другого. У каждого остается по
1
p
q
 
своего товара и доля q – чужого. Изменение товаров опи- сывается системой уравнений


1 2
dx dt
p
px qy
p


 
,


1 2
dy dt
p qx
py
p


 
(18)
Покажите, что, либо производство приближается к равновесию, либо один из производителей покидает рынок. Кто покидает рынок
– зависит от начальной продукции обоих производителей.
3. Рассмотрим модель популяций системы паразит–хозяин. Раз- витие нападающего вида зависит от доступного ему числа пищи.
Если принять, что рождаемость хозяев зависит от числа хозяев N
t
и что смертность хозяев пропорциональна числу паразитов P
t
, то скорость изменения популяций определяется уравнениями


1
t
n
t
t
dN dt
r
c P N


,


2
t
p
t
t
dP dt
r
c N P
  
,
(19) где r
n
– собственная скорость увеличения популяции хозяина, ко- торая снижается для данного t в зависимости от численности пара- зитов P
t линейно. В отсутствии хозяев паразиты гибнут со скоро- стью r
p
. Последняя компенсируется фактором размножения c
2
при общем числе хозяев N
t
. Разделив уравнения друг на друга, получим




1 2
t
t
n
t
t
p
t
t
dN dP
r
c P N
r
c N P


 


24
Отсюда получаем
2 1
ln ln
p
t
t
n
t
t
R
N
c N
r
P
c P
const




(20)
Равенство соответствует набору замкнутых кривых. Достижение равновесия происходит, когда
0
t
t
dN dt
dP dt


и соответствует значениям
2
p
N
r c

и
1
n
P
r c

. Учтем конку- ренцию хозяев, изменив уравнение следующим образом


1
t
n
t
t
t
dN dt
r
c P
bN N



Получите решение с помощью Mathcad график зависимости P
t
от N
t
3.
С
ЛУЧАЙНОЕ ЧИСЛО
.
Г
ЕНЕРАТОРЫ СЛУЧАЙНЫХ ЧИСЕЛ
Случайные числа – это случайные величины, которые равно- мерно распределены на интервале [0, 1] и (стохастически) незави- симы. Случайные, или переменные, величины – это вероятностные переменные; они введены по контрасту с переменными, значения которых можно установить заранее. Случайные числа (независи- мые) – равномерные случайные величины. Случайные числа имеют следующие две характеристики:
1) Если


1, 2,3,...
i
r i

есть случайные числа, то их кумулятив- ное распределение, обозначим его F, удовлетворяет уравнению (21) для всех
i
(см. рис. 28).
 


для для для
0 1,
0 0,
1 1.
i
i
i
i
i
i
r
r
F r
P r
r
r
r
 










(21)
2) Теоретически случайные числа должны быть непрерывными переменными с функцией плотности f, определяемой следующим выражением:
 
для иначе
1 0
1,
0
i
ri
f r
 

 

(22)

25
Независимость случайных чисел имеет своим следствием тот факт, что знание
r
1
, r
2
,
…,
1
i
r

не дает нам никакой информации об
r
i
Случайные числа вырабатываются в машине при помощи чисто детерминированных рекурсивных формул. При этом получаются псевдослучайные числа, их статистические свойства совпадают со статистическими свойствами чисел, генерируемых идеальным слу- чайным механизмом, вырабатывающим числа из интервала
[0, 1], независимые и с одинаковой вероятностью. К идеальному генератору применяются следующие требования: полученные с его помощью последовательности должны состоять из:
1) равномерно распределенных,
2) статистически независимых,
3) воспроизводимых,
4) неповторяющихся чисел.
Кроме этого генератор должен
5) работать быстро и
6) занимать мало места в памяти машины.
Разработаны два основных конгруэнтных метода построения случайных чисел: мультипликативный и смешанный.
Все конгруэнтные методы основаны на рекуррентной формуле


1
mod
i
i
n
n
m

   
,
(23) где n
i
, m,

,

– целые положительные числа. Запишем первые чле- ны этой последовательности при i = 1, 2, 3:


1 0
mod
n
n
m
   
,




2 2
1 0
1
mod
n
n
n
m
     
   
,










3 2
3 3
3 0
0 1
1 1 mod
n
n
n
m
         
   
 
, (24)






0 1
1 mod
i
i
i
n
n
m
 
   
 
Если дано начальное значение n
0
, множитель

и аддитивная константа

, то формула определяет последовательность целых чисел {n
1
, n
2
,…n
i
,…}, составленную из остатков деления на m чле- нов последовательности








0 1
1
i
i
n

   
 
для любых


26 1,
i
i
n
m


. По целым числам последовательности
 
i
n
можно построить последовательность
  

i
i
r
n m

рациональных чисел из интервала [0,1]. Обозначим через h – наименьшее положитель- ное число, при котором
0
mod
h
n
n
m

. Число
h
называется перио- дом последовательности
 
i
n
. Величина
h
существенна, так как выполнение равенства
0
mod
h
n
n
m

влечет за собой
1 1
2 2
,
h
h
n
n n
n




и т.д. Таким образом, последовательность
 
i
n
будет периодической, т.е. значения ее членов будут повторяться через
h номеров. Необходимо выбрать такие n
0
,

,

и
m
, чтобы
h был максимальным. Рассмотрим алгоритм для случая двоичных машин. В этом случае
2
b
m

, где b – число двоичных цифр в ма- шинном слове. Максимальным периодом такой последовательно- сти будет
2 2
b

. Алгоритм построения последовательности с мак- симальным периодом:
1. Выбрать в качестве параметра n
0
произвольное нечетное чис- ло.
2. Вычислить

по формуле
 
8 3
t
   
, где t – любое целое положительное число.
3. Вычислить произведение

n
0
. Оно содержит не более 2b зна- чащих разрядов. Взять b младших разрядов в качестве первого чле- на последовательности n
1
, остальные отбросить.
4. Вычислить дробь из интервала [0, 1] по формуле
1 1
2
b
r
n

5. Вычислить очередное псевдослучайное число
1
i
n

как b пра- вых разрядов произведения

n
i
и вернуться к пункту 4.
Рассмотрим пример для b = 4. Процедура должна определить 4 разных числа


4 2 2
4
h



1) Положим n
0
= 7, в двоичной записи n
0
= 0111.
2) При t = 1 коэффициент

можно взять равным 11 или 5, выбе- рем 5 в двоичной записи t = 0101.
3)

 



0 5 7 0101 0111 35 00100011
n
 



 
, выбираем пра- вые 4 разряда n
1
= 0011 и r
1
= 3/16 = 0,1875.

27 4)

n
1
= (0101)

(0011) = 00001111, отсюда
n
2
= 1111 и r
2
= 15/16 = 0,9375.
5)

n
2
= (0101)

(1111) = 01001011, отсюда
n
3
= 1011 и r
3
= 11/16 = 0.6875.
6)

n
3
= (0101)

(1011)=00110111, отсюда
n
4
= 0111 и r
4
= 7/16 = 0,4375.
Различные наборы параметров изучались на предмет идеального генератора и для 32-x разрядных машин хорошие свойства показа- ли генераторы с

= 5 13
= 1220703125, n
0
= 5 13
и m = 2 31
–1. Обозна- чая n
0
= N
1
, n = N, r = R, программу генерации случайных чисел можно записать в виде
5 INPUT “ ВВЕДИТЕ N0”;N1 10 N=1220703125*N1 20 IF N>=0 THEN 40 30 N=N+214783647+1 40 N1=N
50 R=N
60 R=R*0.4656613E-9:PRINT R
Число R будет искомым числом, на вход программы подается ис- ходное число n
0
= 5 13
. В языке GWbasic, к сожалению, эта програм- ма работать правильно не будет, так как максимальные целые чис- ла должны быть в диапазоне –32768, +32767. Хорошими парамет- рами показали себя также числа

= 7 5
= 16807 и m = 2 31
–1.
Мультипликативный метод является частным случаем преды- дущего при

= 0, опирается на формулу
1
mod
i
i
n
n
m

 
(25) и задает последовательность неотрицательных целых чисел
 
i
n
, не превосходящих m. Если взять m равным наибольшему простому числу, которое меньше чем 2
b
и
m
 
, то максимальный период будет
1
m

. Для получения случайных чисел предлагается такой алгоритм:
1. Берем число
x
0 содержащее < 9 знаков.
2. Умножаем его на

с числом знаков >5.
3. Умножаем результат на 1/m.


28 4. Берем дробную часть результата 3.
5. Исключить из числа, полученного на шаге 4 запятую и ис- пользовать его в качестве х, умножаемого на

в шаге 2.
6. Повторять шаги 2-5 до получения нужного количества слу- чайных чисел.
В работе Теннат-Смита [6] была предложена аналогичная фор- мула


1
n
n
n
R
M R
D INT M R D



 

,
(26) которая при соответствующем подборе целых чисел M и D выраба- тывает случайные целые числа в интервале от 1 до D-1. Отличную пару представляют числа M = 8192 и D = 67101323. Число D долж- но быть больше M

(M – 1) и меньше M
2
.Числа M = 10 и D = 97 можно взять для проверки работы нижеследующего алгоритма, ко- торый также трудно реализуем на GWBasic из-за ограниченного диапазона целых чисел.
10 M = 8192:D = 67101323 20 B = M

MD
30 INPUT”ВВЕДИТЕ ДЛИНУ СЕРИИ”;N
40 INPUT”ВВЕДИТЕ НАЧАЛЬНОЕ ЦЕЛОЕ ЧИСЛО (ОТ 1 ДО D–1);S
50 R = S
60 FOR I = 1 TO N
70 C = INT(R/M)
80 R = B

C + M

(R–M

C)
90 IF R >D THEN R = R–D
100 PRINT R,R/D
110 NEXT
4.
М
ОДЕЛИ ЗАДАЧИ
,
ИСПОЛЬЗУЮЩИЕ ГЕНЕРАТОРЫ
СЛУЧАЙНЫХ ЧИСЕЛ
4.1. Одномерная модель случайных блужданий [1]
Пьяница может двигаться от фонарного столба только по пря- мой направо либо налево (рис. 5) . Все шаги одинаковы по длине и равны l. Направление движения не зависит от предыдущих шагов.
Пьяница делает шаг вправо с вероятностью р и шаг влево с вероят- ностью q = 1 – p. Пусть n
1
– число шагов вправо, а n
2
– число шагов влево. Полное число шагов
1 2
N
n
n
 

29
Рис. 5. Одномерные случайные блуждания пьяницы
Тогда полное смещение от фонарного столба (координата 0) по- сле N шагов равно


1 2
1
x
n
n



, где
1 1
N
x
N

 
. Определим вероятность того, что после N шагов пешеход окажется на расстоя- нии x от столба. Среднее смещение
N
x
и дисперсия
2
N
x

да- ются формулами
 
1 1
N
N
N
x
N
x
xP
x



и
2 2
2
N
N
N
x
x
x



,
(27) где
 
1 2
2 1
N
N
N
x
N
x
x P
x



и
 
N
P
x
есть вероятность того, что после N шагов пешеход окажется на расстоянии x от столба.
Усреднение проводится по всем блужданиям из N шагов. Задача имеет аналитическое решение, полученное по марковской теории цепей, вида


1
N
x
p
q N


и
2 2
4 1
N
x
pqN

(28)
В симметричном случае
1 2
p
q
 
значение
0
N
x

. Про- грамма, реализующая случайное блуждание приведена ниже
5 CLS
10 SCREEN 9 20 LINE(0,175)–(640,175)
30 CIRCLE(320,150),5 40 LINE (320,155)–(320,170)
50 FOR I=0 TO 640 STEP 10 60 LINE(I,172)–(I,177)
70 NEXT
75 FOR D=1 TO 100 77 X=0 80 FOR I=1 TO 100