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

Функции алгебры логики

.pdf
Скачиваний:
850
Добавлен:
18.03.2015
Размер:
2.27 Mб
Скачать

71. Дано m предметов одного сорта и n другого. Найти число выборок, составленных из r элементов одного сорта и s другого.

Ответ: Cmr Cns .

72. Сколькими способами число n можно представить в виде суммы k натуральных слагаемых

(представления, различающиеся лишь порядком слагаемых считаются разными).

C k 1

Ответ: n 1 .

73.Бросаются 10 одинаковых игральных костей. Сколькими способами они могут упасть так, что :

1)ни на одной кости не выпадет 6 очков;

2)хотя бы на одной кости выпадет 6 очков;

3)ровно на 3-х костях выпадет 6 очков;

4)ровно на 3-х костях выпадет 6 очков, на 2-х других выпадет 5 очков.

Ответ : 510, 610-510, 24 58, 630 46

74. Считая, что телефонные номера состоят из 7 цифр, причем могут начинаться и с 0 тоже, найти число

телефонных номеров, таких что:

1)4 последние цифры одинаковы и не встречаются среди первых 3-х (первые 3 цифры различны.);

2)все цифры различны ;

3)номер начинается с цифры 5;

4)номер содержит три цифры 5, две цифры 1 и две цифры 2.

Ответ : 5040, 103!! , 106, 210.

75.10 человек, среди которых Иванов и Петров, размещаются в гостинице

вдвух 3-х местных и в одном 4-х местном номерах. Сколькими способами они могут быть размещены ? Сколькими способами их можно разместить, если Иванов и Петров помещены в 4-х местный номер ?

Ответ: 4200, 560.

76.52 карты раздаются 4-м игрокам, каждому по 13 карт. Сколькими способами их можно раздать, если

1)каждый игрок получит туза;

2)один из игроков получит все 13 карт единой масти ;

3)все тузы попадут к одному из игроков;

4)2 определенных игрока не получат ни одного туза.

 

4! 48!

 

16 39!

 

4 48!

 

48! 2300

Ответ:

 

 

,

 

 

 

,

 

 

,

 

.

(12!)4

 

(13!)3

 

(13!)3 9!

(13!)3 11!

77. Регистр калькулятора содержит 8 разрядов. Сколько будет 8-ми значных

чисел, если

21

1)регистр содержит ровно 2 одинаковые цифры ;

2)регистр содержит ровно 2 пары одинаковых цифр;

3)регистр содержит ровно 3 одинаковые цифры;

4)регистр содержит не более 3-х различных цифр.

Ответ: 143 10!, 10! 352 , 73 10!, 10 (1 9 27 36 37 ) .

78.Сколькими способами можно выстроить 9 человек:

1)в колонну по одному;

2)в колонну по 3, если в каждой шеренге люди выстраиваются по росту и нет людей одинакового роста?

Ответ: 9!, C93 C63 .

79.Из n букв, среди которых a встречается α раз, буква b встречается β раз,

аостальные буквы попарно различны, составляются слова. Сколько среди них будет различных r-буквенных слов, содержащих h раз букву a и k раз букву b?

Ответ: Chr Ckr h Cn ( r h k ).

80. Имеется колода из 4n (n 5) карт, которая содержит карты 4-х мастей по n карт каждой масти,

занумерованных числами 1,2…n. Подсчитать, сколькими способами можно выбрать 5 карт так, что среди них окажутся:

1)5 последовательных карт одной масти;

2)4 карты из 5-ти с одинаковыми номерами;

3)3 карты с одним номером и 2 карты с другим;

4)5 карт одной масти;

5)5 последовательно занумерованных карт;

6)3 карты из 5-ти с одним и тем же номером;

7)не более 2-х карт каждой масти.

Ответ: 4(n–4), 4n(n–1), 12n(n–1), C5n , 45(n–4), 4nC42n 4 , 12 Cn2 2 n 4Cn2 n3 .

81. Сколькими способами можно расставить n нулей и k единиц так, чтобы между любыми 2-мя единицами находилось не менее m нулей?

Ответ: Ck .

n k( m 1 ) 1

