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

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

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

НАЦИОНАЛЬНАЯ.АКАДЕМИЯ НАУК РЕСПУБЛИКИ КАЗАХСТАН ИНСТИТУТ ПРОбЛЕМ ИНФОРМАТИКИ И УПРАВЛЕНИЯ

Г; ^ 0 /•!

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

Цай Владимир Александрович

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

Специальность оз. 13.ое - Автоматизированные системы обработки информации и управления

АВТОРЕФЕРАТ

диссертации на соискание ученой степени доктора тр 'нических наук

Алма-Ата - а за з

Работа выполнена ь те^отичбской и прикладной

математики и Институте проблей информатики и управления Национальной Академии Наук Республики Казахстан-

Научный консультант - академик HAH PK Амзрбаев В-М-

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

л- Ф--м-Войноа Е-Г-д-т-н- Гш-шьфарб Г-Л-д-ф.-и.н- Омаров А.И-

Ведущая организация: Вычлс.гптельняй центр РАН

Зашита состоится " "________is-эз года

на заседании Специализированного соьйта Д 53.13.01 Института проблем информатики и управления HAH PK

по адресу: «aoogi, г-Алматы. ул- Пушкина, 125

С диссертацией можно ознакомиться в библиотеке ИПИУ HAH PK

Автореферат разослан " " ноября isss года

Ученый секретарь Специализированного Совета доцент, к ф.~м.н.

С-Соколова

'Актуальность .

Многие проблемы создания программного обеспечения (ПО) явтош'яшрогаюгцх систем обработки данных прямо или косвепьо связаны с обгтж>м пгогра>!";1рова|В"я и необходимостью сопровождения (устранение сшибок в эксплуатируемых програюгах и их модификация) ПО.

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

Традицноннма методы решения этих проблем - повышение уровня яз!ксв, специальные методологии ( структурное программирование. объектно-орионтироезш-гае программирование, языки спецификаций) и технологии (сверху-вниз, СД53-технологии, и др.) - ориентированы, в основном, на профессионалов.

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

В рамках последней тенденции можно. выделить два направления:

- пакеты прикладных программ (ППП), исключаювдэ программирование при решении некоторого класса задач;

- интеллектуальные системы решения задач.

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

Второе направление - интеллектуальные системы, основанные на представлении зь-дний. На практический.¿ровень вышли только экспертные системы, которые не поддерживают,, как правило, весь процесс технологии обработки данных.' . .

Существует, однако, определенная категория специалистов, занятнх в сфере выполнения информационно-расчетных функций,

который достаточно твоио взаимодействуют с 'программистам! при создании и особенно эксплуатации конкретных праграш и которые при налкчш соответствующих икструменгальных средств гюгли бы внести более сукйстознный вклад в разработку -и аааификацк» необходимых им программ.

Таким образом, разработка методологии создания ПО, способствующей 'разделению труда программистов и нопрограммхтов и позволяющей вовлечь <в этот процесс специалистов в предметных областях, не являющихся программистами, является актуальной задачей. * Определенна предпосылки создания такой методологии существуют - это реляционные базы данных и экспертиза систем, которые, с одной стороны, предоставляют естественные для человеческого восприятия языки представления данных и знаний, а, с другой стороны, имеют строгое математическое обоснованна. Более того, формально и те, и другие могут быть представлены как подмножества Хорн-логикн - основы логического программирования (ЛП). Такая интеграция такте является актуальной задачей.

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

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

Основные цели.

Разработка методологии создания и архитектуры инструментальных систем, основанных на предметно-ориентированных языках

и их Формальном обосновании, разработка и исследование таких систем средствами логического программирования» а таетга разработка прилогшшй средства™ этих икструштая.них систем.

М ото л и ■

В работе используются методы пата тт. ¡веской логик;;, р-эля-щюнпоП алгебры, приищет.i программной шггенэрки и искусстпач-ного интеллекта.

Связь с плановикг.

и с с л е д о в а н и л и и .

Работа выполнена в Институте теоретической и пр«к.&лксЛ математики АН PIC в рамках поисковой toi.íu 11-12 "Разработка комплекса программного обеспечения экспертных систем".

Н a i ч: мая н о в и з н а «

Научная гоеизна пролетав пайкой »^тодогогки заключайся в:

- лачеч раэде"'-¡".гл трута мэггду приклад«! г t програг-'^то:.* л "лкспартон г.реглгтиоП облает.«;

-•причлмпэ построения к формального еооогорлнпя прэд'-отпо-ор':-еитеропаииых ленков иа основе ецг&здзю класса лопуст''Ч'л< лармул я гсвееттк уорладьчлх сг.схе»'пх. в частксста» . лорч-доглл!!, сбладлюи!.их ссоПлгсгчп «юргогтгности, погчот!; ü раареллости;

- 5'сп:'льз0саа:;л логического грогу ^"чреезчрл п двух аспектах: с oyoñ сторона, как хорошо леслалелалул Лорлалас», дтугул с сачоаа paoprúorai чих слстеч, что поааоллет представить у; арглгг&хтуру й пл? соао л/пластл г'лтлуэлса, систем улравла-■лл ааалл л'--|г:;:ч л yyaa. н;;н aa::uaey < ;лло.уч, и, с л>у-гсГ: с;орокл, как ллс сазллл''П аг>л слс^'М, глуалла-алП ау-^ватло г-л,лллсг "-Т'ь преуолаллл ухнуууу сулуу-г.алл s'.cKirv-мъ с i -а л ууУетлл л ойугллл. лл ■■ ■ лСлл— цлз.

- в алулл У:п лух уллл~ а уа л^а^;,? сулу-у а; аута.у-аая ала: л*:, сао'и-мс.лу.íp:m гул.; ¡г уалуу л у а

Нучаал лаеалп. сулалал с рааууллл У.СП0,

зла:л:заул л прл:угл:л. л салол« а£ул>ла-улал;у-

ролалгаго !,:-■-■ гра/стул-нал . ьллй г.т, <уул:лт aaciy еаа'уу и <;го рлл: -гул. а ¡a/a'irv

- интаградоп структур толп ^ри'яюс я продукций на основе логического программирования;

- опреледанпи концаптуальннх по;к«гий сосъантонэ через необходимые и достаточные- условии их существования;

- кетодв учета нескольких нечетких' обоснований. вырааешйк а ида интервалов с ссотн.-.т :тв;- :*,ини степзнлни опредзлзгогости;

- генарзцни полного тоста ьошшсса на основа Формального описания допус1гш'/ги мгозде^ва ¿ори./"-

Научная новизна» свклаинаЯ с разработкой ко»зшкса Т. саклсчается в:

- ш'йелати процалурных деклзраташдах аспектов ь проектировании и. 4 г.ршцконьо -расч"-111.1х систем;

- разработке югого языка дхя представления операций над реля-ююиюЗ оаазй дайны V ы'Л£! пгсобрззсьзккй таблиц., паазоляю-аего пре/.ставл5ггь знания б области шгёоглпииоплэ-рас'тнзБ лзята^ьности с болаа естественно;.:, чан ь рал:ддпоппоп алгебра. К1/П-;

- кссльдованки свойств этого ягьиа-

Апробация-

Сснознна рэгультати работы били пр? .к та глени и обеугда-«:сь на Всесоюзной ксн^еранцин по искуснтое.нно!.,/ нитедяеету сКереславл-Залесскнй. 8с«соизноР контрена ш по вн-

числителмюй технике с Ереван,. хВссссюзюй конференции по прикладной логике сНовосибирсн- юааз. ЦекдуиародноЯ конкуренции "Технология программирования зо-х" сКнс-з. юэч. Республиканской коиеершлаи с.Алма-АтБсссовокой келз-сешере по логическому программирование сре-кутск. 1ьэо>, сессии от-

