автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Разработка интеллектуальной системы программирования

кандидата физико-математических наук
Данг Чыонг Шон
город
Киев
год
1992
специальность ВАК РФ
05.13.11
Автореферат по информатике, вычислительной технике и управлению на тему «Разработка интеллектуальной системы программирования»

Автореферат диссертации по теме "Разработка интеллектуальной системы программирования"

РГ о ОД

I «кидрсадш ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ \ l Alli laoj им. ТАРАСА ШЕВЧЕНКО

На правах рукописи

ДАНГ чыонг шон

РАЗРАБОТКА ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ ПРОГРАММИРОВАНИЯ

05.13.11 — Математическое и программное обеспечение вычислительных машин и систем.

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата физико-математических наук

Киев — 1992

Работа выполнена на кафедре алгоритмических языков и программирования Молдавского государственного университета.

Научный руководитель:

кандидат физико-математических наук, доцент ГОНЦА М. Г.

Официальные оппоненты:

члеп-корр. АН Украины доктор физико-математических паук, профессор АНДОН Ф. И.

кандидат физико-математических на\'к, доиепт КГУ НИКИТЧЕНКО Н. С. "

Ведущая организация: Институт кибернетики АН Украи-

на заседании Специализированного совета К-068.18.10 при Киевском государственном университете им. Тараса Шевченко по адресу: Киев 252127, проспект Академика Глушкова, 6, факультет кибернетики 1\ГУ ауд. 40.

С диссертацией можно ознакомиться в библиотеке КГУ.

Автореферат разослан « /7¿С 1993 г.

11 ы.

г. в

Ученый секретарь специализированного совета

И.В.БЕЙКО

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы.

С начала 80-х годов происходит бурное развитие и именение персональных компьютеров (ПЭВМ). В настоящее емя ГОШ становятся инструментом, доступным не только учным работникам но и широкому кр/гу пользователей, личительной чертой новых ЭШ является их максимальная иблилЕННость к пользователю, освобождение пользователя от оггпммнрования решения многих задач. Функции программиста редшотся ЭВМ, сложность общения с ней не должна превосходить эжности общения с современными бытовыми системами. Для эго необходимо поднять "интеллектуальный" уровень ЭВМ,сделав способной к выполнению творческого профессионального труда эграммиста. В атом направлении следует привлечь компьютер < модно с более ранней стадии решения задач - желательно ^зу после ввода пользователем постановки задачи в компьютер.

Одним ira главных предназначений компьютеров является пение на нем различных задач. Программирование яэ »тьютеров - неизбежный пока компромисс между человеком и i Процесс решения задачи на компьютере проходит через ?дуюпще стадии: описание задачи в терминах языга предметной засти, моделирование решения задачи, составление алгоритма ершгя, программирование алгоритма решения, запуск программы ! получения результата. Таким образом, от постановки задачи получения программы решения есть несколько этапов -iotpiift. Рее эти действия осуществляется людьми, причем •к?«не различными: заказчик, математик, программист.

РУтсггр'-мшо г;тп1шг( я вопрос о привлечении компьютера для

помощи пользователю на всех этих стадиях. Тем более, что весьма быстрым распространением компьютеров, возрастает чис. пользователей-непрограммистов.

В данной работе рассматривается подход к автоматизащ решения задач (за счет совместной работы пользователя специалиста предметной области и компьютера) на осно! применения концепции дерева целей - для решения достатош сложных задач из соответствующих предметных областей.

С этой целью осуществлено проектирование интеллект уальнс системы программирования, включающей в себя удобный 1штерфе( общгния между пользователем и компьютером, библисте! элементарных модулей и базы зияний предметной области программирования.

Цель работа

Первой целью является исследование некоторых подходов автоматизации программирования и их систем реализации, мето; обратного рассуждения для решения задач и использования е! для автоматизации генерации программ на ЭВМ.

Вторая цель - разработка демонстрационного прототю интеллектуальной системы программирование ИНГЕЛКОЫ для оцеш жизнеспособности этого подхода.

Третья цель - исследование и минимизация рабочих яче< в алгоритме генерации программ для арифметических выражен) Сети-Ульмана при реализации программных конструкций.

Методы исследования. В работе используются злемен: теории графов и математической логики, методы прикладного системного программирования.

