diskretna_matematika_rakovodstvo

208
Ръководство за решаване на задачи по дискретна математика Славчо Щраков Красимир Йорджев Маргарита Тодорова

Upload: kolio-krystev

Post on 24-Oct-2014

923 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Diskretna_Matematika_Rakovodstvo

Ръководство за решаване назадачи по дискретна математика

Славчо Щраков Красимир ЙорджевМаргарита Тодорова

Page 2: Diskretna_Matematika_Rakovodstvo

Настоящото ръководство за решаване на задачи подискретна математика е предназначено за студентите отпърви и втори курс на университетските и инженернитеспециалности, които подготвят специалисти в областта наинформатиката, информационното обслужване, изкуственияинтелект, технологията на компютърното и софтуернотопроизводство, автоматиката и др. Ето защо, заедно съсзадачите, произтичащи от основния материал, залегнал

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

Издаването на настоящото ръководство е продиктувано иот сравнително малкото подобни помагала, а и поради бързотоизчерпване на учебната литература от тази област.

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

ПРЕД ГОВОР

в учебните програми по Д искретна математика (заспециалностите Информатика и Математика) и по Д искретни

Page 3: Diskretna_Matematika_Rakovodstvo

3

Задачите в ръководството са разработени на базата надвата учебника ” ” (on line версия -

Щраков и ”Математически основи на информатиката” с авториР. Павлов, Сл. Радев и Сл. Щраков. Всъщност, тези дваучебника до голяма степен са единствената достъпна учебналитература в тази област за студентите от Югозападнияуниверситет и ние се надяваме, че това ръководство ще запълничаст от потребностите на студентите от такива помагала.

Ръководството е резултат от многогодишния опит

университет ”Н.Рилски” в Благоевград.По-важните задачи са снабдени с подробни решения и

илюстрации, докато за някои от задачите сме се задоволилисамо да маркираме схемата по която могат да се решат във видна упътвания.

Някои от задачите са оригинални и са резултат отиндивидулната преподавателска практика на авторите, нотова не е изрично упоменато, за да не се получи ненужнапретрупаност на текста.

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

Отделните глави на учебника са написани, както следва:Славчо Щраков - глава 4;Красимир Йорджев - глава 1, частите 1.6, 1.7 и 1.8; глава

2, част 2.5 и глава 3;Маргарита Тодорова - глава 1, частите 1.1, 1.2, 1.3, 1.4 и

1.5; глава 2, частите 2.1, 2.2, 2.3 и 2.4.Благодарни сме на рецензентите ст.н.с. д-р Петър

Бойваленков и доц. д-р Илия Гюдженов за добронамерените

Д искретна математикас автори Й. Д енев и Сл.

на авторите в преподаването на ” ”Д искретна математикаи Д искретни структури на студентите от Югозападния

http://www.fmns.swu.bg/pwm/dm

Page 4: Diskretna_Matematika_Rakovodstvo

4

и критични рецензии, които доведоха до подобряването наръководството.

Авторите

Page 5: Diskretna_Matematika_Rakovodstvo

1. ОСНОВНИМАТЕМАТИЧЕСКИПОНЯТИЯ

1.1 Множества и операции с тях

Понятието множество е първично. Според Г. Кантор, томоже да се опише по следния начин: ”Под множество щеразбираме сбор от определени, различни помежду си обекти(реални или въобръжаеми), наречени елементи на множеството,разгледани в тяхната общност.”

Всяко множество се определя от принадлежащите муелементи, които ще означаваме с малки букви от латинскатаазбука, евентуално с индекси - a1, a2, . . . , an. Самите множестваще означаваме с големите букви от латиницата.

Начините на задаване на множества обикновено са:

• конструктивно - изброяват се елементите намножеството. Това задаване е подходящо за крайнимножества (множества с краен брой елементи) и по-точносъс сравнително малък брой елементи;

• дескриптивно (описателно) - чрез посочване нахарактеристично свойство. Свойството се наричахарактеристично за множеството, ако го притежават

Page 6: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 6

само елементите на това множество.

A и B ще наричаме равни и ще пишемA = B, ако се състоят от едни и същи елементи.

Множеството A е подмножество на B (означава се с A ⊂B), ако всеки елемент на A принадлежи на B.

Съвкупността от всички подмножества на A ще бележимс P(A) или 2A.

Предполагаме, че всички разглеждани множества прирешаването на даден проблем са подмножества на едно и същоуниверсално множество, което ще бележим с J .

Множеството, което не съдържа нито един елемент сенарича празно множество и се бележи с ∅.

Основните операции с множества са:

• едночленната операция - допълнение;

• двучленните операции - обединение, сечение и разлика.

Ако A,B ∈ J , то операциите се дефинират по следнияначин:

Обединение на множествата A и B е множеството:A ∪ B = {x | x ∈ A или x ∈ B}, то съдържа всички

елементи, които са или в A, или в B.Сечение на множествата A и B е множеството:A∩B = {x | x ∈ A и x ∈ B}, то съдържа всички елементи,

които са в A и в B едновременно.Разлика на множествата A и B е множеството:A\B = {x | x ∈ A и x /∈ B}, то съдържа всички елементи,

които са елементи на A, но не са от B.на множеството A:

A = J \A = {x | x /∈ A} - това множество съдържа всичкиелементи на J , които не са елементи на A.

Д опълнение

множестваД ве

Page 7: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 7

За всеки три множества A, B и C са в сила следнитесвойства:

1. на обединението и сечението:

(A ∪B) ∪ C = A ∪ (B ∪ C),

(A ∩B) ∩ C = A ∩ (B ∩ C).

2. Комутативност на обединението и сечението:

A ∪B = B ∪ A,

A ∩B = B ∩ A.

3. Свойства на допълнението:

A ∪ A = J ,

A ∩ A = ∅,A = A.

4. Свойства за повторението:

A ∪ A = A,

A ∩ A = A.

5. Свойства на празното и универсалното множество:

A ∪ ∅ = A, A ∩ ∅ = ∅,A ∩ J = A, A ∪ J = J .

6. :

A ∪B = A ∩B, A ∩B = A ∪B

А социативност

Закони на МорганД е

Page 8: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 8

7. :

(A ∪B) ∩ C = (A ∩ C) ∪ (B ∩ C),

(A ∩B) ∪ C = (A ∪ C) ∩ (B ∪ C).

8. Свойства за поглъщане:

(A ∪B) ∩B = B,

(A ∩B) ∪B = B.

ЗадачиЗадача 1.1.1: Кои от следните описания задават (определят)множества:

а) Пет отрицателни числа;б) Четните положителни числа;в) Хубавите книги в библиотеката;г) Естествените числа;д) Студентите в България.

Задача 1.1.2:а) A = {x ∈ Z | 9 ≤ x ≤ 13};б) B = {x ∈ N | 1 ≤ x ≤ 2};в) C = {x ∈ Q | x2 + 5x + 6 = 0};г) D = {x ∈ R | x2 − 4 = 0};д) E = {x ∈ N | 1 ≤ 2x ≤ 10}.

Задача 1.1.3:а) A = {−3,−2,−1, 0, 1, 2, 3};б) B = {−2, 2};в) C = {1, 2, 3, 4, 5, 6, 7, 8, 9};г) D = {±1,±3,±5,±7}.

трибутивност на обединението и сечениетоД ис

се зададат конструктивно множествата:Д а

се зададат дескриптивно множествата:Д а

Page 9: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 9

Задача 1.1.4: Назовете елементите на множествата:а) A = {12, 18, 24, 30};б) B = {{12, 18} , {24, 30}} ;в) C = {∅, {∅}} ;г) D = {∅};д) E = ∅;е) F = {a, A, {b} , B} .

Задача 1.1.5: Проверете равни ли са следните двойкимножества:

а) A = {1, 2, 3} и B = {x ∈ N | 1 ≤ x ≤ 3};б) C = {{5, 6} , 7} и D = {5, 6, 7} ;в) E = {x ∈ Q | x2 − 5x + 6 = 0} и F = {2, 3};г) G = {x ∈ N 5 ≤ x ≤ 10} и H = {6, 7, 8, 9}.

Задача 1.1.6: Вместо © да се постави необходимият символизмежду =, ∈, /∈, ⊂ и ⊃, така че да се получи вярно твърдение:

а) 2©{x ∈ N | 1 ≤ x < 5};б) {2, 4}© {x ∈ N | 1 ≤ x ≤ 5};в) ∅© {x ∈ N | 1 ≤ x < 5};г) {1, 3, 5}© {x ∈ N | 1 ≤ x ≤ 5};д) {1, 2, 3, 4, 5}© {x ∈ N | 1 ≤ x < 5}.

Задача 1.1.7:подмножества на множеството A = {∗, ., \, +,−} и да сеопредели кои от тях са собствени подмножества на A.

Задача 1.1.8: A ∪B, A ∩B и A \B, ако:а) A = {1, 5, 10, 15, 20, 25} и B = {1, 5, 10, 30};б) A = {x ∈ Q |−5 < x < 15} и B = {x ∈ Q |−3 ≤ x ≤ 16};в) A = {x ∈ N | x ≤ 50} и B = {x ∈ N | 20 ≤ x < 30};г) A = {1, 2, 3, 4} и B = {4, 3, 2, 1}.

се зададат конструктивно всичкиД а

се определятД а

Page 10: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 10

Задача 1.1.9: A ⊂ P и B ⊂ P тогава и самотогава, когато (A ∪B) ⊂ P .

Задача 1.1.10: A ⊂ B тогава и само тогава,когато A ∪B = B.

Задача 1.1.11: A ∩ B = B тогава и самотогава, когато B ⊂ A.

Задача 1.1.12: A = B тогава и само тогава,когато (A \B) ∪ (B \ A) = ∅.Задача 1.1.13: Ако A и B са множества, кои от следнитетвърдения са верни?

а) Ако x ∈ A, то x ∈ A ∪B;б) Ако x ∈ A, то x ∈ A ∩B;в) Ако x ∈ A ∩B, то x /∈ A или x /∈ B;г) Ако x ∈ A, то x ∈ A \B;д) Ако x ∈ A ∪B, то x ∈ A и x ∈ B;е) Ако x ∈ A ∩B, то x ∈ A и x ∈ B;ж) Ако x ∈ A \B, то x /∈ B.

Задача 1.1.14: A = {5, 6, 7}, B ={7, 4, 9, x} и C = {x, y, 6, 10} x и y така,че A ∩B = {5, 7} и A ⊂ C.

Задача 1.1.15: Като се използуват свойствата на операциите∪, ∩, и \ на множества, свързани с празното множество ∅ иуниверсалното множество J , да се опростят изразите:

а) [(A ∪B ∪ C) ∩ J ] ∪ [(A ∩ ∅) ∪ (A ∩B ∩ C)] ;б) [(A ∩B) ∪ (B ∩ ∅)] ∩ [(A ∩B) ∪ J ] ;в) A ∩ [(A ∪B) ∩ (A ∪ C)] ;г) [(B ∩ C) ∩ C] ∪ [(A ∪B) ∩ (B ∩ C)] ;д) [(A ∪ J ) ∩ (B ∪ A)] ∪ [(B ∪ A) ∩ (B ∪ ∅)] .

се докаже, чеД а

се докаже, чеД а

се докаже, чеД а

се докаже, чеД а

дени са множестватаД асе намерят числата.Д а

Page 11: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 11

Задача 1.1.16: Като се използуват свойстата на операциите ∪,∩, и \ на множества, да се докажат равенствата:

а) A ∪ (B ∩ C ∩D) = (A ∪B) ∩ (A ∪ C) ∩ (A ∪D);б) (A ∪B ∪ C) ∩D = (A ∩D) ∪ (B ∩D) ∪ (C ∩D);в) (A∪B)∩ (C ∪D) = (A∩C)∪ (B∩D)∪ (A∩D)∪ (B∩C).

Задача 1.1.17:а) (A ∩B) \ C = (A \ C) ∩ (B \ C);б) (A ∪B) \ C = (A \ C) ∪ (B \ C);в) (A ∪B) ∩ C = (A ∩ C) ∪ (B ∩ C);г) A \ (B ∪ C) = (A \B) ∩ (A \ C);д) A \ (B ∪ C) = A \B \ C;е) (A ∩B) \ (A \ C) = A ∩B ∩ C;ж) A \ (B ∪ C) = (A \ C) \ (A ∩B);з) A \ (B \ C) = (A \B) ∪ (A ∩ C).

Задача 1.1.18: A и B са две множества,то:

а) A \ (A ∪B) = ∅;б) (A ∩B) \ A = ∅.

Задача 1.1.19: A,B, A ∪B и A ∩B, ако J = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; A = {2, 5, 7}и B = {1, 3, 5, 7, 8}.

Задача 1.1.20:а) A ∩B = A \B;б) A ∪B = A \B;в) (A ∪B) ∪ (A ∩B) = (A \B) ∪ (B \ A);г) (A ∩B) ∩ (A ∪B) = (A \B) ∪ (B \ A);д) A ∪B ∪ C = A ∩B ∩ C.

се докаже,че:Д а

се докаже,Д а че ако

зададат конструктивно множестватасеД а

се докаже,че:Д а

Page 12: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 12

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

Ще казваме, че елементите x и y образуват нареденадвойка, ако единият от тях е приет за първи, а другият завтори. Означава се с (x, y) или 〈x, y〉.

Аналогично наредена n-орка ще наричаме всякомножество от n елемента, в което е указано кой е първи,кой втори и т.н., кой n-ти. Означава се с (x1, x2, . . . , xn) или〈x1, x2, . . . , xn〉.

Ще казваме, че наредените n-торки (x1, x2, . . . xn) и(y1, y2, . . . yn) са равни, ако xi = yi за всяко i = 1, 2, . . . n.

на множествата A и B сенарича множеството от наредени двойки:

A×B = {(a, b) | a ∈ A, b ∈ B} ,

т.е. множеството от всички наредени двойки, в които първиятелемент е от първото множество, а вторият елемент е от второтомножество.

По аналогичен начин се въвежда декартово произведениена n множества A1, A2, . . . , An като

A1 × A2 × · · · × An = {(a1, a2, . . . , an) | ai ∈ Ai, i = 1, 2, . . . , n} .

ЗадачиЗадача 1.2.1: Образуват ли наредена двойка:

а) цифрите на едно двуцифрено число;б) координатите на една точка спрямо дадена правоъгълна

координатна система в равнината;в) числителят и знаменателят на дадена обикновена дроб;г) елементите на множеството {1, 5}.

Наредени двойки. артовоД ек

картово произведениеД е

Page 13: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 13

Отг. а),б),в) - да; г) - не.

Задача 1.2.2: Образуват ли наредена n-торка:а) буквите в дадена дума;б) елементите на множеството {2, 4, 6, 8, 10};в) имената на месеците в годината.

Отг.: а),в) - да; б) - не.

Задача 1.2.3: Запишете всички възможни наредени двойки(x, y), за които x ∈ {1, 2, 3} и y ∈ {2, 4, 6}.

Отг.: (1, 2), (1, 4), (1, 6), (2, 2), (2, 4), (2, 6), (3, 2), (3, 4),(3, 6).

Задача 1.2.4: A×Bи B × A, ако A = {a1, a2, a3}, B = {b1, b2}.

Отг.:A×B = {(a1, b1), (a1, b2), (a2, b1), (a2, b2), (a3, b1), (a3, b2)},B × A = {(b1, a1), (b1, a2), (b1, a3), (b2, a1), (b2, a2), (b2, a3)}.

Задача 1.2.5: Ако A = {a, b, c} и B = {a, y, z} да се зададатконструктивно множествата:

а) A×B;б) (A×B) ∩ (B × A);в) A2 = A× A;г) B2 = B ×B.

Отг.:а) A×B = {(a, a), (a, y), (a, z), (b, a), (b, y), (b, z), (c, a), (c, y), (c, z)},б) (A×B) ∩ (B × A) = {(a, a)},в) A2 = {(a, a), (a, b), (a, c), (b, a), (b, b), (b, c), (c, a), (c, b), (c, c)},г) B2 = {(a, a), (a, y), (a, z), (y, a), (y, y), (y, z), (z, a), (z, y), (z, z)}.

се зададат конструктивно множестватаД а

Page 14: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 14

Задача 1.2.6: Какво условие трябва да удовлетворяватмножествата A и B, за да бъде изпълнено равенството:

A×B = B × A ?

Отг.: A = B

Задача 1.2.7: A = {1, 2, 3}, B = {4, 5}, C = {0} да се

а) A×B;б) A×B × C;в) (A×B)× C.

Отг.:а) A×B = {(1, 4), (1, 5), (2, 4), (2, 5), (3, 4), (3, 5)},б) A×B×C = {(1, 4, 0), (1, 5, 0), (2, 4, 0), (2, 5, 0), (3, 4, 0), (3, 5, 0)},в) (A × B) × C = {((1, 4), 0), ((1, 5), 0), ((2, 4), 0), ((2, 5), 0),((3, 4), 0), ((3, 5), 0)}.

Задача 1.2.8: Верни ли са твърденията:а) за всеки три множества A,B и C (A×B)×C = A×B×C;б) съществуват три непразни множества A,B и C за които

(A×B)× C = A×B × C;в) ако поне едно от множествата A,B или C е празно, то

(A×B)× C = A×B × C.

Задача 1.2.9: A,B,C и D са произволнимножества, то:

а) A× (B ∪ C) = (A×B) ∪ (A× C);б) A× (B ∩ C) = (A×B) ∩ (A× C);в) A× (B \ C) = (A×B) \ (A× C);г) (A \B)× C = (A× C) \ (B × C);д) (A ∩B)× (C ∩D) = (A× C) ∩ (B ×D).

А козададат конструктивно множествата:

се докаже акоД а ,че

Page 15: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 15

Отг. а) Ако A = ∅, то тогава декартовите произведения са∅ и равенството е изпълнено. Ако A 6= ∅ и някое от множестватаB или C е празно, то равенството очевидно е изпълнено, тъйкато B ∪C се свежда или до B при C = ∅, или до C при B = ∅.

Нека A 6= ∅, B 6= ∅ и C 6= ∅. Тогава ще съществувапоне един елемент във всяко едно от множествата A,B и C.

P = A× (B ∪ C) и Q = (A×B) ∪ (A× C).Елементите на множеството P са наредени двойки с първи

елемент x ∈ A и втори елемент y ∈ B ∪ C , т.е. y ∈ B илиy ∈ C. Тогава за произволен елемент (x, y) ∈ P е изпълнено(x, y) ∈ A × B или (x, y) ∈ A × C, откъдето следва че (x, y) ∈(A×B) ∪ (A× C) . Следователно P ⊆ Q.

Обратно, нека (x, y) е произволен елемент от множествотоQ. Тогава (x, y) ∈ A × B или (x, y) ∈ A × C, т.е. x ∈ A, а y еелемент или на B или на C, т.е. x ∈ A и y ∈ (B ∪C) =⇒ (x, y) ∈A× (B ∪ C). Следователно произволен елемент на Q е елементи на P , т.е Q ⊆ P .

От двете включвания P ⊆ Q и Q ⊆ P , които саедновременно в сила, следва, че P = Q.

По аналогичен начин се доказват и равенствата в подточкиб), в), г) и д).

Задача 1.2.10: A,B и C са непразнимножества и A ∩B = ∅, то (A× C) ∩ (B × C) = ∅.

Задача 1.2.11: A,B,C и D са непразнимножества A ⊆ C и B ⊆ D, то (A × B) ∪ (C ×D) = (A ∪ C) ×(B ∪D).

Задача 1.2.12: A,B,C и D са непразнимножества и (A×B) ∪ (B × A) = C ×D, то A = B = C = D.

означим сД а

се докаже, че акоД а

се докаже, че акоД а

се докаже, че акоД а

Page 16: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 16

1.3 Релации

Нека A и B са две множества. Под бинарна (илидвучленна) релация (отношение) от A в B ще разбирамевсяко подмножество W на A × B. Често под бинарнарелация от множеството A в множеството B се разбиранаредената тройка 〈A,B,W 〉, където W ⊆ A × B.Множеството A се нарича начално, B - крайно, а W -графика на релацията.

Нека A1, A2, . . . , An са n, n ≥ 1, множества. Под n−арна(n−членна) релация ще разбираме всяко подмножество W надекартовото произведение A1 × A2 × · · · × An. Множеството Ai

се нарича i-ти домейн на релацията.Нека W е двучленна релация. Ако (x, y) ∈ W , ще казваме,

че x е в релация с y и ще записваме xWy или W (x, y).Всяка двучленна релация W определя две множества,

всяко от които е подмножество съответно на A и B по следнияначин:

• дефиниционно множество (област):

D(W ) = {x ∈ A | ∃y ∈ B : (x, y) ∈ W};

• множество от стойности (кообласт):

R(W ) = {y ∈ B | ∃x ∈ A : (x, y) ∈ W}.

Ако V и W са две релации между A и B, то V = Wточно тогава, когато V и W се състоят от едни и същи нареденидвойки.

Релацията W−1 се нарича обратна или инверсия на W ,ако е изпълнено:

W−1 = {(y, x) ∈ B × A | (x, y) ∈ W}

Page 17: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 17

Свойства на двучленните релации:Нека W е двучленна релация и W ⊆ A × A. Тогава е

възможно W да притежава следните свойства:

1. Рефлексивност (отразимост). Казваме, че двучленнатарелация W ⊆ A × A е рефлексивна, ако за всяко x ∈ A ев сила (x, x) ∈ W .

2. Симетричност W ⊆ A × A есиметрична, ако от (x, y) ∈ W , следва (y, x) ∈ W .

3. . Релацията W ⊆ A × A еантисиметрична, ако от (x, y) ∈ W и (y, x) ∈ W , следваx = y.

4. Транзитивност. Релацията W ⊆ A × A е транзитивна,ако от (x, y) ∈ W и (y, z) ∈ W следва (x, z) ∈ W .

Всяка двучленна релация W ⊆ A × A, притежаващасвойствата рефлексивност, симетричност и транзитивност, сенарича релация на еквивалентност.

A е дефинирана релация наеквивалентност W и x ∈ Aелементи от A, които са в релация W с x се нарича класна еквивалентност, определен от x. Всяка релация наеквивалентност в множеството A го разделя на непресичащисе класове на еквивалентност, чието обединение дава цялотоA. Множеството от всички класове на еквивалентност при Wобразуват разбиване на A.

A, коятопритежава свойствата рефлексивност, антисиметричност итранзитивност се нарича релация на наредба в A (или самонаредба в A). Ще казваме, че една наредба W в множеството

учленната релация. Д в

учленна релация в ножестводадено мД в

Антисиметричност

Ако в множеството, то множеството от всички

Page 18: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 18

A е линейна (пълна), ако за всеки два елемента a, b ∈ A е всила (a, b) ∈ W или (b, a) ∈ W .

ЗадачиЗадача 1.3.1:〈A, B, W 〉, ако:

а) A = {1, 2, 3}, B = {x, y}, W = {(1, x), (2, x), (3, y), (1, y)};б) A = {1, 2, 3, 4}, B = {11, 12, 5},W = {(1, 11), (11, 1),

(2, 12), (5, 4)};в) A = {4,©}, B = {©, }, W = {(4, )};г) A = {∗, +,−}, B = {; } ∪ {:}, W = {(∗, :)};д) A = B = {0, 1, 2}, W = {(0, 1), (2, 1)}

Отг.: а), в), г) - да; б) - не.

Задача 1.3.2: W от A ={1, 3, 5} в B = {11, 13, 15} и W = {(1, 15), (3, 13), (5, 15), (1, 11)}.

а) таблица;б) диаграми и стрелки.

Отг.: а)

B 11 13 15A1 * *3 *5 *

учленна релация ли е наредената тройкаД в

дена е двучленната релацияД а

Задайте релацията с:

Page 19: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 19

б)

1 11

3 13

5 15

'

&

$

%

'

&

$

%A B

r r

r r

r r

-

-

-

QQ

QQ

QQ

QQQs

Задача 1.3.3: Релацията W е дефинирана в множеството

A = {1, 2, 3, 4, 5, 6, 7, 8, 9}с условието xWy ⇐⇒ x е просто и yопредели релацията:

б) чрез таблица;в) диаграми и стрелки.

Отг.:а) W = {(2, 2), (2, 4), (2, 6), (2, 8), (3, 2), (3, 4), (3, 6), (3, 8),

(5, 2), (5, 4), (5, 6), (5, 8), (7, 2), (7, 4), (7, 6), (7, 8)}б)

1 2 3 4 5 6 6 8 912 * * * *3 * * * *45 * * * *67 * * * *89

е четно число. сеД а

а) конструктивно;

Page 20: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 20

в)'

&

$

%

1

A

3 2

5 4

7 6

9 8

r

r r

r r

r r

r r

-PPPPPPPPPq

QQ

QQ

QQ

QQQs

@@

@@

@@

@@@R

³³³³³³³³³1

-PPPPPPPPPq

QQ

QQ

QQ

QQQs

´´

´´

´´

´´́3

³³³³³³³³³1

-PPPPPPPPPq

¨¥?

?

»

¼¾

$

Задача 1.3.4: Релацията W е дефинирана в множеството

A = {2, 3, 4, 5, 6, 7, 8, 9, 10}

с условието xWy ⇐⇒ x = y − 2релацията, да се изобрази таблично и чрез диаграми и стрелки.

Задача 1.3.5: От Иван, Боян, Николай и Петър най-висок еПетър, Николай е по-нисък от Иван, а Боян е по-нисък от

обратна релация. С какво условие се задава тя?

Задача 1.3.6: Вярно ли е, че релацията ”по-висок” в даденомножество от хора, притежава свойството:

а) рефлексивност;б) симетричност;в) антисиметричност;г) транзитивност.

се определи графиката на. Д a

определена с условието по-нисък. определи нейнатасеД aсеД aНиколай. конструктивно графиката на релациятазададе

Page 21: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 21

Задача 1.3.7: W1,W2, W3, W4, W5 и W6 зададени с помощта на фигурите по-долу:

r r rr r r

r r r

'

&

$

%

'

&

$

%

'

&

$

%

'

&

$

%

'

&

$

%

'

&

$

%

1 1 1

1 1 1

22 2

2 22

3 3 3

3 3

W4

HHHj?©©©*

W5

¤ ¡?

¡¢¾

£ ¢6

6HHHj©©¼

W6

HHjHHY

©©¼©©*

¤ ¡?

¡¢¾

r r rr r r

r r

W1

¤ ¡?

¡¢¾

£ ¢6?

W2

HHj

©©*¼

W3

¤ ¡?

¡¢¾HHjHHY

Задача 1.3.8: Нека в множеството A = {1, 2, 3} са дефиниранирелациите W1 и W2 по следният начин: W1 = {(1, 1), (2, 2), (3, 3),(1, 2), (2, 1)} и W2 = {(1, 2), (1, 3), (2, 3)}W1 и W2 са:

а) релации на еквивалентност;б) релации на наредба.

Задача 1.3.9: Вярно ли е, че релацията < дефинирана вмножеството на целите числа Z, притежава свойството:

а) рефлексивност;б) симетричност;в) антисиметричност;г) транзитивност.

определят свойствата на релациитесеД a

. определи далисеД a

Page 22: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 22

Задача 1.3.10: В множеството на студентите от единуниверситет са дефинирани релациите:

а) ”x познава y”;б) ”x е съквартирант на y”;в) ”x е по-млад от y”;г) ”x е роден в една и съща година с y”;д) ”x е в една и съща специалност с y”;е) ”x е в един и същи факултет с y”.Кои от свойствата рефлексивност, симетричност,

антисиметричност и транзитивност притежава всяка отрелациите?

Задача 1.3.11: W , ако:а) W е релацията ”по-малко” в множеството на целите

числа;б) W е релация в множеството A = {0, 1, 2, 3, 4}, която има

графика G = {(2, 0), (3, 1), (4, 2)}.Задача 1.3.12:разликата на двете релации, определени в предишната задача.

Задача 1.3.13: Съществува, ли релация, която едновременное:

а) симетрична и антисиметрична;б) рефлексивна, антисиметрична и транзитивна.

Задача 1.3.14: Кои от следните релации са релации наеквивалентности и кои наредби?

а) {(x, y) ∈ Z× Z | x ≤ y + 1};б) {(x, y) ∈ Z× Z | x2 = y4};в) {(x, y) ∈ Z× Z | |x| = |y|};г) {(x, y) ∈ Z× Z | (x и y четни и x ≤ y) или (x е четно, а

y нечетно)};д) {(X, Y ) ∈ P(Z)×P(Z) | X ∩ Y = ∅}.

намери обратната на релациятасеД a

намери обединението, сечението исеД a

Page 23: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 23

1.4 Функции и изображения. Операции

Двучленната релация F между A и B се нарича функцияна A в B, ако за всяко x ∈ A съществува най-много едно y ∈ Bтака, че (x, y) ∈ F . F е функция точно тогава, когато за всичкиx ∈ A, y1, y2 ∈ B от (x, y1) ∈ F и (x, y2) ∈ F , следва че y1 = y2.

Когато F е функция се използува означението y = F (x),вместо (x, y) ∈ F .

Функцията F на A в B се нарича изображение илитотална (пълна) функция на A в B, ако за всяко x ∈ Aсъществува точно едно y ∈ B, така че y = F (x).

Ако F е изображение на A в B и (x, y) ∈ F , то y се наричаобраз на x при F , а x се нарича праобраз на y при F .

Едно изображение F на A в B се нарича инективно(влагане, инекция), ако всяко y ∈ B има най-много единпраобраз в A при F .

Изображението F е влагане на A в B точно тогава, когатоот (x1, y) ∈ F и (x2, y) ∈ F , следва че x1 = x2.

Едно изображение F на A в B се нарича сюрективно(налагане, сюрекция), ако всеки елемент на B има поне единпраобраз, т.е. ако R(F ) = B.

Изображението F на A в B, което е едновременноинективно и сюрективно се нарича биективно (взаимноеднозначно, биекция).

Ако A е непразно множество, то всяка функция наA2 в A се нарича двучленна (бинарна) операция вмножеството A, а всяко изображение на A2 в A се наричадвучленна (бинарна) алгебрична (вътрешна) операцияв множеството A.

Едно множество A се нарича групоид, ако в него евъведена алгебрична операция.

Едно множество A се нарича полугрупа, ако в него е

Page 24: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 24

въведена алгебрична операция, която е асоциативна, т.е. (ab)c =a(bc) за всеки три елемента a, b и c на A.

Ако в A съществува такъв елемент e ∈ A, за който ea =ae = a, за всяко a ∈ A, то e се нарича единица (неутраленелемент) на групоида A .

Полугрупа, която притежава единица се нарича моноид.Един елемент a на моноида A се нарича обратим, ако

съществува елемент a−1 ∈ A така, че

aa−1 = a−1a = e,

където e е единицата на A.Моноид, на който всички елементи са обратими се нарича

група.

ЗадачиЗадача 1.4.1: В множеството на реалните числа е зададенафункцията f(x) = x2

1−x2

а) дефиниционното множество на функцията;б) f(0), f(2), f(−1);в) първообразите на −16

15, 0, 1.

Задача 1.4.2:фигурите по-долу с диаграми и стрелки са функции:

определи кои от релациите зададени насеД а

определи:сеa. Д

Page 25: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 25

F1 F2

#

"

Ã

!

#

"

Ã

!A A

#

"

Ã

!

#

"

Ã

!B B

r

r

ra

b

c

r

ra1

b1

XXXXXXzZ

ZZ

ZZZ~

»»»»»»:r

r

rx

y

zr

r

r

r p

q

r

s

»»»»»»:

»»»»»»:

½½

½½

½½>

F3 F4

#

"

Ã

!

#

"

Ã

!A A

#

"

Ã

!

#

"

Ã

!B B

r

r

r1

2

3 r

r

r 4

5

6

-

-

- r

r

r♣

♥ r

r

r 1

2

3

HHHHHHj©©©©©©*

HHHHHHj-

'

&

$

%

'

&

$

%

'

&

$

%

r r rr r

r r rr

r

A A A

a 1 1c

2

2b 3 34

F5

¤ ¡?

£ ¢6

HHHj

F6

-@

@@R?

F7

¤ ¡?

¡¢¾

£ ¢6

Page 26: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 26

Задача 1.4.3: Определете вида на следните изображения:

а) б)

#

"

Ã

!

#

"

Ã

!A A

#

"

Ã

!

#

"

Ã

!B B

r

r

ra

b

c r

r

r x

y

z

-

-

- r

r

ra

b

c

r

rx

y

XXXXXXz

XXXXXXz½

½½

½½½>

в) г)

#

"

Ã

!

#

"

Ã

!A A

#

"

Ã

!

#

"

Ã

!B B

r

r

ra

b

c r

r

r x

y

z

@@

@@

@@R

-

¡¡

¡¡

¡¡µ

r

r

ra

b

c r

r

r x

y

z

-

©©©©©©*

-

Задача 1.4.4: Вярно ли е твърдението, че всяка функция еизображение?

Задача 1.4.5: Вярно ли е твърдението, че всяко изображениее функция?

Page 27: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 27

Задача 1.4.6: Алгебрични ли са операциите събиране,умножение и деление в множеството на естествените числа?

Задача 1.4.7: A = {−1, 1, 0, 2, 3} идвучленната операция ◦ в A с условието x ◦ y = x− y.

а) Алгебрична ли е така дефинираната операция?б) Да се намерят елементите (−1◦0)◦1; (3◦2)◦1; (2◦3)◦0.

Задача 1.4.8:

x ∗ y =√

x(y − 1)

а) в множеството на рационалните числа;б) в множеството на ирационалните числа;в) в множеството на реалните числа;г) в множеството на комплексните числа.

Задача 1.4.9: {−1, 0, 1} еполугрупа относно:

а) събирането на числа;б) умножението на числа.

1.5 Крайни и безкрайни множества.Изброими и неизброими множества

Казваме, че множествата A и B са равномощни (A ∼ B),ако съществува биективно изображение f : A → B между тях.

Казваме, че множеството A има мощност n, където nе естествено число, ако A ∼ {1, 2, . . . , n}. Ако A 6= ∅ и Aне е равномощно на никое множество от вида {1, 2, . . . , n},то се нарича безкрайно. Едно множество е безкрайно, ако еравномощно на свое собствено подмножество. Множества, коитоне са безкрайни, се наричат крайни.

провери дали множествотосеД а

определи алгебрична ли е операциятасеД а

дено е множествотоД а

Page 28: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 28

Мощността на множеството A се означава с |A|.Едно множество е изброимо (номерируемо,

дискретно), ако е равномощно на множеството N отестествените числа или е крайно.

В сила са следните твърдения:Всяко безкрайно множество съдържа безкрайно изброимо

подмножество.Ако множеството A е изброимо и B е негово

подмножество, то B е изброимо.Обединението на изброимо много изброими множества е

изброимо множество.Множеството на естествените, целите и рационалните

числа е изброимо.Съществуват неизброими множества. Например това са

множествата на ирационалните, реалните и комплекснитечисла.

ЗадачиЗадача 1.5.1: Равномощни ли са множествата:

а) A = {a, b, c} и B = {1, 2, 3};б) C = {(a, b), (c, d), (e, f)} и D = {(1, 1), (2, 2), (3, 3)};в) E = {(a, b, c), (p, q, r)} и F = {(1, 2)}.

Задача 1.5.2:числа е безкрайно изброимо множество.

Задача 1.5.3: A е изброимо,ако:

а) A = {0, 2, 4, . . . , 2n, . . .};б) A = {1, 3, 5, . . . , 2n + 1, . . .};в) A = {3, 6, 9, . . . , 3n, . . .}.

докаже, че множествотосеД а

, че множеството на естественитекажетеД о

Page 29: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 29

Упътване: Следва директно от задача 1.5.2 и твърдението,че ако A е изброимо и B ⊆ A, то B е изброимо.

Задача 1.5.4: A и B са множества и A ∼B1, B1 ⊂ B, B ∼ A1, A1 ⊂ A, то A ∼ B.

Задача 1.5.5:изброими множества е също безкрайно изброимо.

1.6 Основни сведения от комбинаториката

Нека A и B са крайни множества, като |A| = n, |B| = m.Тогава:

|A×B| = |A| · |B| = nm - правило на умножението.|A ∪ B| = |A| + |B| − |A ∩ B| - правило на

обединението (принцип на включване и изключване задве множества).

Ако A ∩ B = ∅, то |A ∪ B| = |A| + |B| = n + m -правилона събирането.

Ако A ⊆ B 6= ∅, то |B \ A| = |B| − |A| = m− n - правилона изваждането.

Броят на всички наредени n-торки a1, a2, . . . , an, къдетоai ∈ A, ai 6= aj при i 6= j (пермутации) в n-елементнотомножество A е равен на:

Pn = n! = n(n− 1) · · · 2 · 1.

По дефиниция 0! = 1! = 1.Числото r ∈ {1, 2, . . . , n} се нарича неподвижна точка

на пермутацията f = a1a2 . . . an, (ai ∈ {1, 2, . . . n}, ai 6= aj), акоar = r.

докаже, че акосеД а

докаже, че обединението на две безкрайнисеД а

Page 30: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 30

Броят на всички k-елементни подмножества(комбинации) на n-елементното множество A е равенна:

Ckn =

(n

k

)=

n!

k!(n− k)!=

n(n− 1) . . . (n− k + 1)

k!

Броят на всички k-елементни подмножества на n-елементното множество A, в които има значение кой е първи,кой втори и т.н. (вариации) е равен на:

V kn =

(n

k

)Pk =

n!

(n− k)!= n(n− 1) · · · (n− k + 1)

Принцип на включване и изключване: Нека A екрайно множество, |A| = n и нека P = {p1, p2, . . . , pm}, |P | = m,е множество от свойства, които могат да се притежават отелементите на A. С pi ще означаваме факта, че даден предметот A не притежава свойството pi (непритежаването на дадено

N(k) броя на онезиелементи от A, притежаващи точно k свойства измежду P , а сN(pi1 , pi2 , . . . , pit) - броя на елементите от A, които притежаватсвойствата pi1 , pi2 , . . . , pit . Тогава имаме:

N(k) =m∑

t=k

(−1)t−k

(t

k

) ∑

1≤i1<i2···<it≤m

N(pi1 , pi2 , . . . , pit) =

=∑

i1<...<ik

N(pi1 , . . . , pik)−(k+1)∑

i1<...<ik+1

N(pi1 , . . . , pik , pik+1)+· · ·+

+(−1)t−k

(t

k

) ∑

i1<···<it

N(pi1 , . . . , pik , . . . , pit) + · · · +

+(−1)m−k

(m

k

)N(p1p2 . . . pm).

Д асвойство също е свойство). означим с