¿зланпя чиоико-матема'пчэсн'иу л-н/п Дкадзгл;;; Наук Республики Казахстан. научно-отчзтннх кон^арзтдпм ¡-'ТИМ АН РК и семинарах ЙПС Р/.Н сперасласль-залйсскйгр. IV'. АН Украин-; мСк'-ьР, ВЦ СО РАН, кон$. пз науке и технологии ссеул,1&33э.

Кспользоьакие р е а у л ь т г. т о б •

Разработанные система является нрип.зрани исшшловашю язья:» П|о,=:-.'Г в Сн-ьннх ¡¡рса;пах,- основой курса "Программное обаспечоп,;е интеллектуальных систем" ь КяйПТИ и могут «ни. использован:.! е качеств нзтол.ологичаской слан.

Систг».-. ЗпСПО была илпни-зопана для систематизации причин нансправпостзн неноторнх устройте ЬС ЭВМ на ВЦКП АН КаоССР и

передана в ГосФАП-

Система Т используется в I»скольких организациях для автоматизации работ, связанных с бухгалтерским учетом (Энергетическое отделение. Агропромбанка. НПК "Горизонт". ИТПМ АН РК, НИИ АСГ1У), в учетно-инФормациоипсП системе селекции свиноводческого совхоза Карагандинской обл-> СП "Кэзкоопнэт", АО "Тулггар", СИ Тлотур" и лр-Система передана в РФАП-

Результаты исследований по т»мэ диссертации опубликованы в работах-

Диссертация состоит из введения, трех частей. соответствующих структуре результатов, заключения и приложения-Обилй объем без приложения - -зэ стр-. библ. 217. С о д е р ::с а н и е ■

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

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

В основе предлагаемой методологии разработки програмного обеспечения лежит разделение труда прикладного программиста и эксперта, ¡заключавшееся в создании первыми предметно-ориенти-ровзнных инструментальных систем, а также использовании простых формализмов (логического программирования) для разработки и обоснования их языков -

Принципиальную схему взаимодействия программистов и предметных экспертов пр» традиционных подходах к разработке программного обеспечения можно представить следующим образом:

о

П Р Е Д М Е Т Н Я О Б Л Л С Т Ь , задачах задача'«: ... задачан

чкс-иэрт

прог-

рам-|.;ист

программа

Несмотря ¡¡а применение развитых языков и технологий, суть этой схемы, а именно, совместная работа программиста и эксперта остается. При таком подходе прикладной программист, как правило, может и не и.четь высокого уровня, и количественная проблема решается большим количеством программистов среднего класса.

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

ВИД:

|прог-

¡рамма

программа

г.

Р Е Л К ï H л я о И Л А С Ï

ьдлг.ЧО I 5-5 ¡.йчаг ... pi» ;14 4S'.'

У\ул~

LiOp— lil'.é

тепы

п погром-ниро-: влпия

|ПроГ~ -> 1'г'н-I.-11CT

Предметно -

ОМ-

лнти-

POl'.MI

с истон'. i

| Порт

экспорт

[n.ii't j

hh'.ôo г-ечпе

|Пр/"гО

hïiino

U Г-И-'lv

с

Тзкги* cxet-r, ¡лчдедеп'ия тгш д.:йт ношдшюсть у^ан'лпть ¡соя!чзство тр'"5у»"'мнх прогрянситс-ч за счет попктоннл их ¡;а~ чест гд.

Вторая пгойлс-ча - разработка ггл...а npc»Âi.yiv.o-ui«eîm:ro-ьз!9!оП систог'л. озпдогунш v/ro.i стемд на лрак-п'ке г-л"?

лчл/'ен б(4ть еотесч зешп ориентпропзрн'ч на îienporp-HRSiîia й '.•«шьзованки» изксимыьно декглри : ивт и « и яэситсччо преет,?,! I'. реализации -

Знании долгий иредставль-гься по воомзгиости п вида х?ка- -ра-гиьннк описаний высокого уровни я гермгях продменюЯ области, допускающих .гоматичаску« проверку клрй-ктностк и с6-,'9гч','Г;;их внветп нененгП. Для этого ь основе я? ¡.та должен лежать по зозмахноста простой $ормзлгаи. обладз^кий сронстзаш полнеть корректности и разрешмости.

Б •ХюрмальпоП доги; з рвал>гля модель описывастся теорией на язгке некоторого формализма и яокет Сыть исслюдоаш в рамках ьгого форшлизма. В npiîMHKtBisx компьютеров пригладил система строится на основгнаи знаний о продуэный области средствами инструментального комплекса- Сопоставив две эти схемы, могко существенно систематизировать процесс разработки и архитектуру ннетрументзлы-шх комплексов-

Формальная система или формализм состоит из языка (сигнатура и синтаксис) и правил вывода. Язык определяет синтаксис высгаьь'вгший (правильно построении Формул), правила выводг -отпои»«»*» вьвоаша-оги на множестве псех ГПФ. Некоторое vho-

кестьо ППФ составляют теорию в данном формализма.

Для построения модели необходимо интерпретировать- все символы алфавита и определить понятие истинности ППФ- Теория называется моделью, если все ее ППФ истинны в данной интерпретации-

При описании модели, очевидно, нетривиальные знания представляются в вида теории (совокупности ППФ), а факты - в виде множества основных атомов (атомов, не содержащих переменных). Все это можно представить следующей схемой:

С-реальн ая Факты утверждение

С

¡сигнатура

Г

и о д с л ь - истинность

знан

—язык-

синтаксис

правила вывода

формализм

¡основные атомы а 0 с т р а

к т и а я

теория мо де л ь —

В области разработки и использования компьютерных систем

моано построить практически полную аналогий этой схемы.

предметная область или утверждение - истинность знания

[ Фа1"

С :

¡языковый г

И

интерфейс

управление выводом

!средст!ва хранения и поиска! данных

база данных 1--п р и к л а д н а я

инструментальный комплекс

база знании система

3

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

, Рассмотрим инструментальную система с точки зрения логики- Пусть дан формализм г с язкком ь. Тогда система программирования» поддерживающая этот формализм должна обеспечить ■•

- перевод предлохимий внешнего зи'.'а в правильно построенные формулы языка ь (пользовательский интерфейс);

- внуп'оннйо представление фактов и формул языка ¡., их хранение и элективный поиск (система управления базаш данных);

- доказательство формул язпка в соответствии с правилами вывода формализма с (система управления логическим выводом) -

Разработка прикладной системы в этом случае сводится к: - описанию интерпретации (в основном, это описание типов и таблиц базы данных);

- построению диаграммы модели (заполнение базы данных йактичаской и!форма цией);

- разработке теории на языке формализма (программирование пли представление знаний).

В архитектуре инструментального комплекса может быть адекватно отражена структура формализма: языку Формализма соответствует языковый интер'^ейс - через этот интерфейс знания от разработчика и 3акты от пользователя транслируются и поступают в базу знаний и базу данных соответственно и обратно, правилам вывода соответствует средства управления выводом.

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

Таким образом, ЛП, с о.тной стороны, может использоваться как простой и надежный формализм в процессе разработки и обоснования предметно-ориентированного языка.

С другой стороны, ЯП, . точнее различные реализации языка Пролог могут быть использованы и как инструмент.

поддеркиваюдий все современные методы и технологии, такие как модульное программирование, технологию разработки программ сверху-вниз, метапрограмшроваиие.

Модульное программирование поддерживается Прологом в дзух аспектах:

- модульная структура программы является естественным свойством Пролога, так как в нем отсутствуют такие управляющие структуры, как goto и даже if_timri_eioe, вследствии чего единственным способом реализации ветвящихся процессов является их Представление в виде альтернатив или отдельных предикатов;

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

Унификация термов, встроенные списки и внутренняя оаза данных Пролога позволяют легко и естественно представлять практически любые структуры данных, значительно сокращая объем программирования.

Легкость оформления отдельных действий и описаний в виде предикатов естественным образом поддерживает технологию разработки программ сверху-вниз, а возможность раздельной отладки предикатов в режиме интерпретации - технологию реализации снизу-вверх -

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

Отсутствие этих предикатов в Турбо Прологе снижает его выразительную мощность, но повышает скорость и надежность. Принципиально, мета-программирование в Турбо Прологе может быть реализовано введением дополнительных аргумента и предиката в обобщенный предикат.

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

Процедурные аспекты также неудобно представлять в декларативном (статическом) виде, как и декларативные знания в про-

недурном, поэтому для того, чтобы получать наложные программ:.!, необходимо следовать определенной дисциплине программирования на Прологе. Некоторые рекомендации••

- четко отделять декларативные знания от процедурных: .

- в первой версии не использовать в декларативных описаниях С"!-;

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

<lo( r,D,K), .... emi, . . . вместо конструкций типа герои);, ..., full, или rotractfC)....,asaort(C),raiJ. ИСПОЛЬЗОВаТЬ f îmlull;