Научная новизна Предложено применение метода обратно) рассуждения Шйа Дж. для автоматизации генерации прогрз! решения задач на ЭВМ. Применение концепции дерева- целей, б; знаний предметных областей в сочетании с использован»

змпозиционно-структурной технологии программирования для задания интеллектуальной системы , программирования. 13работала модификация алгоритма Сети-Ульмана, вырабатывающая юграмму вычисления арифметических выражений, использующую шимальное количество рабочих ячеек.

Практическая ценность: реализован комплекс программ, 5еспечивапций работу демонстрационного прототипа системы 1ГЕЛК0М для автоматизации генерации программ решения задач на змпьютере.

Работа выполнена в соответствии с темпланом Кафедры игоритмических языков и программирования молдавского эсуниверситета

Публикации. 1Ь теме диссертации Опубликованы 3 печатные аботы.

Структура работы. Диссертационная работа состоит из зедения, четырех глав, Заключения, списка литературы и двух эилолений. Работа изложена на 95 страницах машинописного гкста и включает 8 рисунков.' Библиография - 68 наименований.

СОДЕРЖАНИЕ РАБОТЫ

Ва введении обосновывается актуальность темы диссертации, золены цель и методика исследования. Кратко изложено здерлание диссертационной работы.

Пэрвая глада содержит обзор некоторых работ, посвященных хэблемам автоматизации программирования - системам ПРИЗ и ШЬТИПРОЦЕССИСГ. Пункт 1.1 данной главы посвящен системе ?ИЗ, разработанная р академии наук Эстонии под руководством ?оф?ссора Тыугу Э. X Она предназначена для построения пакетов ?шсладных программ (ППП). Основным свойством системы ПРИЗ зляется автоматический синтез программ. В этой систем?

реализован новый подход к программированию, при котором 3 применяется уже на этапе постановки зад -ли. Тиугу Э. называет программирование с таким,подходом юнцзптуальнш. синтеае программ исподьаован дедуктивный метод. При эт подходе путь от задачи к программе следующий: Задача -Теорема суп^ствования решения —> Доказательство теоремы -Программа. Для описания задачи используется язык УТОПИС который ыолет быть использован и для представления знаний для явного описания операторов, необходимых синтезу програм

Концептуальному программированию, на основе которо построена система ПРИЗ, свойственно :

- программирование в терминах предметной области решат-и задач;

- использование ЭШ уже на этапе постановки задач;

- автоматический синтез программы решения каздой задачи;

- использование семантической памяти для накоплен! знаний о решаемых задач.

Пункт 1.2 посвящен системе ЦУЛЬТШШОЦЕССИСГ. разработанной украинскими ученики. Систеыа предназначена д. автоматизированного синтеза программ. Теоретической gcnobt системы являются формальный аппарат систем алгоритыичесга алгебр (CAA) и метод многоуровневого структурно1 проектирования программ (15CIÏÏI). Система УУЛЬТИПРОЦЕССИ обеспечивает автоматизированный синтез программ на цел-вс языке по их документации, представляемой и пщ соответствующей CAA-схемы. Процесс синтеза программ, следующий: На вход системы поступают CAA-схема и списс реализаций на выбранном целевом языке L элешнтарш. операторов, условий, блоков объявления переменных и т. п. фрагментов исходных текстов программ, используемых при сборке lia выходе система выдает L-программу, написанную на це-левс

?зыке Ь.

В пункте 1.3 приведены выводы и сравнительные данные о сходстве и различии методов ситеза программ в вышеуказанных системах.

Вторая глава посвящена применению метода дерева целей для генерации программ. В пункте 2.1 приведены некоторые выводы 1сследорашш американского математика Дя. Пойа о процессе :роисходяЕрм в мозгу человека при поиске решения задачи. Мысль «ловека при этом обычно идет от главной Цели исходной задачи, 1аправляясь к известным данным в рамках так называемого метода обратного рассуждения. По этому пути создается план решения гсходной задачи.

Сущность такого плана состоит в построении зспошгательных целей, подчиненных главной или первоначальной дели, и связей между этими целями. Для представления плана ¡спольэуется граф а точнее дерево, которое называется дэревои £?л?Л. Тагам образом, описанный метод заключается в составлении тлана реЕенкя; исходным его Пунктом служит цель и осуществлено тродвимение от конца к началу в направлении к объектам,которые ¡ам известны, по достижению этих объектов, они будут гспользованы как "отправной пункт" и, возвращаясь Назад по :воим следа)-!, осуирствляется продвижение в прямом направлении с цели. Тем самым будет получена программа достижения главной хели (или программа решения исходной задачи).

