Изучение функций в курсе математики

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

«Комсомольский-на-Амуре государственный

технический университет»



Факультет компьютерных технологий

Кафедра «Информационных систем»













РАСЧЕТНО-ГРАФИЧЕСКОЕ ЗАДАНИЕ

по дисциплине «Дискретная математика»







Студент группы 9-ПИ Шикер С.А.

















	2010


Задача 1. Представьте заштрихованные области диаграммы Эйлера-Венна (рис.1) максимально компактным аналитическим выражением, в котором используется минимальное количество операций и букв.





рис.1



Решение



На рис.2 изображена диаграмма Эйлера-Венна, заштрихованные области которой соответствуют выражению: C∩D. На рис.3 изображена диаграмма Эйлера-Венна, заштрихованные области которой соответствуют выражению: C/B. На рис.4 изображена диаграмма Эйлера-Венна, заштрихованные области которой соответствуют выражению: C∩А. 



			Рис. 2	Рис. 3	Рис.4

			

			Чтобы получить необходимое множество (рис. 1) необходимо между этими тремя выражениями поставить операцию объединение. В результате получаем:

			

			(C∩D)  (C/B)  (C∩A)

Задание 2. Записать высказывание в виде формулы логики высказываний, используя пропозициональные (логические) переменные для обозначения элементарных высказываний, т.е. таких, которые уже не могут быть построены из каких – либо других высказываний:

Неверно, что если Сидоров - не кассир, то Сидоров убил кассира; следовательно, фамилия кассира – Сидоров.



Решение



Введем обозначения:

a – «Сидоров – кассир»

b – «Сидоров убил кассира»

			Исходное высказывание содержит связку «если …, то …», которая соответствует импликации, а так же связку «Неверно, что…» и предлог «не», что соответствует отрицанию. Формула имеет вид:

			

→ a



Задание 3. Используя равносильности логики высказываний, упростить исходную формулу







Для исходной формулы и упрощенной построить таблицу истинности.



Решение.



Введем обозначения: F1 = 



	F2 = 

	

Построим таблицу истинности для F1 и F2:

№

a

b

c









F1



F2

0

0

0

0

0

1

1

0

0

0

0

1

0

0

1

0

1

1

0

0

1

0

2

0

1

0

0

1

1

0

0

1

0

3

0

1

1

0

1

1

0

0

1

0

4

1

0

0

0

1

1

0

0

0

0

5

1

0

1

0

1

1

1

1

1

1

6

1

1

0

1

0

0

0

1

1

1

7

1

1

1

1

1

1

1

1

1

1



Столбцы, соответствующие F1 и F2, совпадают. Это значит, что аналитические преобразования исходной формулы верны.



Задание 4. Ниже приведена клауза 







Необходимо выяснить при помощи алгоритма Вонга и метода резолюции является ли клауза теоремой.



Решение



Метод Вонга.

Построим дерево доказательства.


















           









           





                        



	                                                 



        

		                                                                    



      

                                                 



Все ветви дерева заканчиваются клаузами, в которых по обеим сторонам символа присутствует одна и та же буква. Следовательно, логическая теорема верна.

Метод резолюция.







Необходимо преобразовать клаузу таким образом, чтобы после знака  получился ноль, при этом избавимся от импликации.



Ǿ


Выпишем по порядку все посылки и далее начнем их «склеивать».



1



7

(2;3)А

2



8

(1;5)

3



9

(7;4)

4



10

(9;6)B

5



11

(10;8)Ǿ

6









Иначе, порядок «склеивания» можно представить в виде цепочки равносильных преобразований:







Задание 5. Заданы номера наборов аргументов, на которых булева функция принимает значение, равное единице. Необходимо:

 Записать булеву функцию в СДНФ и СКНФ;

 Минимизировать функцию с помощью минимизационной карты;

 Построить алгоритм Куайна.

 Выяснить к каким функционально-замкнутым классам принадлежит булева функция;



f (x1,x2,x3,x4)=1010010010110011



Решение



Запишем СДНФ и СКНФ булевой функции.

СДНФ(1):№ 0,2,5,8,10,11,14,15



f = 123412 3412341234

1234123412341234



СКНФ(0):№ 1,3,4,6,7,9,12,13



f = (1234) (1234) (1234) (1 

234) (123 4) (123 4) (1

234) (1234)