Page 31: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 31

Броят N(0) = N(p1, p2, . . . , pm) на елементите в A, които непритежават нито едно от свойствата от P се дава с формулата:

N(0) = n +m∑

t=1

(−1)t∑

i1<i2<...<it

N(pi1 , pi2 , . . . , pit) =

= n−m∑

j=1

N(pj) +∑

i1<i2

N(pi1 , pi2)−∑

i1<i2<i3

N(pi1 , pi2 , pi3) + · · ·+

+(−1)t∑

i1<···<it

N(pi1 , . . . , pit) + · · ·+ (−1)mN(p1, p2, . . . pm).

Принцип на включване и изключване за свойство-то принадлежност: Нека A1, A2, . . . , An са множества. Тогава:

|A1 ∪ A2 ∪ · · · ∪ An| ==

n∑

i=1

|Ai|−∑

i<j

|Ai∩Aj|+∑

i<j<k

|Ai∩Aj ∩Ak|− · · ·− (−1)n

∣∣∣∣∣n⋂

i=1

Ai

∣∣∣∣∣ .

Page 32: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 32

ЗадачиЗадача 1.6.1: Колко думи с дължина k могат да бъдатобразувани с помощта на азбука V състояща се от n букви?

Отг.: |V × V × · · · × V︸ ︷︷ ︸k

| = |V k| = |V |k = nk

Задача 1.6.2: m×n. Клетките натаблицата са запълнени с елементите на множеството A, където|A| = p. По колко начина може да стане това?

Отг. В случая имамеs-та декартова степен на множествотоA, където s е броя на всички клетки на таблицата, т.е. s = mn.Следователно таблицата може да бъде запълнена по |A|s = pmn

начина.

Задача 1.6.3:числа, които се делят на 4.

Отг. Едно (четирицифрено) число се дели на 4 тогава исамо тогава, когато числото, образувано от последните му двецифри се делят на 4.

Разглеждаме множествата A = {10, 11, 12, . . . , 99} и B ={00, 04, 08, 12, 16, . . . , 96}, т.е B се състои от всички едно- идвуцифрени числа (евентуално допълнени с 0 отпред), делящисе на 4. Имаме |B| = 25. Тогава отговора се дава с броя наелементите на декартовото произведение |A × B| = |A| · |B| =90 · 25 = 2 250. 1

1

четирицифрените числа е равен на 9000 и от тях точно една четвърт седелят на 4.

се намери броят на всички четирицифрениД а

дена е таблица с размериД а

същия отговор ще стигнем и като вземем в предвид, че броя наД о

Page 33: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 33

Задача 1.6.4: По колко начина между n ”бели” предмета,подредени в редица могат да се вмъкнат k ”черни”? Подвмъкване ще разбираме също така и поставяне преди първияили след последния предмет.

задача се свежда до решението на задачата ”По колко начинаизмежду (n + k) предмета можем да изберем k от тях?”Следователно отговора е

(n+k

k

)= (n+k)!

n!k!.

Задача 1.6.5: xy = ap, където a и p саестествени числа и a може да се представи като произведениена nрешенията на горното уравнение в естествени числа.

Отг. Нека a = a1a2 . . . an, където ai е просто число, i =1, 2, . . . , n. Очевидно всички решения на даденото уравнениемогат да се представят във вида x = aβ1

1 aβ22 . . . aβn

n , y =ap−β1

1 ap−β22 . . . ap−βn

n , където βi ∈ {0, 1, ..., p}, i = 1, 2, ..., n.Тъй като x еднозначно определя y, то съществува взаимно-еднозначно съответствие между множеството от решенията нададеното уравнение и множеството на всички наредени n-торкиβ1, β2, . . . , βn, 0 ≤ βi ≤ p, i = 1, 2, . . . , n, откъдето следва, чеброят на решенията на даденото уравнение в естествени числае равен на (p + 1)n.

Задача 1.6.6: Колко делители има числото q = pα11 pα2

2 . . . pαnn ,

където pi, i = 1, 2, . . . , n, са различни прости числа, а αi саестествени числа? Намерете сумата от всички делители на q.

Отг. Всеки делител на q има вида pβ11 pβ2

2 . . . pβnn , където

βi ∈ {0, 1, . . . , αn}, i = 1, 2, . . . , n. Следователно броят на всичкиделители на q е (α1 + 1)(α2 + 1) · · · (αn + 1).

различни прости а се намери броят намножители. Д

дено е уравнениетоД а

Упътване. Д окажете, че решението на така поставената

Page 34: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 34

Сумата от всички делители на q е(1 + p1 + p2

1 + · · ·+ pα11 )(1 + p2 + p2

2 + · · ·+ pα22 ) · · · (1 + pn + p2

n +· · ·+ pαn

n ) =

=(pα1+1

1 − 1)

(p1 − 1)

(pα2+12 − 1)

(p2 − 1)· · · (p

αn+1n − 1)

(pn − 1).

Задача 1.6.7: Намерете броя на решенията на уравнението

x1 + x2 + · · ·+ xt = n

в множеството на неотрицателните цели числа.

Отг.(

n+t−1n

).

Задача 1.6.8: По колко начина могат да бъдат избрани 13измежду 52 карти?

Отг.(

52

13

)=

52!

13!39!= 635 013 559 600.

Задача 1.6.9: По колко начина могат да се изберат 6 карти отколода с 52 карти, така че измежду тях да има поне една картаот всеки цвят? 2

Отг. Съществуват две възможности удовлетворяващиусловието:

а) три карти от един и същи цвят и по една картаот останалите три цвята. Това може да стане по

(41

)(133

)(131

)3

начина.2 ”Цветовете” при картите са четири - пика, купа, каро и спатия, като

всеки цвят има по 13 карти.

Page 35: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 35

б) две групи от по две карти от един и същи цвят и поедна карта от останалите два цвята. Това може да стане по(

42

)(132

)2(131

)2начина.

Окончателният отговор се получава като съберем дватаизраза.

Задача 1.6.10: По колко различни начина, започвайки отгорния ляв ъгъл и движейки се от буква към съседната буквавдясно или надолу, може да се прочете думата ”математика” нафигурата, показана по-долу? На фигурата подчертаните буквипоказват един такъв ”път”.

м а т е м а т и к аа т е м а т и к ат е м а т и к ае м а т и к ам а т и к аа т и к ат и к аи к ак аа

Отг. От условието на задачата е ясно, че намирайки сена дадена буква, ако не е последна, то следващата буква от”пътя”, е или вдясно от нея, или под нея.Тъй като думатаматематика се състои от десет букви и като вземем в предвид,че след последната буква ”а” няма къде повече да ходим, тоне е трудно да забележим, че всеки ”път” може да се кодира сдеветразрядно двоично число α1α2 . . . α9, където αi ∈ {0, 1} последния начин : αi = 1, ако от i-та буква на думата математикасме тръгнали надясно от нея и αi = 0, ако сме тръгналинадолу. Обратно, очевидно на всяко деветразрядно двоично

Page 36: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 36

число отговаря ”път” по описаното правило. Следователно,броят на всички ”пътища” е равен на 29 = 512.

Задача 1.6.11: По колко начина могат да се изберат три числаизмежду елементите на множеството Z3n = {1, 2, 3, . . . , 3n},така че тяхната сума да се дели на 3?

Отг. Очевидно Z3n може да се представи като обединениена три непресичащи се множества Z3n = A1 ∪ A2 ∪ A3, къдетоAi = {a = 3k + i | k = 0, 1, 2, . . . , n − 1}, |Ai| = n, i = 1, 2, 3. Даозначим с x, y и z избраните числа (редът на тяхния избор е беззначение, защото се интересуваме само от сумата им). Имамеследните възможности сумата да се дели на 3:

а) x, y и z са от едно и също множество Ai. Това може дастане по

(31

)(n3

)= n(n−1)(n−2)

2начина.

б) никое две от избраните числа не са от едно и същомножество. Това може да стане по

(n1

)3= n3 начина.

Следователно изборът може да се осъществи поn(n− 1)(n− 2)

2+ n3 = n

(n2 +

n2 − 3n + 2

2

)=

n(3n2 − 3n + 2)

2начина.

Задача 1.6.12: Зад една кръгла маса са седнали n, n ≥ 3,човека. Ще казваме, че едно разположение на хората околокръглата маса не се различава от друго, когато всеки човек имаедни и същи съседи от двете си страни. Колко могат да бъдатразличните разположения на хората около кръглата маса?

Отг. Съществуват n! пермутации. Но пермутациитеai1ai2ai3 . . . ain и ai2ai3 . . . ainai1 (n на брой такива цикличнипремествания) съответствуват на едно и също разположениена хората около кръглата маса. Същото се отнася и за дветепермутации ai1ai2 . . . ain−1ain и ainain−1 . . . ai2ai1 . Следователноотговорът на поставената задача е равен на n!

2n= (n−1)!

2.

Page 37: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 37

Задача 1.6.13: В един клас е имало по равен бройn момчета имомичета. Учителката решила на всеки чин да постави по едномомче и едно момиче. По колко начина може да стане това?

Отг. Общо чиновете са n на брой като определянетона кое място ще седи момче на кое момиче може да станепо 2n начина. След което разполагането на момчетата върху”мъжките” места може да стане по n! начина, а разположениетона момичетата върху ”женските” места може да стане същопо n! начина. Следователно пред учителката стои не особенолеката задача (представете си, че n = 15) да избира измежду2n(n!)2 възможности.

Задача 1.6.14:

n∑

k=0

(n

k

)=

(n

0

)+

(n

1

)+ · · ·+

(n

n

)= 2n

Нека S =n∑

k=0

(n

k

). Очевидно S е равно на броя на всички

подмножества (включително и празното) на множеството X ={x1, x2, ..., xn}. Всяко подмножество A ⊆ X може да се кодирас n-разрядното двоично число a = α1α2 . . . αn, като αi = 1, акоxi ∈ A и αi = 0, ако xi /∈ A, i = 1, 2, . . . , n. Обратно на всякодвоично число a = α1α2 . . . αn съществува някое подмножествоA ⊆ X по следния начин : xi ∈ A тогава и само тогава, когатоαi = 1.

Следователно съществува взаимно-еднозначно съот-ветствие между подмножествата на X и всички n-разряднидвоични числа 00...0︸ ︷︷ ︸

n

, 00...1︸ ︷︷ ︸n

, . . . , 11...1︸ ︷︷ ︸n

, чийто десетичен запис е

съответно 0, 1, 2, ..., (2n − 1), а тези числа са точно 2n на брой.

се докаже тъждеството:аД

Page 38: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 38

Задача 1.6.15: Нека е дадено множеството X ={x1, x2, ..., xn}, съставено от n предмета. Всеки предметможе да бъде оцветен по произволен начин, като множествотона цветовете е {c0, c1, ..., cp−1}. С

[nk

]p,i

означаваме броя навсевъзможните оцветявания на елементите на множеството X,така, че точно k на брой предмета да се оцветят с цвета ci,0 ≤ i ≤ p− 1. (Очевидно

[nk

]p,0

=[nk

]p,1

= · · · =[nk

]p,(p−1)

.) Тогаваза всяко i = 0, 1, ..., (p− 1) да се докаже тъждеството

[n

0

]

p,i

+

[n

1

]

p,i

+ · · ·+[n

n

]

p,i

= pn.

Задача 1.6.16: Ако m,n, p и k са естествени числа, докажетеследните тъждества:

а)(n

k

)=

(n

n− k

);

б)(n

p

)=

(n− 1

p

)+

(n− 1

p− 1

);

в)(

n− p

m− p

)=

(n− p

n−m

);

г)(

n + p

n−m

)=

(n + p

m + p

);

д)(n + m

p

)=

p∑

k=0

(n

k

)(m

p− k

);

е)(

2n

n

)=

n∑

k=0

(n

k

)2

;

Page 39: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 39

ж)(

n

m

)(n−m

p

)=

(n

p

)(n− p

m

)=

(n

m + p

)(m + p

m

)=

=

(n

m + p

)(m + p

p

);

з)(

n

m

)(m

p

)=

(n

p

)(n− p

m− p

)=

(n

m− p

)(n−m + p

p

);

и)[n

k

]

p,i

=

(n

k

)(p− 1)n−k , където

[n

k

]

p,i

е дефинираният в

задача 1.6.15 символ;

й)n∑

k=0

(n

k

)(p− 1)n−k = pn;

к)n∑

k=m

(n

k

)(k

m

)= 2n−m

(n

m

);

л)n∑

k=0

(2n + 1

k

)= 22n;

м)n∑

k=0

k

(n

k

)= n2n−1;

н)n∑

p=0

k

(k + p

p

)=

(k + n + 1

n

);

о)n∑

k=0

(2k

k

)(2n− 2k

n− k

)= 4n.

Page 40: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 40

Упътване:а) Разгледайте множеството на n-разрядните двоични

числа с точно p единици като обединение на две непресичащисе подмножества - подмножествата на n-разрядните двоичничисла с точно p единици, започващи съответно с 0 и 1.

б) Ако в едно (n−p)-разрядно двоично число имаме точно(m− p) единици, то в това число ще имаме точно (n− p)− (m−p) = n−m нули.

в) Аналогично на б).г) Пресметнете броя на всички (n + m)-разрядни двоични

числа записани с точно p на брой единици, като отчитате брояна единиците в първите n позиции.

д) Следва от г) при n = m = p.е) Пресметнете по три различни начина броят на n-

разрядните троични числа, записани с точно m на брой двойкии p на брой единици.

ж) Разсъждаваме както при е).з)

[nk

]p,0

е равно на броя на всички n-разрядни p-ичничисла, записани с точно k нули.

и) Следва непосредствено от з) и задача 1.6.15.к) Пресметнете броя на всички n-разрядни троични числа,

записани с помощта на точно m двойки. От лявата страна наравенството k може да се интерпретира като броя на различнитеот нула цифри при записа на дадено троично число.

л) Броят на всички (2n + 1)-разрядни двоични числа с kнули и p единици е равен на броя на всички (2n + 1)-разряднидвоични числа с p нули и k единици, където k = 0, 1, 2, ..., n; p =n + 1, n + 2, ..., 2n + 1 и виж задача 1.6.14.

Задача 1.6.17: lелемента без повторения измежду първите n числа, в които имапоне една двойка последователни числа.

се намери броят на комбинациите отаД

Page 41: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 41

Отг.(

nl

)−

(n−l+1

l

).

Задача 1.6.18: n, n ≥ 8, точки в равнината, никои

измежду всички възможни триъгълници с върхове в тези точкисъществувват поне n(n−1)(n−8)

6, които не са равнобедрени.

Отг. Общият брой на триъгълниците с върхове в даденитеточки е

(n3

), а броя на отсечките, които тези точки определят е(

n2

). Всяка от тези отсечки може да служи за основа на не повече

от два равнобедрени триъгълника, тъй като в противен случайтри от дадените точки - върхове на равнобедрен триъгълник седна и съща основа ще лежат на една права. Следователно можеда има най-много 2

(n2

)равнобедрени триъгълника и най-малко(

n3

)−2

(n2

)= n(n−1)(n−8)

6триъгълника, които не са равнобедрени.

Задача 1.6.19: По време на редовна изпитна сесия в единуниверситет, студентите е трябвало да ”вземат” три изпита: поанализ, по програмиране и по дискретна математика. От 100студенти 80 са ”взели” изпита по анализ, 70 по програмиране и60 по дискретна математика. При това 60 студенти са ”взели”изпитите по анализ и програмиране, 50 - по алгебра и дискретнаматаметика, 40 - по програмиране и дискретна математика, а 30студенти са успели да ”вземат от раз” и трите си изпита. Колкостуденти не са успели да ”вземат” нито един изпит?

N(0) броя на студентите не взели нитоедин изпит. Тогава по принципа на включване и изключванеимаме N(0) = 100− (80 + 70 + 60) + (60 + 50 + 40)− 30 = 10.

Задача 1.6.20: Измежду 38 предмета 13 са метални, 10 сакръгли, а 14 са боядисани в синьо. От тях 4 са едновременно

три от които не лежат на една права. се докаже, чеаДдени сааД

Отг. означим саД

Page 42: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 42

метални и кръгли, 5 - метални и сини, 3 - кръгли исини, а един от предметите притежава едновременно и тритехарактеристики. Колко от предметите притежават само еднаот изброените по-горе харектеристики и колко нито една?

p1 характеристиката ”метален”, с p2 -”кръгъл”, а с p3 - ”боядисан в синьо”. Тогава имаме

N(p1, p2, p3) = N(p1)−N(p1, p2)−N(p1, p3) + N(p1, p2p3) =13− 4− 5 + 1 = 5.

Аналогично намираме:N(p1, p2, p3) = 4,N(p1, p2, p3) = 7,N(1) = N(p1, p2, p3)+N(p1, p2, p3)+N(p1, p2, p3) = 5+4+7 =

16,N(0) = 38−N(p1)−N(p2)−N(p3)+N(p1, p2)+N(p1, p3)+

N(p2, p3)−N(p1, p2, p3) = 38− 13− 10− 14 + 4 + 5 + 3− 1 = 12.

Задача 1.6.21: (функция на Ойлер) Функцията на Ойлерϕ(n) съпоставя на всяко естествено число n броя на всичкиестествени числа k : 0 ≤ k ≤ n−1, които са взаимно прости с n.Ако n се разлага (по единствен начин с точност до разместванена множителите) на произведение от прости множители въввида n = pα1

1 pα22 . . . pαm

m (pi-просто, pi 6= pj при i 6= j), тодокажете равенството:

ϕ(n) = n

(1− 1

p1

) (1− 1

p2

)· · ·

(1− 1

pm

).

Отг. Ще приложим принципа на включване и изключване.Разглеждаме множеството A = {0, 1, 2, . . . , n− 1}. Ще казваме,че елементът k ∈ A притежава свойството Ai, ако k се делина pi, i = 1, 2, . . . , m. Броя на елементите на A, притежаващисвойствата Ai1 , Ai2 , . . . , Aik очевидно е равен на броя на всички

означим сОтг. аД

Page 43: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 43

решения в цели числа на неравенствата 0 ≤ pi1pi2 · · · pikx ≤n − 1, т.е. N(Ai1Ai2 · · ·Aik) =

n

pi1pi2 · · · pik

. Тогава ϕ(n) е

равно на на броя на елементите на A не притежаващи нитоедно от свойствата Ai1 , Ai2 , . . . , Aim и прилагайки принципа навключване и изключване получаваме:

N(0) = n +m∑

t=1

(−1)t∑

i1<i2<...<it

N(pi1 , pi2 , . . . , pit) =

= n

1 +

m∑

t=1

(−1)t∑

i1<i2<...<it

1

pi1pi2 · · · pik

Изразът в скобите съвпада с(1− 1

p1

) (1− 1

p2

)· · ·

(1− 1

pm

)

след извършване на умноженията.

Задача 1.6.22: а) Колко пермутации f = a1a2...an, (ai ∈{1, 2, . . . , n}, ai 6= aj) съществуват, за които ai 6= i за всякоi = 1, 2, . . . , n, т.е. f няма неподвижни точки? 3

б) Колко пермутации от n елемента с точно k неподвижниточки съществуват?

Упътване. Използувайте принципа на включване иизключване. Ако означим с pi свойството ai = i, i = 1, 2, . . . , n,то задачата се свежда до задачата за намиране на броя N(0)на всички пермутации, които не притежават нито едно отсвойствата pi, i = 1, 2, . . . , n, (подточка а) и броя N(k) на всички

3 Следната формулировка на задача 1.6.22 а) е известна като задачаза разсеяната секретарка. Секретарка трябвало да изпрати n писма наразлични адреси. Тя подготвила n плика с нужните адреси, но поставилаписмата в тях по случаен начин. Каква е вероятността нито едно от писматада не попадне на точния адрес?

Page 44: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 44

пермутации, притежаващи точно k от свойствата pi

че N(pi1 , pi2 , . . . , pik) = (n− k)!.Отг.:а) N(0) = n!

(1− 1

1!+

1

2!− 1

3!+ · · ·+ (−1)n 1

n!

).

б) N(k) =n∑

i=k

(−1)i−k

(i

k

)(n

i

)(n− i)! =

n!

k!

n−k∑

s=0

(−1)s

s!=

=n!

k!

(1− 1

1!+

1

2!− 1

3!+ · · ·+ (−1)n−k 1

(n− k)!

).

Задача 1.6.23: Нека pn(k) е броят на пермутациите на едномножество S, състоящо се от n ≥ 1 елемента, които имат точноkn е в сила равенството :

n∑

k=0

kpn(k) = n!

Отг. На всяка пермутация на S съпоставяме n-разряднотодвоично число α1α2 . . . αn, така че αi = 1, ако i е неподвижнаточка за разглежданата пермутация и αi = 0 в противен случай.Нека A е множеството с повторения от онези n-разряднидвоични числа, на които е съпоставена пермутация по горнотоправило. (Трябва да отбележим, че в A има повтарящи сееднакви елементи, съотвествуващи на различни пермутации,а от друга страна, не всички n-разрядни двоични числапринадлежат на A. Например не съществуват пермутации сточно (n − 1) неподвижни точки ). Очевидно pn(k) може да серазглежда като броя на тия елементи на A, които имат точно k

A с q. Тогава

очевидно q =n∑

k=0

kpn(k) . От друга страна, като имаме предвид,

че броят на пермутациите от n−1 елемента е равен на (n−1)!, не

окажете,. Д

неподвижни точки. се докаже, че за всяко естествено числоаД

означим общия брой на единиците вединици. аД

Page 45: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 45

е трудно да се забележи, че за всяко i ∈ {1, 2, ..., n} съществуватточно (n−1)! пермутации, за които точката i е неподвижна, т.е.за които αi = 1 . Преброявайки по този начин единиците вA,

q = n · (n − 1)! = n!. Следователноn∑

k=0

kpn(k) = n!.

Задача 1.6.24:

n∑

k=1

1

(k − 1)!

n−k∑

s=0

(−1)s

s!= 1

Упътване. Тъждеството следва от израза, получен за брояна пермутациите от n елемента, които имат точно k неподвижниточки (задача 1.6.22 б) и задача 1.6.23.

Задача 1.6.25: Λkn-матрици ще наричаме всички квадратни

матрици от n-ти ред съставени от нули и единици, във всекиред и всеки стълб на които има точно kс λk

n броят на всички Λkn-матрици, λk+

n+1 = |{A = (aij) ∈Λk

n+1 | an+1,n+1 = 1}|, λk−n+1 = |{A = (aij) ∈ Λk

n+1 | an+1,n+1 = 0}|.

а) λk−n+1 =

n− k + 1

kλk+

n+1;

б) λ2+n+1 = 2nλn + n2λ2

n−1;

в) λ2n+1 = n(n + 1)λ2

n +n2(n + 1)

2λ2

n−1, λ21 = 0, λ2

2 = 1.

Отг. а) Нека A и B са Λkn+1-матрици. Ще казваме, че A и B

са ρ-еквивалентни, (AρB), ако след премахването на k-та стълбас единици на последно място получаваме еднакви матрици отред (n+1)×(n+1−k). Очевидно ρ е релация на еквивалентност.Означаваме с ρA класа на еквивалентност по модул ρ съдържащA.

а означимединици. Д

Д окажете равенствата:

Д окажете тъждеството:

достигаме до извода, че

Page 46: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 46

Нека A = (aij) е Λkn+1 p+ броят на

всички ρ-еквивалентни на A матрици, за които елементът в най-долният десен ъгъл е 1 и с p− броят на всички ρ-еквивалентнина A матрици, за които този елемент е 0. Нека At1 , At2 , . . . , Atk

са вектор-стълбовете на матрицата A с единица на последномясто. Множеството M = {At1 , At2 , . . . , Atk} разбиваме на

подмножества Mi, i = 1, 2, . . . , s, такива че M =s⋃

i=1

Mi и Mi ∩Mj = ∅ за i 6= j, при това два стълба на A попадат в едно и същоподмножество тогава и само тогава, когато са равни помеждуси. Нека |Mi| = ki, i = 1, 2, . . . , s. Очевидно k1 +k2 + · · ·+ks = k.Нека C е матрица от ред (n+1)× (n+1−k), която се получаваот A, зачертвайки стълбовете At1 , At2 , . . . , Atk . Тогава с помощтана различните начини на добавяне на тези стълбове към C щеполучим всички елементи на множеството ρA. Най-напред давмъкнем всички елементи на M1. Като имаме в предвид задача1.6.4, то това може да стане по

(n+1−k+k1

k1

)начина. След това

вмъкваме по(

n+1−k+k1+k2

k2

)възможни начина елементите на M2

и т.н. Следователно|ρA| ==

(n+1−k+k1

k1

)(n+1−k+k1+k2

k2

)(n+1−k+k1+k2+k3

k3

)· · ·

(n+1−k+k1+k2+···+ks

ks

)=

=(

n+1ks

)(n+1−ks

ks−1

)(n+1−ks−ks−1

ks−2

)· · ·

(n+1−ks−ks−1−ks−2+···+k2

k1

)=

= (n+1)!(n+1−ks)!(n+1−ks−ks−1)!···(n+1−ks−ks−1−···−k2)!ks!(n+1−ks)!ks−1!(n+1−ks−ks−1)!ks−2!···k1!(n+1−ks−ks−1−···−k2−k1)!

=

=(n + 1)!

k1!k2! · · · ks!(n + 1− k)!

Аналагично за p−, като вземем в предвид, че в тозислучай след последния стълб на матрицата C не можем да

-матрица. Д а означим с

Page 47: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 47

поставяме нови стълбове, взети от множеството M (в M савектор стълбове с единици на последно място) получаваме:

p− =n!

k1!k2! · · · ks!(n− k)!

За p+ получаваме:

p+ = |ρA|−p− =(n + 1)!

k1!k2! · · · ks!(n + 1− k)!− n!

k1!k2! · · · ks!(n− k)!=

=n!k

k1!k2! · · · ks!(n + 1− k)!

Тогаваp−

p+=

n− k + 1

k, т.е. p− =

n− k + 1

kp+. Сумирайки

по класовете на еквивалентност, получаваме и твърдението,което трябваше да докажем.

б) Нека A = (aij) е Λ2n-матрица. От A можем да получим

Λ2n+1- матрицата B = (bij) по следния начин: Избираме p, q,

такива, че apq = 1. Това може да стане по νn = 2n начина.Полагаме bpq = 0, bp,n+1 = bn+1,q = bn+1,n+1 = 1, bi,n+1 = bi,n+1 =bn+1,j = 0 за i 6= p, j 6= q и bij = aij за (i, j) 6= (p, q).Лесно се вижда, че B е Λ2

n+1- матрица с единица в най-долниядесен ъгъл. Освен това, от B еднозначно могат да се определятA, p и q. Следователно λ2+

n+1 = 2nλ2n + t, където t е броят на

всички Λ2n+1-матрици с единица в долния десен ъгъл, които не

могат да се получат по описания току що начин. Това са Λ2n+1-

матриците, B = (bij) за които съществуват p и q, такива, чеbpq = bn+1,q = bp,n+1 = bn+1,n+1 = 1 и това са единственитеединици (по две на ред и стълб) на p-я и (n + 1)-я редове иq-я и (n + 1)-я стълбове. Но тогава, зачерквайки p-и и (n + 1)-иредове и q-и и (n + 1)-и стълбове, очевидно получаваме Λ2

n−1-матрица. Обратно, от всяка Λ2

n−1-матрица можем да получимΛ2

n+1-матрица, добавяйки на p-то и (n+1)-во място нови редовеи на q-то и на (n+ 1)-во място нови стълбове с нули навсякъде,

Page 48: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 48

с изключение на пресечните им точки. Тъй като p и q се менятот 1 до n, то тогава t = n2λ2

n−1.в) Прилагайки твърденията от предходните две подточки

получаваме:λ2

n+1 =

= λ2+n+1 + λ2−

n+1 = λ2+n+1 +

n− 2 + 1

2λ2+

n+1 =n + 1

2λ2+

n+1 =

= n(n + 1)λ2n +

n2(n + 1)

2λ2

n−1.

1.7 Неориентирани графи

Под неориентиран граф ще разбираме нареденатадвойка G = 〈V, E〉, където V е крайно множество, а E емножество (евентуално с повтарящи се, т.е. равни помежду сиелементи) от ненаредени двойки елементи от V . Елементите наV се наричат върхове на G, а тези на E - ребра.

По-нататък, ако изрично не е казано противното, подграф ще разбираме неориентиран граф.

Ако (a, b) ∈ E, то ще казваме, че реброто (a, b) свързвавърховете a и b (или че е инцидентно с a и b), а върховете a иb са краища на реброто (a, b). Когато (a, b) ∈ E , то казваме, чевърховете a и b са съседни.

Броят на ребрата, инцидентни с върха a ∈ V щеозначаваме с deg(a) и ще наричаме степен (или валентност,или индекс) на върха a. Един връх a ∈ V се нарича изолиран,ако deg(a) = 0 и краен (лист), ако deg(a) = 1.

Ако (a, a) ∈ E, то върха a ∈ V се нарича самосвързан.В случай на повтарящи се елементи в E, то такива ребрасе наричат паралелни (успоредни). Граф, в който нямапаралелни ребра и самосвързани върхове се нарича простграф.

Page 49: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 49

Редица от вида a0, x1, a1, x2, . . . , ak−1, xk, ak, където ai ∈ V,xi = (ai−1, ai) ∈ E се нарича път с дължина k, съединяващ a0 иak. Ако a0 = ak, то такъв път се нарича затворен, в противенслучай той е отворен. Път, на който всички ребра са различни,се нарича прост път. Отворен път, на който всички върховеса различни, се нарича верига. Затворен прост път, на койтовсички върхове, без a0 и ak, са различни, се нарича цикъл.

Графа е пълен, ако всеки два негови върха са свързани сребро.

Един граф се нарича свързан, ако между всеки дванегови върха съществува път, който ги свързва.

Всеки прост път, който съдържа всички ребра на графасе нарича ойлерова верига (ойлеров път). Всеки простпът, който съдържа всички върхове на графа се наричахамилтонова верига (хамилтонов път).

Свързан граф без цикли се нарича дърво.Нека G е граф с n върха {v1, v2, . . . , vn}. Матрица на

съседство на графа G се нарича n × n матрицата M = (mij),където mij е равно на броя на ребрата свързващи върховете vi

и vj. Очевидно е, че при неориентираните графи матрицата насъседство е симетрична, т.е. mij = mji.

G1 = (V1, E1) и G2 = (V2, E2) се наричатизоморфни, ако съществува биекция f : V1 → V2, такава, че(v′, v′′) ∈ E1 ⇐⇒ (f(v′), f(v′′)) ∈ E2.

ЗадачиЗадача 1.7.1: dk броя на върховете на даденграф, имащи степен kтози граф е равен на

1

2(d1 + 2d2 + 3d3 + · · ·).

Д ва графа

Д а означим с. Д а се докаже, че броят на ребрата на

Page 50: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 50

Задача 1.7.2: Намерете броя на ребрата на пълен прост графс n върха.

Отг. 12n(n− 1).

Задача 1.7.3:до изоморфизъм прост граф с n върха и n2−n−2

2ребра.

Отг. Това е графът, който се получава, когато от пълнияграф премахнем произволно ребро.

Задача 1.7.4: Опишете всички прости графи, с точност доизоморфизъм с:

а) два върха;б) три върха;в) четири върха.

Задача 1.7.5: n върха има понеn− 1 ребра.

Упътване. Постройте наново графа, като на всеки ходвъвеждате по ребро, така че всяко ново ребро да бъде съседнос някое вече въведено (графът е свързан и това винаги евъзможно). Всяко нововъведено ребро ще бъде инцидентво снай-много един нововъведен връх, като изключение може даправи единствено първото въведено ребро, което може да бъдеинцидентно с два нововъведени върха.

Задача 1.7.6:граф е свързан граф. Вярно ли е обратното твърдение?

Задача 1.7.7: Покажете, че съществува единствен с точностдо изоморфизъм свързан и без самосвързани върхове граф сn > 2 върха, за който степента на всеки връх е равна на 2. Имали цикли такъв граф и, ако да, колко са на брой?

Д окажете, че съществува единствен с точност

Д окажете, че свързан граф с

Д окажете, че допълнението на един несвързан

Page 51: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 51

Отг. Това е графът представляващ единствен цикъл,включващ всички върхове (n-ъгълник).

Задача 1.7.8:премахване на ребро си остава свързан тогава и само тогава,когато това ребро участвува в някой цикъл.

Задача 1.7.9:връх съдържа поне два върха с равни степени.

Упътване. При простите графи с n върха степента на всекивръх не превъзхожда n − 1, ако графа е свързан и n − 2 в

Задача 1.7.10: a в простграф, за който deg(a) е нечетно е четно число.

Задача 1.7.11:

верига, свързваща тези два върха.

Задача 1.7.12:нечетен брой пъти с различни други хора е четно число.

четен брой върхове, от които излизат нечетен брой ребра, коетое невъзможно.

Задача 1.7.13: G = 〈V, E〉,където |V | = 127, V = {v1, v2, . . . , v127}. От върха v1 излизат21 ребра, от върха v127 излиза единствено ребро, а от всичкиостанали върхове v2, v3, . . . v126 излизат точно по 20 ребра.

v1 иv127.

б) Можем ли да твърдим, че съществува път от върха v1

до всеки от останалите върхове?

Д окажете, че всеки свързан граф след

Д окажете, че всеки прост граф с повече от един

противен случай и приложете принципа на Д ирихле.

Д окажете, че броят на върховете

Д аден е свързан граф, за който съществуватточно два върха с нечетна степен. Д окажете, че съществува

Д окажете, че броят на хората, здрависали се

Упътване. Д опускайки противното ще получим граф с

Д аден е неориентирания граф

а) Д окажете, че съществува път свързващ върховете

Page 52: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 52

Упътване. а) Твърдението следва от факта, че във всякасвързана компонента на даден граф броят на върховете откоито излизат нечетен брой ребра е четно число.

б) Не. Като пример можем да посочим граф, който еобединение на шест пълни графа от по 21 върха v1, v2, . . . , v126.

v127 и го свързваме с ребро с върха v1.

Задача 1.7.14:дължина съдържа цикъл.

Задача 1.7.15: 4, започвайкиот долния ляв ъгъл на стандартна (8×8) шахматна дъска да седостигне до горния десен ъгъл, като се мине през всяка клеткасамо по веднъж.

Упътване. Разглеждаме шахматната дъска като граф свърхове отделните полета, при това два върха са съединенис ребро тогава и само тогава, когато съответните полета сасъседни на един хоризонтал или един вертикал. В такъв случайзадачата се свежда до намиране на хамилтонова верига с началовърха съответствуващ на долния ляв ъгъл и край съответногорния десен ъгъл. При това започваме от черна клетка,алтернативно редувайки се черна, бяла и т.н. и да завършимотново на черна, което е невъзможно, т.к. върху шахматнатадъска има равен брой бели и черни клетки - по 32.

Задача 1.7.16: Нека M = (mij) е матрицата на съседство награфа G и нека Mk =

(m

(k)ij

)е k-та степен на M

m(k)ij показва броя на пътищата с дължина k, които свързват i-я

връх до j-я.4 Топът е такава фигура в шаха, която може да се движи само по

хоризонтал или вертикал, на произволно разстояние.

Д обавяме още един връх

Д окажете, че всеки затворен път с нечетна

Д окажете, че е невъзможно стоп

. Д окажете, че

Page 53: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 53

Задача 1.7.17:условие даден граф с n върха да притежава цикли е Mn 6= 0,където M е матрицата на съседство на графа.

Упътване. Използувайте задача 1.7.16

Задача 1.7.18: В графа G част от върховете са ”оцветени”в синьо, а останалите върхове в червено. Всеки ”син” връх есвързан с по единствено ребро с точно 28 ”червени” върха,а всеки ”червен” е свързан с по единствено ребро с точно 28”сини” ”сините” върхове еравен на броя на ”червените”.

Отг. Ако с b и r означим съответно броя на ”сините”и броя на ”червените” върхове, то броят на ребрата в графае едновременно равен на 28b и на 28r, което доказва итвърдението.

Задача 1.7.19: n върха има точно n−1ребра.

Задача 1.7.20:връх, съществуват поне два върха със степен 1.

n, като съществуват n − 1 върха със степен по-голяма илиравна на 2. Тогава броят на ребрата е по-голям или равен на12[2(n− 1) + 1] > n − 1, което противоречи на известния факт,

че едно дърво с n върха има точно n−1 ребра (виж зад. 1.7.19).

Задача 1.7.21: n града, между някои от които сапрекарани пътища. Известно е, че от произволен град можеда се достигне до всеки друг по единствен маршрут. Колко сапътищата между градовете?

Д окажете, че необходимото и достатъчно

. Д окажете, че в този граф броят на

Д окажете, че в дърво с

Д окажете, че в дърво имащо повече от един

Отг. Д опускаме противното и нека броят на върховете е

Д адени са

Page 54: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 54

Отг. От условието на задачата следва, че пътната картамежду градовете представлява неориентирано дърво с n върхаи следователно n− 1 ребра.

Задача 1.7.22: T1 ∩ T2 на двеподдървета T1 и T2 на дървото T е дърво.

Задача 1.7.23: G е прост граф с шест върха, а G енеговото допълнение, то докажете, че или G, или G съдържазатворен път с три върха.

Отг. Нека v е произволен връх в G. Тъй като v ще бъдесъседен с останалите пет върха или в G, или в G, то безограничение на общността можем да смятаме, че върховетеu1, u2 и u3 са съседни с v в G. Ако поне два върха измеждуu1, u2 или u3 са съседни в G, то те заедно с v образуват в Gтриъгълник. Ако никои две от тях не са съседни в G, то в графаG върховете u1, u2 и u3 образуват триъгълник.

Задача 1.7.24:трима, които се познават помежду си, или трима всеки, от коитоне познава останалите двама.

