Вестник ТГПИ Естест венные науки Раздел IV. Информатика С.Г. Буланов СХЕМА КОМПЬЮТЕРНОГО АНАЛИЗА УСТОЙЧИВОСТИ СИСТЕМ ЛИНЕЙНЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ С НЕЛИНЕЙНОЙ ДОБАВКОЙ Исследования устойчивости по Ляпунову составляют актуальное направление в качественной теории дифференциальных уравнений. Для технических приложений представляется важным обеспечить возможность компьютерного анализа устойчивости в режиме оперативного контроля за протеканием моделируемого процесса. Существенно обеспечить мониторинг состояния устойчивости системы в режиме реального времени. Рассматривается задача Коши для системы дифференциальных уравнений dY A ( t )Y F ( t , Y ) , dt Y ( t 0 ) Y0 , (1) где A (t ) – матрица n n , F ( t, Y ) вектор-функция. Все коэффициенты A (t ) функции ai j (t ) i, j 1,..., n и элементы F ( t, Y ) определены, непрерывны и непрерывно дифференцируемы на отрезке t0 , T при любом выборе T const , T t0 , . n Всюду ниже используется каноническая норма матрицы A max 1 i n a i k и согласован- k 1 ная с ней норма вектора Y max yk . 1 k n Предполагается, что 0 , такое, что для каждого невозмущенного и возмущенного решения (1) с начальными данными, удовлетворяющими неравенству ~ Y0 Y0 , (2) выполнены все условия существования и единственности решения на t 0 , . Требуется исследовать решение задачи (1) на устойчивость в смысле Ляпунова в области ~ ~ (3) R : { t0 t ; Y ( t ) , Y ( t ) : Y0 Y0 } . Традиционное определение устойчивости заимствовано из [3] с упрощениями [1, 2] на случай рассматриваемой области R . В данных условиях для T t0 , на отрезке t0 , T выполнено [2]: 1) A ( t ) c , где c const зависит от T ; 2) пусть g k ( ti , Yi ) ak1 ( ti ) y1(i ) ... ak n ( ti ) yn (i) , тогда ~ g k ( t , Y ( t ) ) c1 , g k ( t , Y ( t ) ) c1 , где ~ c1 const зависит от T и Y0 , k 1,... , n . Исследование системы (1) проводится в предположении, что устойчива соответствующая ей линейная система dY A ( t )Y , dt Y ( t 0 ) Y0 . (4) Имеет место Теорема 1 [1, 2]. Чтобы в рассматриваемых условиях решение задачи (4) было устойчиво, необходимо и достаточно выполнение неравенства 118 Раздел IV. Информатика i lim ( E h A(t i 0 i ) ) c E const (5) для t t0 , . Решение асимптотически устойчиво тогда и только тогда, когда выполнено (5) и, кроме того, имеет место соотношение i lim ( E h A(t i 0 i )) 0 (6) при t . Конструируемый метод анализа устойчивости опирается на разностную схему решения системы (1). В качестве разностной схемы выбран метод Эйлера, который для системы (1) имеет вид Yi1 Yi h A ( ti ) Yi h F ( ti , Yi ) , i 0,1,... , или Yi1 ( E h A ( ti ) ) Yi h F ( t i , Yi ) , (7) где h – шаг разностной схемы, узлы которой здесь и всюду ниже предполагаются равноотстоя- щими; при любом выборе t const , t t0 , , h , i и t всегда предполагаются связанными соотношениями: ti1 t0 , i 0,1,... . i 1 Для возмущённого решения системы (1) разностная схема (7) примет вид ~ ~ ~ Yi 1 ( E h A ( ti ) ) Yi h F ( t i , Yi ) , ~ ~ ~ где Y ( t0 ) Y0 , Y0 из (2). t t i 1 , h (8) (9) Соответствующие приближённым решениям (7), (9) точные решения могут быть представлены в форме метода Эйлера с остаточным членом на каждом шаге, остаточный член понимается как векторная разность между точным решением и его приближением по методу Эйлера. Иными словами, ~ ~ ~ ~ (10) Yi1 ( E h A ( ti ) )Yi h F ( t i ,Yi ) E i , Yi 1 ( E h A ( ti ) ) Yi h F ( ti , Yi ) E i , ~ где E i , E i – векторы остаточных членов ~ ~ ~ E i ( E1i ,..., E n i ) , E i ( E 1i ,..., E n i ) , компоненты которых описываются ниже. Для определения и оценки компонент остаточного члена E i запишем систему (1) подробно: dyk k ( ti , Yi ) , dt k ( ti , Yi ) ak 1 ( ti ) y1 i ... ak n ( ti ) yn i f k ( ti , Yi ) , k 1,... , n . (11) Замечание 1. Условия накладываемые на систему (1) в совокупности с ограничениями, накладываемые на элементы матрицы A (t ) , обеспечивают то, что правая часть (11) определена, непрерывна, непрерывно дифференцируема на отрезке t t0 , . t0 , t при любом выборе t const , Точное решение (11) определяется равенством yk (i1) yk i h k ( ti , Yi ) E k i , k 1, ..., n , (12) где E k i – остаточный член формулы Тейлора. Для уравнения с номером k остаточный член можно представить в виде 1 2 E k i k ( ti k i h, Y ( ti k i h ) ) h 2 , 0 k i 1 , k 1,..., n . (13) 119 Вестник ТГПИ Естест венные науки Аналогично ~ ~ ~ ~ 1 2 В рассматриваемых ограничениях с учетом непрерывной дифференцируемости функций ~ k ( t , Y ) справедливо, что первые производные функций k ( t , Y ( t ) ) , k ( t , Y ( t ) ) , k 1, ..., n E k i k ( ti k i h, Y ( ti k i h ) ) h 2 , 0 k i 1 , k 1,..., n . ограничены одной и той же константой на отрезке t 0 , t : ~ k ( t , Y ( t ) ) c2 , k ( t , Y ( t ) ) c2 , c2 c2 ( t ) const при любом выборе t const , t t0 , , для всех k 1, ..., n . В этих условиях коэффициент перед h 2 в формуле (13) ограничен на отрезке t0 , t и имеют место неравенства: ~ ~ 1 1 (14) c2 h 2 , E i max E k i c2 h 2 . 1 k n 1 k n 2 2 С учетом введенных ограничений и предварительных утверждений ниже выводятся условия устойчивости решения системы (1). Из (10) разность между возмущённым и невозмущённым решением имеет вид точного равенства: ~ ~ ~ Yi 1 Yi 1 ( E h A ( ti ) ) ( Yi Yi ) h ( F ( ti , Yi ) F ( ti , Yi ) ) E i , (15) E i max E k i ~ ~ где E i E i E i . Поскольку E i E i E i , то E i c2 h 2 . (16) Для системы (1) рекуррентное преобразование (15) влечет равенство ~ Yi 1 Yi 1 i ( E h A( t i ~ ) ) ( Y0 Y0 ) DE i S E i , (17) 0 где i DE i i r E h A t h F t r 1,Y~r 1 F t r 1,Yr 1 h F t i ,Y~i F t i ,Yi , i (18) r 1 0 ir i SEi ( E h A ( t i ) ) E r 1 E i , (19) r 1 0 где E i имеет тот же вид, что в (13), (15). Переходя к пределу в равенстве (17) при h 0 , что равносильно i , получим ~ Y ( t ) Y ( t ) lim i i ( E h A( t i ~ ) ) ( Y0 Y0 ) lim DE i lim S E i , i 0 i (20) На основании (16) и того, что норма матрица A(t ) ограничена на [ t0 , T ] для T t0 , , имеет место Лемма 1. В рассматриваемых условиях выполняется соотношение S E i O( h ) . Доказательство. Произведение под знаком суммы в (19) оценивается из неравенства i r 0 i r ( E h A ( ti ) ) E r 1 ( E h A ( t i ) ) E r 1 , r 1, ... , i . 0 С учётом ограниченности матрицы A по норме и неравенства (16) получим, что 120 (21) Раздел IV. Информатика i r ( E h A(t i ) ) E r 1 c2 h 2 (1 ch ) i r 1 , r 1, ... , i . 0 Отсюда i 1 S E i c2 h 2 1 ch i r 1 , r 1 или i S E i c2 h 2 1 ch . 0 Суммирование геометрической прогрессии влечёт SEi c2 h (1 c h ) i 1 1 . c Отсюда с учётом (8) следует, что ti 1 t0 c2 h 1 c h h 1 , SEi c2 . c Тем более, верно неравенство где c2 S E i c2 h e c ( ti 1 t0 ) 1 . (22) При любом выборе t t i 1 , t const , t t0 , , и при переменном i , h ется соотношение c2 e с ( t t0 ) 1 h 0 , если t t0 i 1 , выполня- h 0 . Отсюда и из (22) вытекает, что S E i O (h ) . Лемма доказана. В условиях леммы 1 имеет место равенство lim S E i 0 . (23) h 0 С учетом равенства (23) соотношение (20) примет вид ~ Y ( t ) Y ( t ) lim i i ( E h A( t i ~ ) ) ( Y0 Y0 ) lim DE i . i 0 (24) Предположим, что решение задачи (1) устойчиво. ~ Тогда для ~ 0 0 , такое, что из неравенства Y0 Y0 следует ~ ~ t [ t 0 , ) . Y (t ) Y (t ) 2 С учетом (24) и в соответствии с (25) с необходимостью выполняется неравенство i lim i ~ ( E h A( ti ) ) ( Y0 Y0 ) lim DE i i 0 ~ (25) (26) 2 для t t0 , . Из (26) следует i lim DEi lim i i 0 ~ ( E h A ( ti ) ) ( Y0 Y0 ) ~ 2 (27) 121 Вестник ТГПИ Выбирая Естест венные науки ~ ~ ~ ( E h A ( t i ) ) ( Y0 Y0 ) . 2 0 i 2 cE , получим Отсюда и из (27) следует, что lim i lim DE i ~ i lim DE i i 2 ~ 2 или ~ , t t0 , . (28) Условие (28) является необходимым условием устойчивости. Докажем, что это условие достаточно для устойчивости решений системы (1). ~ Из (24) получаем lim DE i Y ( t ) Y ( t ) lim i ~ Y ( t ) Y (t ) i i Выбирая в (2) lim i ~ 2c E ( E h A(t i )) i ( E h A( t i ~ ) ) ( Y0 Y0 ) . Отсюда 0 ~ Y0 Y0 lim DE i , t t 0 , . i 0 (29) , где c E из (13), получим, что величина возмущения в (29) оценива- ется из неравенства ~ ~ 3~ , t t0 , . Y ( t ) Y ( t ) ~ 2 2 2 Выбирая в соотношениях (25) – (30) ~ , получим, что 3 ~ Y ( t ) Y ( t ) , t [ t0 , ) . (30) (31) Таким образом, для произвольного 0 указано , такое, что из неравенства ~ Y0 Y0 , следует неравенство (31). Это по определению означает устойчивость невозмущенного решения системы (1). Достаточность доказана. Тем самым доказана. Теорема 2. Чтобы в рассматриваемых условиях и при условии устойчивости системы (4) решение задачи (1) было устойчиво, необходимо и достаточно, чтобы для произвольного ~ 0 ~ нашлось 0 такое, что при Y0 Y0 выполнялось неравенство (28). Следствие 1. В условиях теоремы 2 для устойчивости решения системы (1) необходимо и достаточно чтобы выполнялось неравенство ~ Y ( t ) Y ( t ) lim i i ( E h A(t i ~ ) ) ( Y0 Y0 ) ~ , (32) 0 для t t0 , . Доказательство следствия вытекает из равенства (24) и утверждения теоремы 2. Полученное условие устойчивости ориентировано на программную реализацию. Выражение, стоящее под знаком нормы в (32), программируется и, таким образом, можно выполнять анализ устойчивости на компьютере. На каждом шаге работы программы будут находиться разностные приближения возмущенного и невозмущенного решений и циклически накапливаться частичное матричное произведение. Через фиксированное (для удобства) количество шагов будет выводиться на экран текущее значение нормы из левой части неравенства (32). По асимптотическому поведению этих значений нормы будет делаться вывод о характере устойчивости решения системы – неограниченный рост нормы будет свидетельствовать о неустойчивости, ограниченность нормы соответствует устойчивости. 122 Раздел IV. Информатика Ниже приводится текст программы на языке программирования Object Pascal в среде Delphi 7: program nelinkriter; {$APPTYPE CONSOLE} uses SysUtils; const h=0.00001; n=2; t0=0; TT=1000; eps1=0.0000111; eps2=0.0000111; y01=0; y02=0; yv01=y01+eps1; yv02=y02+eps2; type matr=array[1..n,1..n] of extended; stolb=array[1..n] of extended; var A,B,C:matr; delta,yv,ym:stolb; t,s,norma,norma1,norma2:extended; y1,y2,y11,yv1,yv2,yv11:extended; i,j,l:integer; k:longint; procedure matrprav (t:extended; var A:matr); begin a[1,1]:=sin(t); a[1,2]:=cos(t); a[2,1]:=-cos(t); a[2,2]:=sin(t); end; function f1(t,y1,y2:extended):extended; begin f1:=sin(t)*y1+cos(t)*y2-t*sin(y1); end; function f2(t,y1,y2:extended):extended; begin f2:=-cos(t)*y1+sin(t)*y2-sqr(y1)*y2; end; procedure metod_E (var A:matr); begin matrprav (t,A); for i:=1 to n do for j:=1 to n do begin a[i,j]:=h*a[i,j]; if i=j then a[i,j]:=a[i,j]+1; end; end; begin t:=t0; k:=0; metod_E (A); y1:=y01; y2:=y02; yv1:=yv01; yv2:=yv02; delta[1]:=yv01-y01; delta[2]:=yv02-y02; repeat y11:=y1; y1:=y1+h*f1(t,y1,y2); y2:=y2+h*f2(t,y11,y2); yv11:=yv1; yv1:=yv1+h*f1(t,yv1,yv2); yv2:=yv2+h*f2(t,yv11,yv2); yv[1]:=yv1-y1; yv[2]:=yv2-y2; if abs(yv[1]/delta[1])>abs(yv[2]/delta[2]) then norma1:=abs(yv[1]/delta[1]) else norma1:=abs(yv[2]/delta[2]); if abs(yv[1])>abs(yv[2]) then norma2:=abs(yv[1]) else norma2:=abs(yv[2]); for i:=1 to n do begin ym[i]:=0; for j:=1 to n do ym[i]:=ym[i]+(a[i,j]*delta[j]); end; for i:=1 to n do yv[i]:=yv[i]-ym[i]; norma:=abs(yv[1]); for i:=1 to n do if abs(yv[i])>norma then norma:=abs(yv[i]); t:=t+h; 123 Вестник ТГПИ Естест венные науки metod_E (B); for i:=1 to n do for j:=1 to n do begin s:=0; for l:=1 to n do s:=s+a[i,l]*b[l,j]; c[i,j]:=s; end; for i:=1 to n do for j:=1 to n do a[i,j]:=c[i,j]; k:=k+1; if k>=5000000 then begin writeln('t=',t:4:0,' ','norma=',norma:12,' ', 'norma1=',norma1:12,' ','norma2=',norma2:12); k:=0; end; until t>=TT; writeln; writeln; {Вывод конечной матрицы} for i:=1 to n do begin for j:=1 to n do write(' ',a[i,j]:13); writeln; end; readln; readln; end. Приближение к ~ Y ( t ) Y ( t ) lim i i ( E h A( t ~ i ) ) ( Y0 Y0 ) на промежутке моделиро- 0 вания строится по шагам разностной схемы таким образом, что шаг h не стремится к нулю, а непосредственно фиксируется достаточно малым. Как показал программный и численный эксперимент [2], при этом сохраняется достоверность компьютерного анализа устойчивости. Полученные условия позволяют определить характер устойчивости, асимптотической устойчивости либо неустойчивости систем ОДУ данного класса без представления решения в аналитической форме непосредственно по значениям разностных приближений. Мультипликативная форма выражений под знаком предела в левой части предоставляет возможность запрограммировать вычисление этих выражений в виде цикла по числу сомножителей. Это влечет предпосылки компьютерного анализа устойчивости в режиме реального времени без обращения к аналитическим методам качественной теории дифференциальных уравнений и к системам компьютерной математики. БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Буланов С.Г. Разработка и исследование методов программного моделирования устойчивости систем линейных дифференциальных уравнений на основе матричных мультипликативных преобразований разностных схем: дис. … канд. техн. наук. Таганрог: ТРТУ. 2006. 232 с. 2. Ромм Я.Е., Буланов С.Г. Метод компьютерного анализа устойчивости систем линейных дифференциальных уравнений / ТГПИ. Таганрог,2009. 119 с. ДЕП в ВИНИТИ 30.04.09, № 268. В 2009. 3. Чезари Л. Асимптотическое поведение и устойчивость решений обыкновенных дифференциальных уравнений. М.: Мир, 1964. 478 с. 124 Раздел IV. Информатика М.И. Васин, В.Ф. Горбатюк, Д.Г Кобзев, М.В. Лойтаренко ПОРТАЛ УЧЕБНОГО ЗАВЕДЕНИЯ «1С-БИТРИКС» Современное образовательное учреждение – это в том числе и высокий уровень информатизации и проникновения интернет-технологий во внутренние бизнес-процессы и в учебный процесс. Большинство учащихся сегодня являются продвинутыми пользователями Интернета и его современных сервисов. Сегодня все эти возможности можно применять в образовательном процессе, и обеспечить учащимся привычную и комфортную среду для образования и творчества. Уже недостаточно сделать простой сайт для учащихся, сегодня необходимо применять в нем современные веб-технологии, особенно принципы веб 2.0: блоги, социальные сети и инструменты коллективной работы, размещение фото и видео-контента, мгновенные сообщения, картографические сервисы, mash-up, RSS и множество другой информации и способов ее получения и работы с ней. Именно в этом случае внутренние порталы для учащихся и преподавателей могут стать эффективным образовательным инструментом. Кроме этого, кризис заставил обратить внимание и на внутреннюю эффективность организации: уменьшение издержек на обмен и поиск информации, автоматизацию документооборота и рабочих процессов и др. Портальные решения для сотрудников могут решить множество проблем и добиться великолепных результатов! «1C-Битрикс: Внутренний портал учебного заведения» - это решение, построенное на базе 1C-Битрикс: Корпоративный портал редакции Бизнес-процессы, в полной мере наследующее все функциональные возможности данного продукта, но адаптированное под задачи образовательных учреждений. Компания 1С-Битрикс подготовила специальный дистрибутив, который развертывает преднастроенное портальное решение, учитывающее специфику учебного заведения: с готовой структурой внутреннего сайта, учитывающей потребности пользователей; с демонстрационным контентом, помогающим быстрее оценить спектр решаемых задач; с дополнительными шаблонами дизайна для лучшей адаптации к стилистике организации; с преднастроенными группами пользователей и правами доступа к ресурсам системы. Рис. 1 Библиотека 125 Вестник ТГПИ Естест венные науки Основная задача продукта – предоставить сотрудникам, преподавателям и учащимся образовательного учреждения удобный инструмент для хранения и накопления информации, оперативного взаимодействия, обсуждения и коллективной работы над задачами, автоматизации бизнес-процессов. Возможности продукта для преподавателей: Поддержка учебного процесса и коммуникаций с учащимися. На портале вы быстро найдете все необходимые вам материалы; Информация о расписании занятий; Резервирование аудиторий; Списки учащихся онлайн; Публикация учебных материалов; Получение результатов работы от учащихся; Тестирование знаний учащихся, проведение опросов. В настоящее время разработчики предлагают только два типа вопросов при составлении теста: одиночный выбор и множественный выбор. Предварительно перед созданием теста необходимо в сервисе «Обучение» создать курс. После его создания можно выполнить следующие действия: загрузить материалы уроков, создать вопросы которые будут использоваться в тесте, задать настройки для теста. Рис. 2. Настройка теста «1C-Битрикс: Внутренний портал учебного заведения» позволяет осуществить привязку конкретных вопросов к определенным урокам. При создании теста можно выбрать, каким образом осуществить формирование теста, указав в какие вопросы участвуют в тесте – все вопросы курса, N вопросов со всего курса, N вопросов из каждой главы, N вопросов с каждого урока. Так же возможна установка количества попыток, установка ограничения по времени. В программе реализована функция выбора типа прохождения теста: Запретить переход к следующему вопросу без ответа на текущий вопрос, пользователь не может изменять свои ответы. Разрешить переход к следующему вопросу без ответа на текущий вопрос, пользователь не может изменять свои ответы. Разрешить переход к следующему вопросу без ответа на текущий вопрос, пользователь может изменять свои ответы. 126 Раздел IV. Информатика Рис. 3 Расписание занятий Возможности продукта для учащихся: Вы легко сможете обмениваться информацией с преподавателями и другими учащимися; Получение полной информации об учебном заведении; Информация о расписании занятий и преподавателях; Онлайн-ознакомление с учебным материалом; Совместная работа над проектами и задачами; Публикация результатов работы и возможность обсуждения; Личные блоги, календари, хранилища файлов; Сервис обмена мгновенными сообщениями. Рис . 4 Электронные заявки Возможности продукта для сотрудников: Автоматизация ежедневной работы – вы сможете оперативно взаимодействовать, совместно работать над документами, проектами и задачами, вести планово-организационная деятельность и получать весь необходимый объем информации: Приказы и новости учреждения; Инструкции и положения; Организационная структура и справочник сотрудников; Структура учебных групп и списки учащихся; Кадровые изменения, отсутствия и награждения сотрудников; Бланки и формы документов. 127 Вестник ТГПИ Естест венные науки Рис. 5. График отсутствий Вывод: рассмотренный выше образовательный портал учебного заведения расширяет возможности разработки методов мониторинга эффективности и качества преподавания в вузах, что весьма актуально. БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. По материалам сайтов http://www.1c-bitrix.ru/ и http://internet.gendalf.ru/. В.М. Глушань, А.Ю. Афанасьев АЛГОРИТМЫ ОПТИМИЗАЦИИ ТЕСТОВЫХ ЗАДАНИЙ Введение. Итогом любого процесса обучения является контроль знаний обучающихся. Существуют различные виды контроля – промежуточный, рубежный, итоговый. При промежуточном контроле осуществляется контроль знаний по отдельным темам или даже частям тем. Объем контролируемой информации относительно небольшой, поэтому всем обучаемым могут предъявляться все или почти все вопросы изученного материала, то есть проводится сплошной контроль. При рубежном контроле объем контролируемых сведений значительно увеличивается, поэтому для аттестации контрольные вопросы обучаемым могут предъявляться только выборочно. При итоговом контроле объем контролируемой информации увеличивается еще больше. Поэтому предъявляемые обучаемым контрольные вопросы не могут равномерно покрыть все темы и разделы изучаемого предмета или курса. Тем не менее, по таким нерепрезентативным выборкам приходится оценивать знания обучаемых. В этих случаях начинает сказываться доля везения, вероятность попадания в тестовое задание или экзаменационный билет легких вопросов. Отмеченная ситуация возникает при оценке знаний, например на государственных экзаменах, когда вопросы компонуются из нескольких дисциплин, при поступлении в различные учебные заведения, особенно в высшие и т.п. Поэтому возникает проблема формирования тестовых заданий (билетов) таким образом, чтобы они могли объективно оценивать знания по малым нерепрезентативным выборкам. 128 Раздел IV. Информатика Одним из подходов, способствующим решению данной проблемы, является формирование тестовых заданий равной сложности. Такой подход рассматривается в [1], где предложен алгоритм и реализованная на его основе компьютерная программа, а также приводятся экспериментальные исследования этого подхода. Эти исследования показали, что дисперсия сложности тестовых заданий при их формировании по предложенному алгоритму существенно возрастает при формировании одного или нескольких последних тестовых заданий, что является недостатком данного алгоритма. В настоящей работе предлагаются и экспериментально исследуются и другие алгоритмы формирования тестовых заданий, обладающие лучшими характеристиками. Наилучший вариант распределения вопросов по билетам можно получить полным перебором всех вариантов. Однако при полном переборе вариантов и оценке их сложности с целью выбора наилучшего могут потребоваться огромные временные ресурсы. Действительно, число вариантов в рассматриваемой задаче должно подсчитываться как число сочетаний из заданного числа вопросов n по числу вопросов m в каждом билете, то есть по формуле Сnm n!/ m!(n m)!. Не- смотря на то, что сами алгоритмы формирования различных сочетаний, их можно найти, например, в монографии [2], известны, их применение в данном случае не представляется возможным. Так, например, при реальном числе вопросов n 100 и числе вопросов в билете m 5 число вариантов будет составлять величину, большую чем 7,5 107 . Сформировать и проанализировать такое число сочетаний даже на современном компьютере за приемлемое время не реально. Это говорит в пользу того, что для решения рассматриваемой задачи необходимо применять специальные эвристические алгоритмы. Алгоритмы компоновки тестовых заданий. Все многообразие алгоритмов распределения вопросов по билетам можно разбить на два класса: Класс последовательных алгоритмов; Класс параллельных алгоритмов. Рассмотрим особенности алгоритмов каждого из этих классов. Суть последовательных алгоритмов состоит в том, что тестовые задания заполняются во- просами поочередно. Сначала происходит подсчет среднего балла вопросов, которые должны быть в билете, а затем начинается распределение вопроса по i-му билету, исходя из его стоимости и стоимости уже распределенных в этот билет вопросов. Этот алгоритм обеспечивает довольно большую скорость распределения, но как показали эксперименты, имеет дов ольно неравномерное распределение вопросов по билетам. Поэтому после завершения распределения вопросов, необходимо дополнительно произвести процедуру улучшения результатов их распределения. Блок-схема последовательного алгоритма распределения представлена на рис. 1. 129 Вестник ТГПИ Естест венные науки Н Начальные данные о количестве билетов, кол-ве вопросов в билете, их сложности Да Вопросы распределены во все билеты ? Формирование отчета К Нет Переход к следующему вопросу Да Достигли распределения N билета? Нет Определяем сумму баллов, уже занесенных в N билет Расчет планируемой стоимости вопроса по формуле Поиск еще не распределенного вопроса расчетной сложности Поиск вопроса со сложностью наименее отличающуюся от расчетной нет Вопрос расчетной сложности найден да Распределение найденного вопроса в N билет Рис. 1 Блок-схема последовательного алгоритма Основное отличие параллельного алгоритма от последовательного состоит в том, что на каждом шаге его работы все билеты получают по одному вопросу одновременно. Это позволяет, если не полностью избежать, то, по крайней мере, уменьшить влияние на результат распределения того факта, что к концу процесса распределения мы можем остаться с наиболее сложными вопросами, и тем самым общий балл последнего билета (или нескольких) будет значительно превышать расчетный средний балл. Параллельный алгоритм, в отличие от последовательного позволяет получить более равномерное распределение вопросов по билетам. Однако и здесь приходится прибегать к процедуре улучшения распределения. На рис. 2 приведена блок-схема параллельного алгоритма распределения. 130 Раздел IV. Информатика Н Начальные данные о количестве билетов, кол-ве вопросов в билете, их сложности Да Кол-во распределенных вопросов в билете = кол-ву вопросов в билете? Нет Формирование отчета К Нет Кол-во вопросов в билете < макс. кол-ва в билете? Да Определяем сумму баллов, уже занесенных в N билет Расчет планируемой стоимости вопроса по формуле Поиск еще не распределенного вопроса расчетной сложности Поиск вопроса со сложностью наименее отличающуюся от расчетной нет Вопрос расчетной сложности найден да Распределение найденного вопроса в N билет Рис. 2 Блок-схема параллельного алгоритма С целью устранения недостатков рассмотренных выше алгоритмов выделим наиболее сильные стороны каждого из этих алгоритмов и используем их для построения усовершенствованного комбинированного алгоритма. Наиболее сильная сторона последовательного алгоритма – изначальное формирование расчетной сложности, близкой к среднему значению билета. Однако при этом может возникать негативный эффект последних билетов, состоящий в том, что по мере приближения к окончанию процесса распределения последним билетам достается наименее удобная в численном выражении сложность вопросов, которую достаточно сложно распределить оптимально. Поэтому напрашивается идея: сложность следующего вопроса, который войдет в билет не рассчитывать изначально, а брать наибольшую из нераспределенных вопросов. Но при параллельном распределении эту идею реализовать не удастся, потому что стоимость отдельно взятого билета при таком подходе может значительно возрасти. Отсюда следует, что параллельное распределение вопросов следует начинать с самых сложных вопросов и кончая самыми легкими. Действительно, распределив сначала самые сложные вопросы, затем будет легче варьировать самыми легкими вопросами для достижения сбалансированности суммарной сложности билета. В процессе распределения целесообразно также учитывать, в какой билет нужно распределить самый сложный вопрос на n-м шаге. И, кроме того, после распределения будем сортировать порядок распределения вопросов, по билетам относительно найденного максимального вопроса. Блок-схема усовершенствованного комбинированного алгоритма приведена на рис. 3. 131 Вестник ТГПИ Естест венные науки Н Начальные данные о количестве билетов, кол-ве вопросов в билете, их сложности Да Кол-во вопросов в билете = макс. Кол-ву? Формирование отчета К Нет Выбираем макс. по сложности нераспределенный вопрос Сортировка вопросов по записанной разнице уже распределенных элементов, по увеличению разницы Да Достигли распределения N билета? Нет Ищем среди нераспределенных вопросов, вопрос заданной сложности Заданная Сложность найдена? Да Нет Найденный вопрос закрепляем за текущим билетом Ищем среди нераспределенных вопросов, вопрос максимальной сложности Для этого вопроса разницу шага распределения записываем как сумму вопросов текущего билета Найденный вопрос закрепляем за текущим билетом Для этого вопроса разницу шага распределения записываем как сумму вопросов текущего билета + найденный максимальный элемент Рис. 3 Блок-схема комбинированного алгоритма Для более четкого понимания алгоритма рассмотрим его работу на конкретном примере. Пусть имеется произвольный массив вопросов, заданный таблицей 1. Таблица 1 №№ вопросов Сложность вопроса 1 2 3 4 5 6 7 8 9 10 3 10 7 4 4 7 7 5 2 3 Шаг № 1 Билет № 1: максимальный вопрос стоит 10 баллов. Включаем вопрос № 2 в билет № 10. Билет № 2: максимальный вопрос стоит 7 баллов. Включаем вопрос № 3 в билет № 7. Сортируем билеты по возрастанию суммы распределенных баллов. Таким образом, на следующем шаге первый билет, в который должен быть распределен следующий вопрос, будет билет №2. Получаем таблицу 2. Таблица 2 №№ вопросов Сложность вопроса Распределен в билет № 132 1 2 3 4 5 6 7 8 9 10 3 10 7 4 4 7 7 5 2 3 1 2 Раздел IV. Информатика Шаг № 2 Билет № 2: максимальный вопрос стоит 7 баллов. Включаем вопрос № 6 в билет № 7. Билет № 1: максимальный вопрос стоит 7 баллов. Включаем вопрос № 7 в билет № 7. Сортируем билеты по возрастанию суммы распределенных баллов и получаем таблицу 3. Таблица 3 №№ вопросов Сложность вопроса Распределен в билет № 1 2 3 4 5 6 7 8 9 10 3 10 7 4 4 7 7 5 2 3 1 2 2 1 Шаг № 3 Билет № 2: максимальный вопрос стоит 5 баллов. Включаем вопрос №8 в билет № 5. Билет № 1: максимальный вопрос стоит 4 балла. Включаем вопрос № 4 в билет № 4. Сортируем билеты по возрастанию суммы распределенных баллов и получаем таблицу 4. Таблица 4 №№ вопросов Сложность вопроса Распределен в билет № 1 2 3 4 5 6 7 8 9 10 3 10 7 4 4 7 7 5 2 3 1 2 1 2 1 2 Шаг № 4 Билет №2: максимальный вопрос стоит 4 балла. Включаем вопрос № 5 в билет № 4. Билет №1: максимальный вопрос стоит 3 балла. Включаем вопрос № 1 в билет № 3. Сортируем билеты по возрастанию суммы распределенных баллов и получаем таблицу 5. Таблица 5 №№ вопросов Сложность вопроса Распределен в билет № 1 2 3 4 5 6 7 8 9 10 3 10 7 4 4 7 7 5 2 3 1 1 2 1 2 2 1 2 Шаг № 5 Билет № 2: максимальный вопрос стоит 3 балла. Включаем вопрос № 10 в билет № 3. Билет № 1: максимальный вопрос стоит 2 балла. Включаем вопрос № 9 в билет № 2. Окончательный результат приведен в таблице 6. Таблица 6 2 7 Билет № 1 4 10 7 4 1 9 3 3 2 7 6 Билет № 2 8 5 10 7 5 4 3 133 Вестник ТГПИ Естест венные науки Из таблицы 6 видим, что суммарный балл первого билета равен 26, и суммарный балл второго билета тоже равен 26, то есть мы получили результат, к которому стремились. Таким образом, мы добились того, что оптимизация происходит не после завершения распределения, а во время самого процесса распределения. Как будет показано ниже в серии экспериментов, подтверждается предположение, что комбинированный алгоритм является более сбалансированным, чем последовательный и параллельный алгоритмы при распределении вопросов разной сложности по билетам. Результаты экспериментальных исследований алгоритмов. Для установления более объективной оценки надежности (устойчивости) рассмотренных алгоритмов проведем их исследование для различных исходных данных. Под надежностью мы будем понимать именно тот смысл, который вкладывается в этот термин в сложных технических системах, а именно – способность системы сохранять свои характеристики и выходные параметры в установленных пределах при данных условиях эксплуатации. К алгоритмам такое понимание термина надежности вполне приемлемо, поскольку они, реализованные программно, являются составной частью компьютерной системы. В качестве данных условий эксплуатации в нашем случае будут фигурировать различное число вопросов, различное число билетов, различные оценки сложности вопросов, а также различное число изучаемых тем. Таблица 7 Дисперсия результатов для алгоритмов Кол-во Макс. КолКол-во Мат. оживопросов сложность во ПоследоваПараллельОптимизибилетов дание в билете вопроса тем тельный ный рованный 5 5 5 1 14,4 1,84 0,24 0,24 5 5 5 1 12,4 0,64 0,64 0,24 5 5 5 1 11,4 2,24 0,24 0,24 5 5 5 1 14,6 1,84 0,64 0,24 5 5 5 1 13,6 0,24 0,24 0,24 В таблице 7 и во всех последующих таблицах в явном виде не указывается сложность вопросов. Она формируется программно случайным образом, а в соответствующей графе таблицы (мат. ожидание) указывается лишь математическое ожидание сложности всех участвующих в эксперименте билетов. В последнем столбце всех таблиц приведены результаты дисперсии для комбинированного алгоритма, указанного здесь как оптимизированный алгоритм. На рис. 4 приведены графические зависимости дисперсии результатов распределения вопросов по билетам, соответствующие исходным данным из таблицы 7. 2,5 2 Послед. Паралл. Оптим. 1,5 1 0,5 0 1 2 3 4 5 Рис. 4 Дисперсия результатов по данным таблицы 7 134 Раздел IV. Информатика В таблице 8 приведены исходные данные для случая наличия пяти тем и другие значения дисперсии сложности вопросов, а соответствующие графические зависимости приведены на рис. 5 Таблица 8 Дисперсия результатов для алгоритмов Кол-во Макс. КолКол-во Мат. оживопросов сложность во ПоследоватеОптимизибилетов дание Параллельный в билете вопроса тем льный рованный 5 5 5 5 10,8 2,16 1,36 0,16 5 5 5 5 9,8 0,56 0,16 0,16 5 5 5 5 12,6 1,84 0,24 0,24 5 5 5 5 14,2 2,96 0,96 0,16 5 5 5 5 14,6 1,04 0,64 0,24 3,5 3 2,5 Посл. 2 Паралл. 1,5 Оптим. 1 0,5 0 1 2 3 4 5 Рис. 5 Дисперсия результатов по данным таблице 8. Таблица 9 В таблице 9 приведены исходные данные для случая пяти тем, 15 билетов, 10 вопросов в билете при максимальной сложности вопроса, равной 10. На рис. 6 приведены соответствующие графические зависимости. 135 Вестник ТГПИ Естест венные науки Последовательный Параллельный Оптимизиро-ванный 15 10 10 5 49,13 4,51 3,44 0,11 15 10 10 5 50,2 4,63 3,22 0,16 15 10 10 5 57 5,86 3,46 0 15 10 10 5 47,8 2,96 2,82 0,16 15 10 10 5 57 3,73 3,2 0 7 6 5 Посл. 4 Паралл. 3 Оптим. 2 1 0 1 2 3 4 5 Рис. 6 Дисперсия результатов по данным таблицы 9. Выводы и заключение. Проведенные исследования показывают, что последовательный алгоритм распределения вопросов по билетам является, как и следовало ожидать, достаточно быстрым. Но результат его работы приводит к достаточно большой дисперсии сложности билетов. Получение более качественных результатов относительно дисперсии сложности билетов возможно с помощью параллельного алгоритма. Однако она является все еще достаточно высокой. Разработанный комбинированный алгоритм обладает значительно меньшей дисперсией, позволяющей формировать тестовые задания с практически равной сложностью при удовлетворительных временных характеристиках. Это говорит о том, что оптимизированный алгоритм может лечь в основу модуля формирования тестовых заданий, являющегося важной составной частью автоматизированного рабочего места преподавателя. БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Глушань В.М., Липало Н.Н., Малютин В.А. Оптимизация тестовых заданий при контроле знаний. Вестник Таганрогского государственного педагогического института. Естественные науки. Таганрог: Изд-во Таганрог. гос. пед. ин-та, 2007. № 1. 2. Курейчик В.М. и др. Комбинаторные аппаратные модели и алгоритмы в САПР / В.М. Курейчик, В.М. Глушань, Л.И. Щербаков. М.: Радио и связь, 1990. 216 с. В.М. Глушань, Н.И. Лященко К ВОПРОСУ О СТРУКТУРНОМ СИНТЕЗЕ КОМПЬЮТЕРНЫХ ОБУЧАЮЩИХ 136 Раздел IV. Информатика КОНТРОЛИРУЮЩИХ СИСТЕМ Введение. Создание и совершенствование компьютеров привело и продолжает приводить к созданию новых технологий в различных сферах научной и практической деятельности. Одной из таких сфер стало образование – процесс передачи систематизированных знаний, навыков и умений от одного поколения к другому. Будучи само по себе мощной информационной сферой, и владея опытом использования различных классических (не компьютерных) информационных систем, образование быстро откликнулось на возможности современной техники. Технические возможности персонального компьютера, если компьютер используется как обучающее средство, позволяют: активизировать учебный процесс; индивидуализировать обучение; повысить наглядность в предъявлении материала; сместить акценты от теоретических знаний к практическим; повысить интерес учеников к обучению. На наших глазах возникают нетрадиционные информационные системы, связанные с обучением; такие системы естественно называть информационно-обучающими. Автоматизированные обучающие системы (АОС) – это системы помогающие осваивать новый материал, производящие контроль знаний, помогающие преподавателям готовить учебный материал. Современные исследования в области применения компьютеров в обучении развиваются, в основном, в рамках нескольких основных направлений, которые можно обозначить следующим образом: 1) интеллектуальные обучающие системы; 2) учебные мультимедиа и гипермедиа; 3) учебные среды, микромиры и моделирование; 4) использование компьютерных сетей в образовании: 5) новые технологии для обучения конкретным дисциплинам. Интеллектуальные обучающие системы. Наиболее перспективным направлением развития систем компьютерного обучения является технология искусственного интеллекта. Системы, использующие методику искусственного интеллекта, называют интеллектуальными обучающими системами. Важнейшими особенностями современных компьютерных технологий обучения являются процессы индивидуализации, интеллектуализации и веб-ориентации традиционных обучающих систем, программ и технологий. Это в значительной степени определяется практическим использованием методов и средств искусственного интеллекта при их разработке, а также успехами бурно прогрессирующей технологии обучения через веб. Анализируя ситуацию в целом, следует отметить, что сегодня хорошо известны преимущества веб-ориентированных интеллектуальных обучающих систем (веб-ИОС), разработанных, как правило, на базе ранних традиционных интеллектуальных обучающих систем. К числу наиболее известных и упоминаемых в литературе систем относят обучающие адаптивные системы (вебОАС), в частности, ELM-ART, CALAT, WITS и др., развитие и совершенствование которых всегда находилось в фокусе внимания многих отечественных и зарубежных исследователей. Архитектуры современных веб-ОАС и веб-ИОС не являются полностью новыми или уникальными, поскольку используются знания о проблемной области, об обучаемом субъекте и стратегиях обучения для поддержки гибкого индивидуализированного процесса изучения соответствующих дисциплин/курсов (формирование знаний) и развития практических навыков в использовании материала этих дисциплин (формирование навыков/умений). Новым шагом в компьютерном обучении стало появление агентно-ориентированных интеллектуальных обучающих систем, в состав которых входят следующие агенты: интерфейса преподавателя, интерфейса обучения, доступа к знаниям, онтологий, агент-координатор взаимодействий. 137 Вестник ТГПИ Естест венные науки Достаточно интересные решения сегодня получены и в области создания инструментальных средств поддержки разработки веб-ИОС, что применимо в тех случаях, когда в алгоритмах управления процессом обучения используются педагогические (дидактические) принципы обучения, инвариантные к дисциплине/курсу, т.е. речь идет об адаптивном управлении процессом обучения. Но, несмотря, на, бурное развитие, в настоящее время, компьютерных обучающих систем, существует масса проблем связанных как с их разработкой, так и с внедрением и эффективностью использования данных обучающих систем. Рассматривая проблему разработки компьютерных систем обучения в целом, нельзя не упомянуть о следующей важной особенности, подмеченной В.Л. Стефанюком – это выделение двух основных процессов: обучение как learning и обучение как tutoring [8]. Направление learning (обучающиеся системы) - это самообучение, обучение с учителем, адаптация, самоорганизация и т.д., поэтому при разработке обучающих систем исследуются модели, демонстрирующие способности адаптации к окружающей среде путем накопления информации. Направление tutoring (обучающие системы) тесным образом связано с вопросами «кого учить» (модель обучаемого), как и «чему учить» (модель обучения) и даже «зачем учить», т.е. здесь исследуются модели передачи информации и знаний от учителя с помощью компьютера. Tutoring Learning Интеллектуальные системы компьютерного обучения Обучение путем Поддержка модели самостоятельного открытия обучаемого Обучение при наблюдении примеров Поддержка модели обучения Обучение путем объяснения Поддержка модели учителя Обучение прямым программированием Поддержка модели предметной/проблемной области Поддержка модели объяснения Рис. 1 Классификация интеллектуальных систем компьютерного обучения 138 Раздел IV. Информатика Поскольку в области педагогики нет общепринятых теорий и алгоритмов обучения, нет формальных моделей обучаемого, обучения, учебных воздействий, объяснений и т.д., то надежды возлагаются, в основном, на логико-лингвистические модели. Взаимопроникновение интеграционных процессов искусственного интеллекта и педагогики выразилось в интеллектуальных обучающих системах, а также в обучающих интегрированных экспертных системах, в необходимости введения дополнительных средств, позволяющих поддерживать модель обучаемого, в соответствии с которой педагог на стратегическом уровне определяет текущую подцель обучения, а также средств, реализующих конкретную модель обучения в виде совокупности учебных воздействий на тактическом уровне, и обеспечивающих преподавателю возможность наблюдения за действиями обучаемого и оказания ему необходимой помощи (модель учителя рассматривается как факультативная или же заменяется моделью эталонного курса дисциплины) [7]. Отметим, что слабая разработка педагогических и психологических теорий получения знаний, формирования понятий и построения умозаключений и др. проблемы, не оправдали желаемого эффекта от интеллектуальных обучающих систем, в связи с чем в середине 90-х возникло определенное разочарование, которое затем сменилось оптимизмом в свете Интернет-эволюции, появления сетевых адаптивных интеллектуальных обучающих систем, являющихся наследниками интеллектуальных обучающих систем, и веб-ИОС. Наибольшее разнообразие в традиционных интеллектуальных обучающих системах и современных веб-ИОС наблюдается именно в моделях обучаемого, поскольку еще со времен пионерских работ П.Л. Брусиловского, В.А. Петрушина и др. было показано, что для поддержки эффективности обучения в интеллектуальных обучающих системах необходимы знания о пре дмете обучения, о стратегиях и методах обучения, знания об обучаемом, которые выделяются эксплицитно и реализуются с помощью различных методов и технологий искусственного и нтеллекта. [1, 2, 5 ,6] За этот период было предложено большое число подходов, точек зрения, конкретных моделей и формализмов для представлений знаний об обучаемом, используемых для организации процесса обучения и значительно меньше для учета личностных характеристик обучаемых. Классификация существующих видов моделей обучаемого [7] приведена на рис. 2 (с. 140), среди которых выделены фиксирующие и имитационные модели обучаемого. Первые представляют собой набор величин, характеризующих состояние знаний и умений обучаемого, а вторые воссоздают представления обучаемого об изучаемой проблемной области и его механизмы решения задач. Простейшим вариантом модели обучаемого фиксирующего типа является оверлейная векторная модель, которая каждому изучаемому понятию и/или умению ставит в соответствие элемент, принимающий значения «знает / не знает», поэтому состояние знаний обучаемого определяется набором значений элементов вектора. Преимуществом векторной модели является ее простота, а недостатком – то, что она не только не отражает когнитивные процессы и методы решения задач обучаемого, но и игнорирует связи между понятиями. Более гибкой формой модели обучаемого является сетевая оверлейная модель, представляющая собой граф, узлы которого соответствуют понятиям и/или умениям, а дуги – отношениям между ними. Каждому узлу и дуге сопоставляется некоторая величина или набор величин, характеризующих степень владения обучаемым данным понятием или умением, причем допускается наследование величин. Таким образом, модель обучаемого включает следующие компоненты: в простейшем случае – учетную информацию об обучаемом (фамилия обучаемого, номер учебной группы, дата работы, а в более сложных – психологический портрет личности обучаемого; начальный уровень знаний и умений обучаемого; заключительный уровень знаний и умений обучаемого; алгоритмы выявления уровней знаний и умений обучаемого; алгоритмы психологического тестирования для выявления личностных характеристик, на основании которых формируется 139 Вестник ТГПИ Естест венные науки психологический портрет личности обучаемого. Под термином «знания», в соответствии с О.И. Ларичевым, понимается теоретическая подготовленность обучаемого (декларативные знания), а под термином «умения» – умение применять теорию при решении практических задач (процедурные знания). Рис. 2 Классификация моделей обучаемых Г.А. Атанов в своей книге «Деятельностный подход в обучении», пишет о том, что моделирование знаний об обучаемом преследует три основных цели – установление того «каков он есть» (так называемая поведенческая модель, реализуемая на основе задачи диагностики), «каким его хотим видеть» (стандартная нормативная модель, включающая требования к личностным качествам будущих специалистов и использующаяся для сравнения с текущей поведенческой) и «каким он может стать» (например, в свете модели компетенций). Иногда в нормативную модель обучаемого включают предметное знание и умение по конкретной дисциплине/курсу или рассматривают пятикомпонентную предметную модель как часть нормативной модели и т.п. Основной проблемой при создании адаптивных обучающих систем является сложность в построении такой программной среды, которая могла бы «понять» человека. Поэтому большинство разработок в данной области строятся на создании моделей обучаемых с последующим описанием и построением всевозможных гипотез (работы В.П. Беспалько, А.Г. Гейна, Б.С. Гершунского, В.П. Зинченко, М.П. Лапчика, А.В. Осина, С.В. Панюковой, И.В. Роберт, Э.Г. Скибицкого, О.К. Тихомирова, Г.А. Атанова (Украина) и др.). Моделям присваивается определенный набор характеристик, которые в последствии влияют непосредственно на построение самой обучающей системы. Как было показано выше существует достаточно большое количество моделей обучаемого, кроме приведенных выше, так же есть – нормативная, предметная, тематическая, функциональная, процедурная, операционная, семантическая модели обучаемого. Однако, представленные модели слабо учитывают психофизиологические особенности и характеристики обучаемого, и, как правило, не используются при формировании структуры образовательных ресурсов и их содержания, что снижает (в некоторых случаях – существенно) эффективность применения компьютерных обучающих контролирующих систем. С этой точки зрения, модель обучаемого и, соответственно, реализуемая на базе применения технологий адаптации структура данных систем, должны учитывать: модальность обучаемого; тип его темперамента; текущее психо-эмоциональное состояние обучаемого. Модальность обучаемого – специфический индивидуальный способ получения информации и взаимодействия с ней. Выделяют такие модальные типы, как кинестетик, аудиал и визуал. Ведущая модальность – предпочтение субъектом одного из информационных каналов (зрительного, 140 Раздел IV. Информатика звукового или тактильного). Типы темперамента достаточно хорошо известны и необходимость в описании особенностей восприятия ими информации отсутствует. Особый интерес представляет определение текущего психо-эмоционального состояния обучаемого. В качестве реальных инструментов, определяющих психо-эмоциональное состояние можно выделить две большие группы: 1. Тесты и тестирующие программы. 2. Специальные аппараты или системы. Очевидно, что использование адаптационных технологий при построении обучающих систем может быть реализовано с использованием тестовых методик определения психо-эмоционального состояния обучаемого. В [4] предложен один из возможных вариантов структурной схемы адаптивной модели электронного обучающего ресурса. Проведя анализ этой структурной схемы, была выявлена необходимость в её модернизации. В результате была получена структура адаптивной модели компьютерной обучающей и контролирующей системы (рис. 3). Обучаемый Психофизиологический и интеллектуальный протест Модель обучения Модель обучаемого Образовательный контент Контроль знаний и умений Оценка Анализ и коррекция параметров и структуры КОКС Рис. 3 Структура адаптивной модели компьютерных обучающих контролирующих систем (КОКС) 141 Вестник ТГПИ Естест венные науки Важнейшим преимуществом веб-обучения является возможность его проведения откуда угодно, в любое время, с любого компьютера и без преподавателя. Однако общий подход к обучению, не учитывающий индивидуальные особенности обучаемого, не позволяет в полной мере воспользоваться всеми возможностями веб-технологиями, поэтому наиболее развитые веб-ИОС содержат модель обучаемого. Для реализации модели обучаемого используются различные архитектуры. В большинстве веб-ИОС модель обучаемого хранится на стороне сервера, но основные решения по поводу обучения принимаются клиентским приложением. Если рассматривать уровень автоматизации процессов выявления умений обучаемого, то здесь наблюдаются достаточно скромные результаты, за исключением инструментальных систем семейства МОНАП, в составе которых разработаны средства поддержки оверлейной модели умений. [7] На основе этой модели осуществляется адаптивное управление обучаемым, заключающееся в выдаче ему на каждом шаге обучения по результатам решения учебной задачи релевантного учебного материала оптимальной трудности и сложности, который изложен в электронном учебнике. С точки зрения разработок и использования моделей эталонных курсов/дисциплин, то здесь не наблюдается особого разнообразия в предлагаемых подходах, поскольку описание структуры учебного курса/дисциплины во многом зависит от специфики используемых методик и алгоритмов обучения, личностных характеристик преподавателя, требований образовательных стандартов и т.д. Однако есть некоторые общие проблемы, которые плохо решаются в традиционных интеллектуальных обучающих системах, связанные с тем, что преподавателю трудно четко сформулировать содержание нового курса/дисциплины и дорабатывать его, не имея информации об оценки курса обучаемыми. Преподаватель не может осуществлять текущий мониторинг обучаемого, и как следствие – давать оперативные рекомендации по методике использования учебных средств. Для решения указанных проблем предлагались подходы, связанные, например, с созданием так называемого обучаемого пространства курса, модель которого включает в себя описание учебных целей содержания курса и учебных материалов. В современных работах по интеллектуальным обучающим системам, практически отсутствуют исследования, связанные с формированием модели компетенций обучаемого, отражающей его способности применять знания и личностные качества для успешной деятельности в конкретной профессиональной области, что является новым процессом в рамках создания использования как интеллектуальных обучающих систем, так и обучающих интегрированных экспертных систем и веб-ИЭС. Эта модель может рассматриваться, как новый динамический компонент модели обучаемого, тесно связанный, с одной стороны, с психологическим портретом личности, а с другой – отражающий результаты использования конкретных обучающих воздействий. Таким образом, проанализировав всю ситуацию в целом, можно с уверенностью сказать о том, что в данный период времени, практически нет компьютерных обучающих и контролирующих систем с учетом индивидуальных особенностей обучаемого. Ведь именно при учете личностных характеристик и учете текущих, и необходимых, на данном уровне обучения, знаний, процесс образования и контроля знаний станет намного эффективнее и качественнее. 1. 2. 3. 4. 5. 6. 7. 142 БИБЛИОГРАФИЧЕСКИЙ СПИСОК Башмаков А.И., Башмаков И.А. Разработка компьютерных учебников и обучающих систем. М.: Филинъ, 2003. 430 с. Брусиловский П.Л. Адаптивные и интеллектуальные технологии в сетевом обучении // Новости искусственного интеллекта. 2002. № 5. С. 25-31. Брусиловский П.Л. Построение и использование моделей обучаемого в интеллектуальных обучающих системах // Известия РАН. Техническая кибернетика.1992. № 5. С. 97-119. Глушань В.М. Построение адаптивных ЭОР на основе модели обучаемого // Вестник ТГПИ. Физико-математические и естественные науки. Таганрог изд-во Таганрог. гос. пед. ин-та, 2008. № 1. Некоторые итоги и перспективы. // Известия РАН. Искусственный интеллект и принятие решений 1/2008. С. 22-29. Петрушин В.А. Обучающие системы: архитектура и методы реализации (обзор) // Известия РАН. Техническая кибернетика. 1993. № 2. С. 164-190. Петрушин В.А. Экспертно-обучающие системы. Киев: Наукова. Думка, 1992. 196 с. Рыбина Г.В. Обучающие интегрированные экспертные системы: Раздел IV. 8. Информатика Стефанюк В.Л. Теоретические аспекты разработки компьютерных систем обучения: учеб. пособие. Саратов: СГУ, 1995. 98 с. В.В. Заярный К ВОПРОСУ О P–ПРОЦЕССОРНОМ СЛИЯНИИ Параллельная сортировка N элементов на p процессорах, когда N >> p может быть реализована следующим образом. Входную последовательность можно разбить на p частей, отсортировать каждую часть на отдельном процессоре а затем слить упорядоченные последовательности. В этом, а также в некоторых других случаях возникает необходимость слияния упорядоченных последовательностей [1, 2, 3]. Из полученных p частей длиной N/p посредством сдваиваемых слияний получить выходную отсортированную последовательность за log2(p) этапов. Слияние каждой пары последовательностей может происходить на одном процессоре. В этом случае на первом этапе задействовано p/2 процессоров, на втором этапе – p/4, а на последнем – один процессор. Остальные процессоры простаивают. Временная сложность такого слияния – T(p/2)= 0(2*N). В [1, 2] показано, как можно производить слияние при параллельной работе нескольких процессоров с временной сложностью T(p) = 0(N/p*log2(p)). Поскольку сливаются отсортированные данные, для нахождения конечных индексов для каждого процессора достаточно обеспечить (с учетом устойчивости), чтобы конечный элемент из первой сливаемой последовательности для текущего процессора был меньше либо равен следующему за конечным элементом из второй сливаемой последовательности и конечный элемент из второй сливаемой последовательности для текущего процессора был меньше следующего за конечным элементом из первой сливаемой последовательности. В отсортированных последовательностях можно организовать двоичный поиск соответствующих элементов. В данной работе предлагается алгоритм, отличающийся от [1, 2] упрощением программной реализации. Обозначения переменных ниже приводятся в соответствии со стандартами языков программирования. На первом этапе пара входных последовательностей сливаются двумя процессорами, на втором – четырьмя, а на последнем – p процессорами. Для этой цели необходимо реализовать подзадачу – слить две входных последовательности длиной N1 и N2 параллельно работающими Pn процессорами. Ниже будет рассмотрен случай слияния при сортировке по неубыванию. Для обеспечения параллельной работы необходимо выделить свой отрезок выходной последовательности для каждого из Pn процессоров, а также найти соответствующие им отрезки входных последовательностей. Далее будут использованы следующие обозначения: A1[N1], A2[N2] – две отсортированные по неубыванию последовательности разной длинны; N1, N2 – длины этих последовательностей; N12 = N1 + N2 – выходная последовательность; Pn – число процессоров; Kpi – длина в выходной последовательности, приходящаяся на i-й процессор; j1, j2 – начальные индексы в 1-й и 2-й последовательностях для текущего процессора; jE1, jE2 – конечные индексы в 1-й и 2-й последовательностях i1, i2 – длины во входных последовательностях, приходящихся на текущий процессор. St1 – шаг изменения размеров длин входных последовательностей. Длина выходной последовательности, приходящейся на i-й процессор будет: Kpi = (i+1)*N12/Pn - i*N12/Pn, где i = 1..Pn-1; Начальные индексы для входных последовательностей имеют значения: j1 = 0 и j2 = 0. 143 Вестник ТГПИ Естест венные науки Проведя нахождения длин во входных последовательностях, приходящихся на текущий процессор, а затем для каждой пары входных последовательностей, можно произвести попарное параллельное слияние всех входных последовательностей. Алгоритм нахождения длин во входных последовательностях, приходящихся на текущий процессор конструируется следующим образом. Алгоритм 1 (без полной формализации). 1. Установить начальные значения. Взяв jE1 и jE2 из только что означенного цикла (вычисления длин последовательностей для предыдущего процессора), выполнить: если jE1 > N1, значения i2 и i1 корректируются так, чтобы получить jE1 := N1 и St1 := (i2+1)/2; если jE2 > N2, значения i2 и i1 корректируются так, чтобы получить jE2 := N2 и St1 := (i1+1)/2. Считаем, что в A1[N1+1] и A1[N2+1] записаны бесконечно большие числа. 2. Если исчерпаны входные последовательности, или, если (A1[jE1]<A2[jE2+1]) & (A2[jE2]<=A1[jE1+1]) = True, то выполняется переход к п.6 (выход). 3. Если A1[jE1]>=A2[jE2+1], то увеличивается i1 и уменьшается i2 на шаг St1. Вслед за тем выполняется jE1:=j1+i1 и jE2:=j2+i2, а также St1 := (St1+1)/2; если при этом jE1 > N1, то корректируются i2 и i1 так, чтобы получить jE1 := N1 и St1 := (i2+1)/2. 4. Если A2[jE2]>A1[jE1+1], увеличиваем i2 и уменьшаем i1 на шаг St1. Вычисляем jE1:=j1+i1 и jE2:=j2+i2, а также St1: = (St1+1)/2; если при этом jE2 > N2, корректируем i2 и i1 так, чтобы получить jE2 := N2 и St1 := (i1+1)/2. 5. Перейти к п.2 6. Выход Поскольку внутри цикла значение St1 на каждом шаге уменьшается вдвое, работа алгоритма 1 закончится за log2(Kpi) шагов. После работы этого алгоритма мы имеем соответствующий отрезок выходной последовательности, а также соответствующие отрезки входных последовательностей для текущего процессора. Повторив вычисления для каждого процессора, а затем для каждой пары входных последовательности (это займет 0(p*log2(Kpi)) шагов), можно произвести попарное параллельное слияние всех входных последовательностей. Через log2(p) попарных слияний получим отсортированную выходную последовательность. Достигается окончательная оценка временной сложности слияния вида T(p) = 0(N/p*log2(p)), где p – число процессоров. Таким образом, при наличии процедур сортировки для одного процессора можно реализовать многопроцессорную сортировку. Если есть несколько процедур сортировки, лучше использовать ту, которая не имеет «худшего случая» (например, пирамидальную сортировку или сортировку слиянием), поскольку переход к слиянию происходит после сортировки всех отдельных частей входной последовательности. БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Кнут Д. Искусство программирования. Сортировка и поиск. М.: Мир, 1978. 844 с. Т. З. 2. Ромм Я.Е. Параллельная сортировка слиянием по матрицам сравнений. I // Кибернетика и системный анализ. 1994. № 5. С. 3–23. 3. Ромм Я.Е. Параллельная сортировка слиянием по матрицам сравнений. II // Кибернетика и системный анализ. 1995. № 4. С. 13–37. 144 Раздел IV. Информатика С.А. Катрич О КОМПЬЮТЕРНОМ АНАЛИЗЕ ПОВЕДЕНИЯ СТАЦИОНАРНЫХ СОСТОЯНИЙ СИСТЕМЫ ЛОРЕНЦА В работе ставится следующая цель. С помощью разработанных в [1] условий устойчивости по Ляпунову решений систем обыкновенных дифференциальных уравнений (ОДУ), основанных на разностных схемах, исследовать устойчивость стационарных (иными словами, тривиальных) решений системы Лоренца, которая исторически известна как первый объект с крайне нетривиальным поведением своих решений. В работе приводится краткое описание условий устойчивости решений систем ОДУ, дается описание системы Лоренца и имеющихся результатов компьютерного анализа устойчивости этой системы, обсуждается программная реализация рассматриваемых условий. В заключительной части приводятся результаты компьютерного моделирования и численных экспериментов по отношению к выбранной задаче для системы Лоренца. Описание условий устойчивости решений систем ОДУ. Пусть требуется исследовать устойчивость в смысле Ляпунова решения задачи Коши для нелинейной системы (ОДУ) в нормальной форме dY F ( t, Y ) , Y ( t 0 ) Y 0 , dt (1) где Y Y (t ) , Y t y 1 ( t ), y 2 ( t ),, y n ( t ) – искомое решение, Y 0 y 1 0 , y 2 0 , , y n 0 – вектор начальных данных, F ( t ,Y ) f 1 ( t , Y ), f 2 ( t , Y ),, f n ( t ,Y ) – заданная вектор-функция от n 1 переменных: независимой переменной t и n зависимых переменных y 1 (, t y) 2 (, t…, ) y n (t . ) Предполагается, что для системы (1) выполнены все условия существования и единственно- сти решения Y Y (t ) на всей полупрямой t 0 , . Предполагается, что эти же условия выпол- ~ ~ ~ ~ нены для всех решений Y Y ( t ) с начальными условиями Y ( t 0 ) Y 0 , если только ~ 0 Y0 Y0 b , ~ y 1 0 , ~ y 2 0 , , ~ y n 0 где Y 0 ~ (2) – вектор возмущенных начальных данных и b – некоторое постоянное число. Здесь и в дальнейшем под нормой вектора понимается каноническая норма вектора, определенная как сумма модулей его координат. Пусть E n 1 – пространство точек t , y 1 , y 2 ,, y n всех точек t, Y ( t ) и или t, Y . Пусть t, Y~ ( t ) в пространстве E n 1 , где ~ E n 1 множество ~ Y ( t ) – всевозможные решения, по- лучаемые из (2), при t t 0 , . ~ На множестве E n 1 предполагаются выполненными условия: 1) Функция F ( t , Y ) определена и непрерывно дифференцируема по t на t 0 , при Y Y (t ) и ~ ~ всех Y Y ( t ) из (2). 2) На всем множестве точек из ~ E n 1 выполнено условие Липшица ~ ~ F ( t , Y ) F ( t , Y ) L Y Y , L const . (3) 3) Существует константа C 0 , такая что 145 Вестник ТГПИ Естест венные науки ~ F t ( t , Y ) F t ( t , Y ) C 0 , ~ ~ ~ C 0 t , Y ( t ) E n 1 t , Y ( t ) E n 1 . (4) Определение устойчивости по Ляпунову заимствуется из [2] с некоторыми упрощениями, допустимыми в рассматриваемых условиях. Решение Y Y (t ) устойчиво (справа), если для лю- ~ бого сколь угодно малого числа 0 существует 0 , b , такое что Y 0 Y 0 влечет ~ Y t Y t t t0 , . Решение Y Y (t ) асимптотически устойчиво (справа), если оно ~ ~ Y 0 Y 0 0 влечет lim Y t Y t 0 . устойчиво и найдется 0 0 , 0 , такое что t Всюду ниже рассматривается устойчивость справа (слева аналогично), которая для краткости называется просто устойчивостью. Предложенные условия устойчивости строятся на основе разностных методов приближенного решения ОДУ, в частности, ниже приводится пример использования для этой цели метода Эйлера-Коши. Существенной особенностью при этом является выбор шага численного интегриро- вания h : предполагается, что для каждого произвольно фиксированного t t 0 , , каково бы ни было i 0,1, , t t i 1 , h t i 1 t 0 i 1 , (5) при этом изменение переменной t рассматривается как изменение правой границы промежутка t0 , t . Иными словами, h h ( i ) на любом промежутке t 0 , t , но шаг остается равномерным внутри промежутка. Если i 1 – номер заключительного шага на t0 , t , то при любом k , 0 k i , t k 1 t k h . В [1] на основе тейлоровских разложений невозмущенного решения Y Y (t ) задачи Коши ~ ~ ~ ~ (1) и возмущенного решения Y Y ( t ) , с начальными условиями Y ( t 0 ) Y 0 , показано, что для разности между соответственными компонентами возмущенного и невозмущенного решений для любого t из (5) имеет место равенство ~ y j i 1 y j i 1 i 0 i i h h y j0 y j0 1 d j ~ 1 d j q j k q j i 1 , 2 2 k 1 k 2 где величины q j k имеют порядок малости O ( h ) и d j ~ ~ ~ f j t , Y f j t , Y f j t 1 , Y h F t , Y ~y y j j f j t 1 , Y h F t , Y , (6) (7) j 1, 2 , , n . Соотношение (6) является базовым для формулируемых в рамках предложенной схемы условий устойчивости. Первое слагаемое правой части представляет собой главную часть роста разности между возмущенным и невозмущенным решениями (главную часть возмущения), поскольку не содержит множителя h . i В [1] доказывается, что i 1 2 d j q j k q j i 1 0 при h 0 , что равносильно h k 1 k i , для любого t из (5). Предельный переход в равенстве (6) влечет ~ y j ( t ) y j ( t ) lim Pj i ~ y j 0 y j 0 , j 1, 2 , , n , i где 146 (8) Раздел IV. Информатика Pj i i 1 2 d j , h (9) 0 при этом условия существования и единственности решения задачи Коши всегда обеспечивают y j (t ) ~ y j ( t ) t t 0 , , j 1, 2 , , n . Соотношения (6)–(9) получаются на основе метода Эйлера-Коши с учетом остаточных членов тейлоровских разложений решений. Аналогично, в случае метода Эйлера, равенство (7) принимает вид [3] ~ f j t ,Y f j t ,Y E . d j ~ y j y j Пусть Pi P1 i , P2 i ,, Pn i , где P j i из (9), j 1, 2 , , n . Непосредственно на основании (8) формулируются условия устойчивости в виде следующей теоремы. Теорема 1. В условиях 1) – 3) для устойчивости по Ляпунову решения задачи (1) необходимо и достаточно, чтобы существовало 0 , b , такое, что одновременно для всех решений ~ ~ ~ Y Y ( t ) при ограничении 0 Y 0 Y 0 выполняется условие lim Pi C , C const t t 0 , . (10) i Для асимптотической устойчивости необходимо и достаточно, чтобы выполнялось (10) и ~ нашлось 0 0 , 0 , такое, что 0 Y 0 Y 0 0 влечет lim lim Pi 0 . (11) t i Условие (10) означает равномерную ограниченность бесконечных произведений lim Pi в i случае устойчивости, при этом t, i и h связаны соотношениями (5). Условие (11) означает стремление к нулю этих произведений при t в случае асимптотической устойчивости. Условия (10), (11) реализуются программно путем циклического накопления частичных i произведений 1 2 d j , h j 1, 2 , , n , поведение этих произведений будет определять 0 характер устойчивости решения: если при неограниченном росте t будет наблюдаться ограниченность произведений, это будет означать устойчивость, стремление к нулю – асимптотическую устойчивость, неограниченность – неустойчивость. Такое моделирование составляет основу компьютерного анализа устойчивости. На практике бесконечные произведения не могут быть вычислены точно. Моделирующая их поведение программа с необходимостью остановится на их приближении конечным числом сомножителей. Возникает вопрос, как такое приближение отразится на достоверности оценки устойчивости. Поэтому необходимо исследовать поведение левых частей соотношений (10), (11) в зависимости от количества сомножителей. Решение этого вопроса дано в [1]. Утверждение представленной выше теоремы переносится на случай частичных произведений Pi с некоторыми оговорками, в частности, в формулировку теоремы добавляется, помимо требования существования 0 , требование существования номера i 0 (шага h 0 ), начиная с которого выполняется условие Pi C , C const i i 0 t t0 , . Из предельного перехода в неравенстве Pi C с учетом (10) следует, что это условие достаточно для устойчивости решения задачи (1). В [1] при естественных ограничениях показано, что замена предельных значений в выражении условий (10), 147 Вестник ТГПИ Естест венные науки (11) на их конечные приближения сохраняет достоверность оценки устойчивости. В [1] исследована зависимость сконструированных условий устойчивости от погрешности разностного метода, на основе которого эти условия построены, при этом рассматривались методы Эйлера-Коши, Эйлера, Рунге-Кутта и Адамса. Для всех этих методов обоснована возможность компьютерного моделирования устойчивости при помощи циклического накопления произведений Pj i i 1 2 d j , приближаемых по разностной схеме. h 0 Описание системы Лоренца. Данная система Лоренца создавалась с целью упрощенного описания явления двумерной атмосферной конвекции для решения проблемы долгосрочного прогноза погоды и впоследствии стала первой моделью детерминированного хаоса [4]. Как отмечается в [5], система Лоренца является самым упоминаемым математическим объектом за последние двадцать лет. Используя ряд упрощающих предположений, Лоренц из уравнения Навье-Стокса получил систему ОДУ d x y x , dt d y (12) x z r x y, dt d z x y b z, dt где x – интенсивность (скорость) конвекции, y – разность температур между восходящими и нисходящими потоками, z – отклонение вертикального температурного профиля от линейного, – число Прандтля, зависящее от теплопроводности и вязкости жидкости, b – коэффициент, характеризующий геометрические размеры физической системы, r – нормированное число Рэлея, зависящее не только от свойств среды и ее геометрических размеров, но и от температурного градиента. Так как явление конвекции зависит от температурного градиента, то управляющим параметром системы Лоренца будет r . Кроме того, модель Лоренца полностью совпадает с некоторыми моделями лазера, моделью механической системы – гиростата и моделями многих других нелинейных систем (модели «типа Лоренца») [4]. Система Лоренца диссипативна и имеет три равновесных состояния (три стационарных решения) [4]: 1) x y z 0 ; 2) x y b r 1 , z r 1 ; 3) x y b r 1 , z r 1 . Очевидно, что два последних решения существуют только при r 1 . Известны следующие выводы об устойчивости системы Лоренца [4]: 1) При r 1 имеется только одно стационарное решение x y z 0 и оно устойчиво. Это состояние чистой теплопроводности без конвекции. Устойчивость этого состояния зависит только от значения r . 2) При r 1 нулевое решение теряет устойчивость, но появляются два новых стационарных решения. Физически эти решения соответствуют возникновению конвекции, а каждое из них связано с одним из двух возможных направлений конвективных валов. Доказано, что новая пара точек теряет устойчивость при r 148 b 3 . Для упрощения анализа значения и b как b 1 Раздел IV. Информатика 8 – так называемые «классические» значения параметров. 3 b r 1 , b r 1 , r 1 , b r 1 , b r 1 , r 1 правило фиксируются: 10 , b Тогда при 1 r 24,74 точки являются устойчивыми и все траектории стягиваются к одной из этих точек. 3) При r 24,74 эти точки теряют устойчивость, а если r больше этого критического значения, траектории ведут себя нетривиально. Траектории раскручиваются по спирали в окрестности одной из точек в течение некоторого времени, затем «перепрыгивают» в окрестность второй точки и также некоторое время раскручиваются по спирали, а затем перепрыгивают обратно и т.д. Такое поведение фазовых траекторий указывает на рождение в пространстве состояний системы Лоренца странного аттрактора. Физически это означает возникновение турбулентности, которая характеризуется апериодическими колебаниями решений системы Лоренца. 4) Исследования различных авторов свидетельствуют, что при дальнейшем увеличении управляющего параметра r появляются чередующиеся режимы турбулентности и периодического поведения, т.е. возникают т.н. «окна периодичности». Имеются основания считать, что таких окон бесконечно много [4]. Компьютерное моделирование устойчивости и неустойчивости стационарных состояний системы Лоренца. Ниже приводятся отдельные результаты численных экспериментов по исследованию устойчивости или неустойчивости стационарного состояния b r 1 , z r 1 системы Лоренца на основе программных моделей, описание кото- x y рых дано в [1]. Программные модели представляют собой стандартные подпрограммы на языке программирования Object Pascal системы Delphi. Само моделирование основано на вычислении нормы бесконечного произведения из (10), (11), получающегося путем преобразования разностного метода решения ОДУ в форму бесконечного произведения. Возможность аппроксимации бесконечных произведений частичными доказана в [1], где также обоснована возможность использования разностных методов Эйлера, Эйлера-Коши, РунгеКутта и Адамса для вычислений значений невозмущенного и возмущенного решений, входящих в величину из (7). Непосредственно ниже все результаты численных экспериментов даны при использовании метода Рунге-Кутта 4-го порядка и выборе шага h 10 5 . Графическое моделирование осуществлено с помощью системы MathCAD также с использованием метода Рунге-Кутта 4-го порядка с фиксированным шагом h 10 5 . Таблица 1 Результаты экспериментальной оценки асимптотической устойчивости состояния x 0 y 0 b r 1 , z 0 r 1 системы Лоренца при значениях параметров 10 , t Норма произведения Pi 1.00 3.0E+0000 10.00 2.2E+0000 100.00 3.2E-0001 600.00 3.3E-0006 r 24 , b 2,666667 Значения x, ~ x Значения y , ~y Значения z, ~ z 7.8E+0000 7.8E+0000 7.8E+0000 7.8E+0000 7.8E+0000 7.8E+0000 7.8E+0000 7.8E+0000 7.8E+0000 7.8E+0000 7.8E+0000 7.8E+0000 7.8E+0000 7.8E+0000 7.8E+0000 7.8E+0000 2.3E+0001 2.3E+0001 2.3E+0001 2.3E+0001 2.3E+0001 2.3E+0001 2.3E+0001 2.3E+0001 149 Вестник ТГПИ Естест венные науки При r 24 наблюдается монотонное убывание нормы вектора Pi к нулю, что в соответствие с теоремой 1 условием (11) означает асимптотическую устойчивость рассматриваемого состояния, это соответствует известным результатам моделирования поведения системы Лоренца при выбранных значениях параметрах. Ниже представлены графические интерпретации поведения системы Лоренца в данном случае полученные в MathCAD. Рис. 1 График поведения возмущенного решения при ~y системы Лоренца x 0 y 0 b r 1 , z 0 r 1 для значений параметров 10 , r 24 , b 2,666667 Амплитуда колебаний возмущенного решения ~ y в начальный период не меньше 7,1179 и не превосходит 7,1182. В дальнейшем колебания затухают, что соответствует поведению асимптоx и ~ тически устойчивых решений. Графики поведения ~ z аналогичны. Рис. 2 Фазовый портрет системы Лоренца при x 0 y 0 b r 1 , z 0 r 1 для значений параметров 10 , 150 r 24 , b 2,666667 Раздел IV. Информатика Из устойчивости по Ляпунову следует орбитальная устойчивость [2], рис. 2 иллюстрирует орбитально устойчивые фазовые траектории системы Лоренца, стягивающиеся к рассматриваемой точке. Таблица 2 Результаты экспериментальной оценки устойчивости состояния x 0 y 0 b r 1 , z 0 r 1 системы Лоренца при значениях параметров 10 , t Норма произведения Pi 100.00 2.5E+0000 600.00 2.6E+0000 900.00 2.7E+0000 1000.00 2.3E+0000 r 24,74 , b 2,666667 Значения x, ~ x Значения y , ~y Значения z, ~ z 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 2.4E+0001 2.4E+0001 2.4E+0001 2.4E+0001 2.4E+0001 2.4E+0001 2.4E+0001 2.4E+0001 При данном значении управляющего параметра r происходит качественное изменение поведения системы, а именно, свойство асимптотической устойчивости изменяется на свойство неустойчивости, при этом для значения 24,74 наблюдается переходное состояние, которое определяется как просто устойчивость. Данное известное обстоятельство полностью совпадает с полученными результатами моделирования, а именно, норма произведения Pi не превосходит величи- ны 2,7 на всем промежутке 0, 1000 , что в соответствие с теоремой 1 и условием (10) означает устойчивость. x в данном Ниже приводимый рис. 3 иллюстрирует поведение возмущенного решения ~ случае. Амплитуда колебаний этого решения находится в пределах от 7,95645 до 7,95665 и в отличие от предыдущего случая с течением времени не затухает, что соответствует поведению устойчивых решений. Графики поведения ~ z аналогичны. y и~ Рис. 3 x системы Лоренца График поведения возмущенного решения ~ 151 Вестник ТГПИ при Естест венные науки x 0 y 0 b r 1 , z 0 r 1 для значений параметров 10 , r 24,74 , b 2,666667 На рис. 4 изображена фазовая траектория системы Лоренца в рассматриваемом случае, обладающая, как и следовало ожидать, свойством устойчивости. Рис. 4 Фазовый портрет системы Лоренца при x 0 y 0 b r 1 , z 0 r 1 для значений параметров 10 , r 24,74 , b 2,666667 Таблица 3 Результаты экспериментальной оценки неустойчивости состояния x 0 y 0 b r 1 , z 0 r 1 системы Лоренца при значениях параметров 10 , r 25 , t Норма произведения Pi 100.00 5.6E+0000 200.00 1.0E+0001 500.00 1.3E+0002 1000.00 6.4E+0003 Норма произведения b 2,666667 Значения x, ~ x Значения y , ~y Значения z, ~ z 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 7.9E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 8.0E+0000 7.6E+0000 2.4E+0001 2.4E+0001 2.4E+0001 2.4E+0001 2.4E+0001 2.4E+0001 2.4E+0001 2.4E+0001 Pi монотонно возрастает, что означает нарушение условия (10) и, следовательно, по теореме 1 имеет место неустойчивость. Аналогично двум предыдущим случая ниже приводятся рис. 5, 6, дающие графическую интерпретация данного случая. 152 Раздел IV. Информатика Рис. 5 x системы Лоренца График поведения возмущенного решения ~ при x0 y0 b r 1 , z 0 r 1 для значений параметров 10 , r 25 , b 2,666667 x с течением времени возрастает, На рис. 5 амплитуда колебаний возмущенного решения ~ что является свидетельством неустойчивости. Графики поведения ~ z аналогичны. y, ~ Рис. 6 Фазовый портрет системы Лоренца при x 0 y 0 b r 1 , z 0 r 1 для значений параметров 10 , r 25 , b 2,666667 На рис. 6 изображена фазовая траектория системы Лоренца в данном случае, которая раскручивается «с очень большой плотностью» по спирали от начального положения. Таким образом, практическое использование предложенных условий устойчивости показало их пригодность для компьютерного анализа устойчивости даже в случае такого нетривиального объекта как система Лоренца. Аналогичные результаты практического применения условий имели место для многочисленных систем нелинейных ОДУ [1], с которыми проводились численные эксперименты. 153 Вестник ТГПИ Естест венные науки БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Катрич С.А. Разработка и исследование схем программного моделирования устойчивости решений нелинейных дифференциальных уравнений на основе разностных методов: дис. … канд. техн. наук. Таганрог: Изд-во ТРТУ, 2006. 217 с. 2. 3. Демидович Б.П. Лекции по математической теории устойчивости. М.: Изд-во Моск. ун-та, 1998. 480 с. 4. Синергетика: процессы самоорганизации и управления: учеб. пособие / под общей редакцией А.А. Колесникова. В 2-х частях. Таганрог: Изд-во ТРТУ, 2004. 360 с. Ч. I. 5. Зубов И.В. Методы анализа динамики управляемых систем. М.: Физматлит, 2003. 224 с. Ромм Я.Е. Мультипликативные критерии устойчивости на основе разностных решений обыкновенных дифференциальных уравнений // Кибернетика и системный анализ. Киев, 2006. № 1. С. 128–144. Я.Е. Ромм, О.И. Деева ИДЕНТИФИКАЦИЯ КОНТУРНО ПРЕДСТАВЛЕННЫХ ИЗОБРАЖЕНИЙ НА ОСНОВЕ СОРТИРОВКИ И МАТРИЧНО-АЛГЕБРАИЧЕСКИХ ПРЕОБРАЗОВАНИЙ Постановка вопроса. Ставится задача распознавания и идентификации плоских изображений, ограниченных связным замкнутым контуром, на основе применения сортировки подсчетом и матрично-алгебраических преобразований. Сортировка применяется к массиву значений полярных радиусов точек контура фигуры. Сортировка включает формирование двумерного массива из антисимметричной матрицы сравнений. Полученный массив преобразуется в нижнюю треугольную матрицу с нулевой диагональю. Требуется сформировать целочисленные идентификаторы для распознавания рассматриваемых плоских изображений с помощью алгебраических преобразований данной матрицы. 1. Выделение контура фигуры и ее переход к базовому положению в декартовой системе координат Данная часть работы непосредственно заимствуется из [3, 4]. Задача выделения контуров состоит в построении границ объектов и очертаний связных областей. Контур отдельного объекта на бинарном изображении может быть получен при помощи следящей пары точек [1]: граничной точки объекта и смежной с ней точки фона. Суть данного способа заключается в следующем. Для следящей пары задается направление от точки объекта к точке фона. Процесс прослеживания состоит в последовательном перемещении одного конца следящей пары в новую точку, лежащую от пары слева. Это обеспечивает обход контуров таким образом, что объект оказывается слева от границы, а фон – справа. На каждом шаге прослеживания анализируется одна новая пробная точка, смежная с обеими точками пары. Пробная точка замещает соответствующую точку следящей пары. Пусть p, q p px , p y – граничная точка объекта, а – следящая пара точек, q qx , q y – точка фона. Пробная точка r rx , ry ищется следующим образом: если точки следящей пары лежат в одном столбце или в одной строке матрицы f , то новая пробная точка выбирается с координатами rx q x p y q y , ry q y q x p x ; в противном случае пробная точка имеет координаты rx p x q x p y q y / 2 , ry p y q y p x q x / 2 . 154 Раздел IV. Информатика 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 Рис. 1 Последовательные положения следящей пары Такое перемещение следящей пары (рис. 1) позволяет выделить все граничные точки, соответствующие одному граничному контуру. Прослеживание начинается с обнаружения граничной пары точек, лежащих в одной строке; когда следящая пара возвращается в исходное положение, прослеживание завершается. Для формирования признаков фигуры выполняется переход от ортогональной декартовой системы координат (СК) x, y к полярной r, с предварительным выбором начального по- ложения радиуса. Данный переход будет выполняться в четыре этапа с помощью соотношений [4]: x r cos , y r sin , y 2 2 r x y , tg x . В порядке очередности точек при прослеживании формируется массив значений абсцисс X ( x0 , x1 ,, xn 1 ) и массив значений ординат Y ( y0 , y1 ,, yn 1 ) точек контура в декартовой СК XOY . С целью формирования признаков выполняется радиально-круговая развертка контура изображения в полярной СК r, . Формируется массив R ( r0 , r1, , rn1 ) (1) ( 0 , 1 , , n 1 ) (2) значений полярных радиусов точек контура и массив соответствующих им величин полярных углов. При этом используются следующие предложения. 1. Центр полярной СК размещается в геометрическом центре обрабатываемой фигуры. Точка p с координатами p , x p y , где p x – среднее арифметическое значение абсцисс точек контура фигуры, p y – среднее арифметическое значение ординат в декартовой СК, получается в процессе обхода контура при помощи следящей пары точек: px 1 N n 1 x i0 i , py 1 N n 1 y i0 i , где N – количество точек, принадлежащих контуру [4]. 2. Нумерация точек контура связывается с точкой, которая имеет устойчивый относительно ротации признак, – она наиболее удалена от выбранного центра полярной СК: rм акс max ( ri ) . (3) 0 i n 1 В формируемых массивах (1), (2) точке (3) соответствует последняя позиция. Номер i для i -й точки контура определяется по формуле i i n 1 c mod N , (4) 155 Вестник ТГПИ где c – индекс Естест венные науки rмакс из (3). 3. Элементы (2) подвергаются преобразованию поворота координат, при котором угол n 1 ста- новится равным нулю: i i n 1 , i 0, 1, , n 1 . (5) 4. Элементы (1) нормируются делением на среднее значение ri n 1 ri , rсред r j N , i 0, 1, , n 1 . rсред j 0 (6) Представленные преобразования «приводят» фигуру к базовому положению в декартовой СК X OY . Радиус-вектор точки контура, наиболее удаленной от центра полярной СК, выходит при этом из начала координат и располагается согласно (5) вдоль положительного направления оси абсцисс [3, 4]. Результат преобразования иллюстрирует рис. 2. Рис. 2 Базовое положение «F» 2. Описание схемы сортировки посредством подсчета Механизм определения позиции элемента в отсортированном массиве при сортировке посредством подсчета может быть реализован следующим образом. Рассмотрим матрицу сравнений (МС), которая заполняется значениями функции где A a0 , a1 , , a n 1 1, если a j ai , sign a j ai 0, если a j ai , 1, если a j ai , – входной массив, j – номер столбца, i – номер строки МС, i, j 0,1, , n 1 . Схема заполнения МС поясняется приводимой ниже таблицей. Таблица 1 Матрица сравнений для сортировки подсчетом A a0 a1 aj a n 1 a0 0 sign a1 a0 sign a j a0 sign a n 1 a 0 a1 sign a0 a1 0 sign a j a1 sign a n 1 a1 ai sign a0 ai sign a1 ai 0 sign a n 1 ai a n 1 sign a 0 a n 1 sign a1 a n 1 sign a j a n 1 0 156 Раздел IV. Теперь, чтобы произвести вставку Информатика j -го элемента входного массива (элемента j -го столб- ца МС) в выходной массив, достаточно подсчитать количество неотрицательных элементов в j -ом столбце над диагональю матрицы (включая диагональный элемент) и сложить его с количеством только положительных элементов ниже диагонали [2]. Последнее обеспечивает устойчивость сортировки: элементы, равные текущему, но расположенные во входном массиве после него, не влияют на положение текущего элемента в отсортированном массиве. 3. Применение сортировки для идентификации изображений Программная реализация данной сортировки представлена ниже (TInitialArray – тип элементов входного массива). procedure sortst(tt11: integer; var ttt_,cs:TInitialArray; var e1: TIndexArray); var i,j,k: integer; begin for j:=0 to tt11-1 do begin k:= -1; for i:= 0 to j do if ttt_[j]>=ttt_[i] then k:=k+1; for i:=j+1 to tt11-1 do if ttt_[j]>ttt_[i] then k:=k+1; cs_[k]:=ttt_[j]; e1[k]:=j end end. Результатом сортировки является упорядоченный по нестрогому возрастанию массив cs и дополнительный массив e1 перемещенных в порядке отсортированных элементов исходных индексов элементов массива значений полярных радиусов точек контура фигуры, обозначенного в программе ttt_. Именно массив e1 обеспечивает свойство обратной адресности: k -му элементу отсортированного массива соответствует элемент входного массива с индексом, записанным по адресу ek . Иными словами, массив e1 обеспечивает взаимно однозначное соответствие входных и выходных индексов сортируемого массива. 4. Связь матрицы сравнений с алгебраическими идентификаторами изображений К полученному массиву e1 применяется сортировка подсчетом по МС аналогично тому, как рассмотрено выше. На данном шаге формируется матрица по табл. 1, состоящая из элементов 1, 0, 1. Для дальнейшей работы из этой матрицы оставляется нижняя треугольная матрица с нулевой диагональю, верхняя часть матрицы заменяется нулями. Основанием для такого подхода является антисимметрия матрицы (табл. 1) относительно главной диагонали. Ниже приведена процедура, реализующая выполнение указанных действий. procedure TForm1.Button1Click(Sender: TObject); var i,j,k,ll: integer; summa: Extended; sl, lini, lini1, sl1 :string; begin for j:=0 to tt11-1 do begin k:= 0; for i:=0 to j do if e1[j]-e1[i] >= 0 then begin k:=k+1; end; for i:=j+1 to tt11-1 do if e1[j]-e1[i] > 0 then begin k:=k+1; bool[i,j]:=1 end else if e1[j]-e1[i] = 0 then bool[i,j]:=0 else bool[i,j]:=-1 ; end; 157 Вестник ТГПИ Естест венные науки Итак, получена нижняя треугольная матрица с нулевой диагональю, элемент i-й строки и jго столбца которой записан как элемент массива bool[i,j], а сама матрица как bool. Идентификаторы фигуры будут строиться следующим образом. Матрица bool возводится в степень путем умножения текущей матрицы на себя, при каждом умножении нулевая поддиагональ будет опускаться на одну позицию вниз. При возведении bool в степень tt11-3 (tt11 – количество отсортированных значений полярных радиусов точек (пикселей) контура фигуры) останется три ненулевых поддиагонали матрицы, следующее умножение текущей степени на матрицу bool оставит две ненулевых поддиагонали, наконец, на последнем шаге умножения на матрицу bool останется только одна ненулевая поддиагональ, состоящая из одного, возможно, ненулевого элемента. Этот факт используется в известном алгебраическом разложении E A 1 n 1 A , 0 где A – нижняя треугольная матрица с нулевой диагональю. Роль такой матрицы в программе играет матрица под именем bool. При возведении матрицы bool в степень tt11-1 получается матрица, обозначаемая в программе как c_v, у которой на позиции c_v[tt11-1,0] остается единственный, возможно, ненулевой элемент. Ниже рассматриваются изображения букв латинского алфавита. При обработке их контуров изложенным выше способом и составлении для них матрицы bool ее последняя ненулевая степень с показателем tt11-1 для рассматриваемых изображений оставляет единственный элемент, который равен 1 либо -1, причем для изображений всех букв латинского алфавита. Поэтому в качестве идентификаторов требуется учитывать предшествующие степени данной матрицы. С этой целью первоначально рассматривается матрица c_v, полученная возведением bool в степень tt11-2. Матрица c_v содержит две нижних, возможно, ненулевых поддиагонали. В качестве числовых идентификаторов фигуры берутся элементы, стоящие на позиции c_v[tt11-1,0]. В случае совпадения данных элементов для различных латинских букв, в качестве дополнительных идентификаторов для отобранной группы изображений берутся элементы матрицы, стоящие на позициях c_v[tt11-2,0] и c_v[tt11-1,1]. Для идентификации изображений всех латинских букв потребуется, однако, учитывать предшествующую степень матрицы bool, поскольку для четырех изображений символов совпадают элементы матрицы, стоящие на позициях c_v[tt11-1,0], c_v[tt112,0], c_v[tt11-1,1]. Именно, элементы матрицы bool в степени tt11-2 полностью совпадают для символов латинского алфавита «A» и «T», а также для пары символов «I» и «O». При возведении матрицы bool в степень tt11-3 на конечном этапе можно четко выделить целочисленные идентификаторы изображения для латинских букв. Элемент матрицы c_v, стоящий на позиции c_v[tt11-1,0], является целочисленным идентификатором рассматриваемых изображений всех букв латинского алфавита. На данном множестве изображений такие идентификаторы находятся с ними во взаимно однозначном соответствии. Ниже представлена часть программы, где каждому целочисленному идентификатору ставится в соответствие соответственное имя изображения. if c_v[tt11-1,0]=147 then Memo5.Lines.Add('буква A'); if c_v[tt11-1,0]=-42 then Memo5.Lines.Add('буква B'); if c_v[tt11-1,0]=-70 then Memo5.Lines.Add('буква C'); …………………………………………………………………… if c_v[tt11-1,0]=-1414 then Memo5.Lines.Add('буква X'); if c_v[tt11-1,0]=-34 then Memo5.Lines.Add('буква Y'); if c_v[tt11-1,0]=177 then Memo5.Lines.Add('буква Z'); 158 Раздел IV. Информатика В качестве примера результата работы программы по идентификации изображения буквы латинского алфавита можно рассмотреть изображение «F» (рис. 2). В окне Memo выводится матрица bool размерностью 63×63, возведенная в степень tt11-3, в которой элементы трех нижних поддиагоналей в общем случае не равны нулю. 0 0 0 0 … 0 ……………………… 0 0 0 0 … 0 1 0 0 0 … 0 30 1 0 0 … 0 1 0 … 0 420 32 При этом оказывается, что 420 – целочисленное значение элемента c_v[tt11-1,0] – является уникальным идентификатором символа «F». Аналогично, программа работает для идентификации других рассматриваемых изображений букв, при этом значение элемента c_v[tt11-1,0] – единственный целочисленный идентификатор фигуры. Заключение. Предложен метод идентификации фигур конечного множества на основе матрично-алгебраических преобразований. Для каждого изображения получен взаимно однозначно соответствующий целочисленный идентификатор, который не зависит от положения фигуры в декартовой системе координат. Представлена программа идентификации плоских изображений, позволяющая создать базу целочисленных эталонов, при совпадении с которыми делается вывод о правильности или неправильности идентификации поданного на вход изображения. Идентификаторы получаются из массива индексов отсортированных значений полярных радиусов точек контура фигуры, к которому применяется сортировка подсчетом для построения матрицы сравнений. На основе антисимметрии данной матрицы относительно главной диагонали используется нижняя треугольная матрица с нулевой диагональю, состоящая из элементов 1 и -1, расположенных ниже главной диагонали. Полученная матрица возводится в степень, в которой останется только три последних ненулевых поддиагонали. Элементы поддиагоналей дадут искомый набор уникальных идентификаторов для рассматриваемого множества изображений. БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Местецкий Л.М. Скелетизация многоугольной фигуры на основе обобщенной триангуляции Делоне // Программирование, 1999. № 3. С. 16-31. 2. Ромм Я.Е. Параллельная сортировка слиянием по матрицам сравнений. Ч. II // Кибернетика и системный анализ, 1995. № 4. С. 13-37. 3. Рюмин О.Г. Разработка и исследование алгоритмов распознавания изображений на основе определения экстремальных признаков замкнутых контуров с помощью: автореф. дис. … канд. тех. наук. Таганрог: Изд-во ТТИ ЮФУ, 2008. С. 8-9. 4. Рюмин О.Г. Разработка и исследование алгоритмов распознавания изображений на основе определения экстремальных признаков замкнутых контуров с помощью: дис. … канд. тех. наук. Таганрог: Изд-во ТТИ ЮФУ, 2008. С. 19, 22-23, 43-44, 81, 83-84, 85, 87. 159