Научная статья на тему 'Матричная логика'

Матричная логика Текст научной статьи по специальности «Математика»

CC BY
317
124
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Марценюк Михаил Андреевич

Рассматривается матричное представление логики, позволяющее с единых позиций рассмотреть 1) операции обычной («четкой») логики, 2) обобщение логики на случай нечетких логических переменных и 3) сети Байеса. Эффективность подхода демонстрируется на примерах.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Матричная логика»

Матричная логика

М.А.Марценюк, профессор, Пермский государственный национальный исследовательский университет, mrcn@psu.ru

Рассматривается матричное представление логики, позволяющее с единых позиций рассмотреть 1) операции обычной («четкой») логики,

2) обобщение логики на случай нечетких логических переменных и 3) сети Байеса. Эффективность подхода демонстрируется на примерах.

Введение

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

3] этот аппарат был обобщен на случай нечетких логических переменных и сетей Байеса, включая зависимые переменные. Цель данного сообщений состоит в том, чтобы показать возможности матричного представления логики и ее обобщений в рамках единого аппарата позволяющего охватить широкий круг практических задач, эффективность его применения в учебном процессе. Отметим, что большую роль в этом подходе играет реализация логических операций в виде операторно-логических схем [4]. План сообщения следующий. В разделе 2 введен аппарат матричной логики и дано его обобщение на случай нечетких переменных. Рассмотрены примеры нечеткого логического вывода (нечеткий метод резолюции). В разделе 3 аппарат обобщен на случай зависимых логических переменных (сети Байеса).

Матричное представление нечеткой логики

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

е(0) ^ е(1), то вектор х может быть представлен в виде

х = х0е(0) + х1е(1>, (1)

причем компоненты вектора х - числа х0, Х1 - удовлетворяют условиям

0 < Хо,X < 1, Хо + х1 = 1 . (2)

Благодаря этим условиям числа х0, Х1 можно интерпретировать как вероятности наступления некоторого события А. В частном случае,

когда х = еили х = е(1) , вектор описывает переменную обычной («четкой») логики.

Мерой нечеткости переменной х служит энтропия, которая вычисляется по формуле Больцмана-Шеннона

х) = -хо 1од2 Хо - х 1од2 х1. (3)

Для двух нечетких логических переменных х' у можно ввести логические операции, которые мыслятся как отображения прямого произведения векторов х' у на некоторый вектор 2

х ® у-2 , (4)

где символ Р указывает код отображения. В явном виде соотношение (4) можно записать как тензорное равенство

= тЦЦк Х У к , (5)

где тензорный индексы *> 3'к пробегают значения 0' 1, а по повторяющимся индексам подразумевается суммирование. Компоненты тензора

т;',},к принимают значения 0 или 1. Этим обеспечивается совпадение

всех операций Р с операциями четкой логики, когда векторы х' у принимают четкие значения.

Не трудно подсчитать, что всего существует 16 логических операций. Компоненты результирующего вектора 2 оказываются равными

линейным комбинациям четырех произведений Хоуо, Хоу1, Х1 уо, Х1 у1. Например, для конъюнкции имеем

2о = Хо У о + Хо У1 + Х1У о, 21 = Х1У1 . (6)

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

тока (рис.1). При этом компоненты Хо' Х1 вектора х определяют доли входного тока J, попадающего в ветви делителя. В точке разветвления должен выполняться закон сохранения тока (первый закон Кирхгофа) ХоJ + Х^ = J , что обеспечено условиями (2).

Рис. 1. Реализация нечеткой логической переменной в виде непрерывного делителя тока

Реализация прямого произведения логических векторов, а также операций конъюнкции и дизъюнкции показана на рис. 2. Отметим, что для нечетких логических операций выполняются свойства коммутатив-

ности и ассоциативности, а свойства идемпотентности и дистрибутивности не имеют места. Также в нечеткой логике нарушается закон исключения третьего и закон противоречия (см. подробнее [2]).