2.ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ

2.1.Элементарные функции алгебры логики

22

Обозначения:

E ={0,1}; Е n =

E E ... E

2

прямое

произведение n

 

 

 

 

2

 

2

2

2

 

 

 

 

сомножителей; (x

1

,..,x

) E , | E | – мощность E , |E |=2, тогда |Е n

|=2n.

 

 

n

2

2

 

 

2

2

 

2

 

 

Определение 1. Функцией алгебры логики называется закон,

осуществляющий отображение Е n

 

E , причем отображение всюду определено

 

 

 

 

 

2

 

2

 

 

 

 

 

 

и функционально.

 

 

 

 

 

 

 

 

 

 

 

 

Так как множество Е n

конечно, то задать отображение Е n

E , означает

 

 

 

 

2

 

 

 

 

 

 

 

2

2

задать множество наборов из Е 2n

и для каждого набора указать его образ в Е 2.

Пример 1. Пусть n=2, тогда Е 22 ={(0 0),(0 1),(1 0),(1 1)}, отображение Е 22

E2 задано, например, так: (0 0) 0 ; (0 1) 1; (1 0) 1 ; (1 1) 1

Тем самым задана функция, для которой мы будем использовать стандартное обозначение f(x1,x2),

записывая эту функцию в виде таблицы:

x1

x2

f(x1,x2)

 

 

 

0

0

0

0

1

1

1

0

1

1

1

1

 

 

 

Здесь x1 и x2 обозначают названия столбцов, а f – символ, обозначающий отображение. Следует обратить внимание, что функции f(x1,x2) и f(y1,y2) задают одно и то же отображение, и их таблицы отличаются только названиями столбцов.

Определение 2. Таблица, задающая функцию f(x1,x2,...,xn), называется таблицей истинности для этой функции.

Рассмотрим функции одной переменной. Их будет всего 4, они задаются следующими таблицами истинности:

x f0(x)

00

10

функция называется константой 0, записывается f0(x) 0;

x f1(x)

00

11

функция называется тождественной, записывается f1(x)= x;

23

x

f2(x)

 

 

0

1

1

0

 

 

функция называется «не x» и записывается f2 (x)= x ;

x

f3(x)

 

 

0

1

1

1

функция записывается f3(x) 1 и называется константой 1. Если стандартным расположением переменной x считать 0 в первой строке и 1 во второй, то

функции f0, f1, f2, f3 определяются однозначно наборами значений: f0=(0,0), f1=(0,1), f2=(1,0) и f3=(1,1). Наборы значений функций составляют множество E2 Е2,

поэтому количество функций одной переменной равно |E2 E2|=4. Для удобства функции пронумерованы так, что двоичный код номера совпадает с набором значений функции.

Рассмотрим функции двух переменных f(x1,x2). Функции двух переменных определены на множестве Е 22 ={(0 0),(0 1),(1 0),(1 1)}, эти наборы переменных из

Е 22 можно тоже рассматривать как двоичные коды чисел 0,1,2,3, именно такой порядок расположения наборов (x1,x2) будем считать стандартным. Тогда функции

f(x1,x2) определяются однозначно наборами значений ( 1, 2,

3,

4), где каждое

E ,

поэтому (

,

,

,

) Е 4

. Следовательно, число

функций двух

i

2

1

 

2

3

4

2

 

 

 

переменных равно 24=16, занумеруем их числами от 0 до 15 так, чтобы двоичный код номера совпадал с набором значений функции.

x1 x2

f0

f1

f2

f3

f4

f5

f6

f7

f8

f9

f10

f11

f12

f13

f14

f15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0 1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

1 0

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

1 1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

24

1)f1(x1,x2) = (x1&x2), читается «конъюнкция х1 и х2», иногда вместо знака

&употребляют знак или вообще его опускают, пишут (х1х2). (х1 х2) совпадает с обычным произведением х1х2 и совпадает с min(x1,x2). Эту операцию называют также логическим умножением.

2)

f6(x1,x2) = (x1 x2) – сложение х1 и х2 по модулю два, иногда пишут

(х1+х2)mod2.

 

