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

книги / Основы дискретной математики

..pdf
Скачиваний:
3
Добавлен:
12.11.2023
Размер:
6.92 Mб
Скачать

- 61 -

II. Найти все пути в графе (рис. 4.14),

\{

V ’

- 62 - ГЛАВА. 5» ТЕОРИЯ А Л Г 0 Ш 1 Ю В

Основная литература

1.Лавров И.А., Максимова Л.Л. Задачи по теории множеотв, математической логике и теории алгоритмов. 11., "Наука". 1Фб .

2.Основы кибернетики. Математические основы кибернетики. Под ред. Цупкова К.А.. М.. "Высшая школа", 1974.

3.Алферов З.В. Теория алгоритмов. М., "Статистика", 1973.

4.Трехтенброт В.А. Алгоритмы и вычислительные автомата. М., "Советское радио", 1974.

5.Гинзбург С. Математическая теория контексто-свободных языков. М., "Мир”. 1970.

Дополнительная литература

X. Гладкий А.В. Формальные грамматики и языки, М., "Наука",

1973.

2. Глушков В.М. Введение в кибернетику. Киев, изд-во УССР,

1964.

3. Глушков В.М., Цейтлин Г.Е.. Ющенко В.Л. Алгебра, языки, програморование. Киев, "Наукова думка”, 1974.

5.1. Основные понятия теории алгоритмов

Под алгоритмом мы будем понимать точное предписание о вы­ полнении в определенном порядке некоторой сиотеш операций для решения всех задач одного и того же типа. Понятие "алгоритма"

относится к фундаментальным неопределяемым понятиям. К числу наиболее распространенных уточнений понятия "алгоритм" относят­ ся машины Тьюринга, нормальные алгоритм! (алгорифмы) Маркова и рекурсивные фук К П П ,>•

5.2

Машина Тьюринга - это математическая модель идеализирован­ ной вычислительной машины. Для построения машины Тьюринга необ­ ходимо задать: конечный алфавит

 

 

 

63 -

 

 

 

 

А

*•••» ^/т.

>

 

где

Л

- пустой СИМВОЛ.

 

 

 

 

Конечное множество

внутренних состояний машины

 

 

 

 

* 9/ * •••* фп

J '

 

где

^

- конечное состояние; <ft - начальное состояние.

 

Кроме того, имеется:

 

 

 

 

потенциально бесконечная в одну оторону (вправо) лента,

разделенная на ячейки;

 

 

 

 

уотройотво, управляющее работой машины;

 

 

очжтывавдв-записывавщее устройство (головка).

 

 

На ленту заносится какое-то слово (в каллус ячейку один сим­

вол). Машина в начальный момент находится в состоянии

,'

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

Функционирование формально может быть представлено в виде:

где O-i -

ai 9/ ~~ ак °е

Ь

'

 

"старый" символ в ячейке;

^

-

"старое" внутреннее

соотоянже;

- "новый" символ, записываемый в ячейку;

Фе **{Р,л ,с} - совершаемое действие ( П

- шаг вправо. У? - ваг

влево, С - сохранение прежнего положенин);

^ - "новое" внут­

реннее состояние.

 

 

 

 

Таблица 5.1

 

Написанную отроку можно

назвать командой машины Тьюрин­ га, сововушооть команд (их последовательность) образует программу машины. Программу Тьюринга удобно представить в виде табл. 5.1.

- 64 -

Нормальные алгоритмы Маркова

Вэтом случае задаются:

1.Конечная совокупность символов, называемая входным ал­

фавитом.

2.Нормальная схема подстановок.

Алгоритм Маркова преобразует входное слово с помощью под­

становок в выходное слово. Слово Р входит в слово. Q

, если

слово Q может быть представлено

в виде Q= QtPQ2 » 7Д6

и

Q2 - некоторые слова, возможно

пустые.

 

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

I — - О ) М ,

т.е, могут быть либо обычные подстановки вида L -+~М, либо заключительные подстановки L Символы ,• должны быть исключены из входного алфавита, поскольку они являются средством метаязыка.

Функционирование алгоритма Берется первая подстановка из схемы подстановок, и ее левая

часть проверяется на вхождение во входное слово. Если эта часть входит во входное слово, то самое левое вхождение заменяется на правую часть подстановки. После выполнения подстановки снова проверяем левую часть этой подстановки на вхождение, и если' первая подстановка не применима, пытаемся применить вторую под­ становку. После применения любой подстановки проверяем возмож­ ность применения подстановок, начиная с первой. Работа алгорит­ ма заканчивается, если была применена заключительная подстанов­ ка или к данному слову невозможно применить ни одну из подстано­ вок.

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

5.3.Рекурсивные функции

Воснове этого уточнения понятия "алгоритм" лежит идея нумерации исходных данных и решений. Если множество имеет мощ-

- 65

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

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

1.

Нуль—функция Уж ( Z (ж) *

О ) .

 

2.