В пункте 2.2 использован метод Дж. Шйа для автоматизации юстроення про г ракм решения задач на компьютере. Суть этого юдхода эшслючаетсп в том, что человек, решающий задачу на компьютере, использует его как инструмент не только "для :остав."рл::я программы решения, но и в определенной мере для Ю1тс(га самого плп»г> решения задачи. При атом пользователю те н:>?ю япать программирования, а знеть тольт срою предметную

область. Процесс рзиешш задачи па компьютере теперь ьуд; следующим:

Допустим, необходимо решать Ка компьютере какугмшйуд задачу Р. Ва основе услов-й и того, что требуется в задаче ] сформулируется: Цель А и Данниз (С1, С2,... Си). При это: достижение цели будет означать, что задача решена. Дя; достижения цели А, если нужно, формулируется иногзств! подцелей '{А1, Ал)-, {¡осишгиие которых означай',

достижение цели А. Далее, для достиг,эшш подцели А1 (¡."Са тшшм лэ образом шяат бить сформулировано нно;.ссгео подцеле! <А51, М2,... АШ, достижение которш означает достакши подцели А1 и т. д.. Этот процесс продолжается до тех пор, по.ча не доетияиш все вновь возшжахкгю подцели, т.е. ¡гаддщ из них либо щ&ет программу реализации (достшдош ее), лй& тривиально доетшзша, либо приладлегагг к негодный дшшш (С1,

сг,..., сяд.

Тшиш образом, последовательно строится план рез^ши; исходной задачи Р, продстаалякц:«.ся в ездо дорога доле/: (ДЦ>:

А1. А2 ... Ли

АН ... АН .... Ап1 ... Ап!

(Гхав;;а;.г) -> Ггэдцзлн

-> Пэдцзли

С1 ' С2.....Сю ---> Даниил

План решения задачи в виде ДЦ.

Вообщ? гоао;в компактном виде щаи решения. как давило, представляется некоторым связным графом, в юттором ;т повторения одш!х и тех тяз этапов вычислений. Но для ростотн анализа и изложения деталей всего процесса лзтавлешы плана целесообразно рассматривать не граф а дерево эшения (с возможные повторениям! в ней отдельных этапов счислений).

Шсле того, 1сак все подцели были рассмотрены и для них айдены или составлены программные компоненты реализации, они зязызаются друг с другом адресами-указателями; С помощыэ этих Чресоз НС-генератор собирает из этих частей всю программу ?алиэгции главной цели.

В пункте 2.3 приселены выводы, относящиеся к ^пользования метода Дл. Пойа для автоматизации решения задач 1 компьютере.

Глава 3 посвящена инструментальным средствам зоектирования интеллектуальной системы программирования ГГЕЛКОК В пункте 3.1 списаны методы разработки диалоговой гстемы, ориентированной на человека, с применением ¡гланэптироваяных языков, таких как языки меню, анкетные !ыкн и языки приказов, инструкций. Ляя Эффр'ТИЕНОГО ¡пользования регламентированных языков следует соадать :с?е!.?у управления окнами и ыенл В система , управления снами дэллны быть такие средства как создание, уничтожение, жэкзвис активности и видимости, перемещение и избиение юмера с1сна, установка заголовка, рам си, цвета, и {дссжостоянга екпп. его содержимого и ылолеиия курсора •обы пользователь юг работать самостоятельно с системой ЛЕЛГСМ, сип гкомпончнтпми пояскг?Рки и самообучения.

Р пут'гггт а 2 сртпмотрени модели прел?тазл°к!га дереза

- в -

целей в памяти ЭВМ, примеры его построения и использования дд. генерации программ Для представления дерева целей в памят ЭВМ испольаована сеть. Каждый узел сети состоит из четыре компонентов <Р,В,3,Р>, где V, В и 3 являются указателями соответственно, на адрес "отца" (узла верхнего уровня), адре следующего "брата" (следующего узла данного уровня, ииекцэг того га "отца") и адрес первого "сына" (узла нижнего уровня) Три первых указателя кавдого уровня сети устанавливает связ ¡¿езду узлами сети. Если адрес на который ссылается указател отсуствует, то соответствуксщй компонент устанавливается в (например, В: -0). Последний компонент Р указывает на адре модуля реализации если он существует, иначе устанавливается 0. , С поыодаю трех первых указателей составляется порндо, компоновки программных модулей, адреса которых находятп последнем указателе.

Описанная организация дерева целей обеспечивает гибкост; системы при:

1. Составлении плана (построении дерева целйй). Иэльзователь юсзт осуществлять поиск по дереву целей пугаю; ецу цели, разбивать цель на подцели, переводить управление 1 родительской или к следующей поддели.

2. Работе с неполным деревом. Пользователь шгвт в лабск время прерывать свою работу, сохраняя кусок плана реиения длз повторного возвращения к нему.

3. Работе в графическом регоше скстеш. Находясь ] каждом узле дерева целей, пользователь иогэт узнать:

- какая часть программы реализована;

- какая подцель рассматривается,что дано,что требуется;

- что обозначает эта подцель

и т. д.

Пункт 3.3 посвящен средствам генерации программ.

Проектирование программ осуирствляется по композиционно-структурной технологии программирования (КС - технологии).

В пункте 3.3.1 показаны основные программные композиции. Эти композиции поддерживают принцип разделения условий-выполнения программных действий от записи самих операторов. Ьлэсто однородного текста вводится структурный текст программы. Здесь хг дана примерная структура программы на наше К0Ш1АС/М, подходящая к работе КС-генератора: Prog <иыя> - /moduli ;modul2;... ; moduln/;

moduli - ____;

:nodul2 - ...;

moduln - ... ;

end;

В своп очередь moduli,modul2, . :. moduln имеют подобную нэ структуру.

В пункте 3. 3. 2 noftaaaH процесс компоновки КО!(ПАС-программ ¡ta элементарных гмодулей. Древовидная структура КС-программ позволяет легко осуг^ствлять ¡таяоновку неасолькнх программ в одну, целую. Нненно поэтому панк КОЫПАС/М используется для описания модулей в процедурной части базы знаний системы ЗШТЕЛКОИ Сгенерированная на К0Ш1АС/Н программа используется з ¡сачестве промежуточного результата на пути от преобразования и обработки построенного дерева целей к результирукцрй nporpatc.s. Дальнейшим ' действием системы будет перевод этой программы на язык программирования высокого уровня Turbo Pascal, для которого суцэстаует эффективный компилятор. После чего программа выполняется и дает пользователя результат решения исходной задачи.

Процесс компоновки найденных модулей маяно осуществить

двулш способами. Первый способ заключается в построении еще одного уровня (нулевого) в общ?й древовидной структур? программ на КОШАС/Ы и присоединении всех модулей к нулевому уровню. По-второму способу осуществляется КЭШЮКОВКа только первых уровней всех модулей, а тела этих ыодулей сохраняются прежними и включаются в общую программу. Второй способ более сложен, но его преимущество в том, что он не увеличивает количество уровней общей орограша, ■ а это, в своп очередь, облегчает выполнение следующего этапа - перевод этой програш-ш на язык Turbo Pascal.

Пункт 3.4 посвяя?эн методу представления знаний б системе. Для .системы ИНГЕЛКОД была в ¡.Орана фреймовая иодсль_. представления знаний. Это объясняется тем, что, .во-первых, фреймовая шдель представления аканий лучикм образом отражает психологию и сознание человека, во-вторых, эта модель может соединять в себе и декларативные и процедурные знания (в гчде присоединенной процедуры к некоторая слота:-,-:), в-третьих, как к ООП фреймовая модель ориентировала па объект^ Ш. Облеты в фреймовой модели или в ООП представляю? собой некое целое, Еклпчажп>=а с себя переменные и функции их обработки (методы). Объекты в обоих случаях (в фреймовой модели при отношении ÎS-Д) имеет свойство наследования. Нетодгчт управления в оЗолх случаях ' являются передачи сообщений ыеяду объектами (фреймами).

Знания в системе ИЯГЕЛКОМ разделяются на два вида и

»

хранится отдельно б рааных б- х знаний; в базе знаний ПО и в баае ананий программирования. Каждая база знаний включает в себя базу понятий и болу экспертных знаний. В базе поняигй хранятся сами; важше понятия. Например в Б5П хранятся такие понят;;:-; как типы, массив, функция, процедура, гактоэицая и ï, д.. В базе- сч«лертнш знаний хранятся рагличчы? формул«,

■отношения, приемы, методы, алгоритмы, необходимы» для генерации KG-nporpawsj по ДЦ и перевода ее на язык Turbo Pascal.

В ЛНТЕЛИОШ сугзествует ре.тим для зюзпертов, в которой специалисты !¡ory? создавать КЗ своей ПО. > Тагам образом, 5ШТЕЛИ0Н является такяэ средой для создания различных Саз знаний!

Пункт 3. 5 посвп^эн конкретной модели .-! примеру реалнопцн:! шгсзуказааного подхода. Здесь re списана экспериментальная !ЮП "ШГГЕЛЗСОГ". Это (штелгектуальная система програимироБаяия, на гготороЛ пользователь-специалист ID ре,таот задали га своей ПО, представляя ¡и иа яз'кяе этой ПО и находя совиестио с iœs/пыйтерон план рег^шгя.

В пукете 3.5.1 рпесюуривютсл ofcaii функциональная схеьа с"с таги ПГГЕЛ'ОУ, в ютторуи ejuotc-ku опксцзаеш-гэ ii:l~3 таипскепта ■■оду.гъ inirepfëfisa обеспечивает вэакнэлошгьашгэ нзяяу пользователем я кошьвгером. Интерфейс JíHTEJIKOÜ является :r.sorooKo«!îiRj с лрге»непиеи функцяолальньж клззпа Справочя:гп подеказипеет поль~осателя. что возшяно делать з данный îo^str, !с.:<; пользоваться chcto.-oí! я дает информация о данном ко!шоне1гте сксгем~. Basa au:uu;3 предьютюй области (БЗПО), хранит разхнчнш акания данной Ш, построенной для ШГГЕЛКСШ. Ззза onаш/Д прогрсиашроваиня (БЗП) хранит информацию об

основных понятиях, ллгорэт5эдч5ских конст рукцнях, применяемых

языках прогрзгэафоаания. Модуль работы с ДЦ строит ДЦ, представляет ДЦ л памяти компьютера и позволяет совершать над ДЦ различна операции. НС-геи-зрзтор генерирует прогрэ'ау решения по ДЦ, используя при этом K3IL Препроцессор транслирует программу с КС1ШАС/У ira Turbo Pascal.

Для построения системы ИНТЕЛКОМ использован язык программирования Turto Pascal б. 0 с расширением ООП.

. В пункте 3.5.2 показаны основные этапы разработки системы. Подчеркивается необходимость выбора конкретной предметной области и создания всех компонентов системы, включая базы знаний.

В пункте 3.5.3 описывается демонстрационный прототип системы, а таюяэ вопросы ее раавития и совершенствования. При этом в качестве первой предметной области ' выбрана школьная планиметрия, ' с ориентацией в основном на задачи вычислительного характера. Развитие системы связано с раавитием ■ баз знаний ,системы, с разработкой рззличных баз .знаний, усовершенствованием диалоговой системы и исследованием различных параметров системы, таких как: оптимизация, сложность, надежность, эффективность и т.д..

В пункте 3.6 даны выводу, относящиеся к всему комплексу работ по созданию интеллектуальных систем программирования.

Глава 4 посвящена минимизации рабочих ячеек в алгоритме Сети-Ульмана, который для абстрактной машины с фиксированным числом быстрых регистров генерирует кратчайшую программу вычисления арифметических выражений , определенного вида. Содержание этой главы связано с эффективной генерацией фрагментов программ в рамках КС-генератора.

В пункте 4.1 приведены негаэторыэ условля и существующее алгоритмы' генерации программы арифметических выражений с минимизацией рабочих ячеек (р. п.). Рассмотрена вычислительная машина с N>»2 быстрыми регистрами и операциями четырех типов:

1) LOAD Р,А - содержимое р. я. Р засылается в регистр А;

2} STORE А.Р - содержимое регистра А засылается в р. я. Р;

3) Q А,Р,С - результат выполнения бинарной операции Q над содержимыми регистра А и р. п. Р засылаетск в регистр С;