3)f7(x1,x2) = (x1 x2), читается «х1 дизъюнкция х2», она совпадает с max(x1,x2), ее называют логическим сложением.

4)f8(x1,x2) = (x1 x2), читается «х1 стрелка Пирса х2» и совпадает с отрицанием дизъюнкции, другие названия: функция Вебба, функция Даггера.

5)f9(x1,x2) = (x1 x2), читается «х1 эквивалентно х2».

6)f13(x1,x2) =( x1 x2), читается «х1 импликация х2», иногда обозначается (х1 х2), т. е. х1 влечет х2 .

7)f14(x1,x2) = (x1|x2), читается «х1 штрих Шеффера х2», она является отрицанием конъюнкции.

Cимволы , участвующие в обозначениях элементарных

функций, называются логическими связками или просто связками. Переменные 0

и1 называются логическими или булевыми переменными, причем 0

соответствует «лжи» , а 1 – «истине», а функции алгебры логики называются еще и блевыми функциями.

 

Рассмотрим

функции

 

f(x ...x

), где

(x ...x

) Е n

, тогда число наборов

 

 

 

 

 

1 n

 

1 n

 

2

 

 

(x

...x

),где функция f(x ...x

)

должна быть задана,

равно |Е n

|=2n. Обозначим

1

n

 

1 n

 

 

 

 

 

 

2

 

множество всех функций двузначной алгебры логики Р2. Обозначим через Р2(n)

число функций, зависящих от n переменных. Очевидно, Р2(n)=22 n.

С ростом n число Р2(n) быстро растет: P2(1)=4, P2(2)=16, P2(3)=256,

P2(4)=65536 . При больших n табличный способ задания функций становится неприемлемым, используется формульное задание функций. Но прежде чем ввести понятие формулы, дадим определение существенной переменной.

Определение 3. Функция f(x1,...,xi–1,xi,xi+1,...,xn) существенно зависит от хi,

если существуют такие значения 1, ... i–1, i+1, ... n переменных x1, ...xi–1, xi+1, ...xn, что f( 1, ... i–1 i+1 . n) f( 1... i–1 i+1 . n) . Тогда переменная хi называется

25

существенной переменной. В противном случае хi называется фиктивной переменной.

Пример 2.

Рассмотрим несколько функций двух переменных

x1

x2

(x1 x2)

f3

f15

 

 

 

 

 

0

0

0

0

1

0

1

0

0

1

1

0

0

1

1

1

1

1

1

1

Покажем, что (х1 x2) существенно зависит от х1. Рассмотрим наборы (0,1) и (1,1), здесь 2=1, f(0, 2)=0 и не равно f(1, 2)=1. Покажем, что х2 тоже существенная переменная. Рассмотрим наборы (1,0) и (1,1). Здесь 1=1, f(1,0)=0 и

не равно f(1,1)=1. Для функции f3(x1,x2) покажем , что х2 – иктивная переменная,

т.е. надо показать, что не существует наборов ( 1,0) и ( 1,1) таких, что f3( 1,0) f3( 1,1). Пусть 1=0, т.е. рассмотрим наборы (0,0) и (0,1), f(0,0)=f(0,1)=0.

Пусть 1=1, но f(1,0)=f(1,1)=1.

Для функции f15 и x1 и x2 являются фиктивными переменными. x1

фиктивная переменная, если не существует наборов (0, 2) и (1, 2), таких, что f(0, 2) f(1, 2). Если 2=0, то f(0,0)=f(1,0)=1. Пусть 2=1, тогда f(0,1)=f(1,1)=1.

Пусть хi является фиктивной переменной для функции f(x1, ..., xi, ..., xn). Тогда ее можно удалить из таблицы истинности, вычеркнув все строки вида: ( 1, ... i–1, 1, i+1, ... n) или, наоборот, все строки вида: ( 1,

..., i–1, 0, i+1, ... n) и столбец для переменной хi. При этом получим таблицу для некоторой функции g(x1, ..., xi–1, xi+1, ...xn). Будем говорить, что функция g(x1, ...xi–1, xi+1, ...xn) получена из функции f(x1, ..., xi, ...xn) путем удаления фиктивной переменной хi или f получена из g путем введения фиктивной переменной хi.