УсМ \ z,J=(y1x0r+y[pc14y1x1)J

y,x,J /

Рис. 2. Реализация прямого произведения логических векторов (а), операций конъюнкции (б) и дизъюнкции (в)

Логические операции конъюнкции и дизъюнкции можно также следующим образом представить в матричном виде. Сопоставим вектору x конъюнктивную C( x),

дизъюнктивную D( x )

и импликативную

\( x )

матрицы размером 2 x 2, образованные из его компонент

C(x)-с::). D(x):).. w0). (7)

С помощью этих матриц логические операции над нечеткими переменными могут быть представлены в виде

x л y - C(x) ■ y; x v y - D(x) ■ y; x ^ y - \(x) ■ y, (8)

где вектор y следует мыслить как матричный столбец : x 2, составленный из компонент этого вектора, а точка обозначает матричное умножение.

Рассмотрим нечеткое логическое правило modus ponens. В четкой логике, если логическая переменная x истинна (x - true) и импликация x ^ y - z тоже истинна (z - true), то из этого следует, что переменная y тоже истинна. Например, если объект A - человек, а всякий человек смертен, то А тоже смертен. В нечеткой логике задача ставится

таким образом. Пусть известна нечёткая переменная x - (X:, x:) , а также нечёткая переменная z, определяющая нечёткость правила x ^ y - z. Спрашивается, какой вывод можно сделать о нечеткости переменной y ? Как следует из соотношений (7)-(8), эта задача сводится к решению линейного алгебраического уравнения \( x) ■ y относительно неизвестного вектора y :

x: »£). -Как известно, линейная система имеет решение, если определитель матрицы коэффициентов не равен нулю. В данном случае мы должны

потребовать, чтобы было det (XxJ) — X1 * 0. То есть вероятность истинности переменной x не должна быть равна нулю. Тогда компоненты неизвестной переменной y принимают значения:

y — v y —1 -v (1°)

Полученное решение имеет смысл только если компонента у1 положительна. Поэтому кроме условия Х1 * 0 получаем дополнительно, что xi - z0 . Отметим, что при xi — 1, zi — 1 из (10) имеем результат

правила modus ponens в четкой логике y0 — 0' yi — 1-

Представляет интерес рассмотреть нечеткое правило резолюции, которое формулируется следующим образом. Пусть нам известны две нечеткие импликации x ^ y — u и y ^ z — v, где u и v - заданные нечеткие переменные. Задача состоит в том, чтобы исключив переменную y найти нечеткость импликации x ^ z — w , значение которой мы обозначили символом w. После простых преобразований можно

v0v0

найти [2], что w0 —-> wi — 1 .

x1 - u0 xi - u0

Если оба вектора u и v истинны, то и из полученного результата следует, что и вектор w тоже истинный. В нечеткой логике результат зависит не только от степени истинности исходных импликаций u и v , но и от истинности посылки x. Чтобы избежать громоздких вычислений в современной нечеткой логике предложены различные эмпирические формулы, позволяющие реализовать нечёткие алгоритмы на уровне простейших управляющих микросхем.

2. Сети Байеса

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

переменную, y , - зависимой от x :

У (x) . Компоненты вектора x определяют вероятность наступления некоторого события A:

*0 — Р(A), xi — p( A .

Функция y (x) интерпретируется как условная вероятность наступления события B . В дальнейшем вместо функции

у (x) введем векторы условных вероятностей yи y(11.

Компоненты вектор у считаем равными вероятностям наступления событий В, В при условии, что наступило событие А, у1 = р(В | Л), у)1' = р(В | Л), а компоненты вектора у- равными вероятностям наступления событий В , В при условии, что наступило

событие А : УГ) = Р(В | А), у00) = р(В | А). При этом для компо-

У(0) = ( У(0) у(0) ) у (1) = ( у(1) у(1) ) нент каждого из векторов У - \Уо , у1 ) и У - \Уо , у1 ) как

обычно выполняются условия (2):

0 < У0), к) < 1, У0) + у?) = 1, к = 0,1.

Для независимых событий А и В вероятность наступления события

В не меняется от того, какое из событий наступило - А или А - и в

