С.М. Каратун, Н.А. Мосягина
Тюменский государственный нефтегазовый университет, Тюмень, Россия
Образование в целом является той областью, где объединяются разные способы постижения мира. При этом интеллектуальная деятельность осуществляется как преподавателем, так и учеником. Формализовав эти процессы, можно автоматизировать часть функций преподавателя и облегчить и сделать более эффективной учебу студентов.
Систему, решающую подобные задачи, можно реализовать как систему искусственного интеллекта. Уровень автоматизации должен выбираться в каждом случае индивидуально экспертом/преподавателем: "что нужно" (автоматизировать) и инженером по знаниям: "что можно" (автоматизировать). При разработке подобных систем необходимо конструировать заново содержание и организацию учебного материала, преподавательскую деятельность и форму учебной работы студента в обучающей среде.
Одним из направлений создания информационно - обучающей среды (ИОС), решающей проблемы формирования и организации учебного процесса является интеграция информационных и телекоммуникационных технологий в образовательный процесс и управление образованием [Зайцева Е. Н, 2003]. Управлять учебным процессом можно путем автоматизации функций преподавателя (напрмер, автоматизировать контроль правильности решения задач). Система, выявляя проблемы при обучении студента, может указать темы, которые должны быть им более подробно изучены, и предложить варианты обучения. В рамках создания ИОС может быть решена и локальная задача автоматизации, например, моделирование какого-либо процесса, с формулировкой выводов по полученным результатам. Рутинная часть работы преподавателя по обучению и анализу знаний студентов может быть передана программе. Система, реализующая индивидуальный подход к обучению студента должна содержать элементы искусственного интеллекта.
В ходе создания ИОС на первый план выходит задача принципиально нового конструирования содержания и организации учебного материала, изменяется вид деятельности преподавателя и форма учебной работы студентов в компьютерной среде. Предусматривая не просто получение знаний и проверку усвоенного, но переход от описательного или аналитического представления изучаемого объекта к моделированию его существенных черт, приходим к проблемно- активному типу обучения [Зайцева Е. Н, 2003], к автоматизации процессов интеллектуальной деятельности.
В программную модель изучаемой области знаний встраивается определенная методика обучения. В ИОС система определяет характер и направление обучения, возможности и формы участия обучаемого, реализует приближение к поставленной цели обучения. При разработке подобной системы, должно быть решено, какие процессы выполняются студентами при пользовании ИОС, какие процессы выполняет система, что остается преподавателю для принятия решений. В [Григорьев В. К., 2003], например, подобная проблема решается введением модели обучаемого, студента или пользователя ИС; модели изучаемой области, изучаемого объекта и модели преподавателя.
Программно-аппаратное обеспечение ИОС предусматривает возможность добавления новых функций, а также включение в единую сеть оборудования и программных средств. Развивая систему, надо заботиться о сохранении ее концептуальной целостности, обеспечивая типизацию всего комплекса используемых информационных технологий. В настоящее время такие среды формируются в рамках общедоступных технологий в среде WEB - технологий или профессионально разработанных оболочках - распределенных обучающих средах, включающих использование информационных и экспертных систем обучения и анализа знаний. Таким образом локальные задачи в образовательной деятельности могут быть решены на основе создания экспертных систем (ЭС) по различным областям знаний.
С технической точки зрения основными проблемами при реализации ИОС на основе ЭС являются проблемы поиска, организации и управления знаниями. Хотя знания в области образования хорошо структурированы, однако определение концептуальных элементов знаний, их организация и представление является сложной задачей.
Существуют механизмы, позволяющие создать базу знаний интеллектуальных систем [Chandrasekaran B. и др, 1998], такие как языки фреймов, системы правил, семантические сети и т. д. Но каким бы хорошим не был механизм, он мало что может дать без адекватного описания предметной области, на которой он должен работать. Анализ предмета должен выяснить структуру знаний, так как она образует основу любой системы представления знаний.
Представление знаний для хорошо структурированных предметных областей можно рассматривать как набор концептов, специализированных для данной области. Такие концепты могут быть описаны с помощью терминов словаря представлений. Фактически необходимо рассматривать некоторую систему категорий, не зависящую от конкретного языка описания.
Если нет концептов, то нет и словаря для представления знаний. Поэтому первый шаг в представлении знаний заключается в выполнении эффективного анализа некоторой области знаний. Знания определяются основными понятиями, включенными в них, и отношениями между понятиями. Имея набор терминов для описания концептов и синтаксис для кодирования концептов и отношений между ними, можно представить результаты анализа знаний.
В технических науках можно говорить о представлении, например, темы "Программирование". Подобные знания могут иметь такие концептуальные элементы как данные, процедуры, классы и др. и отношения между этими элементами, такие как "определенные данные могут быть использованы некоторыми процедурами".
Идентификация таких терминов и лежащих в их основе концептов требует тщательного анализа типов объектов и отношений, которые могут существовать в темах предметной области. На этой основе в дальнейшем можно описать знания, охватывающие многие области образования. Анализ знаний, необходимый для создания подобных концептуальных представлений, является главной исследовательской проблемой.
В экспертных системах, основанных на знаниях, правила (или эвристики), по которым решаются проблемы обучения и анализа знаний, хранятся в базе знаний [Гаврилова Т. А., Хорошевский В. Ф., 2002]. Проблемы ставятся перед системой в виде совокупности фактов, описывающих процесс обучения, и система с помощью базы знаний и машины вывода формулирует заключение о знаниях студента. При этом эвристики о знаниях преподавателя представляют собой правила вывода, позволяющие находить решения по известным фактам.
Одна из функций управления учебной деятельностью состоит в обеспечении возможности проведения индивидуальных процедур контроля и корректировки знаний по конкретным темам, что может повысить объективность контроля знаний студентов, уровень стандартизации требований к объему и качеству знаний и умений, обеспечить возможность проведения предварительного самоконтроля обучаемыми.
При формализации знаний их, как правило, структурируют по разделам и подразделам. Далее формулируют факты, которые должны быть усвоены студентами, и методики проверки правильности использования этих фактов. При управлении учебным процессом по обучению и оценке знаний студентов для каждого предмета уровень автоматизации должен выбираться индивидуально экспертом в конкретной области знаний и инженером по знаниям. В качестве эксперта может выступать преподаватель. Формальное алгоритмическое описание процесса работы с фактами может быть следующим:
выделяют задачи, решение которых является функциональной обязанностью обучаемого;
формулируют эти задачи в терминах предметной области;
строят цепочку действий, решающих эти задачи;
выполняют обратную задачу по интерпретации полученных результатов.
Необходимо отметить, что знания часто не имеют математически сформулированных и алгоритмически определенных выражений. Тогда проверка правильности использования факта значительно усложняется. Эксперту в конкретной области знаний необходимо сформулировать ход своих рассуждений.
Под руководством авторов студентами направления ИВТ ТюмНГНГУ Скочиным А. и Савченковым Л. реализован вариант системы для обучения и проверки знаний по дисциплине "Теория формальных языкоа".
В настоящее время теория формальных языков и конечных автоматов является важнейшей частью ядра информатики. Центральным понятием этой научной дисциплины является понятие языка, которое в наиболее общем смысле можно определить как множество слов в некотором конечном алфавите. Очевидно, что далеко не каждый язык можно описать простым перечислением всех входящих в него слов, тем более что многие языки вообще являются бесконечными. Однако необходимо, чтобы описание языка имело конечный "объем". Известно два основных метода определения языков, удовлетворяющих этому требованию. Один из них состоит в использовании порождающей системы, называемой грамматикой. В этом случае цепочки языка строятся точно определенными способами согласно правилам грамматики. Второй метод описания языка основан на применении механизма распознавания и использует частичный алгоритм, который для произвольной входной цепочки остановится и ответит "да" после конечного числа шагов, если эта цепочка принадлежит языку. Часто такой алгоритм представляют в виде некоторого схематизированного устройства, называемого распознавателем.
Целью написания программы "Regular Language", реализующей ИОС, является построение компьютерной модели для изучения важного класса формальных языков - регулярных множеств, образующих фундамент современной теории автоматов. Реализовано три метода описания таких языков: праволинейные грамматики, детерминированные и недетерминированные конечные автоматы, регулярные выражения. Праволинейные грамматики определяют порождающий механизм описания регулярных множеств, конечные автоматы представляют собой простейшие распознаватели. Регулярные выражения нельзя в полной мере отнести ни к порождающим, ни к распознающим моделям задания языка. Они представляют собой структурные записи для описания некоторых шаблонов построения допустимых цепочек, что позволяет использовать их в качестве метода описания входного языка во многих системах, обрабатывающих различные последовательности символов.
Данная среда предназначена для автоматизации процессов разработки, анализа и преобразования различных моделей представления регулярных языков.
Среда может использоваться в учебных целях и служить эффективным наглядным пособием при изучении основ теории формальных языков с точки зрения более глубокого понимания основных принципов построения порождающих и распознающих моделей языка. Пользователь имеет возможность визуально наблюдать действие алгоритма распознавания конечных автоматов и механизма порождения в праволинейной грамматике.
Преподаватель может использовать эту среду для автоматической проверки правильности решения задачи построения конечного автомата (КА), его преобразования из одних моделей в другие: регулярное выражение в конечный автомат, любой конечный автомат в любой другой конечный автомат и минимизацию конечного автомата (в том числе по шагам).
Конечные автоматы являются моделью для многих компонентов аппаратного и программного обеспечения [Хопкрофт Дж. и др., 2002]. В связи с этим разрабатываемая программа может найти применение при проектировании и реализации разнообразных вычислительных систем, таких как:
программное обеспечение, используемое для разработки и проверки цифровых схем;
лексический анализатор стандартного компилятора;
программное обеспечение для сканирования таких больших текстовых массивов, как наборы Web-страниц, с целью поиска заданных слов, фраз и других последовательностей символов;
программное обеспечение для проверки различного рода систем, которые могут находиться в конечном числе различных состояний;
тестеры программ, которые могут найти применение в олимпиадах по программированию для автоматической проверки правильности работы программы.
Логическая структура программы включает три основных модуля:
модуль описания интерфейсных классов, отвечающих за взаимодействие программы с пользователем;
модуль описания методов представления регулярного языка, представляющий из себя базу знаний;
модуль определений и конструкций, реализующий машину вывода.
ИОС позволяет проверить факты, которые должны быть усвоены студентами в виде следующих алгоритмов [Ахо А. и др., 1978]:
алгоритм преобразования недетерминированного конечного автомата (НКА) и недетерминированного конечного автомата с e- переходами eНКА в детерминированный конечный автомат (ДКА);
алгоритм преобразования конечного автомата в регулярное выражение;
алгоритм построения eНКА по регулярному выражению;
алгоритм минимизации ДКА;
алгоритм построения по праволинейной грамматике автоматной грамматики;
алгоритм построения eНКА по автоматной грамматике;
алгоритм построения автоматной грамматики по КА;
алгоритм имитации распознавания НКА (eНКА).
Никаких специальных требований для загрузки программа не предъявляет. Достаточно, чтобы исполняемый файл программы находился на одном из устройств внешнего хранения данных.
Обучаемому предлагается для выбора следующее меню:
Рис 1. Главное Меню.
Для каждой версии регулярного языка (РЯ) программа может находиться в одном из двух режимов.
Режим конструктора. В данном режиме можно редактировать текущую версию РЯ , т.е. изменять ее алфавиты, правила и проч. В данном режиме невозможно осуществление каких-либо операций с РЯ (сохранение в файл, перевод в другой тип РЯ и т.п.), так как он как таковой еще не существует.
Переход в режим работы осуществляется операцией"Создать" .
Режим работы. Для КА этот режим называется "Режим распознавания", для Грамматики - "Режим порождения". В данном режиме редактирование текущей версии РЯ запрещено. Все операции с РЯ осуществляются в этом режиме, такие как: проверка цепочки на принадлежность (порождение цепочки), перевод в другой тип РЯ , сохранение в файл и т.п.
Программа выдает сообщения об ошибках:
ошибки при создании КА;
ошибки при создании грамматики;
ошибки при переводе из регулярного выражения (РВ);
ошибки при сохранении (открытии) в (из) файл(а);
ошибки при переводе из РВ в ЕНКА;
ошибки при распознавании (порождении).
Анализ и оценка разработки ИОС "Regular Language"
При разработке информационно- образовательной среды в качестве главной цели была выбрана возможность автоматического контроля процесса моделирования студентами регулярных языков.
Информационно- образовательная среда обеспечивает контроль правильности решения следующих задач:
дает возможность построить разные виды моделей регулярных языков: ДКА, НКА, ЕНКА, регулярных выражений (РВ), праволинейной грамматики (ПГ), автоматной грамматики (АГ);
позволяет проводить имитацию работы конечного автомата всех видов (ДКА, НКА, ЕНКА);
позволяет осуществлять преобразование одних моделей в другие: регулярное выражение в конечный автомат, любой конечный автомат в любой другой конечный автомат, конечный автомат в регулярное выражение, конечный автомат и регулярное выражение в праволинейную грамматику;
позволяет осуществлять минимизацию конечного автомата (в том числе по шагам).
С точки зрения преподавателя использование ИОС позволяет:
осуществлять автоматическую проверку правильности решения задачи построения любой модели, определяющей заданный регулярный язык. Задача считается решенной правильно, если при имитации модель допускает/порождает этот заданный язык;
многократно повысить эффективность решения задач, так как студенты могут осуществлять проверку правильности построения модели сами и не ждать проверки ее преподавателем;
работать в большей мере с теми студентами, у которых есть проблемы с построением моделей, их преобразованием и минимизацией конечного автомата, а не проверять каждое решение вручную.
С точки зрения студентов использование ИОС позволяет:
проверить правильность своего решения, не дожидаясь преподавателя и перейти к решению других, более сложных задач;
в справке системы есть тесты для проверки моделей и алгоритмы решения, с которыми студенты могут оперативно познакомиться;
с помощью среды можно отработать механизм решения, многократно решая задачи одного типа.
Подобная среда может найти применение не только при обучении дисциплине "Теория формальных языков". ИОС можно использовать для задания любого регулярного языка при помощи удобной модели: грамматики или регулярного выражения. Затем среда сама преобразует эту модель в конечный автомат, после чего можно легко перейти к программированию задачи.
Кроме того, изучение программной структуры информационно- образовательной среды может быть полезно при обучении объектно-ориентированному подходу программирования, в частности, интерес представляет построение иерархии классов, моделирующих предметную область для ИОС.
[Зайцева Е. Н, 2003] Зайцева Е. Н., Информационно - обучающая среда: проблемы формирования и организации учебного процесса - Education Technology&Society 6(2). 2003.
[Григорьев В. К., 2003] Григорьев В. К. Подсистема обучения - обязательная компонента информационно-управляющей системы (принципы разработки, методы проектирования и реализации) - Education Technology&Society 6(2). 2003, pp. 139-153.
[Гаврилова Т. А., Хорошевский В. Ф., 2002] Гаврилова Т. А., Хорошевский В. Ф., Базы знаний интеллектуальных систем - Санкт-Петербург, Питер, 2002.
[Chandrasekaran B. и др., 1998] Chandrasekaran B., Josephson J. R., Richard Benjamins V. Ontology of task and methods - Banff knowledge acquisition workshop, 1998.
[Хопкрофт Дж. и др., 2002] Дж. Хопкрофт, Р.Мотвани, Дж.Ульман. Введение в теорию автоматов, языков и вычислений.,Вильямс,2002.
[Ахо А. и др., 1978] А.Ахо, Дж.Ульман. Теория синтаксического анализа, перевода и компиляции. Т.1, Синтаксический анализ., Мир, 1978.