Определение 4. Функции f1 и f2 называются равными, если f2 можно получить из f1 путем добавления или удаления фиктивной переменной.

Пример 3.

x1

x2

f3

 

 

 

0

0

0

0

1

0

1

0

1

1

1

1

Вычеркнули строки типа ( ,1), т.е. (0,1) и (1,1) и столбец для х2.

26

Получили f3(x1 x2) = g(x1) = x1.

Пример 4.

x1

x2

g

 

 

 

0

0

0

0

1

0

1

0

0

1

1

1

 

 

 

Пусть функция g(x1 x2) задана таблицей и существенно зависит от обеих переменных. Построим функцию f(x1,x2,x3), которая получается из g(x1,x2)

введением фиктивной переменной х3:

x1

x2

x3

f

 

 

 

 

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

0

1

0

0

0

1

0

1

0

1

1

0

1

1

1

1

0

К наборам (х1,х2) мы добавим х3=0, получим наборы вида: ( 1, 2,0), на этих наборах функцию f положим равной g( , ), затем добавим наборы вида ( , ,1), функцию f( , ,1) положим равной g( , ).

Особую роль играют константы 0 и 1, которые не имеют существенных переменных и которые можно рассматривать как функции от пустого множества переменных.

2.2. Формульное задание функций алгебры логики

Дадим индуктивное определение формулы над множеством. Это определение несколько сложное по форме, но будет полезно в дальнейшем. С

индуктивным определением мы встречались в математическом анализе при определении n-го дифференциала dnf(x) : было введено понятие первого дифференциала df(x), а затем n-й дифференциал определялся как первый дифференциал от d(n–1)f(x).

27

Определение 1. Пусть М P2, тогда:

1)каждая функция f(x1, ..., xn) называется формулой над ;

2)пусть g(x1, ..., xm) G1, ..., Gm – либо переменные, либо формулы над

. Тогда выражение g(G1...Gn) – формула над .

Формулы будем обозначать заглавными буквами: N[f1, ..., fs], имея в виду функции, участвовавшие в построении формулы, или N(х1, ..., xk) имея в виду переменные, вошедшие в формулу. Gi – формулы, участвовавшие в построении g(G1, ..., Gn), называются подформулами.

Пример 1. Пусть N={(x1 x2),(x1 x2),( x )}, тогда ((х1 х2) х3) – формула над

.

Сопоставим каждой формуле N(x1, ..., xn) функцию f(x1, ..., xn) P2.

Сопоставление будем производить в соответствии с индуктивным определением формулы.

1)Пусть N(x1, ..., xn)=f(x1, ..., xn), тогда формуле N(x1, ..., xn) сопоставим функцию f(x1, ..., xn).

2)Пусть N(x1, ..., xn)=g(G1, ..., Gm), где каждое Gi – либо формула над M, либо переменная, тогда по индуктивному предположению каждому Gi сопоставлена либо функция fi P2 , либо переменная хi , которую можно считать тождественной

функцией.

 

Таким образом,

каждой

формуле Gi

сопоставлена функция

fi( xi

,...,xi

),

причем:{ xi

,...,xi

 

} {x1,

..., xn}, т.к.

в формуле N(x1, ..., xn)

1

k

1

k

 

 

 

перечислены все переменные, участвовавшие в построении формулы. Можно считать, что все функции fi зависят от переменных (x1, ..., xn), причем какие-то переменные могут быть фиктивными. Тогда N(x1, ..., xn) = g(G1, ..., Gm) = g( f1(x1, ..., xn), ..., fm(x1,..,xn)). Сопоставим этой формуле функцию h(x1, ..., xn) следующим образом: пусть ( 1, ..., n) – произвольный набор переменных (x1, ..., xn).

Вычислим значение каждой функции fi на этом наборе, пусть f( 1, ..., n)= i, затем найдем значение функции g(x1, ..., xm) на наборе ( 1, ..., m) и положим h( 1, ..., n) = g( 1, ..., m) = g(f1( 1, ..., n), ..., fm( 1, ..., n)). Так как каждое fi(x1, ..., xn) есть функция, то на любом наборе ( 1, ..., n) она определяется однозначно, g(x1, ..., xm)

