Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Applied regression analysis / Лекции / 6 / lec4
.tex\documentclass{beamer}
\usepackage[russian ]{babel}
\usepackage{amsmath}
\usepackage{beamerthemesplit}
%\usepackage[utf8]{inputenc}
\usepackage{inputenc}
%\usetheme{Warsaw}
\usetheme{Berkeley}
%\usetheme{Frankfurt}
%\usetheme[numbers, totalnumbers, minimal, nologo]{Statmod}
\begin{document}
\title[]{Исчисление предикатов}
\subtitle{}
\author[Красоткина О.В.
]{к.ф.-м.н., доцент Красоткина О.В.}
\institute{
Тульский государственный университет\\
\vspace{0.7cm}
}
\date{Математическая логика и теория алгоритмов\\ Лекция 7 \\ Тула, 2014}
\frame{\titlepage}
\begin{frame}
\frametitle{План}
\tableofcontents
\end{frame}
\section{Алгебра предикатов}
\subsection{Что такое предикат}
\begin{frame}{Определение предиката}
\begin{block}{Определение}
Если объект высказывания, т.е. о чем говорится в предложении, не определен, то это предложение называют \textbf{высказывательной функцией}. Аргументами высказывательной функции являются предметные переменные, которые обозначают строчными буквами латинского алфавита $x, y, z...$. Эта функция приобретет значение $1$ или $0$ только при подстановке в высказывательную функцию вместо предметных переменных их конкретных значений. Конкретные значения аргументов высказывательной функции называют предметными постоянными, которые обозначают строчными буквами латвийского алфавита $a, b, c,...$ .
\end{block}
\end{frame}
\begin{frame}{Определение предиката}
\begin{block}{Определение}
Высказывательную функцию иначе называют \textbf{предикатом} (лат. praedicatum - логическое сказуемое).
\end{block}
Для задания предиката нужно определить множество $M$ - область определения предиката и свойство, которое проверяется на объектах данного множества.\\
\textbf{Например}:
на множестве натуральных чисел можно задать высказывательные функции или предикаты \\
$P_1(x)$ -''x - простое число'', $P_1(10) = 0$\\
$P_2(6, y)$ -''y меньше 6'' , $P_2(6,2) = 1 $\\
$P_3(6, y, z) -$''z есть частное от деления числа 6 на y'', $P_3(6, 2, 3) =1$
\end{frame}
\begin{frame}{Область истинности предиката}
\begin{block}{Определение}
Подмножество $T$ области определения предиката $M$, в которой предикат принимает значение $1$, называется областью истинности предиката . $T\subseteq M$
\end{block}
\end{frame}
\begin{frame}{Одноместные и многоместные предикаты}
\begin{block}{Определение}
Если высказывательная функция содержит один аргумент, то задан \textbf{одноместный} предикат, если она содержит $n$ аргументов, то - $n$-\textbf{местный предикат}. \\ Одноместный предикат, как правило, описывает наличие какого-либо признака у предмета, а $n$-местный предикат наличие отношений между $n$ предметами.
\end{block}
\end{frame}
\begin{frame}{Функциональные зависимости на области определения предиката}
\begin{block}{Определение}
Между элементами области определения может быть задана некоторая структура или установлены какие-то функциональные отношения. Тогда функциональный символ $f$ указывает на задание этого отношения между предметными переменными и/или предметными постоянными области определения $f(x_1, x_2,...x_n)$.
\end{block}
\textbf{Например}:
на множестве натуральных чисел можно задать предикат\\
$P(x,y)$ -''x равен у'' и функцию\\
$f(x,y) = x+y$ - тогда\\
$P(f(x,y), z) -$''$z$ равно сумме $x$ и $y$'',
\end{frame}
\begin{frame}{Превращение предиката в выскзывание}
\begin{block}{Определение}
Предикат становится высказыванием при подстановке в него конкретных значений предметных переменных из области определения предиката
\end{block}
\end{frame}
\subsection{Операции над предикатами}
\begin{frame}{Отрицание}
\begin{block}{Определение}
\textbf{Отрицание} - есть одноместная операция, посредством которой из данной формулы $F(t_1, t_2,\dots t_n)$ получают ее отрицание $\overline{F(t_1, t_2,\dots t_n)}$
\end{block}
\begin{center}
\includegraphics[width=0.3\linewidth]{no.png}\\
\end{center}
Например:\\
$P(x)$ - предикат, определенный на множестве людей, "$x$ - любит кашу"\\
$\overline{P(x)}$ - предикат, опредeленный на множестве людей, "$x$ - НЕ любит кашу"
\end{frame}
\begin{frame}{Дизъюнкция}
\begin{block}{Определение}
\textbf{Дизъюнкция} - есть двухместная операция, посредством которой из двух формул $F_1$ и $F_2$ получают новую формулу $F (t_{1,1}; t_{1,2};… t_{1,n}; t_{2,1}; t_{2,2};… t_{2,m} )$ с числом предметных переменных и постоянных, равным их объединению у исходных формул. Значение формулы истинно тогда и только тогда, когда истинна хотя 6ы одна из формул $F_1$ или $F_2$.
\end{block}
\begin{center}
\includegraphics[width=0.3\linewidth]{or.png}\\
\end{center}
\end{frame}
\begin{frame}{Дизъюнкция}
\begin{block}{Например}
Если $x, y$ - предметные переменные для городов России, $P_1(x, y)$ - "переезд из х в у поездом"; $P_2(x,y)$ - "переезд из х в у самолетом"; $P_3(x, y)$ - "переезд из х в у автобусом", то \\$P_1(x, y)\vee P_2(x, y)\vee P_3(x, y)$
читается как "между городами России возможен переезд или поездом или самолетом или автобусом "
\end{block}
\begin{center}
\includegraphics[width=0.3\linewidth]{or.png}\\
\end{center}
\end{frame}
\begin{frame}{Конъюнкция}
\begin{block}{Определение}
\textbf{Конъюнкция} - есть двухместная операция, посредством которой из двух формул $F_1$ и $F_2$ получают новую формулу $F (t_{1,1}; t_{1,2};… t_{1,n}; t_{2,1}; t_{2,2};… t_{2,m} )$ с числом предметных переменных и постоянных, равным их объединению у исходных формул. Значение формулы истинно тогда и только тогда, когда истинны обе формулы $F_1$ или $F_2$.
\end{block}
\begin{center}
\includegraphics[width=0.3\linewidth]{and.png}\\
\end{center}
\end{frame}
\begin{frame}{Конъюнкция}
\begin{block}{Например}
Если $x$ - предметная переменная из множества людей, то $P_1(x)$ - "x - талантливый писатель"; $P_2(x)$ - "x-выдающийся музыкант", то \\$P_1(x)\wedge P_2(x)$
читается как "x - талантливый писатель и выдающийся музыкант"
\end{block}
\begin{center}
\includegraphics[width=0.3\linewidth]{and.png}\\
\end{center}
\end{frame}
\begin{frame}{Импликация}
\begin{block}{Определение}
\textbf{Импликация} - есть двухместная операция, посредством которой из двух формул $F_1$ и $F_2$ получают новую формулу $F (t_{1,1}; t_{1,2};… t_{1,n}; t_{2,1}; t_{2,2};… t_{2,m} )$ с числом предметных переменных и постоянных, равным их объединению у исходных формул. Значение формулы ложно тогда и только тогда, когда формула $F_1$ истинна, а $F_2$ - ложно.
\end{block}
\begin{center}
\includegraphics[width=0.3\linewidth]{if.png}\\
\end{center}
\end{frame}
\begin{frame}{Импликация}
\begin{block}{Например}
Если $x$ - предметная переменная из множества людей, то $P_1(x)$ - "x - судья"; $P_2(x)$ - "x-юрист", то \\$P_1(x)\rightarrow P_2(x)$
читается как "Если x - судья, то он - юрист"
\end{block}
\begin{center}
\includegraphics[width=0.3\linewidth]{if.png}\\
\end{center}
\end{frame}
\begin{frame}{Эквивалентность}
\begin{block}{Определение}
\textbf{Эквивалентность} - есть двухместная операция, посредством которой из двух формул $F_1$ и $F_2$ получают новую формулу $F (t_{1,1}; t_{1,2};… t_{1,n}; t_{2,1}; t_{2,2};… t_{2,m} )$ с числом предметных переменных и постоянных, равным их объединению у исходных формул. Значение формулы истинно тогда и только тогда, когда формулы $F_1$ и $F_2$ - либо одновременно истинны, либо одновременно ложны.
\end{block}
\begin{center}
\includegraphics[width=0.3\linewidth]{equal.png}\\
\end{center}
\end{frame}
\begin{frame}{Эквивалентность}
\begin{block}{Например}
Если $x$ - предметная переменная из множества целых чисел, то $P_1(x)$ - "x - четное число"; $P_2(x)$ - "x-делится ", то \\$P_1(x) \leftrightarrow P_2(x)$
читается как "x - четное тогда и только тогда, когда оно делится на 2"
\end{block}
\begin{center}
\includegraphics[width=0.3\linewidth]{equal.png}\\
\end{center}
\end{frame}
\subsection{Операции квантификации}
\begin{frame}{Общие суждения. Квантификация всеобщности}
\begin{block}{Определение}
Суждение, в котором утверждается или отрицается наличие каких-либо признаков или отношений для всех предметных переменных области определения, называют \textbf{общими суждениями.} Как правило, эти суждения в естественном языке отмечают словами "все", "каждый", "любой" и т.п. Для формализации этих суждений используют логическую операцию над всей областью определения предиката. Оператор этой логической операции получил название квантора всеобщности, который обозначают так: $\forall_x$. Предикат записывают после квантора всеобщности в скобках $\forall_x[P(x)]$.
\end{block}
\end{frame}
\begin{frame}{Общие суждения. Квантификация всеобщности}
Если общее суждение распространяется на несколько предметных переменных, то перед предикатом записывают все предметные переменные, по которым есть общее суждение $\forall_x \forall_y [P(x,y,z)]$. ,
\begin{block}{Пример}
Если $x$ - предметная переменная из множества целых чисел, то $P_1(x)$ - "x - четное число"; $P_2(x)$ - "x-делится ", то \\$\forall_x [P_1(x) \leftrightarrow P_2(x)]$
читается как "Для любого x справедливо, что x- четное тогда и только тогда, когда оно делится на 2"
\end{block}
\end{frame}
\begin{frame}{Частные суждения. Квантификация существования}
\begin{block}{Определение}
Суждение, в котором утверждается или отрицается наличие каких-либо признаков или отношений у части предметных переменных области определения, называют частным суждением. Как правило, эти суждения на естественном языке отражают словами "один", "несколько", "часть" и т.п. Для формализации таких суждений используют логическую операцию, ограничивающую область определения предиката. Этот оператор получил название квантора существования, который обозначают так: $\exists_x$. Предикат записывают после квантора всеобщности в скобках $\forall_x[P(x)]$.
\end{block}
\end{frame}
\begin{frame}{Частные суждения. Квантификация существования}
Если общее суждение распространяется на несколько предметных переменных, то перед предикатом записывают все предметные переменные, по которым есть общее суждение $\exists_x \exists_y [P(x,y,z)]$. ,
\begin{block}{Пример}
Если $x$ - предметная переменная из множества людей, то $P_1(x)$ - "x - талантливый писатель"; $P_2(x)$ - "x-выдающийся музыкант", то \\ $\exists_x [P_1(x)\wedge P_2(x)]$
читается как "Некоторые талантливые писатели являются также выдающимися музыкантами"
\end{block}
\end{frame}
\begin{frame}{Свободные и связанные переменные}
\begin{block}{Определение}
Предметную переменную предиката, если по меньшей мере одно ее вхождение связано квантором, называют \textbf{связанной} переменной. Предметную переменную предиката, если по меньшей мере одно ее вхождение в формулу свободно от квантора, называют \textbf{свободной} переменной.
\end{block}
\end{frame}
\subsection{Понятие алгебры предикатов}
\begin{frame}{Понятие алгебры предикатов}
\begin{block}{Определение}
Множество предметных переменных $T_1= \{x, y, z,..\}$ и постоянных $T_2=\{a, b, c,..\}$, функциональных символов $T_3=\{f _1, f _2,f _3...\}$ и предикатных $T_4=\{P _1 ; P_2 ; P_3...\}$ с заданными над $T=\{T1; T2; T3; T4\}$ логическими операциями $\boldsymbol{F} = \{\exists, \forall, \vee, \wedge, \rightarrow, \leftrightarrow, \neg\}$ формируют алгебру предикатов, т.е. $A=<T,F>$.
\end{block}
\end{frame}
\begin{frame}{Термы логики предикатов}
\begin{block}{Определение}
Любую предметную переменную и предметную постоянную называют \textbf{терм} и обозначают символом $t_i$. Если $f$ есть $n$ - местный функциональный символ и $ t_1, t_2,… t_n$ - термы, то $f ( t_1, t_2.… t_n )$ также есть терм, где $n$ - число аргументов функции.
\textbf{Никаких иных термов нет}.
\end{block}
\end{frame}
\begin{frame}{Формулы логики предикатов}
\begin{block}{Определение}
Если $P$ - n-местный предикатный символ и $ t_1, t_2,… t_n$ - термы, то $F=P ( t_1, t_2.… t_n )$ - элементарная формула или атом. Предметные переменные, входящие в термы атома, являются свободными.
Если $F_1$ и $F_2$ формулы, то $\overline{F(x)}$, $F_1(x)\vee F_2(x)$, $F_1(x)\wedge F_2(x)$, $F_1(x) \rightarrow F_2(x)$, $F_1(x) \leftrightarrow F_2(x)$. В этих формулах предметные переменные также являются свободными.\\
Если $F$ формула, a $x$ - предметная переменная, входящая в атомы формулы, $\exists_x [F(x)]$, $\forall_x [F(x)]$ также формулы. В этих формулах предметная переменная $x$ среди множества термов формулы $F$ является связанной.\\
\textbf{Никаких иных формул нет}.
\end{block}
\end{frame}
\begin{frame}{Правила записи сложных формул}
\begin{itemize}
\item
каждое вхождение логической связки $\wedge$ после расстановки скобок связывает формулы, непосредственно окружающие логическую связку
\item
каждое вхождение логической связки $\vee$ после расстановки скобок связывает формулы, непосредственно окружающие логическую связку
\item
за квантором общности чаще всего следует логическая связка импликации, а за квантором существования - конъюнкции;
\item
если формула содержит подформулу, то внутренняя формула не должна содержать кванторов, связывающих ту же переменную, что и квантор формулы
\end{itemize}
\end{frame}
\begin{frame}{Правила записи сложных формул}
\begin{itemize}
\item
значения всех предметных переменных и постоянных должны принадлежать одной области определения предиката или функции
\item
если в одной формуле есть кванторы общности и существования, то при формализации суждений следует стремиться поставить квантор существования слева всей формулы
\end{itemize}
\end{frame}
\subsection{Законы алгебры предикатов}
\begin{frame}{Равносильные формулы алгебры предикатов}
\begin{block}{Определение}
Формулы называют \textbf{равносильными}, если при любых подстановках предметных постоянных они принимают одинаковое значение. Если две формулы $F_1$ и $F_2$ равносильны, т.е $F_1=F_2$, то они эквивалентны.
\end{block}
Если формула алгебры предикатов $F$ имеет вхождением подформулу $F_i$, для которой существует эквивалентная ей подформула $F_j$, то возможна подстановка всюду в формулу $F$ вместо формулы $F_i$ подформулы $F_j$ без нарушения истинности формулы.
\end{frame}
\begin{frame}{Закон коммутативности}
\begin{block}{}
$ \forall_x{ \forall_y {F(x,y)}} = \forall_y { \forall_x {F(x,y)}} $ \\
$ \exists_x {\exists_y F(x,y)} = \exists_y {\exists_x F(x,y)} $ \\
закон справедлив только для одноименных кванторов
\end{block}
\end{frame}
\begin{frame}{Закон дистрибутивности}
\begin{block}{}
$ \forall_x F_1(x) \wedge \forall_x F_2(x)= \forall_x (F_1(x) \wedge F_2(x))$ \\
только для квантора всеобщности и операции конъюнкции\\
$ \exists_x F_1(x) \vee \exists_x F_2(x)= \exists_x (F_1(x) \vee F_2(x))$ \\
только для квантора существования и операции дизъюнкции
\end{block}
\end{frame}
\begin{frame}{Закон идемпотентности}
\begin{block}{}
$ K_x F_1(x) \wedge K_x F_1(x)= K_x F_1(x)$ \\
$ K_x F_1(x) \vee K_x F_1(x)= K_x F_1(x)$ \\
$K\in\{\forall,\exists\}$
\end{block}
\end{frame}
\begin{frame}{Закон исключения третьего}
\begin{block}{}
$ K_x (F_1(x)) \vee \overline{K_x (F_1(x))}= 1$ \\
$K\in\{\forall,\exists\}$
\end{block}
\end{frame}
\begin{frame}{Закон противоречия}
\begin{block}{}
$ K_x (F_1(x)) \wedge \overline{K_x (F_1(x))}= 0$ \\
$K\in\{\forall,\exists\}$
\end{block}
\end{frame}
\begin{frame}{Закон Де Моргана}
\begin{block}{}
$ \overline{\forall_x (F_1(x))} = \exists_x \overline{(F_1(x))} $ \\
$ \overline{\exists_x (F_1(x))} = \forall_x \overline{(F_1(x))} $
\end{block}
\end{frame}
\begin{frame}{Закон снятия двойного отрицания (закон дополнения)}
\begin{block}{}
$ \overline{\overline{K_x (F_1(x))}} = K_x (F_1(x))$ \\
$K\in\{\forall,\exists\}$
\end{block}
\end{frame}
\begin{frame}{Свойства констант}
\begin{block}{}
$ K_x (F_1(x)) \vee 1 = 1$ \\
$ K_x (F_1(x)) \wedge 1 = K_x (F_1(x))$ \\
$ K_x (F_1(x)) \wedge 0 = 0$ \\
$ K_x (F_1(x)) \vee 0 = K_x (F_1(x))$ \\
$K\in\{\forall,\exists\}$
\end{block}
\end{frame}
\subsection{Нормальные формы логики предикатов}
\begin{frame}{Предваренная нормальная форма}
\begin{block}{Определение}
Для облегчения анализа сложных суждений формулы алгебры предикатов рекомендуется приводить к нормальной форме. Если в алгебре высказываний приняты две нормальные формы (ДНФ - дизъюнктивная и КНФ -конъюнктивная), то в алгебре предикатов - одна предваренная нормальная форма (ПНФ), суть которой сводится к разделению формулы на две части: кванторную и безкванторную. Для этого все кванторы формулы выносят влево, используя законы и правила алгебры предикатов.
\end{block}
В результате этих алгебраических преобразований может быть получена формула вида $K_{x_1}K_{x_2}....K_{x_n}M(x_1, x_2,...,x_n)$. $K_{x_1}K_{x_2}....K_{x_n}$ - префикс формулы, $M(x_1, x_2,...,x_n)$ - матрица формулы.
\end{frame}
\begin{frame}{Алгоритм приведения к предваренной нормальной форме}
\begin{itemize}
\item
Шаг 1. Устранить логические связки импликации и эквивалентности по правилам:\\
$F_1\rightarrow F2 = \overline{F_1} \vee F_2$, $F_1 \leftrightarrow F2 = (F_1\rightarrow F2) \wedge (F_2\rightarrow F1) = (\overline{F_1} \vee F_2) \wedge (\overline{F_2} \vee F_1)$.
\item
Шаг 2. Продвинуть отрицание до элементарной формулы (пропозициональной переменной) по правилам:\\
$\overline{(F_1\wedge F_2 )} = \overline{F_1} \vee \overline{F_2} $ , $\overline{(F_1\vee F_2 )} = \overline{F_1} \wedge \overline{F_2} $ , $\overline{\overline {F_1} } = F_1$ , $ \overline{\forall_x (F_1(x))} = \exists_x \overline{(F_1(x))} $,
$ \overline{\exists_x (F_1(x))} = \forall_x \overline{(F_1(x))} $
.
\end{itemize}
\end{frame}
\begin{frame}{Алгоритм приведения к предваренной нормальной форме}
\begin{itemize}
\item
Шаг 3. Переименовать связанные переменные по правилу:\\
найти самое левое вхождение предметной переменной такое, что это вхождение связано некоторым квантором, но существует еще одно вхождение этой же переменной; затем сделать замену связанного вхождения на вхождение новой переменной “, операцию повторять пока возможна замена связанных переменных.
\end{itemize}
\end{frame}
\begin{frame}{Алгоритм приведения к предваренной нормальной форме}
\begin{itemize}
\item
Шаг 4. Вынести кванторы влево по законам алгебры логики.
\item
Шаг 5. Преобразовать бескванторную матрицу к виду КНФ. Алгоритм приведения матрицы формулы к виду КНФ приведен в алгебре высказываний.
\end{itemize}
\end{frame}
\begin{frame}{Сколемовская стандартная форма}
\begin{block}{Определение}
Наличие разноименных кванторов усложняет вывод заключения. Поэтому рассмотрим класс формул, содержащих только кванторы всеобщности. Формула $F$ называется $\forall-$ формулой, если она представлена в ПНФ и содержит только кванторы всеобщности, $\forall_{x_1}\forall_{x_2}....\forall_{x_n}F(x_1, x_2,...,x_n)$ .
\end{block}
Для устранения кванторов существования из префикса формулы разработан алгоритм Сколема, вводящий \textbf{сколемовскую функцию} для связывания предметной переменной квантора существования с другими предметными переменными
\end{frame}
\begin{frame}{Алгоритм Сколема}
\begin{itemize}
\item
Шаг 1. Представить формулу F в виде ПНФ, т.е $K_{x_1}K_{x_2}....K_{x_n}M(x_1, x_2,...,x_n)$, $K\in\{\forall,\exists\}$.
\end{itemize}
\end{frame}
\begin{frame}{Алгоритм Сколема}
\begin{itemize}
\item
Шаг 2. Найти в префиксе самый левый квантор существования:\\
a) если квантор находится на первом месте префикса, то вместо перемен-ной, связанной квантором существования, подставить всюду предметную постоянную , отличную от встречающихся предметных постоянных в матрице формулы, а квантор существования удалить;\\
б) если квантор находится не на первом месте префикса $\forall_{x_1}\forall_{x_2},...,\forall_{x_{i-1}}, \exists_{x_i},...$, то выбрать функциональный символ $f$, отличный от функциональных символов матрицы $М$ и выполнить замену предметной переменной $x_i$, связанной квантором существования, на функцию $f(x_1;x_2 ;… x_{i-1})$ и квантор существования удалить.
\end{itemize}
\end{frame}
\begin{frame}{Алгоритм Сколема}
\begin{itemize}
\item
Шаг 3. Найти следующий справа квантор существования и перейти к ис-полнению шага 2, иначе конец.\\
Формулу ПНФ, полученную в результате введения сколемовской функции называют \textbf{сколемовской стандартной формой формулы }(ССФ).
\end{itemize}
\end{frame}
\end{document}