Строим минимизационную карту и пошагово выполняем алгоритм.



Шаг1.

№

x1

x2

x3

x4

x1x2

x1x3

x1x4

x2x3

x2x4

x3x4

x1x2x3

x1x2x4

x1x3x4

x2x3x4

x1x2x3x4

f

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

0

0

1

0

0

1

0

1

1

0

1

1

1

1

0

2

0

0

1

0

0

1

0

1

0

2

1

0

2

2

2

1

3

0

0

1

1

0

1

1

1

1

3

1

1

3

3

3

0

4

0

1

0

0

1

0

0

2

2

0

2

2

0

4

4

0

5

0

1

0

1

1

0

1

2

3

1

2

3

1

5

5

1

6

0

1

1

0

1

1

0

3

2

2

3

2

2

6

6

0

7

0

1

1

1

1

1

1

3

3

3

3

3

3

7

7

0

8

1

0

0

0

2

2

2

0

0

0

4

4

4

0

8

1

9

1

0

0

1

2

2

3

0

1

1

4

5

5

1

9

0

10

1

0

1

0

2

3

2

1

0

2

5

4

6

2

10

1

11

1

0

1

1

2

3

3

1

1

3

5

5

7

3

11

1

12

1

1

0

0

3

2

2

2

2

0

6

6

4

4

12

0

13

1

1

0

1

3

2

3

2

3

1

6

7

5

5

13

0

14

1

1

1

0

3

3

2

3

2

2

7

6

6

6

14

1

15

1

1

1

1

3

3

3

3

3

3

7

7

7

7

15

1



Шаг 2. Вычеркиваем строки, в которых функция обращается в нуль.

Шаг 3. В каждом столбце из сохранившихся чисел вычеркиваем те, равные которым уже вычеркнуты в этом столбце на предыдущем шаге.

Шаг 4. В сохранившихся строках выбираем «значения» наименьших по числу множителей конъюнкций (включая и конъюнкции с одним множителем – переменные) и обводим их.

Шаг 5. Если в одном столбце обведено несколько одинаковых чисел, то вычеркиваем все, кроме одного.

Результирующая таблица имеет вид:



№

x1

x2

x3

x4

x1x2

x1x3

x1x4

x2x3

x2x4

x3x4

x1x2x3

x1x2x4

x1x3x4

x2x3x4

x1x2x3x4

f

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

0

0

1

0

0

1

0

1

1

0

1

1

1

1

0

2

0

0

1

0

0

1

0

1

0

2

1

0

2

2

2

1

3

0

0

1

1

0

1

1

1

1

3

1

1

3

3

3

0

4

0

1

0

0

1

0

0

2

2

0

2

2

0

4

4

0

5

0

1

0

1

1

0

1

2

3

1

2

3

1

5

5

1

6

0

1

1

0

1

1

0

3

2

2

3

2

2

6

6

0

7

0

1

1

1

1

1

1

3

3

3

3

3

3

7

7

0

8

1

0

0

0

2

2

2

0

0

0

4

4

4

0

8

1

9

1

0

0

1

2

2

3

0

1

1

4

5

5

1

9

0

10

1

0

1

0

2

3

2

1

0

2

5

4

6

2

10

1

11

1

0

1

1

2

3

3

1

1

3

5

5

7

3

11

1

12

1

1

0

0

3

2

2

2

2

0

6

6

4

4

12

0

13

1

1

0

1

3

2

3

2

3

1

6

7

5

5

13

0

14

1

1

1

0

3

3

2

3

2

2

7

6

6

6

14

1

15

1

1

1

1

3

3

3

3

3

3

7

7

7

7

15

1

Шаг 6. Сокращенная ДНФ имеет вид



f = 24131234



Строим матрицу покрытий:



№

Простые импликанты

Конституенты единицы функции f



x1

x2

x3

x4

0000

0010

0101

1000

1010

1011

1110

1111

1

-

0

-

0

1

1



1

1







2

1

-

1

-









1

1

1

1

3

0

1

0

1





1













Последовательно выбираем слагаемые 1,2,5

В результате получаем МДНФ: 



f = 13241234



3. Построим алгоритм Куайна.



Построим таблицу значений функции





х1

х2

х3

х4

f

0

0

0

0

0

1

1

0

0

