Алгоритм 3. Вычисление kP. Вход: k, P е E [F3„ ] Выход: kP
Использовать алгоритм 1 для нахождения а = kmodтт -1.
Использовать алгоритм 2 для нахождения
i-i
а = £ к, т'
i=0
Q ^ O
fori ^ l-1,0 do
Q ^xQ
If к' = 1 then Q ^ Q + P end if
if ki = -1 then
Q ^ Q - P
end if end for return (Q)
Средняя сложность алгоритма составит
2m
-A + mxM, где A - сложность сложения; xM -
3
сложность вычисления отображения т .
Использование метода разбиения для прямой модификации метода Коблица-Солинаса
Разобьем ряд по основанию т на две половины (см.: Robert P. Gallant, Robert J. Lambert, Scott A. Vanstone. Faster Point Multiplication on Elliptic Curves with Efficient Endomorphisms. 2001):
kP = km-1Xm-1 (P) + ...Цт1 (P) + k 0 x0 (P) =
■ k Tm
+k„
, (m-1)
1 (P) +... + k (m-1) т 2 (P) +
1 (P) +... + k 0т0 (P)
(m-1)
Обозначим Q = т 2 (P), тогда
(m-1) 1
kP = т 2 -1 (km-1Q + k P) + ...+
2 1
+т0 (k(m-1,Q + k 0P).
(4)
Главное свойство полученной последовательности (4) состоит в том, что длина последовательности уменьшается наполовину. Алгоритм 3 использует разбиение при вычислении kP .
Алгоритм 4. Метод разбиения. Вход: k, P е E [F3 ] Выход: kP
Использовать алгоритм 1 для нахождения а = kmodтm -1.
Использовать алгоритм 2 для нахождения
m-1
а = S ki т'
i=0
If m s 1mod 2 then m ^ m +1
km-1 ^ 0
end if m
Q = тf (P)
Предвычислим: P + Q,P - Q, - P - Q, - P + Q R ^ O
for i ^ m/ 2 -1,0 do R ^R
S ^ km/2+iQ + kiP
R ^ R + S return (R)
Средняя сложность алгоритма составит
2A + mA + miM .
2
Таблица 2 содержит оценки сложности изложенных ранее методов с предложенным (A -стоимость сложения двух точек; тМ - сложность отображения т).
Таблица 2
Операции Стоимость
Прямая модификация метода Коблица-Солинаса 2mA + m!M
Метод разбиения 2A + m A + m!M
Очевидно, что при выборе т > 12 использование метода разбиения по сравнению с прямой модификацией метода Коблица-Солинаса будет давать выигрыш.
-1
ИНФОРМАЦИОННАЯ СИСТЕМА ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ ТОРФЯНЫХ ПОЖАРОВ
Б.В. Палюх, д.т.н., Р.Е. Цветков (Тверь)
Для предупреждения и своевременной ликвидации торфяных пожаров важно своевременное их прогнозирование, поэтому весьма актуальной является разработка информационной системы, позволяющей прогнозировать наиболее вероятные места возникновения торфяных пожаров при различных вариантах погодных условий и воздействий со стороны человека.
Основными компонентами системы являются: — система мониторинга, обеспечивающая определение параметров текущего состояния объекта и окру-
жающей среды, прогнозирование возможного состояния среды и получение других необходимых исходных данных;
— система имитационного моделирования пожарной опасности, осуществляющая на основе полученных данных прогнозирование вероятности возгораний в различных точках на определенные сроки, распространения возникших пожаров, объема выбросов вредных веществ и др.;
— база знаний;
— лицо, принимающее решения о профилактике возникновения пожаров и мерах по их ликвидации на основе информации, полученной в результате функционирования перечисленных систем.
Работа посвящена проектированию и реализации системы имитационного моделирования, входящей в состав системы прогнозирования пожарной опасности. Система состоит из следующих блоков.
Блок визуализации - используется для отображения карт торфяных месторождений, в том числе трехмерных, и динамического нанесения на них результатов моделирования. Реализован на основе геоинформационной системы MapInfo.
База данных - содержит сведения о торфяных месторождениях и пространственном распределении свойств торфа, наличии средств пожаротушения, текущей и прогнозной метеообстановке и т.д. В качестве базы данных можно использовать Microsoft Access или внутреннюю базу MapInfo. Взаимодействие клиентского приложения с Microsoft Access реализовано с помощью технологии ADO (ActiveX Data Objects). Для осуществления этого взаимодействия может потребоваться установка дополнительных библиотек.
База имитационных моделей - содержит различные модели горения и распространения пожара, определения объема выбросов и распространения задымления, изменения уровня грунтовых вод и др. Внешнее хранение моделей позволяет модифицировать их без изменения программного кода, что делает систему гибкой. В разрабатываемой системе база состоит из моделей в формате SIMULINK и их описаний на языке, понятном клиентскому приложению. Описание модели содержит перечень ее входов и выходов. Для каждой входной и выходной величины указаны ее наименование, единица измерения, имя в системе SIMULINK.
Блок имитационного моделирования - обеспечивает собственно проведение имитационного моделирования с использованием пакета SIMULINK, входящего в состав системы компьютерной математики MATLAB.
Клиентское приложение - обеспечивает взаимодействие остальных компонентов. На основе описаний имитационных моделей приложение динамически формирует интерфейс пользователя для ввода исходных данных, выполняет необходимые запросы к базе данных, передает исходные данные блоку имитационного моделирования, получает от него результаты и в соответствии с характером действий, предписанным описанием модели, выдает результат пользователю или наносит его на электронную карту. Взаимодействие клиентского приложения с блоками имитационного моделирования и визуализации организовано на основе технологии OLE (Object Linking Embedding - внедрение и связывание объектов), предоставляющей возможность одной программе (клиенту) работать с объектом другой
программы (сервером). Клиентское приложение создавалось в среде программирования Visual Basic.
Генератор описаний - формирует описание моделей на основе данных, вводимых пользователем.
Обобщенную схему функционирования разрабатываемой системы представим в следующем виде.
1. В базу данных заносятся исходные данные из системы мониторинга.
2. Пользователь выбирает имитационную модель: горения или распространения пожара, определения объема выбросов или распространения задымления и т.д.
3. На основе описания выбранной модели динамически формируется интерфейс пользователя для ввода исходных данных модели.
4. Пользователь вводит исходные данные.
5. На основе описания выбранной модели формируются и выполняются запросы к базе данных для получения хранящихся там исходных данных.
6. Исходные данные передаются блоку имитационного моделирования.
7. Осуществляется имитационное моделирование по выбранной модели.
8. В зависимости от характера действий, предписанного описанием выбранной модели, полученные результаты выдаются пользователю или наносятся на электронную карту. Возможно совмещение этих действий: выдача результатов и нанесение их на карту возможны как по окончании моделирования, так и в его ходе.
С помощью разрабатываемой информационной системы проводилось моделирование распространения торфяного пожара по упрощенным формулам. Исходными данными были скорость и направление ветра и точка возникновения пожара.
Скорость распространения пожара вычислялась по формуле Vn=((VB-4)/26,4)2, где Vn - скорость распространения пожара, м/с; VB - скорость ветра, м/с. Площадь пожара, как правило, приобретает угловую форму с расширением по направлению ветра. Зависимость угла развития пожарища а° от скорости ветра выражается формулой а=65-2,6 VB. Формула справедлива при скорости ветра от 6 до 20 м/с.
После вычисления угла развития и скорости распространения пожара площадь пожара через определенный период после его возникновения вычислялась по формуле Fn=nVn2t2a/360, где Fn - площадь пожара, м2; t - время, прошедшее с момента возникновения пожара, с.
После вычисления перечисленных величин на карту наносились границы территории, охваченной пожаром через определенное время после его начала.
С помощью разрабатываемой информационной системы возможно получение и нанесение результатов на электронную карту.
Поздравляем заместителя главного редактора международного журнала «Программные продукты и системы», доктора технических наук, профессора
Н.А. Семенова с 55-летием! Желаем здоровья, творческих успехов!
Редакция