Упътване. Виж задача 1.7.23.

Задача 1.7.25:4, всеки двама от които се познават, или 3, всеки двама от коитоне се познават.

Задача 1.7.26: n върха и несъдържащзатворен път с три върха може да има най-много

[n2

4

]ребра.

Упътване. Използувайте индукция по n, като отделноразгледате случаите на n четно и n нечетно число.

Д окажете, че сечението

А ко

Д окажете, че измежду шест човека винаги има

Д окажете, че измежду всеки 9 човека има поне

Д окажете, че в граф с

Page 55: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 55

1.8 Ориентирани графи

Ориентиран граф се нарича двойката G = 〈V, E〉,където V е крайно множество от върхове, а E е произволноподмножество (евентуално с повторения) на декартовотопроизведение V × V . С други думи, от неориентиран граф щеполучим ориентиран, ако във всяко ребро дефинираме началои край.

Ако a ∈ V , то с deg+(a) ще означаваме броя на ребрата сначало a (изходящи или излизащи ребра за a) и с deg−(a)-броя на ребрата с край a (входящи или влизащи ребра заa).

Повечето от понятията и твърденията за неориентираниграфи се пренасят и за ориентираните.

Матрицата на съседство M = (mij) за ориентиранитеграфи не е задължително да бъде симетрична и елементитеmij са равни на броя на ребрата с начало i-я връх и край j-явръх. Тук бихме искали да обърнем внимание на твърдениетоот задача 1.7.16 от предния параграф, което е в сила и приориентираните графи.

Казваме, че върхът b е достижим от върха a, акосъществува ориентирана верига с начало a и край b.

Ориентираният граф G се нарича силно свързан, аковсеки негов връх е достижим от всеки от останалите му върхове.

корен, ако всекидруг връх е достижим от него.

Ориентиран граф се нарича ориентирано дърво, акоима корен и съответният му неориентиран граф е дърво (вижсъщо и задача 1.8.6).

Д аден връх в ориентиран граф се нарича

Page 56: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 56

ЗадачиЗадача 1.8.1: Z4 = {1, 2, 3, 4}опише ориентирания граф G = 〈Z4, E〉, където E = {(x, y) | x ≤y} ⊂ Z4 × Z4.

Задача 1.8.2: Начертайте ориентирания граф за отношениетоa|b (a дели b) в множеството на целите числа от 1 до 20.

Задача 1.8.3:върхът b е достижим от върха a и върхът c е достижим отвърха b, то върхът c е достижим от върха a.

Отг. Нека a, . . . , b и b, . . . , c са прости ориентирани веригии нека d е първият връх от веригата a, . . . , b, който принадлежии на веригата b, . . . , c (винаги съществува връх, принадлежащ ина двете вериги - такъв е например върхът b). Тогава a, . . . , d∪d, . . . c е проста ориентирана верига с начало a и край c.

Задача 1.8.4: G = 〈V, E〉без ориентирани цикли има поне един връх v ∈ V , за койтое изпълнено deg+(v) = 0.

максимална дължина a0,−→x1, a1,−→x2, . . . , ak−1,−→xk, ak, където ai ∈V, xi = (ai−1, ai) ∈ E. Ако deg+(ak) 6= 0, то съществува ребро−−→xk+1 = (ak, ak+1) ∈ E. Ако върхът ak+1 съвпада с някой отвърховете a0, a1, . . . ak, то това би означавало, че в графа имацикъл, което противоречи на условието. Следователно ak+1 еразличен от изброените върхове. Но тогава добавяйки −−→xk+1 къмразглежданата верига ще получим верига с по-голяма дължина,което противоречи на избора на веригата.

Д адено е множеството . Д а се

Д окажете, че ако в даден ориентиран граф

Д окажете, че в ориентиран граф

Отг. Д опускаме противното и нека да изберем верига с

Page 57: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 57

Задача 1.8.5: Ако за всеки два върха a и b на ориентиранияграф G = 〈V, E〉 съществува връх c, такъв че a и b са достижимиот c, то докажете, че G притежава корен.

Отг. Нека V = {a1, a2, . . . , an} са върховете на графа.От условието следва, че съществува връх b2, от който садостижими върховете a1 и a2; съществува връх b3, от който садостижими върховете b2 и a3 и следователно върховете a1, a2 иa3. Продължавайки така ще достигнем до извода, че след краенброй стъпки ще достигнем до връх bn от който са достижимивсичките върхове a1, a2, . . . , an на графа, т.е. bn е корен.

Задача 1.8.6: G = 〈V, E〉.

а) G е дърво.б) G е свързан и съществува връх v0 ∈ V за който

deg−(v0) = 0, а за всички останали върхове v ∈ V, v 6= v0

deg−(v) = 1.в) Съществува връх v0 ∈ V такъв, че всеки друг връх

v ∈ V е достижим от v0 по единствен начин, т.е. съществуваединствена ориентирана верига с начало v0 и край v.

г) Съществува връх v0 ∈ V такъв, че всеки друг връхv ∈ V е достижим от v0, deg−(v0) = 0 и deg−(v) = 1 при v 6= v0.

Задача 1.8.7: Нека G е ориентиран граф, от всеки връх накойто излиза точно едно ребро.

G′ е силно свързан подграф на G, тоG′ представлява единствен цикъл.

G′′ = 〈V, E〉, където (a, b) ∈ E ⇐⇒(b, a) ∈ E, то G′′ може да се представи като обединение отнепресичащи се цикли и дървета с корен - връх от някой отциклите.

Д аден е ориентирания графД окажете, че следващите условия са еквивалентни:

а) Д окажете, че ако

б) кажете, че акоД о

Page 58: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 58

Задача 1.8.8: Намерете броя на всички пътища с дължина 3в ориентирания граф:

rv1

rv2

rv4 rv3

¤£ - -¡¡

¡¡

¡¡

¡¡µ6

@@

@@

@@

@@I

?

-

M =

1 1 1 10 0 0 10 1 0 00 0 1 0

. Имаме M2 =

1 2 2 20 0 1 00 0 0 10 1 0 0

и M3 =

1 3 3 30 1 0 00 0 1 00 0 0 1

. Следователно броят на пътищата с дължина 3

(виж зад. 1.7.16) е равен на4∑

i,j=1

m(3)ij = 1+3+3+3+1+1+1 = 13.

Задача 1.8.9: Съществуват ли цикли в ориентирания граф,показан по-долу?

Отг. Д аденият граф има матрица на съседство

Page 59: Diskretna_Matematika_Rakovodstvo

1. Основни математически понятия 59

rv1

rv2

rv3

rv4

rv5

ZZ

ZZ

Z~

CCCCCCCCCCW

¤¤¤¤¤¤¤¤¤¤²

½½

½½

½=

¢¢

¢¢

¢®

´´

´´

´´

´́+

¾

QQ

QQ

QQ

QQk

¾AA

AA

AK

Отг. M =

0 1 1 1 10 0 1 1 10 0 0 1 10 0 0 0 10 0 0 0 0

е матрицата на съседство за

дадения граф. Тогава M5 е нулевата матрица и виж задача1.7.17, т.е. отговорът е "не".

Задача 1.8.10: Един човек имал 4 деца. Известно е, чеизмежду потомците му 10 са имали по три деца, 20 по две, 30само по едно, а всички останали са умрели бездетни. Колко наброй са били потомците на този човек?

Отг. Нека T = 〈V, E〉 е родословното дърво започващоот човека и изобразяващи неговите потомци. Тогава |E| =∑

v∈V

deg+(v) = 4 + 10 · 3 + 20 · 2 + 30 · 1 = 104. На всяко ребро

съответства единствен потомък. Следователно броят на всичкипотомци на човека е 104.

Page 60: Diskretna_Matematika_Rakovodstvo

2.

2.1

Нека V е крайно и непразно множество. Елементите натова множество ще наричаме букви, а самото множество V -азбука.

над азбуката V ще наричаме всяка крайна редицаот букви на V .

празнадума, която ще бележим с ε. С V ∗ ще означаваме множествотоот всички думи над V , включително и празната.

Под дължина на една дума се разбира броят на буквитеα ще означаваме с |α| или с d(α).

Нека α и β са две думи над азбуката V . Подконкатенация (произведение, слепване) αβ на двете думище разбираме думата, получена от последователното дописванена буквите на β след последната буква на α.

Казваме, че думата α е начало (префикс) на думата β,ако съществува дума γ такава, че β = αγ. Ако съществува думаδ такава, че β = δα, то α се нарича край (суфикс) на β. Когато

ЕЗИЦИ ИГРАМАТИКИ. КРАЙНИ

БЕЗ ПАМЕТАВТОМАТИ

ФОРМАЛНИ

Д уми и езици

Д ума

Д ума, в която не влиза нито една буква се нарича

в нея. Д ължината на думата

Page 61: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 61

могат да се намерят думи γ и δ 1 такива, че β = γαδ, то казваме,че α е поддума на β.

Нека V е азбука. Всяко подмножество L на V ∗ се наричаформален език (или само език) над азбуката V .

Под сечение (обединение) на два езика L1 и L2 щеразбираме езика L1∩L2 (L1∪L2), който се получава от сечението(обединението) на L1 и L2, разглеждани като множества.

Под произведение на езиците L1 и L2 ще разбираме езика

L1L2 = {α ∈ V ∗ | α = βγ, β ∈ L1, γ ∈ L2, } ,

т.е. множеството от всички думи, които се представят катоконкатенация на две думи, първата от които е от L1, а вторатаот L2.

Под n-та степен на езика L ще разбираме езика

Ln = LL . . . L︸ ︷︷ ︸n

,

като по дефиниция L0 = ε.Езикът L∗ =

n≥0

Ln се нарича итерация на L, а

L+ =⋃

n≥1

Ln - положителна итерация на L.

ЗадачиЗадача 2.1.1: Нека V V ∗ еизброимо множество.

Упътване. Нека |V | = nномерация (Nomer) на елементите от V ∗ по следния начин:

1 Възможно е γ = ε или δ = ε.

е непразна азбука. Д окажете, че

. Д ефинирайте индуктивно

Page 62: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 62

1) буквите от V са с номера от 1 до n;2) Nomer(ε) = 03) ако α ∈ V ∗, a ∈ V , то Nomer(αa) = Nomer(α) +

Nomer(a).Чрез индукция по дължината на думата покажете, че

всяка дума от V ∗ получава точно един номер; на всякоестествено число (номер) съответствува единствена дума от V ∗

и различните думи получават различни номера.

Задача 2.1.2: Нека V V ∗ соперацията конкатенация е моноид.

Задача 2.1.3: V = {a, b}. Намерете V 2 иV 3.

Отг. V 2 = {aa, ab, ba, bb};V 3 = {aaa, aab, aba, abb, baa, bab, bba, bbb}.Задача 2.1.4: Нека V = {0, 1} е азбука. Определете V ∗ иподредете по стандартен начин елементите на V ∗ (споредвъведената номерация в 2.1.1).

Отг. V ∗ = {ε, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, 100, . . .}.Задача 2.1.5: Нека L1 = {aba} и L2 = {b} са формални езицинад азбуката V = {a, b}. Опишете думите от езика L = L∗1L2.

Отг. Нека отбележим, че и двата езика се състоят от поL∗1 ще са от вида

L∗1 = {ε, aba, (aba)2, (aba)3, . . . , (aba)n, . . .}, като (aba)2 = abaaba(aba)3 = abaabaaba (aba)n = abaaba . . . aba︸ ︷︷ ︸

n

(група aba се повтаря

n пъти). Тогава думите от езика L = L∗1L2 са:

L∗1L2 = {b, abab, abaabab, abaabaabab, . . . , abaaba . . . aba︸ ︷︷ ︸n

b . . .},

е непразна азбука. чеД окажете,

Д адена е азбуката

една дума. от езикаД умите

Page 63: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 63

т.е. това са думи започващи със степен на групата aba изавършващи задължително с b.

Задача 2.1.6:в сила свойствата:

а) L1(L2L3) = (L1L2)L3;б) ∅L1 = L1∅ = ∅, където ∅ е празният език, т.е. езика без

нито една дума;в) {ε}L1 = L1{ε} = L1;г) L1(L2 ∪ L3) = L1L2 ∪ L1L3.

Задача 2.1.7: Посочете примери на формални езици, за които:а) L1L2 6= L2L1;б) L1(L2 ∩ L3) 6= (L1L2) ∩ (L1L3);в) L1 ∪ (L2L3) 6= (L1 ∪ L2)(L1 ∪ L3);г) L1 ∩ (L2L3) 6= (L1 ∩ L2)(L1 ∩ L3).

Задача 2.1.8: Нека A = {a}, B = {b}. Опишете какви думисъдържат следните формални езици:

а) AB∗;б) A∗B∗;в) (AB)∗;г) A ∪B;д) A∗ ∪B∗;е) A∗ ∩B∗;ж) (A ∪B)∗;з) (A ∩B)∗;и) (A ∪B)∗ABA;й) (A∗ ∪ AB)∗A.

Отг.:а) AB∗ = {abn | n ≥ 0} = {a, ab, ab2, ab3 . . .}.б) A∗B∗ = {ambn | m,n ≥ 0} = {ε, a, b, a2, b2, ab, a2b, . . .}.

Д окажете, че за произволни формални езици са

Page 64: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 64

в) (AB)∗ = {(ab)n} = {ε, ab, (ab)2, (ab)3, . . .}.г) A ∪B = {a, b}.д) A∗ ∪B∗ = {an, bn | n ≥ 0} = {ε, a, b, a2, b2, a3, b3, . . .}.е) A∗ ∩B∗ = {ε}.ж) (A ∪ B)∗ = {a, b}∗ = {ε, a, b, ab, ba, a2, b2, . . .}, т.е.

множеството от всички възможни думи, съставени от a и b.з) (A ∩B)∗ = {ε}.и) (A ∪B)∗ABA = {αaba | α ∈ (A ∪B)∗}.й) (A∗ ∪ AB)∗A = {αa | α са думи започващи с a и

съдържащи степени на a и ab или α = ε}.

Задача 2.1.9: Нека A, B и C са произволни формални езицинад азбуката Vравенства:

а) A(BA)∗ = (AB)∗A;б) A(B∗ ∩ C∗) = AB∗ ∩ AC∗;в) A∗B = B ∪ A∗AB;г) (A∗B∗)∗ = (A ∪B)∗;д) A∗(B ∪ C) = A∗B ∪ A∗C;е) A∗(B ∩ C)∗ = (AB ∪ AC)∗;ж) A∗B∗ = (A ∪B)∗.

Задача 2.1.10: Ако A = {ab, c} и B = {c, ca} са два формалниезика над азбуката V = {a, b, c}, то опишете от какви думи сесъстоят езиците:

а) A ∪B;б) A \B;в) A3 \B∗;г) AB;д) BA;е) A2 ∪B2;ж) (A ∪B) \ (A ∩B);з) A∗(A3 \B).

. Д окажете или опровергайте с пример следните

Page 65: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 65

Задача 2.1.11: V = {|} съставенаединствено от символа |L над V :

1) ε ∈ L;2) ако α ∈ L, то |α| ∈ L;3) ако α ∈ L и β ∈ L, то αβ ∈ L;4) в L няма други думи, освен тези, които могат да се

получат от 1), 2) и 3), приложени краен брой пъти.α ∈ L тогава и само тогава, когато

има четен брой символи |.

Задача 2.1.12: Нека V = {0, 1}, A = {0}, B = {1}.Като използувате азбуките V, A, B и операциите обединение,произведение и итерация, опишете следните езици:

а) L1 = {ω | ω ∈ V ∗ и ω започва с 1 и завършва с 1};б) L2 = {10α | α ∈ V ∗}, т.е. езика от всички думи,

съставени от 0 и 1 и започващи с 10;в) L3 = {α101β | α, β ∈ V ∗}, т.е. езика от всички думи,

съставени от 0 и 1 и съдържащи поддумата 101;г) L4 = {α ∈ V ∗ | {ε} и всяка единица е последвана от две

нули};д) L5 = {{ω | ω ∈ V ∗ и не съдържа поддуми от вида 111}.

Отг.:L1 = BV ∗B, L2 = BAV ∗, L3 = V ∗BABV ∗, L4 = A∗(BAA)∗,L5 = (A∪AB∪ABB)∗∪B(A∪AB∪ABB)∗∪BB(A∪AB∪ABB)∗

Задача 2.1.13: Нека V е произволна крайна азбука и L епроизволен формален език над V . Във V ∗ е въведена релацияρL по следния начин: ако α и β са произволни думи от V ∗,то αρLβ тогава и само тогава, когато за всяко p ∈ V ∗ думитеpα и pβ едновременно принадлежат или не принадлежат на L.

ρL е релация на еквивалентност.

Д адена е азбуката. Д ефинираме следния зикформален е

Д окажете, че една дума

Д окажете, че

Page 66: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 66

2.2 Пораждащи граматики

Под пораждаща граматика Γ ще разбираме нареденатачетворка Γ = 〈V, W, S, P 〉, където V е крайно множество(азбука) от терминални символи, W -крайно множество(азбука) от нетерминални символи, S-начален символ награматиката, който е и елемент на W и P е крайно множествоот наредени двойки (α, β), за които α, β ∈ (V ∪ W )∗, като в αима поне един нетерминален символ.

Елементите на V най-често ще означаваме с малкилатински букви a, b, . . . (евентуално с индекси), докатонетерминалните символи от W най-често ще означаваме сглавните латински букви A,B, . . . (евентуално с индекси).Елементите на P се наричат правила. Ако (α, β) ∈ P , тоще означаваме α → β, като символът ” → ” не принадлежина (V ∪ W ). Ако имаме няколко правила от вида α → β1,α → β2, . . . , α → βn с еднакви леви части за по-кратко ще пишемα → β1 | β2 | . . . | βn.

Нека µ и ν са две думи от (V ∪W )∗. Ще казваме, че µ сеизвежда непосредствено от ν в граматиката Γ = 〈V,W, S, P 〉и ще пишем ν

Γ

` µ (или само ν ` µ , ако Γ се подразбира), акосъществуват думи α1, α2 ∈ (V ∪W )∗ и правило α → β в P така,че ν = α1αα2 и µ = α1βα2.

Ако ω1, ω2, . . . , ωn са думи над V ∪W , за които ω1

Γ

` ω2

Γ

`ω3 . . .

Γ

` ωn, ще казваме, че тази редица от думи е извод на ωn

от ω1 в Γ, което ще означаваме с ω1

Γ

|= ωn или само ω1 |= ωn, ако

Γ се подразбира. Броят n на непосредствените изводи ωi

Γ

` ωi+1

ще наричаме дължина на извода.Всяка дума ω ∈ (V ∪ W )∗, за която S |= ω се нарича

сентенциална форма на граматиката Γ.

Page 67: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 67

Множеството L(Γ) = {ω ∈ V ∗ | SΓ

|= ω} се наричаформален език над V , породен от граматиката Γ.

Ще казваме, че граматиките Γ1 и Γ2 са еквивалентни,ако L(Γ1) = L(Γ2).

Пораждащи граматики, които имат правила от вида

αAβ → ω, α, β, ω ∈ (V ∪W )∗, A ∈ W

се наричат граматики от общ вид или от тип 0.Пораждащи граматики, които имат правила от вида

αAβ → αωβ, ω 6= ε, α, β, ω ∈ (V ∪W )∗, A ∈ W

се наричат контекстни граматики или граматики от тип 1.При необходимост ще добавяме и правилото S → ε, като

това правило можем да използуваме единствено за получаванена празната дума (при условие, че ε принадлежи на съответнияезик).

Пораждащи граматики, на които всички правила са отвида

A → ω, A ∈ W, ω ∈ (V ∪W )+

се наричат безконтекстни или граматики от тип 2.Както в случая на контекстна граматика при

необходимост ще добавяме и правилото S → ε, като товаправило можем да използуваме единствено за получаване напразната дума.

Пораждащи граматики, чийто правила са от вида

A → aB | a, A, B ∈ W, a ∈ V

се наричат автоматни или регулярни, или от тип 3.И тук е допустимо да се причисли правилото S → ε, което

може да се използува само за пораждане на празната дума.

Page 68: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 68

От казаното по-горе е ясно, че всяка автоматна граматикае безконтекстна, всяка безконтекстна граматика е контекстна ивсяка контекстна граматика е граматика от общ тип.

ЗадачиЗадача 2.2.1:

Γ = 〈V, W, S, P 〉,която съдържа правила, в които началният символ S се срещав дясната им страна, може да се построи еквивалентна на неяграматика Γ′, такава че в десните страни на правилата ғи не сесреща началният символ.

Упътване. Граматиката Γ′ се определя по следния начин:Γ′ = 〈V, W ∪ {S ′}, S ′, P ′〉, където S ′ е нов символ, а P ′ съдържавсички правила от P и нови правила α1S

′α2 → α ∈ P ′ за всякоправило α1Sα2 → α от P .

Задача 2.2.2: L е формален език от тип i(i = 0, 1, 2, 3), то и езиците L ∪ {ε} и L \ {ε} са от същия тип i.

Задача 2.2.3:граматиката Γ, ако:

а) Γ = 〈{0}, {S, A}, S, {S → 0 | 0A, A → 0S}〉;б) Γ = 〈{0}, {S, A}S, {S → ε | 0A, A → 0S}〉;в) Γ = 〈{0, 1}, {S,A, B}, S, {S → A, A → 0A1 | B,

B → 1B | 1}〉;г) Γ = 〈{0, 1}, {S}, S, {S → 1 | 0S0 | 1S1}〉.

Отг. а) Ще докажем, че езикът L, породен от граматикатаΓ, има вида L = {02n+1 | n ≥ 0}, т.е. всички думи от L сасъставени от нечетен брой нули.

Д окажете, че за всяка граматика

Д окажете, че ако

Д а се определи езикът, който се поражда от

Page 69: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 69

За да докажем, че L ⊆ L(Γ) ще използуваме индукция поn.

Ако n = 0, то α1 = 02·0+1 = 0, т.е |α1| = 1, като думатаα1 се получава с помощта на правилото S → 0. Ако n = 1, тоα2 = 02·1+1 = 03 = 000 ∈ L, а α2 може да се представи с помощтана извода S ` 0A ` 00S ` 000, т.е. α2 ∈ L(Γ).

k = 0, 1, 2, . . ., думите от вида02k+1 могат да се получат с помощта на извод от вида S |= 02k+1

и имайки в предвид правилата в Γ, то по-конкретно този изводима вида S ` 0A ` 00S ` · · · ` 02k−1A ` 02kS ` 02k+1.

Нека n = k + 1 и α = 02(k+1)+1 = 02k+3 = 02k+102. Съгласноиндукционното предположение за думата 02k+1 съществуваизвод от вида S |= 02kS ` 02k+1, последното правило в койтоможем да заменим с правилото S → 0A, вместо S → 0 ида получим извода S |= 02kS ` 02k0A = 02k+1A ` 02k+10S =02k+2S ` 02k+20 = 02k+3. Следователно твърдението е вярно завсяко естествено число n, т.е. L ⊆ L(Γ).

Нека ω ∈ L(Γ), т.е. съществува извод от вида S |= ω.Чрез индукция по дължината на извода, ще докажем, че

в Γ съществуват единствено изводи от вида: S |= α, къдетоα ∈ {0, S, A}∗, α = 02nS, или α = 02n+1A, или α = 02n+1.

Нека S ` α. Тъй като към S могат да се приложат самоправилата S → 0A, или S → 0, то α = 0A, или α = 0.

S |= α с дължина k,k > 0 твърдението е вярно.

Нека S |= α e извод с дължина k + 1. Тогава S |=α1 ` α, където S |= α1 е извод с дължина k. Тъйкато към α1 е приложено правило от Γ, то α1 съдържапоне един нетерминален символ и съгласно индукционнотопредположение α1 = 02nS или α1 = 02n+1A.

Нека α1 = 02nS. Тогава при помощта на правилото S → 0получаваме α = 02n+1. Ако приложим правилото S → 0A, то

Д а допуснем, че за всяко

Д а допуснем, че за всички изводи

Page 70: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 70

получаваме α = 02n0A = 02n+1A.Нека α1 = 02n+1A. Тогава към α1 може да се приложи

единствено правилото A → 0S и тогава α = 02n+2S, т.е.попадаме в по-горе разгледания случай а). Процесът е краен ислед краен брой стъпки ще получим дума от {0}∗ и това може дабъде само дума от вида 02n+1. Следователно L(Γ) ⊆ L и заеднос по-горе доказаното включване L ⊆ L(Γ) следва, че L(Γ) = L.

б) L(Γ) = {02n | n ≥ 0};в) L(Γ) = {0n1m | n ≥ 1, n < m};г) L(Γ) = {α1α | α ∈ {0, 1}∗}.

Задача 2.2.4: Постройте граматика, която да поражда всичкидуми от нули и единици, започващи с 10, т.е.

L = {10α | α ∈ {0, 1}∗} .

Отг. Γ = 〈{0, 1}, {S, A}, S, {S → 10 | 10A, A → 0 | 1 | 0A |1A}〉 L(Γ) = L.

Задача 2.2.5: Постройте граматика, която поражда езика,състоящ се от:

а) идентификатори (използувани в език за програмиране),които имат произволна дължина, но задължително започват сбуква;

б) идентификатори, съдържащи от 1 до 6 символа, нозадължително започват с някоя от буквите I, J,K, L,M, илиN ;

в) реални константи (както се описват в език запрограмиране). Например, думи от езика могат да бъдат 10.01,3.14159, 2.0, 1.21E − 20 и т.н.;

г) думи, съдържащи четен брой нули и единици.

Задача 2.2.6: Опишете езика, породен от граматиката:

Γ = 〈{a, b}, {S}, S, {S → bSS | a}〉

Д окажете аналогично на задача 2.2.3 а), че

Page 71: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 71

Задача 2.2.7: Постройте граматика, пораждаща езика:а) L = {αα | α ∈ {0, 1}∗};б) L = {anb2n | n ≥ 0};в) L = {an2 | n ≥ 1}.

Задача 2.2.8: Определете езика, породен от граматиката:

Γ = 〈{i, +, ∗, (, )}, {S,A, B}, S, P 〉,

където

P = {S → S + A | A, A → A ∗B | B, B → (S) | i}

Упътване. Пример за извод на дума в тази граматика можеда бъде следният: S ` S+A ` A+A ` B+A ` i+A ` i+A∗B `i+B ∗B ` i+ i ∗B ` i+ i ∗ i. Тогава езикът L(Γ) е множествотоот аритметични изрази, построени на база символите i, +, ∗, (, ).

Задача 2.2.9: Определете езика породен от граматиката:а) Γ = 〈{0, 1}, {S}, {S → 0S | 1S | ε}〉;б) Γ = 〈{0, 1}, {S,A}, S, {S → 011 | 0S1 | 01A,

A → 1A | 1}〉;в) Γ = 〈{0, 1}, {S}, S, {S → 1 | 0S1 | 1S0 | 0S0 | 1S1}〉;г) Γ = 〈{a, b, c}, {S, B, C}, S, {S → aSBC | abC,

CB → BC, bB → bb, bC → bc, cC → cc}〉;д) Γ = 〈{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, ∗, (, )}, {S, A,B}, S,

{S → S + A | B, A → A ∗B | B, B → (S)|0|1|2|3|4|5|6|7|8|9}〉.

Отг.:а) L(Γ) = {α | α ∈ {0, 1}∗};б) L(Γ) = {0n1m | n ≥ 1, n < m};в) L(Γ) = {α1β | α, β ∈ {0, 1, }∗};г) L(Γ) = {anbncn | n ≥ 1};д) виж зад 2.2.8.

Page 72: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 72

Задача 2.2.10: Напишете граматика, пораждаща езика:а) L = {α00β | α, β ∈ {0, 1}∗};б) L = {0n10n | n ≥ 1};в) L = {anbn+m | n > m > 1}.

2.2.1 Автоматни граматики

Задача 2.2.11:поражда езика над азбуката V = {0, 1}, съдържащ

а) нечетенб) четен

брой единици.

Отг.:а) Да разгледаме граматика, определена по следния начин:

Γ = 〈{1}, {S,A}, S, {S → 1 | 1A, A → 1S}〉

Изводите на думи в правилата на тази граматика могатда имат вида: S ` 1 (т.е. получаваме думата с най-малка

S ` 1A и в тозиизвод може да бъде заменен само нетерминалният символ A ито само с един възможен преход A → 1S, т.е. дотук изводътима вида S ` 1A ` 11S. При последователните извежданияможем да заменяме само единствения нетерминален символ итук вече възможностите са две: S може да се замени с 1 и тогаваполучаваме

(1) S ` 1A ` 11S ` 111

или S да се замени с 1A. В този случай получаваме извод отвида

(2) S ` 1A ` 11S ` 111A

Д а се напише автоматна граматика, която да

дължина). Д руго възможно начало на извод е

Page 73: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 73

A → 1S, S → 1 води до замяната на нетерминалния символA с 11.

Използувайки индукция по дължината на думата може дасе докаже, че Γ е търсената граматика.

Нека с α означим произволна дума от езика.1. Нека |α| = 1

непосредствено от правилото S → 1.2. Нека да допуснем, че |α| = n, където n = 2k + 1, т.е.

(3) S ` 1A ` 11S ` 111A ` · · · ` 11 . . . 1︸ ︷︷ ︸n

3. Ще докажем, че думата, която може да се изведенепосредствено след α с дължина 2k + 1 ще е дума с дължина2k + 1 + 2 = 2k + 3, т.е. отново с нечетна дължина.

Имайки в предвид (3) да разгледаме прехода

(4) S ` 1A ` 11S ` · · · ` 11 . . . 1︸ ︷︷ ︸n−2

A = α′A

A → 1S и S → 1, получаваме (3). Ако обачеизползуваме прехода A → 1S, S → 1A, A → 1S и S → 1, тогавадължината на думата ще се увеличи с още 4 символа, т.е. от|α| = |α′β| = |α′|+ |β| = n− 2+4 = n+2 = (2k +1)+2 = 2k +3,т.е. отново дължината на думата е нечетна.

Накратко можем да обобщим казаното по-горе по следния

изведена е с дължина 1, всяка следваща дума се получава отпредходната с помощта на извод от вида A → 1S, S → 1, коетоводи до увеличаване на дължината с 2.

б) Γ = 〈{1}, {S, A}S, {S → ε | 1A , A → 1S | 1}〉.

Ако продължим извеждането, забелязваме, че прехода

. Д ума с дължина единица се получава

Ако в (4) заменим

начин: Д умата с най-малка дължина, която може да бъде

Page 74: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 74

Задача 2.2.12:поражда думите от езика над азбуката V = {0, 1}:

а) L = {10α | α ∈ {0, 1}∗};б) L = {α10 | α ∈ {0, 1}∗};в) L = {α10β | α, β ∈ {0, 1}∗}.

Отг.:а) Γ = 〈{0, 1}, {S,A, B}, S, {S → 1A, A → 0B,

B → 0B | 1B | 0 | 1}〉;б) Γ = 〈{0, 1}, {S,A}, S, {S → 0S | 1S | 1A, A → 0}〉;в) Γ = 〈{0, 1}, {S,A, B}, S, {S → 0S | 1S | 1A,

A → 0B, B → 1B | 0B | 0 | 1}〉.

Задача 2.2.13:поражда думите от езика над азбуката V = {a, b}:

а) L = {anb | n ≥ 0};б) L = {anb | n ≥ 1};в) L = {abn | n ≥ 0};г) L = {abn | n ≥ 1}.

Отг.:а) Γ = 〈{a, b}, {S}, S, {S → aS | b}〉;б) Γ = 〈{a, b}, {S, A}, S, {S → aS | aA, A → b}〉;в) Γ = 〈{a, b}, {S, B}, S, {S → aB | a, B → bB | b}〉;г) Γ = 〈{a, b}, {S, B}, S, {S → aB, B → bB | b}〉.

Задача 2.2.14:поражда думите от езика над азбуката V = {a, b}:

а) L = {anbm | n,m ≥ 0};б) L = {aαb | α ∈ {a, b}∗};в) L = {abαba | α ∈ {a, b}∗};г) L = {α | α ∈ {a, b}∗ и започва и завършва с една и съща

буква}.

Д а се напише автоматна граматика, която да

Д а се напише автоматна граматика, която да

Д а се напише автоматна граматика, която да

Page 75: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 75

Отг.:а) Γ = 〈{a, b}, {S, B}, S, {S → ε | a | b | aS | aB | Bb,

B → bB | b}〉;б) Γ = 〈{a, b}, {S, A}, S, {S → aA, A → aA | bA | b}〉;в) Γ = 〈{a, b}, {S, A, B, C}, S, {S → aA, A → bB,

B → bB | aB | bC, C → a}〉;г) Γ = 〈{a, b}, {S,A, B}, S, {S → aA | bB, A → aA | bA | a,

B → aB | bB | b}〉.

Задача 2.2.15: Постройте автоматна граматика, която дапоражда думите от езика над азбуката V = {0, 1}:

а) L = {α | α ∈ {0, 1} и не съдържа поддума 101};б) L = {α | α ∈ {0, 1} и не съдържа две последователни

единици};в) L = {α | α ∈ {0, 1} и всяка нула е последвана от поне

една единица}.

Задача 2.2.16: Определете езика, породен от граматиката Γ,ако:

а) Γ = 〈{0, 1}, {S, A, B, C}, S, {S → 0A | 1C, A → 0A | 1A |0B,B → 0B | 0, C → 0C | 1C | 1B | 1}〉;

б) Γ = 〈{a, b, c}, {S, A, B, C}, S, {S → ε | aA, A → bB,B → cC | c, C → aA}〉;

в) Γ = 〈{0, 1}, {S,A, B}, S, {S → 1A, A → 0B | 0,B → 0B | 1B | 0 | 1}〉;

г) Γ = 〈{a, b, c}, {S, B, C}, S, {S → a | b | c | aS | bB | cC,B → b | c | bB | cC, C → c | cC}〉;

д) Γ = 〈{a, b, c}, {S, A, B, C, D}, S, {S → aB, S → aC,B → aA, C → bD, D → bC, D → bD, D → aC,A → cA, A → c}〉;

е) Γ = 〈{0, 1}, {S,A, B}, S, {S → 0A, A → 1B,B → 0, B → 0S}〉;

Page 76: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 76

ж) Γ = 〈{a, b}, {S, A, B}, S, {S → aS | bS | aA,A → bB, B → a}〉;

з) Γ = 〈{a, b}, {S, A, B, C}, S, {S → bC | aA,A → a | aA | bB, B → bB | aS | b, C → aS | bB | b | a}〉;

и) Γ = 〈{a, b}, {S, A, B}, S, {S → bB | aA | aA → aS | bB | b, B → bS | aA | a}〉.

Задача 2.2.17: Постройте автоматна граматика, която дапоражда езика:

а) L = {ω ∈ {0, 1}∗ и ω съдържа степени на 101};б) L = {aωa | ω ∈ {a, b}∗};в) L = {(111)nω | ω ∈ {0, 1}∗, n ≥ 0};г) L = {(aab)n(baa)m | n ≥ 1, m ≥ 1}.

Задача 2.2.18: Напишете автоматна граматика, която дапоражда всички думи съставени от 0 и 1, започващи с две нули,или завършващи на две единици.

Задача 2.2.19: Напишете автоматна граматика, която дапоражда всички думи съставени от 0 и 1, съдържащи точноедна нула, или нечетен брой единици.

2.2.2 Безконтекстни граматики

Задача 2.2.20: Постройте безконтекстна граматика, която дапоражда следния език:

а) L = {0n10n | n ≥ 0};б) L = {0n1n | n ≥ 0};в) L = {0n12n | n ≥ 1};г) L = {ω10ω2 | ω ∈ {0, 1}∗|ω1| = |ω2|};д) L =

{aibjck | i 6= j 6= k, i, j, k ≥ 0

};

е) L = {anbman+m | n,m ≥ 0}.

Page 77: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 77

Задача 2.2.21: Постройте безконтекстна граматиката надазбуката {0, 1}, която да разпознава езика, думите на койтопритежават свойството:

а) единиците са с една повече от нулите;б) броят на единиците и нулите в думата е еднакъв;в) думите в езика четени от ляво на дясно и от дясно на

ляво са едни и същи (например 010, 11011 и т.н.).

Задача 2.2.22: Определете езика, породен от граматиката:а) Γ = 〈{a, b}, {S, A}, S, {S → a | b | aSa | bSb | aAb | bAa |

ab | ba, A → a | b | aA | bA}〉;б) Γ = 〈{a, b}, {S}, S, {S → bSS | a}〉;в) Γ = 〈{0, 1}, {S,A, B}, S, {S → AB, A → SA | 1B,

B → 1 | 0A | ε}〉.

Задача 2.2.23: Напишете безконтекстна граматика,пораждаща езика:

а) всички думи в езика са съставени от нули и единици ислед всяка 0 стои 1;

б) всички думи са съставени от нули и единици, като броятна нулите е два пъти по-голям от броя на единиците.

Задача 2.2.24:Γ = 〈{x, +, ∗, (, )}, S, {S → A, S → S + A,A → A ∗B,A → B, B → x, B → (S)}〉. Постройте за думата:

(x + x ∗ x) ∗ (x + x ∗ x + x ∗ x ∗ x)

а) извод от S;б) дърво на извод в Γ с резултат тази дума;в) ляв извод от S в Γ.

Задача 2.2.25:итерацията на безконтекстни езици е безконтекстен език.

Д адена е безконтекстната граматика

Д окажете, че обединението, произведението и

Page 78: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 78

Задача 2.2.26: Постройте дървета на извод за следнитеаритметични изрази:

а) a ∗ b + c;б) (a + b) ∗ c;в) ((a− b) ∗ (a + c))/b,

ако изразите се пораждат от граматиката:Γ = 〈{a, b, c, +,−, ∗, /, (, )}, {S,A, B, C}, S,{S → A, S → S + A, S → S − A, A → B, A → A ∗B,A → A/B, B → C, B → (C), C → a | b | c}〉.

2.2.3 Контекстни граматики

Задача 2.2.27: Покажете, че следният език е контекстен:а) L = {anbncn | n ≥ 1};б) L = {ω | ω ∈ {a, b, c}∗ и съдържа еднакъв брой a-та,

b-та и c-та }.