– тоже функция, следовательно, на наборе ( 1, ..., n) она определяется

28

однозначно, где h(x1, ..., xn) есть функция, определенная на любом наборе ( 1, ...,

n).

Множество всех формул над M обозначим через <M>.

Определение 2. Две формулы N и D из <M> называются равными N=D

или эквивалентными N D , если функции, реализуемые ими, равны.

Пример 2. Доказать эквивалентность формул:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( x1 &(х2 x3))~(

 

x1 ( x2

x3 )&( x3

x2 ) ) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

x2

x3

 

x2 x3

 

&

x2 x3

 

x3 x2

&

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

 

0

 

0

1

 

1

 

1

1

0

 

0

0

1

 

1

 

1

1

 

0

 

0

0

1

 

0

1

0

 

1

 

1

0

 

1

 

0

0

1

 

0

1

1

 

0

 

0

1

 

1

 

1

1

0

 

1

0

0

 

0

 

0

1

 

0

 

1

1

0

 

1

0

1

 

1

 

0

1

 

0

 

0

1

0

 

1

1

0

 

1

 

0

0

 

1

 

0

1

0

 

1

1

1

 

0

 

0

1

 

1

 

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Упрощение записи формул:

1)внешние скобки можно отпускать;

2)приоритет применения связок возрастает в следующем порядке: ~, , ,&;

3)связка – над одной переменной сильнее всех связок;

4)если связка – стоит над формулой, то сначала выполняется формула, затем отрицание;

5)если нет скобок, то операции и выполняются в последнюю очередь.

29

Теорема о замене подформул на эквивалентные

Пусть N <M> и имеет вид: N(x1, ..., xn) = g(G1, ...Gi, ...,Gm). Пусть подформула Gi~Gi , тогда формула N(x1, ..., xn) = g(G1, ...,Gi,...,Gm) эквивалентна формуле N (x1, ..., xn) = g(G1 , ..., Gi , ...,G m).

Доказательство. Формулы N и N эквивалентны, если реализуют одну и

ту же функцию. Согласно построению функции, реализующей формулу имеем:

 

N(x1, ..., xn) = g(f1(x1, ..., xn ), ..., fi(x1, ..., xn), ..., fm(x1, ..., xn)),

 

N (x1, ..., xn)= g(f1 (x1, ..., xn ), ..., fi (x1, ..., xn), ..., fm (x1, ..., xn)).

 

По условию Gi~Gi , следовательно на наборе 1, ..., n) имеем fi 1, ..., n) =

=

fi 1, ..., n) следовательно, на любом наборе 1, ..., n)значения функции g(f1,

...,fi, ...,fm) и g(f1 , ...,fi , ...,fm ) совпадают. Получим N~N .

Некоторые свойства элементарных функций

1.Идемпотентность & и : х&x=x , x x=x.

2.Коммутативность &, , ,|,~, .

3.Ассоциативность &, , ,~, поэтому в формулах вида xyz можно не ставить никаких скобок.

4.Дистрибутивность:

а) & по отношению к :

x&(y z)=xy xz ,

б) по отношению к &:

x(y&z)=(x y)&(x z) ,

в) & по отношению к : x(y z)=xy xz .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.

Инволюция :

 

 

x =х .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= x & y и xy = x y .

6.

Правило де Моргана:

 

x y

7.

Законы действия с 0 и 1:

 

 

 

 

 

 

 

 

 

x 0=x , x 1=1 , x x =1 ,

x&0=0 , x&1=x , x&

x

=0 , x 1=

x

, x 0=x.

8. Самодистрибутивность импликации: x (y z)=(x y) (x z).

Равенство всех этих формул доказывается по определению, т.е. по

равенству функций, которые они реализуют.

Проверим

для

примера

самодистрибутивность импликации :

x (y z)=(x y) (x z).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

y

z

 

y z

x (y z)

x y

x z

 

 

 

 

 

 

 

 

 

 

 

 

30