этом случае векторы у(1 и у(совпадают между собой: у(0) = у(1).

Когда мы считали, что переменные х и У независимы, компоненты

прямого произведения х ® у были равны Х0у0, Х0у1, Х1 у0, Х1 у1. Для

зависимых переменных компоненты прямого произведения х ® у (х) с учетом введенных выше обозначений следует считать равными соответ-

Х у(0) Х у(0) Х ..(1) Х ..(1) О - Л

ственно Х0у0 , Х0у1 , х1у0 , х1у1 . В дальнейшем удобно из компонент векторов У(0^ и У(1 образовать матричный 2 х 2 массив Y :

ч ( у (0) У (1) ^

у = (\к ) = (У?) ) = (У0 У0

^ (11)

ч УГ У1

Для прямого произведения х ® у (х) также введем матричный 2 х 2 массив 2 :

2 = 2к ) = [(х ® У(х)). к ] = [• Хк ]

У(о ) • Х0 у1 • Х1

У10) • Х0 у11) • хг

(12)

Отметим, что для независимых переменных матрица 2 факторизу-ется, то есть представляется в виде произведения матриц следующего вида:

2 = {У0!(Х0 Х1 ) = (У0Х0 У0Х1 \ (13)

IУ1 г У У1Х0 У1Х1) к '

Для логических операций, применительно к зависимым переменным используются формулы

4Р) = X }к Х] У к (Х] ) = X }к ^к,] (14)

],к ],к ^^

т( р)

с теми же тензорами т1,],к , что и для независимых переменных.

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

Х1^ делителями у производится в одинаковом отношении. Во втором случае (зависимые переменные) имеем схему, представленную на

рис. 3, с двумя разными делителями тока У(и у(1. Токи хоХ1^ делятся теперь в двух разных отношениях, определяемых компонентами У (0

векторов У емых цепей.

векторов у (0) и у (1). В этом и состоит главное различие рассматрива-

Л' _ Рис. 3. Реализация прямого произведения

зависимых векторов х ® у (х) в виде электрической схемы с тремя делителями тока

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

Будем исходить из закона умножения вероятностей зависимых событий А и В , согласно которому вероятность произведения двух событий

Р( А, В)

равна произведению вероятности Р( А) наступления события А на условную вероятность

р(В | А)

наступления события В

при условии, что событие А имело место:

р( А, В) - р(А)р(В I А). (!5)

Эквивалентное представление закона умножения вероятностей имеет вид

р(А, В) - р(В)р(А I В). (!б)

Приравнивая друг другу правые части этих равенств, мы можем выразить условную вероятность

р(А I В)

через вероятность Р(В I А)

Р(А I В) - Й». (17)

Эту формулу называют правилом Байеса (теорема гипотез).

В наших обозначениях условные вероятности Р(В I А)

(точнее,

четыре вероятности Р(В I А), р(В I А), р(В I А) и Р(В I А))

представлены 2 х 2 матрицей Y . Формула умножения вероятностей в виде (13)

- матрицей ^ — х ® у(х) или токами на выходе электрической схемы, показанной на рис. 3.

Для перехода к новой независимой переменной следует найти вектор

у и функцию х( у ) . Компоненты вектора у по смыслу совпадают с

вероятностями р(В) — уо , р(В) — у1, которые могут быть найдены по формулам

р(В) — р(В I А)р(А) + р(В I А)р(А); р(В) — р(В I А)р(А) + р(В I А)р(А). (18) Согласно приведенным выше формулам входящие в эти выражения условные вероятности р(В | А),--- выражаются через компоненты векторов у(0) и у(1), а вероятности р(А), р(А) - через компоненты вектора х. Это дает возможность переписать выражения (18) в виде

у — Хо у(0} + ху1 — Е х у *}, 1= 0

(19)

Это значит, что вектор у равен средне взвешенному вектору от векторов у (0) и у (1) с вероятностями (весовыми коэффициентами) Хо, Х1. Используя введенный выше массив Y , мы можем переписать выражение (19) также в матричном виде

у — Y ■х , (20)

где точка обозначает матричное умножение, или в более подробной записи

у —

( у00 )

Уо

(1) Л

у10 ) у1

( у00 ) Хо + у1 х1 Л

у10 ) Хо + у1 Х1

