1. Необходимое и достаточное условие взаимнооднозначного кодирования A= {a1,a2,..,ar} – алфавит сообщения. B={b1,b2,..,bq} – алфавит кода. А= ai1 ai2 …ai s – слово в алфавите сообщ-ия. B= bi1 bi2 …bik – слово в алфавите кода. Алфавитное кодирование: а1 – В1 ……… (∑) – схема алф.кодирования (Bi – элементарные коды) аr - Вr Свойство префикса: никакой элемен-ый код не должен быть началом другого элем-ого кода. Рассмотрим схему алф.кодирования (∑). Введем обозначения: L(B)длина слова В, т.е. кол-во символов; L(Bi)= Li- длина элем.кода Bi (i=1,2..r). Предположим, что элементарный код Bi представим виде других элем. кодов: Bi= β’ Bi1 Bi2 … Biw β’’ (1). В этом разложении: β’ не может оканчиваться элем.кодом; β’’ не содержит в качестве начала (префикса) элем.код; w >=0. Обозначим через β0 множество, содержащее пустое слово λ , слова β , которые встречаются в разложении (1) в качестве префиксов и p окончаний: β0 = { λ, β’, β’’, … β } Каждой точке из β0 поставим в соответствие точку на плоскости и построим граф Г(∑). Рассмотрим все разложения вида (1), для каждого из них соединим точки, соответствующие словам β’ и β’’, дугой от β’ к β’’. 2. Неравенство Макмиллана. 3. Коды с минимальной избыточностью. 4. Построение кодового дерева и преобразование. 5. Метод Фано и Хафмена. Теорема. (без док-ва) Если алфавитное кодирование задается схемой (∑) и обладает свойством взаимной однозначности, то имеет место неравенство: Пусть A= {a1,a2,..,ar} – алфавит сообщения и известны вероятности появления каждого из этих символов (вероятность – частота появления символа). p1, p2,..,pr – вероятности появления символов a1,a2,..,ar. 0<= pi<=1; ∑(i=1…r) pi =1 Запишим схему (∑) кодирования в виде: p1 а1 – В1 …………. Можно считать p1>= p2>= …>= pr pr аr - Вr Li = L(Bi) – длина Пример 1: элем.кода Bi. 0.4 а1 – 00 ∑(i=1…r) Li * pi = Lср 0.35 а2 – 01 Lср (∑) = 0.4*2 + 0.35*2 + (∑) - избыточность 0.15 а3 - 10 + 0.15*2 + 0.1*2= 2 схемы кодирования 0.10 а4 - 11 (∑). Построение кодового дерева рассмотрим на примере: A= {a1,a2,..,a8} – алфавит сообщения, B={b1,…,b4} – алфавит кода. p1=0.22 a1 – b1 b3 p2=0.20 a2 – b3 p3=0.14 a3 – b1 b1 p4=0.11 a4 – b1 b2 p5=0.10 a5 – b4 b2 b3 p6=0.09 a6 – b1 b4 p7=0.08 a7 – b4 b1 p8=0.06 a8 – b4 b2 b4 Метод Фано: Берем произвольную вершину. Дугам, исходящим из нее, соответствуют символы b1, b3, b4, с которых начинаются элемен.коды. С символа b1 начинаются коды b1 b3; b1 b1; b1 b2; b1 b4, поэтому дуги следующего яруса соответствуют символам b1, b2, b3, b4. И т.д. И наконец дописываем соответствующие вероятности. Порядок ветвления - число ребер, исходящих из одной вершины. Теорема. Для кода с min избыточностью из условия pj < pi следует Lj >=Li. Док-во: П.П.: пусть (∑) – схема кодирования с min избыточностью и существуют j0 , i0 для которых pj0< pi0 Lj0 < Li0. Схема кодирования по предположению: p1 а1 – В1 p1 а1 – В1 …………… ……………. pi0 ai0 - Bi0 Li0 (∑) поменяем строки i0 и j0 pj0 aj0 - Bj0 Lj0 pj0 aj0 - Bj0 Lj0 получим (∑’) pi0 ai0 - Bi0 Li0 ……… ……………. pr аr - Вr pr аr - Вr Оценим разность между избыточностями схем (∑) и (∑’): Lср (∑) - Lср (∑’)= pi0* Li0 + pj0* Lj0 - pi0 Lj0 - pj0 Li0 = (pi0 - pj0)( Li0 - Lj0) > 0 Lср (∑) > Lср (∑’) Последнее неравенство противоречит тому, что (∑) – схема с min избыточностью. Ч.Т.Д. Переверни листок… Метод Хафмена (преобразование вероятностей) ∑(i=1…r) 1/( q^ Li) <= 1 где r – число символов в алфавите сообщения; q – число символов в алфавите кода; Li – длина элементарного кода Вi в схеме (∑). Пример: (*эта схема кодирования не обладает свойством однозначности*). а1 – b1 b2 = В1 L1=2 r=5 a2 –b1 b3 b2 = B2 L2= 3 q=3 a3 – b2 b3 = B3 L3= 2 a4 – b1 b2 b1 b3 = B4 L4= 4 a5 – b2 b1 b2 b2 b3 = B5 L5= 5 ∑(i=1…r) 1/( q^ Li) = 1/(3^2) + 1/(3^3) + 1/(3^2) + 1/(3^5) = = (1+ 3^3 + 3^2 + 3^3) * 1/(3^5) = 64 / 243 <=1 взаимной Задача состоит в том, чтобы построить такую схему кодирования (∑), избыточность которой была бы min по сравнению с любой другой схемой. Покажем существование схемы кодирования с min избыточностью. Пусть A= {a1,a2,..,ar} – алфавит сообщения, B= {b1,b2,..,bq } – алфавит кода, p1, p2,..,pr – вероятности появления символов a1,a2,..,ar. Пусть существует (∑) схема кодирования: p1 а1 – В1 L1 …………. ……… Lср (∑)= ∑(i=1…r) Li * pi pr аr - Вr Lr Переверни листок… Переверни листок… 1 0.35 a1 – 0 0 Разделяем столбец горизонтальной чертой так, чтобы 0.30 a2 – 0 1 разность между суммарными вероятностями верхней 0.20 a3 – 1 0 и нижней части была минимальной, ставим в 0.10 a4 – 1 1 0 соответствие каждому ai из верхней части 0, 0.05 a5 – 1 1 1 каждому ai из нижней части 1. Проводим аналогичное разбиение каждой из частей и т.д. Lср (∑)= 0.35*2+0.30*2+0.2*2+0.1*3+0.05*3 = 2.15 0.35 0.35 0.35 0.30 0.30 0.30 0.20 0.20 + = 0.35 0.10 + = 0.15 0.05 0.35 0.35 0.65 0 0.35 + = 0.65 0.35 1 0.30 1 00 01 1 01 000 001 1 01 000 0010 0011 Суммируются 2 наименьшие вероятности, остальные переписываются в новый столбец, а сумма ставиться на такое место в столбце, чтобы не нарушался порядок следования вероятностей по невозрастанию. Когда останутся 2 упорядоченные вероятности – большей поставить в соответствие 0, меньшей – 1. И, аналогично, раскладывая последовательно суммы на слагаемые, заполнять новые разряды 0 или 1. Lср(∑)=0.35*1+0.30*2+0.2*3+0.1*4+0.05*4 = 2.15 Следствие: в кодовом дереве для кода с min избыточностью вероятности, приписанные к концевым вершинам из L1 яруса, не меньше, чем вероятности, приписанные к концевым вершинам из L2 яруса, если L1>=L2. Опр.: конечное кодовое дерево наз-ся насыщенным, если порядки ветвления всех его вершин, за исключением быть может одной вершины из предпоследнего яруса, равны 0 или q, а порядок ветвления этой исключительной вершины равен q0, причем 2<= q0 <= q. Теорема (без док-ва). Существует код с min избыточностью, кодовое дерево которого является насыщенным. Преобразование кодового дерева: 1) Удаление ребра в последнем ярусе, если оно одно. 2) Перемещение ребер из последнего яруса в вершину кодового дерева, которое не является насыщенным. 3) Переприсваивание вероятностей по принципу p1>=p2, если L1<=L2. Преобразуем кодовое дерево из примера. p1=0.22 a1 – b2 p2=0.20 a2 – b3 p3=0.14 a3 – b1 b1 p4=0.11 a4 – b1 b2 p5=0.10 a5 – b1 b3 p6=0.09 a6 – b1 b4 p7=0.08 a7 – b4 b2 p8=0.06 a8 – b4 b1 (наибольшие вероятности приписали кодам наименьшей длины) 2 Пусть (∑) обладает свойством префикса (а значит и свойством взаим.однозначности кодирования). В частности всегда можно взять в алфавите кода слова В1…Вr одинаковой длины L. Например, такими словами могут быть размещения с повторениями, составленные из L символов bi, длины L. Число размещений с повторениями: à q = q^L >= r L>= log q r , L=[ log q r] +1 ([ ] –целая часть числа). L* = inf Lср (∑) (1) по всем схемам (∑), обладающим свойством префикса Lср (∑‘) = L* где (∑’) – схема кодирования с min избыточностью. Требуется доказать, что (∑’) существует и L* = min Lср (∑) . Чтобы доказать это, покажем, что множество схем (∑), по которым берется inf (1) конечно. pi * Li <= [ log q r] (pi<>0 i=1…r). Пусть p*=inf (pi<>0) pi – наименьшая вероятность, тогда Li <=[ log q r] / p* (2) Для кода с min избыточностью всегда выполняется (2). Количество кодов, удовлетворяющих (2), у которых длины не превосходят числа ( [ log q r] / p* ), конечно. В (1) inf берется по конечному числу схем кодирования, что доказывает существование схемы с min избыточностью. Пример1: а1 – b1 b2 = В1 a2 –b1 b3 b2 = B2= β’ β’’ a3 – b2 b3 = B3 a4 – b1 b2 b1 b3 = B4 = B1 β’ a5 – b2 b1 b2 b2 b3 = B5 = β’’ B1 B3 Теорема. Алфавитное кодирование со схемой (∑) не обладает свойством взаимной однозначности т. и т. т., когда граф Г(∑) содержит ориентирванный цикл, проходящий через вершину λ. Док-во: Необ-сть: пусть алф.кодирование, задаваемое схемой (∑), не обладает свойством взаимной однозначности, тогда существует слово В, которое по-разному (по крайней мере 2 способами) можно разбить на p элементарные коды: В= Bi01 Bi02 … Bi0w 0 β’ Bi11 … Bi1w 1 β’’ … β Bip1 … p Bi w p (2) Изображаем слово В в виде отрезка и разбиваем его на элем.коды (2 способами). По этому слову можно построить ориентированный цикл Г (∑) (см.выше) Bi0 = Bi01 Bi02 Bi03 β’ Bi1 = β’ Bi11 β’’ Bi2 = β’’ Bi21 Bi22 β’’’ Достаточность: Пусть граф Г (∑) содержит ориентированный цикл, проходящий через λ, тогда ему соответствует слово В вида (2), которое допускает 2 расшифровки В= (Bi01 ) (Bi02 )… (Bi0w 0 ) (β’ Bi11 … Bi1w 1 β’’) … p p В= (Bi01 Bi02 … Bi0w 0 β’) (Bi11 )…( Bi1w 1 ) (β’’) … (β Bip1 … Bi w p) (2 различные расшифровки) Доказали, что нет взаимной однозначности кодирования. Ч.Т.Д. 6. Определение и заданиче булевой функции 7. Теорема о числе булевых функций Переменная котор. принимает 1 из двух знач.: 0 или 1 наз. булевой. Теорема (О числе булевых ф-ций от n переменных): число булевых фций от n переменных равно: E={0;1} En={(α1,…,α n/ αi Є E, i=1,..,n} Функция наз. булевой, если она зависит от булевых переменных и принимает 1 из 2х значений: 0 или 1. f:En→E Способы задания булевых функций: 1) Описание (Пр. Функция голосования, зависит от нечётного числа переменных и принимает знач. 1, когда большинство перемен., от котор. она зависит равны 1) 2)Таблица истинности Пимер: 3)Множество истинности x y z f Ef={(α1,…,αn/f(α1,…,αn)=1} 0 0 0 0 Пр.: Ef={(0,1,1),(1,0,1),(1,1,0),(1,1,1)} 0 0 1 0 4)Формула алгебры высказываний 0 1 0 0 (Формул может быть много, 0 1 1 1 таблица одна). 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 3 2ⁿ (2 ) (2 в степени 2 ). Док-во: Каждая булева функция от n переменных однозначно задаётся столбцом своих значений. Длина этого столбца (высота) равна 2 n. Состоит он из 0 и 1. Число булевых ф-ций от n переменных равно кол-ву таких столбцов = числу размещений с повторениями из 2х эл-тов по 2n. Ã2ⁿ2= (22ⁿ) . Ч. Т. Д. n 8.Специальные виды формул. Элементарная коньюнкция и дизъюнкция xα =xα v ¬x¬α , α Є {0,1} x0 =x*0 v ¬x¬0 = ¬x xI =x Свойство: xα =1 равносильно x=α xα =αα v ¬α¬α = α v ¬α =1 xα =0 равносильно x= ¬α xα =α¬α v ¬α¬α = 0 v 0 =1 Опр.: Элементарной конъюнкцией составленной из переменных x1 ,…,xn, наз. формула вида: α1 α2 K=x i1Λ x i2 Λ…Λ xαrir (1), {i1, i2,…, ir}Є{1,2,…,n} r Є [0;n]. K=xα1i1 xα2i2 … xαrir r-ранг элементарной конъюнкции. Свойство: К вида (1) принемает значение 1 тогда и тол. тогда, когда xi1= α1, xi2= α2,…, xir = α1r, а остальные переменные могут принематьлюбые значения. Пример: n=3 K=¬xy=x0 y1 Ek=({0,1,0},{0,1,1}) Опр: Элементарной дизъюнкцией, составленной из переменных x1 ,…,yn, наз. формула вида: D= xα1i1v xα2i2 v…v xαrir (2) r-длина элементарной дизъюнкции {i1, i2,…, ir}Є{1,2,…,n}. Число элементарных дизъюнкций из n перемен = 3n. Свойство: Элементар. дизъюнкция (2) принемает знач. 0 тогда и только тогда, когда xi1= ¬α1, xi2= ¬α2,…, xir= ¬α1r, остальные перемн. могут принимать любые значения. 9. ДНФ 10.Теорема о разложениибулевых функций по переменным Опр. ДНФ, составленный из перемен x1,…,xn, наз. дизъюнкция различных элементарных конъюнкций, составлен. из этих переменных. Для всякой булевой ф-ции можно составить ДНФ при помощи таблицы и преобразований. Th: (Алгоритм построения ДНФ). Замечание: Предполагается, что фция f задаётся в виде формулы. Для всякой булевой ф-ции сущ. равносильная ей ДНФ. Док-во: 1)Выразить операции ,,↓,,/, через V, Λ, ¬, используя след равносильности: U → V = ¬U v V (3) U V=UV v ¬U¬V=(U v ¬V)( ¬U v V) (4) U V = ¬UV v U¬V=(U v V)(¬U v ¬V) (5) U / V= ¬( UV)= ¬U v ¬V (6) U ↓ V=¬(U v V)= ¬U¬V(7) 2)Упростить полученное выражение исп. законы: U v ¬U=1 KvKK/ =K(9) –поглощение U v 1=1 K,K/ - любые ф-лы алгебры выск. U Λ ¬U=0 K/¬K v K/K= K/(10) –склеивание. U v 0=0 U U= U U v U=U U v 0=U U Λ 1=U 3)Добиться того, чтобы знак. ¬ стоял только над переменными (Не над сложными выражениями). ¬(U v V)= ¬U¬V (11) ¬( UV)= ¬U v ¬V (12) (11,12 – формулы Де Моргана) 4)Раскрыть скобки в полученном выражении используя 1ый дистрибутивный закон: (V v U)W=U W v V W 2ой дистриб. закон: (U Λ V)v W= (U v W)Λ(V v W) 5) Перейти к 2. xα по определению = xα v ¬x¬α xα =1 равносильно x=α xα =0 равносильно x=¬α Th: (О разложении булевой функции по переменным): пусть f:En→E – произвольная булева ф-ция. 1<=m<=n, m Є N, тогда имеет место представление: f(x1,…,xm,xm+1,…,xn)=Vx1r1 x2r2…xmrm f(r1,…,r m,xm+1,…,xn) (1) Замечание: n=3, m=2 f(x2,x2,x3)=x10 x20f(0,0,x3) v x10 x21f(0,1,x3) v x11 x20f(1,0,x3) v x11 x21f(1,1,x3). Следствие: m=n f(x1,…,xn)=Vx1r1 x2r2…xnrn f(r1,…,r n), f(r1,…,r n)=1 f(x1,…,xn)=Vx1r1 x2r2…xnrn (2) Док-во: x1 ,…,xn x1 =α1,…, xn=αn (конкретные значения) Подставим в правую часть (1): Vx1r1 x2r2…xmrm f(r1,…,r m,αm+1,…,αn)= f(α1,…,αm,αm+1,…,αn) (α1=r1,…,αm=r m). – Ч.Т.Д. 4 11. Алгоритм построения СДНФ 12.Теорема о СКНФ. Алгоритм СКНФ. 13. КНФ 14. Полином Жегалкина 15. Метод неопределенных коэффициентов 1) Построить таблицу истинности ф-ции f. 2) В таблице выделить наборы на которых ф-ция принемает значение 1 3)Каждому такому набору (α1,…,αn) поставить в соответствие элементарную конъюнкцию x1α1,…,xnαn, которая только на этом наборе равна 1 4)Найденные элементарные конъюнкции объединить знаком дизъюнкции – полученная формула яв. СДНФ ф-ции f. Th: (О СКНФ): для каждой булевой ф-ции f:En→E (f≠1) Существует единственное представление в виде: f(x1,…,xn)=Λ(x1¬ r1 v x2 ¬ r2 v… v xn¬ rn) (3) (f(r1,…,r n)=0) (Теорема без док-ва) Алгоритм построения СКНФ: 1)Постр. таблицу истинности. 2)В таблице выделить наборы, на которых ф-ция f принемает значение 0. 3)Каждому таком набору (α1,…,αn) поставить в соответствие элементар. дизъюнкцию x1 ¬α1 v x2¬α2 v… v xn¬αn, которая только на этом наборе принемает значение 0. 4)Найденные элементар. дизъюнкции объед. знаком конъюнкции – мы получим СКНФ. f:En→E x1,…,xn- булевы переменные D= xα1i1v xα2i2 v…v xαsis {i1, i2,…, is}Є{1,2,…,n}. D=0, если s=0 Def:Конъюнктивной нормальной формулой состав. из переменных x1 ,…,xn наз. конъюнкция различных элементарных дизъюнкций. К(кнф)=D1 Λ D2 Λ…Λ D m Di –Различны. Утверждение: Для каждой булевой ф-ции f(x1,…,xn) существует реализующая её КНФ. К= f(x1,…,xn) Алгоритм построения КНФ для ф-ций, заданных формулами: 1)Выразить операции ->, <->, ↓ , , |, через V, Λ, ¬ u->v=(¬u) V v u<->v=uv V (¬u)(¬v)=((¬u) V v)(u V (¬v)) uv=¬(u<->v)= (¬u)v V u(¬v)=(u V v)((¬u) V (¬v)) u | v=(¬u) V (¬v) u ↓ v=(¬u)(¬v) 2) Добиться того, чтобы знак. ¬ стоял только над переменными (Не над сложными выражениями). ¬(U v V)= ¬U¬V (11) ¬( UV)= ¬U v ¬V (12) (11,12 – формулы Де Моргана) 3) 1ый дистрибутивный закон: (V v U)W=U W v V W 2ой дистриб. закон: (U Λ V)v W= (U v W)Λ(V v W) 4)Упростить используя 8 законов (и исп. равносильности (10-17). 1)U v ¬U=1 2)U v 1=1 3)U Λ ¬U=0 4)U v 0=0 5)U U= U 6)U v U=U 7)U v 0=U 8)U Λ 1=U Опр:пусть х1…хn – булевы переменные.монотонные конъюнкции,сост.из этих переменных,наз-ся элементарная конъюнкц.вида: kм=хi1 хi2…xir где {i1…ir} принадл. {1…n} Утв:число монот конъюнкции изn переменных = 2v Опр:ПЖ от перемен. Х1…хn наз-ся сумма по модулю 2 различных монот конъюнкций, сост из этих переменных P(x1…xn)=km1 +km2 +…+kml где 0≤l≤2n {сложение по модулю 2} Наибольший из рангов монот конъюнкций,вход в ПЖ,наз-ся степенью ПЖ P(x,y,z)=a0+a1 x+ a2 y+a3 z+a12 xy+a13 xz+a23 yz+a123 xyz {сложение по модулю 2} где а0….а123 – коэф-ты ПЖ, =0или1 P(x1…xn)=∑ai1,i2..is xi1.xi2,..xis {сложение по модулю 2} {i1…is} принадл. {1…n}; аi1….аis – коэф-ты ПЖ, =0или1 ; Т-ма: Для каждой булевой ф-ции сущесв единственно с точностью до порядка слагаемых её представление в виде ПЖ P(x1…xn)=∑ai1,i2..is xi1.xi2,..xis Д-во: Каждый ПЖ однозначно определяется набором своих коэф-в a0,a1,…,а12,…,а12..n длина этого набора 2n;состоит из 0 и 1 кол-во этих наборов => кол-во ПЖ от n перемен = числу размещений Ẵ2n2=2 в степени 2n было показано,что число булевых ф-ций от n перемен так же = 2 в степ 2n => м-ду мн-вом ПЖ и мн-вом булевых ф-ций от n существует взаимно однознач соответствие и тк каждый полином сам явл булевой фцией,заданной табл.,то получим единственность представления этой фции в виде ПЖ 1. построить табл истинности ф-ции f 2. общий вид ПЖ 3. исходя из того,что данная ф-ция и её полином принимают одинак значен на всевозможных наборах значен переменных,в них входящих,сост. сис-му уравнений для коэф-в ПЖ a0= f(000) a0+a1=f(100) … a0+a1+…+a123=f(111) 4. найденные коэф-ты в Р(x,y,z) => ПЖ 5 6 16. Метод эквивалентных преобразований. 17. Основные замкнутые классы T0 и T1 18. Класс S и S1 19. Класс М 20. Класс L 1) Выразить данную ф-ю через ۷,۸,¬. 2) Выразить ۷ через ۸ и ¬: x۷y=¬((¬x)۸(¬y)); 3) В полученном выражении выразить ¬ через : ¬х=х 1; класс То То={f принадл Б/f(0…0)=0} Элементар ф-ции: 0, х, ху, х дизъюнкц у, х слож по мод 2 у : принадл То 1, не х, х|у, х↔y, x→y : не принадл То Утв1: Класс То замкнут: любая суперпозиция ф-ций из класса То принадл То Д-во: F(0…0)=f(g1(0..0),g2(0..0),…,gn(0..0))=f(0..0)=0 Утв2: Тоn – мн-во ф-ций из То, число переменных у кот ≤n Мощность этого класса |Тоn|=2 в степени (2n-1) Д-во: S-класс самодвойств ф-ций Опр: f=f(x1…xn) – произв булева ф-ция; f*=не f(не х1, …,не xn) наз-ся двойственний ф-цией f опр:булева ф-ция f наз-ся самодв-ной,если она совпадает со своей двойственной f=f* (α1, ..,αn) принадл Е n принадл Т1 (не α1, ..,не αn) принадл Е n не принадл Т1 Утв:каждая не самодвойств ф-ция на противоположных наборах принимает противоп значения Д-во: f*=не f(не х1, ..,не хn)=f=f(x1, ..,xn) не f(не х1, ..,не хn)=f(x1, ..,xn) не α(не α1, ..,не αn)=f(α1, .., αn) утв: класс S замкнут д-во f,g1,…gn принадл S F(y1…ym)=f(g1(y1…ym)…gn(y1…ym)) F*(y1…ym)=не f(не не g1(не y1…не ym)…не не gn(не y1…не ym)) F*(y1…ym)=не f(не g1*(y1…ym)…не gn*(y1…ym))=f*(g1*(y1…ym)…gn*(y1…ym))= f(g1(y1…ym)…gn(y1…ym))=F(y1…ym) Sn – мн-во самодвойств ф-ций,число переменных у которых ≤n |Sn|= Ẵ2 в степени (2n/2)= 2 в степени (2n-1) Опр:ф-ция f=f(x1…xn) принадл Б наз-ся монотонной,если для любых наборов (α1… αn) принадл Еn и (β1… βn) принадл Еn Связан отношениями α1≤β1,…, αn≤βn (*) выполнено нер-во f(α1… αn) ≤f (β1… βn) Наборы (*) наз-ся сравнимыми, при этом (α1… αn) предшествует (β1… βn) Утв:класс М замкнут Д-во: f,g1,…gn принадл М покажем,что F(y1…ym)=f(g1(y1…ym)…gn(y1…ym)) F принадл M (?) Возьмем сравним наборы f(α1… αm) и f(β1… βm) где αi≤βi для i=1..m Воспол монотонностью ф-ций: g1(α1… αm) ≤g1(β1… βm) … gn(α1… αm) ≤gn(β1… βm) т.к. (g1(α1… αm), ..,gn(α1… αm)) предшествует (g1(β1… βm), ..,gn(β1… βm)) и в силу монотонности f f(g1(α1… αm), ..,gn(α1… αm)) ≤ f(g1(β1… βm), ..,gn(β1… βm)) F(α1… αm) ≤ F(β1… βm) => F принадл М. Чтд Элементар ф-ции: 1, 0, х, ху, х дизъюнкц у, : принадл М не х, х|у, х↓у, х↔y, x→y х слож по мод 2 у : не принадл М Опр: булева ф-ция наз-ся линейной,если степень её ПЖ ≤1 Элементар ф-ции: 1, 0, х, не х, х↔y, х слож по мод 2 у : принадл L ху, х дизъюнкц у, х|у, х↓у, x→y : не принадл L Ln – мн-во лин ф-ций, кот зависят не более чем от n переменных Мощность |Ln|=2n+1 Утв: класс L лин ф-ций замкнут Д-во: f,g1,…gn принадл L F принадл L (?) f=a0+a1 x1+anxn (ПЖ) {сложение по модулю 2} gi=coi+∑(k=1..m)cki yk {cложение по модулю 2} F(y1..ym)=a0 +a1(coi+∑(k=1..m)cki yk)+…+ an(con+∑(k=1..m)ckn yk)= d0+d1 y1+…+dmym {cложение по модулю 2} Где di – peзультат сложения по модулю 2 и перемножения булевых констант, т.е. di принадл {0;1}, i=1..m => F принадл L 4) Раскрыть скобки в полученном выражении: х(y z)=xy xz; 5) Удалить лишние слагаемые, т.к. х х=0. Этот метод применяется, когда ф-я задана в виде ф-лы алгебры логики. x1 ... xn 0 ... 0 f f (0..0) 0 ... 1 f (0..1) любое 0 ... 1 ... 1 f (1..1) любое Если f(х1..хn) принадл То, то она однозначно определ-ся столбцом своих значений, длина кот 2n-1 поэтому |Тоn|=Ẵ2 в степени (2n-1)= 2 в степени (2n-1) Класс Т1 Т1={f принадл Б/f(1…1)=1} Класс ф-ций сохраняющих 1 Элементар ф-ции: 1, х, ху, х дизъюнкц у, х↔y, x→y : принадл Т 1 0, не х, х|у, х↓у, х слож по мод 2 у : не принадл Т1 Утв1: Класс Т1 замкнут Утв2: |Т1n|=2 в степени (2n-1) 7 8 21. Операция замыкания и ее свойства Опр1:пусть даны булевы ф-ции f(x1…xn), g1(y1…ym),.. gn(y1…ym). Суперпозицией этих ф-ций наз-ся F(y1…ym)=f(g1(y1…ym), ..,gn(y1…ym)) Опр2:замыканием мн-ва М булквых ф-ций,где М – подмн-во Б(мн-во всех булевых ф-ций), наз-ся мн-во ф-ций [М],содержащее все ф-ции мнва М,а так же все суперпозиции,которые можно построить из ф-ций этого мн-ва. Св-ва: 1. [0]=0 2. M1 ≤ М2 => [M1] ≤ [М2] 3. [[M]]=[M] 4. [M1 U М2] ≥ [M1] U [М2] 5. [M1 ∩ M2] ? [M1] ∩ [M2] Опр3:мн-во М булевых ф-ций наз-ся замкнутым,если оно совпадает со своим замыканием Пример: Б, пустое мн-во – тривиально замкнут мн-ва 22. Полные системы булевых функций. Теорема о полноте 2х систем Система булевых ф-й F={f0,f1,f2,…} наз-ся полной, если [F]=Б. Примеры: 1) F={۸,۷,¬} – полная по теореме о сднф, скнф. 2) F={ ,1,0,۸} – полная из теоремы о ПЖ Теорема: (о полноте 2-х систем) пусть даны 2 системы булевых ф-й: F={f0,f1,f2,…, fm,…} и G={g0,g1,…,gs,…} и выполнено: а) F полна; б) любая ф-я системы F явл-ся суперпозицией из ф-й системы G: fi=Si(g0,g1,…,gs,…) i=0,1,2,…,m,… Тогда система G полна. Док-во: т.к. система F полна, то любая булева ф-я f представима в виде суперпозиции ф-й из F. f=S(f0,f1,…,fm,…). Подставим вместо f0,f1,…,fm,… их представление в виде суперпозиций: f=S(S0(g0,g1,…,gs,…),S1(g0,g1,…,gs,…),…,Sm(g0,g1,…,gs,…),…)=S’(g0 ,g1,…,gs ,…)=> G полна. ЧТД Примеры: 3) F={۸,۷,¬}, G= F={۸,¬}. x ۷y= ¬( ¬x ۸¬y)=>G полна; 4) F={۸,۷,¬}, G={۷,¬}; 5) F={۸,¬}, G={|}. xy=¬(x|y), ¬x=¬(xx)=x|x; 6) F={۷,¬}, G={↓}. 23. Лемма о несамодвойственной функции. 24. Лемма о немонотонной функции. 25. Лемма о нелинейной функции. Лемма: если ф-я f(x1,…,xn) несамодвойственна, то, подставляя в нее вместо переменных x1,…,xn переменные х и ¬х, можно получить простейшую несамодвойственную ф-ю: константу. Док-во: т.к. f(x1,…,xn) S, то существует (α1,…,αn): Лемма: если f немонотонна, то, подставляя на места ее переменных x1 ,…,xn ф-и 0, 1, х, можно получить простейшую немонотонную ф-ю: ¬х. Док-во: если f M, то существует (α1,…,αi-1,0,αi+1,…,αn) и (α1,…,αi- Лемма: из всякой нелинейной ф-и f подстановкой в неё х, ¬х, у, ¬у и констант 0 и 1 можно получить простейшую нелинейную ф-ю: ۸ или её отрицание: (|). Док-во: пусть f L, тогда степень её полинома Жегалкина ≥2 => f(α1,…,αn)=f(¬α1,…,¬αn). Построим ф-ю φ(x)=f(xα1,…,xαn). φ(0)=f(0α1,…,0αn)=f(¬α1,…,¬αn)= f(α1,…,αn)=f(1α1,…,1αn)=φ(1)=>φ(x)=const 1,x,αi+1,…,αn). 1,1,αi+1,…,α n): f(α1,…,αi-1,0,αi+1,…,αn)>f(α1,…,αi-1,1,αi+1,…,αn). ψ(x)=f(α1,…,αiψ(0)=f(α1,…,αi-1,0,αi+1,…,αn)>ψ(1)=f(α1,…,αi-1,1,αi+1,…,αn). ψ(0)>ψ(1), ф-я от 1-й переменной=>ψ(0)=1, ψ(1)=0, т.е. ψ(х)=¬х. существуют 2 переменные, которые входят одновременно в 1 из монотонных конъюнкций. Не ограничивая общности рассуждений, можно считать, что это переменные х1 и х2 , тогда ПЖ для ф-и f можно записать в виде: f(x1,…,xn)=x1 x2f1(x3,…,xn) x1f2(x3,…,xn) x2f3(x3,…,xn) f4(x3,…,xn). f1(x3,…,xn)не≡0. Обозначим через η3,…,ηn набор, на котором f1(η3,…,ηn)=1. φ(x1,x2)=f(x1,x2,η3,…,ηn)=x1 x2 x1 a x2 b c, где a=f2(η3,…,ηn), b=f3(η3,…,ηn), c=f4(η3,…,ηn). x1 =x b, x2=y a. ψ(x,y)=φ(x b,y a)=(x b)(y a) (x b)a (y a)b c=xy by ax ab ax ab by ab c=xy ab c={xy, если ab c=0; ¬(xy), если ab c=1}. 9 10 26. Критерий Поста Критерий: чтобы F={f1,f2,…, fm,…} была полна, необходимо и достаточно, чтобы она целиком не содержалась ни в одном из замкнутых классов: T0, T1, S, M, L. Док-во: Необходимость. F полна. Док-ть: F целиком не содержится в T0,T1,S,M,L. П.п.: существует класс Кл из мн-ва { T0,T1,S,M,L} такой, что F Кл. Из св-ва операции замыкания следует, что [F] [Кл]. Т.к. F полна, то [F]=Б. Т.к. Кл замкнут, то [Кл]=Кл, Кл Б (Кл≠Б). Значит Б=[F] [Кл]=Кл Б, т.е. Б Б, Б≠Б => противоречие => F целиком не содержится ни в 1-м из классов T0,T1,S,M,L. Достаточность. F целиком не содержится ни в 1-м из классов T0,T1,S,M,L, т.е. существуют ф-и f0 T0, fI T1, fs S, fM M, fL L. {x۸y,¬x} – полная система булевых ф-й. Покажем, что каждая из этих 2х ф-й выражается в виде ф-лы через ф-и системы F. Тогда по теореме о полноте 2х систем F полна. φ(x)=f0(x,x,…,x) (f0=f0(x1,…,xn)). φ(0)=1, если φ(1)=0, то φ(х)= ¬х. Если φ(1)=1, то φ(х)=1. ψ(х)= fI(х,х,…,х) (fI = fI (х1,…,хn)). ψ(1)=0, если ψ(0)=1, то ψ(х)=¬х. Если ψ(0)=0, то ψ(х)=0. Таким образом, возможны 4 случая: 1) из ф-й f0, fI получаем ф-ю ¬х. Тогда, пользуясь этим, по лемме о несамодвойственной ф-и, можем получить из fs константу. Т.к. у нас уже есть ¬х, то можем получить и другую константу. Пользуясь полученным, по лемме о нелинейной ф-и из fL можем получить ху. Таким образом, из ф-й f0, fI, fs, fL системы F можем получить ф-и ху, ¬х. Значит в этом случае F полна. 2) из ф-й f0, fI получаем ф-ю ¬х и константу 0. Т.к. есть ф-я ¬х, то можем получить вторую константу => по лемме о нелинейной ф-и можем получить из fL xy, т.е. в этом случае система F также полна (из ф-й f0, fI, fL системы F можем получить ф-и ху, ¬х). 3) из ф-й f0, fI получаем константу 1 и ф-ю ¬х. Случай аналогичен случаю 2). 4) из ф-й f0, fI получаем константы 1 и 0. По лемме о немонотонной ф-и из fM можем получить ¬х. Из ф-и fL по лемме о нелинейной ф-и можем, пользуясь уже полученным, получить ф-ю ху. Следовательно, и в этом случае ф-и полной системы {x۸y,¬x} выражаются через ф-и системы F (f0, fI, fM, fL). 11 27. Применение критерия Поста и понятие базиса 28. Устройство сумматора 29. Функциональная схема сумматора 30. Проблема минимизации ДНФ. Постановка задачи. Примеры: {(xy z 1)| ¬х,xy, ¬х } – полная; {x→¬y,x y z,1} Сумматор – устройство, предназначенное для сложения двоичных чисел. а=(а1,…,an), b=(b1,…,bn). a1,…,an,b1,…,bn – 0 или 1. Складываем a и b. si – число (0 или 1), стоящее в i-м разряде суммы. pi – перенос из (i+1)-го разряда в i-й. Принципиальная схема работы n-разрядного сумматора: P= bp ap ab l(D) – длина днф D – кол-во элементарных конъюнкций, входящих в днф. r(D) – число литералов, входящих в днф, равное сумме рангов элементарных коъюнкций, входящих в днф. r(D)=∑i=1,…,lri С целью уточнения проблемы минимизации и формулировки алгоритмов её решения введём следующие определения: Переменная xi, i=1,…,n, наз-ся фиктивной переменной булевой ф-и f(x1,…,xn), если значение ф-и не зависит от значения этой переменной, т.е. для любых наборов (x1,…,xi-1,xi+1,…,xn) выполняется f(x1,…,xi1,0,xi+1,…,xn)=f(x1,…,xi-1,1,xi+1,…,xn). Переменная xi, которая не явл-ся фиктивной для ф-и f, наз-ся существенной переменной для данной ф-и. В этом случае f существенно зависит от xi . Минимальной днф, реализующей ф-ю f, наз-ся та днф, у которой величина r(D) наименьшая по сравнению со всеми другими днф, реализующими ф-ю f. Кратчайшей днф, реализующей ф-ю f, наз-ся та днф, у которой величина l(D) наименьшая по сравнению со всеми другими днф, реализующими f. Кратчайшая днф не обязательно минимальна (f(x,y)=x→xy, D1=¬x۷xy – кратчайшая, D2=¬x۷y – минимальная). x→¬y=¬х۷¬y=x|y => полная; { x y z,x→y,1} – неполная, т.к. все ф-и в классе T1. Алгоритм исследования полноты системы булевых функций F={f1,f2,…}: 1) построить таблицу, число строк в которой равно числу ф-й в F, а число столбцов равно 5 по числу основных замкнутых классов; 2) проверить принадлежность ф-и f1 классу T0 и поставить на пересечении соответствующих f1 и T0 строки и столбца знак “+”, если f1 в T0 и “–“ в противном случае; 3) если на предыдущем шаге получен знак “+”, то продолжить исследование по вертикали, в противном случае – по горизонтали; 4) исследование заканчивается, если выполнено 1 из 2х условий: в каждом столбце стоит хотя бы 1 “-“, либо в одном из столбцов таблицы стоят только знаки “+”. В первом случае система ф-й F целиком не содержится ни в 1-м из классов и, согласно критерию Поста, явл-ся полной, во 2-м случае она целиком содержится в 1-м из классов и потому явл-ся полной. Базисом на мн-ве булевых ф-й наз-ся минимальная полная система. Минимальная означает, что удаление из системы (базиса) хотя бы 1-й ф-и делает оставшиеся ф-и неполной системой. Примеры базисов: {xy, ¬х}, {xy, x y,1}. Для выделения базиса из полной системы ф-й можно упорядочить по числу ф-й мн-во подсистем этой системы и, начиная с 1-й, исследовать подсистемы на полноту. Первая из найденных полных подсистем – базис на мн-ве всех булевых ф-й. - сложение i-го разряда (i-й блок). Для ai, bi, si: i=1,…,n. Для pi: i=1,…,n-1 (в 1-й разряд ничего не переносится). Блоков n. Таблица срабатывания блока ∑: a b p S P 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Переверни листок… S=¬P(a۷b۷p)۷ abp Такие ф-лы на практике реализуются при помощи функциональных схем: 16. Метод эквивалентных преобразований. 1) Выразить данную ф-ю через ۷,۸,¬. 2) Выразить ۷ через ۸ и ¬: x۷y=¬((¬x)۸(¬y)); 3) В полученном выражении выразить ¬ через : ¬х=х 1; 4) Раскрыть скобки в полученном выражении: х(y z)=xy xz; 5) Удалить лишние слагаемые, т.к. х х=0. Этот метод применяется, когда ф-я задана в виде ф-лы алгебры логики. Построим днф для S и P: S= ab p ab p ab p abp , P= abp ab p ab p abp . x – литерал (12). l – длина днф (4). P= abp ab p ab p abp bp(a a) ap(b b) ab( p p) bp ap ab . Литерал (6), длина (3). S= ab p ab p ab p abp = ab p ab p ab p abp = ((a b p)(a b p)(a b p)) abp =¬((a۷b)(a۷p)(b۷p)۷¬b(a۷b)(b۷p)۷¬ p(a۷p)(b۷p)۷¬a(a۷b)(a۷p)۷ ab(a b) a p(a p) b p(b p) ۷ ab p )۷abp=¬ (ab۷ap۷bp۷a¬bp۷ab¬p۷¬abp۷ ab p )۷abp=¬(ab۷ap۷bp۷ ab p )۷abp=¬P(a۷ b۷p) ۷ abp. 12 Получили: в любом случае любая ф-я полной системы {x۸y,¬x} явл-ся суперпозицией ф-й системы F => F полна. ЧТД Замечание: при док-ве пользовались тем фактом, что если некоторое истинное подмн-во системы ф-й F образует полную систему, то вся система F полна. 31. Тривиальный алгоритм построения минимальной и кратчайшей ДНФ Пусть дана булева ф-ия f=f(x1,…,xn);F:EEn. 1) Построить различные элементарные конъюнкции из переменных x1,…,xn. 1, xi, xi c чертой, xi xj и т.д. – таких конъюнкций 3n. 2) Построить различные ДНФ из эл-ных конъюнкций, построенных на 1ом шаге. x1 x2x3 с черт. и т.д. – их число 23n. Кол-во ДНФ равно числу подмножеств, которые можно построить из элементов мн-ва мощности 3n(Теорема о мощности булеанов). 3) Упорядочить мн-во построенных в 2) ДНФ в направлении возрастания велечины r(D) для мин. ДНФ или m(D) для кратчайшей ДНФ. {возрастание=неубывание}. 4) Начиная с первой ДНФ, сравнить её таблицу истинности с исходной ф-ией. Первая ДНФ первой ДНФ первой посл-ти, у которой таблица истинности совпадает с таблицей истинности исходной ф-ии, будет минимальной для этой ф-ии. Первая ДНФ во 2-ой посл-ти, у которой таблица истинности совпадает, будет кратчайшей для исходной ф-ии. 13 32. Геометрическая интерпритация проблемы минимизации. 33. Сокращенный ДНФ. Определение и примеры, 34. Теорема о минимальной ДНФ 35. Теорема о кратчайшей ДНФ Ef1f2=Ef1Ef2. f=k1k2…kn (1). Ef=Ek1 Ek2…Ekn (2). Eki - мн-во истинности элем-ых конъюнкций. Ki ранга ri – называется интервалом riго ранга. Представление (2) мн-ва истинности называется покрытием мн-ва Ef интервалами. С геометрической точки зрения, проблема минимизации состоит в том, чтобы построить такое покрытие мн-ва Ef интервалами, для которых сумма рангов минимальна по сравнению со всеми другими покрытиями этого мн-ва (Аналогично для кратчайшей); покрытие должно содержать мин. число интервалов. Интервал ЕК называется максимальным интервалом для ф-и f если ЕК вход. в Еf и не сущ ЕК’ такого что ЕК вход Е К’ вход в Еf Сокращенная ДНФ Опр: ДНФ реализующая ф-ю f и соотв покрытию множ Еf всеми max интервалами назыв сокращенной ДНФ. Пример: f=(11011011) (строим таб истинности) ЕК1 ={(001),(001)} ЕК2={(000),(001)} ЕК3={(011),(111)} ЕК4={(111),(110)} ЕК5={(110),(100)} ЕК6={(000),(100)} К1 = (¬x)z К2=(¬x)(¬у) К3=yz К4=xy К5=x(¬z) К6=(¬y)(¬z) Еf= ЕК1UЕК2U…U ЕКn запишем элементарные конъюнкции соответствующие этим интервалам Дс(f)= (¬x)zU(¬x)(¬у)U yzU xyU x(¬z)U(¬y)(¬z) Теор Любая min ДНФ ф-и f либо совпадает с сокращенной ДНФ либо получается из нее путем удаления некоторых элементарных конъюнкций. Док-во: Пп, что сущ min ДНФ покрытие которой содержит не максимальный интервал, тогда заменим этот интервал объемлющим его max интервалом. Известно что число литералов в max интервале меньше числа литералов в немах интервале котор он объемлет. Поэтому при замене немах интервала максимальным получим новую ДНФ реализующую ф-ю f у которой величина r(D) будет меньше чем у исходной. Мы пришли к противоречию. Теор: Для всякой ф-и f ceo кратчайшая ДНФ которая либо совпадает с сокращенной ДНФ, либо получ из нее путем удаления некоторых элементарных конъюнкций. Док-во: предположим что мы построили кратчайш ДНФ покрыт которой содерж немах интервал, тогда заменим этот немах интервал объемлющим его мах интервалом. И полученная кратчайшая ДНФ будет иметь ту же длину что и исходная, но все интервалы соответствующие элем конъюнкциям входящ в эту ДНФ будут max. 14 36. Метод Блейка построения минимального ДНФ. Теорема Блейка. 37. Тупиковая ДНФ. 38. Формуля логики предикатов 39. Интерпритация формулы и классификация. Рассмотрим следующий аналитический метод построения ДНФ. Метод Блейка. Этот метод основан на следующих равносильностях: 1)Склеивание xkU(¬x)k =k 2) Поглощение k’U k’k’’ =k’ 3) неполное склеивание xkU(¬x)k=xkU(¬x)Uk 4)обобщенное склеивание xk’U(¬x)k’’= xk’U(¬x)k’’U k’k’’ Док-во: 1) k(xU(¬x))=k∩1=k 2) k’(1Uk”)=k’∩1=k’ 3) xkU(¬x)Uk(xU(¬x)) = xkU(¬x)kUxkU(¬x)k = xkU(¬x)Uk 4) xk’U(¬x)k’’U k’k’’(xU(¬x) = = xk’U(¬x)k’’U k’k’’xU k’ k’’(¬x) = xk’U(¬x)k’’ Теор Блейка При помощи преобразований 1-4 для любой ДНФ можно построить ее сокращенную ДНФ Пример: Пусть нам дана сокращенная ДНФ реализ. ф-ю f=(11011011) ЕК1 ={(001),(001)} ЕК2={(000),(001)} ЕК3={(011),(111)} ЕК4={(111),(110)} ЕК5={(110),(100)} ЕК6={(000),(100)} К1 = (¬x)z К2=(¬x)(¬у) К3=yz К4=xy К5=x(¬z) К6=(¬y)(¬z) F=Dc=(¬x)zU(¬x)(¬у)U yzU xyU x(¬z)U(¬y)(¬z) f=D1 = (¬x)(¬у)UyzU x(¬z) D2=(¬x)zUxyU(¬y)(¬z) D3= x(¬z)UyzU(¬x)zU(¬y)(¬z) Опр1) Пусть f булева ф-я, Ef –множ истиности Еf = ЕК1UЕК2U…U ЕКn называется неприводимым, если при удалении хотя бы 1-го из интервалов оно перестает быть покрытым Опр2) ДНФ соотвтетсвующая неприводимому покрытию множ Е f интервалами называется тупиковой. Тупиковая ДНФ не всегда является мин или кратчайшей Опишем предварительно группы символов, из которых состоят предикатные формулы. а) предметные переменнные: x,y,z,xi,a,b,c… i=1…n – малые латинские с индексами внизу или без них. б)нульместные предикатные переменные: P,Q,R,A,Bi,Xi – большие латинские буквы с индексами внизу или без них. в) n-местные предикатные переменные: P(_,…,_),Q(_,…,_),Ri(_,…,_) iN рядом должно быть указано число мест. г)Логические связки ,,,, . е) кванторы ,. Совокупность всех этих символов образует алфавит. Каждая предикатная формула представляет собой слово из символов этого алфавита. Не всякое слово является предикатной формулой. Определение формулы в логике предикатов носит индуктивный характер. 1)Каждая нульместная предикатная переменная есть формула. 2) Если P(_,…,_)- n-местная предикатная переменная, то P(x1,…,xn), где x1 ,…,xn – произвольные предметные переменные, объявляется формулой, притом переменные x1,…,xn объявляются свободными. 3)Если Fформула, содержит свободную переменную x, то (x)F,(x)F – слова называются формулами, а все остальные переменные, которые входили в формулу F остаются в новых формулах соответственно такими же. 4) Если F- формула, то (F)- также формула. Свободные и связанные переменные в (F) те и только те, которые были свободными или связанными в формуле F. 5) Если F1,F2 – формулы, если предметные переменные, входящие одновременно в обе формулы, свободны в каждой из них, то выражения (слова)(F1F2),(F1F2),…,(F1F2) и (F1 F2) объявляются формулами, причем пременные, которые были свободными в обеих формулах, объявляются свободными, а переменные, которые были связанными хотя бы в одной из формул, объявляются связанными в новой формуле. Формулы, полученные в 1) и 2), называются элементарными. Формулы полученные в 3),4),5), называются составными. Формула, в которой все переменные связанные, называется открытой, а когда все связанызакрытой. Если ф-лу логики предикатов вместо каждого предиката поставить предикат, определённый на некотором мн-ве, то ф-ла превратится в конкретный предикат. При этом если ф-ла была замкнутой, то полученный конкретный предикат будет нульместным, т.е. получим высказывание. Если ф-ла была открытой, т.е. содержала свободное хождение предметных переменных, то в результате получим предикат, зависящий от нескольких предметных переменных. Если вместо этих переменных подставить конкретные значения из M, то получим высказывание. Превращение ф-лы в предикат или высказывание, а также полученный предикат или высказывание, назыв. интерпретацией ф-лы. Классификация формул. Опр. Ф-ла логики предикатов назыв. общезначимой или тавтологией (тождественно ложной или противоречием), если любая её интерпретация представляет собой тождественно истинный(ложный) предикат. Опр. Ф-ла логики предикатов назыв. выполнимой (опровержимой), если сущ. такая её интерпретация, к-рая представляет собой выполнимый (опровержимый) предикат. Замечание P(x1,...,xn)- n-местный предикат, определённый на мн-ве M1*M2*...*Mn Ep={(a1,...,an),aiєMi / P(a1 ,...,an)=1} – мн-во истинности через P. a) Ep=M1*M2*...*Mn=>P- тождественно истин. b) Ep=Ø =>P- тождественно ложно c) Ep≠Ø=>P- выполнимый предикат d) Ep≠M1*M2*...*Mn=>P- опровержимый Теорема Всякая ф-ла логики предикатов, получающаяся из тавтологии алгебры высказываний заменой входящ. в неё булевых перем. произвольн. предикатн. переменными или ф-лами являются тавтологией логики предикатов. 15 40. Кванторы общности и существования для n-местных предикатов. Законы Де Моргана для кванторов. Теорема : (ф-лы де Моргана для кванторов) след. ф-лы логики предикатов – тавтологии: a) ┐( любое x) P(x) ↔сущ. x(┐P(x)) b) ┐(сущ. x P(x)) ↔ любое x (┐P(x)) Док-во: Предположим, что формулы а и b замкнуты, т.е. не содержат свободных предметных переменных. Подставим в эти ф-лы вместо атома P(x) любой конкретный одноместный предикат P*(x), определённый на некотором мн-ве М. Получим высказывание: a) ┐(( любое x) P*(x))↔(сущ. x)(┐P*(x)) b) ┐((сущ. x)P*(x))↔(любое x)(┐P*(x)) Покажем, что это истинные высказывания. a) Предположим, что ┐((любое x)P*(x))=0↔(любое x)P*(x)=1↔P*(x)≡1↔┐P*(x)≡0↔(сущ. x)(┐P*(x))=0 b) Аналогично. 16 41. Закон пронесения кванторов через коньюнкцию и дизьюнкцию. Теорема (законы пронесения кванторов через ∩ и v) Пусть атомы P(x) и Q(x) содержат свободную переменную x, а атом R не содержит x в качестве свободной переменной, тогда след. ф-лы логики предикатов – тавтологии: a) (любое x)(P(x)∩Q(x))↔(любое x)P(x)∩(любое x)Q(x) b) (сущ. x)(P(x)vQ(x))↔((сущ. x)P(x)v(сущ. x)Q(x)) c) (любое x)(P(x)vR)↔((любое x)P(x))vR d) (сущ. x)(P(x)∩R)↔((сущ. x)P(x))∩R c) любое x (P*(x) v R)*=1↔P*(x) v R*≡1 Здесь вместо атома P(x) и R подставлен конкретный произвольный предикат P*(x) и R – высказывания: P*(x)≡1, если R* ложно ↔(любое x)P*(x)=1,R*=0↔ P*(x) произвольный предикат, если R* истинно ↔(любое x)P*(x)=(0 или 1),R*=1↔ ↔(любое x)P*(x) v R*=1 ↔(любое x)P*(x) v R*=1 Покажем, что случай требования, что R не содержит x в качестве св-й пер-й, явл. существенным. Q*(x) – выполнимый и опровержимый предикат ┐Q*(x) – выполнимый и опровержимый любое x (P*(x) v ┐Q*(x))=1, (любое x )Q*(x) v любое x ┐Q*(x)=0 17 42. Закон удаления квантора общности и введение квантора существования. квантора существования. Теорема: След. ф-лы логики предикатов – тавтологии: a) (любое x)(P(x))→P(x) b) P(x)→(сущ. x)P(x) Док-во: ПП, тогда сущ. такая интерпретация P(x)=P*(x), которая представляет собой опровержимый на М предикат. P*(x)→(сущ. x)P*(x) – опровержимый на М предикат, тогда сущ. x0єM: P*(x)=0, P*(x0)=1 (сущ. x)P*(x)≡0, P*(x)≡0→P*(x0)=0 43. Законы коммутативности для одноместных кванторов 44. Теорема о разноименных кванторах. Замечание. (любое x)(любое y)P(x,y)↔(любое y)(любое x)P(x,y) (сущ. x)(сущ. y)P(x,y)↔(сущ. y)(сущ. x)P(x,y) Теорема: След. ф-ла логикики предикатов явл. тавтологией: (сущ. x)(любое y)P(x,y)→(любое y)(сущ. x)P(x,y) (1) Док-во: Подставим вместо атома P(x,y) произвольный P*(x,y). ПП, что (1) не тавтология, тогда P*(x,y) можно выбрать так, что (сущ. x)(любое y)P*(x,y)→(любое y)(сущ. x)P*(x,y) опровержимые. Если он содержит свободные переменные, то подставим вместо свободных переменных некоторые значения из М, на котором определён предикат, причём такие, что (сущ. x)(любое y)P*(x,y)→(любое y)(сущ. x)P*(x,y)=0 (сущ. x)(любое y)P*(x,y)=1 (любое y)(сущ. x)P*(x,y)=0 (любое y)P*(x0 ,y)=1 (сущ. x)P*(x,y0)=0 P*(x0,y)≡1 P*(x,y0)≡0 P*(x0,y0)=1 P*(x0,y0)=0 18 45. Мишина Тьюринга. Описание 46. Функции, вычисляемые по Тьюрингу. 47. Рекурсивные функции. 48. Обще и частично рекурсивные функции. Тезис Черча. 49. Кодирование машины Тьюринга. МТ состоит из след частей:лента,головка,оперативная память,устро-во управления. Лента-потенциально бесконечная в обе стороны полоска,состоящая из клеток.В кажду клетку помещается один символ.А={а1,.. аn,}-мно-во символов.-символ пустой клетки а1 а2 а2 a1. Вдоль ленты движеться головка- эл-т,который считывает символы.Она может перемещаться на 1 кле-ку влево вправо или оставаться на месте.Мно-во перемещений головки – D={Л,П,Н}.Опреативная или внутренняя память описывается мн-вом Q={ q0,q1.. qs},qi , i- состояние машины, причем q0- заключительно состояние, q1- начальное состояние. Q-мн-во внутр состояний. Устр-во управления организует реализацию команды МТ. ai qi qJD a J .По команде устройства упр-я головка считывет символ ai и меняет его на aJ. Головка премещаеться влево, вправо или остаеться на месте в зав-сти от D.IIРабота МТ Мн-во команд конечно,т.к не может быть двух команд с одинаковыми левыми и разными правыми частями.Это требование необоходимо что бы гарантировать детерминированность алгоритма,т.е однозначность.Для того что бы МТ работала,нужно задать слово на ленте и положение головки.Машина работает в дискретном времени.Из мн-во команд ищеться команда с символом ai qi в левой части.Нарисованная совокупность назвыаеться начально конфигурацией.Работа МТ состоит в переходе от одной конфигурации другой.Она зак-ться если приме-ся команда, в правой части кот стоит закл состояние q0.Рез-татом работы МТ явл-ся слово на ленте,кот получаеться в рез-те применения этой команды.В этом сл-е говорят,что МТ применима к слову в начальной конфигурации.Возможна другая ситуация,когда при работе над словом в нач конфигурации не применяется команда с заключительным состоянием q0 .В этом сл-е говорят,что процесс работы бесконечен. Т.е МТ неприменима к слову с нач конфигурацией. Пр.А={a,b, } Требуеться преобразовать x1.. xn в слово x2.. xn x1 Q={ q0,q1.. q3 } abb bba, aq1 q2П , bq1 q3П , aq2 q2П a, bq2 q2П b , aq3 q3П a, bq3 q3Пb, q2 q0На , q2 q0На, q3q0Hb N0={0,1,2…},f : N0n N0, f=f(x1,.. ,xn)-обычная,небулевская,ф-ция. D(f)мно-во таких наборов на кот ф-ция принимает натуральные знач-я. D(f)={ ( m1,.. ,mn) N0n ,f(m1,.. ,mn)=m N0} .D(f)-обл опр-я ф-ции f. Опр. Фция f наз-ся всюду определенной f : N0n N0, если D(f)= N0n. Пр. f(x,y,x)=x+y+z. Опр Ф-я частично определена,если D(f) N0n. Пр f(x,y)=x-y. Закодируем нат числа и наборы из нат чисел в алфавите {*,1}. K-1k+1, З1111,0-1 (m1,m2.. ,mn)- 1 m1+1 * 1 m2+1 *….*1 mn+1 Пр.(2,1,3)-111*11*1111.Опр f : N0n N0 Говорят,что ф-ция вычислима по Тьюрингу,если существует МТ,обладающая 2мя св-вами: а) ( m1,.. ,mn)D(f) такого, что f( m1,.. ,mn)=m MТ применима к слову 1 m1+1 * 1 m2+1 *….*1 mn+1 (!) и в заключит конфигурации выдает 1 m+1 . б)если ) ( m1,.. ,mn)D(f) МТ неприменима к слову (!).Пр x+y+z, xy,x-y – вычислимы по Тьюрингу. Пусть f : N0n N0 числ. Ф-я,опр-нная на мн-ве D. Если D= N0n, то такая ф-я всюду опред.Пр .x+y,Если DN0n, то ф-ция наз-ся частично опр-ной Напр sin(pi*x).Рекурсивные ф-ции некий класс из этого мн-ва. Он описывается при помощ алгоритма.Исходные ф-ции:1)0(x)=0- нульфункция. 2)S(x)=x+1-ф-ция следования. 3) (m) n(x1 , x2,.., xm, .. ,xn )=xm фция выбора арг. 1<=m<=n. Основные процедуры: 1)процедуры подстановки: f(x1,.. ,xn), g1(y1,.. ,ym),…, gn(y1,.. ,ym) F(y1,.. ,ym)= f(g1(y1,.. ,ym),…, gn(y1,.. ,ym)). 2)Примитивная рекурсия f(x1,.. ,xn), h(x1 ,.. ,xn, xn+1, xn+2) g(x1,.. xn,y). Система 2ур-я: { g(x1 ,.. xn,0)= f(x1,.. ,xn) и g(x1,.. xn,y+1)= h(x1,.. xn,y, g(x1,.. xn,y)} Примеры 1) 0(х), (m)n(x1, x2 ,... ,xn ) 0(x1,.. xn)=0( (m) n(x1 , x2 ,... ,xn ))=0(xm) 2) S(х), (m) n(x1, x2,... ,xn ) S (m) n(x1, x2,... ,xn )=xm+1- ф-ция следования по m-му аргументу. S (m)n(x1, x2,... ,xn )= S( (m) n(x1, x2,... ,xn ))=S(xm)=xm+1 3) g(x1, x2 )=x1 + x2 (1)1(x1), S (3)3(x1, x2 ,x3 ) g(x1, 0)= (1) g(x1, 1)=S (3)3(x1, 0, x1)=x1+1 g(x1, 2)=S (3)3(x1, 1, x1 +1)=x1+1+1= 1(x1)=x1 x1 +2. Опр Ф-ция кот получ-ся из исходной при помощи процедур подстановки и примитивной рекурсии наз-ся примитивно-рекурсивной.Она определена всюду.Все значения будут натуральными.ОпрФ-ции которые пол-ся из исх-ных при помощи 3х процедур- подстановки, примитивной рекурсии и взятия оператора наз-ся частичнорекурсивными.Частично рекурсивные ф-ции, кот всюду определены,наз-ся общерекурсивными.Примитивная рекурсия-ПР-мнво,ОР-мн-во общерекурс. Ф-ций, ЧР-мн-во частичнорекур-ных ф-ций. ПР < ОР < ЧР(знак вхождения) Процедура взятия m-«мю» оператора f(x1,.. ,xn,y), g(x1 ,.. ,xn). g(x1,.. ,xm)=m[ f(x1,.. ,xn,y)=0 ]- зн-е m- оператора по перем у на наборе (x1,.. ,xn) 1)Заффиксируем пер-нные x1,.. ,xn - x10,.. ,xn0 2)Рассм-м ур-е f(x10,.. ,xn0,y) 3)Пусть y0 N. f(x10,.. ,xn0,y0)=0. t: tN 0<t< y0 f(x10,.. ,xn0,t)>0 N0. Тогда значение m-оператора от ф-ции m[ f(x1,.. ,xn,y) ]=y0 g(x10,.. ,xn0)=y0. Если хотя бы 1 из этих условий не вып-ся,то считаеться,что g на наборе не определена.Если не вып-ся условие(3) ,то знач опер-ра не определено, не опр-на ф-ция g.Пр Пусть f(x,y)=x-y+3. g(x)=m[x-y+3=0], g(0)= m[0-y+3=0] y0 =3.Проверим усл 3. t1=1, t2=2 0<t<3 g(0)=3. g(2)= m[2y+3=0] y0 =5 0<t<5 g(2)=5. f(x,y)=x-y+3 u(y)= m[x-y+3=0] u(1)= m[x-1+3=0] не определена. Опр Ф-ция кот получ-ся из исходной при помощи процедур подстановки и примитивной рекурсии наз-ся примитивнорекурсивной.Она определена всюду.Все значения будут натуральными.ОпрФ-ции которые пол-ся из исх-ных при помощи 3х процедур- подстановки, примитивной рекурсии и взятия оператора назся частичнорекурсивными.Частично рекурсивные ф-ции, кот всюду определены,наз-ся общерекурсивными.Примитивная рекурсия-ПР-мнво,ОР-мн-во общерекурс. Ф-ций, ЧР-мн-во частичнорекур-ных ф-ций. ПР < ОР < ЧР(знак вхождения) Теорема (Тезис Чёрча) Мн-во ф-ций вычислимых по тьюрингу совпадает с мн-вом ЧР функций. А={а1,.. аn,} Q={ q0,q1.. qs}, D={Л,П,Н}. P= ai qi qJD a J Для того что бы закодировать МТ упорядочим мн-во символов, из кот строяться команды машины. Н,Л,П,а1, а2,…, аn ,, q1, q2,…, qs соответсвенно 0, 1, 2, 3, 4, …,n+2,n+3,n+4,n+5,…,n+s+4. m-1m+1, N(Л) =11, N(а2 ) =11111 и т.д. Упорядочим мн-во команд МТ по их левым частям а1 q1, а1q2,… , а1 qs, аi q1, аi q2…Команд конечное число.Команды однозначно опр-ся своей левой частью. С(аi qi)=N(ai)* N(qi) * N(qJ) * N(D) * N(aJ). K(T)=** С(а1q1)**С(а1q2)**…** ** С(qs)**… K(T)-код машины.Для каждой машины однозначно сторитсья ее код K(T) и наоборт: по коду K(T) однозначно восстанавливаются все команды машины. 19 20 0. Нафигатор (Перечень вопросов) 50. Проблема самоприменимости. 51. Проблема применимости. Теория кодирования 1. Необходимое и достаточное условие взаимнооднозначного кодирования (теорема). 2. Неравенство Макмиллана. 3. Коды с минимальной избыточностью. 4. Построение кодового дерева и преобразование. 5. Методы Фано и Хафмана. Пусть МТ работает в алфавите { *, 1}. МТ – самоприменимая, если она применима к своему коду, в противном случае – несамоприменимая. Проблема самоприменимости состоит в том, чтобы построить такой алгоритм, который, работая над кодом К(Т) МТ, выдавал результат: является ли МТ самоприменимой. Будем искать такой алгоритм среди МТ. Пусть L – машина Тьюринга, работающая в алфавите { *, 1}. Будем считать, что эта машина, работая над кодом К(Т) Замечание: Т2 – машина Тьюринга, которая по слову В в произвольном алфавите {*,1} строит слово В λ В. (такую команду рассматривали ранее: х1 х2 …хn → x2…xn x1, если ее применить n раз, то х1 х2 …хn λ х1 х2 …хn). Пусть К(Т) – код произвольной МТ, В – произвольное слово алфавита {*,1}. Проблема применимости состоит в том, чтобы построить такую машину J, которая работая над словом К(Т) λ В выдавала: Булевы функции 6. Определение и способы задания. 7. Теорема о числе булевых функций. 8. Специальные виды формул. Элемент конъюнкции, дизъюнкции. Их свойства. 9. ДНФ 10. Теорема о разложении булевых функций по переменным. 11. Алгоритм построения СДНВ. 12. Теорема о СКНФ. Алгоритм СКНФ. 13. КНФ 14. Полином Жегалкина (теорема). 15. Метод неопределенных коэффициентов. 16. Метод эквивалентных преобразований. 17. Основные замкнутые классы D0 и D1 18. Класс S и S1 19. Класс M 20. Класс L 21. Операция замыкания и ее свойства. 22. Полные системы булевых функций (+ примеры). Теорема полноте 2х систем. 23. Лемма о несамодвойственной функции. 24. Лемма о немонотонной функции. 25. Лемма о нелинейной функции. 26. Критерий Поста. 27. Применение Критерия Поста и понятие базиса. 28. Устройство сумматора. 21 самоприменимой МТ, выдает заключительную конфигурацию: А работая над кодом К(Т) несамоприменимой МТ выдает конфигурацию: Если такая машина существует, то решается проблема самоприменимости. Теорема. Проблема самоприменимости алгоритмически не разрешима, т.е. не существует машины L, которая решает в указанном выше смысле эту проблему. Док-во: П.п.: пусть существует машина L, которая решает проблему самоприменимости. Построим машину L’ со свойствами: 1) все команды L объявляются командами машины L’; 2) заключительное состояние q0 машины L объявляется не заключительным для L’; 3) вводится новое заключительное состояние для L’, которое обозначается q0’ ; 4) вводятся новые команды q0 1 → 1 Н q0 , q0 0 → 1 Н q0’ ; 5) Машина L’ так же, как и L работает над кодом К(Т) машины Тьюринга. При работе бесконечно выполняется команда q0 1 → 1 Н q0 . Получаем: а) L’ не применима к коду самоприменимой машины; б) L’ применима к коду несамоприменимой машины. Посмотрим как L’ работает над своим кодом. Если L’ самоприменима, то по а) она несамоприменима. Если L’ несамоприменима, то по б) она самоприменима. Полученное противоречие показывает, что не существует машины L , решающей проблему самоприменимости. Ч.Т.Д. (*) 1, если МТ применима к В (**) 0, если МТ не применима к В Теорема. Проблема применимости алгоритмически не разрешима, т.е. не существует машины J, которая решает в указанным выше смысле эту проблему. Док-во: П.п.: пусть существует машина J’ , которая решает проблему применимости, тогда можно построить машину L, которая будет решать проблему самоприменимости. Пусть L работает над К(Т), а J’ работает над кодом К(Т) λ В для любого В (в частности для В=К(Т)). 1) L начинает работать над кодом К(Т) как машина Т2 и в результате: К(Т) λ К(Т) (дубль слова); 2) далее работает над К(Т) λ К(Т) J’, которая проверяет применима ли МТ к слову К(Т): если применима, то результат (*), если неприменима – (**). Т.е. L – решает проблему самоприменимости, чего быть не может по теореме о проблеме самоприменимости. Поэтому не существует машины J’ , решающей проблему применимости. Ч.Т.Д. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 22 Функциональная схема сумматора. Проблема минимизации ДНФ. Постановка задач. Тривиальный алгоритм построения минимального и кратчайшего ДНФ. Геометрическая интерпретация проблемы минимизации. Сокращенный ДНФ. Определение и примеры. Теорема о минимальном ДНФ. Теорема о кратчайшем ДНФ. Метод Блейка построения минимального ДНФ. Теорема Блейка. Тупиковая ДНФ. Формула логики предикатов. Интерпретация формулы и классификация. Кванторы общности и существования для n-местных предикатов. Законы де Моргана для кванторов. Законы пранесения кванторов через конъюнкцию и дизъюнкцию. Законы удаления квантора общности и введения квантора существования. Законы коммутативности для одноместных кванторов. Теорема о разноименных кванторах. Замечание. Машина Тьюринга (описание). Функции, вычисляемые по Тьюрингу. Рекурсивные функции (процедура подстановки, примитивная рекурсия). Обще и частично рекурсивные функции. Тезис Черча. Кодирование машины Тьюринга. Проблема самоприменимости. Проблема применимости. А теперь дружно говорим «спасибо»: Техническая Компьютерная Набор поддержка верстка текста Над проектом шпор по Дискретной математике за второй семестр первого курса факультета ПММ в поте лица трудились: ####, ####, ####, ####, ####, ####, ####, #### #### Skay © 2005, AMM Initiative Group 23