Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

METOD_12

.pdf
Скачиваний:
16
Добавлен:
21.05.2015
Размер:
206.87 Кб
Скачать

3

Дискретная математика или, как часто говорят, компьютерная математика в XXI веке стала универсальным языком описания и исследований в менеджменте, превратилась в базовый инструмент анализа и моделирования. Именно на этом языке сегодня осмысливают свои проблемы и поддерживают профессиональное общение системные аналитики, управленческие консультанты, специалисты по организационному проектированию.

Настоящее пособие рекомендовано студентам первого курса факультета прикладной математики, информатики и механики ВГУ всех форм обучения. Оно содержит не только необходимый перечень упражнений для изучения основных понятий дискретной математики, но и изложенные в компактной форме теоретические сведения и задания для приобретения и закрепления навыков решения прикладных задач.

§1. Булевы наборы. Единичный n-мерный куб

Обозначим через E множество {0; 1}, тогда En представляет собой множество упорядоченных наборов вида (α1, α2, . . . , αn) , где αi E, i = 1, . . . , n . Такие наборы называются булевыми. Для краткости будем обозначать α = (α1, α2, . . . , αn) . Число n называется длиной набора, множество En - единичным n-мерным кубом, сами наборы - вершинами куба. Весом или нормой набора α длины n называется число его координат, равных единице:

n

α = αi.

i=1

Каждому булеву набору α длины n можно поставить в соответ-

ствие число

n

ν(α) = αi2n−i,

i=1

называемое номером набора α . Набор α является, очевидно, двоичным разложением числа ν(α) . Расстоянием (Хемминга) между вершинами α и β куба En называется число

 

 

n

 

 

i

 

ρ(α, β) =

i − βi|,

 

 

=1

равное

числу координат, в которых они различаются. Наборы α и

β En

называются соседними, если ρ(α, β) = 1 и противоположными,

если ρ(α, β) = n . Неупорядоченная пара соседних наборов (вершин) называется ребром куба. Говорят, что набор α En предшествует набору

4

β En (обозначается α ≤ β ), если αi ≤ βi для всех i = 1, . . . , n . Если при этом α ≠ β , то говорят, что α строго предшествует β . Если имеет хотя бы одно из соотношений α ≤ β или β ≤ α , то наборы α и β называются сравнимыми. В противном случае наборы α и β называются несравнимыми. Набор α En непосредственно предшествует набору β En , если α < β и ρ(α, β) = 1 .

Отношение предшествования между наборами является отношением частичного порядка на En . Через α β обозначим набор (α1 β1, α2 β2, . . . , αn βn) , полученный сложением по mod 2 векторов α и β .

На нижеприведенном рисунке изображены диаграммы часто употребляемых множеств E3 и E4 .

Рис. 1

Упражнения

1.1.Найти число наборов из En веса k . Чему равно всех вершин куба

En ?

1.2.Найти номера наборов (0111), (10101), (110010) . Найти векторы длины 6, являющиеся двоичным разложением чисел 11, 17, 20.

1.3.Найти число неупорядоченных пар соседних вершин En .

1.4.Показать, что для любых α, β, γ En справедливы соотношения

а) ρ(α, γ) ≤ ρ(α, β) + ρ(β, γ) ;

б) ρ(α, γ) = ρ(α β, γ β) ;

в) ρ(α, β) = α + β − 2 α ∩ β ;

г) ρ(α, β) = α + β .

Здесь через α ∩ β обозначается вектор, i -я координата которого равна 1 тогда и только тогда, когда αi = βi = 1 .

5

§2. Способы задания булевых функций. Элементарные функции. Формулы

Функция f(x1, x2, . . . , xn) , определенная на множестве En и принимающая значения на множестве E = {0; 1}, называется булевой функцией. Множество всех булевых функций обозначим Б .

Булеву функцию f(x1, x2, . . . , xn) можно задать таблицей:

x1

x2 . . .

xn−1 xn

f(x1, x2, . . . , xn−1, xn)

0

0 . . .

0

0

f(0, 0, . . . , 0, 0)

0

0 . . .

0

1

f(0, 0, . . . , 0, 1)

0

0 . . .

1

0

f(0, 0, . . . , 1, 0)

. . . . . . . . . . . . . . .

. . .

. . . . . . . . . . . . . . .

. . .

1

1 . . .

1

1

f(1, 1, . . . , 1, 1)

Здесь наборы α En расположены в порядке возрастания из номеров. В дальнейшем предполагая такое стандартное расположение наборов,

будем задавать функцию f(x1, x2, . . . , xn)

набором (γ0, γ1, . . . , γ2n1) ,

в котором координата γi