(21)

Наряду с функцией х( у ) введем векторы х(0), х(11, компоненты которых выражаются через условные вероятности следующим образом х1 — р(А I В), х(1) — р(А I В), х0о) — р(А I В), х10) — р(А I В). (22) В дальнейшем мы также будем использовать матричный массив X ,

х(0) х(1)

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

X — (Х,к) — (¿к ) =

( х(0) х(1) Л л0 л0

(23)

х,

о

X

х(0) х1

Согласно приведенной выше формуле (17) (правило Байеса) для матрицы (23) получаем выражение

Х1,к = Х1 Ук • (24) где были использованы обозначения (14), (16), или, с учетом связей (20), (23)

Хк) = Х IУ к . (25)

Мы можем также выразить полученный результат с помощью введенного выше матричного массива 2

Х1,к = 2к, Ук . (26) Таким образом, используя формулу Байеса (17), мы совершили переход к новой независимой переменной, выразив неизвестные величины

У, х через известные х и У .

Для неопределенности системы независимых переменных x, У имеет место закон аддитивности энтропии:

х, У) = х) + S(y), (27)

Пусть теперь переменные x, У зависимы. Вероятности состояний сложной системы определяются произведениями

Х у(0) Х у(0) Х у(1) Х у(1)

х0у0 , х0у1 , х1 у0 , Х1у1 , а энтропия равна

в(х, У) = -Х Х Юд2Х1 ^ =-Х Х ЮЯХ X ^ -X Х X № Юд2Ук).

I,к I к I к

В правой части полученного выражения учтем, что согласно услови-

X У Р = 1

ям (7) к к . Введем «парциальную» условную энтропию

S(y(п) = -Х /Р/одУ'К

к

а также полную (или среднюю) условную энтропию

S(y | х) = -X Х X Ук ]1°д2У{к) = X Хв( У(п).

I к I

В результате, с учетом (25), энтропия сложной системы может быть представлена в виде

^х,У) = S(х) + S(y | х). В качестве примера рассмотрим задачу оценка вероятности заболевания гриппом (пример адаптирован из книги [5]). Пусть априорная вероятность заболевания гриппом во время эпидемии равна 0,001. Вероятность высокой температуры при заболевании гриппом равна 1,0. Если же человек не болен гриппом, то появление у него высокой темпера-

туры имеет вероятность 0,01. Больной пришел к врачу с высокой температурой. Какова вероятность того, что он болен гриппом?

Решение. Введем вектор x с компонентами xo " 0,999, xi = 0,001, описывающий априорную вероятность заболевания гриппом. По усло-

.,(0) У(1)

вию задачи векторы условной вероятности У и У имеют компоненты (0,99 0,01) и i0,0 10) соответственно. Образуем массивы исходных данных

(0.999Л (0.99 0

0.001 J '"ly 0.01 1

После простых вычислений получим ( 0.989 Л ( 1 0.909

У "l0.011J 0 0.091

Отсюда следует, что вероятность заболевания гриппом при наличии свидетельства «высокая температура» равна X1,1 " 0,091. Отметим, что неопределенность этой задачи мала и равна 0.092 бит. 4. Заключение

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

Литература

1. Mizraji E. Modalities in Vector Logic. // Notre Dame Journal of Formal Logic.

1994. Vol. 35, N.2, P. 272 282

2. Марценюк М. А. Матричное представление нечеткой логики// Нечеткие системы и мягкие вычисления. Научный журнал Российской ассоциации нечетких систем и мягких вычислений. 2007. Т. 2, № 3. С. 7-35.

3. Марценюк М.А. Матричное представление нечетких логических сетей/Вестник Пермского университета. Вып. Информационные системы и технологии. 2009. № 9(35) . С. 46-63.

4. Марценюк М.А. Операторно-логические схемы как средство изучения алгоритмов в учебных курсах по математике и информатике // Прикладная ин-фоматика № 5(29)2010. С. 43-54.

5. Черноруцкий И.Г. Методы принятия решений. - СПб.: БХВ-Петербург, 2005. - 416 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.