0

1

0

2

0

0

1

0

1

3

0

0

1

1

0

4

0

1

0

0

0

5

0

1

0

1

1

6

0

1

1

0

0

7

0

1

1

1

0

8

1

0

0

0

1

9

1

0

0

1

0

10

1

0

1

0

1

11

1

0

1

1

1

12

1

1

0

0

0

13

1

1

0

1

0

14

1

1

1

0

1

15

1

1

1

1

1



СДНФ (1): № 0, 2, 5, 8, 10, 11, 14, 15



1) 

2)

3)

4)

5)

6)

7)

8)



Слагаемые

Склеивание по переменной

Результат склеивания

1, 2

x3



1, 4

x1



2, 5

x1



4, 5

x3



4, 6

х4



5, 6

х4



5, 7

х2



6, 8

х2



7, 8

х4





























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



	1) 

2) 

3) 

4)

5)

6)

7)

8)

9)



Слагаемые

Склеивание по переменной

Результат склеивания

1, 4

x1



2, 3

x3



6, 9

х2



7, 8

х4





















В итоге получим:



f = 13241234



4. Построим таблицу значений функции





х1

х2

х3

х4

f

0

0

0

0

0

1

1

0

0

0

1

0

2

0

0

1

0

1

3

0

0

1

1

0

4

0

1

0

0

0

5

0

1

0

1

1

6

0

1

1

0

0

7

0

1

1

1

0

8

1

0

0

0

1

9

1

0

0

1

0

10

1

0

1

0

1

11

1

0

1

1

1

12

1

1

0

0

0

13

1

1

0

1

0

14

1

1

1

0

1

15

1

1

1

1

1



f(0,0,0,0)≠0 0

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

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

Поскольку набор (1,1,1,1) больше любого другого набора и f(0,0,1,0)=1, f(0,0,1,1)=0, то 

Для того чтобы выяснить, является ли функция линейной построим многочлен Жегалкина (с помощью треугольника Паскаля)



слагаемое

х1

х2

х3

х4

f

 Паскаля

1

0

0

0

0

0

f=1010010010110011

х4

0

0

0

1

0

111011011101010

х3

0

0

1

0

1

00110110011111

х3 х4

0

0

1

1

1

0101101010000

х2

0

1

0

0

0

111011111000

х2 х4

0

1

0

1

1

00110000100

х2 х3

0

1

1

0

0

0101000110

х2 х3 х4

0

1

1

1

1

111100101

х1

1

0

0

0

1

00010111

х1 х4

1

0

0

1

1

0010100

х1 х3

1

0

1

0

0

011110

х1 х3 х4

1

0

1

1

0

11111

х1 х2

1

1

0

0

1

0000

х1 х2 х4

1

1

0

1

0

000

х1 х2 х3

1

1

1

0

1

00

х1 х2 х3 х4

1

1

1

1

0

0



Полином Жегалкина имеет вид: 



1+x4+x2+x2x3x4+x1x3x4, f





T0

T1

S

L

M

f

-

+

-

-

-



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



Через всякую точку, не лежащую на прямой, можно провести не более одной прямой, параллельной данной.



Решение



1. Введем обозначения:

P(x, y): «точка y принадлежит прямой x»

Q(x, y): «x // y»

Исходное выражение можно записать в виде следующей формулы: 







2. Сначала приведем формулу к приведенной нормальной форме, т. е. избавимся от знака импликации, используя равносильности логики высказываний и логики предикатов:






Для приведения к предваренной нормальной форме необходимо вынести все кванторы в начало формулы (используя равносильности логики предикатов):







Задание 7. Построить интерпретацию формулы логики предикатов:







Решение



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

 Зададим множество, на котором будем рассматривать все предикаты: М=R, где R – множество действительных чисел.

Каждой предикатной букве ставим в соответствие предикат: 



P(x, y): “x> y”; R(x,y,z): “xy=z”, S(z): “z=1”;





При данной интерпретации высказывание  является ложным (читается: для любых действительных чисел x и y, x>y),  - истинное высказывание (читается: существуют такие действительные числа x,y,z, что xy=z),  - истинное высказывание (читается: существует такое действительное число z, что z=1). В результате получили высказывание, которое можно записать:







Значит, данная интерпретация обращает формулу логики предикатов в истинное высказывание.





13