Введение в анализ, синтез и моделирование систем

         

Модели знаний


Такие понятия как "интеллект", "интеллектуальность", у специалистов различного профиля (системного анализа, информатики, нейропсихологии, психологии, философии и др.) могут несколько различаться, причем это не несет в себе никакой опасности.

Примем, не обсуждая ее положительные и отрицательные стороны, следующую "формулу интеллекта":

"Интеллект = цель + факты + способы их применения",

или, в несколько более "математическом", формализованным виде:

"Интеллект = цель + аксиомы + правила вывода из аксиом".

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

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

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

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

Процедурные знания - методы, процедуры (алгоритмы) их реализации и идентификации, например, в прикладных науках.

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

Метазнания - знания о порядке и правилах применения знаний (знания о знаниях).

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

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

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

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

Пример. Найдем и формализуем закономерность в последовательности 1, 10, 11, 100, 111, 1000, 1111, 10000, ... . Из сравнения членов A[i] (i=1,2,...) последовательности, стоящих на четных местах и на нечетных местах, видно, что: 1) элемент на нечетном месте получается из элемента на предыдущем нечетном месте добавлением единицы справа к нему; 2) каждый элемент на четном месте получается из элемента на предыдущем четном месте добавлением справа к нему нуля.


Это словесно описанное (неформализованное) правило можно записать на математическом языке, в аналитическом виде. Получим для случаев 1) и 2): A[2n]=10A[2n-2], A[2n-1]=10A[2n-1]+1, n=1, 2, ... . Можно записать формулу, объединяющую обе эти формулы: A[2n+m]=10A[2n+n-2]+m, где m=0 или m=1. Лучшая форма (с меньшей полисемией): А[2n+mod(n,2)]=10A[2n+mod(n,2)-2]+ mod(n,2).

Пример. Формализуем закон формирования последовательности: AB, AAB, ABB, AAAB, ABBB, ... . Словесное описание правила имеет вид: к слову, стоящему на очередном нечетном месте, добавляется с конца символ "В", а к слову, стоящему на очередном четном месте слева, добавляется символ "А". "Формульная" запись правила: Х2n+1=X2n-1+B, X2n=A+X2n-2, n=1, 2, 3, ... . Здесь операция "+" означает конкатенацию (присоединение текста к тексту справа), а Хn - элемент последовательности на n-м месте.

Одной из важных форм (методов) формализации знаний является их представление классом (классификация).

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

Пример. Такими системами являются классификационная система К. Линнея в ботанике, систематика живых организмов, таблица элементов Д. Менделеева, систематика экономических систем, механизмов, "табель о рангах", введенная Петром Первым в 1722 г. Эта табель подразделяла чины на 14 рангов. Каждому чину соответствовала определенная должность. Первые 6 рангов статской и придворной служб и первый обер-офицерский чин в армии давали право на получение потомственного дворянства, что способствовало формированию дворянской бюрократии.


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

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

Пример. Рассмотрим систему "Фирма". Опишем всех сотрудников фирмы в лексикографически упорядоченном списке с именем "Сотрудники", указывая табельный номер, ФИО, год рождения, образование, специальность, разряд, стаж работы. Этот список дает нам знание о коллективе, его возрастных и профессиональных качествах и др. Составим другой список - "Заработная плата", где укажем для каждого сотрудника условия оплаты, величину их заработка (стоимости единицы времени их работы). Этот список дает нам знания о системе оплаты фирмы, ее финансового состояния и др. Оба списка содержат необходимый объем знаний о трудовом коллективе, если цель исследования этой системы - начисление заработной платы. Здесь мы наблюдаем и древовидные, и морфологические, и реляционные модели представления знаний.

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

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



Категория K=<S,M> - это совокупность S элементов (компоненты, характеристики, параметры, свойства и другие параметры исследуемой системы), называемых объектами категории, и совокупность преобразований, морфизмов M - специального типа преобразований, которые позволяют описывать (определять), например, эквивалентность, инвариантность и другие свойства. Объекты и морфизмы связаны между собой так, что:

  1. каждой упорядоченной паре объектов А, В
    S сопоставлено множество M(A, B) морфизмов из M;
  2. каждый морфизм m
    M принадлежит только одному из множеств M(A,B);
  3. в классе морфизмов М введен закон композиции морфизмов: произведение aob морфизма a
    M(A,B) на морфизм b
    M(C,D) определено и принадлежит M(A,B) тогда и только тогда, когда объект B
    X совпадает с объектом C
    X, причем композиция морфизмов ассоциативна: (ao b)o c=ao (bo c);
  4. в каждом множестве М(A,A) содержится единичный или тождественный морфизм IA:
    a
    M(X,A),
    b
    M(A,Y),
    A,X,Y
    F,
    IA: aoIA=a, IAob=b.
