Программирование на языке высокого уровня в системе с сетевым представлением информации тема автореферата и диссертации по математике, 01.01.10 ВАК РФ
Округин, Михаил Борисович
АВТОР
|
||||
кандидата физико-математических наук
УЧЕНАЯ СТЕПЕНЬ
|
||||
Ленинград
МЕСТО ЗАЩИТЫ
|
||||
1984
ГОД ЗАЩИТЫ
|
|
01.01.10
КОД ВАК РФ
|
||
|
Введение .,.
Глава I. Описание языка HETL
1.1. Особенности языка
1.2. Классы и атомы
1.3. Операции и вычисление выражений.
1.4. Основы и процедуры
Глава 2. 1^анслятор с языка неть
2.1. Общая характеристика транслятора и организация анализа
2.2. Сйнтез объектной программы.
2.3. Мэдули поддержки
Глава 3. Мэдуль работы с ассоциативной, сетью во внешней памяти
3.1. Функции, выполняемые модулем.
3.2. Отображение внешних имен во внутренние.
3.3. Представление сети в виде В-дерева
Широкое внедрение вычислительной техники обуславливает стремление к повышению интеллектуального уровня ЭВМ и к про -стоте их применения. Решение задач, связанных с попытками автоматизации процедуры выработки решения человеком, автоматизации процесса создания программ, улучшения взаимодействия с ЭВМ привело к разработке новых методов программирования,объединяемых в рамках направления, получившего название "искусственный интеллект" (далее ИИ) X ь^И*.*0»21 дь].
Характерно, что ранее применявшийся критерий принадлежности поколению ЭВМ теперь включает программную оснащенность машины. Предполагается, что очередное поколение ЭВМ наряду с применением новейшей технологии СБИС будет обладать развитыми функциями решения задач "весьма высокого интеллектуального уровня" С Z.73 . При реализации этих функций должны найти свое применение методы и программные средства ИИ.
Одной из основных проблем, стоящей перед исследователями в области ИИ,является проблема представления знаний L^o,аг^а]. Работы в данном направлении ведутся как по пути поиска универсальных механизмов, так и.по пути разработки специализированных методов представления.
Любой традиционный язык программирования обладает средствами, позволяющими представлять данные об объектах, входящих в предметную область решаемой задачи. Однако, разрыв между концептуальным уровнем формулировки задачи и уровнем структур данных языков программирования столь велик,.что их применение к программированию задач ИИ затруднительно. Использование идеи абстрактных типов данных £2,?,7,зъ,ъ*0при проектировании языков программирования позволило значительно сократить этот разрыв, но не затронуло.одну из важнейших сторон знаний - их алгорит-мичность L2»G •
Языки программирования ИИ включают в себя формализацию выбранной концепции представления знаний, если в начале своего развития в языках разделялись средства описания фактов внешнего мира и средства их использования, то теперь наблюдается тенденция к разработке языковых конструкций, совмещающих декларативный и процедуральный аспекты представления знаний (языки УТОПИСТ С 31 , ДЕКАРТ £Ь1 1Ъ5з , krl £29 .ъоц).
Языки подобного рода являются входными языками сложных систем программирования универсального или проблемно-ориентированного характера. Видимо это является необходимым условием,позволяющим говорить о возможностях представления знаний на этих языках, т.к. стоящая между входным и машинным языком система программирования и заполняет собой упомянутый выше разрыв.
Один из способов решения задачи представления знаний предложен Г.С.Цейтиным 1231 . Им разработана и реализована экспериментальная система программирования, основанная на понятии ассоциативной сети. Его подход значительно отличается от вариантов ассоциативных сетей, обсуждаемых в работе £ъ21 т'ем, что в вершине сети может находиться процедура или ее имя, вершины и дуги сети не типизируются и сеть рассматривается как основа модульной системы программирования.
Реализация системы, выполненная Г.С.Цейтиным, включает набор основных механизмов работы с сетью, доступный пользователю через набор макрокоманд ассемблера ОС ЕС. В связи с тем, что разработка программ ИИ носит, как правило, экспериментальный характер, большое значение приобретает скорость их разработки. Поэтому задача повышения уровня входного языка системы, решаемая в настоящей работе, является актуальной.
Работа выполнена на основании анализа принципов программирования на ассоциативных сетях, предложенных Г.С.Цейтиным, опыта использования системы макрокоманд для решения различных задач и анализа конструкций современных языков программирования, Ее результаты, опубликованные в tifc.A^l состоят в том,что:
- разработан и реализован язык высокого уровня hetl для программирования в системе с сетевым представлением информации;
- показана применимость системы для решения задач построения трансляторов. При этом предложена схема реализации синтезирующей фазы транслятора с использованием очереди процедур, взаимодействующих через трехуровневый контекст;
- предложен и реализован способ представления ассоциативной сети данных во внешней памяти ЭВМ в виде В-деревьев;
- разработаны и реализованы средства поддержки разработки программ в системе.
ЗАКЛЮЧЕНИЕ
В работе получены следующие результаты:
1. На основании исследования принципов программирования на ассоциативных сетях предложен и реализован язык высокого уровня для программирования в системе с сетевым представлением информации.
2. Релизован транслятор с языка netl , объемом более 4500 операторов макроассемблера системы программирования на ассоциативных сетях.
3. Предложена схема построения синтезирующей фазы транслятора в виде очереди процедур, взаимодействующих через трехуровневый контекст.
4. Предложен способ представления ассоциативной сети данных во внешней памяти ЭВМ в виде В-дерева.
5. Разработаю и реализованы модули отладки, динамической трансляции и работы с сетью во внешней памяти ЭВМ более 3000 операторов макроассемблера.
Результаты данной работы могут найти практическое применение при разработке программ взаимодействия с ЭВМ на естественном языке, синтезе программ и при работе с базами данных.
В качестве некоторых направлений дальнейшей работы можно привести следующие:
- введение оптимизирующих преобразований в синтезирующую фазу транслятора с целью улучшения качества объектного текста;
- разработка понятия систем контекстов и его использования для формирования описаний предметной области средствами работы с ассоциативной сетью во внешней памяти ЭВМ;
- исследование применимости средства динамической трансляции для реализации обучаемости системы, то есть динамического формирования новых мо,дулей;
- исследование применимости модуля работы с ассоциативной сетью во внешней памяти для поддержки описания работы над' программным проектом.
1. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции, т.1. Синтаксический анализ. М.: Мир, 1978, 612 с.
2. Данные в языках программирования. Ред. Агафонов В.Н. М.: Мир, 1982, 346 с.
3. Бабаев И.О., Новиков Ф. А. ,Пе трушина Т.И. Язык Декарт -входной язык системы ШОРА. Прикладная информатика,вып.I. М.: Финансы и статистика, 1980, с.27-76.
4. Ван Вейнгаарден А. и др. Пересмотренное сообщение об МГОЛВ-68. М.: top, 1979, 533 с.
5. Вегнер П. Программирование на фзыке АВД. М.: Мир, 1983,240 с.
6. Виноград Т. Программа, понимающая естественный язык. М.: №гр, IS76, 294 с.
7. Дал У., Мюрхауг Б., Нюгорд К. Ошула-67 универсальный язык программирования. М.: Шр, 1969, 99 с.
8. Дейкало Г.Ф., Новиков Б.А. Программа редактирования текстов с помощью дисплея ЕО-7966.- Вопросы судостроения, вып.13. Л., 1977, с.65-75.
9. Кахро М.И., Калья А.П., Тыугу Э.Х. Инструментальная система программирования КС ЭВМ (ПРИЗ). М.: Финансы и статистика, .19811 157 с.
10. Клещев А.С. Представление знаний. Прикладная.информатика, вып.1. М.: Финансы и статистика, 1983, с.49-94.
11. Кнут Д. Искусство программирования для ЭВМ. т.З. Поиск я сортировка. М.: Мир, IS78, 841 с.
12. Минский М. Структура для представления знаний. Психология машинного зрения. М.: Мир, 1978, с.249-338.
13. Мэдник С. Донован Дж.Операционные системы.М.:Мир, 1978,792 с.
14. Нго Ань Тует. Автоматическое порождение программ просмотров для трансляторов на основе описания атрибутов.Диссертация на соискание ученой степени канд. ,ф.-м. наук, Ленинградский государственный университет.Л.,1982, 113 с.
15. Нильсон Н. Искусственный интеллект.М.: Мир, 1973, 137 с.
16. Округин М.Б. Реализация ассоциативной сети данных во внешней памяти. Прикладная информатика, вып.1. М.: Финансы и статистика, 1984, с.48-53.
17. Г?. Округин М.Б. Система программирования на ассоциативных сетях с входным языком высокого уровня,- Тезисы докладов на I Межвузовском семинаре по искусственному интеллекту. Саратов, 1984, с.37-38.
18. Пилыциков.В.Н. Язык ПЛЭНЕР. М.: Наука, 1983 , 207 с.
19. Попов Э.В., Фирдман Г.Р. Алгоритмические основы интеллектуальных роботов и искусственного интеллекта.М.: Наука, 1976, 451 с.
20. Уинстон П. Искусственный интеллект. М.: Мир,1980,.519 с.
21. Хант Э. Искусственный интеллект.М. :№р, 1978,558 с.
22. Хантер Р. Проектирование и конструирование компиляторов. М.: Финансы и статистика, 1984, 232 с.
23. Цейтин Г.С. Программирование на ассоциативных сетях. В сб. ЭВМ в проектировании и производстве.М.:Машиностроение,1984
24. Цейтин Г. С. От логицизма к процедурализму. В сб. Алгоритмы в современной математике. Новосибирск: ВЦ СОАН, с.181-193.
25. АЛГОЛ-68. Мэтоды.реализации. Ред. Г.С.Цейтин. Ленинград.1. Изд-во.ЛГУ, 1976 , 224 с.
26. Шенк Р. Обработка концептуальной информации. М.: Энергия, 1980, 361 с.
27. ЗВМ пятого поколения. Концепции, проблемы, перспективы. М.: Финансы и статистика, 1984, 108 с.
28. Bayer В., Мс Creight Е. Organisation and maintenance of large ordered indexes.- Acta Informatica, vol 1, 1972» p.173-183.
29. Bobrow D.G., Winograd T. KRL another perspective.-Cognitive Science vol 3» 1979» P*29-42.
30. Bobrow D.G., Winograd T. An overview of EEL, a knowledge representation language. Cognitive Science vol 1, 1977» p.3-^6.
31. Comer D. The ubiquitous B-trees. ACM computing survey, vol 11, 1979, P. 121-138.
32. Associative networks, ed.by N.V.Findler, JNew-York, Academic Press, 1979» 462 p.
33. Gordon M.J., Ediriburg h LCP, Lecture Notes in Computer Scince, Iff 78» 1979» 159 p#
34. Liskov B.H. Abstraction mechanisms in CLU, Comm.ACM, vol 20, 1977» p.147-164.
35. Boberts B.B., Goldstein I.P. The PEL manual, AI memo N 409, mit, 1977» 73 P.