Алгебра логики высказываний Основные понятия Исходным понятием логики высказываний является простое высказывание. Это понятие не определяется через другие понятия, так как является базовым. Под высказыванием обычно понимают всякое повествовательно предположение, утверждающее что-либо о чем-либо. Если смысл, содержащийся в высказывании, соответствует действительности, то высказывание называют истинным. В противном случае – ложным. Обычно элементарные высказывания обозначают строчными буквами латинского алфавита a, b, c, x, y …, которые также являются логическими переменными. Истинные значения обозначаются буквой И или 1, а ложные – Л или 0. Из элементарных высказываний можно составить более сложные с помощью логических связок , , , , , называемых соответственно отрицание, логическое и (конъюнкция), логическое или (дизъюнкция), логическое следствие (импликация), эквивалентность и круглых скобок (, ). Семантику логических связок можно представить с помощью таблицы истинности. В левой части этой таблицы перечисляются все возможные комбинации значений логических переменных. В правой части – соответствующие им значения новых выражений, полученных из переменных и связок. Х у х х у х у х у х у 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 1 0 1 1 1 1 Связки имеют следующий приоритет: . Приоритет операций, представленных логическими связками можно изменить с помощью скобок. Высказывания, построенные с помощью простых высказываний, связок и скобок, называют правильно построенными формулами или сокращённо формулами. Замечательным свойством логики высказываний является то, что ее семантика близка к соответствующим высказываниям на естественном языке. Так, например семантика формул содержащих связки и практически совпадает со смыслом фраз содержащих слова «не» и «и». Однако имеются и некоторые различия. Так формула х у несколько шире, чем русское «х или у». Выражение «х или у» по смыслу ближе к формуле х у х у. Еще больше различий между семантикой формулы х у в логике высказываний и выражению «из х следует у». В русском языке это выражение истинно, если истинны х и у, т.е. предложение русского языка по смыслу совпадает с формулой х у. Логическое следствие истинно также, если х и у ложны или х ложна, а у истинна. Логическую формулу х у следует интерпретировать на естественном языке так: «Если х истинна, то у тоже истинна, а остальное неизвестно». Для любой формулы также можно построить таблицу истинности. Например, для формулы таблица истинности будет выглядеть следующим образом: х у х x у х ( x у) x ( x у) x 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 1 Очевидно, что если формула содержит n переменных, то в таблице истинности будет содержаться 2n строк. В приведенном примере формула содержит 2 переменные и 22 = 4 строки. Кроме того, данная формула истинна на любом наборе значений своих переменных. Такие формулы называются тождественно истинными или тавтологиями. В противоположной ситуации, формула является тождественно ложной или невыполнимой. Если две разные формулы принимают одинаковые значения на любом наборе значений переменных, то такие формулы называют равносильными. Равносильные формулы будем обозначать знаком равенства =.^ Законы алгебры логики В логике высказываний известно много общезначимых формул, которые также называются законами логики высказываний. Основными законами являются следующие: законы идемпотентности:x x = xx x = xx 1 = xx 1 = 1x 0 = 0x 0 = xx x = 0 – закон противоречияx x = 1 – закон исключения третьего x = x – закон снятия двойного отрицания законы поглощенияx (y x) = xx (y x) = x Доказательство этих и последующих законов элементарно осуществляется с помощью построения таблиц истинности или простейших логических рассуждений. Следующая группа законов представляет взаимосвязь между логическими операциями: (x y) = (x y) (y x)x y = x y законы Де Моргана (y x) = y x (y x) = y x Замечательным следствием приведенных выше законов является следующий факт. Любую логическую формулу можно заменить равносильной ей, но содержащую только две логические операции: конъюнкцию или отрицание или дизъюнкцию или отрицание. Дальнейшее исключение логических операций, очевидно, невозможно, то есть приведенные пары представляют минимальный базис для построения правильно построенных формул. Однако существует операция, с помощью которой можно представить любую логическую связку. Эта операция получила название «штрих Шеффера» и определяется следующим образом: х у х | у 0 0 1 0 1 1 1 0 1 1 1 0 На основании этого определения можно ввести следующие законы, выражающие взаимосвязь операции «штрих Шеффера» и других логических связок: x = x | xx y = (x | y) | (x | y) Также следует отметить, что x | y = (x y). К основным законам алгебры логики также относятся следующие: коммутативные законых y = y хх y = y х дистрибутивные законых (y z) = (х y) (х z)х (y z) = (х y) (х z) ассоциативные законых (y z) = (х y) zх (y z) = (х y) z Еще одним важным законом алгебры логики является закон двойственности. Пусть формула A содержит только операции конъюнкции, дизъюнкции и отрицания. Для операции конъюнкции двойственной считается дизъюнкция, а для дизъюнкции – конъюнкция. Тогда по определению формулы A и A* называются двойственными, если формула A* получается из A путем замены в ней каждой операции на двойственную. Например, для формулы (х y) z двойственной формулой будет (х y) z. Для двойственных формул справедлива следующая теорема: если формулы A и B равносильны, то равносильны и двойственные им формулы, то есть A* = B*. Данную теорему оставим без доказательства. С помощью законов логики можно осуществлять равносильные преобразования. Такие преобразования используются для доказательств, приведения формул к заданному виду, упрощения формул. Под сложностью формул обычно понимается количество символов, используемых для ее записи. То есть формула α проще формулы , если α содержит меньше букв и логических операций. Например, для формулы ( (x y) x y) y можно записать следующую цепочку преобразований, приводящих ее к более простому виду: ( (x y) x y) y = (x y x y) y = (x y) y = y.^ Функции алгебры логики Значение формулы алгебры логики полностью зависит от значений входящих в нее высказываний. Поэтому такая формула может считаться функцией входящих в нее элементарных высказываний. Например, (x y) z является функцией f(x, y, z). Естественно, значения этой функции и входящих в нее элементов могут принимать значения истина или ложь. Тождественно истинные или тождественно ложные функции представляют собой константы. Каждую функцию алгебры логики можно записать в виде формулы или представить таблицей истинности. Как уже было отмечено выше, таблица истинности для n переменных содержит 2n строк. Следовательно, каждая функция алгебры логики принимает 2n значений, состоящих из 0 или 1. Общее же число наборов значений, состоящих из 0 и 1, длины 2n равно 22n. В частности, число различных функций от одной переменной равно четырем. х f1(x) f2(x) f3(x) F4(x) 0 1 1 0 0 1 1 0 1 0 Из этой таблицы следует, что две функции являются константами f1(x) = 1 и – f2(x) = x, а остальные f3(x) = x и f4(x) = 0.^ Представление произвольной логической функции в виде формулы алгебры логики Пусть с помощью таблицы истинности задана произвольная функция алгебры логики n переменных F(x1, x2, …, xn). Рассмотрим формулу:F(1, 1, …, 1) x1 x2 … xn F(1, 1, …, 1, 0) x1 x2 … xn-1 xn (1) F(1, 1, …, 0, 1) x1 x2 … xn-1 xn F(0, 0, …, 0) x1 x2 … xn которая составлена следующим образом: каждое слагаемое этой логической суммы представляет собой конъюнкцию, в которой первый член является значением функции F при некоторых определенных значениях ее переменных, остальные же члены конъюнкции представляют собой сами переменные или их отрицания. При этом под знаком отрицания находятся те и только те переменные, которые в первом члене конъюнкции имеют значение 0. Ясно, что формула (1) полностью определяет функцию ^ F. Иначе говоря, значения функции F и формулы (1) совпадают на всех наборах значений переменных xi. Например, если x1 принимает значение 0, а остальные переменные принимают значение 1, то функция F принимает значение F(0, 1, 1, …, 1). При этом логическое слагаемое F(0, 1, …, 1) x1 x2 … xn= F(0, 1, …, 1) 0 1 … 1, входящее в формулу (1), принимает также значение F(0, l,…, l), а все остальные логические слагаемые формулы (1) имеют значение 0. Действительно, в них знаки отрицания перед переменными распределяются иначе, чем в рассмотренном слагаемом. Таким образом, при подстановке вместо переменных тех же значений в конъюнкцию войдет символ 0 без знака отрицания, а символ 1 под знаком отрицания. В таком случае один из членов конъюнкции будет иметь значение 0, и поэтому вся конъюнкция также будет иметь значение 0. В связи с этим на основании закона x 0 = x значением формулы (1) является F(0, l,…, l). Ясно, что вид формулы (1) может быть значительно упрощен, если в ней отбросить те логические слагаемые, в которых первый член конъюнкции имеет значение 0 (и, следовательно, вся конъюнкция имеет значение 0). Если же в логическом слагаемом первый член конъюнкции (то есть определенное значение функции F) имеет значение 1, то, пользуясь законом 1 х = x, этот член конъюнкции можно не выписывать. Таким образом, в результате получается формула (1), которая содержит только элементарные переменные высказывания и обладает следующими свойствами: каждое логическое слагаемое формулы содержит все переменные, входящие в функцию F(x1, x2, …, xn), все логические слагаемые формулы различны, ни одно логическое слагаемое формулы не содержит одновременно переменную и ее отрицание, ни одно логическое слагаемое формулы не содержит одну и ту же переменную дважды, Перечисленные свойства будем называть свойствами совершенства или, коротко, свойствами. Из приведенных рассуждений видно, что каждой не тождественно ложной функции соответствует единственная формула указанного вида. Если функция F(x1, x2, …, xn) задана таблицей истинности, то соответствующая ей формула алгебры логики может быть получена просто. Действительно, для каждого набора значений переменных, на котором функция F(x1, x2, …, xn) принимает значение 1, записывается конъюнкция элементарных переменных высказываний, взяв за член конъюнкции хk, если значение xk на указанном наборе значений переменных функции F есть 1 и х, если значение xk есть 0. Дизъюнкция всех записанных конъюнкций и будет искомой формулой. Пусть, например, функция F(x1, x2, x3) имеет следующую таблицу истинности: x1 X2 x3 F(x1, x2, x3) 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 Для наборов значений переменных (1, 1, 0), (1,0,1), (0,1,0), (0, 0, 0), на которых функция принимает значение 1, запишем конъюнкции x1 x2 x3, x1 x2 x3, x1 x2 x3, x1 x2 x3. а искомая формула, обладающая свойствами совершенства, будет иметь вид:x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3.^ Дизъюнктивная нормальная форма и совершенная дизъюнктивная нормальная форма Элементарной конъюнкцией n переменных называется конъюнкция переменных или их отрицаний. ^ Дизъюнктивной нормальной формой (ДНФ) формулы А называется равносильная ей формула, представляющая собой дизъюнкцию элементарных конъюнкций. Для любой формулы алгебры логики путем равносильных преобразований можно получить ее ДНФ, причем не единственную. Например, для формулы А = х (х y) имеем:А = х ( х y) = (х х) (х y) = х y, то есть ДНФ А = (х х) (х y) и ДНФ А = х y. Среди многочисленных ДНФ А существует единственная ДНФ А, для которой выполняются перечисленные выше четыре свойства совершенства. Такая ДНФ А называется совершенной дизъюнктивной нормальной формой формулы А (СДНФ А). Как уже указывалось, СДНФ А может быть получена с помощью таблицы истинности. Другой способ получения СДНФ формулы ^ А основан на равносильных преобразованиях формулы и состоит в следующем: путем равносильных преобразований формулы А получают одну из ДНФ А. если в полученной ДНФ ^ А входящая в нее элементарная конъюнкция В не содержит переменную xi, то, используя закон B (xi xi) = B, элементарную конъюнкцию B заменяют на две элементарных конъюнкции (B xi) и (B xi), каждая из которых содержит переменную xi. если в ДНФ А входят две одинаковых элементарных конъюнкции В, то лишнюю можно отбросить, пользуясь равносильностью В В = В. если некоторая элементарная конъюнкция В, входящая в ДНФ А, содержит переменную xi и ее отрицание xi, то, на основании закона xi xi = 0, В = 0 и В, таким образом, можно исключить из ДНФ А, как нулевой член дизъюнкции. если некоторая элементарная конъюнкция, входящая в ДНФ А, содержит переменную xi дважды, то одну переменную можно отбросить, пользуясь законом xi xi = xi. Ясно, что после выполнения описанной процедуры будет получена СДНФ А. Например, для формулы А = x y (x y) ДНФ А = x (x y) (y y). Так как элементарная конъюнкция В = х, входящая в ДНФ А, не содержит переменной у, то заменим ее на две элементарных конъюнкции (x y) и (x y), В результате получим ДНФ А = x y x y x y y y. Так как теперь ДНФ А содержит две одинаковых элементарных конъюнкции x y, то отбросим лишнюю. В результате получим ДНФ A = x y x y y y. Так как элементарная конъюнкция y y содержит переменную у и ее отрицание, то y y = 0, и ее можно отбросить как нулевой член дизъюнкции. Таким образом, получаем СДНФ А = x y x y.^ Конъюнктивная нормальная форма и совершенная конъюнктивная нормальная форма Элементарной дизъюнкцией п переменных называется дизъюнкция переменных или их отрицаний.^ Конъюнктивной нормальной формой (КНФ) формулы А называется равносильная ей формула, представляющая собой конъюнкцию элементарных дизъюнкций. Для любой формулы алгебры логики путем равносильных преобразований можно получить ее КНФ, причем не единственную. Например, для формулы А = (х у) х у имеем:А = ( (х у) х у) (х у (х у)) = = (х у х у) ( (х у) (х у)) = = (х х у) (х у у) ( х у х) ( х у у) , то есть КНФ А = (х х у) (х у у) ( х у х) ( х у у). Но так как х х = х, у у = у, х х = х, у у = у, то КНФ A = (х у) (х у) ( х у) ( х у). А так как (х у) (х у) = х у, ( х у) ( х у) = ( х у), то КНФ A = (х у) ( х у). КНФ А называется совершенной конъюнктивной нормальной формой формулы А (СКНФ А), если для нее выполнены условия: Все элементарные дизъюнкции, входящие в КНФ А , различны. Все элементарные дизъюнкции, входящие в КНФ А, содержат все переменные. Каждая элементарная дизъюнкция, входящая в КНФ А, не содержит двух одинаковых переменных. Каждая элементарная дизъюнкция, входящая в КНФ А, не содержит переменную и ее отрицание. Можно доказать, что каждая не тождественно истинная формула имеет единственную СКНФ. Один из способов получения СКНФ состоит в использовании таблицы истинности для формулы ^ А. Действительно, получив с помощью таблицы истинности СДНФ А, мы получим СКНФ А, взяв отрицание (СДНФ А), то есть СКНФ А = (СДНФ А). Другой способ получения СКНФ, использующий равносильные преобразования, состоит в следующем: Путем равносильных преобразований формулы ^ А получают одну из КНФ А. Если в полученной КНФ А входящая в нее элементарная дизъюнкция В не содержит переменную хi, то, используя закон В (xi xi) = В, элементарную дизъюнкцию В заменяют на две элементарные дизъюнкции В xi и В xi, каждая из которых содержит переменную xi. Если в КНФ А входят две одинаковых элементарных дизъюнкции В, то лишнюю можно отбросить, пользуясь законом В В = В. Если некоторая элементарная дизъюнкция, входящая в КНФ А, содержит переменную xi дважды, то лишнюю можно отбросить, пользуясь законом xi xi = xi. Если некоторая элементарная дизъюнкция, входящая в КНФ А, содержит переменную xi, и ее отрицание, то xi xi = 1 и, следовательно, вся элементарная дизъюнкция имеет значение 1, а поэтому ее можно отбросить, как истинный член конъюнкции. Ясно, что после описанной процедуры будет получена СКНФ ^ А. Например, для формулы А = x y (x y) КНФ А = x (y (x y)) = (x y) (x x y). Так как обе элементарные дизъюнкции содержат все переменные (x и y), то первое и второе условие СКНФ выполнены. Элементарная дизъюнкция x x y содержит переменную х дважды, но x x = x, поэтому КНФ А = (x y) (x y); причем, ни одна из элементарных дизъюнкций не содержит переменную и ее отрицание. Значит, все условия СКНФ выполнены, и, следовательно, СКНФ А = (x y) (x y). ^ Минимизация булевых функций. Карты Карно Сложность логической функции, как уже было отмечено выше, определяется сложностью ее аналитической записи. Минимальной формой логической функции на некотором множестве фиксированных операций (базисе) можно считать такую, которая содержит минимальное число суперпозиций функций базиса, допуская и скобки. Однако построить эффективный алгоритм такой минимизации с получением минимальной скобочной формы трудно. Более простой задачей минимизации является нахождение минимальная ДНФ функции. Для этой задачи существуют простые эффективные алгоритмы. Один из них основан на применении карт Карно.^ Карта Карно – это двумерная табличная форма представления булевой функции, позволяющая в наглядной графической форме легко отыскать минимальные ДНФ логических функций. Каждой клетке в таблице сопоставляется дизъюнкт СДНФ минимизируемой функции, причем так, что любым осям симметрии таблицы соответствуют зоны, взаимно инверсные по какой-либо переменной. Такое расположение клеток в таблице позволяет легко определить склеивающиеся термы СДНФ (отличающиеся знаком инверсии только одной переменной): они располагаются в таблице симметрично. Например, следующая карта Карно построена для импликации двух переменных х у. В ячейки карты вписываются значения из таблицы истинности функции, при этом, если перед соответствующей переменной стоит знак отрицания, то в таблице истинности выбирается строка с ложным значением данной переменной, иначе – с истинным значением.Все четыре клетки соответствуют всем возможным конъюнкциям СДНФ функции 2 переменных. Единичные значения функции показывают те дизъюнкты, которые присутствуют в СДНФ этой функции. Расположения элементов в картах Карно функции 2 переменных таково, что в один конъюнкт эта переменная входит без отрицания, а в другой – с отрицанием. Алгоритм поиска минимальной ДНФ по карте Карно основан на выявлении на карте минимального количества максимальных квадратов или прямоугольников со сторонами, равными степени двойки, так, чтобы они состояли только из ячеек, содержащих единицы. Для приведенной карты Карно единичные значения покрывают ячейки с координатами х и у, соответственно искомая минимальная ДНФ будет х у. Рассмотрим другую логическую функцию f = p q r q (p r). Знаком обозначается операция сложения по модулю 2 или «исключающее или» (XOR – eXclusive OR), которая определяется следующим образом: х у х у 0 0 0 0 1 1 1 0 1 1 1 0 Таблица истинности для данной формулы имеет следующий вид: p q r f 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 0 Карта Карно для функции трех переменных должна содержать, очевидно, 8 ячеек. Подобную карту можно изобразить следующим образом:Для этой карты Карно единичные значения присутствуют в ячейках с координатами q r и q p, соответственно минимальная ДНФ будет q r q p. В силу симметрии карт Карно при построении прямоугольников возможно объединение ячеек, находящихся в крайних позициях, так как при ином расположении координат строк или столбцов (переменных без отрицания и с отрицанием) крайние ячейки окажутся внутри карты. Следующие две карты Карно эквивалентны (местами поменялись координаты r и r) и на них указано корректное объединение ячеек в прямоугольные области:Карты Карно также удобны и для минимизации не полностью определенных функций. Например, пусть объявлена функция, у которой не определено часть значений: x y z f 0 0 0 – 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 – 1 1 0 1 1 1 1 – При построении карты Карно для этой функции неопределенные значения можно заменить любыми – 0 или 1. Таким образом, выявляя на карте Карно прямоугольники из единиц, можно использовать ячейки, не содержащие значений.Для данного примера минимальная ДНФ равна y x.^ Решение логических задач средствами алгебры логики Суть применения методов алгебры логики к решению логических задач состоит в том, что, имея конкретные условия логической задачи, стараются записать их в виде формулы алгебры логики. В дальнейшем путем построения таблицы истинности или равносильных преобразований упрощают полученную формулу. Наконец, простейший вид формулы, как правило, приводит к ответу на все вопросы задачи. В качестве примера рассмотрим одну из элементарных логических задач. По подозрению в совершенном преступлении задержали Брауна, Джона и Смита. Один из них был уважаемым в городе стариком, другой был малоизвестным чиновником, третий – известным мошенником. В процессе следствия старик говорил правду, мошенник лгал, а третий задержанный в одном случае говорил правду, а в другом – ложь. Вот, что они утверждали:^ Браун: «Я совершил это. Джон не виноват».Джон: «Браун не виноват. Преступление совершил Смит».Смит: «Я не виноват, виновен Браун». Необходимо определить имена старика, мошенника и чиновника и кто из них виноват, если известно, что преступник один. Решение этой задачи начинается с введения обозначений: буквами Б, Д и С обозначим высказывания: «виноват Браун», «виноват Джон» и «виноват Смит» соответственно. Тогда утверждения, высказанные задержанными, можно записать в виде конъюнкций: Б Д, Б С, Б С, из которых, по условию задачи, две ложны, а одна истинна. Поэтому будет истинной формулаL = (Б Д) ( Б С) (Б С). Таблица истинности этой формулы имеет вид: Б Д С Б Д Б С Б С L 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 Из таблицы видно, что формула L истинна в пяти из восьми случаев. Случай, представленный в пятой строке, следует исключить из рассмотрения, так как здесь оказываются истинными две конъюнкции, а это противоречит условию задачи. В строках 4, 6 и 7 оказываются истинными по два высказывания: Д и С, Б и С, Б и Д, соответственно, что также противоречит условию задачи. Следовательно, справедлив случай 7, то есть преступник – Смит. Он – известный мошенник, и оба его высказывания ложны: Б С 0. При этом высказывания Б и Д ложны. Значит, истинна пара высказываний Джона, а у Брауна первое высказывание ложно, а второе истинно. Отсюда ясно, что Джон – уважаемый в городе старик, а Браун – Малоизвестный чиновник.^ Исчисление высказываний Для определения значения логических формул можно воспользоваться таблицами истинности. Однако, построение таблицы истинности не всегда возможно или удобно. Например, в силу ее значительной размерности для большого числа переменных. Поэтому, наряду с таблицами истинности пользуются и другими, аналитическими способами вычисления значений логических формул.^ Логическим исчислением или просто исчислением называют четверку, которая включает в себя: Алфавит (совокупность используемых символов); Синтаксические правила построения формул в алфавите; Аксиомы (общезначимые формулы или тождественно истинные формулы); Правила вывода по аксиомам производных формул или теорем.Основное назначение исчисления высказываний – доказательство истинности формул на основании аксиом или других истинных формул. Для этого вводятся специальные правила вывода вида α ├ , где α называется условием, – следствием, которые позволяют по истинности α заключить об истинности . Если в условии или следствии несколько формул, то они записываются через запятую. Если из истинности всех формул, входящих в условие, следует истинность всех формул входящих в следствие, правило называют состоятельным. Доказательство состоятельности можно осуществить через построение таблицы истинности, где в строках перечислены все модели условия. Если всем этим условиям соответствуют истинные следствия, то правило состоятельно.^ Классическое исчисление высказываний Исчислением высказываний называют исчисление, в котором в качестве алфавита взят алфавит логики высказываний, в качестве синтаксических правил – синтаксические правила логики высказываний, в качестве аксиом – некоторое множество общезначимых формул, а в качестве правил – правила Modus ponens и правило подстановки.В классическом исчислении высказываний приняты следующие аксиомы:α ( α),(α ( γ)) (( α ) (α γ)),(α ) α,(α ) ,α (α ), (α ),(α ) ((α γ) (α ( γ)),(α γ) (( γ) ((α ) γ)),(α ) ( α),α α,α α.Классическое исчисление высказываний использует два правила вывода:Modus ponens. Из истинности условия импликации и истинности самой импликации следует истинность следствия импликации: α, α├ .^ Правило одновременной подстановки. Из формулы α(р), где р – переменная, выводима формула α(R), где R – формула, получаемая заменой в α(р) каждого вхождения переменной р на формулу R: α (р) ├ α (R). В общем случае будем обозначать подстановку (x1,…, xn α1,…, αn).Таким образом, доказуемой формулой называется всякая формула, которая или является аксиомой, или получается из доказуемых формул с помощью правил подстановки и Modus Ponens.^ Натуральное исчисление высказываний При практическом решении задач удобнее пользоваться не законами логики, а правилами из заменяющими. В натуральном исчислении высказываний помимо правил Modus ponens и подстановки используют следующие:^ Исключение конъюнкта. Из истинности конъюнкции следует истинность любого ее конъюнкта: α1 α2 … αn ├ αi.Введение конъюнкции. Из списка истинных формул следует истинность их конъюнкции: α1, α2, …, αn ├ α1 α2 … αn.Введение дизъюнкции. Из истинности формулы следует истинность ее дизъюнкции с любыми другими формулами: α1 ├ α1 α2 … αn.Исключение двойного отрицания. Из истинности двойного отрицания формулы следует истинность ее самой: α ├ α.Простая резолюция (удаление дизъюнкта). Из истинности дизъюнкции и отрицания одного из ее дизъюнктов следует истинность формулы после удаления этого дизъюнкта: α , ├ α.Резолюция. Из истинности двух дизъюнкций, одна из которых содержит дизъюнкт, а другая его отрицание следует формула, являющаяся дизъюнкцией исходных формул после удаления этого дизъюнкта: α , γ ├ α γ.^ Понятие выводимости Пусть имеется конечная совокупность формул H = {A1, A2 ,…, An}. Говорят, что формула B выводима из совокупности H (можно записать как B├ H), если: либо B H, либо B – доказуемая формула исчисления высказываний, либо B получается по правилу Modus ponens из формул C и C B, которые выводимы из совокупности H.Примеры Рассмотрим, как можно установить доказуемость формул, используя правило подстановки и правило Modus ponens. Доказать A A A Возьмем аксиому (α γ) (( γ) ((α ) γ)) и сделаем в ней подстановку (α, γ, A, A, A). Получим: (A A) ((A A) ((A A) A)); Докажем выводимость A A: Возьмем аксиому (α ( γ)) (( α ) (α γ)) и сделаем в ней подстановку (α, γ, x, y, x). Получим: (x (y x)) ((x y) (x x)); Из аксиомы x (y x) и правила Modus ponens имеем: (x y) (x x); Выполним подстановку (y x). Получим: (x x) (x x); Из аксиомы x x и правила Modus ponens имеем: x x; Из формулы x x и правила Modus ponens имеем: (A A) ((A A) A); Аналогично: (A A) A; Формула доказана.^ Логика предикатов В алгебре логики высказываний собственно высказывания рассматриваются как неразделимые целые и только лишь с точки зрения их истинности или ложности. Стуктура высказываний или их содержание не рассматриваются. Другим недостатком логики высказываний является ее многословность – даже для описания простых ситуаций требуется значительное количество логических переменных и формул. Главная идея логики предикатов заключается во взаимнооднозначном сопоставлении каждого уникального объекта с индивидуальной объектной константой, обозначаемой именем объекта, а класс однотипных объектов – с объектной переменной, значением которой являются объектные константы. Например, рассмотрим высказывание «7 – простое число». Эту фразу в логике высказываний можно представить с помощью логической переменной, предположим a. Для того, чтобы представить на языке логики другое высказывание «13 – простое число» понадобится другая переменная. Таким образом, для описания простых чисел нам понадобится столько логических переменных, сколько существует простых чисел. На языке логики предикатов эта фраза может быть представлена так: простое_число(7). А весь набор подобных фраз: простое_число(значение). В данном примере простое_число – это предикатный символ, 7 – объектная константа, а значение – объектная переменная.Предикатом называют высказывательную функцию, определенную на множестве наборов значений объектных переменных. Эта функция может принимать только два значения: Истина или Ложь, называемые истинностными значениями. Предикаты могут быть одноместными, если аргумент один, или многоместными – если аргументов несколько. Отношения между объектами среды, также как и в логике высказываний, представляются в виде предложений (формул), состоящих из переменных, констант, связок, скобок, а также функций, предикатов и кванторов.^ Объектные константы Объектная константа или просто константа взаимнооднозначно сопоставляется в процессе интерпретации с каким-либо одним объектом и обозначается строкой символов, начинающихся с прописной буквы.^ Объектные переменные Объектные переменные или просто переменные обозначаются строкой, начинающейся со строчной буквы. Областью значений каждой переменной является множество констант, в общем случае бесконечное.Функции Если некоторый объект в точности соответствует множеству других, то используют функции. Например, если объектами являются двоичные цифры и десятичные цифры, то любому двоичному можно однозначно сопоставить десятичное, и выразить это сопоставление в виде функции преобразование_2_в_10(x, y, z), где x, y, z – двоичные числа, а значение функции – десятичное. Выражение преобразование_2_в_10 называют функциональным символом. Функция в логике предикатов не предполагает обязательного наличия алгоритма вычисления ее значения по аргументам. Она лишь задает с помощью констант и переменных определенное отношение между объектами, соответствующими ее аргументам, и каким-то одним объектом.Термы Константы, переменные и функции являются темами. Как именно выбирать термы для представления знаний – решать разработчику. Рассмотрим, например, среду, состоящую из объектов птицы и крылья. Пусть, также, нам известно, что птицы имеют крылья. Введем константы, обозначающие конкретных птиц: Воробей, Синица, Голубь, и константу Крылья. Введем переменную х, определенную на множестве птиц. Функциональный символ имеет ставит во взаимно однозначное соответствие любой птице объект крылья. Функция имеет (х) задаёт отношение между объектом крылья и какой-либо птицей х. Если х = Воробей, то имеет (Воробей) = Крылья. Функция может и не содержать аргументов, то есть иметь один функциональный символ. Термы, не содержащие аргументов, то есть константы, переменные и функции без аргументов называют элементарными термами. ^ Предикатный символ Как и в случае с функцией предикаты начинаются с предикатного символа и следующими за ним в скобках упорядоченного набора переменных или констант, соответствующих объектам, которые находятся в поименованном отношении. С помощью предикатов задаются произвольные отношения между объектами, если аргументов несколько. Если аргумент только один, то предикат описывает свойство объекта, заданного аргументом. Так, например, если два человека Маша и Саша являются братом и сестрой, то это отношение может быть выражено с помощью предиката брат_сестра (Маша, Саша). Предикат может принимать значение Истинно или Ложь. Если предикат Истинен, то отношение имеет место, иначе – не имеет. Отношение между птицами и крыльями также может быть выражено с помощью предиката. Пусть предикат крылья(х) Истинен, если х имеет крылья, тогда при х = Воробей конструкция крылья(Воробей) будет представлять знания о том, что у Воробья есть крылья.Атомы Выражение предикатный_символ (терм, терм, …, терм) называют атомом. Атом представляет предикат. Особо выделяется атом, предикатным символом которого является знак равенства, а аргументами два терма. Этот атом можно было бы представить как равны (терм, терм) или = (терм, терм), но, как правило, его записывают в обычной инфиксной форме терм = терм. Этот атом истинен, когда значения обоих термов совпадают. Атомы без знака отрицания ил
Похожие работы
Альфред адлер: индивидуальная теория личности биографический очерк
АЛЬФРЕД АДЛЕР: ИНДИВИДУАЛЬНАЯ ТЕОРИЯ ЛИЧНОСТИ БИОГРАФИЧЕСКИЙ ОЧЕРКАльфред Адлер (Alfred Adler) родился в Вене 7 февраля 1870 года, третьим из шести детей. Как и Фрейд, он…
«Макроэкономические проблемы рф»
Секция 10. «Макроэкономические проблемы РФ»Руководитель – Еремина Марина Юрьевна, доцент кафедры «Экономика и управление»Место проведения: Аудитория 518 учебного корпуса 7 Голев Степан Вячеславович, «Камчатский государственный…
«Страна Буквляндия»
Всем учителям, которые убеждены в том, что при обучении иностранному языку удовольствие и успех идут вместе.УЧИМСЯ ЧИТАТЬ, ИГРАЯПисецкая Алина, НОУ “Аврора”БлагодарностьМне бы хотелось поблагодарить тех,…
Xvi международная конференция
XVI Международная конференция «Информационные технологии на железнодорожном транспорте» и выставка отраслевых достижений «ИНФОТРАНС-2011»11-12 октября, г. Санкт-Петербург, «Парк Инн Прибалтийская» IT-инновации для железнодорожного транспортаОрганизатор: ООО «Бизнес…
«фізика навколо нас»
Фізичний вечір на тему: «ФІЗИКА НАВКОЛО НАС»І. Вступ(Лунає музика.Виходять учні)Учень.УВАГА! УВАГА!На вечорі цьомуНемає артистів, еквілібристів,Дуетів,квартетів,славетних солістів.Ровесники, друзі,Тут ваші знайомі,Що разом із вами за партами сидять.Ми…
«экспресс каникулы в скандинавии» финляндия швеция обозначение тура: фш3
«ЭКСПРЕСС КАНИКУЛЫ В СКАНДИНАВИИ»ФИНЛЯНДИЯ – ШВЕЦИЯ Обозначение тура: ФШ3 Круиз по Балтийскому морю – ХЕЛЬСИНКИ – ТУРКУ – СТОКГОЛЬМ ОТЪЕЗД ИЗ САНКТ – ПЕТЕРБУРГА: на…