Главная > Документ


12. сохранять и передавать веточки в память,

13. управлять стеком величин,

14. управлять стеком операций,

15. упорядочивать веточки в БЗ,

16. интерпретировать операции,

17. применять правила логического вывода,

18. оптимизировать число веточек в наборе совместных фактов,

19. оптимизировать число веточек в наборах альтернативных фактов,

20. строить альтернативы предрешений,

21. обнаруживать локальные и глобальные противоречия знаний,

22. определять и идентифицировать ошибки,

23. распределять память МЛВ,

24. вести статистический подсчет некоторых параметров и величин МЛВ.

Выбор последовательности операций осуществляется по составу исходного текста (МЛВ - это ММ, управляемая входным текстом). Здесь только кратко указаны имена операций. Каждая операция - это алгоритм преобразования представлений знания и формирования БЗ.

МЛВ и МАВ включают память правил вывода (их более 800) и процессор применения правил. Примитивы МАВ те же, что и у МЛВ. В Интеллсист зафиксирован порядок работы машин, который в общих чертах имеет вид: МЛВ – МАВ – МЛВ.

6.7. Машина генерации кода синтезируемой программы

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

Анализ БЗ для определения свойств программы. При этом осуществляется определение понятий и операций, входящих в программу (входят только те операции и величины, которые используются в запросах), анализ программных циклов и зависимости выражений от величин, построение «схемы» программы, упорядочивание формул, если есть необходимость «исправления» последовательностей операций, составляется таблица запроса исходных данных, устраняется избыточность в БЗ (оптимизация), величины классифицируются на неизвестные, заданные, известные по фактам и запросные. Важно определять внутренние противоречия, связанные с бесконечными рекурсиями. Анализ направлен практически на определение программируемых и результирующих выражений. Первые составляют команды СП, вторые – фрагменты итоговой печати.

Использование терминологического словаря. Основная работа программиста – составление словаря идентификаторов – выполняется в ГП по таким правилам. По лексикону составляются описания величин на объектном языке. При этом каждый термин заменяется на идентификатор следующего вида ZномертерминаZ, по виду которого пользователем определяется (при необходимости) сам термин. Далее, в ГП составляются таблицы памяти, формируются списки величин для резервирования и освобождения памяти с определением мест таких операций, формируются вспомогательные рабочие величины с идентификаторами zномерпсевдотерминаz.

Построение операторов. Записи каждого программируемого выражения соответствует некоторый оператор языка программирования. При этом порождаются рабочие ячейки, выбираются формулы, которые выносятся за пределы цикла, формулы упорядочиваются внутри набора совместных фактов, определяется избыточность, используются стандартные модули. Для каждой альтернативы совместных фактов строится подпрограмма, которая в динамике выполнения программы может обнаружить повторно или новые противоречивые альтернативы, или совместные факты. В процессе построения операторов программируется операторы выделения памяти; присваивания начальных значений. Если перерабатывается запись алгоритма, то некоторые операторы уже известны (переход на метку, оператор процедуры), тогда их построение является формальным. Структуру программы, которая может представлять интерес только для программиста, можно обнаружить из распечатки исходного текста СП, который является выходным для ГП.

В качестве иллюстративного примера рассмотрим задание для Интеллсист.

раздел понятий:

~X или длина~: вещественный; -- 1 величина в терминологическом словаре

~C~: вещественный; -- 2 величина в терминологическом словаре

раздел запроса ~Решение квадратного уравнения~:

-- 3 величина в терминологическом словаре

найти X или длина такой, что X или длина *X или длина =2*X или длина +C. C > 0.

Программа:

диалог: введите значение C =

program Z3Z;

{uses - интерфейс запроса значений}

begin {asm}

Z4Z := 1;

Z5Z := sqrt(1 + Z2Z);

Z1Z := Z4Z + Z5Z;

{первый вариант}

output(«X = »)

output(Z1Z);

{второй вариант}

Z1Z := Z4Z - Z5Z;

output(«X = »)

output(Z1Z);

end.

Пример иллюстрирует программируемые части (описания и операторы) и фрагменты итоговой печати в виде операторов output. Иллюстрация отличается от реальных текстов СП, получаемых после работы ГП (или ММГ).

Второй пример связан с решением дифференциального уравнения. Пример представлен на английском языке.

Section of concepts ~ value of coordinate ~, ~ size of a product ~,

~ size of a product '~: real;

~ step of integration ~: real=0.01;

~ result ~: array[1..100]of real;

Section of inquiries ~ The decision of the differential equation ~:

value of coordinate:=1;^ size of a product:=1;^ for ~i~: word(i<100;^

size of a product' := size of a product **2-3 * size of a product *

value of coordinate +5 * value of coordinate;^

value of coordinate := value of coordinate + step of integration;^

size of a product := size of a product + step of integration * size of a product';^

result[i+1]:= size of a product).

