Файл: Лекция 2. Математический аппарат, используемый в задачах искусственного интеллекта.doc

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лекция 2. Математический аппарат, используемый в задачах искусственного интеллекта.


При создании СИИ используются главным образом три раздела математики: ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ, ПРЕДИКАТЫ и НЕЧЕТКИЕ МНОЖЕСТВА. С помощью исчисления выск5азываний и теории предикатов обычные предложения на русском языке можно записать в компактной математической форме. Теория нечетких множеств позволяет решать задачи, когда мы не можем провести точное решение.

2.1. Логика высказываний.

В предыдущей главе показано, что рассуждения агента (поиск решений задачи) сводится к определению правил перехода в соответствии с выбранной стратегией. Каждый шаг состоит в проверке агентом истинности левой части правила (факта нахождения среды в состоянии bi и допустимости действия сj) и , в случае ее истинности, признании факта перехода из состояния bi в состояние bk в результате действия сj. Естественно, нам хотелось бы иметь математический аппарат, на основе которого можно осуществлять постановку и поиск решения задачи формально, используя наилучшую стратегию поиска. Логика высказываний — это первый шаг к созданию такого аппарата.

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

Исчисление высказываний (другие названия – алгебра логики, двоичная алгебра, алгебра Буля) рассматривает операции над переменными, которые могут принимать только два значения: 0 и 1.Алгебра логики позволяет формализовать (записывать в виде формул) логические рассуждения. В этих рассуждениях оперируют понятиями ИСТИНА и ЛОЖЬ. Понятие истина при этом обозначается 1, ложь –0.


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

В таблице 2.1 представлены все возможные двоичные функции одной переменной.

Первая и последняя функции являются константами, вторая – повторяет x, а вот третья, значения которой противоположны значениям х, широко

Значения аргумента x

Функции

0

0

0

1

1

1

0

1

0

1

Таблица 2.1.

используется в алгебре логики и называется ОТРИЦАНИЕМ х , или ИНВЕРСИЕЙ, или просто функцией НЕ х . Других, кроме перечисленных функций одной переменной в алгебре логики не существует.

Функций двух переменных имеется 16, некоторые, наиболее часто используемые, приведены в таблице истинности 2.2.

Первая из этих функций называется ЛОГИЧЕСКИМ СЛОЖЕНИЕМ или ДИЗЪЮНКЦИЕЙ или просто функцией ИЛИ. Часто её обозначают знаком +;

Вторая функция – ЛОГИЧЕСКОЕ УМНОЖЕНИЕ или КОНЪЮНКЦИЯ или функция И. Её часто обозначают знаком умножения - точкой;

Третья, четвертая и пятая функции называются, соответственно ИМПЛИКАЦИЕЙ, СЛОЖЕНИЕМ ПО МОДУЛЮ 2 и ЭКВИВАЛЕНТНОСТЬЮ.

Таблица 2.2

Значения аргументов

Значения функций

x1

x2

OR

AND

XOR

0

0

0

0

1

0

0

0

1

1

0

1

1

1

1

0

1

0

0

1

1

1

1

1

1

1

0

0


Импликация обращается в нуль, только если значение второго элемента меньше значения первого.

Функция эквивалентности равна 1 при совпадении значений обоих аргументов, а функция сложения по модулю 2 при их несовпадении.

Существуют логические функции трех, четырех и т.д. аргументов. Например,

Y=(x1x2) ((( x2 x1)3)~3)

Первое выражение можно прочесть так: если x1 или x2 или x3 истинно (равно 1), то и y истинно (равно1).

Интерпретация второго выражения: если истинны x1 и x2 , или истинно x3, то y истинно.

Третье выражение можно прочесть так: Y истинно, если при одновременном несовпадении x 3 ( отрицание x3) c логическим произведением : x1 не совпадает с x2 на не x3.

2.1.1. Синтаксис логики высказываний

Синтаксис логики высказываний прост и имеет прямые синтаксические и семантические аналоги в естественных языках, что чрезвычайно облегчает нам понимание логики высказываний. Символами языка логики высказываний, составляющими ее алфавит, являются логические константы ИСТИНА и ЛОЖЬ, сокращенно обозначаемые буквами И и Л, логические переменные х, у, z, обозначаемые строчными буквами латинского алфавита, логические связки (И), (ИЛИ), (НЕ), ЭКВИВАЛЕНТНО, => (ВЛЕЧЕТ) и круглые скобки. Значениями логических переменных являются логические константы. Предложения языка логики высказываний, называемые также формулами или высказываниями, составляют в соответствии со следующими правилами:


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

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

сложные предложения формируются из простых с помощью связок (И), (ИЛИ), (НЕ), (ЭКВИВАЛЕНТНО), => (ВЛЕЧЕТ);

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

из предложений с помощью связок и скобок можно образовать новые предложения языка логики высказываний;

связки имеют следующий порядок старшинства т.е. связка самая старшая, а связка самая младшая.

Формулы логики высказываний, составленные по этим правилам, называют правильно построенными формулами или сокращенно формулами.