Γ =〈{a, b, c}, {S, B, C}, S, P 〉 със следните правила P = {S →aSBC | abC, CB → BC, bB → bb, c → C}. Най-напред щедокажем, че граматика, конструирана по този начин, пораждаезика, а след това ще построим еквивалентна на Γ контекстнаграматика Γ1.

(I) Ще покажем, че L ⊆ L(Γ).Нека n ∈ N, n ≥ 1. Тогава в Γ може да се построи следният

извод: S |= an−1S(BC)n−1 ` anbC(BC)n−1 |= anbBn−1Cn |=anbnCn |= anbncn. В този извод най напред n − 1 на брой пъти(евентуално 0) прилагаме правилото S → aSBC и един пътправилото S → abC. След това прилагаме правилото CB → BCдотогава, докато всички нетерминални символи B се изнесатвляво от всички нетерминални символи C. Накрая прилагамеn− 1 пъти правилото bB → bb и n пъти правилото C → c.

Отг. а) Д а разгледаме контекстната граматика

Page 79: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 79

(II) L(Γ) ⊆ L, т.е. ако S |= ω и ω ∈{a, b, c}∗, то ω = akbkck за някое k, k ≥ 1. Забелязваме, чеако имаме извод S |= ω на терминалната дума ω, то в тозиизвод нетерминала B може да се превърне в терминален символb, само ако се придвижи наляво до непосредствено съседствос буква b. Това движение наляво може да се осъществиединствено чрез правилото CB → BC. Правилото C → cне бива да да се прилага към дадена буква C, ако в дясноот тази буква има нетерминален символ B, тъй като следтова този нетерминален символ B няма да може да преминев терминал b и никога няма да се получи дума състояща сесамо от терминали.

Нека S |= ω, ω ∈ {a, b, c}∗. Този извод има вида S ` ϕ1 `· · · ` ϕt = ω (t ≥ 1). С индукция относно i, 1 ≤ i ≤ t щепокажем, че думите ϕi имат вида akXbl0Bl1X1 . . . Xk−1B

lkXk занякое k ≥ 1, където:

(1) X1, . . . , Xk ∈ {C, c}, като ако някое Xj = c, то вдясноот него няма символи B;

(2) X = S, или X = ε;(3) lo, l1 ≥ 0, l0 + l1 6= 0, като ако X = S, то l0 = 0;(4) l2, l3, . . . , lk ≥ 0, l0 + l1 + · · ·+ lk = k.Нека i = 1. В изводаS ` ϕ1 може да бъде приложено само

или правилото S → aSBC, или S → abC. И в двата случаятвърдението е вярно.

i ≤ r твърдението е вярно и некаS |= ϕr+1. Ще покажем, че ϕr+1 също има горния вид.

Съгласно индукционното предположение за ϕr правилата(1)-(4) са верни. За ϕr са възможни следните случаи:

1. ϕr = akSBl1X1Bl2 . . . BlkXk, Xj ∈ {C, c} за 1 ≤ j ≤ k,

l1 ≥ 1, lj ≥ 0 за 2 ≤ j ≤ k, l1 + l2 + · · ·+ lk = k.ϕr+1 е получено, като към ϕr е приложено някое от

правилата S → aSBC, S → abC, CB → BC, или C → c, при

Д а докажем, че

Д а допуснем, че за всяко

Page 80: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 80

това правилото C → c е приложено към някое C, вдясно откоето няма символи B. Във всеки един от тези случаи ϕr+1

удовлетворява (1)-(4).2. ϕr = akbl0Bl1X1B

l2 . . . BkXk, където l0 ≥ 1, l1, l2, . . . , lk ≥0, l0 + l1 + · · · + lk = k ϕr+1 е получена, като към ϕr еприложено някое от правилата CB → BC, bB → bb, или C → c,при това правилото C → c е приложено към символ C, вдясноот който няма символ B. Във всеки един от случаи ϕr+1 щеудовлетворява условията (1)-(4).

Следователно ϕt = ω също удовлетворява тези условияи тъй като в ω няма нетерминални символи, то тя има видаω = akbkck за някое k ≥ 1.

Следователно L(Γ) ⊆ L.От (I) и (II) следва, че L = L(Γ).

Γ′, еквивалентна на Γ, която дабъде контекстна. Правилото в Γ, което не е от контекстен виде правилото CB → BC. В Γ′ включваме всички правила отΓ с изключение на CB → BC. Вместо него в Γ′ включвамеправилата:

CB → CX, CX → Y X, Y X → Y C, Y C → BC,

където X и Y са нови нетерминали.б) Упътване. Най напред постройте граматиката от общ

тип Γ = 〈{a, bc}, {S, A, B, C}, S, P}〉, където P е с правила: S →ASBC | ABC, AB → BA, AC → CA, BC → CB, CB →BC, A → a, B → b, C → c. Покажете, че езика, който сепоражда е исканият. След това постройте еквивалентна на Γконтекстна граматика.

Задача 2.2.28: Нека Γ = 〈{0, 1}, {S, A,B, C, D}, S, P 〉 еграматика от общ вид с правила: P = {S → CD, C →0CA | 1CB | ε, AD → 0D, BD → 1D, A0 → 0A, B0 → 0B,AB → 1A, B1 → 1B, D → ε}.

. Д умата

Д а построим граматика

Page 81: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 81

а) Определете езика, който се поражда от Γ;б) Постройте еквивалентна на Γ контекстна граматика.

Отг.:а) L(Γ) = {αα | α ∈ {0, 1}∗}.

Γ със следните правила:

S → C1D1 | C2D2 | ε AA1 → A1AC1 → 0CA | 1C1B | 0 AB1 → B1AC2 → 0C2A | 1C2B | 1 BA1 → A1BAD1 → A1D1 BB1 → B1BAD2 → A1D2 A1 → 0BD1 → B1D1 B1 → 1BD2 → B1D2 D1 → 0

D2 → 1

където A1, B1, C1, C2, D1 и D2 са нови нетерминални символи.Получената граматика Γ′ е еквивалентна на Γ и в нея няма ε-правила, с изключение на правилото S → ε. При това S неучаствувва в дясната страна на никое правило. Граматиката Γ′

обаче все още не е контекстна заради правилата AA1 → A1A,AB1 → B1A, BA1 → A1B и BB1 → B1B. Всяко от тези правиламожем да заменим с правилата:

AA1 → AX1, Y1X1 → Y1A1, AX1 → Y1X1, Y1A → A1A

където X1 и Y1 са нови нетерминали, различни за всяка такавачетворка от правила. Аналогично се постъпва и с правилатаAB1 → B1A, BA1 → A1B и BB1 → B1B.

Задача 2.2.29: Постройте контекстна граматика, която дапоражда езика:

а) L = {anbn | n ≥ 0};б) L = {anbncm | m ≤ n};в) L = {anbmck | n 6= m 6= k}.

б) Д а разгледаме граматиката

Page 82: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 82

Задача 2.2.30: Опишете езиците, които се пораждат отследните контекстни граматики:

а) Γ = 〈{a, 0, 1}, {S,A, B, C}, S, {S → ACA, AC → AAC,AC → ABa, AC → AaB, B → AB, B → A, A → 0, A → 1}〉;

б) Γ = 〈{a, b, c}, {S, A, B, C, D}, S, {S → aDAC, S → abC,D → aDAC, D → abC, CA → BA, BA → BC, BC →AC, bA → bb, C → c, S → ε}〉.

Задача 2.2.31: Покажете, че следните езици са контекстни:а) L =

{a2n | n ≥ 1

};

б) L ={an2 | n ≥ 1

};

в) L =

{ak | k =

n∑

i=0

i, n ≥ 1

}.

Отг. а) Нека най-напред да разгледаме граматиката Γ отобщ вид Γ = 〈{a}, {S, A, C, D, R}, S, P 〉, където P се състои отследните правила: S → CD, C → CAR, RA → AAR, RD →AD, C → a, D → a, A → a. Ще покажем, че L(Γ) = L.

I ) L ⊆ L(Γ)?Най напред с индукция отностно n, n ≥ 1, ще покажем, че

за всяко n в Γ може да се построи извод S |= CA2n−2D.Нека n = 1. Тъй като S → CD ∈ P , то S ` CD.

n ≥ 1 в Γ може да се построиизвод S |= CA2n−2D. Тогава в Γ може да се построи извод: S |=CA2n−2D ` CARA2n−2D |= CAA2(2n−2)RD |= CAA2(2n−2)AD =CA2n+1−2D. В този извод, след като се построи S |= CA2n−2D,веднъж прилагаме правилото C → aAR и след това 2n − 2пъти правилото RA → AAR, докато R достигне нетерминалниясимвол D. Накрая прилагаме правилото RD → AD.

С това показахме, че за всяко n, n ≥ 1, може да се построиизвод S |= CA2n−2D. Следователно, за всяко n, n ≥ 1, в Γ

Д а допуснем, че за някое

Page 83: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 83

може да се построи следния извод S |= CA2n−2D ` aA2n−2D |=a2n−1D ` a2n .

II ) L(Γ) ⊆ L.Нека S |= α, α ∈ {a}∗. Ще покажем, че α = a2n , за някое n,

n ≥ 1. Ако в извода S |= α не е прилагано правилото C → CAR,то изводът има вида S ` CD |= aa и следователно α = aa ∈ L.

Нека да разгледаме случая, в който в извода S |= αпоне веднъж е приложено правилото C → CAR. Тъй катонетерминалният символ R може да се отстрани само чрезприлагане на правилото RD → AD, то в този извод правилотоD → a не е приложено преди да се отстранят всички букви R.При наличие на букви A вдясно от дадена буква R в изводатрябва да се прилага правилото RA → AAR, за да можедадената буква R да достигне буквата D. Правилото A → aне се прилага към дадена буква A, преди всички появили себукви R да преминат в дясно от нея. Следователно за даденияизвод S |= α можем да построим извод S |= ω |= α (с точностдо реда на прилагане на правилата), в който ω ∈ {C, A, D}∗, ав частта от извода ω |= α се прилагат само правилата C → a,D → a, A → a.

Нека S |= ω, ω ∈ {C,A, D}∗. С индукция по n, където nе броят на прилаганията на правилото C → CAR ще покажем,че ω = CA2n−2D.