end. Конец записи задания.

Синтезированная программа.

unit MyPrograma;

interface

function Z0AZ: Boolean;

implementation

uses Z126SZ, Z178SZ, Z127SZ, Z128SZ, { Standard modules }

MyProgramp, MyPrograme, MyProgramc, MyProgramv, MyProgramt;

function Z0AZ: Boolean; { The main module addresses to it }

label Z133SZ;

var Z241Z: Word;

begin

Z0AZ:=False;

Z235Z:=1; Z236Z:=1;

Z0WZ:=True;

for Z241Z:=0 to 65535 do begin

if not (Z241Z < 100) then begin

Z0WZ:=False; Break;

end;

Z237Z:=Z51SZ(Z236Z, 2)-3*Z236Z*Z235Z+5*Z235Z;

Z235Z:=Z235Z+Z238Z; Z236Z:=Z236Z+Z238Z*Z237Z;

Z239Z[Z241Z+1]:=Z236Z; { The array is described in the module MyProgramv }

end;

if not Z0WZ then goto Z133SZ;

Z0AZ:=True; Z133SZ:

end;

end.

Для встроенной ВМ оператор write(F) использует имя в записи «Х =» значение для определения канала обмена, а значение для передачи его по каналу. Коллизии возникают при проникновении в программу операций, которые не могут интерпретироваться как работа с каналами. Например, Х > 27 не связывается с каналом, но остается в программе. А пример Х принадлежит М может интерпретироваться подпрограммами. Поэтому для встроенных программ подбирается минимально необходимый состав подпрограмм, которые включаются в общую программу для передачи на встроенную ВМ.

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

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

Оптимизация в рабочей программе. Оптимизацией для рабочей программы используются в первую очередь алгоритмы МЛВ. Кроме этого минимизируется число рабочих ячеек, используется форма управления с промежуточной проверкой для уменьшения времени на вычисление условий ветвления, исключаются ложные факты и альтернативы фактов, перестраиваются последовательности операторов и др. Оптимальность СП является не менее важным обстоятельством работы Интеллсист. Использование языка ассемблера также во многом обеспечивает разрешение проблемы оптимальности. Конечно, проблема оптимальности начинает решаться еще на этапах выбора терминов и их описаний. Это главное место разрешения проблемы оптимальности изготовляемой программы. Запись знаний (взаимосвязей понятий) слабо вмешивается в эту проблему, кроме как через МЛВ. Но оптимальное представление операций с выбранными данными способствует оптимизации выходной программы. Поэтому основные части выходной программы должны максимально использовать язык ассемблера.

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

Технология работы СП. Вызов СП инициализирует вспомогательную работу Интеллсист для выполнения следующих функций:

  1. . вход в меню и создание режимов и параметров работы,

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

  3. . запуск программы с исходными данными,

  4. . ввод данных (таблицы, массивы, файлы) в диалоге с пользователем или из файла,

  5. . запрос вариантов запуска (в заданном режиме),

  6. . прерывания по месту и времени при переходе к следующему варианту или при обнаружении ошибок,

  7. . работа интерфейса с каналами и учет режимов запуска (рандеву задач),

  8. . отладка программ в режимах, коррекция БЗ и запросов

  9. . исправление обнаруживаемых ошибок,

  10. . выполнение технологии выдачи результатов,

  11. . вывод результатов на печать или сохранение их в форме альтернатив совместных истинных фактов,

  12. . ложные факты выводятся с пометкой «Противоречие» с указанием причины противоречий,

  13. . для встраиваемых программ результаты передаются по каналам вместе с сигналами о противоречиях (коды ошибок),

  14. . обнаружение ошибок по противоречиям, что может привести к пересмотру задания в рамках Интеллсист.

Здесь затронут (правда кратко) весь спектр вопросов автоматического проектирования СП. Этим завершается рассмотрение примеров применения ММ в рамках ИП.

Глава 7. Транслятор текстов ЯПП на ФЯ

Транслятор текстов ЯПП на ЯЛ производит первичную (лексический анализ) и вторичную обработку текстов (синтаксический, семантический и прагматический анализы). Об этом будет сказано подробнее в т.7. Здесь же дается предварительный анализ Интеллсист в части трансляции текстов, которая касается только средств, введенных в настоящем томе. В главе делается обзор задач и способов их решения о применении конкретной системы трансляции. Материал ждет своей доработки. Для пользователя материал главы не представляет рабочего интереса и он может быть опущен им при чтении. Общее знакомство с ним может оказаться полезным для уточнения свойств Интеллсист и возможностей ее применения.

7.1. Общее понятие о режимах работы Интеллсист

