А. А. Красилов информатика в семи томах том Информатика смысла Машинная лингвистика



страница15/23
Дата01.08.2016
Размер4.61 Mb.
1   ...   11   12   13   14   15   16   17   18   ...   23

Термины подразделяются на сорта, которые представлены в таблице ниже.




Номер п/п

Классы терминов

Пояснения

1

лексема

константа некоторого типа

2

величина

простого типа

3

тип

для простых лексем

4

перечислимое

многозначные логики

5

синоним

введение собственных терминов

6

массив

набор однотипных значений заданного размера

7

запись

набор значений заданных типов и размеров

8

таблица

последовательность записей

9

поле записи

связанная с записью величина заданного типа

10

связная переменная

для квантора всеобщности, квантора существования, имени элемента множества в агрегате, поля, ключа, параметров функции и процедуры

11

функция

имя вызываемых действий для получения значения

12

операция

одноместное или двуместное действие

14

процедура

имя вызываемых действий

К именам объектов языка относятся простые имена, указанные в таблице.




Номер п/п

Наименование имени

Пояснения

1

имя величины

термин объекта

2

имя типа

термин набора значений

3

имя синонима

термин ссылки на основной термин

4

имя массива

термин набора однотипных данных

5

имя таблицы

термин массива записей в БД

6

имя записи

термин набора разнотипных данных

7

имя формулы

термин метки перед выражением

8

имя связной величины

термин скрытой величины

9

имя функции

термин функции

10

имя подпрограммы

термин подпрограммы

11

имя пользователя

фамилия, имя (и отчества)

12

имя файла

идентификатор файла

13

имя Интеллсист

термин системы

14

имя операции

знак или термин операции

15

имя квантора

термин квантора

16

имя модуля

идентификатор модуля

17

имя параметра

термин параметра

18

имя квантора

термин квантора


Семантика. Смысл имени определяется в соответствии с описаниями имен.
Примеры.

для всякого -- имя квантора,

скорость -- имя величины,

размер -- имя атрибута,

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

Т - имя таблицы,

Т[i] - строчка i таблицы Т,

Т.f - колонка f таблицы Т,

Т.(f1, f2,…,fк) - совокупность колонок f1, f2,…,fк из таблицы

выр - некоторое логическое выражение.


удалит_ь из(Т) -- процедура удаления (очистки) таблицы Т;

удалит_ь из(Т[i]) -- процедура удаления строчки i таблицы Т;

удалит_ь из(Т при выр) -- процедура удаления строчек таблицы Т по условию выр;

добавит_ь к(Т, выр) -- добавить строчку выр (запись) в таблицу Т;

добавит_ь к(Т1.f1, T2.f2) -- добавить столбец T2.f2 к столбцу T1.f1 в таблице Т1;

добавит_ь к(Т.f, выр) -- добавить значение выр к столбцу T.f в таблице Т;

добавит_ь к(Т.( f1, f2,…,fк), выр) -- добавить к столбцам f1, f2,…,fк выр (запись) в таблице Т;

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

среднее значение(Т.f) - операция вычисления среднего значения для всех чисел в колонке f таблицы Т;

При расширении ЯПП будут добавлены теоретико-множественные операции с таблицами. Например, будут добавлены операции "объединения", "общая с", "за исключением" и др.


4.4.2. Кванторы.

Назначение. Кванторы - это логическая операция перебора или поиска значений, представленная записью кванторов всеобщности или существования соответственно. Квантор всеобщности перебирает известные термины (например, «для», «для всякого» и др.), с задаваемыми или уже определенными подкванторными выражениями для связной величины, квантор существования (например, «найти», «существует» и др.) - с неизвестными терминами в качестве связной величины, требующие поиска значений (смыслов) по логическим значениям подкванторного выражения.
Синтаксис

квантор: наименование квантора , список связных переменных ,



( логическое выражение ).

наименование квантора : для всякого ; существует.

связная переменная : список новых терминов ;

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


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

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


Примеры.

для всякого Х(А(Х) или В(Х)), -- квантор всеобщности,

для всякого Х(А(Х) => существует У(В(Х, У))). -- формулировка проблемы

--поиска алгоритма.


4.4.3. Вызов функции.

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

вызов функции: термин функции , возможный агрегат фактических параметров.

агрегат фактических параметров: ( позиционное сопоставление полей записи ) ;

