Заголовок статьи (Заголовок 0)

advertisement
Самый действенный способ научиться
чему-либо самому – попробовать научить
этому … компьютер
С.Е. Каминский,TRTL, руководитель направления E-mail:
kam@trtl-ln.com; О.Ф. Лукьянец, к. т. н., МГТУ им. Н.Э. Баумана,
доцент кафедры Технологии машиностроения,E-mail:
oleg.fedorovich@mail.ru
Рассматривается технология обучения автоматизации решения
прикладных задач. Предлагается наглядный и простой способ
формализации знаний в виде таблиц традиционной формы и таблиц
принятия решений. Описывается несложный алгоритм поиска решений
и его реализация в среде IBM Lotus Notes/Domino в виде приложения
«Решатель инженерных задач». Изложение иллюстрируется примером
из области технологии машиностроения.
Что продуктивней: просто учиться или учиться и учить
Традиционное обучение строится по схеме: изучение теории,
закрепление теории в процессе решения учебных задач, сдача зачетов
или экзаменов для демонстрации владения теорией.
Предлагаемая технология обучения автоматизации решения
прикладных задач предполагает непосредственное применение
полученных прикладных знаний и закрепление их на практике в ходе
автоматизации реальных задач по изучаемой дисциплине. Причем
предлагается автоматизировать задачи принятия решений, требующие
оценки влияния различных дополнительных условий.
Реальная автоматизация в отличие от типовых заданий требует более
глубоких знаний и свободного владения предметом. Подготовка
материалов для автоматизированного решения не терпит условностей и
неоднозначностей, иначе просто ничего не будет работать.
Соответственно учащимся надо приложить значительные усилия для
разрешения вопросов, которые при традиционном выполнении
домашних, курсовых и дипломных работ можно было пропустить, не
разбираясь в сути проблемы.
Разработка автоматизированной системы сродни процессу обучения
старательного,
но
бестолкового
учащегося.
Единственными
достоинствами которого, являются хорошая память и умение точно
исполнять указания. Как свидетельствует практика, глубокое понимание
предмета приходит часто не в процессе обучения, а при попытке
научить изученному материалу другого.
-1-
Почему многие задачи трудно автоматизировать
На практике реализация многих задач не рентабельна из-за
необходимости формализации больших объемов недостаточно
качественной информации, требующей очень больших трудозатрат для
снятия неопределенностей и устранения неточностей. Получение
качественного решения, применимого на практике, может оказаться
труднодостижимой целью.
Для учебного процесса вопрос о рентабельности не стоит. И чем
больше придется разбираться с существом вопроса, тем лучше. А
снятие неопределенностей и устранение неточностей может стать
серьезным поводом для выполнения научной работы.
Как удобно и привычно представлять знания
В самых разных прикладных и научных дисциплинах широко
используется табличное представление для описания взаимосвязей
объектов предметной области. Таблицы – простая и естественная форма
описания правил «ЕСЛИ, (условие) ТО (решение)». Текстовые
описания, содержащие условия и правила, так же могут быть
представлены в виде таблиц, если должным образом преобразовать и
разделить информацию.
Таблицы могут быть, как традиционной формы: два входа и один
выход; или таблицами принятия решений, в которых сопоставляются
несколько входных условий нескольким выходным решениям. Такие
таблицы (в отличие от традиционных) могут описывать более сложные
связи входных и выходных параметров.
У табличного представления логики принятия решений имеется
очень важное свойство. Таблица естественным образом предполагает
полноту информации и, если какие-то ячейки таблицы не удается
заполнить, появляется повод найти обоснование такой ситуации.
Конечно, перевод текстовых описаний в табличную форму далеко не
всегда является простой задачей, но тем ценнее это для целей обучения.
Во всех прикладных дисциплинах существует устоявшаяся
терминология, а современные средства программной реализации могут
легко работать с текстом без необходимости дополнительного
символьного кодирования. Это открывает широкие возможности
использования ограниченного естественного языка при описании
логических условий.
В связи с этим, одной из важных задач подготовки к автоматизации
является разработка учащимися терминологического словаря, включая
подробное толкование терминов и выявление их иерархической
подчиненности.
-2-
Ниже приведены примеры табличного представления знаний
строительной и медицинской тематики. На рис. 1а представлен
фрагмент незначительно модифицированной таблицы из строительных
норм и правил. На рис. 1б таблица получена из текста инструкции по
применению медицинского препарата. Текст инструкции представлял
собой описание, подразумевающее использование правил «ЕСЛИ,
(условие) ТО (решение)», что и нашло свое отражение в таблице в более
формальном виде.
а)
б)
Рис. 1. Табличное представление знаний для различных предметных
областей: а) определение коэффициента теплопроводности; б) выбор
схемы лечения при лечебно-профилактической иммунизации
Что нужно, чтобы формализованные фрагменты задачи
управляли поиском решения
Сама по себе формализация знаний в виде табличного представления
с использованием терминологического словаря только часть работы,
которую должны проделать учащиеся на пути реальной автоматизации
прикладных задач. Для каждой таблицы, как фрагмента решения,
-3-
должны быть определены условия применимости, которые будут
управлять выбором той или иной таблицы.
Поскольку условия применения легко описываются правилами
«ЕСЛИ, (условие) ТО (решение)» они так же могут быть представлены
в виде таблиц (таблиц применимости)
Таблицу применимости в совокупности с таблицей формализующей
решение условимся называть информационным блоком. Это понятие
хорошо отражает назначение полученного документа: во-первых, это не
элементарное решение, а законченный фрагмент описания решаемой
задачи; во-вторых, это самодостаточный фрагмент описания знаний,
несущий в себе всю необходимую информацию для выбора строго
определенного места в последовательности информационных блоков,
приводящих к результату.
Рис. 2. Пример информационного блока формализующего знания для
решения задач в области технологии машиностроения
Имея набор информационных блоков можно по формальным
правилам подобрать их таким образом, чтобы на множестве исходных
данных определить значения заданного набора выходных параметров.
-4-
Машина вывода (решатель) повторяет в цикле следующие действия:
выяснение имеется ли информационный блок для очередного
определяемого параметра, что необходимо для определения значения
выходного параметра, что недостает для выполнения информационного
блока. Если данных достаточно, определение удовлетворяют ли
известные
данные
ограничивающим
условиям
и
условиям
применимости блока. Если все условия соблюдены, предпринимается
попытка «выполнить» блок и дополнить имеющуюся информацию
найденными значениями. Затем процесс поиска информационных
блоков с учетом вновь появившихся промежуточных параметров
повторятся до тех пор, пока не будет найдено значение выходного
параметра или за очередной цикл поиска решений не появится новых
промежуточных параметров, или не изменятся значения каких-либо
параметров (промежуточных или выходных).
Покажем применение рассматриваемой методики для задач
технологического проектирования в машиностроении [1, 2].
Поиск решений предполагает существование на каждом шаге
однозначного решения и выполняется по простым формальным
правилам. Формализация знаний с помощью правил является основной
для большинства задач технологического проектирования. Она
построена на использовании выражений вида: ЕСЛИ (условие), ТО
(решение).
Сопоставление частей правил “ЕСЛИ” с накопленными в системе
данными, порождает цепочку выводов. Цепочка выводов, образованная
последовательным применением правил показывает, как система
использует правила для нахождения решения задачи. Правила
обеспечивают естественный способ описания процессов управления
ходом решения задачи.
Отметим, что в программах традиционного типа схема передачи
управления и использования данных предопределена в самой
программе:
обработка
данных
здесь
осуществляется
последовательными шагами, а ветвление алгоритма имеет место только
в заранее выбранных точках. При решении реальных задач
технологического проектирования ветвление алгоритма скорее норма,
чем исключение и, в связи с этим, традиционный способ разработки
программ малоэффективен. Поэтому в автоматизированной системе,
предназначенной для решения задач такого рода, ход решения задачи
должен управляться самими данными. Правила дают возможность на
каждом шаге поиска решения оценивать данные и предпринимать
соответствующие действия. Использование правил упрощает
объяснение того, что и как сделала программа и каким способом она
пришла к конкретному результату при решении задачи. В нашем случае
-5-
однотипные правила группируются в информационные блоки и
используются машиной вывода в контексте информационных блоков
(Рис. 3).
Рис. 3. Иллюстрация логического механизма поиска на множестве
информационных блоков
-6-
Чтобы описание задачи в системе автоматизированного поиска
решений было доступно прикладному специалисту, оно должно быть
выражено в явном виде. Для этого в качестве наименований параметров
используются непосредственно сами наименования терминов, принятые
в предметной области. Важность этой особенности системы,
основанной на знаниях, трудно переоценить. Формализованные знания
приобретают такую же ценность, как и любая справочно-техническая
литература, и могут распространяться посредством книг и лекций.
Использование естественного языка и терминологии предметной
области, дает в руки квалифицированных специалистов инструмент
создания автоматизированных систем без посредников в лице
программистов (инженеров по знаниям)
На чем это реализовано
Вышеописанная методика положена в основу прикладного
приложения «Решатель инженерных задач» обеспечивающего полный
цикл создания автоматизированных процедур поиска решений, включая
средства подготовки терминологического словаря, информационных
блоков и поисковых запросов, а так же инструменты тестирования и
отладки для процесса разработки [3].
Платформой реализации является среда IBM Lotus Notes/Domino.
Выбор данной программной платформы не случаен. IBM Lotus Notes
Domino- классическая среда разработки распределенных систем
документооборота. Приложения IBM Lotus Notes/Domino содержат в
своем составе всё необходимое для реализации средств формализации
знаний предметной области и процедур поиска решений, в том числе
позволяют создавать простые пользовательские интерфейсы
Приложения IBM Lotus Notes/Domino легко тиражируются и
масштабируются. Это обеспечивает быстроту создания, наполнения,
развертывания автономных приложений, а также построения на их
основе комплексных приложений клиент-серверной архитектуры.
IBM Lotus Notes/Domino имеет все необходимые средства для
организации обмена данными с внешними системами, что позволяет
легко встраивать приложение «Решатель инженерных задач» в системы
- потребители данных.
Кроме того, поскольку пользователи (прикладные специалисты)
зачастую имеют дело с документами - платформа IBM Lotus
Notes/Domino, ориентированная на работу с документами, является
весьма удобной для реализации поставленных задач.
Отметим, что одновременно среда автоматизации накладывает
определенные правила и ограничения на запись информации в
электронных документах. Но в то же время, открывает широкие
возможности для размещения в документах самой различной
-7-
информации, включая изображения, видео и звук. Последнее является
решающим фактором для возможности применения средств «Решателя
инженерных задач» в таких областях, как медицина и гуманитарные
науки.
Как это применяется в учебном процессе
Для целей обучения методике формализации предметных знаний
весь процесс от постановки задачи до работающего фрагмента
приложения разделен на 11 шагов (последовательных этапов). На
каждом шаге решается одна, самостоятельная, задача формализации
применительно к задачам технологии машиностроения. Однако, сам
подход универсален и применим к другим предметным областям после
незначительной адаптации к предметной специфике.
Шаг_1. Постановка задачи. Четкое формулирование целей и задач
работы. Краткое описание метода решения. Ожидаемые результаты и
способы контроля их достоверности. Исследовательская часть работы
может включать раздел сравнения данных из разных источников с
целью выявления наиболее достоверных данных и определения
оценочных характеристик качества нормативов.
Шаг_2. Подготовка терминологического словаря. Ознакомление с
отраслевыми стандартами и международными классификаторами.
Ознакомление с имеющейся версией словаря. Подробное раскрытие
смысла одного-двух, используемых терминов (уточнение смысла уже
имеющихся в словаре понятий). Всегда можно найти, что уточнить или
иллюстрировать подходящим примером или дополнительной схемой,
чертежом, картинкой.
Шаг_3 Обобщенное логическое описание задачи (аналог блоксхемы, но без излишней детализации). Описание поиска решений по
пунктам. Каждый пункт должен одной фразой характеризовать
конкретную вычислительную или логическую процедуру, или поиск в
одной таблице. Если фрагмент решения можно описать одной короткой
фразой, то данный фрагмент информации может быть легко
формализован средствами Решателя инженерных задач.
Шаг_4. Разделение задачи на отдельные фрагменты в виде таблиц
традиционной форме (ТТФ) и таблиц принятия решений (ТПР).
Подготовка информационных блоков. Разделение больших таблиц на
простые двухвходовые таблицы. Описание в виде таблиц принятия
решений логики текстовых описаний.
Шаг_5. Реализация сложных расчетных фрагментов задачи.
Разработка расчетных процедур. Учащимся может потребоваться
использовать на практике свои знания, полученные при изучении
дисциплин, связанных с программированием.
-8-
Шаг_6. Уточнение условий применимости фрагментов задачи.
Перечисление условий, которые определяют однозначный выбор
каждого информационного блока на подмножестве параметров
конкретной задачи.
Шаг_7. Разработка тестов. Анализ комплекта, разработанных
информационных блоков и определение граничных условий их
применения. Определение наборов входных и выходных данных для
тестирования. Одним из возможных способов анализа связей
информационных блоков, является построение вручную схемы
взаимосвязей и поиск решений по этой схеме.
Шаг_8. Разработка внешних интерфейсов пользовательского ввода
данных. Разработка макетов интерфейсов ввода данных. Особое
внимание необходимо уделить контролю ввода. Здесь учащимся снова
придется обратиться к знаниям, полученным при изучении других
специальных дисциплин.
Шаг_9. Разработка интерфейсов для обмена данными с внешними
системами. Составление перечня входных и выходных параметров,
необходимых для обращения к Решателю инженерных задач.
Шаг_10. Ввод формализованных данных в базу знаний. Ввод
полного набора информационных блоков для своей задачи, используя
инструментальные средства Решателя. Возможно, что при
формировании электронных документов будут выявлены ошибки и
неточности, допущенные при выполнении предыдущих этапов, и
потребуется вернуться назад и что-то исправить или переделать.
Шаг_11.
Отладка
и
тестирование
работоспособности
автоматизированной системы. Составление поискового запроса,
демонстрирующего работоспособность и правильность автоматического
построения цепочек выводов для, разработанного комплекта
информационных блоков.
Таким образом, в ходе рассмотренных выше шагов формализации
знаний предметной области, выполняется полный цикл разработки
прикладного приложения, автоматизирующего реальную задачу
проектирования.
Данная методика используется в МГТУ им. Н.Э.Баумана на кафедре
«Технология машиностроения» при изучении курса «Автоматизация
проектирования технологических комплексов».
На теоретических занятиях студенты под руководством
преподавателя выполняют поэтапную формализацию задачи и учатся
представлять
полученные
предметные
знания
в
виде
терминологического словаря и информационных блоков. Затем на
практических занятиях выполняется отладка информационных блоков
на рабочих станциях с установленной оболочкой экспертной системы.
-9-
Реальный результат – лучшая оценка
Подготовка информационных блоков в рамках учебного процесса
естественным образом активизирует знания, полученные в ходе
обучения по профильным и, что не менее важно, по смежным
дисциплинам. Решение проблем, возникающих в процессе подготовки
информационных блоков, требует творческого подхода и способствует
развитию инженерного мышления и технического кругозора.
Критерием оценки проделанной работы является степень готовности
и работоспособности реальной системы, что является весьма
объективным показателем усвоения учащимися теоретических знаний и
готовности к самостоятельной работе.
Навыки формализации решения инженерных задач, полученные при
подготовке информационных блоков в составе автоматизированных
процедур, пригодятся выпускникам в будущем не только при решении
задач автоматизации, но и в условия проектирования без применения
средств вычислительной техники.
Литература
1. Каминский С.Е., Лукьянец О.Ф., Жумаев С.А. Решатель инженерных задач. Труды
Международной
научно-методической
конференции
«Информатизация инженерного образования» - ИНФОРИНО-2012 (Москва,
10-11 апреля 2012 г.). – М.: Издательский дом МЭИ, 2012. – С. 185-188.
2. S. Kaminsky, O.Lukjanets. Engeneering of tabular description of machinebulding
design process. Moscow : EAST - WEST International Conference
INTERNATIONAL TECHNOLOGY IN DESIGN EWITD'94, proceedings,
1994. Т. 1.
3. Решатель инженерных задач: URL.http://trtl-ln.ru (дата обращения
04.09.2012)
- 10 -
Download