Функция выбора аргумента (проектирующая vil'J.'l.itr*О.

 

(п А

 

т

т >

 

(* п

* 2 ' •

где т

в /,п

 

 

 

Частный случай - тождественная функция I

(ж) • X .

3.

Функция следования (функция прибавления единицы)

 

* х + 1 )

или

( х - Х+ !),

 

Из этих функций с помощью специальных операторов (операций) могут быть получены другие фунйцш.

Операторы

I.Оператор суперпозиции позволяет получить из функции

•••ь У т )

ифункций

Л/ (ХГ *!•

^/t)* Л2 ^/'

функцию

2.Оператор примитивной регурсии позволяет получить из

п-местной и п* 2 -местной функций /г+У-местную функцию

4

4(*V*2,"‘'

^2 '*“ ' ^ п ) *

 

 

 

 

 

4 (^/» *2' ' ^/1' У*^)~Л (Xf X2 •’" fXn •У1

Х2 , '" >*п '

Частный случай

66

f

{(o)s const i

l ( r i) = k ( t f ( y ) ) .

МНОЖвСТВО ЧЖОДОШХ ijfft , которое может бить получено на простевши с помощью оперший суперпозиции н прнмнтквнов ретор­ сия, ооотавдявт класс прнмжтжвно-рвкуроявных функций.

3. Оператор шшжмнэаци (j u - оператор;

оператор наимень-

аего корня), Дуоть дана функция f ( x r x7 ,

x

n , y j ,

Зафиксируем

некоторые значения аргументов Xf t x3 , ...,

хп »

Тогда

через

хюлохжтельнн и не равны ну-*», а значение

 

хп ,у )» 0 .

функция счнтаетоя неопределенное на данном наборе, если

ее

сумеетнуот для данного набора значения

у

, обращающего

функ­

цию ^ в нуль, либо

до того, как функция

примет

значение

ноль,

она примет хотя бы

одно отрицательное

значение.

Функции,

кото­

рые могут быть получены из примитивных о помощью операторов су­ перпозиции, примитивной рекурсии м и минимизации, называются частгшо-ревуроишш 4 у1о щ и я м е .

I. Построить машину Тьюринга:

а) стирающую непрерывную последовательность единиц; б) заполняющую палочкам! пустые ячейки, расположенные меж­

ду двумя ячейками с палочками; в) осуществляющую оложание чжоел, представленных последова­

тельностями палочек; г) пересчитывающую количество палочек, записанных на лен­

те, и фиксирующую ответ в десятичной запиои; д) преобразовывающую ударный ход в двоичный;

е) преобразующую исходное десятичное число п в десятичное

число

п+1 ;

 

 

{a,Stc},

и)

переводящую любое олово, записанное в алфавите

в слово

a t ;

 

 

 

з)

отирающую одну первую и две последние единицы в слове,

состоящем кв воследомтельаости единиц;

 

 

 

7.)

работающую со словами в алфавите

{а , $, с }

а изменяю­

щую в произвольном входном олове а на t

, В на

с , с

на

- 67 -

а

для воде букв олова, яром» последней»

Вместо последней ота-

ж

м буква

а ;

 

 

 

 

 

к) для вычисления функций Z ( * ) ,I( * ) t

$ ( * ) t

 

 

л) для любого трехбуквенного входного слова в алфавите

(outfit

у )

строящую обратное (в оашоле порядка ровдаложвнвя

букв):

 

 

 

 

 

 

 

м)

округляющую чволо,

записанное на ленте в виде последова­

тельности палочек,

до ближайшего б а н д о ю

нечетного числа;

 

н) преобраэущую десятичное число в соответствующую после­

довательность палочек,

 

 

 

 

2. Построить нормальный алгоритм Маркова:

 

 

а) добавляющий ease две палочки ко входному слову, состоящем]

та

последовательности палочек;

 

 

 

б) преобраэующвй «сходное олово, состоящее к> четного числа

палочек, в символ

Ц> если ха нечетзого -

в символ W

;

 

в)

преобразующий любое олово в алфавите { * , у , 2 }

в олово

2 Z X

;

 

 

 

 

 

 

г) меняющий порядок бук» ни обратный дли любого трехбуквен­

ного олова в мфавате (<*,£> f } \

 

 

 

д)

лнчюоляющжй функции

2 (х ), <£(*),

$ (* !•

 

3. Доказать, что функции примитивен*1^ * 1®*1

я) f ( * ) * X + / H б) { ( ж ) = т

в) { ( х . у ) = х + У -

4, Доказать, что функция

г)