2.1.2. Семантика логики высказываний.

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

Пример1: Студент, который не ходит на занятия и не занимается дома, не сдаст экзамен.

Обозначим через x1 событие: ходить на занятия; через x2 событие – заниматься дома, сдать экзамен – x3 и y- сдать экзамен. Тогда формальная запись на языке алгебры логике будет иметь вид:

.

Пример2. Если истинно утверждение, что Иван и Мария являются родителями и Юры и Анны, то Юра и Анна являются братом и сестрой.

Обозначим: x1 – Иван, x2 –Мария, x3 –Юра, x4 – Анна, y1 – родители Юры, y 2 –родители Анны, y- Юра и Анна- брат и сестра.

То же самое можно описать словами:

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

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

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


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

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

2.1.3. Общезначимые формулы и их роль.

Формулы, истинные на всех наборах значений своих аргументов, называют общезначимыми формулами. Если какая-либо формула является общезначимой, то этот факт обычно записывается с использованием знака общезначимости = который ставится перед формулой: |= . Проверку формулы на общезначимость можно осуществить с помощью таблицы истинности: если формула истинна во всех строках таблицы истинности, то эта формула общезначима. Рассмотрим, например, формулу . Из табл. ясно, что формула является общезначимой , т.к. значения переменных в последнем столбце всегда истинно.

x

y

0

0

1

1

1

1

1

0

1

1

0

1

1

1

1

0

0

1

1

0

1

1

1


0

0

0

0

1

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

коммутативные

x 1 x 2 = x 2 x 1 , x 1 x 2 =x 2 x 1 ;

дистрибутивные

x 1 (x 2 x 3) = (x 1x 2) (x1 x3),

x1 (x 2 x3) = (x1 x 2) (x 1 x 3);

ассоциативные

x1 (x2 x 3) = (x1 x 2) x3,

x1 (x2 x 3) = (x1 x 2) x 3;

законы Де Моргана:

= , = ,

закон двойного отрицания:

.

Кроме того, справедливы следующие соотношения:

, . , ,

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

- правила поглощения,

- правило склеивания,

. – Правило вычеркивания.

Их доказательства осуществляются путем построения соответствующих таблиц истинности.

Рассмотрим пример упрощения логической функции. Пусть

Последовательное применение приведенных выше правил дает:

= =

=( ) =( ) =1.

Кроме общезначимых, существуют формулы выполнимые и невыполнимые. Формула называется выполнимой, если существуют наборы значений ее аргументов, на которых она принимает истинное значение, и наборы значений, на которых она принимает ложное значение.


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

Установление истинности следствия по общезначимой импликативной формуле достаточно универсальный способ для вывода заключений, но требует проверки общезначимости последней. Если формула 1 2 не является общезначимой, то подобного заключения делать нельзя.

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

2.2. Нечеткие множества.

Записывая и решая задачу на языке исчисления высказываний или предикатов, мы получаем ответ в виде «да» или «нет»,(истина или ложь, 0 или 1). Однако во многих задачах мы не уверены в исходных данных, мы знаем их приближенно и поэтому удовлетворимся приближенным ответом.

Для математического решения таких задач используется нечеткая логика, предложенная американским математиком Л. Заде в начале 60-х годов.

Обычная логика, в которой есть два логических значения ИСТИНА и ЛОЖЬ, связана с таким же четким разделением объектов на два множества. Например, логическое условие

ПРИЗЫВНИК = ((ПОЛ = МУЖСКОЙ) (ВОЗРАСТ>ПРИЗЫВНОЙ))

подразумевает разделение людей по признаку пола МУЖСКОЙ/ЖЕНСКИЙ и по возрасту ВОЗРАСТ>ПРИЗЫВНОЙ/ ВОЗРАСТ<ПРИЗЫВНОЙ. Логическая операция конъюнкции описывает ПРИЗЫВНИКА как пересечение множеств:




Рис.2.1.Операция пересечения множеств

Вместе с тем во многих случаях приходится иметь дело с не столь определенными понятиями. Например, выражение МОЛОДОЙ ЧЕЛОВЕК не указывает точно ни на какой возраст. Правда, можно отметить, что возраст 10 лет под понятие МОЛОДОГО ЧЕЛОВЕКА. по-видимому, не подпадает, точно так же, как и возраст 50 лет. Однако точно указать диапазон возраста МОЛОДОГО ЧЕЛОВЕКА в виде условия

МОЛОДОЙ ЧЕЛОВЕК= ((ВОЗРАСТ>МИНИМАЛЬНЫЙ) И (ВОЗРАСТ<МАКСИМАЛЬНЫЙ)) невозможно - множество возрастов, подпадающих под понятие МОЛОДОГО ЧЕЛОВЕКА, является нечетким.

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

Например, функция принадлежности к призывному возрасту P(y) имеет вид (рис.2.2). В случае же нечеткого множества функция принадлежности принимает и промежуточные значения. Например, функция принадлежности к множеству МОЛОДОЙ ЧЕЛОВЕК может иметь вид( рис.2.3)