( позиционное сопоставление полей записи символ запятой

возможный список позиционных сопоставлений полей записи ,

возможный список именованных сопоставлений полей записи ).

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

F(X), F(X, Y), G, cos(A) -- две функции имеют одинаковые имена,

-- но различные профили.

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


4.4.4. Вызов процедуры.

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

вызов процедуры : термин , возможный агрегат фактических параметров.


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

вычертить (а, в, с, д) -- построение прямой линии,

модель перемещения робота(А, В) -- обращение к готовой подпрограмме.
4.4.5. Преобразование типа.

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

преобразование типа : простое имя типа ( логическое выражение ).


Ограничение синтаксиса. Преобразование значения допустимо только для согласованных типов данных. Согласование логического выражения с указанным типом допустимо в соответствии с приводимой ниже таблицей.
Каждый тип может преобразовываться в тот же самый тип. Это относится и к пользовательским типам. Пользовательский тип «раскрывается» до основного языкового типа для осуществления контроля над правильностью преобразований.
В целые типы можно преобразовывать только те целые значения, которые имеют тип, являющийся подтипом целого типа. Целые типы находятся в таком соответствии (для положительных чисел):

короткий < целый < байтовый < целый словный < длинный целый

(для любых чисел):

короткий < целый < длинный целый,

байтовый < целый словный.

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


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

короткий < целый < байтовый < целый словный < короткий вещественный < вещественный < длинный целый < длинный вещественный <

расширенный вещественный

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


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

вещественный(7) -- преобразование 7 в 7.0,

строка(«ф») -- преобразование символьного в строку.
4.4.6. Квалифицированное выражение.

Назначение. Значения некоторого исходного типа могут быть квалифицированы. Значение выражения сохраняется, не преобразуется. Осуществляется проверка типа значения указанному типу. Для создания короткого контекста выражение может быть квалифицировано заданным типом.
Синтаксис

квалифицированное выражение: простое имя типа ` ( логическое выражение ) ;

первичное выражение , простое имя типа.
Ограничение синтаксиса. Квалификация значения допустима только для согласованных типов данных. Согласование логического выражения с указанным типом допустимо только для одинаковых типов выражения и указанного типа.
Семантика. Смысл выражения после квалификации не изменяется, но может возникнуть новое понимание смысла в зависимости от контекста.
Примеры.

целый`(25 метров), вещественный`(6), целый`(возможно).


4.4.7. Атрибуты.

Назначение. Каждый объект знания полностью характеризуется своими атрибутами, которые либо известны пользователю, либо они скрыты в БЗ. Извлечение значений атрибутов осуществляется с помощью стандартных терминов.
Синтаксис

атрибут: простое имя атрибута первичное выражение ;

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

размер массива А, размерность массива А.


4.4.8. Индексируемые компоненты и отрезки.

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

индексируемый компонент: простое имя массива ;

простое имя массива [ список индекса ].

отрезок: простое имя массива



[ значение индекса , символ точки , символ точки , значение индекса].

значение индекса: логическое выражение.


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

А[25, 44], В[5..9] индексируемый компонент массива А и отрезок массива В.


4.4.9. Именуемый компонент.

Назначение. Выбор значений из записи или передача значения в запись оформляется по принципу почтового адреса «страна . город .улица .дом .квартира .имя».
Синтаксис

именуемый компонент: имя записи символ из имя поля ;

имя записи символ из именуемый компонент.

имя поля: простое имя.


Ограничение синтаксиса. Не допускается сокращение в записи «адреса» элемента записи, например недопустим считается адрес «улица . дом . имя» и другие варианты сокращения.
Семантика. Смысл именуемого компонента определяется смыслом поля записи.
Примеры.

Re . F -- есть вещественная часть комплексного числа,

Im . F -- есть мнимая часть комплексного числа
4.4.10. Запись алгоритма.

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

присваивание : присваивание влево ; присваивание право ;

обмен ;

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

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

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

обмен : имя двоеточие , равенство, двоеточие имя.

переход по метке: перейти к метка.

операция катенации: помеченное логическое выражение ,

катенация программ , помеченное логическое выражение ;

операция катенации , катенация программ ,

помеченное логическое выражение.

катенация программ: символ точки ^ ; символ точки с запятой ^.

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

Х:=1; Y:=2; метка выражения: Z:=3;