Режимы работы Интеллсист задаются при настройке. Ясно, что часто используемые режимы заложены в начальную конфигурацию Интеллсист по умолчанию. Поскольку у пользователей могут возникать много своих требование к Интеллсист (да и к инструментарию), каждая система должна иметь набор режимов, удовлетворяющих возможно большему числу требований и создающих требуемый контекст всем работам. В соответствии с принятой градацией в классификации сведений, относящихся к знаниям, вся совокупность требований пользователя можно классифицировать по семи позициям. Режимы определяются в зависимости от запросов на условия функционирования Интеллсист. К ним относятся такие общие режимы: (1) выбор таблиц символов, (2) языки различного типа и сорта применения, (3) исходные общие понятия о БЗ или запросах, (4) способы создания коллекций исходных фактов, (5) БЗ, готовые запросы, (6) готовые программы и подпрограммы и (7) подходящие и имеющиеся версии и варианты Интеллсист с их режимами работы. Ниже приводятся некоторые первичные сведения о возможностях, заложенных в инструментарий Интеллсист в связи с режимами работы.

Выбор таблиц символов и кодировок осуществляется аналогично широко известным системам. Общий принцип о сохранении «привычек» пользователя здесь и по возможности везде реализуется.

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

Выбор лексикона представляет и самостоятельную проблему, определяемую главным образом областью знаний, в которой применяется Интеллсист. Лексикон зависит от конкретных текстов, представляющих знания. Можно говорить о том, что лексикон формируется произвольно по воле пользователя в особенности тогда, когда оформляется новая область знаний с новыми классами задач. В простейшем случае используется готовая БЗ со встроенным в знания лексиконом.

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

Режимы работ определяются косвенно и выбором БЗ, которая может быть покупной или накопленной в библиотеке.

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

Выбранная Интеллсист заведомо диктует условия на выбор режимов обработки запросов или сценариев для организации режимов и параметров работы. Если сценарий работ инструментария или Интеллсист разработан, то в нем естественным образом зафиксированы условия и режимы работ.

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

Не существует отдельных режимов при использовании анкет или шаблонов. Понятие режима является широким и развивающимся. Эксплуатация Интеллсист может подсказать о введении новых режимов или устранении редко используемых или не удовлетворяющих пользователя.

7.2. Реализация режимов и параметров работ

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

  • ускорение работы инструментария, Интеллсист или пользователя,

  • внедрение оптимизации по времени или месту в любой части работ и подработ,

  • облегчение процессов выполнения работы со знаниями или запросами,

  • удовлетворительное или хорошее оформление исходных данных или результатов работы Интеллсист.

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

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

7.3. Схемы транслятора ЯПП на язык Лейбниц

Каждый ЯПП предназначен для ввода знаний конкретных предметной и проблемной областей знаний в базу. Работа Интеллсист связана с обработкой хорошо структурированных сообщений, построенных по меню ввода текстов описаний и запросов. Поэтому первым шагом ввода знаний должен быть шаг, связанный с полуавтоматической формализацией текстов ЯПП. Средством представления формализаций текстов является ФЯ Лейбниц. Здесь рассматриваются вопросы реализации прямой трансляции, а наращивание системы претрансляторами пока остается без анализа и рассмотрения. Задача создания претрансляторов является задачей программирования.

Целесообразны схемы и с посттрансляторами. В нашем случае, выходной информацией являются формулы, представленные на языке Лейбниц. Если перевод формирует формулы, то будем иметь дело с прямой ретрансляцией. Именно такой схемы и будем придерживаться, а применение прямого ретранслятора потребует еще одного просмотра входного текста посттранслятором. Объединение ретранслятора с посттранслятором экономит ресурсы системы. Язык Лейбниц в таком случае будет полностью виртуальным - представлением внутренней кодировки данных и знаний о текстах. Виртуальность языка Лейбниц означает, что его изучать должен только системный программист, создающий инструментарий и программы Интеллсист.

Трансляторы строятся по следующей схеме. Их ядро - это МГР, которая работает под управлением программыграмматического разбора (ПГР). Она является результатом ручного кодирования языка Лейбниц или результатом трансляции текстов, представляющих распознающие грамматики. Схема получения ПГР такова:

1. Строится граф языка, представляющий распознающую грамматику. При этом используется графический метаязык [Красилов78а].

2. Осуществляется ручная кодировка графа языка в форме ассемблера МГР. Система команд МГР включает 12 команд (см. гл.5), поэтому соответствующий ассемблерный язык прост.

3. Ассемблер переводит запись графа языка в коды МГР, которые представляются командами, не согласованными с кодами ВМ.

4. Осуществляется отладка ПГР и передача ее для ИМГР. Результат отладки - готовый грамматический анализатор или транслятор, если в ПГР включены семантические подпрограммы.

Эта схема может реализовываться самим пользователем Интеллсист, для этого имеются все средства.

