Контрольная работа: Унификация алгебраических выражений
nm _ sv – имя свободной переменной;
fragment - фрагмент выражения, соответствующий переменной (тип Lisp_item).
Если левая часть – тройка, то выполняется выделение выражений тройки из левой части продукции и унифицируемого выражения, после чего вызывается операция класса trojka для проверки применимости тройки из продукции к тройке из выражения (primenima ).
Рисунок5 -СхемаалгоритмаоперацииLisp_item.unifikacia
Рисунок 6 - Схема алгоритма операции Lisp _ item . Primen _ prod
Рисунок 7 - Схема алгоритма операции Lisp _ item . zamena
Рисунок 8 - Схема алгоритма операции podst . primenima
6. Операции класса trojka
6.1 Операция проверки применимости (primenima )
Действия данной операции определяются схемой на рисунке 9 и складываются из следующего. Тройка из продукции будет считаться удачно примененной к тройке из унифицируемого выражения, если, во-первых, совпадают операции троек; во-вторых, правила применимости выполняются для первых и вторых операндов троек.
При совпадении операций троек, анализируется тип первого операнда.
В случае константы выполняется сравнение значений констант, стоящих на месте первого операнда в сравниваемых тройках. При несовпадении – выполняется выход.
Если первый операнд переменная, то ей сопоставляется первый операнд из тройки унифицируемого выражения и заносится в список свободных переменных.
Если первый операнд тройка, то для этого объекта вызывается описываемая операция primenima . При неудачном завершении этой операции выполняется выход из операции со значением false .
Поскольку в тройке может отсутствовать второй операнд (например, функции с одним аргументом, или одноместные операции типа (not x )), то если это подтверждается, то работа операции завершается со значением true . Если же второй операнд присутствует, то прежде всего проверяется возможное условие совпадения первого и второго операндов.
Если же в тройке из продукции операнды различны, то выполняется обработка второго операнда. Алгоритм обработки аналогичен алгоритму обработки первого операнда.
Рисунок 9, лист 1- Схема алгоритма операции trojka . primenima
Рисунок 9, лист 2.
Выводы
Таким образом, процесс унификации выражения складывается из трех последовательно выполняемых этапов:
преобразование выражения в инфиксной форме в выражение в префиксной форме Þ унификация выражения в префиксной форме Þ преобразование результата унификации из префиксной формы в инфиксную форму .
Что касается последнего преобразования, то оно реализуется в виде несложной рекурсивной процедуры.
Литература
1 . Уоссермен Ф., Нейрокомпьютерная техника, - М.,Мир, 1992.
2 . Горбань А.Н. Обучение нейронных сетей. - М.: ПараГраф, 1990
3 . Горбань А.Н., Россиев Д.А. Нейронные сети на персональном компьютере. - Новосибирск: Наука, 1996
4 . Gilev S.E., Gorban A.N., Mirkes E.M. Several methods for accelerating the training process of neural networks in pattern recognition // Adv. Modelling & Analysis, A. AMSE Press. – 1992. – Vol.12, N4. – P.29-53
5 . С. Короткий. Нейронные сети: алгоритм обратного распространения.
6 . С. Короткий, Нейронные сети: обучение без учителя. Artificial Neural Networks: Concepts and Theory, IEEE Computer Society Press, 1992.
7 . Заенцев И. В. Нейронные сети: основные модели./Учебное пособие к курсу "Нейронные сети" для студентов 5 курса магистратуры к. электроники физического ф-та Воронежского Государственного университета – e-mail: [email protected]
8 . Лорьер Ж.Л. Системы искусственного интеллекта. – М.: Мир, 1991. – 568 с.
9 . Искусственный интеллект. – В 3-х кн. Кн. 2. Модели и методы: Справочник/ Под ред. Поспелова Д. А. – М.: Радио и связь, 1990. – 304 с.
10 . Бек Л. Введение в системное программирование.- М.: Мир, 1988.
11. Шлеер С., Меллор С. Объектно-ориентированный анализ: моделирование мира в состояниях. – К.: Диалектика, 1993. – 240 с.
12 . Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. - http://www.nexus.odessa.ua/files/books/booch.
13. Аджиев В. MS: корпоративная культура разработки ПО – http:// www.osp.ru
14. Трофимов С.А. Case-технологии. Практическая работа в RationalRose. – М.: ЗАО "Издательство БИНОМ", 2001.
15 . Новичков А. Эффективная разработка программного обеспечения с использованием технологий и инструментов компании RATIONAL. – http://www.interface.ru
16. Selic B., RumbaughJ. Использование UML при моделировании сложных систем реального времени. - http://www.interface.ru.