Нека n = 1. Тогава изводът има вида S ` CD ` CARD `CAAD.

n, n ≥ 1, твърдението е вярно.Нека S |= ω, ω ∈ {C, A,D}∗ и нека правилото C → CAR е

прилагано n+1 пъти. Тогава може да се построи извод S |= ω (сточност до реда на прилагане на правилата), в който правилотоC → CAR се прилага едва след като буквата R се появявапри предишното прилагане на това правило и се отстранявас помощта на правилото RD → AD. Този извод има вида

Д а докажем, че

Д а допуснем, че за някое

Page 84: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 84

S |= ω1 |= ω, като в извода S |= ω1 n пъти е приложеноправилото C → CAR, ω1 ∈ {C, A,D}∗ и изводът ω1 |= ω започвас (n + 1)-то прилагане на правилото C → CAR. Съгласноиндукционното предположение ω1 = CA2n−2D. Тогава изводътω1 |= ω има вида: CA2n−2D ` CARA2n−2D |= CAA2(2n−2)RD `CAA2(2n−2)AD = CA2n+1−2D.

Следователно даденият извод S |= α има вида S |=ω |= α (с точност до реда на прилагане на правилата), къдетоω = CA2n−2D, а в частта от извода ω |= α се прилагат самоправилата C → a, D → a, A → a, т.е α = a2n , или L(Γ) ⊆ L.

От I ) и II ) следва, че L(Γ) = L.Построяването на контекстна граматика Γ′, еквивалентна

на Γ оставяме за самостоятелно упражнение.б) Разгледайте най-напред граматиката Γ от общ вид

Γ = 〈{a}, {S, A, B, C, D}, S, P 〉, където P се състои от следнитеправила: S → a | DCD, C → ACB | A, AB → BaA, AD → Da,aB → Ba, aD → Da, DB → aaD, DD → aaa. Покажете,че L(Γ) = L и след това постройте еквивалентна контекстнаграматика Γ′.

Задача 2.2.32: Нека Γ = 〈{a, b, c}, {S, A, B, C, D}, S, P 〉 еграматика с правила P = {S → A | ε, A → aABD | abS,DB → CB, CB → CD, CD → BD, bB → bb, D → c}.Определете езика, който поражда Γ.

Задача 2.2.33: Нека L е контекстен език, който не съдържапразната дума ε. Покажете, че съществува граматика Γ =〈V, W, S, P 〉, пораждаща езика L и всички правила на която саот вида α → β, където α, β ∈ W+ или A → ω, A ∈ W, ω ∈ V +.

Упътване. Нека Γ0 = 〈V, W0, S, P0〉 е контекстнаграматика, пораждаща езика L. Постройте граматиката Γ0 =〈V, W, S, P 〉 по следния начин: W = W0 ∪ {Xa | a ∈ V }, където

Page 85: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 85

Xa /∈ W0 ∪ V за всяко a ∈ V , т.е. Xa са нови нетерминалнисимволи. Нека h е изображение, което се определя по следнияначин:

h(A) = A за всяко A ∈ W0,h(a) = Xa за всяко a ∈ V .В P включваме всички правила от P0, които имат вида

A → ω, където A ∈ W0, ω ∈ V + или α → β, където α, β ∈ W+0 .

В P включваме по едно правило h(α) → h(β) за всяко правилоα → β в P0, което не е от указания вид и правилата Xa → a завсяко a ∈ V .

Задача 2.2.34: Нека Γ = 〈V,W, S, P 〉 е граматика, всичкиправила на която са от вида α → β, където |α| ≤ |β|. Покажете,че съществува еквивалентна на Γ контекстна граматика.

Упътване. Постройте контекстната граматика Γ1 =〈V, W1, S1, P1〉 по следния начин: Нека Xa е нов нетерминаленсимвол за всяко a ∈ V h последния начин:

h(A) = A за всяко A ∈ W ,h(a) = Xa за всяко a ∈ V .В P1 включваме следните правила:(1) Xa → a за всяка a ∈ V ;(2) за всяко правило ϕAψ → ϕωψ от P , където A ∈

W, ϕ, ψ, ω ∈ (W ∪ V )∗, ω 6= ε, в P1 включваме правилотоh(ϕ)Ah(ψ) → h(ϕ)h(ω)h(ψ),

(3) Нека α → β е правило от P , което не е от вида ϕAψ →ϕωψ. Нека

h(α) = X1X2 . . . XkAY1Y2 . . . Yl, k + l ≥ 1,h(β) = U1U2 . . . UkτV1V2 . . . Vl.Такива нетерминални символи X1, . . . , Xl, A, Y1, . . . , Yl,

U1, . . . , Ul, V1, . . . , Vl и такава дума τ ∈ (W ∪ {Xa | a ∈ V })∗непременно съществуват, защото |α| ≤ |β|.

. финираме хомоморфизъмД е

Page 86: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 86

Нека Z1, Z2, . . . , Zk, Zk+1, . . . , Zk+l, Z са нови нетерминалнисимволи, като Z1 6= Z2 6= · · ·Zk+l 6= Z. За всяко α → β се взематнови такива нетерминални символи. ВP1 включваме правилата:

X1X2 . . . XkAY1Y2 . . . Yl → Z1X2 . . . XkAY1Y2 . . . Yl

Z1X2 . . . XkAY1Y2 . . . Yl → Z1Z2 . . . XkAY1Y2 . . . Yl

. . .Z1Z2 . . . ZkAY1Y2 . . . Yl → Z1Z2 . . . ZkAZk+1Y2 . . . Yl

. . .Z1Z2 . . . ZkAZk+1 . . . Zk+l−1Yl → Z1Z2 . . . ZkAZk+1 . . . Zk+l

Z1Z2 . . . ZkAZk+1 . . . Zk+l → Z1Z2 . . . ZkZZk+1 . . . Zk+l

Z1Z2 . . . ZkZZk+1 . . . Zk+l → U1Z2 . . . ZkZZk+1 . . . Zk+l

. . .U1U2 . . . UkZV1V2 . . . Vl−1Zk+l → U1U2 . . . UkZV1V2 . . . Vl−1Vl

. . .U1U2 . . . UkZV1V2 . . . Vl → U1U2 . . . UkτV1V2 . . . Vl−1Vl.

Задача 2.2.35: Нека Γ = 〈V, W, S, P 〉 е произволна граматикаот тип 0 (без ограничения върху правилата). Покажете, чесъществува еквивалентна на нея граматика Γ1 = 〈V,W1, S1, P1〉,правилата на която са от вида αAβ → αωβ, където α, β, ω ∈(W1 ∪ V )∗, а A ∈ W1

2.

Задача 2.2.36: Нека Γ = 〈V,W, S, P 〉 е граматика измеждуправилата на която има поне едно правило от вида A → ε, аостанали правила са от вида α → β, където |α| ≤ |β|. Постройтеалгоритъм, който да проверява дали ε ∈ L(Γ).

2.3 Крайни автомати

Нека Γ = 〈V,W, S, P 〉 е автоматна граматика. Освенсъс задаването на компонентите V,W, S и P тази граматика

2 За разлика от контекстните граматики върху ω не се налагаограничението ω 6= ε.

Page 87: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 87

допуска и представяне чрез ориентиран граф, чийто ребра сеобозначават с елементи от V , а върховете с елементи от W .В този граф върхът S е начален за всеки път от графа.Всички думи породени от от граматикатаΓ могат да се получатот пътищата в графа, които свързат началото S с крайните(заключителни) върхове.

Такива ориентирани графи с избрано начало и крайнивърхове представляват крайни автомати без памет.

Под щеразбираме всяка наредена петорка A = 〈K,V, δ, q0, F 〉, където:

- K е крайно множество от състояния на автомата(азбука на състоянията);

- V е крайно множество от входни букви (входнаазбука);

- δ : K × V → K е функция на преходите, която потекущото състояние и входната буква привежда автомата вново състояние;

- q0 ∈ K е начално състояние на автомата;- F ⊆ K е множество от крайни (заключителни)

състояния на автомата.Множеството

L(A) = {ω ∈ V ∗ | δ(q0, ω) ∈ F}

се нарича език, разпознаван от автомата A.Очевидно е, че L(A) се състои от всички входни думи

ω ∈ V ∗, с които автоматът A, започвайки своята работа отначалното състояние q0, достига до състояние от F .

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

Недетерминиран краен автомат (НКА) се наричанаредената петорка A = 〈K,V, δ, q0, F 〉, където функцията напрехода δ е изображение на K × V в множеството P(K) от

детерминиран краен автомат (Д КА)

Page 88: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 88

всички подмножества на K, а V, K, q0 и F се дефинират кактопри детерминиран краен автомат.

Множеството от думи, които разпознава единнедетерминиран краен автомат A = 〈K,V, δ, q0, F 〉, се определяпо следния начин:

L(A) = {ω ∈ V ∗ | δ({q0}), ω) ∩ F 6= ∅}и се нарича език, разпознаван от A.

A1 и A2 ще наричаме еквивалентни,ако L(A1) = L(A2).

Автоматните езици (езици от тип 3) са езиците,разпознавани от крайните автомати.

В сила са следните твърдения:

Теорема 2.3.1: Ако A L(A) е автоматен език.

Теорема 2.3.2: Ако L = L(Γ) е автоматен език, тосъществува недетерминиран краен автомат A, койторазпознава езика L, т.е. L = L(A).

Теорема 2.3.3: Ако L е автоматен език, то и езикът L =V ∗ \ L е автоматен.

Теорема 2.3.4: Ако L1 и L2 са автоматни езици, то и езикътL1 ∩ L2 е автоматен.

Теорема 2.3.5: (uvw-теорема) Нека L е автоматен език.Тогава съществува константа n, такава че ако α ∈ L и|α| ≥ n, то α може да се представи във вида α = uvw,при което |uv| ≤ n, |v| ≥ 1 и за всяко i = 0, 1, 2, . . . думатаuviw ∈ L. 3

3 За n е достатъчно да вземем броя на състоянията на краен автомат,разпознаващ L.

Д ва крайни автомата

е Д КА, то

Page 89: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 89

Теорема 2.3.6: За всеки автоматен език L = L(A)L.

ЗадачиЗадача 2.3.1:A = 〈{q0, q1, q2, q3}, {0, 1}, δ, q0, {q0}〉 със следната функцияна преходите:

δ(q0, 0) = q2, δ(q1, 0) = q3, δ(q2, 0) = q0, δ(q3, 0) = q1

δ(q0, 1) = q1, δ(q1, 1) = q0, δ(q2, 1) = q3, δ(q3, 1) = q2.

Постройте диаграмата на преходите за A и определете езика,разпознаван от автомата.

Задача 2.3.2: Постройте диаграмата на преходите за следнитеавтомати и определете езика разпознаван от тях:

а) A = 〈{q0, q1, q2}, {a, b}, δ, q0, {q0, q1}〉, където:δ(q0, a) = q0, δ(q1, a) = q2, δ(q2, a) = q2,δ(q0, b) = q1, δ(q1, b) = q2, δ(q2, b) = q2.

б) A = 〈{q0, q1, q2, q3}, {a, b}, δ, q0, {q0}〉, където:δ(q0, a) = q1, δ(q1, a) = q3, δ(q2, a) = q0, δ(q3, a) = q2,δ(q0, b) = q2, δ(q1, b) = q0, δ(q2, b) = q3, δ(q3, b) = q1.

Задача 2.3.3: Определете езика, който се разпознава отдетерминирания краен автомат с показаната по-долу диаграмана преходите:

а)

±°²¯

±°²¯

±°²¯µ´¶³

- q0 q1 q2

¨ ¥?

b ¨ ¥?

a, b

-a -a

съществува единствен минимален Д КА, който разпознава

Д аден е детерминиран краен автомат

Page 90: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 90

б)

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯µ´¶³

µ´¶³

- q0

q1

q2 q3

q4

¡¡

¡¡¡µ

0

@@

@@@R

1

@@

@@@R

1

¾ 0,1-

0¡¡

¡¡¡ª

1

¡¡

¡¡¡µ

1

в)

±°²¯

±°²¯

±°²¯

±°²¯µ´¶³

- q0

q1

q2

q3¥¦¾ b

¡¡

¡¡¡ª

b

@@

@@@R

a

@@

@@@I a

¡¡

¡¡¡µ

a?

a

6

b

Задача 2.3.4: Постройте детерминиран краен автомат, койтода разпознава:

а) всички думи от {0, 1}∗, които завършват с двепоследователни нули;

б) всички думи от {0}∗, съставени от четен брой нули;в) всички думи от {0, 1}∗, които съдържат поддума 0110;г) всички думи от {0, 1}∗, които не започват с две

последователни единици;

Page 91: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 91

д) всички думи от {a, b}∗, които започват с някаква степенна думата ab;

е) всички думи от {0, 1}∗, в които има точно трипоследователни единици.

Задача 2.3.5: Определете езика, разпознаван от автомат споказаната по-долу диаграма на преходите:

а)

±°²¯

±°²¯

±°²¯µ´¶³

- q0 q1 q2

¨ ¥?

a, b

-b -a¾

b

б)

±°²¯

±°²¯

±°²¯µ´¶³

- q0 q1

q2

§ ¦6a

§ ¦6a

¡¡

¡¡¡µb

@@

@@@I b

-a¾

a

в)

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

µ´¶³

µ´¶³

µ´¶³

- q0 q1

q2

q3 q4

§ ¦60

§ ¦60

¥¦¾ 0

?

0

@@

@@@R

1

-1

¡¡

¡¡¡ª

1

-1¾

1

Page 92: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 92

г)

±°²¯

±°²¯

±°²¯

±°²¯µ´¶³

- q0 q1

q2 q3

§ ¦6a, b

?

b

?

a

@@

@@

@@

@@

@@@R

a

-a

-a

6

b

Задача 2.3.6:който да разпознава езика:

а) L = {anb | n ≥ 0};б) L = {anb | n ≥ 1};в) L = {anbm | n,m ≥ 1};г) L =

{aibjck | i, j, k ≥ 0

};

д) L = {(abc)n | n ≥ 0}.

Отг.:а)

±°²¯

±°²¯µ´¶³

- q0 q1

¨ ¥?

a

-b

Постройте краен автомат (Д КА или НКА),

Page 93: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 93

б)

±°²¯

±°²¯

±°²¯µ´¶³

- q0 q1 q2

¨ ¥?

a

-a -b

или

±°²¯

±°²¯

±°²¯µ´¶³

- q0 q1 q2

¨ ¥?

a

-a -b

в)

±°²¯

±°²¯

±°²¯µ´¶³

- q0 q1 q2

¨ ¥?

a ¨ ¥?

b

-a -b

г)

±°²¯

±°²¯

±°²¯

µ´¶³

µ´¶³

µ´¶³

- q0 q1

q2

¨ ¥?

a ¨ ¥?

b

§ ¦6c

-b

@@

@@@R

c

¡¡

¡¡¡ª

c

Page 94: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 94

д)

±°²¯

±°²¯

±°²¯

µ´¶³

- q0 q1

q2

-a

@@

@@@I

c

¡¡

¡¡¡ª

b

Задача 2.3.7: Постройте автомат, който да разпознава езика:а) L = {ω | ω ∈ {0, 1}∗ и |ω| се дели на 3};б) L = {ω | ω ∈ {0, 1}∗ и броят на нулите в ω се дели на 3};в) L = {ω | ω ∈ {0, 1}∗ и в ω се съдържат четен брой нули

и четен брой единици}.Отг.:а)

±°²¯

±°²¯

±°²¯

µ´¶³

- q0 q1

q2

-0, 1

@@

@@@I

0, 1

¡¡

¡¡¡ª

0, 1

б)

±°²¯

±°²¯

±°²¯

µ´¶³

- q0 q1

q2

¨ ¥?

1 ¨ ¥?

1

§ ¦61

-0

@@

@@@I

0

¡¡

¡¡¡ª

0

Page 95: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 95

в)

±°²¯

±°²¯

±°²¯

±°²¯

µ´¶³

- q0 q1

q3 q2

-0¾

0

?

1

6

1

-0¾

0

6

1

?

1

Задача 2.3.8: Постройте краен автомат, който да разпознаваезика:

а) L = {ω | ω ∈ {0, 1} и ω започва и завършва с една исъща буква};

б) L = {ω | ω ∈ {0, 1} и ω съдържа поне една двойка нули,които са разделени от дума с дължина 3i, i ≥ 1};

в) L = {ω | ω е десетичен запис на естествено число, коетосе дели на 5}.

Отг.:а)

±°²¯

±°²¯

±°²¯

±°²¯µ´¶³

- q0

q1

q3

q2

¨ ¥?

0, 1

§ ¦60, 1

©©©©©*0

HHHHHj1

HHHHHj0

©©©©©*

1

Page 96: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 96

б)

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯µ´¶³

- q0 q1 q2 q3 q4 q5

¨ ¥?

0, 1 ¨ ¥?

0, 1¾ »?

0, 1

-0 -0, 1 -0, 1 -0, 1 -0

Задача 2.3.9: Постройте детерминиран краен автомат, койтода разпознава следния език:

а) L = {ω | ω ∈ {a, b}∗ и предпоследната буква на ω е a};б) L = {ω | ω ∈ {a, b}∗, броят на буквите a в ω е четно

число, а броят на буквите b в ω е нечетно число};в) L = {ω | ω ∈ {a, b, c}∗ и в ω няма две последователни

букви b, нито две последователни букви c};г) L = {ω | ω ∈ {0, 1}∗ и всеки път, когато в ω се появи 0,

то тя е последвана от поне две последователни единици};д) L = {ω | ω ∈ {0, 1}∗ и в ω всяка двойка от съседни нули

се среща само преди някоя двойка от съседни единици};е) L = {ω | ω ∈ {0, 1}∗ и във всеки блок от четири

последователни букви се съдържат поне две нули};ж) L = {ω | ω ∈ {a, b, c}∗ и последната буква на думата ω

се среща поне още веднъж в нея}.

Задача 2.3.10: Постройте краен автомат, който да разпознаваезиците:

а) L1 ∪ L2;б) L1 \ L2;в) L1,

къдетоL1 = {ω | ω ∈ {0, 1} и съдържа четен брой единици},L2 = {ω | ω ∈ {0, 1} и ω завършва с две последователни

единици}.

Page 97: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 97

Задача 2.3.11:от крайни автомати:

а) L = {anbn | n ≥ 0}б) L = {ω | ω ∈ {0, 1}+} и броят на нулите е равен на броя

на единиците};в) L = {anban | n ≥ 0};г) L = {anbman+m | n,m ≥ 1};д) L = {ω | ω ∈ {0, 1} и думата, четена от ляво на дясно и

от дясно на ляво е една и съща};е) L =

{02n | n ≥ 1

};

ж) L = {αα | α ∈ {0, 1}∗}.L е автоматен език. Тогава

съществува краен автомат A, разпознаващ езика. Нека A имаn състояния.

anbn ∈ L Съгласно uvw-теорематасъществуват думи u, v и w, за които anbn = uvw, където |v| ≥ 1,|uv| ≤ n и uviw ∈ L за всяко i = 0, 1, 2, . . .. Тъй като |uv| ≤ n, тодумата uv съдържа само букви a и понеже |v| ≥ 1, то uw = akbn,където 0 ≤ k < n. Съгласно uvw-теоремата uw = akbn ∈ L,което е невъзможно, тъй като k 6= n. Следователно допускането,че L е автоматен език не е вярно.

Задача 2.3.12: Нека L1 и L2 са езици, които се разпознаватсъответно от детерминираните крайни автомати

A1 = 〈K1, V1, δ1, F1〉и

A2 = 〈K2, V2, δ2, F2〉.A, който да разпознава:

а) L1 \ L2;б) L1 ∩ L2;в) L1 ∪ L2;г) L1L2.

Д окажете, че следните езици не се разпознават

Отг. а) Д а допуснем, че

Д а разгледаме думата

Д а се построи детерминиран автомат

Page 98: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 98

Отг. а), б) Нека A = 〈K, V, δ, q0, F 〉, където V = V1 ∪ V2,K = {(p, q) | p ∈ K1, q ∈ K2}, q0 = (q1, q2). Функциятана преходите се дефинира по следния начин: δ ((p, q) , a) =(δ1 (p, a) , δ2 (q, a)) за всяко a ∈ V и всеки p ∈ K1 и q ∈ K2,за които δ1(p, a) и δ2(q, a) са дефинирани. Множеството отзаключителни състояния избираме по следния начин:

в случай а): F = {(p, q) | p ∈ F1, q /∈ F2}.в случай б): F = {(p, q) | p ∈ F1, q ∈ F2}.

Задача 2.3.13: Нека L1 и L2 са автоматни езици. Постройтеалгоритъм, проверяващ дали L1 6= L2.

Отг. Нека A1 = 〈K1, V, δ1, q1, F1〉 и A2 = 〈K2, V, δ2, q2, F2〉са детерминирани крайни автомати, навсякъде определени, безнедостижими състояния, такива, че L1 = T (A1), L2 = T (A2) иK1 ∩ K2 = ∅. Построяваме детерминиран краен автомат A =〈K, V, δ, F 〉 без начално състояние за който K = K1 ∪ K2, F =F1 ∪ F2, а функцията ня преходите δ е дефинирана по следнияначин: δ(p, a) = δ1(p, a) за всяко p ∈ K1 и a ∈ V ; δ(p, a) = δ2(p, a)за всяко p ∈ K2 и a ∈ V .

Автоматът A се нарича сума на автоматите A1 и A2.Разбиваме множеството от вътрешните състояния K на

класове от еквивалентни състояния (p ≡ q) тогава и самотогава, когато за всяка дума ω ∈ V ∗ δ(p, ω) и δ(q, ω) саедновременно от K или от K \ F . Ако q1 ≡ q2, то L1 = L2.Ако q1 6≡ q2 то L1 6= L2

Задача 2.3.14: Постройте автоматна граматика, която дапоражда езика, разпознаван от недетерминирания краенавтомат:

а) A1 = 〈{q0, q1, q2, q3, q4}, {a, b}, δ, q0, {q2, q4}〉δ(q0, a) = {q0, q3}, δ(q0, b) = {q0, q1}, δ(q1, a) = ∅, δ(q1, b) =

Page 99: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 99

{q2}, δ(q2, a) = {q2}, δ(q2, b) = {q2}, δ(q3, a) = {q4}, δ(q3, b) =∅, δ(q4, a) = {q4}, δ(q4, b) = {q4};

б) A2 = 〈{q0, q1}, {0, 1}, δ, q0, {q1}〉δ(q0, 0) = {q0, q1}, δ(q0, 1) = {q1}, δ(q1, 0) = ∅, δ(q1, 1) ={q0, q1},

2.4 Регулярни изрази. Теорема на Клини

Нека V е произволна азбука. Ще дадем следнатадефиниция за регулярен израз над V (т.е. представящиподмножества на V ∗):

1. Регулярният израз ∅ представя празното множество ∅.2. Регулярният израз ε представя множеството {ε}.3. Всяка буква a ∈ V е регулярен израз представляващ

множеството {a}.4. Ако z1 и z2 са регулярни изрази, представящи

множествата L1, L2 ⊆ V ∗, то:

• изразът z1 + z2 представя множеството L1 ∪ L2;

• изразът z1z2 представя множеството L1L2;

• изразът zk1 представя множеството Lk

1 (k ∈ N);

• изразът z∗1 представя множеството L∗1.

5. Регулярни са само изразите, описани в точки 1,2,3 и 4.

Регулярни изрази, които представят едно и същомножество се наричат еквивалентни.

Ако Q,R, S са регулярни изрази над азбуката V , то в силаса следните свойства:

Page 100: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 100

1. Q + Q = Q + ∅ = Q

2. Q + R = R + Q

3. (Q + R) + S = Q + (R + S)

4. (QR)S = Q(RS)

5. Qε = εQ = Q + ε = ε + Q = Q

6. Q∅ = ∅Q = ∅7. (Q + R)S = QS + RS

8. (Q∗)∗ = Q∗

9. QQ∗ + ε = Q∗Q + ε = Q∗

10. ε∗ = ε

11. ∅∗ = ε

12. Q∗ = ε + Q + Q2 + Q3 + · · ·+ Qkq∗, k ≥ 1

13. (Q∗ + R∗)∗ = (Q∗R∗)∗ = (Q∗R)∗Q∗ = (Q + R)∗

14. Ако Q = R∗S, то Q = RQ + S

Теорема 2.4.1: (Клини) Езикът L ⊆ V ∗ е автоматен тогава исамо тогава, когато може да се представи чрез регулярен изразнад V .

Page 101: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 101

ЗадачиЗадача 2.4.1: Постройте детерминиран краен автомат, койторазпознава езика представен от регулярния израз:

а) a + b;б) ab;в) ab + ba;г) (ab)∗;д) (a + b)∗;е) a(b + a)∗;ж) a(ba + b)∗ + b;з) (ab + b∗)∗ba + b;и) ((b∗a)∗ ab∗)∗ .

Отг.:а) Автоматът A1 разпознаващ езика, представен чрез

израза a + b може да бъде с две състояния q0 и q1, където q0

е начално, а q1-заключително.

±°²¯

±°²¯µ´¶³

- q0 q1-a, b

При начално състояние q0 има възможност да се достигнедо заключително състояние по два начина: δ(q0, a) = q1 ∈ Fи δ(q0, b) = q1 ∈ F , т.е. автоматът разпознава думите от езикапредставен с регулярния израз a + b (това са само думите a иb).

б)

±°²¯

±°²¯

±°²¯µ´¶³

- q0 q1 q2-a -b

Page 102: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 102

Автоматът A2 се представя по този начин, тъй като езика,представен от регулярния израз съдържа само една дума ab.

на функцията на преходите по следния начин: δ(q0, a) = q1,δ(q1, b) = q2 ∈ F .

в)

±°²¯

±°²¯

±°²¯

±°²¯µ´¶³

±°²¯µ´¶³

- q0

q1

q3

q2

q4

©©©©©*a

HHHHHjb

-b

-a

г)

±°²¯

±°²¯

µ´¶³

- q0 q1-a

¾b

q0 е начално и заключително състояние, т.е. допуска иполучаването на празната дума ε, която е от езика, представенот регулярния израз (ab)∗

описани и по следния начин:

{ε, ab, abab, ababab, . . . , (ab)n, . . .}.

д)

±°²¯µ´¶³q0

¨ ¥?

a, b

Регулярният израз (a+ b)∗ представлява езика L = {a, b}∗,т.е. езика състоящ се от всички възможни думи, които могат дабъдат получени с помощта на символите a и b.

Д ействието на автомата може да се опише с помощта

. Д умите от този език могат да бъдат

Page 103: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 103

е)

±°²¯

±°²¯

±°²¯µ´¶³

µ´¶³

- q0

q1

q2

¨ ¥?

a, b

©©©©©*a

HHHHHjb

ж)

±°²¯

±°²¯

±°²¯µ´¶³

µ´¶³

- q0

q1

q3

©©©©©*a

HHHHHjb

±°²¯q2

-a¾

b

Задача 2.4.2: Опишете от кои думи се състоят езиците,представени от следните регулярни изрази:

а) a(a + b)∗a;б) 0(101)∗0;в) (1∗01∗01∗0)∗1∗;г) a(ba + b)∗ + b;д) (ab + b∗)∗ ba + b;е) ((b∗a)∗ab∗)∗;ж) 10 ((0 + 1)(0 + 1))∗;з) (11 + 0)∗(00 + 1)∗.

Отг.:а) Множеството от всички възможни думи, съставени от

символите a и b, започващи и завършващи с a.

Page 104: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 104

б) L = {0(101)n0 | n ≥ 0};в) L = {α | α ∈ {0, 1}∗ и броят на нулите в α е кратен на

3};ж) L = {10α | |α| = 2k, α ∈ {0, 1}∗};з) L = {α | α ∈ {0, 1}∗ и α съдържа две последователни

нули или две последователни единици}.Задача 2.4.3:представяват следните езици:

а) множеството на всички думи над азбуката {a, b}, вкоито има поддума aa;

б) множеството от всички думи над азбуката {1, 0}, коитозапочват и завършват с един и същи символ;

в) множеството от всички думи над азбуката {1, 0} сдължина кратна на 3;

г) множеството от всички думи над азбуката {1, 0}, в коитоима четен брой нули и четен брой единици;

д) множеството от всички думи над азбуката {a, b}, вкоито всеки път когато се появи буква a, тя е последвана отпоне две последователни b.

Задача 2.4.4: Нека r е регулярен израз над азбуката Vпредставляващ езика Lr

израз, представляващ езика O(Lr), т.е. езика, в който всичкидуми се получават от Lr чрез записване в обратен ред.

Отг.:Ще използуваме индукция относно броя на прилаганията

на дефиницията за регулярен израз.Нека r е ∅, ε, или r = a ∈ V . Тъй като O(∅) = ∅, O({ε}) =

{ε} и O({a}) = {a}, то твърдението в този случай е вярно.r1 и r2 са регулярни изрази, за които

твърдението е вярно. Нека r1 и r2 представляват съответноезиците Lr1 и Lr2 , а rR

1 и rR2 езиците O(Lr1) и O(Lr2).

Д а се напишат регулярни изрази, които да

. Д окажете, че съществува регулярен

Д а допуснем, че

Page 105: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 105

Ако r = r1 + r2, то Lr = Lr1 ∪Lr2 , Тогава O(Lr) = O(Lr1)∪O(Lr2) и регулярният израз rR = rR

1 +rR2 ще представлява езика

O(Lr).Ако r = r1r2 представляват езика Lr = Lr1Lr2 , то O(Lr) =

O(Lr1Lr2) = O(Lr2)O(Lr1) и следователно регулярният изразrR = rR

2 rR1 ще представлява O(Lr).

Нека r = r∗1. Тогава r∗1 представлява езика Lr∗1 = L∗r1и

O(Lr∗1 ) = O(L∗r1) = (O(Lr1))

∗.

Задача 2.4.5:разпознаващ езика, представен от регулярния израз:

а) 0(1 + 0)∗0;б) (a + b)(a + b)∗(a + b);в) (a∗ba∗ba∗b)∗a∗;г) (0 + 1)(0 + 1)∗101;д) (0 + 1)(0 + 1)∗010(0 + 1)∗(0 + 1);е) (aa + b)∗(bb + a)∗;ж) (a + b)∗a(a + b)(a + b)(a + b)b(a + b)∗;з) (ab + a∗)∗ba;и) (ab)∗ + a(b + ab∗)b∗.

Задача 2.4.6: Напишете регулярните изрази, представящиезиците, разпознавани от следните крайни автомати:

а)

±°²¯

±°²¯

±°²¯µ´¶³

- q0 q1 q2

¨ ¥?

a, b

-b -a¾

b

б)

±°²¯

±°²¯µ´¶³

- q0 q1

¨ ¥?

a ¨ ¥?

a

-b

¾b

Д а се построи детерминиран краен автомат,

Page 106: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 106

в)

±°²¯

±°²¯

±°²¯

±°²¯

µ´¶³ µ´

¶³

µ´¶³

- q0

q1

q3

q2

§ ¦6a

¥¦¾ a

©©©©*b

HHHHja

HHHHjb

©©©©©*

b

©©©©©¼b

?

a

г)

±°²¯

±°²¯

±°²¯

±°²¯

µ´¶³

- q0

q1

q3

q2

§ ¦6a, b

-a©©©©*a

HHHHHja, b

HHHHY b

©©©©©*

a

д)

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

µ´¶³

µ´¶³?

q5 q4 q0 q1 q2 q3

¾ »?

0, 1

-0, 1¾

0, 1

¾0, 1 -0, 1 -0, 1 -0, 1

е)

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

µ´¶³

µ´¶³

µ´¶³?

q2 q1 q0 q3 q4-0

¾0

-0¾

0

-1¾

1

-1¾

1

¾ »?

0¾ »?

1

½ ¼61

½ ¼6

0

Page 107: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 107

ж) ±°²¯

±°²¯

±°²¯

±°²¯

µ´¶³

- q0 q1

q3 q2

-0¾

0

?

1

6

1

-0¾

0

6

1

?

1

з)

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

µ´¶³

- q0

q1

q2 q3 q4

q5

§ ¦60, 1

©©©©©©©©©©*

0

HHHHHHHHHHj1

HHHHHHHHHHj

0, 1

©©©©©©©©©©*

0

-0, 1 -1 -0

и)

±°²¯

±°²¯

±°²¯

±°²¯µ´¶³

- q0

q1

q3

q2

¨ ¥?

0, 1

¨ ¥?

0, 1

§ ¦60, 1

©©©©©*0

HHHHHj1

HHHHHj0

©©©©©*

1

Page 108: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 108

й)

±°²¯

±°²¯

±°²¯

±°²¯

µ´¶³

µ´¶³

- q0 q1

q2 q3

¨ ¥?

1 ¨ ¥?

1

-0¾

0

?

0

¾0, 1

6

1

?

1

Отг.:а) (a + b)∗b(ab)∗a.б) (a∗bb)∗ ba∗.

2.5 Автомат на Мили и автомат на Мур

Под Автомат на Мили ще разбираме нареденаташесторка

M = 〈K,V,W, δ, λ, q0〉,където

- K е крайно непразно множество - множество отсъстояния на автомата;

- V е крайна входна азбука;- W е крайна изходна азбука;- δ : K × V → K е функция на преходите;- λ : K × V → W е изходна функция;- q0 ∈ K е начално състояние.Работата на автомата на Мили върху входната дума ω =

a1a2 . . . as се състои в следното:

Page 109: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 109

По началното състояние q0 и първата буква a1 се определяновото състояние q1 = δ(q0, a1) и изходната буква b1 = λ(q0, a1).

По състоянието qi−1 и i-я символ на входната дума, на i-ятакт се определя новото състояние qi = δ(qi−1, ai) и i-я символна изходната дума bi = λ(qi−1, ai) за i = 2, 3, . . . , s.

Под Автомат на Мур ще разбираме нареденаташесторка

N = 〈K, V, W, δ, λ, q0〉,където K,V, W, δ и q0 се дефинират както при автомата наМили, а дефиниционната област на изходната функция емножеството от състояния на автомата, т.е. λ : K → W .

Работата на автомата на Мур N над думата ω =a1a2 . . . as ∈ V ∗ се състои в следното: От началното състояниеq0 се получава първата буква b1 = λ(q0) на изходната дума, т.е.всички изходни думи на даден автомат на Мур винаги започватс една и съща буква. От q0 и първата буква на a1 на входнатадума се получава новото състояние q1 = δ(q0, a1). На i-ия тактпо състоянието qi−1 се получава i-та буква на изходната думаbi = λ(qi−1) и новото състояние qi = δ(qi−1, ai), за i = 2, 3, . . . , s.

Както и при крайните автомати разпознавателиавтоматите на Мили и автоматите на Мур могат да се задаватаналитично, с помощта на таблица и с помощта на ориентиранграф с маркирани ребра (диаграма на преходите).

Page 110: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 110

ЗадачиЗадача 2.5.1:автомат на Мур завършва своята работа за краен брой тактове.

Упътване. Твърдението следва от факта, че входнатадума има краен брой букви и при всеки такт автоматът четеследващата по ред буква.

Задача 2.5.2: Намерете броя на всички автомати на Мили сk на брой състояния, m на брой входни и n на брой изходнибукви.

Отг. Съществуват (kn)km напълно определени автомата на

кото вземем в предвид факта, че всеки автомат на Мили сисканите свойства може еднозначно да се представи с помощтана таблица с k реда и m стълба, елементитe на която са измеждунаредените двойки q/b, където q е състояние, а b - изходенсимвол. Ако премахнем изискването за напълно определеност,на някои места в таблицата ще имаме ”празноти”, т.е. в общияслучай съществуват (kn + 1)km автомати на Мили (виж зад.1.6.2).

Задача 2.5.3: Намерете броя на всички автомати на Мур с kна брой състояния, m на брой входни и n на брой изходни букви.

Отг. kkm · nk напълно определени автомати на Мур и(k + 1)km · (n + 1)k в общия случай.

Задача 2.5.4:азбука и nвходна дума, изходната дума е периодична, евентуално спредпериод, т.е. изходната дума има вида σωω . . . ωω1, къдетоω1 е начало на ω и 0 ≤ |σ| ≤ n, 1 ≤ |ω| ≤ n.

Д окажете, че всеки автомат на Мили и всеки

Мили с исканите свойства. Д о този извод можем да достигнем

Д аден е автомат на Мили с еднобуквена входнасъстояния. Д окажете, че при достатъчно дълга

Page 111: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 111

Упътване. Твърдението непосредствено следва оттвърденията, формулирани в зад 1.8.7.

Задача 2.5.5:(Мур), който да може да умножава произволно големи двоичничисла.

kсъстояния и покажете, че този автомат не би могъл да извършипроизведението 2p · 2p, където p > k (в случая 2p записано вдвоична бройна система изглежа така: 1 00 . . . 0︸ ︷︷ ︸

p

).

Задача 2.5.6: Намерете изходната дума ω и вътрешнотосъстояние q, до което ще достигне автоматът на Мили, зададенс таблицата

a b1 3/b 2/a2 3/a 3/c3 1/b 3/c

ако на входа е подадена думата:а) abb; б) abba; в) baba; г) an; д) a2n+1bm; е) bn;ж) (ba)2n.

Отг.:а) ω = bcc, q = 3.б) ω = bccb, q = 1.в) ω = aacb, q = 1.г) ω = bn, q = 1, ако n е четно и q = 3, ако n е нечетно.д) ω = b2n+1cm, q = 3.е) ω = acn−1, q = 3.ж) (aacb)n, q = 1.

Д окажете, че не съществува автомат на Мили

Упътване. Д опуснете, че съществува автомат с

Page 112: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 112

Задача 2.5.7:диаграмата:

±°²¯

±°²¯

±°²¯

q0

q2

q3

® ©?

0/0

-

¥¦¾ 1/1

©©©©©©©©©©*1/1

HHHHHHHHHHY

0/0

6

1/1

?

0/1

Нека m и n са цели положителни числа. Намерете изходнатадума, ако на входа е подадена думата:а) 1012003; б) 0m1n; в) 1m0n; г) 1n0m1n;д) 0n1m0n; е) (10)n; ж) (01)n.

Отг.:а) 12005.б) 0m1n.в) 1m+10n−1.г) 1n+10m−11n.д) 0n1m+10n−1.е) 12n.ж) 012n−1.

Задача 2.5.8:има s състояния и състоянието qi е достижимо от състояниетоqj, то qi е достижимо от qj с помощта на входна дума с дължинане по-голяма от s− 1.

Д аден е автомат на Мили с помощта на

Д окажете, че ако даден автомат на Мили (Мур)

Page 113: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 113

Отг. Ако състоянието qi е достижимо от състояниетоqj, то съществува път в диаграмата на преходите, от върхасъответствуващ на състоянието qj до върха, съответствуващ насъстоянието qi. Премахвайки циклите, получаваме път от qj доqi, минаващ през произволен връх не повече от веднъж. Тъйкато брот на състоянията е s, то ребрата в този път са не повечеот s− 1.

Задача 2.5.9:(или автомат на Мур) се подава един и същ входен символ a,то най-много след |K| − 1 такта изходната последователностще стане периодична с период не по-голям от |K|, където K емножеството от състояния на автомата.

Отг. Тъй като |K| < ∞, то съществуват естествени числаi и j, такива че δ(q0, a

i) = δ(q0, aj), 0 ≤ i < j, и нека i и

j са минималните с това свойство. Тогава 0 ≤ i < j ≤ |K|.Полагаме j − i = p и δ(q0, a

i) = q1. Ако n е естествено число, топо индукция по n се доказва, че δ(q0, a

i+np) = q1. Оттук следваи доказателството на твърдението на задачата, като вземем впредвид специфичните свойства на изходната функция отделнопри автомата на Мили и автомата на Мур.

Задача 2.5.10: За автомата на Мили, зададен с таблицата:

0 1q1 q1/0 q2/0q2 q3/0 q1/1q3 q1/1 q2/0

α ∈ {0, 1}∗ с минимална дължина, така чеако α е входна дума, то по изходната дума еднозначно да можеда се определи началното състояние.

Д окажете, че ако на входа на автомат на Мили

Д а се намери дума

Page 114: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 114

Отг. Тъй като броят на състоянията е 3, то |α| ≥ 2. Снепосредствена проверка се вижда, че при входна дума с началоα = 00 началното състояние е q1, q2 или q3, ако изходната думазапочва съответно с 00, 01 или 10. Проверете, че за останалитедвубуквени думи от {0, 1}∗ е невъзможно подобно твърдение,т.е. α = 00 е единствена с търсеното свойство и минималнадължина.

Задача 2.5.11:във входната дума всяка от поддумите 001, 11 или 1101 иподаващ на изхода 1 тогава и само тогава, когато достигне докрая на една от тези поддуми.

Отг. Състояния на автомата ще бъдат всички начала надумите 001, 11 и 1101, включително и празната дума ε и самитедуми, като изходната функция λ(q) = 1 тогава и само тогава,когато q = 001, q = 11, или q = 1101. Тогава решениeто назадачата можем да зададем с помощта на таблицата:

0 1ε/0 0 10/0 00 100/0 00 001001/1 0 111/0 0 1111/1 110 11110/0 00 11011101/1 0 11

Задача 2.5.12:във входната дума всяка от поддумите 001, 11 или 1101 иподаващ на изхода 1 тогава и само тогава, когато достигне докрая на една от тези поддуми.

Д а се построи автомат на Мур, разпознаващ

Д а се построи автомат на Мили, разпознаващ

Page 115: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 115

Отг. Състояния на автомата ще бъдат всички собствени4

начала на думите 001, 11 и 1101, плюс празната дума ε.Тогава решениeто на задачата можем да зададем с помощтана таблицата:

0 1q0 = ε 0/0 1/0q1 = 0 00/0 1/0q2 = 00 00/0 1/1q3 = 1 0/0 11/1q4 = 11 110/0 11/1q5 = 110 00/0 1/1

От таблицата се вижда, че състоянията q2 и q5 могат да бъдатотъждествени, т.е. последният ред може да бъде пропуснат и даполучим минималния по отношение на брой състояния автомат:

0 1q0 q1/0 q3/0q1 q2/0 q3/0q2 q2/0 q3/1q3 q1/0 q4/1q4 q2/0 q4/1

Задача 2.5.13: Постройте автомат на Мили, подаващ наизхода сигнал 1 тогава и само тогава, когато на входа срещнеблок от една, две или три единици, следван от нула.

Отг. За думите 1, 11 и 111 разглеждаме всевъзможнитеначала q0 = ε, q1 = 1, q2 = 11 и q3 = 111, които ще бъдатсъстояния на автомата, с начално състояние q0

4 Собствено начало на дадена дума е такова начало, което не съвпадасъс самата дума или с празната дума.

. Д обавяме и

Page 116: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 116

състояние q4, в което автомата ще попада, ако на входа срещнеблок, състовен от повече от три единици една след друга.Тогава решението на задачата можем да зададем с помощтана таблицата:

0 1q0 q0/0 q1/0q1 q0/1 q2/0q2 q0/1 q3/0q3 q0/1 q4/0q4 q0/0 q4/0

Задача 2.5.14: Постройте автомат на Мили, намиращмаксимума на две естествени числа, записани с равен бройцифри в p-ична бройна система. 5

Отг. Подаваме на входа на автомата последователно по двецифри, по една представителка на всяко от числата, започвайкиот най-старшите разряди. На изхода трябва да се получи p-ичното представяне на по-голямото число. Автоматът оставав начално състояние q0 до първа поява на входа на различницифри, при това при поява на двойката цифри ab преминава докрая в състояние q1, ако a > b (т.е. първото число е по-голямо),а ако a < b преминава до края в състояние q2 (второто число епо-голямо).

M = 〈K,V,W, δ, λ, q0〉, където:K = {q0, q1, q2}, W = {0, 1, . . . , p− 1}, V = {ab | a, b ∈ W}

Нека a, b ∈ W . Тогава:δ(q0, ab) = q0, ако a = bδ(q0, ab) = q1, ако a > bδ(q0, ab) = q2, ако a < b

5 Възможно е в началото на едното число да има незначещи нули, т.е.броят на цифрите представящи и двете числа задължително е равен.

Page 117: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 117

δ(q1, ab) = q1, δ(q2, ab) = q2,λ(q0, ab) = a, λ(q1, ab) = a, λ(q2, ab) = b

При p = 3 автомата на Мили може да се зададе с помощттана таблицата:

00 01 02 10 11 12 20 21 22q0 q0/0 q2/0 q2/0 q1/1 q0/1 q2/1 q1/2 q1/2 q0/2q1 q1/0 q1/0 q1/0 q1/1 q1/1 q1/1 q1/2 q1/2 q1/2q2 q2/0 q2/1 q2/2 q2/0 q2/1 q2/2 q2/0 q2/1 q2/2

Задача 2.5.15:устройство с два входа, на всеки от които се подават поедно число, записано в двоична бройна система, а на изхода

работата на суматора.

Отг. Във всеки такт към двата входа на суматорапостъпва по един сигнал, съответствуващ на символите 0или 1 (сигналите се подават започвайки от най-младшитеразряди на събираемите към по-старшите и при необходимостнякое от събираемите се допълва с незначещи нули вначалото). Следователно входната азбука е множеството V ={00, 01, 10, 11}. На изхода се появява сигнал, съответствуващ на0 или 1, т.е. W = {0, 1}. Изходният сигнал зависи от входнитесигнали и при това трябва ”да се запомни” необходим ли епренос на 1 към по-старшия разряд на сумата или не, коетоще повлияе на резултата при следващия такт. Ето защо са нинеобходими (оказват се и достатъчни) две вътрешни състоянияq0-няма пренос и q1-има пренос. Търсения автомат на Мили сезадава с таблицата:

00 01 10 11q0 q0/0 q0/1 q0/1 q1/0q1 q0/1 q1/0 q1/0 q1/1

Д аден е двоичен суматор, представляващ

излиза тяхната сума. Д а се опише автомат на Мили, моделиращ

Page 118: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 118

Задача 2.5.16:устройство с два входа, на всеки от които се подават поедно число, записано в двоична бройна система, а на изхода

работата на суматора.

Отг. Аналогично на зад. 2.5.15 входната азбука ще бъдеV = {00, 01, 10, 11}, изходната W = {0, 1}. Но тук ще имамечетири състояния: q0-резултата е 0 без пренос на единица в по-старши разряд, q1-резултата е 1 без пренос, q2-резултата е 0 спренос и q3-резултата е 1 с пренос. Разбира се първия изходенсимвол не се взема под внимание. Следователно търсенияавтомат на Мур можем да опишем със следната таблица:

00 01 10 11q0/0 q0 q1 q1 q2

q1/1 q0 q1 q1 q2

q2/0 q1 q2 q2 q3

q3/1 q1 q2 q2 q3

Задача 2.5.17: Начертайте диаграмата на преходите наавтомат на Мили, зададен с таблицата:

00 01 10 11q0 q0/0 q0/1 q0/1 q1/0q1 q0/1 q1/0 q1/0 q1/1

Отг.

±°²¯

±°²¯

q0 q1¨§ -

00/001/110/1

-11/0

¾00/1

¥¦¾

01/010/011/1

Д аден е двоичен суматор, представляващ

излиза тяхната сума. Д а се опише автомат на Мур, моделиращ

Page 119: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 119

Задача 2.5.18: Начертайте диаграмата на преходите наавтомат на Мур, зададен с таблицата:

00 01 10 11q0/0 q0 q1 q1 q2

q1/1 q0 q1 q1 q2

q2/0 q1 q2 q2 q3

q3/1 q1 q2 q2 q3

Отг.

½¼

¾»

½¼

¾»q2/0 q3/1

­ ª601, 10

­ ª611

-11¾

01, 10

½¼

¾»

½¼

¾»q0/0 q1/1

® ©?

00 ® ©?

01, 10

-01, 10

¾00

?

11

6

00

¡¡

¡¡

¡¡

¡¡

¡¡ª

11

¡¡

¡¡

¡¡

¡¡

¡¡µ

00

Задача 2.5.19: Начертайте диаграмата на преходите наавтомата на Мили, зададен с таблицата:

Page 120: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 120

a b c d1 1/q 2/q 1/r 5/r2 8/p 2/q 3/q 2/r3 3/r 7/p 3/q 4/q4 1/q 4/r 6/p 4/q5 1/q 5/s 6/p 5/p6 6/p 7/p 6/p 4/q7 8/p 7/p 3/q 7/s8 8/p 2/q 8/s 5/p

Задача 2.5.20: Автоматът на МилиM = 〈K, {0, 1}, {0, 1}, δ, λ, q0〉 е зададен с таблицата:

0 1q0 q1/0 q0/1q1 q1/0 q2/0q2 q0/0 q2/0

а) Опишете множеството от всички думи, които ако сеподадат на входа на M , то на изхода се получава думазавършваща с 1.

б) Намерете множеството от всевъзможните изходни думина M при произволно начално състояние.

Отг.:

преходите:а) Д аденият автомат на Мили има следната диаграма на

Page 121: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 121

±°²¯

±°²¯

±°²¯

q0

q1

q2

¨ ¥?

1/1

-

¨ ¥?

0/0

§ ¦61/0

©©©©©©©©©©*0/0

HHHHHHHHHHY

0/0 ?

1/0

Лесно се проверява, че λ(q, a) = 1 тогава и само тогава,когато q = q0 и a = 1. Оттук и от конкретното описание наавтомата следва, че търсеното множество може да се опише срегулярния израз (1∗00∗11∗0)∗1∗1.

б) Множеството от всички думи от {0, 1}∗, не съдържащиподдуми от вида 101 или 1001, или с други думи множествотоA∗ \ {A∗101A∗ ∪ A∗1001A∗}, където A = {0, 1}. Това следва отфакта, че ако между две единици, получавани на изхода, иманули, то тяхният брой не може да бъде по-малък от 3.

Задача 2.5.21:M = 〈K,V,W, δ, λ, q0〉 със следната диаграма на преходите

Д окажете, че за автомата на Мили

Page 122: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 122

±°²¯

±°²¯

±°²¯

±°²¯

q3 q4

q1 q2¨§-a2/b2

¥¦¾ a1/b1

?

a2/b1

6

a1/b2

-a1/b1

-a2/b1¾

a2/b2

¡¡

¡¡

¡¡

¡¡

¡¡¡ª

a1/b2

за всяка входна дума α ∈ V ∗ с дължина |α| = 2 и за всекидве състояния qi, qj ∈ K от λ(qi, α) = λ(qj, α) следва δ(qi, α) =δ(qj, α)

Отг. Имаме:λ(q1, a1a1) = b1b2, λ(q2, a1a1) = b2b2, λ(q3, a1a1) = b2b1,λ(q4, a1a1) = b1b1,λ(q1, a1a2) = b1b1, λ(q2, a1a2) = b2b1, λ(q3, a1a2) = b2b2,λ(q4, a1a2) = b1b2,λ(q1, a2a1) = b2b1, λ(q2, a2a1) = b1b1, λ(q3, a2a1) = b1b1,λ(q4, a2a1) = b2b2,λ(q1, a2a2) = b2b2, λ(q2, a2a2) = b1b2, λ(q3, a2a2) = b1b2,λ(q4, a2a2) = b2b1

Виждаме, че при |α| = 2 λ(qi, α) 6= λ(qj, α) при i 6=j с изключение на случаите λ(q2, a2a1) = λ(q3, a2a1) = b1b1

и λ(q2, a2a2) = λ(q3, a2a2) = b1b2. Но тогава δ(q2, a2a1) =δ(q3, a2a1) = q4 и δ(q2, a2a2) = δ(q3, a2a2) = q3.

Задача 2.5.22: Автоматът на МилиM = 〈K, {0, 1}, {0, 1}, δ, λ, q0〉 удовлеторява условията:

Page 123: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 123

λ(q0, 00) = 11, λ(q0, 010) = 100, λ(q0, 0110) = 1001,λ(q0, 1011) = 0100.

M има поне три състояния.б) Постройте автомат на Мили с три състояния,

удовлетворяващ посочените условия.

Отг.:а) От 1 = λ(q0, 0) 6= λ(δ(q0, 01), 0) = 0 следва, че q0 6=

δ(q0, 01).От 01 = λ(q0, 10) 6= λ(δ(q0, 0), 10) = 00 следва, че q0 6=

δ(q0, 0).От 00 = λ(δ(q0, 0), 10) 6= λ(δ(q0, 01), 10) = 01 следва, че

δ(q0, 0) 6= δ(q0, 01).Следователно q0, δ(q0, 0) и δ(q0, 01) са три различни

състояния.б) Едно от възможните решения на задачата може да

опишем с помощта на таблицата:

0 1q0 q1/1 q0/0q1 q1/1 q2/0q2 q2/0 q1/0

Задача 2.5.23: x p-

числото x в двоична бройна система, къдетоа) p = 4;б) p = 8;в) p = 16.

Отг. а) M = 〈K,V,W, δ, λ, q〉, където K = {q}, V ={0, 1, 2, 3}, W = {00, 01, 10, 11},λ(q, 0) = 00, λ(q, 1) = 01, λ(q, 2) = 10, λ(q, 3) = 11.

а) Д окажете, че

Д адено е естественото число записано вична бройна система. Д а се построи автомат на Мили, записващ

Page 124: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 124

Задача 2.5.24: В задача 2.5.23 думите ”автомат на Мили” дасе заменят с ”автомат на Мур”.

Отг. а) N = 〈K, V, W, δ, λ, q0〉, къдетоK = {q0, q1, q2, q3}, V = {0, 1, 2, 3}, W = {00, 01, 10, 11},δ(qi, j) = qj, за всеки i, j = 0, 1, 2, 3,λ(q0) = 00, λ(q1) = 01, λ(q2) = 10, λ(q3) = 11.

Забележка. В началото на всяко новополучено число щеима по две незначещи нули.

Задача 2.5.25:n цифрено двоично число (при необходимост в ляво са добавенинезначещи нули, така че цифрите да бъдат точно n) в същоточисло, записано в:

а) бройна система с основа 4 и n = 2k;б) бройна система с основа 8 и n = 3k;в) бройна система с основа 16 и n = 4k.

Отг.:а) M = 〈K, V, W, δ, λ, q0〉, където K = {q0, q1, q2}, V =

{0, 1}, W = {0, 1, 2, 3},δ(q0, 0) = q1, δ(q0, 1) = q2,λ(q0, 0) = λ(q0, 1) = ε, където ε е празната дума,δ(q1, 0) = δ(q1, 1) = δ(q2, 0) = δ(q2, 1) = q0,λ(q1, 0) = 0, λ(q1, 1) = 1, λ(q2, 0) = 2, λ(q21) = 3.

б) M = 〈K, V, W, δ, λ, q0〉, където K = {q0, q1, . . . , q6}, V ={0, 1}, W = {0, 1, 2, . . . , 7},δ(q0, 0) = q1, δ(q0, 1) = q2,δ(q1, 0) = q3, δ(q1, 1) = q4, δ(q2, 0) = q5, δ(q2, 1) = q6,δ(qi, j) = q0,, където i = 3, 4, 5, 6, j = 0, 1,λ(qi, j) = ε, където i = 0, 1, 2, j = 0, 1, ε-празната дума,λ(q3, 0) = 0, λ(q3, 1) = 1, λ(q4, 0) = 2, λ(q4, 1) = 3, λ(q5, 0) = 4,λ(q5, 1) = 5, λ(q6, 0) = 6, λ(q6, 1) = 7.

Д а се построи автомат на Мили, преобразуващ

Page 125: Diskretna_Matematika_Rakovodstvo

2. Формални езици и граматики. Крайни автомати без памет 125

Задача 2.5.26: Постройте автомат на Мили с входна азбукалатиницата и изходна азбука кирилицата, така че при входнадума LOVE на изхода да се получава ОБИЧ, а при входнадума ILOVEYOU да се получава ОБИЧАМТЕ .

Отг.L O V E I Y U · · ·

q0 q0 /О q0 /Б q0 /И q0 /Ч q1/Оq1 q1 /Б q2 /Иq2 q2 /Т q2 /Ч q2 /А q2 /М q2 /Е...

Задача 2.5.27: Съществува ли автомат на Мили или автоматна Мур (и ако съществува го постройте) с входна азбукакирилицата и изходна азбука латиницата, така че при входнадума ОБИЧ на изхода да се получава LOVE, а при входнадума ОБИЧАМТЕ да се получава ILOVEYOU?

Отг. По дефиниция (виж дефиницията) приехме, чеавтоматът на Мили и автоматът на Мур са детерминирани(по-точно, че изходната функция е еднозначна). Следователноотговорът е НЕ.

Page 126: Diskretna_Matematika_Rakovodstvo

3.

ТЮРИНГ

3.1 Безконтекстни граматики и езици

Една граматика Γ = 〈V, W, S, P 〉 е безконтекстна, аковсичките ғи правила са от вида

A → ω, ω ∈ (V ∪W )∗,

където V и W са азбуки съответно от терминални инетерминални символи.

Безконтекстната граматика Γ се нарича нееднозначна,ако съществува поне една дума ω ∈ L(Γ) с две различни дърветана извод, или което е равносилно на условието да бъде с дваразлични леви извода. В противен случай тя е еднозначна.

Безконтекстната граматикаΓ = 〈V, W, S, P 〉, в която всякоправило има вида или A → BC, или A → a, където A,B, C ∈W са нетерминални символи, а a ∈ V е терминален символ сенарича Граматика в нормална форма на Чомски . Всекибезконтекстен език, несъдържащ празната дума може да бъдепороден от граматика в нормална форма на Чомски.

(uvwxy-теорема) Ако L е безконтекстен език, тосъществуват естествени числа p и q, такива че ако ω ∈ L и

САКРАЙНИ ВТОМАТИМАШИНА НАПАМЕТ.

Page 127: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 127

|ω| ≥ p, то ω може да се представи във вида ω = uvwxy,където vx 6= ε, |vwx| ≤ q и за всяко естествено i ≥ 0 думитеuviwxiy ∈ L.

Ако Γ = 〈V,W, S, P 〉 е безконтекстна граматика внормална форма на Чомски, пораждаща езика L, |W | = n, тоза числата p и q от uvwxy-теоремата могат да се вземат числатаp = 2n+1 и q = 2n.

ЗадачиЗадача 3.1.1: Полагаме εR = ε, (a1a2 . . . ak)

R = akak−1 . . . a1,където ai, i = 1, 2, . . . k, са елементи от азбуката V и за всякоподмножество H ⊆ V ∗ полагаме HR = {ωR | ω ∈ H}че езикът L е безконтекстен тогава и само тогава, когато LR ебезконтекстен.

Отг. Нека Γ = 〈V, W, S, P 〉 е безконтекстна граматика инека L = L(Γ). Разглеждаме граматиката Γ′ = 〈V,W, S, P ′〉 катоA → x1x2 . . . xk е правило от P тогава и само тогава, когатоA → xkxk−1 . . . x1 е правило от P ′, където A ∈ W, xi ∈ V ∪W, i = 1, 2, . . . , k. Очевидно Γ′ е безконтекстна и L(Γ′) = LR.Достатъчността следва от очевидния факт, че ((H)R)R = H завсяко H ⊆ V ∗.

Задача 3.1.2: Опишете общи процедури, които по даденибезконтекстни граматики Γ1 и Γ2 пораждащи съответно езицитеL1 и L2 се построява безконтекстна граматика разпознаващиезика:

а) L = L1 ∪ L2;б) L = L1L2;в) L = L∗1.

. Д окажете,

Page 128: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 128

Задача 3.1.3: Постройте безконтекстна граматика,пораждаща езика:

а) L = {anbk | n, k ≥ 1};б) L = {anbk | n > k ≥ 0};в) L = {anbk | n, k ≥ 0, n 6= k};г) L = {(ab)n | n ≥ 0};д) L = {anbkc2n | n, k ≥ 0, n + k > 0};е) L = {anbnc | n ≥ 1} ∪ {anb2nd | n ≥ 1};ж) L = {ucv | u, v ∈ {a, b}∗, |u| = |v|};з) L =

{ωaωR | ω ∈ {0, 1}∗

}, където ωR е думата получена

от ω записвайки я в обратен ред;и) Lω = {anbωbanbak | n, k ≥ 1} ∪ {anbωbakbak | n, k ≥ 1},

където ω ∈ {a, b}∗;к) L = {anbnakbk | n, k ≥ 0};л) L = {anbkakbn | n, k ≥ 1}.

Отг. Възможни са различни отговори и всеки един от тяхда е верен. Предложените от нас решения могат да бъдат самоориентировъчни, като ще опишем само множеството от правилаP . За първата подточка предлагаме три коренно различниварианта на решение.

а) P1 = {S → AB, A → aA | a, B → bB | b},P2 = {S → aA, A → aA | bB | b, B → bB | b},P3 = {S → aS | Sb | ab}.

P1 и P2 са правила на еднозначна граматика, докато P3 - нанееднозначна; P2 показва, че езика е автоматен, докато от P1 иP3 това не е ясно.

б) P = {S → aSb | aS | a}.в) L = {anbk | n > k ≥ 0} ∪ {anbk | k > n ≥ 0} и

използувайте подточка б.г) P = {S → abS | ε}.д) P = {S → aScc | B, B → b | bB}.

Page 129: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 129

е) P = {S → Ac | Bd, A → aAb | ab, B → aBbb | abb}.ж) P = {S → aSa | aSb | bSa | bSb | c}.з) P = {S → 0S0 | 1S1 | a}.и) P = {S → AB | CD, A → aAa | abωba, B → Ba | ba,

C → aC | abωb, D → aDa | aba}.

Задача 3.1.4: Постройте безконтекстна граматика, с коятосе дефинира понятието ”идентификатор” в езиците запрограмиране.

Отг. Γ = 〈{a, b, . . . , z, 0, 1, . . . , 9}, {S, A, B}, S, P 〉, къдетоP = {A → a | b | . . . | z, B → 0 | 1 | . . . | 9, S → A | SA | SB}.

Задача 3.1.5: Постройте безконтекстна граматика, поражда-ща всички четни естествени числа.

Отг. Γ = 〈Z10,W, 〈четно_число〉, P 〉, където Z10 ={0, 1, . . . , 9}, W = {〈 четно_число〉, 〈ненулева_цифра〉, 〈цифра〉,〈четна_цифра〉, 〈начало〉}, а P се състои от правилата:〈четно_число〉 → 〈четна_цифра〉|〈начало〉〈четна_цифра 〉〈начало〉 → 〈ненулева_ цифра〉|〈начало〉〈цифра〉〈четна_цифра〉 → 0|2|4|6|8〈цифра〉 → 0|〈ненулева_цифра〉〈ненулева_цифра〉 → 1|2|3|4|5|6|7|8|9.

Задача 3.1.6: (Език на Фибоначи) Нека F е множествотоот всички думи от {a, b}∗, които могат да бъдат представеникато конкатенация на поддуми от вида a или bb, и имащи четнадължина. Постройте безконтекстна граматика, пораждащаезика F .

Отг. S → aA | bbS | ε, A → aS | bbA.

Page 130: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 130

Задача 3.1.7: Опишете езика, породен от граматиката Γ =〈{a, b}, {S,A, B}, S, P 〉, където P се състои от правилата:

S → bA | aB, A → aS | bAA | a, B → bS | aBB | b.

Отг. L(Γ) се състои от онези непразни думи от {a, b}∗, вкоито броят на буквите a е равен на броя на буквите b.

Задача 3.1.8: Постройте безконтекстна граматика,еквивалентна на граматиката от задача 3.1.7 и имащаединствен нетерминален символ.

Отг. S → SS | aSb | bSa | ab | ba.

Задача 3.1.9: Γ =〈V, W, S, P 〉, където V = {a, a}, W = {S} P = {S → aSaS | ε}.1

а) за всяко начало u на ω ∈ L(Γ) броят на буквите a в u епо-голям или равен на броя на буквите a в u;

б) във всяка дума ω ∈ L(Γ) броят на буквите a е равен наброя на буквите a;

в) съществува взаимноеднозначно съответствие междумножеството от всички бинарни дървета с n вътрешни върхаи n+1 листа и множеството от всички думи от L(Γ) с дължина2n.

Задача 3.1.10: За ω = abaca ∈ L(Γ), където Γ =〈{a, b, c}, {S}, S, {S → SbS | ScS | a}〉 напишете ляв извод наω и начертайте съответното дърво на извода.

1 В случая L(Γ)език на правилно разположените скоби.

Д адена е безконтекстната граматика

Д окажете, че:

се нарича ограничен език на Д ик над две букви или

Page 131: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 131

Отг. Задачата има (поне) две решения, т.е. граматиката енееднозначна:

S ` SbS ` abS ` abScS ` abacS ` abacaс дърво на извода:

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

S

a

S

b

S

a

S

c S

a

©©©©©¼ ?HHHHHj

?©©©©©¼ ?

HHHHHj

? ?