4) Q А,В,С - результат вьлолкгши бинарной операции Q над

содержимыми регистров А и В засылается в регистр С. Относительно рассматриваемых арифметических выражений предполагается, что они представимы в виде двоичных деревьев и, irro все входящие в них операнды различны. Пусть 7(п0) -двоичное дерево арифметического выражения (п0- корень дерева) и пусть для любой внутренней вершины п дерева ОР(п)- связанная с ней бинарная операция, a n¿ и пг соответственно - ее левый н правый прямые потомки. Основу . алгоритма Сети-Ульмана составляет метод разметки вершин дерева, который всем вершинам, начиная снизу, присваивает целочисленные метки L. Внутренняя вершина п называется егарсеЛ, если L(n{)>-M и L(n )>-Н. Вершина называется шадшй,' если она является листом и левым прямым потомком своего прямого предик Здесь яе приведены основные результаты анализа алгоритма Сети-Ульмана, реализованного в виде рекурсивного алгоритма code(n,1).

Пункт 4.2 посвякрн алгоритму генерации программы" арифметических выражений с минимальным количеством р. я. Основное требование, представляемое к coda - это минимизация длины генерируемой программ. Сняв его, ¡.юлю генерировать программы с ыенышм числом р. Здесь .та- найдено минимальное ¡соличество необходимых для использования рабочих ячее!с

Георема 5. Не сус^ствует программы вычисления Т(п0), использующей иеньсе, чем p-L(n0)-îl р. я.

Далее показано, что сутуствует алгоритм, который строит кратчайшую nporpaîojy, нспольаушуо ровно р р. п.. При этом необходима дополнительная разметка тех вершин дерева, для которых L(n)^-Ï). Для них через Dí(n) обозначается количество команд LOAD Р,А для поддерева с корнем n, а через Ri(п) направление движения по дерезу сверху-вниз при наличии i дополнительных р. я. Предлагается алгоритм построения оптимальной программы seode(n.i.j). Доказываются следующие