КромеПГР составляются подпрограммы семантического преобразования (ПСП), которые в конечном счете формируют выходной текст трансляции (в нашемслучае- это конструкции ЯЛ). Совокупность МГР и ПСП составляет транслирующую систему перевода исходных текстов ЯПП в тексты (внутреннего) представления знаний. Опять, подобная процедура относится к средствам инструментария, поэтому транслятор ЯПП можно реализовать с помощью Интеллсист.

Все особенности ЯПП были рассмотрены в общих чертах выше. Для построения транслятора, а точнее ПГР и библиотеки семантических подпрограмм, необходим граф ЯПП. Граф языка составить просто по языку Лейбниц с учетом синонимов для обозначения термандов и термаций. Имеется одна особенность для представления операций. В информатике известны три способа представления операций: инфиксное (а + в); префиксное+ а, в; постфиксное а, в +. Префиксные и постфиксные используются только для обозначения одноместных операций. Другие варианты представлений используются в языках программирования. Более того, ЯПП не предусматривает описание и использование постфиксных операций.

Конкретные алгоритмы перевода текстов в деревья известны. Их рассмотрение здесь считается излишним. Заметим лишь, что алгоритмы перевода содержат операции формирования, сравнения, расшифровки и преобразования. Причем в алгоритмах используются магазинные (или стековые) и древовидные структуры данных. МЛВ и МАВ Интеллсист осуществляют последовательное (или параллельное) преобразование деревьев или поддеревьев. Преобразование дерева связано с расщеплением данного дерева на некоторое количество поддеревьев, слиянием данных деревьев. В связи с этим внутреннее представление формул должно разрешать именно эти проблемы преобразования.

И последнее важное для практики замечание. Как быть в том случае, когда необходимо реализовать Интеллсист на другом языке, по структуре совпадающим с русским языком? Для этого необходимо создать БЗ, заполненную синонимами терминов «русский-другой язык». Второй автоматический метод перехода на другой язык состоит в задании словаря терминов и их переводов в форме массива, с которым можно работать автономно. Тогда в программах Интеллсист достаточно использовать ссылки на массив переводов и выборку и поэлементное использование отдельных строк. Начиная со второй версии инструментария такой способ реализован.

7.4. Состав БЗ для сохранения и трансляция текстов

Кодовая БЗ сохраняется в двух видах. Первый вид (он является главным для обмена знаниями) включает все необходимое для передачи БЗ из вне, второй вид (он является второстепенным для промежуточного сохранения, учитывая интегральность знания) включает только необходимые коды. Механизм хранения, сохранения или восстановления БЗ имеет соответствующих два режима: основной и рабочий. Состав БЗ способствует пониманию ее сущности, она состоит из следующих частей:

  1. Параметры: размеры текущие, максимальные, размеры каждого файла и тип данных в файлах.

  2. Список файлов - имена и пути (для настройки).

  3. Буфер обмена с меню - стандартный или текущий.

  4. Коллекция словаря из слов вместе с древовидным представлением.

  5. Коллекция терминов и их характеристики вместе с древовидным представлением.

  6. Массив деревьев.

  7. Массивы значений и их типов.

  8. Массивы строк, значений метапонятий.

  9. Массив комментариев.

  10. Массив определений терминов.

  11. Массив кортежей деревьев.

  12. Массив правил и масштабных преобразователей пользователя.

  13. База данных пользователя.

  14. Массив паспортов для типов данных пользователя.

  15. Стандартные словари из слов и терминов.



Скачать документ

Похожие документы:

  1. Информатика в семи томах том 3 концептуальная информатика

    Документ
    Информатика как наука имеет свой лексикон, который еще не устоялся и находится в развитии. В томе продолжается раскрытие понятие смысла текстов, используемых в информатике, через изучение смысла понятия.
  2. Информатика в семи томах том 6 методы информатики

    Документ
    Каждая наука является коллекцией своих методов. Информатика также включает в состав своих инструментов методы изобретания, проектирования, разработки и сопровождения любого объекта с помощью средств вычислительной техники, способствующие
  3. А а красилов информатика в семи томах том 4 представление знаний

    Документ
    Излагается неформальное описание представления знаний различных видов на языке профессиональной прозы. Описание дано в полном соответствии с формальным изложением языка в томе 2.
  4. А а красилов информатика в семи томах том 1 основы информатики

    Книга
    Книга дает начальные сведения о новом определении информатики. Они необходимы для получения представлений о возможностях СВТ и человека, использующего или желающего использовать свой компьютер для принятия интеллектуальных решений
  5. А а красилов информатика в семи томах том 1 основы информатики

    Книга
    Книга дает начальные сведения о новом определении информатики. Они необходимы для получения представлений о возможностях СВТ и человека, использующего или желающего использовать свой компьютер для принятия интеллектуальных решений
  6. Том 7 интеллектуальные системы (системы решения проблем) москва 1997 -2003

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

Другие похожие документы..