- использовать альтернативы для ветвлений;

- в реализациях Пролога с call использовать предиката

типа

р i'Oc С X } : - X. ! . > F_U)ßn_olRe(C,Y,!0 -'-С, ! .Ï.

ir_theu_else(_,_,H):-№.

вместо явного использования cut,.

- строго описывать типы .'энных;

- на мета-.уровнз исгшьзоють допош1тел,нш предиката. и аргументы, по возможности избегая применения предикатов uni» и

call.

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

Постольку вопроси эффективности при этом, стоят на. втором плане, наиболее адекватным средством реализзщиь определенней выше архитектуры инструментальных комплексов является язык Пролог-

Таким образом, в методологии, построения инструментальных систем можно выделить следующие основные этапы:

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

- разраоотка предметно-ориентированного языка представ ления знаний определением класса допустимых формул в некотором

пзьестиом формализма со сьойстньмн корректности. полноты и дезреш-юста, 1 ¡апример. Хот>»-д>гш>;

- описзний Формализма, в котором вибра1шая предметная область достаточно близко соотштса&овэла бн подели (чэ;се всего из-за сложности реальной области не удается построить полностью адекватный форса.-аьи, но ¡шлю строить основу, которая будет играть роль, аналогичнаи той, которую играет Хорн-логика для ЛП);

- разработка прототипа инструментального комплекса средствами логического преград »»розаиля (интерфейс, упрэвленпо выво сом, управление да и; тми);

- опытюя эксплуатация прототипа;

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

Далее в данном разделе описана ьетодэлогия объектно-ориентированного представления энэипй па Прологе и трехуровневая архитектура система, реализующей ото представление.

Основная особенность - структуры типа фреймов комбинируются с продукциями; понятия предметной области представляются фреймами, закономерности - продув¡н.лм, причем один вид закономерностей (необходимее и достатс условия существования конкретного проявления понятия) налосрмста^то привязывается к фреймам понятий -

Эти принципы обеспечивают возможность представления*пред-«этаой области в целом, простоту ч ясность осгор'ск коиструк-Ц!»:, расширязмосгъ (добавление носых понягкЛ или и&зжеш» старье, сведение надстроек тала системы объяснения, приближенных рассуждений и др.)

1Цч»дл.1га&шй архитектура лр-злстовлс-кп.! знаний содорхит три уровня-

верхний уровень представляет он."4"«? о знаниях, или мзтазнанил. На нем описываются понятия аообп.с н операции над ¡шми - в ¿сносном это операции создания, удаления и распозт-ка- пая конкретных проявлений понятий. Б системе используются четыре типа понятий; объект, отношение, свойство и правило. Таким образом, предметную области можно представить как совокупность оСъгнтов, их8?йшх определенную структуру и свойства и связанных некоторыми отношениями-

j5

Закономерности, действувдие q предметной области, долятся па I.EQ группи:

1) необходим« и достаточные условия. содержащиеся з описании понятий; процедуры реализующие эта условия, выполнятся по ирекл операции над понятиями п иапомтипт известных "демонов" и "слуг" .используеннх во многих интеллектуальных системах;

правила (продукции) типа ос ли.. - , то .... которые служат основой для внаола-

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

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

Совокупность описаний! третьего уровня представляет конкретную ситуацию или исходные данные задачи. На нем описываются конкретные объект и отношения, например: отрезок прямой гь, точка о принадлежит прямой s?- Другими словами, второй уровень служит для представления интенсионалов понятий,а третей -зкстенсконалов.

Тизически первый и второй уровня реализуются прологовски-ми предикатами (программами на языке Пролог), третий уровень -совокупностью фактов (факта - это предикаты , имеющие только заголовок в базе данных (БД) Пролога. Имена предикатов для фактов и их структура определяются на мэтауровне.

Реализация показала адекватность Пролога предложенным методологии и архитектуре-

Принципы, излотеыные в главе i били развиты и реализованы в оболочке экспертных систем ЭКСПО (Экспертных Систем Программное Обеспечо-ние), разработанной в институте математики ¡¡механики АН КозССг* на язьке Мпролог для ГС ЭВМ и предназначенной для создания и эксплуатации ЭС в предметных областях, связанных с диагностикой- Комплекс ЭКСПО описан во в т о р о й части -

ЗШЮ имеет собственны! «>мк представления знаний, в ко-

гором использованы принципы предыдущей главы - структуры типа фреймов комбинируются с продукциями: понятия предметной области представляются фреймами, закономерности - продукциями. Часть закономерностей - необходимые и достаточные условия -привязываются непосредственно к фреймам. Язык имеет нешого основных конструкций на единой основе и достаточно прост в использовании- В основе ЭКСПО лежит Хорн-логика-

Комплекс позволяет использовать в экспертных системах реляционную базу данных, информация из которой представляется во время работы в виде высказываний языка представления знаниями. - Представление знаний.

Одним из основных этапов создания ЭС является описание предметной области (ПО). Предметная область в ЭКСПО описывается на языке представления знаний.

Б ЭКСПО используется пять типов понятий: сб'екты, свойства, связи, 'классы и правила. Таким образом, предметную область можно представить как совокупность объектов, имеющих определенные свойства связанных между собой некоторыми отно-иенияш и объединенных по некоторым признакам в классы, и закономерностей, выраженных в виде правил-

Объект - это нечто, что проявляется через совокупность своих свойств. Объект может иметь прототип, находиться в связях с другими обьектами.

Группы объектов могут объединяться в классы... Связи представляют собой бинарные отношения на множестве объектов. При описании связи указываются пары объектов (или группы пар), на которых она определена- - ,

Свойство объекта - это характеристика, которая позволяет • сравнивать данный объект с другими. Значение свойства - это. элемент некоторого множества с линейным порядком, сопоставленного данному свойству. Подчеркнем, что в ЭКСПО значения могут иметь только свойства.

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

Основой языка является правило, которое можно представить в виде:

если рг. -.. . рп то р. здесь р^ и р - единичные высказывания. Единичными высказываниями выражается информация о конкретных фактах.

В виде пр&иил можно выражать как общие закономерности, так и субъективные суждения экспертов.

В ЭКСПО единичные высказывания должны иметь определенную структуру- это. с одной стороны, облегчает задачу инженеру знаний, давая ему некоторую схему-скелет, а. с другой сторолы, позволяет контролировать знания и строго интерпретировать их.

Примеры правил: если х1 - человек. х2 - человек,

рост XI = XII, рост Х2 = Х21, у11 > Х21,

то XI тяжелее х2 с ^-е>.•

В заключении второго правила в скобках указана его определенность , которая используется в нечетких рассуждениях. Все используемые в высказываниях понятия (типы объектов, связи, свойства, классы) должны быть предварительно описаны. Каждое понятие кроме обязательных, специфичных только для этого понятия. элементов (например, для типа объекта - список его свойств) юзсот содержать необходимые и достаточные условия. Это тоже правила, но используются они с большим приоритетом, чем обычные.

Таким образом, для описания предметной области необходимо прежде всего выделить в ней типы объектов, каждый из которых характеризуется своим списком свойств, и их возможные связи, именами этих понятий по-существу определяется допустимая терминология при формулировке правил-

Далее представлен формализм, легаций в основе языка.

Пусть л=1С,х,Р,п,Ь}- алфавит, где