представляет

собой

значение функции

f(x1, x2, . . . , xn) на наборе α

с номером i(i = 0, 1, . . . , 2n 1) .

Символом Nf будем обозначать множество

: α En, f(α1, α2, . . . , αn) = 1}.

Множество Nf называется множеством истинности функции f . Между множеством булевых функций f от n переменных и множеством подмножеств Nf En существует взаимнооднозначное соответствие. Это соответствие обладает следующими свойствами.

Пусть f1(x1, . . . , xn) , f2(x1, . . . , xn) – произвольные булевы функции. Тогда

а) Nf = En\Nf ;

б) Nf1 f2 = Nf1 ∩ Nf2 ; в) Nf1 f2 = Nf1 Nf2 ;

г) f1 ≤ f2 Nf1 Nf2 .

Булевы функции, заданные следующими таблицами, будем называть элементарными.

x

0

1

f1

f2

0

0

1

0

1

1

0

1

1

0

6

x1

x2

f3

f4

f5

f6

f7

f8

f9

0

0

0

0

0

1

1

1

1

0

1

0

1

1

0

1

1

0

1

0

0

1

1

0

0

1

0

1

1

1

1

0

1

1

0

0

Приведем обозначения и названия этих функций

1.Функции 0 и 1 называются тождественными нулем и единицей.

2.Функция f1 называется тождественной функцией и обозначается через x .

3.Функция f2 называется отрицанием x и обозначается через x или ¬ x и читается "не x ".

4.Функция f3 называется конъюнкцией x1 и x2 , обозначается x1&x2

или x1 · x2 или x1 x2 и читается " x1 и x2 ".

5. Функция f4 называется дизъюнкцией x1 и x2 , обозначается x1 x2

и читается " x1 или x2 ".

6.Функция f5 называется суммой по модулю 2 x1 и x2 , обозначается x1 x2 и читается " x1 плюс x2 ".

7.Функция f6 называется эквивалентностью x1 и x2 , обозначается x1 ↔ x2 или x1 x2 и читается " x1 эквивалентно x2 ".

8. Функция f7 называется

импликацией x1 и x2 , обозначается

x1 → x2 и читается "из x1

следует x2 ".

9.Функция f8 называется штрихом Шеффера x1 и x2 , обозначается x1|x2 и читается "не ( x1 и x2 )".

10.Функция f10 называется стрелкой Пирса x1 и x2 , обозначается x1 ↓ x2 и читается "не ( x1 или x2 )".

Символы ¬, (&), , , ↔, →, |, ↓ называются логическими связками. Булева функция может быть задана при помощи формулы. Для

определения формулы введем следующие группы символов:

1) малыми латинские буквы с индексами или без них : x, y, z, x1, x2, . . . , xn, . . . ; обозначим множество этих символов через X ;

2)булевы функции: 0 и 1;

3)логические связки: ¬, (&), , , ↔, →, |, ↓; обозначим множество логических связок через σ ;

7

4)скобки (,).

Определение. Формулой над множеством связок σ назовем:

а) символы первой и второй группы;

б) если U и B – формулы, то формулами назовем ( ¬ U ), ( U B ), ( U B ), ( U → B ), ( U ↔ B ), ( U B ), ( U|B ), ( U ↓ B );

в) никаких других формул, кроме введенных в пунктах а) и б), в алгебре высказываний нет.

Для сокращения записи формул принимаются следующие соглаше-

ния:

а) внешние скобки у формул опускаются;

б) формула ( ¬ U ) записывается в виде

 

;

U

в) формула ( U B ) записывается в виде ( UB );

г) считается, что связка ¬ сильнее любой другой связки из σ ;

д) связка сильнее, чем любая из связок , , ↔, →, |, ↓.

Эти соглашения позволяют, например, формулу ((x y) (¬ z)) переписать в виде xy → x .

Говорят, что формула алгебры высказывания реализует булеву функцию f , если множества истинности Nf , N функций f и , рассматриваемых как функции от одних и тех же переменных, совпадают:

NF = N .

Пусть {x1, x2, . . . , xn} – множество тех переменных, которые встречаются хотя бы в одной из формул U или B . Формулы U и B называются эквивалентными (обозначается U = B или U ≡ B ), если на всяком наборе (α1, α2, . . . , αn) значений переменных x1, x2, . . . , xn значения функций, реализуемых формулами U и B , совпадают.

Формула называется тождественно истинной (тождественно ложной), если реализуемая ею функция равна 1 (соответственно 0) на всяком наборе переменных.

Формула называется выполнимой(опровержимой), если существует набор значений переменных, на котором реализуемая формулой функция принимает значение 1 (0).

