Классы функций, теорема Поста

31
Классы функций, теорема Поста Методы минимизации

Upload: addison-pennington

Post on 31-Dec-2015

47 views

Category:

Documents


3 download

DESCRIPTION

Классы функций, теорема Поста. Методы минимизации. Следствие. Любую логическую ( булеву ) функцию можно выразить через три логические функции : конъюнкцию , дизъюнкцию и отрицание. Теорема. - PowerPoint PPT Presentation

TRANSCRIPT

Классы функций, теорема Поста

Методы минимизации

Следствие

Любую логическую (булеву) функцию можно выразить через три логические функции: конъюнкцию, дизъюнкцию и отрицание

Теорема

По аналогии с представлением любой функции (не равной тождественному нулю) в виде СДНФ можно функцию (не равную тождественной 1) представить в виде СКНФ: простая дизъюнкция составляется для тех наборов переменных (х1, х2, …, хп), для которых f(x1, x2,…, xn) = 0, причем если хi = 1, то в этой дизъюнкции берем !хi, если же хi = 0, то берем хi.

Штрих Шеффера

 — отрицание

 — дизъюнкция

 — конъюнкция

Стрелка Пирса

Через стрелку Пирса могут быть выражены все другие логические операции:

¬x ≡ x↓xx & y ≡ (x↓x) ↓ (y↓y)x ∨ y ≡ (x↓y) ↓ (x↓y)Системы из одной функции принято

называть универсальным базисом.

Классы ФАЛ

Класс функций, сохраняющих константу 0 – K0: f(0,0,…,0)=0 Класс функций, сохраняющих константу 1 – K1: f (1 ,1,...,1)=1 Класс самодвойственных функций – V: функции f*(x1,x2,…,xn) двойственная

для (K) f(x1,x2,…,xn), если имеет место равенство

Функция самодвойственная, если

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

Класс линейных функций – L: f(x1,x2,…,xn)=С0⊕С1*x1 ⊕ … ⊕ Cnxn, где С – константы

Класс монотонных функций – M:

Класс симметричных функций – S: функция называется симметричной, если ее значение не меняется при любой перестановке аргументов.

f(0,1,0)=f(1,0,0)=f(0,0,1)

Теорема Поста (теорема о пяти «нет»)

Название Обозначение Не сохранимость

константы 0 Не сохранимость

константы 1 Не

самодвойственность Не

линейность Не

монотонность Конст. 0 0 * * Конст. 1 1 * * Отриц. ¬ * * *

Конъюн. & * * Дизъюн. v * * Имплик. → * * * *

Эквивал. ∼ * * *

Сумма по мод. 2 ⊕ * * *

Штрих Шеффера

| * * * * *

Стрелка Пирса

↓ * * * * *

Базисы

Система функций S1={¬,&,v} образует базис. Для приведения булевой функции к виду содержащему лишь связки из базиса S1 могут быть полезны следующие эквивалентности:         X→Y=¬XvY         X↔Y=(Xv¬Y)(¬XvY)         X⊕Y=¬XYvX¬Y         X|Y=¬Xv¬Y         X↓Y=¬X&¬Y

Базисы

Система S2={¬,&} образует базис. Произвольную функцию можно сначала привести к виду, содержащему связки из S1, а затем использовать соотношение XvY=¬(¬X&¬Y).

Система S3={¬,v} образует базис. Произвольную функцию можно сначала привести к виду, содержащему связки из S1, а затем использовать соотношение X&Y=¬(¬Xv¬Y).

Базисы

Система S4={1,&,⊕} образует базис. Произвольную функцию можно сначала привести к виду, содержащему связки из S1 а затем использовать соотношения:         ¬X=1⊕X         XvY=X⊕Y ⊕ X&Y

Система S5={|} образует базис. Произвольную функцию можно сначала привести к виду, содержащему связки из S2 а затем использовать соотношения:         X&Y=¬(¬X|¬Y)         ¬X=X|X

Базисы

Система S6={↓} образует базис. Произвольную функцию можно сначала привести к виду, содержащему связки из S3 а затем использовать соотношения:         XvY=¬(¬X|¬Y)         ¬X=X↓X

Система S7={→,0} образует базис.

Минимизация булевских выражений

Литерал – булевская переменная или ее отрицание.

Минимизация булевских выражений – переход от СДНФ к дизъюнктивной форме, в которой каждое слагаемое, представляет собой конъюнкцию минимума литералов.

Правило склеивания

42133

421

43214321

xxxxxxx

xxx

xxxxxxxx

1xx

Операция попарного склеивания

Возможность поглощения следует из равенств

Операция попарного склеивания осуществляется между двумя термами (членами), содержащими одинаковые переменные, вхождения которых (прямые и инверсные) совпадают для всех переменных, кроме одной.

Геометрическое представление логических функций

Обозначим через Еn множество всех наборов (α1,..., αη), состоящих из чисел ноль и единица. Множество Еn называется n-мерным кубом, а набор (α1, ..., αη) - вершинами куба.

В трехмерном кубе Е3 наборы (0,0,1) и (0,0,0) образуют одномерную (n = 3, r = 2) грань (ребро), а наборы (1,0,0), (1,0,1), (1,1,0), (1,1,1) - двухмерную грань.