a) с - множество констант, разделенных на тег.н;

b) х - множество переменных; о) Р = СО.ВЛ.К,!,},

где о - множество символов обйектоз, в - связей, к - классов, V - свойств, 5 = {=, <, >, <=* >= $

l = [6(n>. * (нет).<- (влечет)} В дальнейшем симзол, пуиналлекаищй некоторому из этих нокаств.будем обозначать через соответствующую строчную букву.

е) R - ююжеетво чисел В [0.1].

Терм есть константа или переменная. Атом а есть

o(t) ИЛИ b(ti,t2) ИЛИ

k(t> иди v(t(,t2) или

где t, tt. t2 - термы. Для простаты изложения типа на учитываются.

Определим правильно построенную Формулу как ¿с <- а ьа &...&ап., где А, - атом, Aj.Aj. -• • имеют вид либо А, либо "А, А - 2ТОЫ. Если в качестве правила вывода использовать резолюцию: А <- А&...Д____&А , А <- А &А. „&...&&.

Г i i П I Li l2 in

а <- ал. .-а. 4а ь. . .ьд. .. .ьа .

г 1 и г*

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

В архитектуре ЭКСПО мож"о выделить три основные части:

- язьзховий интерфейс (редактор знаний и интерфейс пользователя ЭС);

- управление логически» выводом (интерпретатор знаний - ИЗ)*,

- средства хранения знаний и данных и доступа к ним.

Работа интерпретатора знаний ЭКСПО основана на резолюции и заключается в следующем.

При вводе факта ИЗ выполняет все связанные с соответствующим понятием неодолимые условия. Этим достигается более глубокое понимание вводимой информации, что мокет реально сказаться на скорости вывода.

При выводе конкретного факта ИЗ внполняэт последовательно следуациз действия (очередное действие выполняется только при

неудаче предыдущего):

- поиск факта в описании ситуации;

- вывод факта по достаточным услозиям определения понятия, выраженного этим фактом, включая определения всех прототипов данного понятия;

- вывод факта по имеющимся в базе знаний правилам;

- запрос факта у пользователя;

- вычисление значения определенности по умолчанию.

Для учета нечетких значений кахдые факт или правило тлеют степень определенности « (число от о до 1): правило - лг <- Д15лга.. .&ап. , факт - д <- .

Степень определенности вычисляется в соответствии со следующим правилом вывода:

Д <-. AAÜ...W,; -, А <-« Д215Д228...5Лг

к

ш V* _ СД - LA - *л

А. <-11., Д <-12., .... Л <-zi.,..., Д, <-kn . 11 12 * zi ' kn k

k

Д <- (a=nBX(a*nin(« .a^, . . . ) , 1=1,2, . . . ,!í)

i

Другой тип нечеткости связан с вычислением значений свойств: Иногда невозможно четко задавать значения - чаще всего имеется в виду некоторый интервал. Под нечетким значением понимается интервал - пара (а,ь: а<=Ь) а,ь принадлежат множеству допустимых значений.

Па множестве нечетких чисел определено отношение порядка. Значением предиката (a,b)<(c,d) является стёпень определенности, вычисляемая на основании геометрической вероятности по формулам:

а=l-(b-c)/2, eCJM a<=o<=b<=d; a=(cHl-2a)/2-*(b-a), еСЛИ tt<=o<=d<=li.

Для того, чтобы показать, как учитываются различные свидетельства при выдаче значения свойства, воспользуемся графическим изображением нечеткого чис.а. Например, если принять, что область допустимых значений свойства рост-объекта типа человек это интервал от so до 250, и если известно что рост Иванова от ívo до 200 со степенью определенности 0.9, то графически это можнл изобразить так:

a.s

o.i

D

50 170 ZOQ 250

Для представления такого. графика в ЭКСПО используется список троек Ui.r.a),...], где i и г это левая и правая границы интервала, а a - степень определенности.

Пусть имеется еще одно свидетельство, утверждающее, что рост Иванова от icq до icq со степенью определенности о.в.

0.0

0.2

О СО 15!) 100 250

Результирующий график получается путем применения функции срадааго арифметического к графикам свидетельств. В рассматриваемом примере этот график выглядит слэдокфш образом: •

- о.

0.5 0.45

ОЛЬ

_1_

S

да

150 170 180 200

2Ь0

Б качество значения свойства выдается интервал с ыакси-мчлънсй степенью определенности ■ В рассматриваемом примере значением свойства рост обгекти типа человек с именем Иванов на основании двух свидетельств будет нечеткое . значение <170,юа) со степенью определенности o.ss.

Вита описано ядро языка представления знаний. На нем зна-

V

ния noveno описать декларативно« однако в практических задачах невозможно обойтись без существенно более эФГектнзних средств при организации вычислений или хранения больших объемов данных .

ЭКСПО допускает использование реляционной базы длннш: "КОД" < аналог шо и программ, написанных на яиике Фортрэн-

Интерфейс с базам! данных прел «значен для хранения экстенсионалов понятый - больших маблиц данных, хранение которых внутренними средствами Пролога нецелесообразго или невозможно,- и позволяет:

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

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

ЭКСПО содержит комплекс тестирования, включающий генератор тестов , собственно тестер и систему-информатор. Диалоговый генератор тестов предназначен для генерации тестовых примеров описания предметной области и Фактов к ним.

ЭКСПО представляет собой оболочку, котогая будучи наполненной знаниями о конкретной предметней области, мохет использоваться как экспертная система. Таким образом, в технологии применения ЭКСПО можно вы/елить две стада»: создание и использование ЗС (соответственно, в ко>тлексе иогно выделить двэ основные компоненты - редактор знаний (F3) и интерпретатор знаний <ИЗ>) -

Редактор знаний, облегчает Формализованное представление знаний. РЗ в резгиме диалога запрашивает у инженера знаний информацию о понятиях, выдает ему пояснения и диагностические сообщения, позволяет производить корректировку вaa&í'jtux данных, осуществляет частичную проверку емзнпЛ ::а непротиворечивость.

Предварительная проверка подготовленная эксчертнол с йоте-мы «ожег б1ггь проведана средствами тестирования, которые позволяют до некоторой степени смоделировать работу экспертной с истеки.

Вторая стадия - эксплуатация экспертной системы. Конечный

пользователь, работая с ЭС в режиме еопрос-ответ, описывает конкретную ситуацию, после чего может задавать вопросы некоторых типов и получать ответы и объяснения.

Таким образом, основными результатами разработки ЭКСПО являются архитектура и принципы создания оболочек ЭС, использующих большие базы данных, объектно-ориентироьанный язык представления знаний, метод учета неточных знаний и их реализация на языке Пролог.

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

Рассмотрим простой пример.

В этой примере имеется информация о сотрудниках - Фамилия, должность, оклад.- и для каждого сотрудника известно число отработанных им дней в расчетном месяце. В процессе начисления зарплаты для каждого сотрудника по простым формулам вычисляются заработная плата, налог и сумма к выдаче.

3 = И — II (И - итого, Н - подоходный налог)

причем

И = оклад * число_отработанных_дней Н = о, если И < ico Н = И * 0.13, если leo <- и < юоо

Все результаты записываются и хранятся в книге "Лицевые счета".

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

Инструкция 3 = И - Н

Сотрудники

Фамилия Отдел.Оклад

Бухгалтер

Фамилия

Месяц Отр.днс"

Итого

Налог

ÍC выдаче

В этой схеме можно четко провести границу между процедур-

ичш и декларативными знании)«: процедурные - ото порядок просмотра и заполнения таблиц, декларативные - инструкция по вычислениям.