/< Ч у /* х -£;

*)

4

* ‘

•)

4 ( я } * *

' -

а)

 

--

d

х

« 0;

 

j u y ;

* *

а > О;

« - • к - f c

е с о х > £

б)

 

•{?:

д

> О;

 

 

Г г

а

« 0 ;

S 5 S W

 

п)

 

 

 

д

• 0;

 

"

'

-

й

л > О;

*)m in x y h

 

 

 

5. Допаять,

что функции

 

 

•> 4

(* .у ) * г " у ; в)

4 ( * ) * 2 г%,

 

6. Допаять,

что

 

 

 

ду опрмяав]—

7. Придумать формальную храпит?, иоторо» ом да щепочка тернишьшх окхвоаов:

а) J* ( Р ( я ) = ^ а ( у ) ) .

4) i f А ^ S t t x t n . С t t i e t i

- 66 -

в) 2 * 2 » 5 , C L 2 + 2 * 3 , 2 5 ;

Г)A V A A A VVAA ;

f f + ' # Г « ^ | f

е) "Все сновалось в дои» Облонских".

ГЛАВА. 6. ОТВЕТЫ И Р0ПЕНИЯ

 

 

I* Теория множеств

 

 

 

I. а) справедливо, если считать обе единица

в правом мно­

жеств» иммщмми оден и тот же сшол;

в) справедливо, еоли А=ф ;

г) всегда несправедливо.

А * 3 * С ;

 

 

 

 

3,

а) нет;

б) да, воли

в)

нет;

е)

нет,

4,

а) рис*

6,1; в) рис*

6,2; о)

рис,

S,3;

л)

рис, 6,4,

5. Да рис. 1Л

в п ( А а С )

; две рис. 1*2

В п ( а а С ) ;

для рже. Х.З (А О В)о((АпВ)\С) ;

два рже.1.6((6nD)\A)и(Сп£ )и(Сп3J.

6. Докажем, например (а),

I . Цусть Х ^ А а ( б а С ) . Тогда

Х е А

жХ е б п С . т.е, х е А

, Х € б в К е С

. Значит х * А п 6 *

Х * С

, т.е. Х*-(Ап8)пС . Следовательно, A a (B n C )s (АпВ)пС*

IX, Цусть У€(А а В)р С

. Тогда

t / e A n B

в

у & С 9 или

у е в , у с У 1 и у*С,

Значит,

у^дпС*

y<-An(SnCJ*

- 6 9 -

Следовательно, (а п &)о С s

А п

( 6 п С )

 

. Итак А п ( в п С )

 

*

 

(А п В )о С

. Докажем

(е). I. Пусть Х е А п ( в с С )

. Тогда

 

 

 

* € А

и

х

е З а С

. Если Х б З , 1 0 Х е А л З

, а

следо­

вательно, Х е ( Ал 5) и (А п С) . Если

Х е

С > * о

Х е

А п С

, следо­

вательно, Х е (А п в )и ( А п С )

. Таким образок, Ап (Ви С) ^ (Ал В) и(А п С) .

II. Пусть у е ( А п В ) и ( а п С )

 

.Тогда

у е А п Ь

или у е А п С .

Если у е А п В

, то у е А

к у е З

. Отсюда следует, что у « “4

и

у е & и С , т.е. у е

А п ( б и С )

. Если у е А п С

, то у е А

и у ^ Г

Отсада следует, ч т о у е /J

и

у е б о С , т. а * у е А л ( З о С )

. Таким

образом, ( A n B ) U ( A O C ) Q

А п ( В и С )

. Следовательно, An(j5и С ) -

* (A nd) и ( А п С ) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_9. а) А & З я Х « 5 ; б) А д б ъ Х Я б

; B ) A £ X S Л Т д

;

х) А л #

s Х & 3 ;

я)

Х - А & В

 

 

; о)

^ s ? X & / 4 j £ ;

C )AAB S XG LI.

 

10.

а ) А л б £

x s A a В ; в)

Л

 

 

 

 

; а) А я

х я А п В

 

;

 

ж)

(А п С ) и

(в п С ) и ( А

п б п С ) Я

X s

6 д С

; к)

решение

существует

только

при

Л =£/

; при этом

X

- произвольное множество,

т.е.

 

ф я х ^ и ; п) Х = б = ф # ^ г Д .

 

 

 

 

 

 

 

 

 

11.

а)

например,

для множества

{ / ,2 }; ф,

 

t {/,

2 }

;

Л)

Ф. { £ > } , { / } ,

{О,

/ }

; *)

ф,

{ § ) .

 

 

 

 

 

 

 

15.

а) А и В и (А л С ) Я Х& А п (А й 5 )

;

в)

3 s

х '&

А

 

;

 

г)

д о (А л С ) s х s С л (Аа $); л)

З и С & . х ^ А П б п С

 

 

 

 

16.

а)

рис. 6.5,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рI—/ 2 j sc х

Рис. 6.5.

рас. 6.6.

18.Рис. 1.7 (б) соответствие биективно; рис. 1.7 (г) соот­ ветствие не функционально, не инъективно, не всюду определено, не сюръективно.

19.а) рио, 6.6; в) рис. 6.7; д} рис. 6.8.

70 -

22.а) рефлексивностью, асимметричностью, транзитивностью, несвязностью (для X = 3 и у = 4, а также для X = 4 и у = 3 соотношение не выполняется).

23.а) относительно этого отношения не существует отношения полного согласия среди математиков.

25.в) рис. 6.9; е) рис. 6.10.

28. Рис. 6.II (а), (б). (в).

S

5

Рис. 6.II,

29.в) наименьшего и наибольшего элементов нет; максимальные

элементы { V, 5, 6 } , минимальные { f. 2 , 3 } .