S ` ScS ` SbScS ` abScS ` abacS ` abacaс дърво на извода:

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

S

a

S

c

S

a

S

bS

a

©©©©©¼ ?HHHHHj

?©©©©©¼ ?

HHHHHj

??

Задача 3.1.11: Γ = 〈V,W, S, P 〉,където V = {a, b}, W = {S,A, B}, P = {S → AB, A →aA | a, B → bB | b} е еднозначна.

Отг. Очевидно, L(Γ) = L1L2, където L1 и L2 са езици,породени от граматиките Γ1 = 〈{a, b}, {A}, A, {A → aA | a}〉и Γ2 = 〈{a, b}, {B}, B, {B → bB | b}〉, които са автоматни, авсеки автоматен език е еднозначен. Освен това произведениена автоматни езици е автоматен език.

Д окажете, че граматиката

Page 132: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 132

Задача 3.1.12: Γ = 〈V, W, S, P 〉, къдетоV = {if, then, else, a, b, c, d, e, 6=, =}, W = {S,A, B, C}, P = {S → A | if B then A else S A → a | b | c | d | e B → ACAC →6= | =}

if a = b then c else if a 6= c then d else e.

Отг.

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

a

A

if

S

=

C

B

b

A

then

c

A else

a

A

if

S

6=

C

B

c

A

then

d

A else

e

A

S

?

AAAAA

@@

@@@R

QQ

QQ

QQ

QQ

HHHHHHHHHHj

aaaaaaaaaaaaa

?

AAAAA

@@

@@@R

QQ

QQ

QQ

QQ

HHHHHHHHHHj

aaaaaaaaaaaaa

¢¢

¢¢¢

AAAAA

¢¢

¢¢¢

AAAAA

?

? ? ? ?

? ? ? ?

Задача 3.1.13: Γ = 〈V,W, S, P 〉,където V = {if, then, else, x}, W = {S,A, B, C}, P = { S →A | A else C, A → BC, B → if x then, C → S | x} енееднозначна.

Отг. Граматиката е нееднозначна, тъй като думатаif x then if x then x else x допуска две дървета на извод:

Д адена е граматиката

. Д а се покаже дървото на изводна думата:

Д окажете, че граматиката

Page 133: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 133

±°²¯

±°²¯

±°²¯±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

if

if

x

B

x

B

then

A

S

then

A

C

C

else

S

x

C

x

?

©©©©©¼

HHHHHj©©©©¼ ?

HHHHj

HHHHHj©©©©©¼ ?

HHHHHj©©©©©¼

HHHHHj

HHHHHj©©©©¼ ?

HHHHj

HHHHHj

и

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯±°²¯

±°²¯

±°²¯

if x

B

if

then

A

x

B

C

else

S

then

A

S

C

C

x

x

©©©©©¼ ?HHHHHj

©©©©©¼

HHHHHj

HHHHHj©©©©¼ ?

HHHHj

HHHHHj

?

©©©©©¼

HHHHHj©©©©¼ ?

HHHHj

HHHHHj

Page 134: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 134

Задача 3.1.14: Γ =〈{a, b}, {S, A}, S, P 〉, където P = {S → aAb | abSb | a, A →bS | aAAb} е нееднозначна.

abab има два леви извода: S ` abSb ` abab иS ` aAb ` abSb ` abab

Задача 3.1.15: Опишете езика, породен от граматиката

Γ = 〈{a, +, ∗, (, )}, {S,A, B}, S, P 〉

където P се състои от правилата:

S → S + A | A, A → A ∗B | B, B → (S) | a

Отг. Множеството от всички аритметични изрази,получени с помощта на символите a, +, ∗, ( и )

Задача 3.1.16: Γ = 〈V, W, S, P 〉, къдетоV = {∧,∨,¬, (, ), x1, x2, . . . xn}, W = {S, K, D, N,B}, P = {S →K | D, K → D | D ∧K | N | N ∧K, D → K | K ∨D | N | N ∨D,N → B | ¬B, B → xi i = 1, 2 . . . n | (S)}.

а) Опишете езика L(Γ).б) Покажете, че Γ е нееднозначна безконтекстна

граматика.в) Преобразувайте P , така че да се получи еднозначна

граматика, пораждаща същия език.

нетерминален символ, еквивалентна на Γ.

Отг.:а) xi ∈ L = L(Γ) за всяко i = 1, 2, . . . , n. Ако ω ∈ L, то

и (ω) ∈ L. Ако ω ∈ L, то и ¬ω ∈ L. Всяка дума получена отдве думи от L съединени с ∧ или ∨ също принадлежи на L.

Д окажете, че граматиката

Отг. Д умата

Д адена е граматиката

г) Д айте пример за безконтекстна граматика с единствен

Page 135: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 135

Следователно Γ поражда езика състоящ се от всички формули,реализиращи двоичните (или булеви) функции от n променливаx1, x2, . . . , xn, които са суперпозиция на двоичните функциитъждествена x, отрицание ¬, конюнкция ∧ и дизюнкция ∨. 2

б) Граматиката е нееднозначна, тъй като например думатаx1 ∈ L(Γ) може да се получи по два начина: S ` K ` N ` B ` x1

и S ` D ` N ` B ` x1.в) Еднозначна граматика, еквивалентна на дадената ще

получим, ако отъждествим нетерминалните символи K и D.Получаваме: P ′ = {S → K, K → N | N∧K | N∨K, N → B | ¬B,B → xi i = 1, 2, . . . , n | (S)}.

г) Γ′′ = 〈V,W ′′, S, P ′′〉, където W ′′ = {S}, P ′′ ={S → ai i = 1, 2, . . . | ¬S | S ∧ S | S ∨ S}.Задача 3.1.17: Γ1 = 〈{a}, {A}, A, P1〉и Γ2 = 〈{a}, {B}, B, P2〉, където P1 = {A → AA | a5} и P2 ={B → a5B | a5}.

Γ1 и Γ2 са еквивалентни и намерете езика,който те пораждат.

б) Изследвайте за еднозначност Γ1 и Γ2.

Отг.:а) L(Γ1) = L(Γ2) = {a5k | k ≥ 1}.б) Γ1 е нееднозначна, а Γ2 е еднозначна.

Задача 3.1.18: L1, L2, . . . , Lk саеднозначни и взаимно непресичащи се безконтекстни езици, то

и езикът L =k⋃

i=1

Li също е еднозначен.

Отг. Ще разгредаме случая k = 2. В общия случайтвърдението веднага следва по индукция. Нека езиците L1

2 Без да е описан приоритета на операциите.

Д адени са граматиките

а) Д окажете, че

Д а се докаже, че ако

Page 136: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 136

и L2 се пораждат от еднозначните безконтекстни граматикисъответно Γ1 = 〈V, W1, S1, P1〉 и Γ2 = 〈V, W2, S2, P2〉. Безограничение на общността W1 ∩ W2 = ∅. Разглеждамебезконтекстната граматика Γ = 〈V,W, S, P 〉, където S /∈ W1 ∪W2, W = {S}∪W1∪W2 и P = P1∪P2∪{S → S1 | S2}. ОчевидноL(Γ) = L(Γ1) ∪ L(Γ2). Нека S ` w1 ` · · · ` ω и S ` y1 ` · · · ` ωса два леви извода на думата ω ∈ L(Γ). Тъй като в P има двеединствени правила от вида S → z, то w1, y1 ∈ {S1, S2}. Акоw1 = y1 = S1, то от факта, че W1 ∩W2 = ∅ следва, че и в дватаизвода има единствено правила от P1. Тъй като Γ1 е еднозначнаграматика, то двата извода съвпадат. Аналогично се доказва, чедвата извода съвпадат и в случаи на w1 = y1 = S2. Нека w1 = S1

и y1 = S2. Тогава ω ∈ L(Γ1) = L1 и ω ∈ L(Γ2) = L2, което еневъзможно, тъй като по условие L1 ∩ L2 = ∅. Следователнодвата леви извода съвпадат, т.е. Γ е еднозначна.

Задача 3.1.19: (Задача за Ханойските кули) Има триотвесни колони. На първата от тях са нанизани N диска. Всичкидискове са различни и подредени по големина - най-отдолу най-големия, а най-отгоре най-малкия. Задачата е да се преместятдисковете от първата на третата колона при следните условия:на всеки ход може да се пренася един единствен диск, а презтова време всички останали дискове да бъдат нанизани нанякои от трите колони като при това е забранено по-голям дискда лежи върху по-малък.

Постройте безконтекстна граматика с входна азбукакодираща възможните премествания и с помощтта на тазиграматика да се получават единствено възможните решения напоставената задача.

Отг. Γ = 〈V, W, S, P 〉, където V = {pij | i, j = 1, 2, 3, i 6= j}.Смисълът на pij е: ”Премести най-горния диск от i-та колонана j-та.” W = {hij(n) | i, j = 1, 2, 3, i 6= j, n = 1, 2, . . . , N},

Page 137: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 137

началният символ S = h13(N), а P се състои от правилатаhij(n) → hik(n− 1)pijhkj(n− 1) за n = 2, 3, . . . , N и hij(1) → pij,където i, j, k = 1, 2, 3, i 6= j, i 6= k, k 6= j. Например при N = 5се получава думата p13 p12 p32 p13 p21 p23 p13 p12 p32 p31 p21 p32 p13

p12 p32 p13 p21 p23 p13 p21 p32 p31 p21 p23 p13 p12 p32 p13 p21 p23 p133

Задача 3.1.20: ε-свободен език може дабъде породен от граматика, всички правила на която са от видаA → aBC, или A → aB, или A → a, където a е терминаленсимвол, а A,B и C са нетерминални символи.

Задача 3.1.21:да се породи от граматика Γ = 〈V,W, S, P 〉, в която всякоправило има вида или A → α, или A → ω, където A ∈ W,α ∈ W ∗, ω ∈ V ∗. 4

Задача 3.1.22: За граматиката Γ = 〈{a, b}, {S,A, B}, S, P 〉,където P се състои от правилата: S → aAB | BA, A → BBB | a,B → AS | b. Постройте граматика в нормална форма наЧомски, еквивалентна на Γ.

Отг. S → a′〈AB〉 | BA, A → B〈BB〉 | a, B → AS | b,〈AB〉 → AB, 〈BB〉 → BB, a′ → a, където 〈AB〉, 〈BB〉 и a′ санови нетерминални символи.

Задача 3.1.23: Нека Γ = 〈V, W, S, P 〉 е автоматна граматика.

форма на Чомски, еквивалентна на Γ и съдържаща не повечеот |P |+ |V | на брой правила.

3 С пет поредни карти (например) проверете верността на алгоритъма.4 Това все още не е граматика в нормална форма на Чомски.

Д окажете, че всеки

Д окажете, че всеки безконтекстен език може

Д окажете, че съществува безконтекстна граматика в нормална

Page 138: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 138

Упътване. Разгледайте граматиката Γ′ = 〈V,W ′, S, P ′〉,където W ′ = W ∪ {Sa | a ∈ V } и P ′ = {A → a ∈ P | a ∈ V,A ∈W} ∪ {A → SaB | A → aB ∈ P, a ∈ V, A,B ∈ W} ∪ {Sa →a | a ∈ V }. От свойствата на автоматните граматики ще следваи твърдението.

Задача 3.1.24: За всеки един език от задача 3.1.3 постройтебезконтекстна граматика в нормална форма на Чомски.

Задача 3.1.25: Постройте безконтекстна граматика в нормал-на форма на Чомски, пораждаща десетичните записвания нацелите положителни числа, които се делят на 3. 5

Отг. Γ = 〈{0, 1, 2, . . . , 9}, {S, A0, A1, A2}, S, P 〉, където P сесъстои от правилата:S → SA0 | A1A2 | A2A1 | 3 | 6 | 9A0 → A0A0 | A1A2 | A2A1 | 0 | 3 | 6 | 9A1 → A0A1 | A1A0 | A2A2 | 1 | 4 | 7A2 → A1A1 | A2A0 | A0A2 | 2 | 5 | 8.

Задача 3.1.26: (Линейна граматика) Граматиката Γ =〈V, W, S, P 〉вида A → aBb или A → ω, където A, B ∈ W , a, b ∈ V, ω ∈ V ∗.

еквивалентна на нея автоматна граматика.

Отг. Един от многото възможни примери е граматикатаΓ = 〈{a, b}, {S}, S, P 〉, където P = {S → aSb | ab}, която елинейна и поражда езика L(Γ) = {anbn | n ≥ 1} , за който еизвестно, че не е автоматен (виж зад. 2.3.11 а).

5 Може да се докаже, че този език е автоматен.

се нарича линейна, ако всичките и правила са от

Д айте пример за линейна граматика, за която не съществува

Page 139: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 139

Задача 3.1.27:безконтекстни:

а) L = {anbncn | n ≥ 1};б) L = {an2 | n ≥ 1};в) L = {anbncm | m ≤ n};г) L = {anbncm | n ≥ 1, n ≤ m ≤ 2n};д) L = {anbmcp | n < m < p};е) множеството от всички думи над {a, b, c}∗ с еднакъв

брой символи a, b и c;ж) L = {anbmambn | m ≤ n};з) L = {anbmanbm | m,n ≥ 1};и) L = {anbmcp| всички числа n,m, p са различни};к) L = {anbn2 | n ≥ 1};л) L = {an | n-просто }.

Упътване. Използувайте uvwxy-теоремата, за дадостигнете до противоречие, допускайки противното.

Задача 3.1.28: (Език на Лукасевич)Γ = 〈V, W, S, P 〉, където V = {a0, a1, . . . , an}, W = {S}, P ={S → a0, S → a1S, S → a2S

2, . . . , S → anSn}. Разглеждаме

изображението ϕ : V → Z (Z-множество на целите числа),такова че ϕ(ai) = i − 1, i = 0, 1, . . . , n. За всяка дума w =ai1ai2 . . . aik ∈ V ∗, полагаме ϕ(w) = ϕ(ai1) + ϕ(ai2) + · · · + ϕ(aik)и ϕ(ε) = 0. 6 L(Γ) = {w ∈ V ∗ | ϕ(w) = −1 и акоw = uv, v 6= ε, то ϕ(u) ≥ 0}.

6 С други думи ϕ е хомоморфизъм от свободната полугрупа V ∗ вадитивната абелева група на целите числа.

Д окажете, че следните езици не са

Д адена е граматиката

Д окажете, че

Page 140: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 140

3.2 Недетерминирани магазинни (стекови)автомати

Под недетерминиран магазинен (стеков) автомат(НМА) ще разбираме всяка наредена седморка

M = 〈K,V,W, δ, q0, z0, F 〉,

където:- K е крайно множество от състояния на автомата

(азбука на състоянията);- V е крайно множество от входни букви (входна

азбука);- W е крайно, непразно множество от магазинни

(стекови) символи (магазинна азбука);- δ : K × (V ∪ {ε}) ×W → P(K ×W ∗) 7 е функция на

преходите;- q0 ∈ K е начално състояние на автомата;- z0 ∈ W е начален магазинен (стеков) символ;- F ⊆ K е множество от крайни (заключителни)

състояния.Конфигурация на недетерминирания магазинен

автомат M наричаме наредената тройка 〈q, α, γ〉 ∈K × V ∗ ×W ∗.

Нека α = a1a2 . . . as ∈ V ∗, γ = z1z2 . . . zt ∈ W ∗.Тогава функцията на преходите δ определя преходите отконфигурацията 〈q, α, γ〉 към следващите конфигурации последния начин:

(i) за всяка двойка 〈p, γ′〉 ∈ δ(q, a1, z1) конфигурацията〈q, α, γ〉 преминава в конфигурацията 〈p, α1, γ1〉, където α1 =

7 Както обикновено с P(A) се означава множеството от всичкиподмножества на множеството A, включително и празното.

Page 141: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 141

a2a3 . . . as, γ1 = γ′z2z3 . . . zt, което ще означаваме с 〈q, α, γ〉 `〈p, α1, γ1〉.

(ii) за всяка двойка 〈p, γ′〉 ∈ δ(q, ε, z1) конфигурацията〈q, α, γ〉 преминава в конфигурацията 〈p, α, γ′z2z3 . . . zt〉, коетоще означаваме с 〈q, α, γ〉 ` 〈p, α, γ′z2z3 . . . zt〉.

Ако на недетерминирания краен автомат в началото еподадена думата α = a1a2 . . . as, то по началната конфигурация〈q0, α, z0〉 се получават следващите възможни конфигурации спомощта на функцията на преходите δ. За всяка от новитеконфигурации с помощта на δ се получават всички възможниследващи конфигурации и т. н.

Недетерминираният магазинен автомат M разпознавадумата α = a1a2 . . . as чрез заключително състояние, акопри работата си при зададена в началото думата α, тойдостигне до конфигурация от вида 〈q, ε, γ〉, за някое γ ∈ W ∗,при това q ∈ F .

Недетерминираният магазинен автомат M разпознавадумата α = a1a2 . . . as чрез празен магазин, ако приработата си при зададена в началото думата α, той достигнедо конфигурация от от вида 〈q, ε, ε〉.

T (M) ⊆ V ∗ множеството от всички думи,които M разпознава чрез заключително състояние, а с N(M)множеството от всички думи, които M разпознава чрез празенмагазин.

Магазинните автомати могат да се описват и графичнос помощта на диаграма на преходите, която представляваориентиран граф с върхове множеството от състояния K.Върховете q, p ∈ K са свързани с ребро с начало q и край p,маркирано с a, z/γ тогава и само тогава, когато 〈p, γ〉 ∈ δ(q, a, z),където a ∈ V ∪ {ε}, p, q ∈ K, z ∈ W, γ ∈ W ∗.

Магазинният автомат M = 〈K,V,W, δ, q0, z0, F 〉 сенарича детерминиран q ∈ K и z ∈ W

Д а означим с

(Д МА), ако за всяко

Page 142: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 142

или(1) δ(q, a, z) съдържа не повече от един елемент за всяко

a ∈ V и δ(q, ε, z) = ∅или

(2) δ(q, a, z) = ∅ за всяко a ∈ V и δ(q, ε, z) съдържа неповече от един елемент.

детерминиран.

Теорема 3.2.1: За всеки безконтекстен език L съществуванедетерминиран магазинен автомат M , такъв че L = T (M).

Теорема 3.2.2: Езикът L се разпознава от недетерминиранмагазинен автомат чрез празен магазин тогава и самотогава, когато L се разпознава от недетерминиран магазиненавтомат чрез заключително състояние.

Теорема 3.2.3: Ако L е език, който се разпознава отнедетерминиран магазинен автомат, то L е безконтекстенезик.

Задачи

Задача 3.2.1:(детерминиран или недетерминиран) може да се разглеждакато частен случай на магазинен автомат (детерминиран илинедетерминиран).

Упътване. Всеки краен автомат е магазинен автомат сединствен магазинен символ.

Език, който се разпознава от някой Д МА се нарича

Д окажете, че един краен автомат

Page 143: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 143

Задача 3.2.2: M =〈K, V, W, δ, q0, z, F 〉, където K = {q0, q1, q2}, V = {0, 1}, W ={z, 0}, F = {q0}, δ(q0, 0, z) = {(q1, 0z)}, δ(q1, 0, 0) = {(q1, 00)},δ(q1, 1, 0) = {(q2, ε)}, δ(q2, 1, 0) = {(q2, ε)}, δ(q2, ε, z) = {(q0, ε)}.

M са в сила:

〈q0, 0, z〉 ` 〈q1, ε, 0z〉〈q1, 0

k, 0z〉 |= 〈q1, ε, 0k+1z〉

〈q1, 1, 0k+1z〉 ` 〈q2, ε, 0

kz〉〈q2, 1

