ГЛАВА 10. МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Правила продукций
Наиболее распространенным методом представления знаний являются правила продукций или продукционные правила. Идея этого метода принадлежит Э.Посту (1943 г.). Этот метод широко используется в разработке информационных систем.
Вначале правила продукций имели вид:
ЕСЛИ<условия>ТО<действие>.
Слова в угловых скобках являются посылками или утверждениями. В дальнейшем они приобрели более общую форму.
Наряду с написанной используются следующие формы:
ЕСЛИ<предшествующий>ТО<последующий>
ЕСЛИ<основание>ТО<гипотеза>
Таким образом, правило состоит из двух частей. Часть ЕСЛИ указывает “условия”, “предшествующий” или “основание”, и часть ТО представляет соответственно “заключение”, “последующий” или “гипотезу”. Перечисленные элементы второй части генерируются при истинности условий первой части.
Примером правила продукции может служить следующее:
ЕСЛИ клиент работает на одном месте более двух лет
ТО клиент имеет постоянную работу.
Например, в примере, представленном выше, если клиент имеет возраст, равный или выше 18 лет, то мы имеем право заключить, что клиент имеет право претендовать на получение кредита.
Гипотетический силлогизм означает, что когда заключение одного правила является посылкой другого правила, то можно установить третье правило с посылкой из первого правила и заключением из второго. Другими словами:
условие ЕСЛИ X ТО Y
условие ЕСЛИ Y ТО Z
заключение ЕСЛИ X ТО Z
Например, на основании двух следующих правил
ЕСЛИ клиент женат
ТО имущество является совместной собственностью
и
ЕСЛИ имущество является совместным
ТО закладная на кредит может быть подписана,
мы можем заключить, что
ЕСЛИ клиент женат
ТО закладная на кредит может быть подписана.
Как мы увидели в предыдущей главе, модус поненс и гипотетический силлогизм являются двумя правилами вывода в логике.
Рассмотрим базу знаний, написанную на примере закладной для получения кредита банка под залог недвижимого имущества (ссуды). Для получения кредита клиент должен иметь постоянную работу, приемлемый доход, хороший кредитный рейтинг и приемлемое имущество (собственность).
Если клиент не имеет постоянной работы, тогда он должен иметь адекватные активы. Величина кредита не может быть больше 80 процентов стоимости его имущества и клиент должен иметь 20 процентов ценности в кассе.
Определение “постоянная работа” состоит в том, что клиент должен иметь одну и ту же работу более двух лет. Определение “адекватные активы” заключается в том, что имущество клиента должно быть оценено как десятикратная величина кредита или клиент должен иметь ликвидные активы, оцениваемые как пятикратная величина кредита. “Приемлемое имущество” - это имущество, находящееся на территории расположения банка.
Проверка кредитного рейтинга проводится вручную.
Смысл “адекватного дохода“ состоит в следующем. Если клиент одиночка, то оплата закладной должна быть менее чем 70 процентов его чистого дохода.
Если клиент женат, то оплата закладной должна быть менее чем 60 процентов чистого дохода семьи.
В продукционных правилах мы будем использовать соединители И, ИЛИ и НЕ.
1. ЕСЛИ клиент имеет постоянную работу
И клиент имеет адекватный доход
И имущество приемлемо
И клиент имеет хороший кредитный рейтинг
И величина кредита меньше 80% стоимости имущества
И клиент имеет 20% стоимости имущества в кассе
ТО одобрить кредит.
2. ЕСЛИ клиент имеет адекватные активы
И клиент имеет адекватный доход
И имущество приемлемо
И клиент имеет хороший кредитный рейтинг
И величина кредита меньше 80% стоимости имущества
И клиент имеет 20% стоимости имущества в кассе
ТО одобрить кредит.
Аналогичным образом записываются по следующие правила.
Представим изложенные знания с помощью исчисления предикатов первого порядка. Условимся обозначать строчными буквами переменные, а прописными - компоненты. То есть X, Y, Z, V, U - переменные, а постоянная, хороший, адекватный и 0,8 - константы.
(1)("X)("Y)("Z)("V)("U)работа(Х,постоянная)Ùсобственность(У,приемлема)Ùзаем(Z)Ùстоимость_собственности(V)Ùкредит(Х, хороший)Ùдоход(Х, адекватный)Ù
меньше(Z,f(V,0.80))Ùналичные(X,U)Ùбольше(U, f(V, 0.20))®выдать(X, Y, Z)
Заметим, что домен Х составляет собственников, Y - собственников заема, Z - величину заема, V - стоимость собственности и U - наличные активы. Более того, второй аргумент предиката работа может быть постоянная и непостоянная. Аналогично, второй аргумент в предикате кредит может принимать значения хороший или плохой, и собственно доход - адекватный и неадекватный. В предикате меньше функция f определяет 80% стоимости собственности V. Аналогично, в предикате больше второй аргумент предназначен для вычисления 20% стоимости собственности. Функция f в этих двух предикатах записываются следующим образом:
f(V, 0.80)=V*0.80
f(V, 0.20)=V*0.20
Заметим, что условие "величина заема была меньше 80% стоимости собственности" предполагает, что такая проверка будет делаться вручную. Однако имеется возможность делать автоматические вычисления в правилах продукций.
(2)("X)("Y)("Z)("V)("U)активы(Х,адекватны)Ùсобственность(Y,приемлема)Ù
заем(Z)Ùстоимость_собственности(V)Ùкредит(Х,хороший)Ùдоход(Х, адекватный)Ù
меньше(Z,f(V,0.80))Ùналичные(X,U)Ùбольше(U,f(V,0.20))®выдать(X,Y,Z), где домены переменных такие же как и в (1).
(3)("X)("Y)имеет_работа(Х)Ùколчество_лет_работы(Y)Ùбольше(Y,2))®работу(X, постоянную).
Здесь Y - количество лет работы клиента. Заметим, что мы использовали Y, как число лет в (3) и как заложенную собственность в (1) и (2). Это объясняется тем, что переменные локальны внутри предиката.
(4)("Y)член(Y,список_зоны)Ùчлен(Y,исключенный)®собственность(Y,адекватна).
В (4) предикат член означает либо собственность клиента находится в списке зоны действия банка, либо в исключительном списке.
(5) ("X)доход_семьи(Х, адекватный)Úдоход_холостяка(Х, адекватный)®
доход(Х, адекватный).
Здесь вторые аргументы предикатов доход_семьи и доход_холостяка имеют значения адекватный и неадекватный.
(6)("X)("M)("N)("Z)женат(Х)Ùчистый_доход(Х,N)Ùоплата_заема(Х,Z,M)Ùменьше(M,f(N,0.60))®доход_семьи(Х, адекватный), где домен N - есть чистый доход семьи Х, и домен М - оплата заема. Функция f имеет тот же смысл, что и раньше.
(7) ("X)("V)("Z)("U)заем(Z)Ù(имеет_соответствие(X, Y)Ùбольше(V, f(Z, 10)))Ú(имеет_ликвидные(X, U)Ùбольше(U, f(Z, 5)))®активы(Х, адекватны),
где домен V стоимость активов собственности, домен U - стоимость ликвидных активов и домен Z есть величина заема.
Рассмотрим процесс вывода знаний на базе простейшей продукции А®В, смысл, который состоит в замене знания А на знание В. Для актуализации этой продукции необходимо, чтобы в БЗ существовало знание А, т.е. при поиске по аналогии роль образца играет знание А.
Предположим, что продукции (знания) представлены в виде сети. Поиск БЗ можно осуществить различными способами. Можно, например сначала искать вершину со знанием А и, если такой нет, то поиск по абзацу заканчивается неудачей. Если вершина с А имеется в сети, то осуществляется поиск всех дуг с отношением R(A,B). Если таких дуг нет, то поиск заканчивается неудачей. Но если такие дуги имеются, то происходит переход во все вершины сети, связанные отношением R(A,B), т.е. возникнет параллельный процесс поиска. Из достигнутых вершин процесс продолжается аналогично.
Существуют два типа выполнения систем продукции: прямой и обратный. В первом случае поиск идет от левых частей продукции, т.е. проверяется условие А и актуализируются те продукции, для которых А имеет место; во второй - от изначально заданных В, по которым отыскиваются необходимое для установления истинности В значение А. Два этих метода называют восходящим и нисходящим методами реализации системы продукций.
Термин "продукция" принадлежит американскому логику Э.Посту. В качестве продукции Пост понимал запись "ЕСЛИ А ТО В", которая трактовалась как оператор замены цепочки A цепочкой В в некотором входном слове. Те есть под продукцией понимались подстановки, которые использовались в дальнейшем при описании различных уточнений понятия алгоритма. Идея продукционных правил используется в языках логического программирования (Пролог) и в современных СУБД.
Популярность продукционных правил объясняется несколькими причинами.
1. Большинство человеческих знаний можно представить в виде правил продукций.
2. Модульность продукции позволяет добавлять в систему новые продукции без изменения прежних.
3. Продукции могут реализовать любые алгоритмы и, следовательно, любые процедурные знания.
4. Параллелизм и асинхронность продукций делают их удобной моделью вычислений, отвечающей подобным требованиям новых поколений ЭВМ.
Недостаток продукций состоит в том, что при их большом количестве становится трудоемкой проверка непротиворечивости системы продукций, например, при добавлении новых правил.
Для продукции отсутствует строгая теория, пока здесь царит эвристика. При описании предметной области с помощью продукции трудно доказать ее полноту и непротиворечивость. Трудности создания теории связаны с расплывчатостью понятия продукции, а именно его ядра А®В, а также в различных способах управления системой продукции. Алгоритмическая схема мало что дает, так как исключается основное средство продукционных систем - модульность и параллельность выполнения продукции в системе продукционных правил, что вероятно, появится с созданием теории эффективных параллельных информационных процессов.
Дата добавления: 2016-10-26; просмотров: 1772;