если Х=0, то перейти к метке выражения;

X:=F1(a, b) ^ Y:=F2(a, b)



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

запись на языке Лейбниц , раздел языка.

раздел языка: раздел наименование раздела , содержание раздела , конец раздела;

раздел языка , содержание раздела , конец раздела.

содержание раздела: описание меток ; описание типа ; описание понятий ; описание метапонятий ; описание синонимов ; описание вводных фраз ;

описание отношений ; описание исключений ; описание операций ;

описание правил ; описание подстановок ; описание масштаба ;

база знаний ; описание запросов.

конец раздела: символ точки ; символ точки с запятой.
Ограничение синтаксиса. Все определения группируются в квалификационные разделы с соответствующим наименованием:

1. раздел управления - описание меток с наименованием метка;

2. раздел о предметной области - это описание типов с наименованием тип, описание понятий с наименованием понятие, описание метапонятий с наименованием метапонятие, описание синонимов с наименованием синоним или описание вводных фраз с наименованием вводные;

3. раздел о проблемной области - описание отношений с наименованием отношение, описание операций с наименованием операция, описание исключений с наименованием исключение, описание правил с наименованием правило, описание подстановок с наименованием подстановка, описание масштаба с наименованием масштаб;

4. раздел о библиотеках - описание библиотек с наименованием библиотека;

5. раздел области знаний - база знаний с наименованием знание;

6. раздел области запросов с наименованием запрос;

7. раздел области систем с наименованием система.

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

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

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


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

А.А. Красилов = intellsyst.


4.5.2. Определения типов. Раздел о предметной области.

Назначение. Описание типа задает множество значений (смыслов) понятия с требуемыми свойствами значений и набором операций над данными этого типа. Описание типа определяет первый этап формализации знаний, оно формируется пользователем.
Синтаксис

описание типа: описание без идентификатора ; описание с идентификатором.

описание без идентификатора:

список новых терминов равенство определение типа ;

описание с идентификатором:

список новых терминов равенство определение типа двоеточие строка.


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

тип ~диапазон номер_ов~ = 1 (1) 100;

~метр~ = вещественный;

~кулон~ = вещественный;

~грамм~ = вещественный.
4.5.3. Определения понятий. Раздел о предметной области.

Назначение. Понятие является главным атрибутом знания и запроса. Только через понятия передается любое знание. Понятие представляется термином с или без его значения. Описание понятие определяет второй этап формализации знаний.
Синтаксис

описание понятий: перечень описаний терминов.

описание термина: список новых терминов , двоеточие , определение типа ;
Ограничение синтаксиса. Если после описания типа помещен знак равенства, то термин определяется как константа, введенная своим обозначением. Тот же самый эффект будет при помещении слова «константа». Конкретное значение может быть задано перед запуском программы после разрешения запроса. Если после описания типа помещен знак присваивания влево с логическим выражением, то термин определяется как величина с этим начальным значением. Значение логического выражения должно быть того же типа что и тип величины. Без начального значения термин также определяется как величина, принимающая значения либо при логическом выводе, либо при запуске программы.
Семантика. Смысл понятия представляется следующими атрибутами: термин и его номер, сорт термина, тип и структура значений, текущее значение (и дата введения термина, проставляемая в лексиконе автоматически).
Примеры.

а, б, в : целые;

аа, бб, вв : вещественные := 0;

пи, ее : константы.


4.5.4. Определения метапонятий. Раздел о предметной области.

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

описание метапонятия: новый термин равенство ( список терминов ).


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

~болезни~ = (грипп, ОРЗ, простуда, недомогание).


4.5.5. Определения синонимов. Раздел о предметной области.

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

описание синонимов: список новых терминов равенство составной термин.

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

~if~ = если,

~сложить~ = +.

~ведомост_ь документ_ов~ = сборная ведомость из документа.


4.5.6. Определения отношений. Раздел о проблемной области.

Назначение. Описание отношений вводят новые множества - декартовые произведения множеств. Работа по определению отношений относится к определению новых пользовательских множеств-отношений для конкретного применения.
Синтаксис

описание отношений: список новых терминов равенство множество значений ;

описание отношений * множество значений.

множество значений: простое имя типа ; простое имя множества.


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

~решетк_а на плоскост_и~ = целое * целое

~сло_й векторов~ = вектор * целых -- использование двух

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