Большинство процессов обработки информации могут бшъ представлены з виде одной или нескольких таких схем. Язык Т позволяет описывать такие схемы в виде запросов на преобразование таблиц, достаточно естественно представляющих суть процесса. В запросе задаются список таблиц, просматриваемых по определенным усповиям, и изменяемая таблица, поля которой вычисляются в соответствии с заданными в запросе правилами.

Например, приведенная выкэ схема на языке может быть представлена в виде одного запроса•-Просмотреть

"Лии^чета" по условию (месяц '= Текущий), "Сотрудники" по условию {фамилия - фамилия:Лиц_счета> Заполнить " 1иц_счета". вычисляя

начислено = отр. дней:Лиц_счета * оклад:Сотрудники налог = О, ЕСЛИ начислено--Лиц_счита < -юоа налог = начислено:Ли1х_счета * 0.12, ЕСЛИ

4000 <= начислено:Лиц_счета < зоооо

Удалив ключевые слова, можно получите более <!5ормальнуи запись:

Т1 {с1(Т1)}, Т2 {е2(Т1,Т2>, ... —> К {П=Г^1,Т2,...)Д, <1)

где т - исходные таблицы, а, - изменяемая табдаца, с(т,,..> - условие просмотра, г<т,...) - правила вычислений. Полученная естественным путей схем^ <и прдожеьа с основу 1реобразований.. таблиц, составляет,!« язык Т.

Будем обозначать через ^(¿¡.л^... Формулу, в. ;оторую входят атрибуты, из схем отноазний

- • ■ Аналогично с(л*,д^,.. .а;) обозначает условие-Подстановку значений некоторого фиксированного' кор^е^а абдиш» 9. подсхему ее аргументов д'* (аргументы подсхемы юлучдкг? соответствующее ^ значения из ' котре^а) будем боэначать ль"=

Рзссмотрим последовательность проекций ртношэний:

Т . о 7 с/

СКЛ-) I сг<л-,л'Лг ' .....а-И,, '

' «г 1 г п>

Назовем условно-декартовым произведением отношении

т,.т,.....тт с заданными на них условиями

с С-*',.а".).-•-. с (д; .а; ,...л' ) ,где в условие на таблицу

2 112* гп 4т ¿т тт

т (1=1,2,...входят аргументы из схем л<;$=1,2, ...,1-1), отношение тв, сформированное следующим образом:

а) схема отношения т^ задается объединением множеств

аргументов из схем ... ,Ат - Ав= и а. ;

к

б) кортеж таблицы т. составляется из кортежей

кортеж ь1 „1*.к"

удовлетвояювдх УСЛОЕИЯМ'. I* « а Т

II С 1А' » 1

г2 е о- т

¡г с <*' .а- > 1 г

• •» , *> '»О А ' — ГТ*

т-4

* • =пс

т-1,т J т-1

удовлетворяющие условию

в) т^ содержит все возможные кортежи, пункта б).

Будем обозначать его

Процедурная семантика условно-декартова произведения соответствует просмотру таблиц, задаваемому девой часть» схемы (1>. Таблица Г4 просматривается по условию с . Для каждой строки тд, удовлетворяющей этому условию, просматривается таблица тгпо условию сг с подставленными в него значениями аргументов из этой строки и ".д. Для фиксированных строк

таблиц Т1,Т2.....тп1, найденных таким образом,

просматривается таблица по условию ст с подставленными в него значениями аргументов д; ,... .д^ из этих строг..*

Набор полученных строк (по одному из каждой таблицы) образует строку условно-декартова произведения. Все возможные наборы образуют таблицу-результат произведения г>\- Отметим, что если в одной из таблиц т. не будет найдено ни одной строки, удовлетворяг-яей усльпив с. ¡¡л при каких подстановках значат:!-! аргументов, то результатом произведения будет пустая таблица.

Назовем вычислительным правилом следующее выражение:

а' = РккУ <- ^ЛЮ V

гл 2гп

«1 = <- <ъ<\> V

а) = г1(Лк) <■■ С;(Лк) , задающее вычисление о-го аргумента некоторого кортежа таблицы т\ по значениям некоторого кортежа 'таблицы тк. Совокупность вычислительных правил для всех аргументов кортежа таблицы т. через аргументы кортежа таблицы тк задает отношение вычислимости между таблицами т. и тк, связывая их некоторые подмножества кортежей. Для сокращения записи будем обозначать эту совокупность ' равил через

л = Р(лк> <- с<л1:). Определим операцию преобразования таблиц на схеме (1):

т.сс,). Тг(Сг).....-(а)-> тг:лг=г(ла) <- с(ла) (2)

где ла - схема произведения, определенного левой частью,

г С (1,2,...,я),

-(»>-> означает, что множество кортежей, определенное правой частью <2> добавляется в т..

Таким образом, (2) ог1ределяет некоторое изменение т.. Используя эту операцию, можно представлять достаточно сложные, запросы на поиск и изменения в базе данных в более естественной чем реляционная алгебра Форме --примером является (1). Однако, нельзя получить пустую таблицу, что принципиально не позволяет моделировать реляционную операцию разности.

Введем в рассмотрение еще одно преобразование, основанное на схеме (1) и определяющее удаление кортежей из изменяемой таблицы:

тсс,), т2(сг).....тм(с,> -(<!)-> т. , • (3)

где г е (1,2,...,п).

Каждый кортезк произведения, заданного левой частью, содержит некоторый кортеж тги именно все такие кортежи преобразование (3) определяет как удаляемые.

Теорема: язык запросов над реляционной базой данных, содержащий операции (2> и (3), является полным.

Для доказательства достаточно з соответствии с определением выразить через (2) и <3) все операции реляционной алгебры.

а) объединение отношений т, и т2 :

т4 -(«) > т.: аг = л.

•г о

Т <а)-> Т : Л = л г г г з>

б) разность отношений т4 и т2:

т£ -(<0-> Тг: Дг - Л

ТгЛг(Лг = ЛГ) -(¿)-> V

в) декартово произведение отношении т£ и

Т ,Т, -<а)-> Т : Л = Л

I 2 г г р

здесь др - схема произведения т^а^.

г) проекция отношения т:

Г -(а)-> Тг: Лг = Д-

д) селекция отношения т:

« Т(С(Л>) -(а)-> Т.: Лг = Л

здесь с(л> - условно селекции. Более точно все преооразования должны выполняться над пустой таблицей тг, поэтому первой операцией мажет быть ее очистка:

Т -(с!)-> Т

г г

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

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

Па практике, однако, всегда существуют ограничения вычислительных ресурсов- Ограничения памяти вынуждают использовать операции типа (3) и над основными таблицами, а ограничения производительности - хранить часто используемые выводимые отношения, а также отношения, для получения которых требуется много времени- Более того, деструктивные операции изменений часто соответствуют естественному стремлению челозека уменьшить объем работы-

Следуя этому стремлению, определим преобразование отношения, связанное с изменением его кортежей: т/С,), Т2(Сг>. ..., Тт<Ст) -<с)->

Т : Л = 14Л ) <- С</. ) (<1)

где г о: С.1,2.....в).

Изменяем*. кортежи, так тя как и в О), опрос.-ллттси условно-л.екартсвнм прои?во?8Ийс«. ('О на является независимы, сно мохет бить выражено через !2) и (зк

tw -u>-> т„

Т4(С ), T2CC2).....7„tGt(i> -U)->

av = i'(ap) <- cfap)

t^c,), тг<к2).....tr

T -(■))-> T : A - A

V Г1 V

Использование (-1) достаточно еетйсшьнно, co..-ращавт общин объем операций ы допускает более э^-ектирте еяхшснге» интересный вариант представляет собоЛ (2> при

г s <1,2,... ,а) Эта операция задает измене.aie бтноттш во время его просмотра и мс"м>т быть определена только процедурно- Ее применение чревато непринтнесшни, например, ттти>лк>1«»ш для прогршя1роеа|:ия "зацикливанием", но при исполк.-оюшы без злоупотреблений расширяет вкрагит^ькие возмоз-ностд Я313». Например, можно задать построение транзитивного згилг.-знил некоторого бинарного отнокеннп.

