Высказывание – предложение, смысл которого можно оценить как «истинно» или «ложно». Логическая модель является формальной моделью представления знаний.
P:
все люди смертны
Q:
Сократ - человек
R:
Сократ смертен
(P ^ Q) -> R
Предикат – логическая функция.
<константа> ::= <ид1>
<переменная> ::= <ид2>
<функция> ::= <ид3>
<предикат> ::= <ид4>
<терм> ::= <константа>|<переменная>|функция(<список термов>)
<список термов> ::= <терм>|<терм>, <список термов>
<атом> ::= <предикат>|<предикат>(<список термов>)
<литера> ::= <атом>|¬<атом>
<оператор> ::= < ^ >|< v >|< <=> >|< → >
<список переменных> ::= <переменная>|<переменная>, <список переменных>
<квантор> ::= <(∃<список переменных>)>|<(∀<список переменных>)>
<формула> ::= <литера>|¬ <формула>|<квантор>(<формула>)|(<формула>)<оператор>(<формула>)
Пример
Любит(X, Y);
Интерпретация формул возможна только с учетом возможной области интерпретации. Для представления знаний в конкретной предметной области в виде правильно построенной формулы необходимо прежде всего:
После этого можно построить логические формулы, описывающие закономерности предметной области. Представить знания с помощью логической модели не удастся в случае, когда затруднен выбор этих трёх групп элементов (констант, функций , предикатов) или когда для описания этих знаний не хватает возможностей представления с помощью правильно построенной формулы (например, если знания являются нечёткими, неполными или ненадёжными). Логическая модель применяется в исследовательских системах, поскольку предъявляет очень высокие требования качеству и полноте предметной области.
Наиболее известные правила дедукции:
[A → B, A] → [B]
[A → B, ¬B] → [¬A]
[¬(A ^ B), A] → [¬B]
[A v B, ¬A] → B
[A → B, B → C] → [A → C]
Пример
Обозначения
P := <Рост мировых цен на топливно-энергетические ресурсы>
Q := <Увеличивается поступление в бюджет>
R := <Рост производства>
S := <Укрепление рубля>
Высказывания
P → Q
(P or Q) → (S or R)
(P → Q) → ((P or Q) → (R or Q))
[1 & 3] → [(P or Q) → (R or Q)]
[4 & 2] → [(P or Q) → (R or S)]
Проблема доказательства в логике – нахождение истинного значения заключения B
, если предполагается истинность исходных предпосылок A1, …, An
. Существуют два способа решения проблемы доказательства:
A1...Аn
и B
, составить таблицу истинности для всех возможных комбинаций значений этих атомов; затем осуществить просмотр полученной таблицы, дабы проверить, во всех ли её строках, где a1, …, an
истинно, b
также истинно. Этот метод универсален, но может оказаться очень трудоёмким.DEFs
Тавтология (теорема логики) — правильно построенная формула (ППФ), значение которой истинно при любых значениях входящих в нее атомов. Она называется также частным случаем исходной или результатом подставной.
Правило подстановки: если С(А) — тавтология, то С(В) — тоже тавтология.
Теория заданной области знаний – множество ППФ для некоторой предметной области.
Аксиома – каждое отдельно построенное утверждение.
Цель построения теорий – представление знаний наиболее экономичным способом. Если такую теорию удаётся построить, то все истинные факты из области интерпретации будут следствиями аксиом этой теории, то есть их можно будет вывести из множества правильно построенных формул. Ложные факты не будут следствиями теорий, т. е. их нельзя будет получать путем логического вывода из аксиом.
Непротиворечивая (синтаксически последовательная) теория – такая теория, что из аксиом нельзя вывести противоречие.
Полная теория – для любого утверждения можно определить его истинность или ложность.
Пример
Область интерпретации
А = <есть дом>
B = <дом может сгореть>
C = <есть жена>
D = <жена может уйти к другому>
Правила
[¬A] → [¬B]
[¬C] → [¬D]
Данная теория является противоречивойПример. Представим средствами логики предикатов следующий текст:
«Если студент умеет хорошо программировать, то он может стать специалистом в области информационных технологий».
«Если студент хорошо сдал экзамен по технологии программирования, значит, он умеет хорошо программировать».
Представим этот текст средствами логики предикатов первого порядка. Введем обозначения: X — переменная для обозначения студента; хорошо — константа, соответствующая уровню квалификации; Р(Х) — предикат, выражающий возможность субъекта X стать специалистом в области информационных технологий; Q(X, хорошо) — предикат, обозначающий умение субъекта X программировать с оценкой хорошо; R(Х, хорошо) — предикат, задающий связь студента X с экзаменационной оценкой по технологии программирования.
Теперь построим множество ППФ:
(∀Х)Q(Х, хорошо) → Р(Х)
(∀Х)R(Х, хорошо) → Q(Х, хорошо)
Дополним полученную теорию конкретным фактом R(Иванов, хорошо).
Выполним логический вывод с применением правила резолюции, чтобы установить, является ли формула Р(Иванов) следствием вышеприведенной теории. Другими словами, можно ли вывести из этой теории факт, что студент Иванов станет специалистом в области информационных технологий, если он хорошо сдал экзамен по технологии программирования.
Доказательство.
(∃Х) ¬Q(Х,хорошо) & Р(Х);
(∃Х) ¬R(Х,хорошо) v Q(Х,хорошо);
R(иванов, хорошо).
¬Р(иванов)
(∃Х) Q(Х, хорошо) v Р(Х) & Р(иванов) → ¬Q(иванов, хорошо)
,
заменяя переменную X на константу иванов.
Результат применения правила резолюции называют резольвентой. В данном случае резольвентой является Q(иванов).
(∃Х) ¬R(Х, хорошо) v (Х, хорошо) & ¬Q(иванов, хорошо) → ¬R(иванов, хорошо)
¬R(иванов, хорошо) & R(иванов, хорошо) → F (противоречие)
. Следовательно, факт Р(иванов) выводим из аксиом данной теории.
Для определения порядка применения аксиом в процессе вывода существуют следующие эвристические правила:
На первом шаге вывода используется отрицание выводимого заключения.
В каждом последующем шаге вывода участвует резольвента, полученная на предыдущем шаге.
Программа ЛОГИК-ТЕОРЕТИК была предназначенная для автоматического доказательства теорем в исчислении высказываний. Пусть есть два утверждения: ƒ1 и ƒ2. Нужно доказать их тождественную истинность. Если для всех введём набор интерпретаций истинности входящих в них элементов, высказываемая истинность одинакова (?).
Был предложен способ проверки эквивалентности формул с помощью постепенного устранения различий (в противовес методу полного перебора).
Было введено шесть типов различий:
f1 = A v AB; f2 = A v B
f1 = (AB) v (A ¬B); f2=(AvB) → A
A & B <=> B & A
A v B <=> B v A
A → B <=> ¬B → ¬A
Высказывание – предложение, смысл которого можно оценить как «истинно» или «ложно». Логическая модель является формальной моделью представления знаний.
P:
все люди смертны
Q:
Сократ - человек
R:
Сократ смертен
(P ^ Q) -> R
Предикат – логическая функция.
<константа> ::= <ид1>
<переменная> ::= <ид2>
<функция> ::= <ид3>
<предикат> ::= <ид4>
<терм> ::= <константа>|<переменная>|функция(<список термов>)
<список термов> ::= <терм>|<терм>, <список термов>
<атом> ::= <предикат>|<предикат>(<список термов>)
<литера> ::= <атом>|¬<атом>
<оператор> ::= < ^ >|< v >|< <=> >|< → >
<список переменных> ::= <переменная>|<переменная>, <список переменных>
<квантор> ::= <(∃<список переменных>)>|<(∀<список переменных>)>
<формула> ::= <литера>|¬ <формула>|<квантор>(<формула>)|(<формула>)<оператор>(<формула>)
Пример
Любит(X, Y);
Интерпретация формул возможна только с учетом возможной области интерпретации. Для представления знаний в конкретной предметной области в виде правильно построенной формулы необходимо прежде всего:
После этого можно построить логические формулы, описывающие закономерности предметной области. Представить знания с помощью логической модели не удастся в случае, когда затруднен выбор этих трёх групп элементов (констант, функций , предикатов) или когда для описания этих знаний не хватает возможностей представления с помощью правильно построенной формулы (например, если знания являются нечёткими, неполными или ненадёжными). Логическая модель применяется в исследовательских системах, поскольку предъявляет очень высокие требования качеству и полноте предметной области.
Наиболее известные правила дедукции:
[A → B, A] → [B]
[A → B, ¬B] → [¬A]
[¬(A ^ B), A] → [¬B]
[A v B, ¬A] → B
[A → B, B → C] → [A → C]
Пример
Обозначения
P := <Рост мировых цен на топливно-энергетические ресурсы>
Q := <Увеличивается поступление в бюджет>
R := <Рост производства>
S := <Укрепление рубля>
Высказывания
P → Q
(P or Q) → (S or R)
(P → Q) → ((P or Q) → (R or Q))
[1 & 3] → [(P or Q) → (R or Q)]
[4 & 2] → [(P or Q) → (R or S)]
Проблема доказательства в логике – нахождение истинного значения заключения B
, если предполагается истинность исходных предпосылок A1, …, An
. Существуют два способа решения проблемы доказательства:
A1...Аn
и B
, составить таблицу истинности для всех возможных комбинаций значений этих атомов; затем осуществить просмотр полученной таблицы, дабы проверить, во всех ли её строках, где a1, …, an
истинно, b
также истинно. Этот метод универсален, но может оказаться очень трудоёмким.DEFs
Тавтология (теорема логики) — правильно построенная формула (ППФ), значение которой истинно при любых значениях входящих в нее атомов. Она называется также частным случаем исходной или результатом подставной.
Правило подстановки: если С(А) — тавтология, то С(В) — тоже тавтология.
Теория заданной области знаний – множество ППФ для некоторой предметной области.
Аксиома – каждое отдельно построенное утверждение.
Цель построения теорий – представление знаний наиболее экономичным способом. Если такую теорию удаётся построить, то все истинные факты из области интерпретации будут следствиями аксиом этой теории, то есть их можно будет вывести из множества правильно построенных формул. Ложные факты не будут следствиями теорий, т. е. их нельзя будет получать путем логического вывода из аксиом.
Непротиворечивая (синтаксически последовательная) теория – такая теория, что из аксиом нельзя вывести противоречие.
Полная теория – для любого утверждения можно определить его истинность или ложность.
Пример
Область интерпретации
А = <есть дом>
B = <дом может сгореть>
C = <есть жена>
D = <жена может уйти к другому>
Правила
[¬A] → [¬B]
[¬C] → [¬D]
Данная теория является противоречивойПример. Представим средствами логики предикатов следующий текст:
«Если студент умеет хорошо программировать, то он может стать специалистом в области информационных технологий».
«Если студент хорошо сдал экзамен по технологии программирования, значит, он умеет хорошо программировать».
Представим этот текст средствами логики предикатов первого порядка. Введем обозначения: X — переменная для обозначения студента; хорошо — константа, соответствующая уровню квалификации; Р(Х) — предикат, выражающий возможность субъекта X стать специалистом в области информационных технологий; Q(X, хорошо) — предикат, обозначающий умение субъекта X программировать с оценкой хорошо; R(Х, хорошо) — предикат, задающий связь студента X с экзаменационной оценкой по технологии программирования.
Теперь построим множество ППФ:
(∀Х)Q(Х, хорошо) → Р(Х)
(∀Х)R(Х, хорошо) → Q(Х, хорошо)
Дополним полученную теорию конкретным фактом R(Иванов, хорошо).
Выполним логический вывод с применением правила резолюции, чтобы установить, является ли формула Р(Иванов) следствием вышеприведенной теории. Другими словами, можно ли вывести из этой теории факт, что студент Иванов станет специалистом в области информационных технологий, если он хорошо сдал экзамен по технологии программирования.
Доказательство.
(∃Х) ¬Q(Х,хорошо) & Р(Х);
(∃Х) ¬R(Х,хорошо) v Q(Х,хорошо);
R(иванов, хорошо).
¬Р(иванов)
(∃Х) Q(Х, хорошо) v Р(Х) & Р(иванов) → ¬Q(иванов, хорошо)
,
заменяя переменную X на константу иванов.
Результат применения правила резолюции называют резольвентой. В данном случае резольвентой является Q(иванов).
(∃Х) ¬R(Х, хорошо) v (Х, хорошо) & ¬Q(иванов, хорошо) → ¬R(иванов, хорошо)
¬R(иванов, хорошо) & R(иванов, хорошо) → F (противоречие)
. Следовательно, факт Р(иванов) выводим из аксиом данной теории.
Для определения порядка применения аксиом в процессе вывода существуют следующие эвристические правила:
На первом шаге вывода используется отрицание выводимого заключения.
В каждом последующем шаге вывода участвует резольвента, полученная на предыдущем шаге.
Программа ЛОГИК-ТЕОРЕТИК была предназначенная для автоматического доказательства теорем в исчислении высказываний. Пусть есть два утверждения: ƒ1 и ƒ2. Нужно доказать их тождественную истинность. Если для всех введём набор интерпретаций истинности входящих в них элементов, высказываемая истинность одинакова (?).
Был предложен способ проверки эквивалентности формул с помощью постепенного устранения различий (в противовес методу полного перебора).
Было введено шесть типов различий:
f1 = A v AB; f2 = A v B
f1 = (AB) v (A ¬B); f2=(AvB) → A
A & B <=> B & A
A v B <=> B v A
A → B <=> ¬B → ¬A