4.5.7. Определения операций. Раздел о проблемной области.

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

описание операций: определение операции.

определение операции: образ операции.

образ операции: новый термин операции ( перечень формальных параметров )



двоеточие простое имя типа.

формальный параметр: список новых терминов



символ двоеточия простое имя типа.

новый термин операции: стандартный термин операции ; новый термин.


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

Пункт – ранг

Операции

и некоторые синонимы

Наименование основных операций

1

:=: := =: 

обмен, присваивание влево и вправо

2

=> <- ^

следование вправо и влево

3

xor \/ or

логическая операция «или»

4

/\ and

логическая операция «и»

5

= <>

равенство и неравенство

6

< <= => >

неравенство - отношение порядка

7

in not in ..

принадлежит и диапазон

8

+ - \ ^ &

бинарные операции и катенация

9

+ - abs not pred next ref skim

унарные операции

10

* / mod div

группа умножения и композиции

11

** ' ` @

операции высшего приоритета

12

агрегат, (), [], {}, квантор, функция, преобразование, индексирование, именование, отрезок, (квалификация), атрибут.

Базовые операции

наивысшего приоритета



Применения стандартных операций. Для краткости под типом логический будем понимать значения любой логики, под целыми и вещественными - все целые и вещественные типы соответственно, целые и вещественные типы называются арифметическими, под множествами - все типы множеств. С такими оговорками рассмотрим таблицы допустимых типов операндов и типов результата применения операции.
Логические операции or (или), xor (исключающее или), and (и), not (не), => (следование), <- (обратное следование) применяются для любых логических с результатом соответствующего типа логический. Логические операции in (принадлежит), not in (не принадлежит) применяется для множества (слева) и выражения того же типа, что и тип элемента множества.
Операции отношения = (равно), <> (не равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно) применяются для любых типов данных с результатом типа логический.
Арифметические операции + (сложение), - (вычитание), * (умножение), / (деление), ** (возведение в степень) применяются для любых арифметических типов с таким же арифметическим типом результата. Они применяются для множеств как операции объединения, симметричной разности, декартового произведения и соответственно с результатом типа множество. Кроме этого для множеств имеется операция разности (\). Арифметические операции mod (остаток целочисленного деления) и div (частное целочисленного деления) имеет в результате значение целого типа. Одноместные арифметические операции + (сохранение знака), - (изменение знака) сохраняют тип результата.
Функциями математического анализа являются: sin (синус), cos (косинус), tg (тангенс), ctg (котангенс), lg (двоичный логарифм), exp (экспонента), arcsin (арксинус), arccos (арккосинус), arctg (арктангенс), arcctg (арккотангенс), entier (целая часть), sign (знак числа), random (случайное число), sec (секанс), cosec (косеканс), sh (гиперболический синус), ch (гиперболический косинус), th (гиперболический тангенс), cth (гиперболический котангенс), Arsh (гиперболический арксинус), Arch (гиперболический арккосинус), Arth (гиперболический арктангенс),Arcth (гиперболический арккотангенс), sqrt (квадратный корень), arg (аргумент), log (десятичный логарифм), abs (абсолютное значение), min (минимум), max (максимум), sum (групповое сложение), mult (групповое произведение) применяются к значениям арифметического и комплексного типов из известного допустимого диапазона с результатом соответствующего типа. Функции next (следующий) и pred (предыдущий) применяются к значениям дискретного типа с результатом того же типа.
Функции суммирования, произведения, максимума и минимума

sum(i,1,n,E(i)) суммирование выражения E(i) по индексу i от 1 до n,

sum(i,Cond,E(i)) суммирование выражения E(i) по условию,

sum(А1, А2, А3,..,Ак) суммирование из списка,

sum(E) суммирование элементов из массива.

Аналогично рассматриваются групповые операции mult - произведение, max – максимальное значение или min - минимальное значение.


Остальные операции: ref A взять ссылку А, skim A снять ссылку с А, А^В катенация программ и строк, @ композиция функций и отношений.
Семантика. Все вводимые операции имеют смысл, который им предписывает пользователь простым именем простого типа результата. Смысл некоторых операций может определиться в процессе логического вывода по заданному значению операции. Операции-константы задаются формами = const или = логическое выражение. Операции-величины, задаются умолчанием или формой := логическое выражение. Неопределенные операции задаются только своим образом, они являются величинами. Таким образом, смысл операции может быть вычислен по логическому выражению, помещенному после знаков равенства или присваивания, либо ее смысл определен предписанным типом.
Примеры. ~+~ -- сложение в метрах