Пусть f(X1,X2,…,Xn) - произвольная булева функция. Ей сопоставляется в соответствие подмножество Νf вершин куба Еn, таких что (α1, ..., αη) Nf тогда и только тогда, когда f(α1, ..., αη) = 1.

Пример 1(011)

2(111)

3(010)

4(110)

5(001)

6(101)

7(000)

8(100)

1X8,6,4,2 1X7,5,3,1

2X4,3,2,1 2X8,7,6,5

3X6,5,2,1 3X8,7,4,3 213231 XX5,7,XX2,1,XX8,4

Составить СДНФ

1 2 31Вершина X X X

1 323Вершина X X X

31 24Вершина X X X

1 2 35Вершина X X X

21 36Вершина X X X

321321321321321 XXXXXXXXXXXXXXX

Метод Карно

Случай трех переменных

Переход на плоскость

Случай 4х, 5ти переменных

Пример

1 2X X

Рассмотрим первый случай для трех переменных

x1 x2 x3 f

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 1

1 2 3 1 3 1 2 1 2 3f x ,x ,x x x x x x x x

Второй пример

x1 x2 x3 f

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 1

1 2 3 3 1 2 1 2f x ,x ,x x x x x x

Метод неопределенных коэффициентов

1. Исходное уравнение разбить на систему уравнений, равных числу строк в таблице истинности.

2. Напротив каждого выражения поставить соответствующее значение функции.

3. Выбрать строку, в которой значение функции f=0 и приравнять все ki к нулю.

4. Просмотреть строки, где функция имеет единичное значение, и вычеркнуть все коэффициенты, встречающиеся в нулевых строках.

5. Проанализировать оставшиеся коэффициенты в единичных строках.

6. Используя правило, что дизъюнкция равна 1 если хотя бы один из , выбрать min-термы минимального ранга. Причем отдавать предпочтение коэффициентам, встречающимся в нескольких уравнениях одновременно.

7. Записать исходный вид функции.

Рассмотрим случай 3х переменных

1 0 1 0 1 0 11 10 011 2 3 1 1 1 1 2 2 2 2 3 3 3 3 12 1 2 12 1 2 12 1 2

00 11 10 01 00 11 10 0112 1 2 13 1 3 13 1 3 13 1 3 13 1 3 23 2 3 23 2 3 23 2 3

00 111 11023 2 3 123 1 2 3 123 1 2 3 123

, ,f x x x k x k x k x k x k x k x k x x k x x k x x

k x x k x x k x x k x x k x x k x x k x x k x x

k x x k x x x k x x x k

101 100 0111 2 3 123 1 2 3 123 1 2 3

010 001 000123 1 2 3 123 1 2 3 123 1 2 3 ,

x x x k x x x k x x x

k x x x k x x x k x x x

Получим уравнения

0 0 0 00 00 00 0001 2 3 12 13 23 1230,0,0f k k k k k k k

0 0 1 00 01 01 0011 2 3 12 13 23 1230,0,1f k k k k k k k

0 1 0 01 00 10 0101 2 3 12 13 23 1230,1,0f k k k k k k k

0 1 1 01 01 11 0111 2 3 12 13 23 1230,1,1f k k k k k k k

1 0 0 10 10 00 1001 2 3 12 13 23 1231,0,0f k k k k k k k

1 0 1 10 11 01 1011 2 3 12 13 23 1231,0,1f k k k k k k k

1 1 0 11 10 10 1101 2 3 12 13 23 1231,1,0f k k k k k k k

1 1 1 11 11 11 1111 2 3 12 13 23 1231,1,1f k k k k k k k

Минимизировать функцию

1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3, ,f x x x x x x x x x x x x x x x x x x

0,0,0 1f 0,0,1 0f 0,1,0 0f 0,1,1 0f

1,0,0 1f 1,0,1 1f 1,1,0 1f 1,1,1 1f

010,0,1f k 0

2k 13k 00

12k 0113k 01

23k 001123k

010,1,0f k 1

2k 03k 01

12k 0013k 10

23k 010123k

010,1,1f k 1

2k 13k 01

12k 0113k 11

23k 011123k

Вычеркиваем нулевые коэффициенты

010,0,0f k 0

2k 03k 00

12k 0013k 00 000

23 123k k

1 01 21,0,0f k k 0

3k 10 10 00 10012 13 23 123k k k k

1 01 21,0,1f k k 1

3k 10 11 0112 13 23k k k 101

123k

1 11 21,1,0f k k 0

3k 11 10 1012 13 23k k k 110

123k

1 11 21,1,1f k k 1

3k 11 11 1112 13 23k k k 111

123k

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

00 00023 123 1k k 1 10 10 00 1001 12 13 23 123 1k k k k k

1 10 11 1011 12 13 123 1k k k k

1 11 10 1101 12 13 123 1k k k k

1 11 11 1111 12 13 123 1k k k k

Ответ

Приравняем к единице коэффициент k1

1, соответствующий конъюнкции наименьшего ранга и обращающий четыре последних уравнения в 1, а в первом уравнении целесообразно приравнять к 1 коэффициент k23

00. Остальные коэффициенты приравнивают к 0. 1 2 3 1 2 3, ,f x x x x x x