Имеется несколько соотношений имя и имя. Их представителями являются:
- имя может быть частью другого имени (например, составное или расширенное имя),
- имя может составляться из других имен, имя может индексироваться (и быть связанным с именем индекса),
- имя может строиться рекурсивно или может определяться через прямую или косвенную ссылку на это же имя,
- имя может быть именем значения другого имени (например, факт «имя=Иван»).
В различных языках программирования имеются и другие соотношения имени и имени, совпадающими с одним или двумя из указанных соотношений. Имеется достаточное число конкретных соотношений имени и имени.
Имеется несколько соотношений значения и значения. Их могут представить следующие факты:
- значение может состоять из частей, которые могут быть значениями (каждое число состоит из цифр, являющихся значениями),
- одно значение может быть эквивалентно другому значению (в особенности при кодировании разных значений),
- значения могут быть упорядочены по некоторым признакам или относительно некоторой операции (все дискретные типы данных),
- некоторая композиция значений может образовывать вновь значение структурного понятия (агрегаты: вектор, матрица, множество или конкретная запись).
Таковы некоторые соотношения, используемые в языках программирования и в представлении знаний.
Для теории имени и значения важны также соотношения имени и смысла, имени и объекта, смысла и объекта, смысла и значения. Здесь только обращается общее внимание на такие соотношения, их подробное рассмотрение обычно остается в стороне, в теории имени и значения, но они используются при построении языков данных и знаний. Для того чтобы подчеркнуть важность таких соотношений, рассмотрим их примеры. Имя, как обычно, выражает смысл или имеет данный смысл - это одно примерное соотношение. Смысл определяет денотат или является концептом этого денотата [Клини73,Фреге77] - это второе примерное соотношение. Объект - это предмет имени, денотат, что задает третье примерное соотношение.
Относительно имени можно высказать некоторые законы. Одним из представителей группы законов является следующее высказывание: каждое имя в информатике должно иметь только один текущий смысл, определяемый этим именем или контекстом его использования. В ЕЯ имя может иметь большое число смыслов. Это же встречается и в текстах программ. Такие ситуации требуют в текстах ЕЯ длинного или протяженного контекста. Для упрощения проблемы общения с ВМ обычно применяется закон, высказанный выше об одном смысле для каждого имени. Если некоторый ФЯ допускает несколько смыслов для одного имени, то смысл его распознается по краткому контексту. Такие правила обычно оговариваются в описаниях ФЯ. Теория имени и значения вводит еще некоторые понятия, связанные с именем, понятием, термином или смыслом. Часто, например, вводится или рассматривается понятие косвенного имени, ссылки (имя имени). Это понятие распространено в методах программирования. Их использование эффективно для передачи информации об объектах. Итак, кратко рассмотрены основные понятия теории имени и значения. Необходимость такой теории очевидна и она призвана решить огромный ряд проблем корректности представления знаний в памяти ВМ, эффективности объектно-ориентированного и модульного программирования знаний, экономичности алгоритмов обработки сложных структур данных и программ.
Убеждение состоит в том, что изложенное понимание представления понятий удовлетворяет требованиям ввода в Интеллсист любых сведений для разрешения запросов пользователя. Для установления точного и надежного общения пользователя с Интеллсист необходимо задать для системы определение понятия. Определение вводятся в двух видах. Первый вид в форме комментария - текста ЕЯ, который предназначен для пользователя и вызывается по клавише F1 для напоминания о человеческой сущности понятия. Второй вид в форме информации о характеристиках, запрашиваемых окнами меню и предназначенных для работы МЛВ и МАВ. Определение понятия представляется логическим выражением, раскрывающим форму и содержание понятия. По форме понятие полностью определяется своим термином или его синонимом. По содержанию понятие определяется своими характеристиками. Форма и содержание понятия задается в обоих видах его определения.
Главная задача определения понятия состоит в построении отличительных признаков данного объекта по сравнению с другими понятиями других объектов. Признаки не могут быть полными (нельзя объять необъятное), но они должны быть такими, чтобы можно было указать различие данного и других понятий, тем самым обслужить конкретную область знания. Термин понятия упоминается в текстах знаний или запросов, по крайней мере, дважды: первый раз - это определяющее упоминание (описание термина при его определении), второй раз и все последующие упоминания - это использующее упоминание (вхождение термина в логические выражения из знаний или запросов). Заметим, что отличительным признаком может быть сам термин. Два различных термина могут иметь совершенно одинаковые остальные характеристики. В описании такие термины задаются списком с одним и тем же типом и даже с одинаковыми определениями для человека.
5.2.2. Наименование понятия. Определения термина связаны с многообразием конкретных его характеристик и связей с другими терминами. Два вида определения понятия (для человека и для Интеллсист) дополняются третьим видом - логической связью данного понятия с другими понятиями. Именно логические связи терминов доопределяют каждый термин, участвующий в связи, более точно, это чаще всего оказывается весомее автономного определения термина (понятия). Если первых два вида определения понятия только очерчивают его границы или указывают факты этого понятия, то третий вид определения составляет основу знаний, используемых для разрешения запросов пользователя.
Также разнообразны структуры самих определений. Структура определения понятия разрешает задачу раскрытия его содержания и смысла понятия. Важно отметить, что любая структура определения состоит из логических связей определяемого понятия с уже определенными понятиями (требование ясности определения). Только через определенные понятия можно определить новое понятие. Все определения можно расклассифицировать по структуре на явные и неявные определения. Явные определения состоят из описаний отношений между определяемым понятием, с одной стороны, и логическими связями между определяющими понятиями, с другой стороны. Явными определениями являются описательные (путем показа) и интенсиональные определения. Неявные определения понятия - это такие определения, в которых описываются определенные отношения между уже определенными понятиями, используемыми в некотором контексте определенных понятий. К неявным определениям относятся остальные определения: контекстные, концептуальные, аксиоматические, операциональные (генетические) и индуктивные. Некоторые из перечисленных структур неявных определений могут быть представлены как явные.
Говорят, что об определениях никогда или почти никогда не спорят. Это подтверждается тем обстоятельством, что как бы не определялось понятие, его определение годится для пополнения БЗ, если оно не противоречит другим понятиям. Более того, можно высказать такую «смелую» мысль: определение любого понятия можно представить в любом оформлении и любым способом, но так, чтобы полнота знаний не понесла ущерба от неполноты определений. Однако никоим образом нельзя допускать глобального противоречия между определениями, в то время как локальное противоречие является допустимым. Определение одного понятия может корректироваться определением другого понятия.
Можно выделять сорта понятий и соответствующих им определения. Сортами понятий являются: собирательные, единичные, конкретные, общие, абстрактные, деятельные и синтезированные сорта. Эти наименования сортов понятий говорят сами за себя, они соответствуют видам знаний в информатике. Причем надо отметить, что обычно не допускается определение понятия через само себя или другое понятие, которое определяется через него. Кажущийся порочный круг разрывается путем применения и использование в определении частных случаев значений определяемого понятия или только ссылок на определяемое понятие. Это напоминает использование рекурсии, для которой указана отправная точка начала рекурсии. Например, правильным будет понятие умножение, которое можно определить через умножение и сложение так, чтобы частные случаи умножения на 0 или 1 также входили в определение вместе с правилами перехода к следующим числам. Другой правильный пример. Для определения термина «список» используется запись с полями: значение элемента списка и ссылка на то же понятие списка.
Определения понятий можно конструировать, а в соответствии со способом конструирования классифицировать их следующим образом. Определение можно строить через отношение (как логический прием), которое указывает на соотношение данного понятия с другими понятиями. Определение можно строить через противоположности данного понятия с другими понятиями. Определение можно строить через абстракцию как равенство, в котором устанавливается отношение для свойств определяемого и изучаемого множества. Примеры будут приведены в тексте.
Классическими методами построения определений являются два следующих в некотором смысле полярных метода. Первый базируется на том, что определение опирается на более общее понятие и его определение, а в самом определении указывается те ограничения, которые характеризуют определяемое понятие. Второй метод базируется на том, что определение понятия конструируется на основе перечисления частных значений определяемой вещи. Такие два общих метода и используются обычно, несмотря на то, что имеется большое число других (промежуточных относительно указанных) методов построения определений. Указанные два метода являются фундаментальными и основополагающими.