(~X~, ~Y~: метр): метры = вещественный(X) + вещественный(Y).

~-~ -- вычитание в метрах

(~X~, ~Y~: метр): метры = вещественный(X) - вещественный(Y).

~*~ -- умножение в метрах

(~X~, ~Y~: метр): метры = вещественный(X) * вещественный(Y).

~/~ -- деление в метрах

(~X~, ~Y~: метр): метры = вещественный(X) / вещественный(Y).


4.5.8. Определения исключений. Раздел о проблемной области.

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

  1. обработке файлов,

  2. выделении памяти,

  3. неправильном использовании ресурсов Интеллсист,

  4. создании форм в процессах Интеллсист (или документов),

  5. конфликтах ОС и ВМ,

  6. выходе за границы и др.

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

описание исключения: новый термин двоеточие логическое выражение.


Ограничение синтаксиса. Каждый раз задается логическое выражение, определяющее действия при возникновении исключительной ситуации. Для данного исключения определяется одно логическое выражение. Все исключения подразделяются на стандартные и пользовательские исключения.
Семантика. С помощью исключений «подправляется» решение запроса в соответствии с логическим выражением, которое и выражает смысл исключения.
Примеры.

~больш_ой массив~ = перейти на обработку этого исключения.


4.5.9. Определения правил. Раздел о проблемной области.

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

описание правила: новый термин двоеточие определение правила.

определение правила: формальное логическое выражение символ правила

логическое выражение.

формальное логическое выражение: логическое выражение.
Ограничение синтаксиса. Правило является контекстным сжатием знаний или средством порождения новых фактов или утверждений о фактах. Формальное логическое выражение может содержать новые термины. Они используются так, как будто бы этот термин вставлен в выражение правильно и по синтаксису логического выражения. Имя правила используется только для ссылки на правило (если в этом имеется необходимость при формировании пути логического вывода).
Семантика. Правило реализует формальную подстановку по всему тексту знаний с заменой и учетом всех величин и лексем. Смысл правила состоит в порождении новых утверждений о фактах, если контекст формального логического выражения учтен в преобразуемом логическом выражении. Новый термин может совпадать с другими терминами знания или запроса, а также с терминами ранее определенных правил.
4.5.10. Определения подстановок. Раздел о проблемной области.

Назначение. Подстановка реализует регулярную замену одних логических выражений другими. Подстановка реализует простое действие по логическому выводу.
Синтаксис

описание подстановок: новый термин двоеточие определение подстановки.

определение подстановки: формальное логическое выражение

символ подстановки логическое выражение.
Ограничение синтаксиса. Если присваивание осуществляет замену термина логическим выражением, то подстановка осуществляет контекстную замену фраз логическим выражением. Имя подстановки используется только для ссылки на правило (если в этом имеется необходимость).
Семантика. Применение подстановок реализуется после ввода описаний подстановок. Смысл подстановки состоит в порождении новых утверждений о фактах. Имя подстановки должно упоминаться для логических выражений, к которым надо применять подстановку. Новый термин может совпадать с другими терминами знания или запроса, а также с терминами ранее определенных подстановок.
Примеры. раздел подстановок ~diff~:

-- Дифференцирование:

~X~*~Y~ -> diff(X)*Y+X*diff(Y);

~X~+~Y~ -> diff(X)+diff(Y);

-~Y~ -> -diff(Y);

~X~-~Y~ -> diff(X)-diff(Y);

~X~/~Y~ -> (diff(X)*Y-X*diff(Y))/(Y*Y);

~X~**~Y~ -> X**Y*(diff(Y)*ln X+Y/X*diff(X));


4.5.11. Определения масштаба. Раздел о библиотеках.

Назначение. Масштаб назначается для согласования «однородных» типов данных и такое приведение термандов, чтобы могли выполняться операции с квалифицированными масштабом данными.
Синтаксис

описание масштаба: простое имя типа равенство

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

долл. = 20 руб.

угол = ((2*pi) / 360) градус
4.5.12. Определения библиотек. Раздел о библиотеках.

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

описание библиотеки : ~имя библиотеки~ символ равно