Категории, их использование для представления знаний адекватны мыслительным процедурам человека, учитывающим опыт, интуицию, понимание мира в терминах категорий, которым мы затем приписываем реальные оболочки, конкретные структуры. Объекты категории могут быть связаны между собой, влиять друг на друга, даже если у них нет общего (формального) сходства, а свойства категорий отражают сущность способностей человека, его поведения в окружении.

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

Функтор определяется парой отображений, которые сохраняют композицию морфизмов и тождественные отображения (сохраняют смысл информации при преобразованиях): одно отображение преобразует объекты S (грубо говоря, - информацию), а другое - преобразует морфизмы M (грубо говоря, - семантический смысл).

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




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

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

Пример. Формализуем, например, понятия "формула", "теория". Формула Fi - запись вида Ri(k)(x1,:,xk), которую следует читать так: k переменных x1,:, xk удовлетворяют отношению Ri(k). В каждой i-ой формуле Fi может быть различное число свободных (не связанных) переменных. Понятие "(формальная) теория" можно определить как кортеж Т=<S,F>, где S - сигнатура (множество определенных, разрешенных операции), а F - множество формул без свободных переменных (аксиом теории). Если дополнительно определено и множество правил вывода P, то T=<S,F,P>. Отсюда видно, что формальная теория базируется на конкретной предметной области, определяемой сигнатурой.

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

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


Обычно в базе знаний зафиксированы общие закономерности, правила, описывающие проблемную среду и предметную область.

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

Продукционная модель представления знаний наиболее распространена в приложениях. Модель реализуется правилами-продукциями:

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

Пример. Продукцией будет следующее правило:

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

Существуют две основные стратегии вывода на множестве правил-продукций:

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

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


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

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

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

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

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

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

Характерная особенность семантических сетей - наличие трех типов отношений:

  1. класс - элемент класса (часть - целое, класс - подкласс, элемент - множество и т.п.);
  2. свойство - значение (иметь свойство, иметь значение и т.п.);
  3. пример элемента класса (элемент за, элемент под, раньше, позже и др.).
Фреймовая модель представления знаний задает остов описания класса объектов и удобна для описания структуры и характеристик однотипных объектов (процессов, событий) описываемых фреймами - специальными ячейками (шаблонами понятий) фреймовой сети (знания).



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

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

Фреймовое представление данных достаточно универсальное. Оно позволяет отображать знания с помощью:

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

Пример. Например, возьмем такое понятие, как "функция". Различные функции могут отличаться друг от друга, но существует некоторый набор формальных характеристик для описания любой функции (фрейм "Функция"): тип и допустимое множество изменений аргумента (область определения функции), тип и допустимое множество значений функции (множество значений функции), аналитическое правило связи аргумента со значением функции. Соответственно, могут быть определены фреймы "Аргумент", "Значение функции", "Закон соответствия". Далее можно определить фреймы "Тип аргумента", "Вычисление значения функции", "Операция" и др. Пример слотов для фрейма "Закон соответствия": аналитический способ задания закона; сложность вычисления (реализации).


Чтобы описать конкретное значение фрейма, необходимо каждому слоту придать конкретное значение, например, таким образом:

Имя фрейма - Функция;

Аргумент - x;

Значение функции - y;

Закон соответствия - квадратичный.

Слоты:

Значения аргумента - R;

Способ задания функции - y=ax2+bx+c;

Сложность вычисления - 7.

Пример. Фрейм "Задача вычислительного типа" - на рис. 14.1.


Рис. 14.1.  Структура фрейма "Задача вычислительного типа"

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

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

Пример. Возьмем утверждение: "Инфляция в стране превышает прошлогодний уровень в 2 раза". Это можно записать в виде логической модели: r(InfNew, InfOld, n), где r(x,y) - отношение вида "x=ny", InfNew - текущая инфляция в стране, InfOld - инфляция в прошлом году. Тогда можно рассматривать истинные и ложные предикаты, например, r(InfNew, InfOld, 2)=1, r(InfNew, InfOld, 3)=0 и т.д. Очень полезные операции для логических выводов - операции импликации, эквиваленции и др.

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

Модель предметной области можно определить упрощенно в виде:

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



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

  1. нужно рекламировать свой товар активно в начальный период;
  2. нужно поднимать цены в условиях отсутствия конкуренции;
  3. нужно опускать цены в условиях жесткой конкуренции;
  4. нужно стараться быть монополистом на рынке и др.
Многие знания, особенно находящиеся на стыке наук, трудно формализовать и описать формальными моделями, исследовать аналитически. В таких случаях часто применяют эвристики, эвристические процедуры, использующие аналоги, опыт поиска нового, исследования родственных задач, перебор вариантов с учетом интуиции.

Пример. Такими процедурами учат компьютер играть в шахматы. Шахматная программа - один из самых ранних примеров невычислительного применения ЭВМ. Если в 50-х годах она "играла" на уровне "разрядника", то за 40-50 лет она "научилась играть" на уровне чемпиона мира.


Содержание раздела