k, 0kz〉 |= 〈q2, ε, z〉〈q2, ε, z〉 ` 〈q0, ε, ε〉

и определете езика, разпознаван от M .

Отг. L = {0n1n|n ≥ 0}.Задача 3.2.3: Постройте диаграмата на преходите замагазинния автомат от задача 3.2.2.

Отг.

±°²¯µ´¶³

±°²¯

±°²¯

q0

q1

q2

-

¨ ¥?

0, 0/00

§ ¦61, 0/ε

©©©©©©©©©©*0, z/0z

HHHHHHHHHHY

ε, z/ε ?

1, 0/ε

Д аден е магазинният автомат

Д окажете, че за

Page 144: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 144

Задача 3.2.4: Постройте диаграмата на преходите замагазинния автомат M = 〈K,V,W, δ, q0, z0, F 〉, къдетоK = {q0, q1}, V = {a, b}, W = {z0, a}, F = {q1}, δ(q0, ε, z0) ={(q1, az0)}, δ(q0, a, a) = {(q0, az0)}, δ(q0, b, a) = {(q1, z0az0)},δ(q1, a, z0) = δ(q1, b, z0) = {(q1, aaz0)}, δ(q1, a, a) = {(q0, ε)},δ(q1, b, a) = {(q1, aa)}.

Отг.

µ´¶³

±°²¯µ´¶³

q0 q1-

¨ ¥?

a, a/az0 ¨ ¥?

a, z0/aaz0

§ ¦6b, z0/aaz0

¥¦¾ b, a/aa

¾ »?

ε, z0/az0

½ ¼6b, a/z0az0

¾ a, a/ε

Задача 3.2.5: Постройте магазинен автомат, разпознаващезика

L = {ω1cω2 | ω1, ω2 ∈ {a, b}∗ , |ω1| = |ω2|} .

Отг. M = 〈{q0, q1}, {a, b, c}, {z, A}, δ, q0, z, ∅〉, къдетоδ(q0, a, z) = δ(q0, b, z) = (q0, Az)δ(q0, a, A) = δ(q0, b, A) = (q0, AA)δ(q0, c, A) = (q1, A)δ(q1, a, A) = δ(q1, b, A) = (q1, ε)δ(q1, ε, z) = (q1, ε).

Задача 3.2.6: Постройте детерминиран магазинен автомат,разпознаващ езика

L ={ωcωR | ω ∈ {a, b}+

},

където с ωR се означава ω написана в обратен ред.

Page 145: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 145

Отг. M = 〈{q0, q1, q2}, {a, b, c}, {z, a, b}, δ, q0, z, {q2}〉,където:δ(q0, x, y) = (q0, xy) за всяко x ∈ {a, b} и y ∈ {z, a, b}δ(q0, c, y) = (q1, y) за всяко y ∈ {a, b}δ(q1, x, x) = (q1, ε) за всяко x ∈ {a, b}δ(q1, ε, z) = (q2, ε).

M записва в магазина входната последователност отсимволи, докато не срещне символа c, отбелязващ средата навходната дума след което преминава в състояние q1 и сравнявасъдържанието на магазина и оставащата последователност отвходни символи.

Задача 3.2.7: Постройте магазинен автомат, разпознаващезика L =

{ωωR | ω ∈ {a, b}+

}, където с ωR се означава ω

написана в обратен ред.

Отг. M = 〈{q0, q1, q2}, {a, b}, {z, a, b}, δ, q0, z, {q2}〉, къдетоδ(q0, a, z) = {(q0, az)}δ(q0, b, z) = {(q0, bz)}δ(q0, a, a) = {(q0, aa), (q1, ε)}δ(q0, a, b) = {(q0, ab)}δ(q0, b, a) = {(q0, ba)}δ(q0, b, b) = {(q0, bb), (q1, ε)}δ(q1, a, a) = {(q1, ε)}δ(q1, b, b) = {(q1, ε)}δ(q1, ε, z) = {(q2, ε)}.

Задача 3.2.8: Постройте магазинен автомат, разпознаващмножеството от всички правилно разположени двойка скоби.

Отг. M = 〈{q0}, {(, )}, {z, A}, δ, q0, z, ∅〉, къдетоδ(q0, (, z) = {(q0, Az)}δ(q0, (, A) = {(q0, AA)}

Page 146: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 146

δ(q0, ), A) = {(q0, ε)}δ(q0, ε, z) = {(q0, ε)}.

Задача 3.2.9: Постройте магазинен автомат, разпознаващвсички думи (и само тях) от {a, b}∗ имащи равен брой символиa и b.

Отг. M = 〈{q0}, {a, b}, {z, A, B}, δ, q0, z, ∅〉, къдетоδ(q0, a, z) = {(q0, Az)}δ(q0, a, A) = {(q0, AA)}δ(q0, b, z) = {(q0, Bz)}δ(q0, b, B) = {(q0, BB)}δ(q0, a, B) = δ(q0, b, A) = {(q0, ε)}δ(q0, ε, z) = {(q0, ε)}.

Задача 3.2.10: Постройте магазинен автомат, разпознаващезика L = {anb2n | n ≥ 1}.

Отг. M = 〈{q0, q1, }, {a, b}, {z, A}, δ, q0, z, ∅〉, къдетоδ(q0, a, z) = (q0, AAz)δ(q0, a, A) = (q0, AAA)δ(q0, b, A) = δ(q1, b, A) = δ(q1, b, z) = (q1, ε).

Задача 3.2.11: Постройте магазинен автомат, разпознаващезика L = {a2nbn | n ≥ 1}.

Отг. M = 〈{q0, q1, }, {a, b}, {z, A1, A2}, δ, q0, z, ∅〉, къдетоδ(q0, a, z) = (q0, A1z)δ(q0, a, A1) = (q0, A2A1)δ(q0, a, A2) = (q0, A1A2)δ(q0, b, A2) = δ(q1, b, A2) = (q1, ε)δ(q1, ε, A1) = δ(q1, ε, z) = (q1, ε).

Page 147: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 147

Задача 3.2.12: Постройте магазинен автомат, разпознаващезика L = {anbk | n, k ≥ 0} с празен магазин.

Отг. M = 〈{q0, q1, }, {a, b}, {z}, δ, q0, z, ∅〉, къдетоδ(q0, ε, z) = {(q0, ε)}δ(q0, a, z) = {(q0, z)}δ(q0, b, z) = {(q1, z), (q1, ε)}δ(q1, b, z) = {(q1, z), (q1, ε)}.

Задача 3.2.13: Постройте магазинен автомат, разпознаващезиците:

а) L = {anbk | n > k > 0};б) L = {anbk | n ≥ k > 0};в) L = {anbk | k > n > 0};г) L = {(ab)n | n ≥ 0};д) L = {anbkc2n | n, k ≥ 0, n + k > 0};е) L = {anbnc | n ≥ 1} ∪ {anb2nd | n ≥ 1};ж) L = {anbnakbk | n, k ≥ 0};з) L = {anbkakbn | n, k ≥ 1}.

Задача 3.2.14: Постройте магазинен автомат, разпознаващезика L = {bi2(bi+1)

R}, където bi е числото i записано в двоичнабройна система (например, за i = 48 думата принадлежаща наL е 1100002100011), а ωR, както обикновено, е думата ω записанав обратен ред.

Задача 3.2.15: Постройте недетерминиран магазиненавтомат, разпознаващ езика, породен от граматикатаΓ = 〈V,W, S, P 〉, където V = {a, +, ∗, (, )}, W = {S, A, B},а P се състои от правилата: S → S + A | A, A → A ∗ B | B,B → (S) | a.

Page 148: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 148

Отг. 〈{q0}, V, V ∪ W, δ, q0, S, ∅〉, където V = {a, +, ∗, (, )},W = {S, A,B} и функция на преходите:δ(q0, ε, S) = {(q0, S + A), (q0, A)}δ(q0, ε, A) = {(q0, A ∗B), (q0, B)}δ(q0, ε, B) = {(q0, (S)), (q0, a)}δ(q0, x, x) = {(q0, ε)} за всяко x ∈ {a, +, ∗, (, )}.

Задача 3.2.16: Постройте магазинен автомат, разпознаващезика, породен от граматика с правила

а) S → aSb | ε;б) S → aSb | aS | a;в) S → AS | b, A → SA | a;г) S → SS | A, A → 0A1 | S | 01;д) S → bA | aB, A → aS | bAA | a, B → bS | aBB | b;е) S → aA | aBB, A → Ba | Sb,B → bAS | ε.

Задача 3.2.17:M = 〈{q0, q1, q2}, {a, b}, {z0, A}, δ, q0, z0, {q2}〉 с функция напреходите δ(q0, a, z0) = (q1, Az0), δ(q0, a, A) = (q1, AA),δ(q1, a, A) = (q0, AA), δ(q1, ε, A) = (q2, A), δ(q2, b, A) = (q2, ε) .

а) Опишете езика, разпознаван от M ;б) Постройте безконтекстна граматика, пораждаща езика

L(M).

Отг. а) L = {anbm | n = 2k + 1, m ≤ n}.

Задача 3.2.18: (Задача за Ханойските кули) Постройтедетерминиран магазинен автомат, който решава задачата заХанойските кули. (виж зад. 3.1.19.)

Отг. Веднага след подаване на един единствен сигналпоказващ броя на дисковете N автоматът би трябвало даизвърши всички действия след което да спре. Когато при

Д аден е детерминираният магазинен автомат

Page 149: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 149

поредния такт автоматът се намира в състояние qij i 6= j,i, j = 1, 2, 3 това ще означава ”преместване на най-горниядиск от i-та колона на j-та”. Търсеният автомат е следния:M = 〈K, V, W, δ, q0, z0, F 〉, където K = {qij | i 6= j, i, j =1, 2, 3} ∪ {q0, qstop}, V = {1, 2, . . . , N}, W = {pij | i 6= j, i, j =1, 2, 3} ∪ {hij(n) | i 6= j, i, j = 1, 2, 3, n = 1, 2, . . . , N} ∪ {z0},F = {qstop}. Нека i 6= j, j 6= k, k 6= i, i, j, k ∈ {1, 2, 3} и с q даозначим произволно състояние от K различно от qstop. Тогава:δ(q0, N, z0) = (q0, h12(N − 1)p13h23(N − 1))δ(q, ε, hij(1)) = (q0, pij)δ(q, ε, hij(n)) = (q0, hik(n− 1)pijhkj(n− 1)) n = 2, 3, . . . , Nδ(q, ε, pij) = (qi,j, ε)δ(q, ε, z0) = (qstop, ε).

Задача 3.2.19: Напишете програма, моделиращ работата надетерминиран магазинен автомат.

3.3 Машина на Тюринг

Съществуват различни еквивалентни помежду сидефиниции на машината на Тюринг (МТ): с двубуквеналентова азбука; с две вътрешни състояния; с краен бройбезкрайни ленти; с лента, която има краен брой писти; с лента,която е безкрайна само в една посока и др. Не представляваособен проблем да се преобразува един модел на машина наТюринг в друг.

Има и различни начини за представяне на една машинана Тюринг, като най-често използуваните начини за описаниеса с помощта на диаграма на преходите (графично), анлитичноили с помощта на таблица (матрично). Графичният метод заописание е най-ясен и разбираем, но се получават неудобства,

Page 150: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 150

когато се налага да опишем достатъчно ”голяма” машина наТюринг.

За графичния метод най-подходяща е следната

Ще смятаме, че всяка машина наТюринг (МТ) над азбуката V се състои от три основникомпонента:

(i) лента, която е разделена на клетки и е безкрайна.Във всяка клетка, може да се запише само един символ.Символите, които могат да се записват в клетките налентата, са буквите от азбуката от терминални символи(входна азбука) V и буквите от една помощна (лентоваазбука) W, V ⊂ W , както и един специален символ ⊥ ∈ W \Vза празната клетка.

(ii) четящо-записващо устройство (глава). Главата въввсеки момент чете (или записва) само един символ и може дасе придвижва с една клетка наляво или надясно.

(iii) програма, която е ориентиран граф (диаграма напреходите), чийто върхове ще наричаме състояния. Едноот ребрата е избрано за начално, а част от състояниятасе считат за заключителни. Всяко ребро (стрелка) напрограмата има вида

±°²¯

±°²¯

p q-A | B, γ

където A,B ∈ V ∪ W и γ ∈ {L,R}. Това означениетрябва да се разбира по следния начин: ако по време наработата на машината се стигне до състояние p, а главатае позиционирана върху клетка от лентата със съдържание A,то се преминава в състояние q, като в клетката A се заменяс B, след което главата се премества наляво с една клетка,ако γ = L или надясно, ако γ = R.

Д ефиниция 3.3.1:

Page 151: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 151

Машината на Тюринг се нарича детерминиранаако всички ребра, които излизат от произволно състояние p сас различни стойности на A. В противен случай машината наТюринг е недетерминирана.

Без ограничение на общността ще считаме, че в началотоглавата е позиционирана върху най-левия символ на входнатадума, т.е. върху най-левия символ върху лентата, различен отпразния (освен ако изрично не е указано противното).

Преминаването от един връх (състояние) в друг съседенв диаграмата на прехода и съответните промени над входнатадума, записана върху лентата може да се опише и аналитичнос помощта на функция, наречена функция на преходите. Втози случай удачно е да дадем и друга дефиниция, която ееквивалентна на дефиниция 3.3.1.

Под машина на Тюринг (МТ) щеразбираме наредената седморка

T = 〈K, V, W, δ, q0,⊥, F 〉

където- K е крайно непразно множество - множество от

състояния на МТ;- V е крайна входна азбука;- W е крайна лентова азбука, V ⊂ W ;- δ : K ×W → K ×W × {R, L} е функция на преходите

R, L /∈ K ∪W ;- q0 ∈ K е начално състояние;- ⊥ ∈ W \ V е специален лентов символ за празната

клетка;- F ⊆ K е множество от заключителните състоятия

(F може да бъде и празно).

(Д МТ),

Д ефиниция 3.3.2:

Page 152: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 152

Машината на Тюринг се нарича детерминирана

недетерминирана (НМТ), ако функцията на преходите сеопределя по следния начин: δ : K ×W → P(K ×W × {L,R}),където с P(X) както обикновено означаваме множеството отвсички подмножества на множеството X.

Работата на МТ се състои в прочитане на текущиялентов символ и в зависимост от текущото състояние ифункцията на преходите δ променя текущото си състояние,на мястото на текущия лентов символ записва нов иследващия текущ символ става символа стоящ отдясно (R)или отляво (L) на текущия до този момент. Приемаме, ченачалното текущо състояние е q0, а началният текущ входенсимвол е най-левият символ на входната дума.

Еквивалентността на дефиниции 3.3.1 и 3.3.2 следва отфакта, че в диаграмата на преходите съществува ребро с началоp, край q, и маркирано с етикета A | B, γ, където A,B ∈ W ,γ ∈ {R,L} тогава и само тогава, когато (q, B, D) ∈ δ(q, A).

Една МТ може да бъде зададена и с помощта на таблица,така че редовете да съответстват на елементите на множествотоот състоянията K (евентуално без заключителните състояния),стълбовете на множеството от лентови символи W , а пресечнитеим точки на стойностите на функцията на преходите δ.

Елементите на множеството W \ V са спомагателни.Например често се въвежда някакъв символ ∗ ∈ W \ Vслужещ за разделител между фактическите аргументи нададена функция от няколко аргумента или за начало или край

на входните символи, т.е. ако a ∈ V , то a ∈ W \V е съответниятна a маркиран елемент.

Машината на Тюринг спира, ако:

(Д МТ), ако функцията на преходите е еднозначна, и

на входна дума и т.н. Д руг често срещан прийом е маркирането

Page 153: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 153

- стигне до заключително състояние (в този случай нее необходимо придвижване наляво или надясно от текущиялентов символ, т.е можем да поставим ′′−′′ вместо R или L).При това, ако е достигнат края на входната дума, казваме, чеМТ разпознава входната дума;

- δ не е дефинирана за двойката (q, A)-(текущо състояние,текущ лентов символ), т.е. в диаграмата на преходите отсъответния връх q не излиза ребро, маркирано с етикета A | B, γза никое B ∈ W и γ ∈ {L,R};

- при разглеждане на МТ с лента, която е безкрайна самов една посока, ако текущ е символа, стоящ в края и програматае такава, че е невъзможно придвижването до нов текущ лентовсимвол.

Множеството от заключителни състояния на една МТможем да разбием на непресичащи се подмножества, така че взависимост от това в кое състояние е спряла на МТ получавамеразличните възможни отговори на поставената задача. Особенинтерес представляват МТ с две заключителни състояния F ={qY , qN}. С такива МТ е удобно да се решават задачи, чийтоотговор трябва да бъде булева величина с възможни стойности” ” или ”Не” (”истина” или ”лъжа”).

Една функция с n аргумента f(x1, x2, . . . , xn) еизчислима по Тюринг, ако съществува машина на ТюрингT с входна азбука V ∪ {∗}, ∗ /∈ V , такава, че n-торката(w1, w2, . . . wn), wi ∈ V ∗, i = 1, 2, . . . n, е от дефиниционнатаобласт на f тогава и само тогава, когато T разпознава думатаw1 ∗ w2 ∗ . . . ∗ wn и след спирането си върху лентата на T еполучена стойността на f(w1, w2, . . . , wn).

Д а

Page 154: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 154

Задачи

Задача 3.3.1: Опишете машина на Тюринг, която премества”четящата си глава” от най-левия символ на входната дума донай-десния без да я променя.

Отг. T = 〈{q0, qz}, V, V ∪ {⊥}, δ, q0,⊥, {qz}〉, където V епроизволна азбука, за всяко a ∈ V δ(q0, a) = (q0, a, R) иδ(q0,⊥) = (qz,⊥, L).

Машината на Тюринг T ще има следната диаграма напреходите (a е произволен входен символ):

±°²¯

±°²¯µ´¶³

- q0 qz-⊥ | ⊥, L¨ ¥

?

a | a,R

Забележка. В случай, че входната дума е празната, т.е.върху лентата няма други символи, освен празния лентовсимвол, то T ще премине една клетка вляво (ако е възможно, т.еако разглеждаме МТ неограничена в двете посоки) и ще спре.Помислете за машина на Тюринг, еквивалентна на T , която неизвършва това ”излишно” движение в ляво.

Задача 3.3.2: Постройте машина на Тюринг, проверяващадали дадено естествено число, записано в десетична бройнасистема се дели на 5.

Отг. Едно число в десетична бройна система се дели на 5тогава и само тогава, когато последната му цифра е 0 или 5.Следователно една МТ, която премества четящо-записващотоси устройство над най-дясната буква на входната дума без да я

Page 155: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 155

променя (виж зад 3.3.1) след което да премине в заключителносъстояние (т.е отговорът да е ”да”) тогава и само тогава, когатопоследната буква на думата е 0 или 5.

T = 〈K, V, W, δ, q0,⊥, F 〉, където K = {q0, q1, qY }, V ={0, 1, 2, . . . , 9}, W = {0, 1, 2, . . . , 9,⊥}, F = {qY } и за всякоi = 0, 1, 2, . . . , 9 δ(q0, i) = (q0, i, R), δ(q0,⊥) = (q1,⊥, L), δ(q1, 0) =(qY , 0,−), δ(q, 5) = (qY , 5,−). За t 6= 0 и t 6= 5, функцията напреходите δ(q1, t) не е дефинирана.

±°²¯

±°²¯

±°²¯µ´¶³

- q0 q1 qY-⊥ | ⊥, L --0 | 0,−5 | 5,−

¨ ¥?

i | i, R

Задача 3.3.3: Постройте машина на Тюринг, която проверявадали естественото число x е четно, като x е зададено в:

а) двоична бройна система;б) десетична бройна система.

Упътване. Решението е аналогично на решението на зад3.3.2, при това отговора ще е ”да” тогава и само тогава, когато

а) последната цифра на входната дува е 0;б) последната цифра на входната дува е 0,2,4,6 или 8.

Задача 3.3.4: Постройте машина на Тюринг, проверяващадали дадено естествено число, записано в десетична бройнасистема се дели на 3.

Отг. Едно десетично естествено число се дели на 3 тогаваи само тогава, когато сумата от цифрите му се дели на 3.Полагаме T = 〈K, V, W, δ, qb,⊥, F 〉, където K = {qb, q0, q1, q2, qY },

Page 156: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 156

V = {0, 1, 2, . . . , 9}, W = {0, 1, 2, . . . , 9,⊥}, F = {qY }. Некаi ∈ {1, 4, 7}, j ∈ {2, 5, 8}, k ∈ {0, 3, 9}. Тогава полагаме:

δ(qb, i) = (q1, i, R) δ(qb, j) = (q2, j, R) δ(qb, k) = (q0, k, R)δ(q0, i) = (q1, i, R) δ(q0, j) = (q2, j, R) δ(q0, k) = (q0, k, R)δ(q1, i) = (q2, i, R) δ(q1, j) = (q0, j, R) δ(q1, k) = (q1, k, R)δ(q2, i) = (q0, i, R) δ(q2, j) = (q1, j, R) δ(q2, k) = (q2, k, R)δ(q0,⊥) = (qY ,⊥,−).

Четящата глава на МТ се движи само надясно по лентатабез да променя буквите и попадайки в състояние qt, t = 0, 1, 2,това означава, че до този момент сумата от цифрите даваостатък t при даление на 3. Следователно, отговорът ще е”да” (състояние qY ) тогава и само тогава, когато при първопрочитане на празния лентов символ МТ се намира в състояниеq0.

Задача 3.3.5: Постройте машина на Тюринг, изчисляващафункцията f(x) = (x mod 3), т.е. остатъка при деление на xна 3.

Упътване. Търсената МТ ще бъде аналогична на МТ отзад 3.3.4 с тази разлика, че новата МТ ще изтрива входнитесимволи, т.е. ако в зад. 3.3.4 е имало δ(qs, a) = (qt, a, R), (a ∈ V ),то новата функция на преходите в този случай ще има видаδ(qs, a) = (qt,⊥, R) и накрая на лентата трябва да остане катоотговор 0,1 или 2, което ще осъществим с помощта на δ(q0,⊥) =(qz, 0,−), δ(q1,⊥) = (qz, 1,−), δ(q2,⊥) = (qz, 2,−).

Задача 3.3.6: Постройте МТ, проверяваща дали даденоестествено число, записано в двоична бройна система се делина 4.

Page 157: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 157

Отг. Едно двоично число се дели на 4(10) = 100(2) тогава исамо тогава, когато последните му две цифри са нули. Тогава

T = 〈{q0, q1, q2, q3, qY , qN}, {0, 1}, {0, 1,⊥}, q0,⊥, {qY , qN}〉,

където δ е зададена с помощтта на таблицата:

0 1 ⊥q0 (q0, 0, R) (q0, 1, R) (q1,⊥, L)q1 (q2, 0, L) (qN , 1,−) (qN ,⊥,−)q2 (qY , 0,−) (qN , 1,−) (qY ,⊥,−)

Задача 3.3.7: Постройте машина на Тюринг, изчисляващафункцията f(n) = 2n, където n е естествено число и се задавас блок от n единици върху входната лента.

Отг. T = 〈K, V, W, δ, q0,⊥, F 〉, където K = {q0, q1, q2, q3},V = {1}, W = V ∪ {⊥, 1}, F = {q3},

δ(q0, 1) = (q1, 1, L) δ(q1, 1) = (q1, 1, L) δ(q2, 1) = (q2, 1, L)δ(q0, 1) = (q0, 1, R) δ(q1,⊥) = (q0, 1, R) δ(q2,⊥) = (q3,⊥,−)δ(q0,⊥) = (q2,⊥, L)

±°²¯

±°²¯

±°²¯

±°²¯µ´¶³

- q0

q1

q2

q3

¨ ¥

?

1|1, R¨ ¥

?

1|1, L

§ ¦61|1, L

³³³³³³³³11|1, L ³³³³³³³³) ⊥|1, RPPPPPPPPq⊥|⊥, L ³³³³³³³1

⊥|⊥,−

Page 158: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 158

МТ маркира най-лявата немаркирана до съответниямомент единица и тръгва наляво, докато открие празна клетка,която запълва с 1. След това се придвижва надясно, докатооткрие 1 или празния лентов символ. Ако клетката е запълненас 1, то процесът се повтаря. По този начин всяка единицасе заменя с две маркирани единици. След като МТ придвижението си надясно срещне празна клетка, тя се връщаназад и размаркира маркираните единици.

Забележка. Описаната по горе МТ е с неограниченаотляво лента. Ако желаем МТ с ограничена отляво лента можемда конструираме такава като последователна композиция намашините T1 и T , където T1 премества четящата глава до най-дясната буква на входната дума без да променя останалите(виж зад. 3.3.1), а T се получава от T , заменяйки символитеL с R, а символите R с L.

Задача 3.3.8: (Копираща машана) Постройте машина наТюринг, изчисляваща функцията f(ω) = ω⊥ω, където ω ∈{0, 1}∗.

Отг. Ще конструираме МТ, която да работи по следнияначин: МТ записва в първата клетка на ω буквата x, акотам е записано 0, и y, ако там е записано 1. След товасе придвижва надясно, докато открие празна клетка. Отновопродължава надясно, докато отново открие празна клетка, вкоято печата 0 или 1 в съответствие със записа в първатаклетка на ω. С движение наляво достига отбелязаната с xили y клетка и отново записва там първоначалния символ0 или 1. После прочита клетката отдясно. Ако тя е празна,изчислителният процес спира. Ако не е празна, МТ повтаряпредишните действия.

По-долу показваме и съответната диаграма на преходите:

Page 159: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 159

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

- q0

q1

q2

q6

q3

q4

q5

¨ ¥?

1 | 1, R0 | 0, R

¨ ¥?

1 | 1, R0 | 0, R

§ ¦60 | 0, R1 | 1, R

§ ¦60 | 0, R1 | 1, R

¨ ¥?

1 | 1, L0 | 0, L

¡¡

¡¡¡µ0|x,R

@@

@@@R

1|y, R

@@

@@@R

⊥|0, L

¡¡

¡¡¡µ

⊥|1, L

-⊥|⊥, R

-⊥|⊥, R

¾ ⊥|⊥, L¾ x|0, R¾

y|1, R

±°²¯µ´¶³

¢¢

¢¢®

⊥|⊥,−

qz

Задача 3.3.9: V = {[, ]}, състоящасе от отваряща и затваряща скоба. Разглеждаме езика D отвсички правилно разположени скоби, т.е. празната дума ε ∈ Dи ако α ∈ D, то думите [ α, α[ ] и [α] също принадлежат на D итова са единствените думи от D.8

Постройте машина на Тюринг проверяваща дали даденадума над азбуката V = {[, ]} принадлежи или не принадлежина D. При това след работата си върху лентата да останеединствено 1 или 0 в зависимост от това дали съответно думатапринадлежи на D или не.

Отг. T = 〈K, V, W, δ, q0,⊥, ∅〉, където K = {q0, q1, q2, q3, q4},8 Множеството от всички такива думи се нарича ограничен език на Дик

над двобуквена азбука.

Д адена е двубуквена азбука

Page 160: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 160

V = {[, ]}, W = V ∪ {⊥, ∗, 0, 1}δ(q0, [) = (q0, [, R) δ(q0, ]) = (q1, ∗, L) δ(q0, ∗) = (q0, ∗, R)δ(q0,⊥) = (q2,⊥, L) δ(q1, [) = (q0, ∗, R) δ(q1, ∗) = (q1, ∗, L)δ(q1,⊥) = (q4, 0, R) δ(q2, [) = (q3,⊥, L) δ(q2, ∗) = (q2,⊥, L)δ(q2,⊥) = (q2, 1,−) δ(q3, [) = (q3,⊥, L) δ(q3, ∗) = (q3,⊥, L)δ(q3,⊥) = (q3, 0,−) δ(q4, [) = (q4,⊥, R) δ(q4, ]) = (q4,⊥, R)δ(q4, ∗) = (q4,⊥, R).

Когато машината е в състояние q0, главата се движи надясно,търсейки затваряща скоба. След като я намери я заменя със∗, преминава в състояние q1 и се връща обратно, търсейкисъответната отваряща скоба. Намирайки я, заменя я с ∗,преминава в състояние q0, тръгва надясно и т. н. Ако главата,движейки се на ляво достигне до празния символ ⊥ тязаписва символа 0 (не е намерена съответната отваряща скоба),преминава в състояние q4, в което състояние остава, движейкисе надясно изтривайки всичко до края на думата и спира порадинеопределеност. Ако главата, движейки се надясно достигнедо празния символ ⊥, преминава в състояние q2 и се връщаналяво, изтривайки по пътя си символите. Ако до срещанена празния символ ⊥ не срещне по пътя си отваряща скоба(думата е правилна) тя записва 1 и машината спира. Ако всъстояние q2 срещне отваряща скоба (думата не е правилна),машината преминава в състояние q3 продължава пътя си налявоизтривайки символите до срещане на ⊥ след което записва 0 испира.

Задача 3.3.10: Постройте машина на Тюринг, която позададена входна дума ω ∈ {0, 1}∗ отговаря на въпроса дали ω ес четна дължина и е ”огледална” или не, т.е. ако ω = a1a2 . . . an,то n = 2k и ai = an−i, където ai ∈ {0, 1}, i = 1, 2, . . . n.

Отг. Ще построим МТ, която работи по следния начин:Отбелязва с x първата буква a ∈ {0, 1} от входната дума

Page 161: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 161

и преминава в състояние, което е специфично за съответнатавходна буква (q1, ако a = 0 и q2, ако a = 1). В това състояние сепридвижва през останалите букви на входната дума, без да гипроменя, докато стигне до първата празна клетка. След товасе връща една клетка назад и в зависимост от това по койпът в диаграмата на преходите се ”движи” може да се сравнисъвпада ли последната буква на входната дума с първата.Ако те не съвпадат, то МТ спира работа в незаключителносъстояние, поради недефинираност на функцията на преходитев съответното състояние и съответния входен символ (вдиаграмата на преходите не излиза ребро от съответния връх-състояние, маркирано със съответния етикет). Ако символитесъвпадат, то МТ изтрива последната буква на входната дума идвижейки се наляво по думата търси буквата x без да променяостаналите букви. Откривайки буквата x, МТ се връща еднаклетка надясно, преминава в начално състояние и в случай,че новият символ не е празния лентов символ ⊥, процесътсе повтаря. В случай, че няма повече букви за сравняванеМТ преминава в заключително състояние qz и спира. Чрезиндукция по дължината на входната дума може да се докаже,че МТ разпознава точно думите с четна дължина, които сечетат еднакво отдясно наляво и отляво надясно.

По-долу показваме и съответната диаграма на преходите.

Page 162: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 162

±°²¯

±°²¯

±°²¯

±°²?̄

q4

q2

q6

q0

¨ ¥?

1 | 1, R0 | 0, R

§ ¦60 | 0, L1 | 1, L

HHHHHY1|x,R©©©©©¼

⊥|⊥, L

HHHHHj1|⊥, L ©©©©©*

x|x,R

±°²¯

±°²¯

±°²¯

q1

q5

q3

¨ ¥?

1 | 1, R0 | 0, R

§ ¦60 | 0, L1 | 1, L

©©©©©*0|x,R HHHHHj

⊥|⊥, L

©©©©©¼0|⊥, LHHHHHY

x|x,R

±°²¯µ´¶³?⊥|⊥,−qz

Задача 3.3.11: Постройте машина на Тюринг с входна азбукаV = {|, ∗} преобразуваща думата |m ∗ |n, m ≥ 1, n ≥ 1 в думата|m+n (т.е. МТ, изчисляваща сумата на две цели положителничисла).

Отг. Съответната МТ може да се зададе таблично последния начин:

| * ⊥q0 (q1,⊥, R)q1 (q1, |, R) (qEnd, |,−)

Задача 3.3.12: Нека k е цяло положително число. ПостройтеМТ, която по зададена дума ω ∈ V ∗, |ω| = n да изтривапоследните k символа. Ако k ≥ n, то резултатът да бъдепразната дума.

Отг. T = 〈{q0, q1, . . . , qk, qk+1}, V, V ∪{⊥}, δ, q0,⊥, {qk+1}〉, завсяко a ∈ V δ(q0, a) = (q0, a, R), δ(q0,⊥) = (q1,⊥, L) и за всякоa ∈ W, и i = 1, 2, . . . , k δ(qi, a) = (qi+1,⊥, L).

Page 163: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 163

Задача 3.3.13: (x div k) функцията”целочислено деление” (напр (8 div 3)=2, (24 div 5)=4 и

(x div 2);(x div 4); (x div 8); (x div 2k). Аргументът x да се задава вдвоична бройна система.

Упътване. Виж зад. 3.3.12.

Задача 3.3.14: Нека върху символа a да дефинирамеоперацията a, като по дефиниция a = a. Постройте Машина наТюринг, която да преобразува думата ω = x1x2 . . . xn ∈ {a, a}∗в думата

а) x1 x2 . . . xn

б) xn xn−1 . . . x1

Отг.:а)

a a ⊥q0 (q0, a, R) (q0, a, R) qz

±°²¯

±°²¯µ´¶³

- q0 qz-⊥ | ⊥,−¨ ¥

?

a | a,R

a | a,R

б) МТ запомня най-левия символ на входната дума (по-точно на това което е останало от нея след известна работана МТ) и го заменя със ∗. Тръгва наляво, без да променясимволите, докато открие първата празна клетка и в неязаписва ”отрицанието” на запомнения символ. След това МТ седвижи надясно, докато премине отначало през блок от символи

Д а означим с

т.н.). Д а се построят МТ изчисляващи функциите

Page 164: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 164

a или a (възможно празен), последван от блок последователниклетки, запълнени със ∗. Следват две възможности: 1 - акообозреваемата клетка веднага след блока от ∗ не е празна, топроцеса се повтаря и 2 - ако обозреваемата клетка е празна, тоМТ тръгва наляво, изтрива всички ∗ и след като срещне букваот входната азбука спира своята работа.

Описаната МТ е детерминирана, с неограничена отляволента и виж забележката след задача 3.3.7

±°²¯

±°²¯

±°²¯

±°²¯±°²¯

±°²¯

±°²¯µ´¶³

HHHj q0

q1

q2

q3

q4

qz

¨ ¥

?

∗|∗, R¨ ¥

?

∗|∗, La|a, La|a, L

¨ ¥

?

a|a,Ra|a,R

§ ¦6∗|∗, La|a, La|a, L

& %

6

∗|∗, R

³³³³³³³³1a|∗, L

PPPPPPPPqa|∗, L

PPPPPPPPq

⊥|a,R

³³³³³³³³1

⊥|a,R

©©©©©¼⊥|⊥, L

¨ ¥?

∗|⊥, L

?

a|a,−a|a,−

Задача 3.3.15: Постройте машина на Тюринг, с входна азбукаV = {a, b}, такава че при входна дума aabna да се получавадумата abnaa, при това след спиране главата да се окаже предпървата буква на новата дума.

Отг. T = 〈{q0, q1, . . . q5}, V, V ∪ {⊥}, δ, q0,⊥, {q6}〉, където

δ(q0, a) = (q1, a, R) δ(q1, a) = (q2, b, R) δ(q2, b) = (q2, b, R)δ(q2, a) = (q3, a, L) δ(q3, b) = (q4, a, L) δ(q4, b) = (q4, b, L)δ(q4, a) = (q5, a,−).

Page 165: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 165

Задача 3.3.16: Постройте МТ, която да заменя всички букви”a” на ”я” в дадена дума, записана с помощта на малките буквиот кирилицата.

Отг. T = 〈K, V, W, δ, q0,⊥, F 〉, където K = {q0, q1}, V ={а,б,в, . . . ,я}, W = V ∪ {⊥}, F = {q1}, δ(q0, а ) = (q0,я, R),δ(q0, z) = (q0, z, R), за всяко z ∈ V \ { а}, δ(q0,⊥) = (q1,⊥,−).

Задача 3.3.17: Постройте МТ, която в даден текст търсидумата муха и я заменя с думата слон, при това:

а) муха може да бъде и част от дума (мухар става слонр);б) муха да бъде цяла дума в началото, края на текста или

между два препинателна знака9 (мухар и омуха не се променят).

Отг.:а) T = 〈K, V, W, δ, q0,⊥, F 〉, където V = C ∪ P , където C е

множествота на буквите от кирилицата10, а P множеството отвсевъзможните препинателни знаци, включително и интервала.В случая символа за интервал се различава от празния лентовсимвол ⊥. W = V ∪ {⊥}, K = {q0, q1, qм, qу, qх, qа, qend}, F ={qend},

δ(q0, z) = (q0, z, R), ако z 6=мδ(q0, м) = (qм, м, R)δ(qм, z) = (q0, z, R), ако z 6=уδ(qм, у) = (qу, у, R)δ(qу, z) = (q0, z, R), ако z 6=хδ(qу, х) = (qх, х, R)δ(qх, z) = (q0, z, R), ако z 6=аδ(qх, а) = (q1, н, L)δ(q1, х) = (q1, о, L)

9 Под препинателен знак ще разбираме и интервала (шпацията).10 За улеснение само малките букви. Любознателният читател може да

усложни не много нещата, добавяйки и главни букви.

Page 166: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 166

δ(q1, у) = (q1, л, L)δ(q1, м) = (q1, с, R)δ(q0,⊥) = (qend,⊥,−).б) T = 〈K,V,W, δ, q0,⊥, F 〉, където V, W и F са както и в

подточка а), а K = {q0, q1, q2, qм, qу, qх, qа, qend}, F = {qend},δ(q0, z) = (q2, z, R), ако z ∈ C \ {м}δ(q2, z) = (q2, z, R), ако z ∈ Cδ(q2, z) = (q0, z, R), ако z ∈ Pδ(q0, z) = (q0, z, R), ако z ∈ Pδ(q0, м) = (qм, м, R)δ(qм, z) = (q2, z, R), ако z ∈ C \ {у}δ(qм, z) = (q0, z, R), ако z ∈ Pδ(qм, у) = (qу, у, R)δ(qу, z) = (q2, z, R), ако z ∈ C \ {х}δ(qу, z) = (q0, z, R), ако z ∈ Pδ(qу, х) = (qх, х, R)δ(qх, z) = (q2, z, R), ако z ∈ C \ {а}δ(qх, z) = (q0, z, R), ако z ∈ Pδ(qх, а) = (qа, а, R)δ(qа, z) = (q2, z, R), ако z ∈ C)δ(qа, z) = (q1, z, L), ако z ∈ P ∪ {⊥}δ(q1, а) = (q1, н, L)δ(q1, х) = (q1, о, L)δ(q1, у) = (q1, л, L)δ(q1, м) = (q2, с, R)δ(q0,⊥) = δ(q2,⊥) = (qend,⊥,−).

Задача 3.3.18: Нека ω ∈ {a, b}∗. С #x(ω) ще означаваме брояна буквите x в ω. Постройте машина на Тюринг, изчисляващафункцията

S(ω) =

1, ako #a(ω) > #b(ω)0, ako #a(ω) = #b(ω)−1, ako #a(ω) < #b(ω)

Page 167: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 167

Отг. T = 〈K,V,W, δ, q0,⊥, F 〉, къде-то V = {a, b},W = V ∪ {⊥, a′, b′, za, zb}, K = {q0, q1, . . . , q6, qL, s−1, s0, s+1},F = {s−1, s0, s+1} - индекса на заключителното състояниесъответствува и на стойността на функцията S(ω).

Ако ω = ω1ω2 е входната дума, то МТ създава думата α =ω′1ω2γ, където ω′1 се получава от ω1 маркирайки символите,а γ ∈ {za}∗, или γ ∈ {zb}∗. В началото и при равен броймаркирани a и b в даден момент γ = ε-празната дума.МТ последователно маркира най-левия немаркиран символ aили b и след края на входната дума променя думата γ последния начин: Ако най-левия немаркиран символ е a, то следмаркирането му, запомня този факт, преминавайки в състояниеq1, проверява дали γ ∈ {za}∗ и, ако да, то МТ добавя ново za вкрая на γ. Ако γ ∈ {zb}+, то МТ изтрива най-десния символ вγ. Следва движение вляво и МТ открива най-левия немаркирансимвол и преминава в начално състояние. По аналогичен начинМТ действа и при най-ляв немаркиран символ b, преминавайкив състояние q4. Ако в състояние q0 няма повече немаркиранисимволи a или b, то МТ преминава в заключително състояниеs−1, s0, или s+1 съответно ако γ ∈ {za}+, γ = ε, или γ ∈ {zb}+.δ(q0, a) = (q1, a

′, R) δ(q0, b) = (q4, b′, R)

δ(q1, x) = (q1, x, R), за всяко x ∈ Vδ(q4, x) = (q4, x, R), за всяко x ∈ Vδ(q1, za) = (q1, za, R) δ(q1,⊥) = (qL, za, L)δ(q1, zb) = (q2, zb, R) δ(q2, zb) = (q2, zb, R)δ(q2,⊥) = (q3,⊥, L) δ(q3, zb) = (qL,⊥, L)δ(q4, zb) = (q4, zb, R) δ(q4,⊥) = (qL, zb, L)δ(q4, za) = (q5, za, R) δ(q5, za) = (q5, za, R)δ(q5,⊥) = (q6,⊥, L) δ(q6, za) = (qL,⊥, L)δ(qL, x) = (qL, x, L), ако x /∈ {a′, b′}δ(qL, x) = (q0, x, R), ако x ∈ {a′, b′}δ(q0, za) = (s+1,−,−)

Page 168: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 168

δ(q0,⊥) = (s0,−,−)δ(q0, zb) = (s−1,−,−).

По-долу показваме и диаграмата на преходите наописаната МТ:

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

±°²¯

q0

q1 q2 q3

q4 q5 q6

qL

¨ ¥?

za|Za, Rb|b, Rb|b, R

¨ ¥?

zb|zb, R

§ ¦6a|a,Rb|b, R

zb|zb, R

§ ¦6za|za, R

¨ ¥?

a|a, Lb|b, L

§ ¦6za|za, Lzb|zb, L

¡¡

¡¡¡µa|a′, R

@@

@@@R

b|b′, R

-zb|zb, R

-za|za, R

-⊥|⊥, L

-⊥|⊥, L

¾ b′|b′, Ra′|a′, R

@@

@@@R

⊥|za, L

¡¡

¡¡¡µ

⊥|zb, L

©©©©©©©©©©¼zb|⊥, L

HHHHHHHHHHYza|⊥, R

±°²¯µ´¶³−1

¢¢

¢¢®

⊥|⊥,−

-

±°²¯µ´¶³+1

AA

AAK

za|za,−

±°²¯µ´¶³0?zb|zb,−

ленти. На първата четем входната дума, на втората копирамесимволите a, а на третата символите b, след което проверявамена коя лента (втората или третата) има повече на брой изписанисимвола.

Задача 3.3.19: Постройте недетерминирана машина наТюринг, разпознаваща думите от вида bai1bai2b . . . baikb, такиваче

j∈I

ij =∑

j /∈I

ij за някое подмножество I ⊆ {1, 2, . . . , k}. 11

11 Думата се разпознава, ако множеството от естествени числа Z =

Д руго възможно решение е ако разгледаме МТ с три

Page 169: Diskretna_Matematika_Rakovodstvo

3. Крайни автомати с памет. Машина на Тюринг 169

буквите a по случаен начин с два различни маркера - a или a,като между две букви b маркира по еднакъв начин всички буквиa. След края на думата НМТ се връща в началото и започва даработи както при задача 3.3.18 с входна азбука V = {a, a, . . .}.В случая s0 е единственото заключително състояние, а присъстояния s−1 и s+1 НМТ се връща до началото на входнатадума, изтривайки направената преди това маркировка и всичкозапочва от начало. По този начин НМТ никога няма да спре,ако входната дума не отговаря на зададеното условие.

Забележка. Помислете и за друго решение използувайкидву или трилентова НМТ. Решение на задачата с трилентоваНМТ е предложено в [3] стр.407.

Задача 3.3.20: Постройте машина на Тюринг, която даразпознава следните езици:

а) L = {anban | n ≥ 0};б) L = {anbnan | n ≥ 0}

{i1, i2, . . . , ik} може да се разбие на две подмножества A и B, такива чеA∪B = Z, A∩B = ∅ и сумата от елементите на едното множество е равнана сумата от елементите на другото множество.

Упътване. Д вижейки се надясно по лентата НМТ маркира

Page 170: Diskretna_Matematika_Rakovodstvo

4.

4.1 Основни сведения от теорията

B множеството {0, 1}. Множеството Bn

се състои от всички подредени n-орки, съставени от нули иединици. Техният брой е 2n. Елементите на Bn ще наричамедвоични n-орки или вектори.

Под двоична функция

f : Bn → B

на n променливи ще разбираме функция с област Bn и кообластB. С P n

2 ще означаваме множеството от всички двоичнифункции на n променливи.

Един от най-разпространените начини за задаване набулеви функции е чрез техните таблици на верностнитестойности. В тези таблици в първите n колони (стълба) саразположени възможните 2n на брой вектори от нули и единици,а в n + 1−та колона са съответните стойности на функцията.Тази последна колона, често се нарича стълб от верностнитестойности на функцията, а самата таблица - таблица наверностните стойности на функцията.

Стълбовете на верностните стойности на шестнадесеттефункции на две променливи са в таблицата:

Д ВОИЧНИ ФУНКЦИИ

Д а означим с

Page 171: Diskretna_Matematika_Rakovodstvo

4. 171

f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15x2 x1

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 10 00 0 0 0 1 1 1 1 0 0 0 0 1 1 1 10 10 0 1 1 0 0 1 1 0 0 1 1 0 0 1 11 00 1 0 1 0 1 0 1 0 1 0 1 0 1 0 11 1

Повечето от тези функции носят специални наименования,които са дадени на следната таблица:

- означения наименованияf0, f15 0, 1 константи нула и единица

f1 x1x2, x1 ∧ x2, конюнкция, логическо ”и”,x1&x2 логическо умножение

f7 x1 ∨ x2, дизюнкция, логическо ”или”,x1 + x2 логическо събиране

f3, f5 x1, x2 тъждествена функция,проектор, селектор

f12, f10 x1 (¬x1), x2 (¬x2) отрицание на x1, на x2

f6 x1 ⊕ x2, събиране по модул 2,изключващо ”или”

f8 x1 ↓ x2 стрелка на Пирсf14 x1|x2 черта на Шеферf9 x1 ↔ x2 равнозначност, еквивалентностf13 x1 → x2 импликация

Функцията f(x1, x2, x3) = x1x2x3 ∨ x1x2x3 се задава чрезнейната таблица от верностни стойности, както е показано наследващата таблица:

Д воични функции

Page 172: Diskretna_Matematika_Rakovodstvo

4. 172

x1 x2 x3 f(x1, x2, x3)0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 01 0 1 01 1 0 01 1 1 0

Един друг начин е задаването на функции чрез формули.Функцията f на 3 променливи, зададена чрез по-горната табли-ца, се описва много по-икономично с формулата x1(x2 ⊕ x3).Същата функция се описва и чрез други формули, напримерx1x2x3 ∨ x1x2x3 и т.н.

С помощта на формулите можем да опишем достатъчнокомпактно голям брой важни за информатиката булевифункции. Понятието формула се дефинира рекурсивно последния начин:

Нека

F = {f1(x1, x2, ..., xn1), f2(x1, x2, ..., xn2), ...} ⊂ P n2

е множество от функции на n променливи. Под формула над Fще разбираме: (i) всички функции от F ; (ii) всички изрази отвида fi(ϕ1, ϕ2, ..., ϕn), където fi ∈ F , а ϕj е или формула надF , или означава буква на променлива измежду x1, x2, ..., xn.

По естествен начин на всяка формула се съпоставя функ-ция, която тя реализира. Това се осъществява със следнитеправила:

(i) на формулата fi(x1, x2, ..., xni) ∈ F се съпоставя самата

функция fi;

Д воични функции

Page 173: Diskretna_Matematika_Rakovodstvo

173

(ii) нека на формулите ϕ1, ϕ2, ..., ϕniса вече съпоставени

функциите g1, g2, ..., gni, тогава на fi(ϕ1, ϕ2, ..., ϕni

) се съпоставясложната функция fi(g1, g2, ..., gni

).Ако една функция f се реализира поне от една формула

над F , ще казваме, че f е суперпозиция над F .Множеството от всички суперпозиции над F ще наричаме

затворена обвивка на F и ще го означаваме с [F ]. С други думи[F ] се състои от всички функции, които можем да реализирамес формули над F .

Ще казваме, че множеството от двоични функции F езатворено, ако [F ] = F , т. е. ако всяка суперпозиция над Fреализира функция от същото множество.

Ще казваме, че множеството от двоични функции F епълно, ако [F ] = P n

2 , т. е. ако всяка двоична функция сереализира с формула над F .

Пример за пълно множество е самото P n2 . Пример за мно-

жество, което не е пълно, е {x}, тъй като неговата обвивка сесъстои от тъждествените функции x1, x2, x3, ... и отрицаниятаx1, x2, x3, ...

Оказва се, че множествата {x1|x2} и {x1 ↓ x2} са пълни.Функции с това свойство, т.е. самите те да представляватпълни множества, се наричат шеферови. Фактът, че чрезшеферовите функции могат да се породят всички булевифункции, оправдава напълно интереса към тях.

Израз от вида E1 ⊕ E2 ⊕ · · · ⊕ Es, в който едночленитеE1, E2, ..., Es са различни, като всеки е конюнкция от различнипроменливи или константа, се нарича полином на Жегалкин.

Ще казваме, че двоичната функция f(x1, x2, ..., xn)запазва нулата, ако f(0, 0, ..., 0) = 0.

Множеството от всички двоични функции, запазващинулата, ще означим с T0.

Ще казваме, че двоичната функция f(x1, x2, ..., xn)

4. Д воични функции

Page 174: Diskretna_Matematika_Rakovodstvo

174

запазва единицата, ако f(1, 1, ..., 1) = 1.Множеството от всички функции, запазващи единицата,

ще означим с T1.Функцията f(x1, x2, ..., xn) ще наричаме двойствена на

f(x1, x2, ..., xn) и ще я означаваме с f ∗(x1, x2, ..., xn).Ще казваме, че f(x1, x2, ..., xn) е самодвойствена, ако

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

S множеството на всички самодвойственифункции.

Нека α = 〈a1, a2, ..., an〉 и β = 〈b1, b2, ..., bn〉 са две n-орки.Ще казваме, че α предхожда β (или че β следва α ), ако

са изпълнени неравенствата

a1 ≤ b1, a1 ≤ b2, ..., an ≤ bn.

Фактът, че α предхожда β, ще означаваме с α ≺ β.Ако α и β се различават в една позиция, ще казваме, че α

и β са съседни. Ако в редицата

α1 ≺ α2 ≺ ... ≺ αi−1 ≺ αi ≺ αi+1 ≺ ... ≺ αs

всеки член е съседен с левия и с десния си съсед, ще казваме,че тази редица е верига с дължина s− 1, която свързва α1 с αs.

Ще казваме, че функцията f(x1, x2, ..., xn) е монотонна,ако от α ≺ β следва f(α) ≤ f(β).

M множеството от всички монотоннидвоични функции.

Ще казваме, че f(x1, x2, ..., xn) е линейна, ако нейниятполином на Жегалкин е линеен.

L множеството от всички линейнифункциии.

4. Д воични функции

Д а означим с

Д а означим с

Д а означим с

Page 175: Diskretna_Matematika_Rakovodstvo

175

Всяка формула, която се състои от дизюнкция наконюнкции между променливи или техни отрицания, се нарича

Например формулата,реализираща функцията f с равенството

f = x1x2x3 ∨ x3x4x6 ∨ x1x5 ∨ x4x6,

ако е сминимална сложност, т.е. с минимален брой на появяванията

Една конюнкция K на променливи или отрицания напроменливи се нарича импликанта на функцията f, ако отK = 1 следва, че f = 1. Например конюнкцията K = x3x4x6 еимпликанта на функцията, която се реализира от зададената

разглеждат като думи над азбуката на променливите и технитеотрицания. Една импликанта K се нарича проста импликантаза функцията f , ако никоя друга импликанта на f не е поддумана K. Например x4x6 е проста импликанта на f , докато x3x4x6

не е такава.

на дадена функция, тя се наричаn, тя се

наричаможе да се намери чрез следния алгоритъм:

б) образуват се всички дизюнкции от всевъзможнитемножества от прости импликанти и се определят

имат минимална сложност.

4. Д воични функции

дизюнктивна нормална форма (Д НФ).

е Д НФ. Една Д НФ е минимална (МД НФ),

на променливи в нея, от еквивалентните и Д НФ.

по-горе Д НФ. Импликантите на една функция могат да се

Ако една Д НФ се състои от всички прости импликантисъкратена Д НФ Ф).(СД Н

Когато всички импликанти на една Д НФ имат дължинасъвършенна Д НФ (СвД НФ). МД НФ за дадена функция

а) получава се СД НФ;

всевъзможните СД НФ за дадената функция;в) измежду определените Д НФ се избират тези, коитов б)

Следователно занамирането на МД НФ основнотозатруднение се състои в получаването на СД НФ. Съществуват

Page 176: Diskretna_Matematika_Rakovodstvo

176

различни методи за решаването на тази задача.Променливата xi се нарича неотрицателна

(положителна) за f , ако f(xi=0) ≤ f(xi=1) (f(xi=0) < f(xi=1)),където f(xi=a) е следната функция на n − 1 променливиf(x1, . . . , xi−1, a, xi+1, . . . , xn).

Променливата xi се нарича неположителна (отрица-телна) за функцията f , ако f(xi=1) ≤ f(xi=0) (f(xi=1) < f(xi=0)).

Когато една променлива е положителна или отрицателназа дадена булева функция, тя се нарича съществена за нея, а впротивния случай - фиктивна.

Една функция се нарича симетрична, ако за всякоразместване (пермутация) на променливите, самата функцияне се изменя.

Например, функцията f = x1 ⊕ x2 ⊕ x3 е симетрична, тъйкато f = x2⊕x1⊕x3 = x2⊕x3⊕x1 = x3⊕x2⊕x1 = x3⊕x1⊕x2 =x1 ⊕ x3 ⊕ x2.

Едно множество от функции се нарича база в P n2 , ако е

пълно, а всяко негово собствено подмножество не е пълно.

Задачи

Задача 4.1.1:на n променливи е 22n

.

Задача 4.1.2: Намерете броя на всички частични двоичнифункции на n променливи.

Отг. 32n.

Задача 4.1.3:а) x1x1 = x1, x1 ∨ x1 = x1, x1 ⊕ x1 = 0;б) x1x2 = x2x1, x1 ∨ x2 = x2 ∨ x1, x1 ⊕ x2 = x2 ⊕ x1;

4. Д воични функции

Д окажете, че броя на всички двоични функции

Д окажете следните равенства:

Page 177: Diskretna_Matematika_Rakovodstvo

177

в) x1(x2x3) = (x1x2)x3, x1 ∨ (x2 ∨ x3) = (x1 ∨ x2) ∨ x3,x1 ⊕ (x2 ⊕ x3) = (x1 ⊕ x2)⊕ x3;

г) x1(x2∨x3) = (x1x2)∨(x1x3), x1∨(x2x3) = (x1∨x2)(x1∨x3),x1(x2 ⊕ x3) = (x1x2)⊕ (x1x3);

д) x10 = 0, x1 ∨ 0 = x1, x1 ⊕ 0 = x1;е) x11 = x1, x1 ∨ 1 = 1, x1 ⊕ 1 = x1;ж) x1x1 = 0, x1 ∨ x1 = 1, x1 + x1 = 1;з) (x1x2) = (x1) ∨ (x2), (x1 ∨ x2) = (x1)(x2).

Задача 4.1.4:x1(x2 ∨ x3 ∨ ... ∨ xk) = x1x2 ∨ x1x3 ∨ ... ∨ x1xk

иx1(x2 + x3 + ... + xk) = x1x2 + x1x3 + ... + x1xk.

Задача 4.1.5: Ако F и G са две множества от двоичнифункции, то докажете, че:

1. F ⊂ [F ].2. От F ⊂ G следва [F ] ⊂ [G].3. [F ] ∪ [G] ⊂ [F ∪ G].4. [[F ]] = [F ].

Задача 4.1.6: Постройте формула над {x1 ∨ x2, x1x2, x}, коятода реализира функцията, зададена чрез следната таблица:

x1 x2 x3 f(x1, x2, x3)0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 11 0 1 01 1 0 01 1 1 1

Д окажете, че

Page 178: Diskretna_Matematika_Rakovodstvo

178

Постройте полином на Жегалкин, с който се реализира тазифункция.

Задача 4.1.7: {x1, x1, x2, x2, x3, . . .}е затворено.

Задача 4.1.8: (Бул). {x1, x1 ∨x2, x1x2} от двоични функции е пълно.

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

f(a1,a2,...,an)=1

xa11 xa2

2 ...xann ,

където дизюнкциите се вземат по всички n−орки 〈a1, a2, ...., an〉,за които f(a1, a2, ..., an) = 1 и

xa =

{x, a = 0x, a = 1.

Задача 4.1.9: F е пълно множество отдвоични функции, то тогава необходимо и достатъчно условиемножеството от двоични функции G да е пълно, е всичкифункции от F да са суперпозиции над G.

Задача 4.1.10: Намерете броят на всички полиноми наЖегалкин на n променливи.

Упътване. Пребройте различните едночлени, коитосъдържат различен брой променливи.

Отг. 22n.

Задача 4.1.11:реализира точно с един полином на Жегалкин.

4. Д воични функции

Д окажете, че множеството

Д окажете, че множеството

Упътване. кажете, чеД о

Д окажете, че ако

Д окажете, че всяка двоична функция се

Page 179: Diskretna_Matematika_Rakovodstvo

179

Упътване. Използувайте Задача 4.1.10.

Задача 4.1.12:а){x1 ∨ x2, x1};б) {x1x2, x1};в) {x1|x2};г) {x1 ↓ x2}.д) {x1x2, x1 + x2, 1}.

Упътване. Използувайте Теоремата на Бул (Задача 4.1.8)и Задача 4.1.9.

Задача 4.1.13: {x1 + x2 + x3, x1x2, 0, 1} е пълномножество.

Задача 4.1.14: {x1x2, x1 ∨ x2} не е пълно мно-жество.

Задача 4.1.15: Намерeте броя на шеферовите функции в P n2 .

Отг. 22n−2 − 22n−1−1.

Задача 4.1.16: C е множество от двоичнифункции, за което се изпълняват условията:

а) всички тъждествени функции принадлежат на C;б) всяка суперпозиция на функции от C също принадлежи

на C,то C е затворено.

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

4. Д воични функции

Д окажете, че следните множества са пълни

Д окажете, че

Д окажете, че

Д окажете, че ако

Page 180: Diskretna_Matematika_Rakovodstvo

180

Упътване. Ако f(x1, x2, ..., xn) ∈ T0, то стойността нафункцията f е фиксирана върху нулевата n-орка, а върхуостаналите 2n − 1 n-орки f може да приема произволнистойности.

Отг. 22n−1.

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

Задача 4.1.19:функции, които запазват нулата, е затворено, но не е пълно.

Задача 4.1.20:

неотрицателни.

Задача 4.1.21: Намерете броя на всички функции в P n2 , които

имат точно k съществени променливи, за k = 1, 2, . . . , n.

Задача 4.1.22:функции, които запазват единицата, е затворено, но не е пълно.

Задача 4.1.23: Ако f0 е двоична функция, която не запазванулата, а f1 не запазва единицата, то докажете, че {0, 1} ⊂[{f0, f1}] или {x} ⊂ [{f0, f1}].

Задача 4.1.24: Определете двойствените функции наследните двоични функции:

1. x2. x3. x1x2

4. x1 ∨ x2

5. x1 + x2.

4. Д воични функции

Д окажете, че множеството от двоичните

Д окажете, че една двоична функция емонотонна точно тогава, когато всичките и променливи са

Д окажете, че множеството от двоичните

Page 181: Diskretna_Matematika_Rakovodstvo

181

Задача 4.1.25: Определете броя на всички самодвойственидвоични функции на n променливи.

Отг. 22n−1.

Задача 4.1.26: Sните двоични функции е затворено, но не е пълно.

Задача 4.1.27: D1(f) множеството от всичкидвоични вектори с n компоненти, за които f приема стойност1. Докажете, че ако f ∈ S, то |D1(f)| = 2n−1.

Задача 4.1.28: f0 е двоична функция,която не запазва нулата, f1 не запазва единицата и fs не есамодвойствена, то {0, 1} ⊂ [{f0, f1, fs}].Задача 4.1.29: Нека α и β са две двоични наредени n−орки.Ако α ≺ β, то постройте верига, която свързва α с β, дължинатана която е равна на броя на несъвпадащите позиции в α и β.

Задача 4.1.30: ”добра” долна оценка за броя намонотонните двоични функции на n променливи.

bmc най-голямото цяло число,което не е по-голямо от mдвоични функции, които се определят по следния начин:а) за n-орки с по-малко от bn

2c единични компоненти приемат

стойност 0; б) за n-орки с повече от bn2c единици приемат

стойност 1; в) върху n-орки с bn2c единици, приемат произволна

стойност.

и тъй като се определят произволно върху(

nbn

2c)-орки, броят им

е 2( nbn

2 c).

4. Д воични функции

Д окажете, че множеството на самодвойстве-

Д а означим с

Д окажете, че ако

Д а се намери

Упътване. Д а означим с. Д а разгледаме множеството от

Д окажете, че всички тези двоични функции са монотонни,

Page 182: Diskretna_Matematika_Rakovodstvo

182

Задача 4.1.31: Намерете броя на монотонните двоичнифункции, които имат не повече от n съществени променливи.

Бележка. На авторите на ръководството, не е известенотговорът на тази задача?!

Задача 4.1.32: M на монотоннитедвоични функции е затворено, но не е пълно.

Задача 4.1.33: f0 е двоична функция,която не запазва нулата, f1 не запазва единицата, fs

не е самодвойствена и fm не монотонна, то {0, 1, x} ⊂[{f0, f1, fs, fm}].

План на доказателството. Нека f0, f1, fm и fs садвоични функции от F , които не принадлежат съответно накласовете T0, T1,M и S. Като се използуват функциите g0(x) =f0(x, . . . , x) и g1(x) = f1(x, . . . , x), докажете, че {0, 1} ⊂ [{f0, f1}]или {x} ⊂ [{f0, f1}].

Нека 〈a1, . . . , an〉 ∈ Vn и fs(a1, . . . , an) = fs(a1, . . . , an).Като се използува функцията h(x) = fs(x

a1 , . . . , xan), докажете,че {0, 1} ⊂ [{f0, f1, fs}].

Нека〈a1, . . . , ai−1, 0, ai+1, . . . , an〉 и 〈a1, . . . , ai−1, 1, ai+1, . . . , an〉 садвоични n-орки, за които fm(a1, . . . , ai−1, 0, ai+1, . . . , an) >fm(a1, . . . , ai−1, 1, ai+1, . . . , an). Като се използува функциятаt(x) = fm(a1, . . . , ai−1, x, ai+1, . . . , an), докажете, че{0, 1, x} ⊂ [{f0, f1, fs, fm}].Сравнете тази задача със Задачи 4.1.23 и 4.1.28

Задача 4.1.34: Определете кои от следните двоични функцииx1 ∨ x2, x1 + x2 + x3, x1|x2 и x1x2...xn, са монотонни и кои неса монотонни.

4. Д воични функции

Д окажете, че множеството

Д окажете, че ако

Page 183: Diskretna_Matematika_Rakovodstvo

183

Задача 4.1.35: Намерете всички монотонни двоични функциина две променливи.

Задача 4.1.36:ни функции, които не запазват 1, са константите.

Задача 4.1.37:

функции на n променливи не е по-голям от n( n[ n2 ]), където с [m]

е означено най-голямото цяло число, което е по-малко от m.

Задача 4.1.38:функция е суперпозиция над {x1 ∨ x2, x1x2}.

Задача 4.1.39: L на линейнитедвоични функции е затворено, но не е пълно.

Задача 4.1.40: Определете броя на всички линейни двоичнифункции на n променливи.

Отг. 2n+1.

Задача 4.1.41: f е линейна двоичнафункция, то f не притежава нито една неотрицателна и нитоедна неположителна променлива.

Задача 4.1.42: Намерете броя на всички линейни двоичнифункции, които имат най-много n съществени променливи.

Задача 4.1.43:двоични функции в P n

2 е 2n+1.

Задача 4.1.44:монотонни функции в P n

2 е n + 1.

4. Д воични функции

Д окажете, че единствените монотонни двоич-

Д окажете, че броят на монотонните двоични

Д окажете, че всяка монотонна двоична

Д окажете, че множеството

Д окажете, че ако

Д окажете, че броят на всички симетрични

Д окажете, че броят на всички симетричнии

Page 184: Diskretna_Matematika_Rakovodstvo

184

Задача 4.1.45: f ,функцията xn+1f ∨ xn+1f

∗ е самодвойствена.

Задача 4.1.46: f и g са две самодвойственидвоични функции, за които f(x1=1) = g(x1=1), то f = g.

Задача 4.1.47: f0 е двоична функция,която не запазва нулата, f1 не запазва единицата, fs нее самодвойствена, fm не монотонна и fl не е линейна, то{0, 1, x, x1x2} ⊂ [{f0, f1, fs, fm, fl}].

Задача 4.1.48: Определете кои от функциите x1x2, x1 +x2 +1,x1, и x1x2 ∨ x1x3 ∨ x2x3 са линейни.

Задача 4.1.49: Намерете всички линейни двоични функциина три променливи.

Задача 4.1.50:е суперпозиция над {x1 + x2, 1}.

Задача 4.1.51: (Критерий за пълнота) Ако F е множествоот двоични функции, което не е подмножество на нито едно отмножествата T0, T1, M, S и L, то F е пълно множество.

Задача 4.1.52:на критерия за пълнота.

Задача 4.1.53:шеферова точно тогава, когато не принадлежи на нито едноот множествата T0, T1 и S.

Задача 4.1.54: P n2 има най-много

четири двоични функции.

4. Д воични функции

Д окажете, че за всяка двоична функция

Д окажете, че aко

Д окажете, че ако

Д окажете, че всяка линейна двоична функция

Д окажете верността на твърдението, обратно

Д окажете, че една двоична функция е

Д окажете, че всяка база в

Page 185: Diskretna_Matematika_Rakovodstvo

185

Задача 4.1.55:P n

2 заедно с отрицанието, ако е линейна, несамодвойствена ипринадлежи на T0 или на T1.

Задача 4.1.56:

Задача 4.1.57:функция се състои само от прости импликанти на тазифункция.

Задача 4.1.58:

4.2

Един пример на устройства, които реализират булевитеоперации и функции са превключвателните вериги. В тяхбулевите променливи или константи се интерпретират съссъответни на тях превключватели (прекъсвачи). Всъщност

¡¡µ -r r r r r r r rx1 = 0 x1 = 1

Fig. 4.1:

прекъсвачите са устройства с две състояния (стойности):включено - (”1”) и изключено - (”0”). На езика наелектрическите схеми прекъсвачите и техните две състояниясе представят по начин, показан на фиг. 4.1.

От физиката знаем, че компонентите на една електрическаверига могат да се свързват последователно или успоредно.

4. Д воични функции

Д окажете, че една функция образува база в

Д окажете, че всяка двоична функция иматочно една СвД НФ.

Д окажете, че МД НФ на всяка двоична

Д окажете, че всяка двоична функция сереализира от някоя СД НФ.

Д воични функции и cxеми

Д вата начина на свързване са показани на Виждафиг. 4.2.

Page 186: Diskretna_Matematika_Rakovodstvo

186

¡¡µr r r r¡¡µr rAx1 x2

B

¡¡µ

r

r

¡¡µ

r

r

r

rx2

x1

BA

Fig. 4.2:

се, че първата схема а) реализира операцията конюнкция x1x2,защото ако в началото A на схемата се подаде електрическисигнал, той ще достигне до края (изхода) B на схемата самоако x1 = 1 и x2 = 1, т.е. точно тогава, когато x1x2 = 1. Навтората схема б), сигналът ще достигне до изхода точно тогава,когато x1 = 1, x2 = 0 или x1 = 0, x2 = 1 или x1 = 1, x2 = 1.Следователно втората схема реализира дизюнкцията x1 ∨ x2.

Отрицанието x1, се реализира с помощта на прекъсвач във

r r r rx1

x1

¡¡¡¡µ

-

r

A B

C

Fig. 4.3:

верига с две възможни позиции за включване x1 и x1, както епоказано на фиг. 4.3. Сигналът в B се получава само ако x1 = 1и x1 = 0, а в C при x1 = 0 и x1 = 1 .

Следователно при подходящо свързване на прекъсвачи ведна електрическа верига се реализира някоя булева функция,което се изразява в това, че на изхода се получава сигналсамо за такова свързване на прекъсвачите (променливите), че

4. Д воични функции

Page 187: Diskretna_Matematika_Rakovodstvo

187

съответната функция приема стойност 1. Например функциятаf = (x1∨x2)x3x4 може да се реализира със следната схема (фиг.4.4).

¡¡µr r r¡¡µr rx3 x4

B

¡¡µ

r

r

¡¡µr

r

rx2

x1

A

Fig. 4.4:

Най-общо под логически елемент ще си мислимелектронно или изобщо някакво устройство,1 което можеда ”изпълнява” някоя от базовите булеви операции.

Входовете и изходът на логическите елементи са булевипроменливи или константи, чиито стойности могат да бъдат”технологично” определени, например с наличието ”1” или пъкс отсъствието ”0” на електронен или някакъв сигнал в тях.

(операции).OR-елемент. Чрез този елемент се реализира операцията

дизюнкция. Ако на входовете му се зададат няколко булевипроменливи, на изхода се получава тяхната дизюнкция.

AND-елемент - реализира конюнкцията x1x2.NOT-елемент - реализира отрицанието x1.На фиг. 4.5 са представени схематичните обозначения на

тези елементи.1 За предпочитане е такова устройство да се възприема толкова

абстрактно, че да не се свързва с някакво техническо или каквото и дабило конкретно изпълнение.

4. Д воични функции

Д а разгледаме най-напред основните логически елементи

Page 188: Diskretna_Matematika_Rakovodstvo

188

¥¦

¥¦

x1

x2

x1 ∨ x2¥¦

x1

x2

x1x2 bx1 x1HH©©

OR AND NOT

Fig. 4.5:

Логическа (функционална, комбинационна илиизчислителна) схема представлява група от логическиелементи, които се свързват, чрез своите входове и изходи, такаче на изхода на схемата да се получават стойностите на някоябулева функция при съответните стойности на входовете.

С логическите елементи и след подходящото им свързване(последователно или паралелно) се получават логически схемина съответните булеви функции. Този процес на реализиране нафункциите чрез схеми се нарича синтез на логически схеми.Обратно, когато от дадена логическа схема се възстановявабулевата функция, която е реализирана чрез схемата, говоримза анализ на логически схеми.

достатъчни само два елемента, например NOT и AND или пъкNOT и OR (Виж Задача 4.1.12. ) За някои булеви функции, сцел да се опрости анализът или синтезът на схемите, също сеизползуват специални схематични обозначения и по този начинна тях може да се гледа като на логически елементи. Такива санапример елементите, показани на фиг. 4.6, които представятсъответно операциите x1 ⊕ x2, x1x2 = x1|x2 и x1 ∨ x2 = x1 ↓ x2.

4. Д воични функции

Д а отбележим, че за синтеза на всички булеви функции са

Page 189: Diskretna_Matematika_Rakovodstvo

189

¥¦

¥¦

x1

x2

x1 ⊕ x2¥¦

¥¦

x1

x2

x1x2b ¥¦

¥¦

x1

x2

x1 ∨ x2b

XOR NAND NOR

Fig. 4.6:

Приложение на логическите cxеми

Машинно сравняване на числата.

Една от най-важните операции върху данните визчислителните системи е сравняването, т.е. установяванетодали две думи над дадена азбука са различни по между си,или не. Тъй като тази задача в общия случай е ”непоносимо”трудна, чрез компютрите обикновено се прави машинносравняване на думи в езици, породени от автоматни илибезконтекстни граматики. От друга страна, всяка дума надпроизволна крайна азбука може да се кодира като дума надV = {0, 1}. Тогава общата задача се състои в сравняване надуми от нули и единици. Ще покажем как се сравняват такивадуми с дължина 1. За описание на едноразрядното сравняванеда предположим, че x1 и x2 са два елемента от V.

устройство (компаратор), което има два входа за числата x1 иx2 и три изхода f1, f2 и f3 за трите възможни резултата x1 =x2, x1 < x2 и x1 > x2. Нека на изхода f1 постъпва сигнал, когатоx1 = x2. Следователно f1 = 1, когато x1 = x2 = 0 или когатоx1 = x2 = 1. Ако f2 е изходът на устройството, който получавасигнал при x1 > x2, то f2 = 1 при x1 = 1 и x2 = 0. Също така,ако f3 е изходът на устройството, в който пристига сигнал приx1 < x2, то f3 = 1, само ако x1 = 0 и x2 = 1. Следователно f1, f2

и f3 са булеви функции, зададени чрез следната таблица:

4. Д воични функции

Д а си представим, че нашият алгоритъм се реализира на

Page 190: Diskretna_Matematika_Rakovodstvo

190

x1 x2 f1 f2 f3

0 0 1 0 00 1 0 0 11 0 0 1 01 1 1 0 0

От тази таблица се вижда, че f1 = x1x2 ∨ x1x2, f2 = x1x2 иf3 = x1x2. Логическите схеми на тези функции са зададени нафиг. 4.7. Това всъщност е схемата на едно устройство, коеторешава задачата за едноразрядно сравняване.

bHH©©

¥¦¥¦¥¦¥¦

bHH©©r

r

r

r

rrx1

x2

¥¦

¥¦

f1

f2

f3

Fig. 4.7:

Кодиране и декодиране на информацията.

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

устройство, което осъществява това. Процесът на декодиране наинформация настъпва, когато редици от нули и единици трябва

4. Д воични функции

Д воичното кодиране се огато е необходимоприлага, к

крайни редици от нули и единици. Д а наречем

Page 191: Diskretna_Matematika_Rakovodstvo

191

да се превърнат в думи над друга азбука. Устройствата, коитоосъществяват декодиране, се наричат декодери.

Тук ще разгледаме логическата схема, по която можеда се изгради един декодер. Ще предполагаме, че имаме задекодиране двуразрядна (двубитова) информация, т.е. дума надV = {0, 1} с дължина 2 и нека тази дума е записана с x1x2,където x1 и x2 са булеви променливи. Такива думи са общочетири - 00, 01, 10 и 11 и чрез тях са кодирани съответночислата 0, 1, 2 и 3. Ще искаме нашето устройство, когато навхода се подаде 00, да изведе 0; когато на входа е 01, да изведе1; когато на входа е 10, да изведе 2 и при входна дума 11 даизведе 3. Тези четири възможни изхода представляват четирибулеви функции, зададени със следната таблица:

x1 x2 f0 f1 f2 f3

0 0 1 0 0 00 1 0 1 0 01 0 0 0 1 01 1 0 0 0 1

Следователно f0 = x1x2, f1 = x1x2, f2 = x1x2 и f3 =x1x2. Тези равенства показват как да се построят логическитесхеми, реализиращи горните функции и понеже променливитена функциите са едни и същи, следва, че е възможно да сепостроят схемите и на четирите функции с общи входове.

Нека сега съвместно с декодера да разгледаме един екрансъс седем светещи сегмента s1, . . . , s7. Лесно се съобразява, чеако изходът f0 се свърже със сегментите s1, s2, s4, s5, s6 и s7,то при декодирането на двоичното число 00 на екрана ще сезасвети числото 0, ако се свърже изходът f1 със сегментите s2 иs4, ще се декодира двоичната редица 01 с числото 1. Аналогичнопри подходящо свързване на изходите f2 и f3 със съответнитесегменти ще се декодират и редиците 10 и 11 в числата 2 и 3.

4. Д воични функции

Page 192: Diskretna_Matematika_Rakovodstvo

192

¥¦

¥¦

r

bHH©©

x1

x2 ¥¦

¥¦

bHH©©

f0

f1

f2

f3r rr

r

r

£ ¢

¤ ¡¤£ ¡¢

£ ¢

¤ ¡

¤£ ¡¢

£ ¢

¤ ¡

£ ¢

¤ ¡

¤£ ¡¢

q

q

q

q

q

qq

q

q

q

q

q

q

q

qqq

q

q

q

q

s1

s2

s3

s4

s5

s6

s7

Fig. 4.8:

Тази възможност е показана на фиг.4.8, като схемата на нея етехнологически ”почти” готова за изпълнение.

като булеви функции на входните променливи x1 и x2, тъй катоможе да им се припишат само две стойности ”1”, когато светяти ”0”, когато не светят. Тези функции могат да се зададат чрезтаблицата:

x1 x2 s1 s2 s3 s4 s5 s6 s7

0 0 1 1 0 1 1 1 10 1 0 1 0 1 0 0 01 0 1 1 1 0 1 1 01 1 1 1 1 1 1 0 0

Следователно s1 = s5 = x1 ∨ x2, s2 = 1, s3 = x1, s4 = x1 ∨ x2, s6 =x2, s7 = x1x2.

Проектиране на електронни чипове.

4. Д воични функции

Д а отбележим, че самите сегменти могат да се разглеждат

Page 193: Diskretna_Matematika_Rakovodstvo

193

в проектирането на основните елементи на съвременнитекомпютри - електронните чипове.

Размерите на чиповете се изменят в приблизителниграници от 0.005 m до 0.05 m.

В чиповете са вградени електронни схеми, които секомпозират от логически елементи и реализират с логическисхеми някои двоични функции. Броят на логическите елементив един чип се изменят в един широк диапазон от 2 до няколкохиляди.

Една интегрирана последователност от елементивсъщност е реализация на една голяма логическа схема,която се нарича интегрална схема. Интегралните схеми сереализират и отъждествяват със съответните им чипове.

Интегралните схеми се композират от десетки хиляди идори повече елементи. 2

Примерна схема на чип с 4 логически елемента и 14свързващи крачета (контактори) е представена на фиг.4.9.Контакторите с номера 1 и 14 са за източника на напрежениеи евентулно зануляване, а останалите са входове или изходи налогическите елементи на схемата. Обикновено контакторите серазполагат в две линии, както са показани и на схемата.

2 Съществуват схеми с над 1000000 елемента, а дори в близко бъдещетази цифра може неколкократно да се умножава по 10.

4. Д воични функции

Д руго важно приложение схеми ена логическите

Page 194: Diskretna_Matematika_Rakovodstvo

194

¥¦

¥¦b

¥¦ ¥

¦¥¦b

¥¦

¥¦b

¥¦

¥¦b

8 9 10 11 12 13 14

1 2 3 4 5 6 7

Fig. 4.9:

Мултиплексор и демултиплексор.

Мултиплексорите и демултиплексорите, са основнитеселектиращи устройства в компютрите. Чрез мултиплексорасе подбира една измежду няколко линии от входящи даннии тя се съпоставя на единствената изходяща линия. Тазиоперация е една от най-често използуваните при разклоняванена алгоритми и програми. Например при управляващитеструктури - цикли, условни оператори и др. е необходимоизпълнението на програмата да продължи в едно измеждуняколко нейни разклонения, в зависимост от стойноститена някои параметри, т.е. от стойностите на входовете насъответния на структурата мултиплексор.

Обратната задача се решава от демултиплексор и сесъстои в това, ако се знае при какви изисквания е биласелектирана стойността на даден мултиплексор, то тазистойност да се отдели измежду възможни други стойности ида се съпостави на едно множество от информационни линии

4. Д воични функции

Page 195: Diskretna_Matematika_Rakovodstvo

195

(изходи).Схемата на един сравнително прост мултиплексор е

представена на фиг.4.10.а). Той има два входа и един изходи поради това се нарича 2-на-1 мултиплексор. Булеватапроменлива s се нарича селектор.

¥¦

¥¦

x1

¥¦

¥¦x2

bHH©©

¥¦sf

r

¥¦

¥¦

¥¦

¥¦bHH©©

f

s

x1

x2r

r

а) б)

Fig. 4.10:

В зависимост от стойността на s на изхода f се съпоставяx1 или x2. Когато s = 1 имаме f = x2, а когато s = 0 се получаваf = x1. Селектиращият сигнал s също е булева променлива итогава изходът f е функция на променливите s, x1 и x2, коятосе задава с формулата f = (s ∨ x1)(s ∨ x2).

Съответствуващият демултиплексор на горниямултиплексор има схемата, зададена на фиг.4.10.б). Селекторътs е булева променлива и в зависимост от неговата стойност сеизвежда входът f върху изходите x1 или x2. Така при s = 0 щеследва, че x1 = f , докато при s = 1 ще имаме x2 = f.

Когато се построява схемата на мултиплексор с повечеот два входа, се използуват повече от една селектиращапроменлива.

Анализ на логически схеми.

За да се улесни анализа, елементите на схемата сегрупират на нива, което е по-лесно да се извърши от

4. Д воични функции

Page 196: Diskretna_Matematika_Rakovodstvo

196

изхода към входовете на системата. На фиг.4.11 е показанокак да се извърши анализ на една конкретна логическасхема. Вертикалните пунктирани линии показват различнитеелементни нива на схемата. Последният елемент представлявапървото ниво, неговите преки предшественици образуватвторото ниво, техните предшественици представят третото нивои т.н. След като се определят нивата в схемата, се поставятфункциите fi, реализирани след всеки елемент в схемата,като се започва от най-високите нива и накрая се получавафункцията f, която се реализира от самата схема. Конкретно

¥¦

¥¦

¥¦

bHH©©

¥¦

¥¦

¥¦

x1

x2

x3

1234

rr

r x2

x1 ∨ x2

x1x2 r

x1 ∨ x3

x1x2

x1x2x3

x1x2x3

¥¦

¥¦

Fig. 4.11:

за схемата на фиг.4.11 се получава, че тя реализира булеватафункция f = x1x2x3.

4. Д воични функции

Page 197: Diskretna_Matematika_Rakovodstvo

197

Синтез на логически схеми.

За самия синтез от важно значение е в какъв вид езададена функцията, подлежаща на синтез. Това може да станечрез таблица на верностните стойности, формула и т.н. Щеразгледаме само случая, когато изходната функция е зададена

Особено важно е схемите, които ще бъдат синтезирани,да са максимално прости, тъй като от тях впоследствие сереализират конкретните електронни устройства, с които сеокомплектува елементната база на реалните изчислителнисистеми. Като мярка за сложност на схемите могат дасе разглеждат: броят на логическите елементи, броят навходовете във всички елементи на схемата, броят на различнитеелементни нива и т.н. Например за схемата на фиг.4.11 броятна елементите е 7, броят на входовете е 13, а броят на нивата е4. Същата схема е еквивалентна (реализира същата функция)на схемата, представена на фиг.4.12, за която тези параметриса съответно 2, 4 и 2.

bx1 x1HH©©

¥¦

x3

x2

x1x2x3

Fig. 4.12:

Броят на входовете в такава схема съвпада със сложността

NOT-елементите в схемата.

Задачи

4. Д воични функции

със своята МД НФ.

на съответната Д НФ, като не се вземат предвид отрицанията вД НФ и

Page 198: Diskretna_Matematika_Rakovodstvo

198

Задача 4.2.1: Постройте схеми, с които се реализиратследните двоични функции:

а) x1x2 ∨ x2x4 ∨ x3x4; б) x1x2x3 ∨ x1x2x4;в) (x1 ∨ x2)(x2x3x4); г) x1x2 ∨ x1x2 ∨ 1;д) x1x2 ∨ x3(x1 ∨ x2); е) x1x2 ∨ x2x3 ∨ x3x1;

ж) x1 ∨ x2 ∨ x2x3; з) (x1x2 ∨ x3)x4.

Задача 4.2.2: Ръководството на една фирма се състои оттрима души. Постройте схемата на верига, която произвеждасигнал точно тогава, когато :

а) дадено предложение е прието;б) дадено предложение не е прието.

Задача 4.2.3:a) всяка двоична функция може да се реализира само с

NOR-елементи;b) всяка двоична функция може да се реализира само с

NAND-елементи.Упътване. Използувайте свойствата на затворените и

пълните множества и Задача 4.1.12.

Задача 4.2.4: Постройте декодер на двоични думи спроизволна крайна дължина.

Задача 4.2.5: Постройте логическа схема на компаратор,който установява дали едно двоично число с два разряда епо-голямо, равно или по-малко от друго двуразрядно двоичночисло.

Задача 4.2.6: Постройте схема на 4-на-1 мултиплексор.Упътване. Разгледайте функцията:

f = x1s1s2 ∨ x2s1s2 ∨ x3s1s2 ∨ x4s1s2.Схемата, която реализира функцията е:

4. Д воични функции

Д окажете, че:

Page 199: Diskretna_Matematika_Rakovodstvo

199

¥¦

¥¦

¥¦

¥¦

bHH©©

¥¦

¥¦

¥¦

¥¦ ¥

¦f

bHH©©

r

r

r

rrr

x1

x2

s1x3

s2

x4

Задача 4.2.7: Ако двоичната функция f се реализира от схемана мултиплексор дали f също се реализира от схема на някоимултиплексор?

Задача 4.2.8: Постройте схема на 4-на-1 мултиплексор само сNOR-елементи или само с NAND-елементи.

Задача 4.2.9: f = (x1⊕x3)x3∨ (x1 ⊕ x2)x2 сереализира от схема на мултиплексор?

Задача 4.2.10: Направете анализ на схеми, които са изграденис NAND или NOR елементи. Приложете този анализ за схема,която реализира функцията f = x2 ∨ x3.

Задача 4.2.11:се синтезира, чрез схема с не повече от три нива. Приложететози начин на синтез за функцията f = x1x2x3∨x1x2x3∨x2x3x4.

Упътване. Наистина, ако дадената функция се зададе вOR-

елемент, който има толкова входове, колкото са конюнкциитеAND-елементи, с които

се представят съответните конюнкции и евентуалното третониво са NOT-елементи за ония променливи, които участвуват с

Отг.

4. Д воични функции

Д али функцията

Д окажете, че всяка двоична функция може да

Д НФ, то на първото ниво н схема има само едина нейната

в Д НФ, на второто ниво са всички

отрицанието си в Д НФ.

Page 200: Diskretna_Matematika_Rakovodstvo

200

bHH©© ¥¦¥¦

¥¦

bHH©©

r ¥¦

¥¦

f

r rr

r

x1

x3

x2

x4

Задача 4.2.12: Опишете синтез на схеми, чрез някои отелементите, представящи шеферовите операции NOR илиNAND. Приложете такъв синтез за функцията: f = x1x2∨x1x3.

Упътване. Използувайте законите на Де Морган иравенствата x1 ↓ x1 = x1 и x1|x1 = x1.Представете f по следния начин:

f = x1x2 ∨ x1x3 = x1x2 x1x1x3 = x1 ∨ x2 ∨ x1 ∨ x3.

4. Д воични функции

Page 201: Diskretna_Matematika_Rakovodstvo

201

Отг.¥¦

¥¦

b brx1

¥¦b

¥¦bx3

x2

fr

Задача 4.2.13: Постройте схемите, които реализират следнитедвоични функции:

а) f = x1x2 ∨ x2x3; б) f = (x1x2x3 ∨ x2x4)(x1 ∨ x3);в) f = (x1 ∨ x2 ∨ x3)x3; г) f = x1 ⊕ x2x3 ∨ x4x5x6;д) f = x1x2x3 ∨ x1x2x3 ∨ x1x2x3; е) f = x1(x2 ∨ x3) ∨ x1x2x3;

ж) f = (x1 ⊕ x2)⊕ (x2 ⊕ x3); з) f = x1 ⊕ x2 ⊕ x2 ⊕ x3;и) f = (x1 ∨ x2 ∨ x3)(x1 ∨ x2 ∨ x3)(x1 ∨ x2 ∨ x3).

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

¥¦

x1

x2

¥¦

¥¦f

x3

¥¦

¥¦

x1

x2

¥¦

¥¦

r f

bHH©©

r

а) б)

¥¦

bHH©©

¥¦x3

¥¦

x1

x2

¥¦

¥¦

r

r

r¥¦f

¥¦

¥¦x3

¥¦

x1

x2

r

r

r ¥¦f

в) г)

¥¦¥¦

r

b

b

b

b

b b

4. Д воични функции

Page 202: Diskretna_Matematika_Rakovodstvo

202

bHH©©

¥¦

x3

¥¦

x1

x2

¥¦

¥¦

r

r

r¥¦f

¥¦

¥¦f

д) е)

¥¦¥¦

rbb

b b¥¦

¥¦

¥¦

x2

x1 rr

4. Д воични функции

Page 203: Diskretna_Matematika_Rakovodstvo

Библиография

[1] А. В. Анисимов, Рекурсивные преобразователи информа-ции. Киев, Вища школа, 1987.

[2] Теория синтаксического анализа,перевода и компиляции. Том 1 Синтаксический анализ.Москва, Мир, 1978 (перевод с английского).

[3] Построение и анализвычислительных алгоритмов. Москва, Мир, 1979 (переводс английского)

[4] Р. Басакер, Т. Саати, Конечные графы и сети. Москва,Наука, 1974 (перевод с английского).

[5] Ф. Л. Бауер, Р. Гнац, У. Хилл, Информатика. Задачи ирешения. Москва, Мир, 1978 (перевод с немецкого).

[6] Б. Болобаш,Теория на графите. София, Наука и изкуство,1989 (превод от английски).

[7] В. Брауер, Введение в теорию конечных автоматов.Москва, Радио и связь, 1987 (перевод с немецкого).

[8] Москва,Мир, 1994 (перевод с английского).

ДА. Ахо,

А. Ахо, Д Д ж. Ульман,ж. Хопкрофт,

ж. Ульман,

Д ж. Булос, Р. Д жеффри, и логика.Вычислимост

Page 204: Diskretna_Matematika_Rakovodstvo

Библиография 204

[9] Н. Я. Виленкин, Популярная комбинаторика. Москва,Наука, 1975.

[10] С. Гинзбург, Математическая теория контекстно-свободных языков. Москва, Мир, 1970 (перевод санглийского).

[11]Мороз, К. А. Пуппов, Б. В. Тюхов, Н. А. Шамко, Основыкибернетики. Теория кибернитических систем. Москва,Высшая школа, 1976.

[12]математика. София, Наука и изкуство, 1984.

[13]Благоевград, ЮЗУ ”Н. Рилски”, 1995.

[14] К. Йорджев, Върху една комбинаторна задача над бинарниматрици. Научно-тематичен сборник ЮНС, т. 3, ВВВУ”Г.Бенковски”

[15] К. Йорджев, Върху един метод за получаване накомбинаторни тъждества. Математика и математическообразование, т. 29, 2000.

[16] В. Н. Касаткин, Седем задачи по кибернетика. София,Техника, 1980 (превод от руски).

[17] В. Е. Котов, В. К. Сабельфельд, Теория схем программ.Москва, Наука, 1991.

[18] Н. Кристофидес, Теория графов - алгоритмический подход.Москва, Мир, 1978 (перевод с английского).

Ю. И. Д егтярев, Б. Н. Калинини, В. Н. Марков, А. И.

Й. Р. Павлов, Я. Д еметрович,Д енев, Д искретна

Й. Д енев, С. В. Щраков, Д искретна математика.

, Д олна Митрополия, 1995, 60-63.

Page 205: Diskretna_Matematika_Rakovodstvo

Библиография 205

[19] В. Б. Кудрявцев, С. В. Алешин, А. С. Подколзин, Введениев теорию автоматов. Москва, Наука, 1985.

[20] О. П. Кузнецов, Г. М. Адельсон-Вельский, Дискретнаяматематика для инженера. Москва, Энергоатомиздат,1988.

[21] Д. Кук, Г. Бейз, Компьютерная математика. Москва,Наука, 1990 (перевод с английского).

[22] Ф. Льюис, Д. Розенкранц, Р. Стирнс, Теоретическиеосновы проектирования компиляторов. Москва, Мир, 1979(перевод с английского).

[23] А. И. Мальцев, Алгоритмы и рекурсивные функции.Москва, Наука, 1986.

[24] К. Манев, Увод в дискретната математика. София,КЛМН, 2003.

[25] М. В. Меньшиков, А. М. Ревякин, А. Н. Копылова, Ю. Н.Макаров, Б. С. Стечкин, Комбинаторный анализ. Задачии упражнения. Москва, Наука, 1982.

[26] О. Оре, Графы и их применение. Москва, Мир, 1965(перевод с английского).

[27] О. Оре, Теория графов. Москва, Наука, 1980 (перевод санглийского).

[28] Р. Павлов, Математическа лингвистика. София, Народнапросвета, 1982.

[29] Г. Паскалев, Пл. Пенчев, Задачи за подготовка заматематически олимпиади. София, Народна просвета,1983.

Page 206: Diskretna_Matematika_Rakovodstvo

Библиография 206

[30] Теория формальных языков -вводный курс. Москва, Радио и связ, 1988 (перевод санглийского).

[31] А. Саломаа, Жемчужины теории формальных языков.Москва, Мир, 1986 (перевод с английского).

[32] В. Н. Сачков, Комбинаторные методы дискретнойматематики. Москва, Наука, 1977.

[33] Б. А. Трахтенброт, Я. М. Барздинь, Конечные автоматы(поведение и синтез). Москва, Наука, 1970.

[34] В. А. Успенский, Машина Поста. Москва, Наука, 1988.

[35] Т. Фудзисава, Т. Касами, Математика для радио-инженеров: Теория дискретных структур. Москва, Радиои связь (перевод с японского).

[36] Ф. Харари, Теория графов. Москва, Мир, 1973 (перевод санглийского).

[37] К. Чимев, Р. Павлов, И. Гюдженов, Р. Луканова,Ръководство за решаване на задачи по дискретнаматематика. ВПИ-Благоевград, 1990.

[38] С. В. Яблонский, Введению в дискретную математику.Москва, Наука, 1988.

[39] E. L. Post, Finite combinatory processes-formulation I. TheJurnal of Symbolic Logic, 1936, v.1, 103-105.

[40] A. M. Turing, On computable numbers, with an application tothe Entscheidungsproblem. Proc. London Math. Soc., ser. 2, v.42, 230-265.

В. Д ж. Рейуорд-Смит,

Page 207: Diskretna_Matematika_Rakovodstvo

Съдържание

1. Основни математически понятия . . . . . . . . . . 51.1 Множества и операции с тях . . . . . . . . . 51.2 121.3 Релации . . . . . . . . . . . . . . . . . . . . . . . 161.4 Функции и изображения. Операции . . . . . 231.5 Крайни и безкрайни множества. Изброими

и неизброими множества . . . . . . . . . . . . 271.6 Основни сведения от комбинаториката . . . 291.7 Неориентирани графи . . . . . . . . . . . . . . 481.8 Ориентирани графи . . . . . . . . . . . . . . . 55

2. Формални езици и граматики. Крайни автоматибез памет . . . . . . . . . . . . . . . . . . . . . . . . . 602.1 . . . . . . . . . . . . . . . . . . . 602.2 Пораждащи граматики . . . . . . . . . . . . . 66

2.2.1 Автоматни граматики . . . . . . . . . . 722.2.2 Безконтекстни граматики . . . . . . . 762.2.3 Контекстни граматики . . . . . . . . . 78

2.3 Крайни автомати . . . . . . . . . . . . . . . . . 862.4 Регулярни изрази. Теорема на Клини . . . . 992.5 Автомат на Мили и автомат на Мур . . . . 108

Наредени двойки. Д екартово произведение

Д уми и езици

Page 208: Diskretna_Matematika_Rakovodstvo

Съдържание 208

3. Крайни автомати с памет. Машина на Тюринг . 1263.1 Безконтекстни граматики и езици . . . . . . 1263.2 Недетерминирани магазинни (стекови)

автомати . . . . . . . . . . . . . . . . . . . . . . . 1403.3 Машина на Тюринг . . . . . . . . . . . . . . . 149

4. . . . . . . . . . . . . . . . . . . . 1704.1 Основни сведения от теорията . . . . . . . . 1704.2 . . . . . . . . . . 185

Д воични функции

Д воични функции и cxеми