Транзитивным отношением п* 6:и;эгного от.К/ШЖЯ . п называется множестоо пар (а,ь>, тг.гих, что г?когорой

последовательности ct-c,- ■ - - »о

и a=R-,

?.) =Ь ;

3) (o.,cw)) « •( , i-1,2, . . ,,n-l.

Пусть ri состоит из столбцов а И Ь, П* СОДЗрХНТ ОДИН столбец ■>. Следующее преобразование отделяет последовательность ... ,сп, начичгицупся с заданного г„ (а* в начальный момент содержит aj:

?/, П(а:И = е:;>*> -(п)-> Г-' ■

Таким образом, язык Т носит более процедурный sajактер, чем частые язши реляционной алгебры или реляционного исчисления, однако зто свойство имеет и свои достоинства:

1) в практической деятельности, связанной, в частности, с выпомнением информационно-расчетных Функций, многие npwxci* могут быть представлены па языке Т п более естественном и, следовательно, более понятном виде, что, в своп очергдь, поз-

2b

büJiitr сократить сроки разработки прикладных систем и повысить их налеиюстс;

2) разработчик иохет достаточно просто определить эффективный порядок просмотра таблиц, что снимает некоторые гроблемм оптимизации выполнения запросов;

3) используя рмгиы выполнений запроса ДОБ. можно задавать циклические процессы и даж«г гск»ть задачи, связанниа с построением транзитыimí замыкании типа "нзйтн всех предков"-

Представим формализм, леузащР. в оскозе систем;.!.

Пусть A=0),z,i',ü,;¡,t\i./ - алфавит, к котором a) d = !)_ u |)2 ü .. . и d| d

i).= i=i,2.....г.с - множество констант,

называемых типами;

W. г = i Ux2 U ... U xpjt

\= j-¡ л-......их - шогестао

символов пере май и их, ассоциированных с типами Dt; с) Г = F U F U ... U F ,

1 2. r.f

ir,= ,<t'i'ri......2,... ,r.f - множество

íyiiKTopob, таске ассоциированных с типами. nv;

e) U = [г^ Сг, . .. ,rnrJ - СИМВОЛЫ отношений;

f) i' = h\>s>x. - ■ ■ >епс,-> - символы предикатов; с каждым сюеолом из £', R и р связан вектор v = ... , ¡\j, определяющий число, порядок следования и типы аргументе®.

i О 1. = ! л (И), у (ПЛИ), " (НЕТ), <- (ВЛЕЧЕТ) i

Торы типа d¿ есть константа из d^ или переменная из Е и.®! í^(i.'1,t'z,...,i.i'n), где г' - n-арнмП функтор из F Htj", ...,)/" - термы типов ci2,...,D.ri

соответственно.

, Введем сокращение = ..., i/r' , тогда -юру

можно записать в ьиде £^(tl).

Для того, чтоби подчеркнуть зависимость терма от множества переменных будем записызать егс в виде г<5-'г), гдехг обозначает множество переменных, пходшщ в термы

. ii

Атом есть ... где р - n-арний предикат

из Р и - термы.

Условие есть атом или aiv&2 или /\лл _ или если \.

и а - условия. Услоеиз может бить записано о виде с<х Определим правильно псстооынную Формулу (ППФ>:

или

к с,(х;> -> = н/х,) > у

......................... V

< -> = >' • <2>

г® .....- *1> ...их;;

В сокращенной форме (2) можно представить в виде:

г.(х.) <Правило вывода в соответствии с определением процедуры преобразований имеет вид:

г(х ) <-

г (с1): «1с=РС<111-----

Очевидно, это очень простой частный случай резолюции. Определим семантику языка. Интерпретация I определенного выше язнка есть (и.о'.п^.р^р,). где

a) ч непустое множество, из которого получают значения переменные из X;

b) о1 - отображение множества констант в в«;

c) - отображение« на множество кортежей элементов и (т.е. для каждого символа о^х..

<|) г1 - множество отображений п*^. • • _>

соответствующих каждому функтору г'. п р, - множество отображений и^х.. ,*1:>*п -> <о, I) для каждого предиката р^, определяющее значение атом■ ч ■ интерпретации;

значение любого условия определи гея как обычно:

оиа-;чаи9 с2 есть 1, если значение с или значение

с есть 1, и т.д.

Белее точно: в интерпретации х

та1( р(сХ>) = Р/рСО^Н)))

V«к V = 1. если \,а1(С1(с31)

ИЛИ*а1(сгС(12)) = 1 с i, И т.д.

Определим значение истинности ППФ:

°1> 1:(и} истинна в интерпретации I тогда, и только тогда,

когда существует кортеж Е1(г(01(а))> в I;

2) г.Ос.) <- гц(*и) Л С.,(х11)Л ... с. „<«„,) *

Х= 1'Сх)

нстинна в интерпретации I тогда и только тогда, когда дли кортежей ...,с!1к таких, что г^«1)^ ' истинны-

та1(Ск<(Зк))г-1 (к=11, .. . ,1к) и таКх^х)) =1 в I.

Интерпретация I называется моделью множества ь правильно построенных формул, если для любая формула н® а истинна в интерпретации I.

По отношению к определенной таким образом . семантике построенная выше формальная система является корректной и . полной.

Подмножество ППФ типа а> составляет базу данных (диаграмму) модели, подмножество ППФ типа (2) - совокупность условий совместимости (в некотором смысле базу знаний). Эти базы совместно с некоторым пользовательским интерфейсом образуют прикладную систему, основное назначение которой поддержание (1) в соответствии с (2) и поиск ответов на запросы.

Запрос есть выражение

г>1(Х1) Л ... л г1к(Хк> Л С(Х) (3)

ответом на запрос является чножество 'значений из и для которых (3) - ИСТИННО.

(1>,<?> и (з> являются Хорн-клоззми, следовательно определенная формальная система является подмножеством Хорн-логики-

Далее, в этой часта приведены результата систематизации часто используемых в ИРФ преобразований, их представление на языке. Т и формы возможного расширения языка Т. Свертка сарок таблицы.

Очень часто в ИРС требуется использовать два типа таблиц для представления одной и той же информации: дли пользователя удобнее просматривать ее в виде одной строки, содержащей несколько столбцов, а для обработки более общим явлпехя представление этой же информации в виде нескольких строк, содержащих только гю два столбца.

Пусть таблица л имеет схему (, а,), таблица п (ь^ь.,,... ,ьк), причем область значений а4 в точности совпадает со схемой таблицы в: о(а1)={ь1,ьг,... ,ьк>. Назовем операцией свертки а в в такое преобразование, при котором корте™ (ь4,ьг,...,ьк> таблицы в : если (кавычки обозна-

чают строку-константу в отличии от имени аргумента)-Свертка мокет бить зздана следующим образом: В -(!!)-> В -(а)-> 1! В, А -<о)-> В: Ь =а <- а ="Ь " ,

Ь =а <- а ="!> " , 2 2 1 2 *

Операция шкет иметь несколько разновидностей: а) представленная выше процедура заносит з корте« последние встретквеиеся п таблица -Д к:лч.->м./я Дйя каждого г.ргу-нннта; ь! остается цропрэье'Х'«-^4*,, ^.гл и таблица А нет корте-уа

процедура готет бг.ть и.спользована для суммирования значений аргумента а, по каждому значению аргумента ч •• »3 -{г1)-> »

-<а)-> 3: 1 = 1,2, . . .

В, А -(с)-> В: Ь^ + п^ <- Я ="1^" 1-1,2, ...

в) свертка может быть обобщена на случай. I эгдз об? Тнб-¡ицн имевт дополнительный клячев01" аргумент к с од»8 сбдпсц-" наченнй и для каждого значения этого ключа в таблице-свертке •ормируется своя строка <вс» ключи содержатся в таблице % со хемой <к)):

в -<u}-> i;