теоремы:

Теоремаб. Программа 5сск*е(п0,1,1) вычисления Т(п-0) использует р-Цп0)-Ы р. я.

Теорема 7. Программа я:ос*е(п0,1,1) вычисления Т(п0) является кратчайшей среди всех программ вычисления Т(п0), использующих Цп0)-Ы р. я.

На основе анализа сложности алгоритма згос/е дедается вывод, что сложность алгоритма зсойе порядка 0(у. 1ое2у), где V есть количество вершин дерева.

В пункте 4.3 даны выводы, относящиеся к анализу алгоритма Сети-Ульмана

В заключении систематизированы основные результаты полученные в рамках выполнения диссертационной работы.

Список литературы содержит основные источники иаучения и насчитывает 68 наименований.

Приложения состоят из программной реализации отдельных компонентов системы. В приложении 1• показаны структура меню и пример работы системы. В приложении 2 приведены структура и тексты программ.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

- Проведен анализ метода обратного рассуждения Дх Пойа и рассмотрено применение этого метбда для автоматизации генерации программ решения задач на ЭВМ.

- Обосновано применение концепции дерева целей с использованием композиционно - структурной технологии программирования для создания интеллектуальной системы программирования (ИСП). Исследованы аспекты интерактивной системы решения задач и их использование для создания ИСП.

- Рассмотрены различные модели представления дерева целей

в памяти ЭВМ, примеры его построения и использования для генерации программ. Исследованы основные методы представления знаний и описана общая примерная структура базы знаний ПО в рамках системы ИНТЕЛКОИ

- Показан пример реализации подхода с использованием метода дерева целей для решения задач на ЗЕК, приведена общая функциональная схема системы ИНТЕЛКОМ, показаны основные этапы разработки и описан демонстрационный прототип системы.

- Разработана модификация . алгоритма Сети-Ульмана, вырабатывался программу с наименьшей длиной, используя минимальное количество р. я. Выявлена сложность алгоритма scode.

Основные положения диссертации опубликованы в следующих работах:

1. Гонца U. Г. , ^нг Чыонг Шсш. На пути к созданию профессиональных компьютерных рабочих - стаций //Тезисы докладов научней конференции Мол. госуниверситета. Кишинев, 1991.

2. Гонца Ы. Г., .Данг Чьюнг ИЪн. Интеллектуальные системы программирования //Известия АН Республика Молдова, (в печати)

3. Che bo tar К. S., Dang Chiong Shon. Memory minimization in 3eti-Ullman algorithm //Informatics-89. Tallinn, 1989.