Упражнения

2.1. Найти число булевых функций от n переменных, принимающих на противоположных наборах одинаковые значения.

8

2.2.Найти число булевых функций от n переменных, которые на любой паре соседних наборов принимают противоположные значения.

2.3.Функция f(x1, x2, x3) определяется следующим образом: она равна 1 либо при x1 = 1 , либо если переменные x2, x3 принимают разные значения, а значение переменной x1 меньше значения переменной x3 ; в противном случае функция обращается в нуль. Построить таблицу функции f(x1, x2, x3) и выписать наборы множества Nf .

2.4.Функция f(x1, x2, x3, x4) задается так: она равна нулю только на таких наборах (σ1, σ2, σ3, σ4) , для которых справедливо неравенство σ1+σ2 > σ3+2σ4 . Построить таблицу и выписать наборы множества Nf этой функции.

2.5.Выяснить, какие из нижеперечисленных выражений являются формулами:

1)

x ↔ yz;

5)

(x → (y (¬ x)));

2)

(x )¬ y;

6)

(x y)¬ z;

3)

xy ← z;

7)

(¬ x → z)y;

4)

(y → (xz));

8)

((x y) → z) x.

2.6.Выяснить, какими способами можно расставить скобки в выражении A , чтобы всякий раз получалась формула, если:

1)A = ¬ x → y x ;

2)A = x y ¬¬ z x ;

3)A = x → ¬ y → z ¬ x .

2.7.Выяснить, какие из нижепривиденных формул являются тождественно истинными, тождественно ложными, выполнимыми или опровержимыми:

1)((x y)z → ((x ↔ z) y))xyz ;

2)((x y) ↔ z)(x → yz) ;

3)(x → y) ((x z) (y z)) ;

4)((x y) (x y)) ¬ ((x → y) (x y)) ;

5)((z ↔ y) → xy) ↔ z ;

6)(yz → x) (y ↔ (x z)) ;

7)yz → (xz ↔ (x y)) ;

8)(yx → z) (yx z) ;

9)((zy → x) ↔ yx) z ;

9

10)(yz → x) (z ↔ (x z)) .

2.8.Эквивалентны ли формулы U и B :

1)

U = ¬ ((x → y) (x → z)y), B = xy (y → xz) ;

2)

U = ((x y) (x y))((x → y) (x y)), B = x| y ;

3)

U = ((x y) (x y)), B = (x ↔ y) (¬ (xy)) ;

4)

U = (x → y) → z, B = x → (y → z) ;

5)

U = x ↔ z, B = ((x y) z) ((x y)(x z)) ;

6)

U = (x → y) (xy (x ↔ y)), B = xy yx ;

7)

U = (x| y → z) (x → z), B = (x → y) z ;

8)

U = ((z y) ↓ x) ↔ xz, B = xyz yz 1 ;

9)

U = ((z ↔ y) → xy) ↔ z, B = z → xy ;

10) U = (xyz → y) (xy z), B = y → (x → z) .

§3. Основные эквивалентности алгебры высказываний. Эквивалентное преобразование формул

При оперировании с функциями алгебры логики (булевыми функциями) часто бывают полезными следующие эквивалентности, которые

вдальнейшем будем называть основными эквивалентностями:

x ◦ y = y ◦ x (коммутативность связки , где символ является общим обозначением для связок , , , ↔, →, |, ↓);

(x ◦ y) ◦ z = x ◦ (y ◦ z) (ассоциативность связки , где является общим обозначением для связок , , , ↔);

 

x y

= x y,

 

x y

= x y (правила де Моргана);

 

x xy = x,

x(x y) = x (правила поглощения);

 

x(y z) = xy xz

(дистрибутивность конъюнкции относительно

дизъюнкции);

 

 

 

 

 

x yz = (x y)(x z) (дистрибутивность дизъюнкции относительно

конъюнкции);

 

 

(дистрибутивность конъюнкции относительно

 

x(y z) = xy xz

сложения по модулю 2);

 

 

x x = x 0 = x x = 0;

x x = x 1 = x ↔ x = 1;

x = x 1, x ↔ y = x y 1;

x y = xy xy, x → y = xy x 1.

10

Рассмотрим пример эквивалентного преобразования формулы с применением приведенных в этом параграфе основных эквивалентностей:

(xy ↔ z) → z = xy ↔ z z = (xy z) z = xyz xyz z = xyz z =

= (xy z)(z z) = xy z.

Упражнения

3.1.Проверить справедливы ли следующие соотношения, построив таблицы истинности:

1)x (y ↔ z) = (x y) (x z) ;

2)x (y z) = (x y) (x z) ;

