Содержание к диссертации
Введение
Глава 1. Анализ обучающих систем 12
1.1. Анализ принципов построения систем обучения и контроля знаний и их классификация 12
1.2. Классификация технологий, используемых в обучающих системах .31
1.3. Инструментальные оболочки и конечные курсы 36
1.4. Анализ известных обучающих систем 37
1.5. Основные проблемы подготовки оператора-навигатора 39
1.5.1. Классификация навигационных задач 39
1.5.2. Особенности деятельности оператора-навигатора в процессе функционирования навигационного эргатического комплекса 41
1.5.3. Анализ основных аспектов обучения оператора-навигатора 44
1.5.3.1. Задачный подход 44
1.5.3.2. Деятельностный подход 46
1.6. Построение модели интеллектуальной навигационной тренажерно-обучающей системы на основе рассмотренных подходов 51
Результаты по первой главе 55
Глава 2. Алгоритмы преобразований символьной информации и оценивания на основе аналогии 56
2.1. Алгоритм преобразования символьной информации из строкового представления в бинарные деревья 56
2.2. Алгоритм приведения бинарных деревьев к стандартному виду 61
2.3. Неформальное описание алгоритма преобразований символьной информации 65
2.4. Требования к алгоритму преобразований символьных данных 68
2.5. Алгоритмы преобразований символьной информации: поиска подвыражения, соответствующего маске, сравнения подвыражений 75
2.6. Алгоритм оценивания на основе метода аналогии 83
Результаты по второй главе 96
Глава 3. Построение базы знаний 97
3.1. Продукционная база знаний 97
3.1.1. Диагностика знаний и умений обучаемого в экспертной системе ..98
3.1.2. Разработка интеллектуальной навигационной тренажерно-обучающей системы 101
3.1.3. Структура экспертной системы электронного учебника штурмана 112
3.1.4. Хранилище объектов предметной области 114
3.1.5. Генерация заданий на основе продукционной базы знаний .118
3.2. Грамматика для генерации тестовых заданий 121
3.3. Генератор тестовых заданий 124
3.4. Шаблоны тестовых заданий 131
Результаты по третьей главе 132
Глава 4. Интеллектуальная навигационная тренажерно-обучающая система 134
Результаты по четвертой главе 140
Заключение 141
Приложение А. Примеры обучающих систем 143
Приложение Б. Классификация систем обучения и контроля знаний 152
Библиографический список
- Анализ принципов построения систем обучения и контроля знаний и их классификация
- Особенности деятельности оператора-навигатора в процессе функционирования навигационного эргатического комплекса
- Алгоритм преобразования символьной информации из строкового представления в бинарные деревья
- Диагностика знаний и умений обучаемого в экспертной системе
Введение к работе
Проблема создания систем обучения и контроля знаний (СОиКЗ) для
обучения персонала в самых разных отраслях техники, технологии и т. д.
привлекает внимание специалистов [25]. С одной стороны, обнаруживается
острая необходимость в совершенствовании профессиональных навыков
персонала, работающего с тем или иным оборудованием и решающего
специализированные задачи, требующие особых знаний и навыков в
конкретной предметной области. С другой стороны, современный уровень
информационных технологий обеспечивает возможность
высококачественной реализации всех компонентов системы и процессов обучения (модели процессов и устройств, пользовательские интерфейсы, средства автоматизированного контроля действий обучаемого и т. п.). В то же время многие работы по созданию подобных систем тормозятся из-за отсутствия общей методологии их построения и использования [25]. Основная сложность в разработке интеллектуальных обучающих систем обусловлена широким многообразием целей, методов и средств, используемых в процессе обучения. На рис. В.1. [103] представлена общая структура проблемы создания СОиКЗ, инвариантная относительно конкретных предметных областей. Здесь показана номенклатура основных задач, которые составляют содержание проблемы, определены функциональные связи между задачами и последовательность их решения.
Рис. В.1. Общая структура проблемы создания СОиКЗ Из рис. В.1. видно, что основная сложность в разработке СОиКЗ, независимо от предметной области, заключается в крайней
разнохарактерности и синтетичности технологий компьютерного обучения и используемых при этом средств. Для успеха такого обучения каждый компонент должен быть реализован на одинаково высоком уровне.
Актуальность темы. Актуальной задачей является разработка архитектуры подобных систем на основе построения алгоритмов управления обучением с использованием обратной связи на основе детальной диагностики знаний и умений обучаемых, выявления причин возникновения у них ошибок и разработки способов их устранения. Помощь в эффективном решении этой основной задачи могут оказать интеллектуальные методы извлечения, хранения и представления знаний, являющиеся предметом инженерии знаний, одной из ветвей искусственного интеллекта.
Профессиональная подготовка оператора летательного аппарата (ЛА) -это трудоемкий и дорогостоящий процесс. Она складывается из курса теоретического обучения, практических тренажерной и летной подготовок. Учитывая то обстоятельство, что оператор летательного аппарата функционирует в экстремальных условиях, и от его деятельности зависят человеческие жизни и успешность выполнения полетного задания, качество подготовки должно быть очень высоким.
В подготовке авиационных специалистов можно выделить три этапа: теоретическое обучение, тренажерную подготовку и подготовку на учебном летательном аппарате. Это соответствует иерархической структуре модели деятельности человека, где на верхнем уровне находятся знания, на среднем - умения, на нижнем - навыки. Причем об эффективности тренажерной подготовки говорят повышение качества подготовки летных экипажей, безопасности и выживаемости.
Как бы ни была сложна структура профессиональной деятельности оператора летательного аппарата, её можно разделить на компоненты, соответствующие различным видам его деятельности. Разделение профессиональной деятельности лётного экипажа (пилот, штурман, бортинженер) позволяет использовать для практической подготовки целую
гамму тренажеров: процедурные авиационные тренажеры, специализированные и комплексные.
Важными преимуществами использования процедурных и специализированных перед комплексными тренажерами является распараллеливание процесса предварительной практической подготовки, относительно малая стоимость и простота. Учитывая неуклонное нарастание имитирующих возможностей персональных компьютеров, их применение в качестве процедурных авиационных тренажеров является особенно перспективным. К тому же использование компьютера в качестве процедурного тренажера (так называемые компьютерные тренажеры) позволяет применять их одновременно для теоретической и практической подготовки, при этом устраняется разрыв между ними.
Под компьютерным тренажером понимается тренажер, не содержащий реальной аппаратуры, но использующий механизмы виртуальной реальности. При этом компьютерный тренажер должен обеспечивать формирование как постоянных концептуальных моделей (постоянная часть концептуальной модели, образуемая знаниями и умениями, полученными в предшествующих обучении и профессиональной деятельности), так и оперативных концептуальных моделей, характерных для применения технических средств практической подготовки, то есть собственно тренажеров. Применение компьютерного тренажера уже на этапе теоретической подготовки позволяет повысить мотивацию в изучении теории, ибо показывает её значимость в решении практических задач. Использование компьютерных технологий в обучении в целом и в обучении оператора-навигатора в частности позволяет:
индивидуализировать процесс обучения;
повысить объективность контроля знаний и качество обучения путем внедрения оптимальных методик и средств обучения;
интенсифицировать процесс обучения.
В настоящее время существует три пути индивидуализации обучения [54]. Первый из них характеризуется тем, что выбор обучающих воздействий
целиком и полностью определяется компьютером. Второй путь предполагает, что сами обучаемые определяют то управление обучением, которое является для них предпочтительным. Он основывается на предположении, что обучаемые намного лучше, чем компьютер, смогут определить, какая помощь им нужна, сколько учебных задач и какой трудности им надо решить и т. д.
Третий путь предполагает смешанное управление: обучаемому предлагается наметить ту стратегию обучения, которую он считает наиболее приемлемой. Если при этом обнаруживается «сбой», т. е. обучаемые плохо справляются с учебными заданиями, управление процессом обучения компьютер полностью берет на себя. Таким образом, актуальной является задача создания личностно-ориентированных СОиКЗ, использующих модель обучаемого и ориентированных на работу с электронным преподавателем (с оптимальным электронным инструктором по терминологии А. А. Красовского [43]).
На сегодняшний день даже самые современные авиационные тренажеры, такие, как, например, навигационный тренажер штурмана «Рефрен-Н» [11], разработанный с участием автора и находящийся в эксплуатации в одном из летных авиационных училищ России, принадлежат к числу автоматизированных обучающих систем и систем «человек-машина», и, значит, в них имеет место действие человеческий фактор [27], которому подвержен инструктор, являющийся ответственным лицом, отвечающим за обучающие качества авиационного тренажера. То есть нельзя не отметить тот факт, что при контроле инструктором действий обучаемого эффективность контроля является довольно низкой, вследствие того, что инструктор может сам в процессе контроля допустить ошибки. Исследования показали, что в 10 - 50 % случаев инструктор может не заметить допущенных обучаемыми ошибок, а в 15 - 20 % случаев он даже указывает на ложные ошибки [8].
Особенность задачи поддержки принятия решения в системах «человек-машина» состоит в том, что человек-оператор по существу является
одноканальной системой, т. е. способен одномоментно осмысливать и осуществлять только одно управление. При параллельном решении задач обучаемым возрастает вероятность ошибок. Поэтому для достижения высоких обучающих качеств авиационный тренажер должен быть снабжен распределенной экспертной системой, выполняющей роль оптимального электронного инструктора. Тем самым автоматизированная обучающая система превращается в интеллектуальную. В отличие от традиционных автоматизированных обучающих систем, интеллектуальные содержат знания о предметной области, обучаемом, о стратегиях обучения и способах его индивидуализации. В результате обеспечивается возможность автоматизации контроля и управления обучением, формирование содержательно-методической базы (сценарии, эталоны пилотирования и т. п.) обучения, а также большей объективности в оценке обученности.
Ряд особенностей, присущих получению естественнонаучного образования, затрудняют использование информационных технологий. Главные из этих особенностей связаны, прежде всего, с тем, что для подобных специальностей принципиально необходима повседневная практическая деятельность в виде регулярно выполняемых лабораторных работ и практических занятий по решению задач. К разряду профессий, связанных с решением задач, относится профессия штурмана.
Цель диссертационной работы - разработка архитектуры и алгоритмов построения интеллектуальной навигационной тренажерно-обучающей системы, ориентированной на обучение операторов-навигаторов (штурмана, летчика в роли штурмана).
Методы исследования. Для решения поставленных задач использовались методы теории графов, теории искусственного интеллекта. В ходе их практической реализации использовались методы дискретной математики, теории алгоритмов, теории компиляторов, теории построения формальных грамматик, объектно-ориентированного программирования.
В ходе выполнения работы использованы психолого-педагогические аспекты деятельностного подхода в обучении операторов-навигаторов.
Научную новизну представляют следующие результаты.
1. Алгоритмы:
преобразования символьной информации, поступающей на вход интерфейса системы в естественно-математическом виде, на основе способа представления символьных данных в памяти компьютера в виде бинарных деревьев;
сравнения символьных данных на основе шаблонов, задаваемых в процессе разработки интеллектуальной навигационной тренажерно-обучающей системы. Это позволяет задавать классы семантически эквивалентных символьных преобразований, с учетом семантики и специфики предметной области.
Разработанные алгоритмы впервые позволят реализовать интеллектуальный интерфейс при обучении оператора-навигатора решению штурманских задач.
Алгоритм оценивания действий обучаемого при проведении им расчетов навигационных параметров на основе метода аналогии.
Продукционная база знаний, позволяющая моделировать логические рассуждения и осуществлять диагностику действий и контроль знаний оператора-навигатора.
Объектная модель описания предметной области для генерации тестовых заданий.
Грамматика для генерации тестовых заданий, включающих в себя символьные преобразования различных навигационных параметров.
Архитектура и модель интеллектуальной навигационной тренажерно-обучающей системы, основанной на декларативном представлении знаний.
Практическая и теоретическая ценность работы. На основе предложенных и разработанных в данной работе архитектуры и алгоритмов построения интеллектуальной навигационной тренажерно-обучающей системы реализован программный комплекс по дисциплине «Воздушная навигация» [69, 70].
Практическая ценность работы подтверждена победой в конкурсе СПбГУАП по электронным учебникам.
Положения, выносимые на защиту
Архитектура и модель интеллектуальной навигационной тренажерно-обучающей системы, осуществляющей генерацию тестовых заданий, контроль, диагностику и оценивание знаний обучаемого и позволяющей реализовать алгоритм интерактивного обучения оператора-навигатора.
Способы задания и преобразования символьной информации, поступающей на вход интерфейса системы в естественно-математическом виде, на основе представления символьных данных в памяти компьютера в виде бинарных деревьев.
Способ сравнения символьных данных на основе шаблонов, задаваемых в процессе разработки обучающей системы.
Алгоритм оценивания действий обучаемого при проведении им расчетов навигационных параметров на основе метода аналогий.
Продукционная база знаний, позволяющая моделировать логические рассуждения, а также диагностировать действия и осуществлять контроль знаний оператора-навигатора.
Внедрение результатов работы. Результаты диссертационной работы использованы в учебном процессе:
в Военно-Морской академии им. Адмирала Флота Советского
Союза Н.Г. Кузнецова;
а в ФГОУ СПО Выборгский Авиационный технический колледж гражданской авиации;
а в Государственном образовательном учреждении высшего
профессионального образования «Санкт-Петербургский
государственный университет аэрокосмического приборостроения»;
в Челябинском военном авиационном институте штурманов.
Апробации работы. Основные результаты работы были представлены
и обсуждались на научных сессиях аспирантов, семинарах и ежегодных
докладах в Государственном образовательном учреждении высшего профессионального образования «Санкт-Петербургский государственный университет аэрокосмического приборостроения», научно-технической конференции «Тренажерные технологии и симуляторы - 2002», на Международном симпозиуме «Аэрокосмические приборные технологии», на научно-практической конференции «Педагогический дизайн», в Балтийском государственном техническом университете.
Личный вклад. В диссертации приведены только те результаты, в получении которых автору принадлежит основная роль.
Результаты научной работы автора были отмечены на конкурсе на соискание грантов для поддержки научно-исследовательской работы аспирантов вузов Федерального агентства по образованию (тема: «Разработка, исследование и внедрение в учебный процесс адаптивных алгоритмов обучения оператора-навигатора»).
Публикации. По материалам и результатам диссертации опубликовано 13 печатных работ.
Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения, библиографического списка и 2-х приложений. Общий объем работы - 176 стр., в том числе 11 табл. и 42 рис. Библиография включает 106 наименований.
Анализ принципов построения систем обучения и контроля знаний и их классификация
Рассмотрим классификацию существующих систем обучения и контроля знаний (СОиКЗ). Их можно классифицировать по нескольким признакам: а по функциональным характеристикам; а в зависимости от структурного построения; а по принципам алгоритмического построения; по методам представления знаний; а по методам организации контроля знаний; а по методам оценивания знаний.
Первые три признака являются достаточно общими, последние три базируются на использовании различных математических моделей, позволяющих формализовать знания и осуществлять их контроль и оценку на основе проведенной формализации.
Анализ существующих подходов проводился на основе работ следующих авторов: Раша Дж., Аванесова B.C., Атанова Г.А., Галеева И.Х., Гладуна В.П., Гловой В.И., Ездакова А.Л., Журавлева Ю.И., Зайцевой Л.В., Змитровича А.Н., Кокоревой Л.В., Люгера Дж. Ф., Минского М., Петрушина В.А., Попова Э.В., Поспелова Г.С., Поспелова Д.А., Растригина Л.А., Уэно X., Соловова А.В., Чхартишвили А.Г. [1,5, 14, 15, 19, 20, 26, 28-31, 33, 42, 48, 55,61-66,73,81,82,104].
Основное назначение проведенного анализа заключается в изучении существующих способов построения СОиКЗ и квинтэссенции этих методов для разработки архитектуры собственной системы обучения, а также модели ИНТОС в целом.
В табл. П.1. приложения В приведены классификации СОиКЗ и методов, на основе которых происходит их построение. Рассмотрим архитектуру интеллектуальной СОиКЗ, предложенной Петрушиным В.А. в [61, 62] (рис. 1.1.).
В основе данной архитектуры лежит следующая модель процесса обучения. Имеется цель обучения, выраженная в терминах текущих характеристик обучаемого. Пока цель не достигнута, повторяется следующая последовательность действий.
1. На основании текущего состояния обучаемого и методики обучения генерируется очередная задача (здесь задача понимается широко как любая информация, требующая ответных действий обучаемого).
2. Ответ обучаемого сравнивается с эталонным решением и на основании различий производится диагностика ошибок обучаемого.
3. По результатам диагностики корректируется модель обучаемого.
В соответствии с данной моделью интеллектуальную СОиКЗ можно рассматривать как совокупность трех взаимодействующих экспертных систем [62]: экспертная система по решению тестовых заданий (ЭС РТЗ) в изучаемой предметной области (предназначена для выработки эталонного решения задания), экспертная система по диагностике ошибок (ЭС ДО) (предназначена для выявления неправильных представлений обучаемого об изучаемой предметной области на основе сравнения его ответа с эталонным; формализует знания эксперта-психолога) и экспертная система по управлению обучением (ЭС ОУ) (ЭС по планированию в ограничениях, накладываемых имеющимся УМ, формализует знания эксперта-методиста о методиках обучения).
Первая система (ЭС РТЗ) может представлять собой: а) собственно экспертную систему, построенную на знаниях эксперта по решению ТЗ в данной ПрО, если она плохо формализуема; б) решатель заданий в некоторой хорошо формализуемой ПрО; в) программы поиска или выбора решения данного тестового задания из конечного (возможно большого) набора решений, если обучение ведется на заранее заготовленной совокупности заданий.
Парадигмой второй системы (ЭС ДО) является диагностика; симптомы выводятся на основании различия в ответах обучаемого и ЭС РТЗ, а результатами являются изменения текущих характеристик обучаемого (МО).
Взаимодействие интеллектуальной СОиКЗ с обучаемым происходит следующим образом. ЭС ОУ формирует в соответствии с текущей целью очередное тестовое задание для обучаемого, которое передается одновременно и ЭС РТЗ. Далее ЭС ДО сравнивает решение обучаемого с решением, полученным ЭС РТЗ, и на основании различий пытается установить, какие неправильные представления обучаемого о ПрО могли привести к расхождениям. В результате диагностики меняется представление интеллектуальной СОиКЗ об обучаемом, отраженное в МО, и управление снова получает ЭС ОУ, которая уточняет текущую цель и формирует новое тестовое задание. Взаимодействие с обучаемым происходит через интерфейс, который может содержать средства текстового, графического или речевого ввода-вывода, лингвистический процессор и т. п.
Особенности деятельности оператора-навигатора в процессе функционирования навигационного эргатического комплекса
Человек как высокоорганизованное существо по сравнению с техническими средствами обладает такими положительными свойствами, как адаптируемость, обучаемость, избирательность, самонастраиваемость, самоконтролируемость, способность к работе в конфликтных ситуациях. Одновременно как биологическая система человек обладает такими отрицательными качествами, как стохастическая изменяемость психофизиологических свойств, ошибочность в выполнении операций, утомляемость, зависимость психофизиологических параметров от возраста, большая чувствительность к изменениям окружающих условий, зависимость психических свойств от физиологического состояния, эмоциональность, возможность потери работоспособности в стрессовых ситуациях и т. д.
Все указанные и другие положительные и отрицательные свойства составляют специфику человеческого фактора в эргатическом комплексе. Необходимо формализованное описание функций человека, т. к. без него нельзя построить математическую модель эффективности эргатического комплекса.
Для преодоления возникающих при этом трудностей, связанных с формализацией действий человека, проявляющихся в процессе деятельности по распознаванию образов или ситуаций, решению тех или иных навигационных задач, принятию решения на основе полученной информации I и его исполнению, используется ряд математических моделей, описывающих только некоторые свойства человека. В этих моделях человек представляется некоторой частью, вовлеченной в сферу своей профессиональной деятельности, и называется оператором.
Проблема оценки и прогнозирования влияния оператора на эффективность комплекса значительно усложняется, если учесть, что ему, наряду с работой в многоконтурной системе управления ЛА, необходимо решать ряд потоков дискретных задач с возможными наложениями их друг на друга во времени [41].
Эти задачи не только не могут быть сведены к задачам работы оператора в замкнутом контуре автоматического регулирования, но и значительно расширяются и дополняются такими функциями, как управление бортовыми системами, контроль за их состоянием и функционированием, восстановление работоспособности комплексов аппаратуры в случае отказа их систем, выполнение специальных функций по приему, переработке и передаче информации.
Существенной особенностью деятельности оператора является его стохастичность, которая состоит в том, что все моменты начала и окончания операций случайны, какими бы жесткими не были различные временные ограничения и привязки [54].
Еще одной особенностью оператора как звена в ЭК является его одноканальность. Современные психофизиологические воззрения на свойства человека-оператора отрицают возможность одновременного выполнения им нескольких параллельных работ. Их кажущаяся одновременность есть не более чем быстрая последовательность перехода от одной целенаправленной деятельности к другой [38].
Если совокупность операций при решении той или иной задачи выполняется по одной и той же схеме, то натренированный оператор выполняет ее, в сущности, автоматически. Однако методика и длительность решения ряда задач зависят от многих факторов, носящих случайный характер. Поэтому рассчитывать на автоматическое (несознательное) выполнение оператором тех или иных действий можно только в ограниченных случаях. Об этих особенностях нельзя забывать при описании деятельности оператора.
Процесс работы оператора в эргатическом комплексе необходимо рассматривать не как реализацию непрерывного преобразования входных сигналов по определенному закону, а как реализацию стохастической последовательности длительностей решения задач различных потоков потому, что безотказность в работе оператора, прежде всего, обеспечивается надлежащей временной избыточностью.
Сложившееся в практике самолетовождения, верное в своей основе мнение о том, что качество выполнения полета в навигационном отношении, определяемое точностью следования ЛА по заданной пространственно-временной траектории, зависит от надежности средств навигации и умения штурмана квалифицированно использовать их в полете, не полностью отражает эксплуатационные характеристики и потенциальные возможности НЭК. Это обязательное, но недостаточное условие обеспечения требуемого уровня безопасности полетов в навигационном отношении.
При учете только этих факторов в любом нарушении безопасности полетов в навигационном отношении, как правило, усматривается вина штурмана или ненадежность (отказ) технических средств навигации. Однако, исходя из такого предположения, нельзя объяснить причину навигационных нарушений, допускаемых высококвалифицированными штурманами на самолетах с навигационным эргатическим комплексом, исправно работающими в полете. К числу таких навигационных нарушений можно отнести: уклонения ЛА от заданного пути, несвоевременное занятие заданной высоты полета, несвоевременное определение рубежей пролета границ районов управления воздушным движением и промежуточных пунктов маршрута, рубежей начала снижения с эшелонов, начала четвертого разворота и точки входа в глиссаду при заходе на посадку и др.
Подобные ситуации прежде всего объясняются непредвиденным и неучитываемым наперед дефицитом располагаемого времени для выполнения той или иной задачи.
Алгоритм преобразования символьной информации из строкового представления в бинарные деревья
Одним из первых вопросов, возникших при реализации модуля символьных преобразований, был вопрос представления математических формул в памяти компьютера. Очевидно, что от пользователя формулы могут поступать в систему только в виде строк символов. Однако преобразование формул, представленных строками, сложно и неэффективно. Поэтому было использовано другое представление формул - в виде бинарных деревьев [39], которое было адаптировано для объектно-ориентированной парадигмы программирования. Для построения бинарных деревьев была реализована иерархия классов, корнем которой является абстрактный класс Formulaltem, от которого происходят все остальные классы. Пользуясь общепринятой терминологией, экземпляры класса, содержащие ссылки на другие экземпляры этого класса, называются ветвями, не содержащие - листьями, любые экземпляры класса - узлами. Таким образом, экземпляры классов Number (Число) и Variable (Переменная) являются листьями, остальные -ветвями. Классы UnaryPlus (Унарный Плюс) и UnaryMinus (Унарный Минус) содержат по одной ссылке на экземпляры основного класса. Виртуальный класс BinaryOperation (Бинарная Операция) является базовым классом для целевой группы классов, представляющих бинарные операции: BinaryPlus (Бинарный Плюс), BinaryMinus (Бинарный Минус), Multy (Умножение), Div (Деление), Power (Степень). Этот класс ссылается на два экземпляра основного класса, это же свойство наследуют и все производные классы. Что касается класса Function (Функция), то он содержит произвольное количество ссылок на экземпляры основного класса в зависимости от числа параметров функции. Так, например, экземпляр класса Function, представляющий функцию sin(x), ссылается на экземпляр класса Variable, представляющий переменную х. Функция power(2, х) (возведение первого аргумента в степень второго аргумента) ссылается на экземпляр класса Number, представляющий двойку, и на экземпляр класса Variable, представляющий х. На рис. 2.1. показано, как в памяти компьютера будет представляться формула расчета условного курса UK: UK = IK + (lambdaO - lambdaT) sin(Fi), где IK -истинный курс, lambdaO - начальная долгота, lambdaT - текущая долгота, Fi - нормальная сферическая широта.
Узлы, помеченные символами «+», «-», « » представляют бинарные операции, и являются экземплярами классов BinaryPlus, BinaryMinus, Multy. Узлы, помеченные символами IK, lambdaO, lambdaT, Fi - экземпляры класса Variable, узел sin - класса Function. Рис. 2.1. Представление формулы расчета условного курса UK = IK + (lambdaO - lambdaT) sin(Fi) Для преобразования формул из строкового представления в бинарное дерево были использованы методы теории трансляции [36, 37, 71]. В модуле, выполняющем эти преобразования, можно выделить два основных компонента: лексический и синтаксический анализаторы. Лексический анализатор выделяет из входной строки отдельные лексемы. К лексемам относятся: числа - последовательности цифр, содержащие или не содержащие десятичную точку; а переменные, представленные последовательностями букв и цифр, начинающимися с буквы (идентификаторами); знаки арифметических операций: «+», «-», « », «/», «А»; а имена функций - идентификаторы, за которыми непосредственно следует левая круглая скобка; и левая и правая круглые скобки; запятая.
Последовательности символов, не соответствующие ни одному из приведенных выше пунктов, считаются недопустимыми и отвергаются лексическим анализатором. Выделенные лексемы передаются на обработку синтаксическому анализатору.
Синтаксический анализатор формирует из полученных лексем бинарное дерево, при этом он проверяет, является ли передаваемая ему последовательность лексем допустимой. Так, например, строка символов «а+ Ь» с точки зрения лексического анализатора является вполне допустимой, однако, с точки зрения синтаксиса языка математических формул - ошибочной. Такие синтаксические ошибки должен отслеживать синтаксический анализатор. Кроме того, синтаксический анализатор отвечает за интерпретацию отдельных лексем. Действительно, тип узла, в который будет преобразована лексема, определяется не только ее типом, но и типом предшествующей лексемы. Так, например, минус в строке символов «а-Ь» будет преобразован в бинарный минус, в то время как в строке «ал-Ь» - в унарный.
Для преобразования последовательности лексем в бинарное дерево используется алгоритм, аналогичный алгоритму преобразования арифметического выражения в постфиксную запись [36]. Алгоритм использует два стека, в первом стеке формируются поддеревья строящегося бинарного дерева. Второй стек служит буфером для временного помещения лексем, представляющих арифметические операции, и левые скобки. На вход алгоритма подается математическая формула в виде строки символов. В случае если строка корректна, на выходе получаем бинарное дерево, представляющее введенную математическую формулу. Неформальное описание работы синтаксического анализатора выглядит следующим образом [49].
1. Получить лексему от лексического анализатора, сделать ее текущей. Если лексический анализатор обработал всю входную строку и больше не возвращает лексем - перейти к п. 6.
2. Если текущая лексема является числом или переменной - поместить ее в качестве узла в первый стек, перейти к п. 1. Если функцией - вызвать данный алгоритм для каждой подстроки, представляющей собой параметр функции, поместить поддерево, представляющее полученную функцию, в первый стек, перейти к п. 1.
3. Если текущая лексема является арифметической операцией, но не степенью, сравнить ее приоритет с приоритетом лексемы на вершине второго стека (приоритеты лексем указаны в таблице 2.1.), если приоритет больше или стек пуст, поместить текущую лексему во второй стек, перейти к п. 1. В противном случае снять лексему с вершины второго стека, выполнить над ней п. 7, после чего вернуться к началу п. 3.
Диагностика знаний и умений обучаемого в экспертной системе
В широком смысле диагностикой называют процесс поиска неисправности в системе, основанный на интерпретации данных. Применительно к процессу обучения диагностика означает выявление тех знаний/умений, которыми обучаемый не овладел.
При построении экспертной системы, предназначенной для диагностики [5] текущего состояния знаний/умений обучаемого, возможны два подхода.
1. Подход, подчиненный логике раскрытия темы или раздела. При этом подбираются задачи (вопросы), суммарный спектр которых, т. е. совокупность всех знаний/умений, необходимых для решения исходной задачи, покрывает соответствующую часть модели обучаемого по диагностируемой теме.
2. Подход, заключающийся в том, что модель обучаемого ограничивается спектром какой-либо задачи или набора задач, т. е. второй подход подчинен логике решения определенной задачи. Этот, так называемый, задачный подход вытекает из деятельностной природы обучения. Как известно, механизмом осуществления деятельности является решение задач. Если обучаемый правильно решает задачу, то текущая модель обучаемого совпадает с локальной предметной моделью, и не требуется никаких корректировок учебного процесса. Если допущена ошибка, то задача диагностирующей системы заключается в определении тех необходимых для решения знаний/умений, которыми обучаемый не владеет.
В. А. Петрушин [62] при построении диагностирующих экспертных систем предлагает методику, которая заключается в следующем. Сформулировать гипотезы вида «обучаемый не знает/не умеет», а для оценки влияния симптома S на гипотезы этого вида означить этот симптом, используя шкалу «Да - Не знаю - Нет». Если обучаемый выполняет действие неправильно (при этом значение симптома S - «Нет»), то апостериорная вероятность гипотезы возрастает, эта гипотеза может быть принята, и система выдаст сообщение, позволяющее диагностировать знания/умения обучаемого. Если обучаемый отказался отвечать на вопрос, предложенный экспертной системой (при этом значение симптома S - «Не знаю»), то методика предполагает, что апостериорная вероятность гипотезы равна ее априорной вероятности, и траектория вычислений приводит к неопределенности гипотезы.
Описанный подход имеет существенные недостатки. Во-первых, ответ «Не знаю» в данном случае имеет два смысла. Он может быть дан: а) если обучаемый действительно не знает ответ и б) если у обучаемого не хватает времени для обдумывания. Фактически методика реализует лишь случай б), поскольку в случае а) гипотеза «обучаемый не знает/не умеет» должна быть принята, а она остается актуальной. Во-вторых, в случае правильного решения задачи обучаемым (при этом значение симптома S - «Да») гипотеза вида «обучаемый не знает/не умеет» отвергается, а другой гипотезы нет.
Указанные выше недостатки приводят к тому, что система, построенная согласно данной методике, как при правильном решении обучаемым задачи, так и в случае отказа обучаемого от ответа выдает одно и то же сообщение: «Нет данных для принятия решения или нет проблем!» Но это сообщение двусмысленно. Первая часть сообщения говорит о том, что гипотезы остались актуальными, но их апостериорные вероятности не превысили верхний порог, и они не могут быть приняты. Вторая же часть утверждает, что все гипотезы отвергнуты. Как показано выше, причины, вызывающие это сообщение, могут быть принципиально различными.
Сообщение, выдаваемое экспертной системой, не позволяет преподавателю, не обращаясь к подсистеме объяснения принятия решения или протоколу экспертизы, определить, какие действия обучаемого привели к данному результату. Обращение к подсистеме объяснения позволяет восстановить ход рассуждений обучаемого, однако этот способ является очень громоздким и требует больших затрат времени.
Для того чтобы исключить случай нехватки времени для обдумывания, требуется экспериментально определить время, необходимое для работы с системой. Составляются тестовые задания, включающие те же самые тесты и задачи, которые входят в состав базы знаний экспертной системы. С помощью этих ТЗ проводится тестирование обучаемых, причем для ответов дается неограниченное время. Определяется время, за которое все обучаемые справятся с заданием. Это время считается в дальнейшем временем, достаточным для работы с экспертной системой. Поэтому ответ «Не знаю» рассматривается как неспособность обучаемого ответить на вопрос, предложенный экспертной системой. Иными словами, означивание симптома происходит по шкале «Да-Нет».
Неадекватность реакции системы на правильные действия обучаемого устраняется путем включения в базу знаний гипотез не только вида «обучаемый не знает/не умеет», но и вида «обучаемый знает/умеет». При этом сумма априорных вероятностей аналогичных гипотез вида «обучаемый не знает/не умеет» и вида «обучаемый знает/умеет» равняется единице, поскольку одно из выше названных событий обязательно произойдет, т. е. обучаемый либо умеет, либо не умеет что-либо делать, либо знает, либо не знает какое-либо положение учебного материала.
Правильное решение задачи приводит к уменьшению вероятности гипотез вида «обучаемый не знает/не умеет», зависящих от данного симптома, и увеличению вероятности гипотез вида «обучаемый знает/умеет», и наоборот. Хотя гипотезы вида «обучаемый знает/умеет» характерны для тестирования, система, построенная таким образом, остается диагностирующей, поскольку она выявляет знание/незнание (умение/неумение) обучаемым отдельных вопросов, в то время как тестирование предполагает интегральную оценку.