К. -(»>-> ti: 1, =¡e i-í.J, • . ,(1 ¡i. A: í.l-'B.t -(«)-> H: "^¡V ; ^

Рас^-ртка.

Эта операция íu.l'kicíí оогмнои гь on.c .«айв ií сьартке и ипре^еля.л' к с л-"'.': г, то&ш:'* & корюха таблица и, при :с-м для когдой строки !i,r"!\"'

д'»п того, tíoóí.! ссдл1. ' ictwp'vky ¡r: языке Т, и:,а'хъ таблицу с го «'.-мой дл>

|>(в >=[ь£,ъ4.....bj. 'Ior.>a процедура

развертку таблпн;.: ь и А:

Л -<d)-> л П, С".с = д — es J — > Л:

i-l.ü,. . .,11.

I:GO6XOSKMJ которой реализует

с -"i.

I- i ,U.

"•■jüa.ij и печ-ко/.ькИл ьарн-

-

и -l. Í-2 i

Разрориа так;.-е могоет био. антах.

Функции, связанна; с просмотром таблиц. В сиететх. осневызшх на реляционной алгебре или исчислении, для получения сум-л значений столбца или других функции, тпебукэдх просмотра всей таблицы, используются так Hí3¡Jüno!.::e агрогатп^ '/ункц:'!'- Лтлогичн:,!^ Суннии:' опре-

делить, используя оперлцно ¡ггменення.

Пусть таблица А имеет схему и таблица в

Ь=(Ь1,Ь2>. Необходима сформировать кортеж в так, чтобы til был равен сумме значении а ъ2 •■ минимуму этих значений. Соопзатствуюцая процедура имеет вид: з -<ц>-> а

-<и)-> В: Ь =0, Ь С, А -(о)-> В: !> -Ь ,

Процедура шкет был. обобщена на случаи произвольной схемы, просштр с кдйчавиш арг^игамз н дрнн'-' функции-

Специальная операция. позвожпцая ыычиелягь такие Функции, может иметь вид:

В, А -(Ь)-> В: Ь =£тп(п ), Ь ---т"п(а )

Удаление дубликатов.

Отнокшие в реляционной базе не должно содержать дубликаты (одинаковые кортсжю, однако па практике что требоватю вы-

ь =<1 <- b >а 2 1 2 1

пияются ie всегда, нссгольку требует дополнительных ¡осурсов. Очшшю. тдччэ »-гигг ('Пи сведенз к исключении дубликатов в таблице, го-оодай только один атрибут. Пусть таблица л имеет схему »:(»,) и ос«,)-! v^____»V» причем значения в таблице могут поягорятс-сы. Требуется »«сличи» дубликаты. На языке Т эта процедура }.«x*y-i быть реализована только в том случае, если существует та^лша С, имеющая такте один атрибут' с топ же, что и а1 область» значений, и содержи",ая все значения без дубликатов-

Следукщэя процедура задает получение таблицы л4. содержа-ПрП ю хе значения, что и л. но <5гг> дубликатов: л, -(<!)-> лг -№-> л2

С -(а)-> : А а гС.п

С -(э>-> Л Л^я^гО-я

Л , А: Л.а =Л -(•!>-> Л г 1 z 1 г

At, Л2.«(=Л1.а1 -(d)-> Л

Для эффективного вняол'гиия, а также для случая отсутствия таблицы с язык Т может быть расширен операцией удаления дубликатов, имеющей вид:

Л -(db)-> At

Группировка.

Группировка - это операция разделения кортежей таблицы на непересекающиеся подмножества в соответствии с заданными условиями-

Простейшее условие разделяет корте;.«! в соответствии со значениями, одного пп атрибутов. Пусть с - таблица со схемой ) и o((?J)={vi,v2,... содержащая п кортежей (по одному на каждое значение), Л - таблица со со схемой и=(а ,аг.....____afc) и , группа кортежей в таб-

лице л определяется значением атрибута я • Получить таблицу \ со схемой в которой кортежи сгруппированы по значения).!

атрибута а , можно следующим запросом: G, Л:аз=Я, -(<>;-> Л,:

Для группировки по произвольному условию необходимо допустить использование условий в качестве значений специального типа. Таблица о мот> т иметь схему д=Сй4,й2), содержит идентификаторы групп, а п., - / лоеия:

ССе2) = СС1(а),С2(а).....сп(£0}

Группировка примет вид;

О, й:С.(а) -(а)-> Дд: Д^а =1^, ...

Сортировка -

Сортировка - одна из самых распространенных операций -

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

^. Представить сортировку в виде базовых преобразований в общем случае невозможно, позему для сортировки такие необходимо ввести отдельное преобразоь-пие. например, сортировку таблицы & по ключам ак1>ак2> - - • >!1к1 можно задать в форме*-

й:кеу(ак1,ак2, . . .,ак1) -(в)-> Л1

Таким образом язык Т, позволяет представлять ИРФ в виде последовательной структуры- Дополненный режимами ввода/вывода таблиц, библиотекой часто встречающихся Функций и предикатов, бозмо5шостью оформления макроопределений приведенный язык монет бьпь использован для представления ИРФ в виде совокупности хорошо систематизированных процедур.

Изложенные выше принципы были реализованы в системе Т.

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

Структура базы данных Правила Процедуры

БАЗА 3 Н А Н И й

!

Разработчик -> Интерпретатор СУБЗ знаний СУБД I <-

1

БАЗА ДАННЫХ

Для создания ИРС в системе Т необходимо определить струк-

гуру базы даншпл <БД->. зате-* инструкции па расчетам и гомю-г.огиа представить в виде праьил и процедур-

Все эти описания вводятся в баау знаний сБЗ" разработчиком и могут бьпъ проверены и исправлены в отлагсчиоа

МЖИМЭ-

Для сксплуаташт получлвн»Л1 ïami образом антома сиепро-:аннсП ан-^оргационно-расчепюП систомм поль^опалдо предоставляются средства эьодч информации в БД и ее корректировки юдзджшия в актуальном состояш. а тасге возможность удоб-юго выбора 1:у:::ной процедур.! и ее запуска-

Систс1:а Т - кто совокупность Со.т-е зоо пр-ггпяятов на яз!!-се Турбопролзг. которые в соответствием с выполняемы; ¡и «Тулкци-t'oïcao разделить на три основных погсистэюр

- снс :ема управления базам!-, данных ссУБДэ;

- выполнение* запросов;

- пользовательский интерфейс-

Внагнля база данных служит для хранеш-я имрорюцнн к ор-•анпааннн доступа к ней как из niorp"»-'..' сг.отсыь гак я со сто-;они пользователя через дружественный интср'-Пс-

Ее основные понятия - таблица. стро;»>' полэ- -

;ОЭТГ?тстоупг общепринятым В рОЛЯаИОННЫХ ОПЗ/Х ДЯННЧХ-

ЕЗнутоеняя база сесзш.:: Т соответствует тршяенной сазе ¡ролога и играет роль "классной дус'ки"- об«., со применяемой а ист'г.'чх и с кус с те.« иною интеллекта-

Некоторая чу.егь екзтае* Т предназначена для оргшшг.г-м итертейса внутренней базы с енвакЛ базой с опой стоупл; читать, ннсатг.. перезаписать. . ..э не польг.бга^«-.м с дг-угоП отображение п экранных и табйпшнк фермах, --оьтредъ и прсоб-■ззовання типов. г.олскнзки. ...>.

База знании с ю^хл гг5к»;я организации умчатся част;"".' гучаем баси данных, поэтому для ее упгаьл"'пя г'.епользуотся г. сносом средства управления .1эаой лзгшк».

Логика выполнения запроса и ны-П'-сленки п:> правилам ¿остп-очнэ описана вьп:е- Здесь оста:к>гике-л только на .»¿котерч« го-ентах реализации-

Знйчанил для ащкелений всегда выбнраэтея с "доски", из оторой от как/ой обрабатигаегэП тз&япди находится одна строка соотвотстбио строк определяется условпк-i. на гоблины'■

Все запросы швкишяечой процедуры считываются из БЗ и выполняются последовательно- Правила, необходимые для вычисления заданных в конкретном операторе полей, загружаются во внутренних! сазу сразу все спосле окончания оператора они удаляются'■

При работе с правилами во внутренней базе используется стандартный механизм Пролога, что повышает эффективность работы- С другой стороны, поскольку во время работы системы лнлъ небольшая часть знании "подкачивается" во внутреннюю базу, сама база знаний практически не ограничена-

Интерфейс с Т построен на иерархических маню и экранных ftopuax таблиц- При вводе любого поля шкно получить подсказку-Dee поля прохода- контроль по их описанию- Условия набираются в стала известной СУБД ose. Для обнаруг:ен:;п возмог.них ошибок в прехилах или условиях пред/смотрен регаш отедки-

Стиль работа с базой данных очень прост и бьктро осваивается даае новичками- Дополнительно комплекс предоставляет возможности получения лкбых проекций таблиц, сумм и не:т.тог1ж других функций по -столбцам-

Далее в этой части приведены причоры программирования на языке Т.

Та!зш образом, система Т позволяет очень 5кстго качать компыперизацкк) информационно- расчетных шумкн-ь! по управление предприятием. »р<и.остаьвд|>

- более привычные для человека представления знаний:

- легкоехь освоения*комплекса как для разработчика, так и ;.,.л пользователя;

- наложный контроль описаний и удобные сродства их проверка- ¡."M!.':x-i;QCib оперативно вносить изменения во все резеды базы

ЗНЛГИа-

!1 у б л и к а ц и ц . 1- Цел (S.A. . Piycre;j Г D- Об одном тдходе к tpjаш-.зшгл: лз-.с-TCL5 npori -t!.v.. - П к::-; Мглсматаческие меаод:: р„-

ыеиня н об; мььи салдч геофизик1.;. - !:овоснб:г .:;. f'.L!

СО Ail СССР. x«v,i,c.t<9-ii.t.

ЦоЕ: Ii-/.. Оргг-:jaiv.n связи н^кмеш^пцчро;л-:;по) о пол:/:ователя с Сн'льтгек о Г; щэгрши- - Ггзс-ст»я ЛН L.-зССР. егь-

^нз-еат- ioei,5,c.E7-oo.

3- ЦаЯВ-Л- Onepiinjwc-s с&таиояэ па-е>зовзт.едлчгпраС;>ессио-

нала- - Вестник АН КазССР. íesi ,iñ,c. еэ-езэ. i- Кушларенко 11-А-. Цай В-А- Организация интерфейса "База дзн-нмх - прикладные программ-- Тез- докл- п Pom-вуз-кснй-по мат-¡i мех- .Алма-Ата.íssi.c.ioi. Цай В-А- Использование языка Пролог з интеллектуальной система решения задач-- В к с Технические и програмсйй средства автоматизации научных ис ело даваний- - Наука. Ал-ма-Лта. ioB7,c.47-S4. о С'оломахпна Т. 1.4.. ЦайВ-Л- Экспертная система обработки анкетных данных - В кн. Проблемы создания информационно- вычислительной сети и информационного обслуживания. - НИИ АСПУ. Ллма-Лта. юо7.с. 7я-еа. 7. Цай В-А- Трехуровневая ыодэЛь представления знаний-- Тезисы докладов 2-ой Всесоюз- конф- по актуальны;,! проблемам информатики и быч- техники- - Ереван. iaa7.c.i5i-isa. Цай В-А- Использование языка Пролог для представления знаний-- Препринт 716, ВЦ СО АН СССР. Новосибирск. ies7, i?c я. Ворновицкий И-3- > Рубинитейн М-М-. ЦайВ-Л- Архитектура ППП для обработки изображений основанная на системах продукций- - Тез- докладов э Всесоюз- конф- "Математические т~ тоды э распознавании образов"-- Львов. 19Я7,с.гоз-го7. ю- Цай [>• А- Комплекс программных средств для создания экспертных систем- - Тезисы респ- конф- по проблемам ВТ и АНИ. íeea.c-ai-oa. Ii- Цай В-А- Упорядоченное использование "cut." в программах на Прологе- - Тезисы г-ой Всесоюз- конф- по прикладной логике--Новосибирск. 1ss3. с. 170-179.

ЦайВ-А-. Варенников Л-В-. Сокира-Яхонтов В-В-. Лучко 0-11-. Образцов А- М- • Стародубцев А-В- ЭКСПО - оболочка экспертных систем- - Тезисы Всесоюз- конф- по искусственному интеллекту- - Переславль-Залесский. юаа.та.с-зза-взз. la. Цай В-А- Представление знаний в система ЭКСПО-- Известия АН КазССР /сер- физ- -мат-1в0э,з,с зз-з7, 14. Цай В-А- Правило-ориентированный комплекс для автоматизации информационно-расчетных функций- - Тезисы Межд- конф-

"Технология программирования ео-х". Киев. ioei, с гзз-нзэ.

из. Кривой С-Л-. Цай В-А- Разработка и использование прототипов информационно-рас четш..1' систем на основе логического

программирования-- Упраолякцие системы и машины, i9?i,a,

С.17-54.

Цай В-А- Язык программирования информационно-расчетных

при л ожени ft над реляционной базой данных Доклады И АН РК, 1993, с. 17-21.

17, Tsai О.A. A relational rule-based 1гпдиа^в for the development of in formation-acuounting applications. Int.cjnf. on bCib'KE and technology (abstracts), Seoul, 9-15 august,1993, p.4.

/а. Плотникова Е-П., Цай В.Л. Разработка ин}ормацион.но-оасчет-« ных приложений.- Препринт, ИПИУ HAH РК, 1993, isc-

Основные результаты: -методолог и я построения инструментальных систем, основанная на разработке языков представленш знаний и их формальном обосновании;

- архитектура инструментальных систем, соответстаувда; структуре логических Формализмов, и включающая в себя Языковы интерфейс, систему управления базами данных и систему управления логическим выводом;

- трехуровневая структура представления знаний (мета концептуальные и конкретные знания), которая во-первых, су щественно систематизирует и упрощает проектирование инструмен тальних систем, и во-вторых, способствует адекватному исполь зованию таких качеств Пролога, как средства мета-программиро вания, структуры термов и наличие внутренней базы данных;

- разработаны принципы реализации предложенной архитект> ры на языке Пролог и показана возможность использования язьй" Пролог на современных ЭВМ на примерах разработки двух hhctpj ментальных комплексов-

На основе представленной методологии разработаны д£ инструментальных комплекса для разных типов ЭВМ на разш версиях языка Пролог -

В комплексе ЭКСПО для ЕС OEM, предназначе! ном для создания экспертных систем в областях, связанных с д агностикой. реализованы- обг-еглно-ориентированный язык представления знаний д пгого комплекса, в котором для концептуального елисакия пре

Iе)

метной области используются структуры типа фреймов, а длл представления' закономерностей - продукции, что способствует систематизации знаний и повышению надежности прикладной системы;

- методы учета неточных знаний, позволяющие учесть размытость значений свойств, степень уверенности субъекта в значении свойства и свидетельства нескольких субъектов или вытекающие по нескольким правилам;

- интерфейс с реляционной бз'ой данных-

В системе !• разработанной для персональных компьютеров, совместимых с п-'м рс, и предназначенной для автоматизации информационно-расчетной деятельности, разработаны и реализованы:

- принципы лснпьютеризации информационно-расчетных функций- основанные на выделении в них технологических '-процедурных) и инструктивных (декларативных) аспектов;

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

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

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

Позпиеано в печать 05.11.33,

формат бумаги 60x34, Г/16, I* у,,.. эц.л.Закаэ^ V гирэ, 100 Отпечатано на ротопплнт-» КязПТИ им.В.И.Ленина ~