3)x → (y z) = (x → y) (x → z) ;

4)x → (y z) = (x → y) (x → z) ;

5)x → (y ↔ z) = (x → y) (x → z) ;

6)x (y ↔ z) = xy ↔ xz ;

7)x(y z) = xy xz ;

8)x (y → z) = (x y) (x z) ;

9)x → (y → z) = (x → y) (x → z) ;

10)(x y)(x y) = 0 .

3.2.Используя основные равносильности, доказать эквивалентность формул U и B , когда:

1)U = y → (x → z), B = x → (xy ((x → y) → y)z) ;

2)U = (x y)(x y), B = (x → y) (xy (x ↔ y)) ;

3) U = (xy → z) ↔ z, B = x z y z ;

4)U = xz xy xz, B = x yz ¬ (x → z) ;

5)U = (x ↔ y) ↔ z, B = x(y ↔ z) x (y z) .

§4. Дизъюнктивная и конъюктивная нормальные формы

Впредыдущих параграфах были введены понятия булевой функции

иформулы, при этом открытым остался вопрос о представлении произвольной булевой функции в виде формулы. Приводимые ниже факты направлены на решение этого вопроса.

11

Пусть x – булева переменная. Введем обозначение:

x = xσ x σ,

где σ – параметр, равный 0 либо 1. Очевидно, что

x,

если σ = 0,

x = {x,

если σ = 1.

Легко видеть, что x = 1 тогда и только тогда, когда x = σ , т.е. значение "основания"равно значению "показателя"степени.

Любая формула вида x ( x или x ), где x – произвольная булева переменная, называется литералом.

Элементарной конъюнкцией, составленной из переменных x1, x2, . . . , xn , называется логическое произведение (конъюнкция) различных булевых переменных в некоторых степенях

1

2

r

, {i1

, i2, . . . , ik} {1, . . . , n}.

(4.1)

K = xi1

xi2

. . . xir

Элементарной дизъюнкцией,

составленной

из

переменных

x1, x2, . . . , xn , называется логическая сумма (дизъюнкция) различных булевых переменных в некоторых степенях

1

2

 

r

, {i1

, i2, . . . , ik} {1, . . . , n}.

(4.2)

D = xi1

xi2

. . . xir

Число r в

формулах

(4.1) и

(4.2) называется соответственно

рангом конъюнкции и дизъюнкции. В случае, когда r = 0 , полагается

K = 1 и D = 0 .

Дизъюнктивной нормальной формой (днф) называется произволь-

ная дизъюнкция элементарных конъюнкций

 

D = K1 K2 . . . Km,

(4.3)

в которой все конъюнкции Kj различны. Число m называется длиной днф. В случае m = 0 днф называется пустой и полагается равной нулю.

Конъюнктивной нормальной формой (кнф) называется конъюнкция элементарных дизъюнкций

K = D1 D2 . . . Dm,

(4.4)

в которых все дизъюнкции Dj различны. Имеют место следующие утверждения:

1.Для каждой булевой функции f(x1, x2, . . . , xn) существует реализующая её дизъюнктивная нормальная форма

D = f(x1, x2, . . . , xn);

12

2.Для каждой булевой функции f(x1, x2, . . . , xn) существует реализующая её конъюнктивная нормальная форма

K = f(x1, x2, . . . , xn).

Если функция f(x1, x2, . . . , xn) реализована в виде формулы, построения днф и кнф можно осуществить с помощью следующего алгоритма.

Во-первых, исключим знаки →, ↔, , |, ↓; при этом используем следующие эквивалентности:

u → v = u v,

(4.5)

u ↔ v = uv u v = (u v)(u v),

(4.6)

u v = ¬ (u → v) = uv uv = (u v)(u v),

(4.7)

u|v = u v, u ↓ v = u v.

(4.8)

Во-вторых, преобразуем полученное после первого шага выражение так, чтобы знак отрицания стоял только над булевыми переменными. При этом используем формулы инверсии:

u v

= u v,

 

= u v.

(4.9)

uv

В-третьих, при построении днф формула, полученная после второго шага, преобразовывается с использованием первого дистрибутивного закона:

u(v w) = uv uw,

(4.10)

при построении кнф используется второй дистрибутивный закон:

u vw = (u v)(u w).

(4.11)

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

При реализации этого метода кроме перечисленных выше эквивалентностей (4.5)-(4.11) часто используется закон двойного отрицания

u = u,

(4.12)

а также следующие очевидные свойства операций дизъюнкции и конъюнкции:

u 1 = u, u 0 = 0,

u u = 0,

 

u 1 = 1, u u = 1,

u 0 = u.

(4.13)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]