список разделов библиотеки.

раздел библиотеки: данные картотеки или карточек.


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

автор документа,

пароль автора,

дата введения в библиотеку,

дата модификации,

дата использования,

размер документа в Кб,

название раздела библиотеки,

название документа,

фирма-источник,

лицензия (номера),

версия документа,

доступ к файлу,

инвентарный номер,

пользователь,

пароль пользователя,

аннотация документа.

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


Семантика. Ссылка на библиотеку реализует поиск, вызов и генерацию элемента библиотеки в рабочую Интеллсист (через работы с меню). Смысл библиотеки определяется его содержимым.
4.5.13. Базы знаний. Раздел области знаний.

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

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



двоеточие сложное знание конец знаний , символ точки.

сложное знание: абзац ; сложное знание , абзац конец знаний , символ точки.


Ограничение синтаксиса. При вводе знаний из запроса в БЗ можно задавать запросы-тесты для контроля над вводимым знанием. Здесь под абзацем понимается любой текст по СеГ. Раздел завершается записью «конец знаний.», точка после слов «конец знаний» обязательна.
Семантика. Смысл знания определяется в соответствии с СеГ русского языка в контексте уже накопленного лексикона и БЗ, а также окружением Интеллсист. При вводе порции знания могут обнаружиться ошибки (их 13 классов), которые приводят к пересмотру вводимой порции, лексикона или БЗ. Могут возникнуть вопросы от Интеллсист, на которые следует ответить, в противном случае порция знания не будет воспринята системой.
4.5.14. Определения запросов. Раздел области запросов.

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

описание запроса: ~простое имя запроса~ двоеточие определение запроса.

определение простого запроса: описание выражением ;

описание анкетой ; описание шаблоном.

определение запроса: определение простого запроса конец , символ точки;

определение простого запроса , определение запроса.

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

описание анкетой: анкетная форма запроса.

описание шаблоном: шаблонная форма запроса.

анкетная форма запроса: анкета ( строка ).

шаблонная форма запроса: шаблон ( строка ).
Ограничение синтаксиса. Смешение форм запросов допустимо. Запрос каждой формы может задаваться и независимо как самостоятельные задания. Имя запроса используется только для идентификации результата работы Интеллсист. Запуск запроса анкетой или шаблоном осуществляется по меню. Строка в вызове анкеты или шаблона указывает на имя файла, из которого черпается материал анкеты или шаблона.
Семантика. Запрос является постановкой конкретной задачи (вопроса, задания или проблемы). Он может содержать (а может не содержать) дополнительные (или зависимые) знания, которые не остаются в БЗ. Анализ запроса в процессе логического вывода использует вызванный лексикон и БЗ.
Пример.

-- Решение дифференциального уравнения (и сравнение с программированием)

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

~ y’~, ~ y~, ~ x ~: вещественные;

~результат~: массив [1..100] из вещественных;

раздел запроса ~Решение уравнения~ : -- y’ := y**2 – 3*y + 5*x;

-- методом Эйлера на отрезке 0..1 с шагом 0.01 при начальных значениях

x := 0 ^ y := 1 ^ для всякого ~i~ : 1..100 ( y’ := y**2 – 3*y + 5*x ^

результат [i]:=y ^ y := y + 0.01*y’).
конец
4.5.15. Определения меток. Раздел о проблемной области.

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

описание меток: список новых терминов.


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


Каталог: files
files -> Чисть I. История. Введение: Предмет философии науки Глава I. Философия науки как прикладная логика: Логический позитивизм
files -> Занятие № Философская проза Ж.=П. Сартра и А. Камю. Философские истоки литературы экзистенциализма
files -> -
files -> Взаимодействие поэзии и прозы в англо-ирландской литературе первой половины XX века
files -> Эрнст Гомбрих История искусства москва 1998
files -> Питер москва Санкт-Петарбург -нижний Новгород • Воронеж Ростов-на-Дону • Екатеринбург • Самара Киев- харьков • Минск 2003 ббк 88. 1(0)
files -> Антиискусство как социальное явлеНИе
files -> Издательство
files -> Список иностранных песен
files -> Репертуар группы


Поделитесь с Вашими друзьями:
1   ...   11   12   13   14   15   16   17   18   ...   23


База данных защищена авторским правом ©uverenniy.ru 2019
обратиться к администрации

    Главная страница