You are on page 1of 29

კითხვარი თვითშემოწმებისათვის

1. რა არის გამონათქვამი?
2. როგორ გამონათქვამს ეწოდება მარტივი გამონათქვამი?
3. როგორ გამონათქვამს ეწოდება რთული გამონათქვამი?
4. ჩამოაყალიბეთ და მოიყვანეთ ორი გამონათქვამის კონიუნქციის, დიზიუნქციის,
იმპლიკაციის, მკაცრი დიზიუნქციისა და გამონათქვამის უარყოფის განმარტებები და
ჭეშმარიტების ცხრილები.
5. როგორ კავშირებს ეწოდება ბინარული კავშირები? უნარული კავშირები?
6. ჩამოაყალიბეთ ლოგიკური გამომდინარეობის ანუ პირობითი დებულების განმარტება.
7. ჩამოაყალიბეთ მოცემული დებულების საწინააღმდეგო, შებრუნებული, მოპირდაპირე
(ტოლფასი) და შებრუნებულის მოპირდაპირე (ექვივალენტური) დებულებები.
8. ჩამოაყალიბეთ დე მორგანის წესები.
9. რომელი თეორიის ცნების საფუძველზე ჩამოყალიბდა ფორმალური სისტემის ცნება?
10. მოიყვანეთ ფორმალური სისტემისა და ფორმალური ენის განმარტებები.
სავარჯიშოები

1. მოცემულია გამონათქვამები: “ცხელა ≡ 𝑐 ”, “წვიმა მოდის ≡ 𝑝 ”, “ჰაერი მშრალია ≡ 𝑠 ”. შემდეგი


გამონათქვამები გამოსახეთ სიმბოლოებით:

ა. “წვიმა მოდის და ცხელა”.


გ. “ჰაერი ნესტიანია ან ცხელა” .
დ. “წვიმა არ მოდის ან ჰაერი მშრალია”.

2. დავუშვათ, რომ გამონათქვამი “ცივა და ჰაერი ნესტიანია” - ჭეშმარიტია. გამოიკვლიეთ


წინამდებარე წინადადებების მნიშვნელობები.

3. ავღნიშნოთ 𝑝-თი წინადადება “თვითმფრინავი დაფრინავს მაღლა” , ხოლო 𝑞-თი წინადადება –


“თვითმფრინავი კრეფს სიმაღლეს”. გადავთარგმნოთ შემდეგი გამოსახულებები:
ა) 𝑝 ⋀ 𝑞 ბ) 𝑝 ⋀ 𝑞ത გ) 𝑝ഥ ⋀𝑞ത დ) 𝑝 ⋁ 𝑞ത ე) 𝑝 ⋀ 𝑞 ვ) 𝑝 ⋁ 𝑞 ზ) 𝑝ഥ ⋁ 𝑞ത

4. ვთქვათ 𝑝 აღნიშნავს “მე მაქვს ფირსაკრავი” , ხოლო 𝑞 - “მე მაქვს ფირფიტები”. გადათარგმნეთ
გამოსახულებები:
ა) 𝑝ഥ ⋁ 𝑞ത ⋀ 𝑝ҧ ბ) 𝑝 ⋀ 𝑞 გ) 𝑝 ⋀ 𝑞ത დ) 𝑝 ⋁ 𝑞ത
5. ქვემოთ მითითებული წინადადებებიდან იპოვეთ გამონათქვამები. მიუთითეთ მათი
ჭეშმარიტი მნიშვნელობა.

ა) რომელი საათია?
ბ) რიცხვი 1 არის უმცირესი მთელი დადებითი რიცხვი.
გ) თუ 𝑥 = 3 , მაშინ 𝑥 2 = 6.
დ) უფრთხილდი ავტომობილს!
ე) სამხრეთ დაკოტა - სამხრეთი შტატია.
სიტყვები , ენები და გრამატიკები

1.1. ფორმალური ენები


განმარტება 1.1.1. ნატურალური რიცხვები ვუწოდოთ არაუარყოფით მთელ რიცხვებს და
ავღნიშნოთ 𝑁 სიმბოლოთი: 𝑁 = 0,1,2,3, … .

განმარტება 1.1.2. ალფავიტი ეწოდება სასრულ არაცარიელ სიმრავლეს. მის ელემენტებს ეწოდებათ
სიმბოლოები (ასონიშნები).

განმარტება 1.1.3. სიტყვა (ჯაჭვი, სტრიქონი) VT ალფავიტში ეწოდება VT ალფავიტის


ელემენტების სასრულ მიმდევრობას.

მაგალითი 1.1.4. განვიხილოთ VT = 𝑎, 𝑏, 𝑐 ალფავიტი. მაშინ 𝑏𝑎𝑎𝑎 წარმოადგენს სიტყვას VT


ალფავიტში.

განმარტება 1.1.5. სიტყვა, რომელიც არცერთ სიმბოლოს არ შეიცავს ( ე.ი. 0-ვანი სიგრძის
მიმდევრობას), ეწოდება ცარიელი სიტყვა და აღინიშნება 𝜀 სიმბოლოთი.

განმარტება 1.1.6. ყველა სიტყვათა სიმრავლე VT ალფავიტში აღინიშნება VT - ით.

შენიშვნა 1.1.7. VT - სიმრავლე თვლადია. მართლაც, VT ალფავიტში მოცემული სიგრძის ყველა

სიტყვათა სიმრავლე სასრულია, შესაბამისად VT - არის სასრული რაოდენობა თვლადი
სიმრავლეების გაერთიანება.
განმარტება 1.1.8. VT ალფავიტში არაცარიელი სიტყვების სიმრავლე აღინიშნება VT + - ით.
მაგალითი 1.1.9. თუ VT = 𝑎 , მაშინ VT + = 𝑎 , 𝑎𝑎, 𝑎𝑎𝑎, 𝑎𝑎𝑎𝑎, … . .

განმარტება 1.1.10. თუ 𝐿 ⊆ VT , მაშინ 𝐿 -ს ეწოდება ენა (ან ფორმალური ენა) VT ალფავიტზე.
რადგანაც ყოველი ენა არის სიმრავლე, ამიტომ შეიძლება განვიხილოთ ერთსა და იმავე
ალფავიტზე განსაზღვრული ენების გაერთიანება, თანაკვეთა და სხვაობა (აღინიშნება შესაბამისად
შემდეგნაირად: 𝐿1 ∪ 𝐿2 , 𝐿1 ∩ 𝐿2 , 𝐿1 − 𝐿2 ).
მაგალითი 1.1.11. 𝑎, 𝑎𝑏𝑏 სიმრავლე წარმოადგენს ენას 𝑎, 𝑏 ალფავიტზე.

განმარტება 1.1.12. ვთქვათ 𝐿 ⊆ VT . მაშინ VT ∗ − 𝐿 ენას ეწოდება 𝐿 ენის დამატება VT
ალფავიტის მიმართ.
განმარტება 1.1.13. თუ 𝑥 და 𝑦 სიტყვებია VT ალფავიტში, მაშინ 𝑥𝑦 სიტყვას ეწოდება 𝑥
და 𝑦 სიტყვების კონკატენაცია (კატენაცია, მოჭიდულობა). ზოგჯერ 𝑥 და 𝑦 სიტყვების
კონკატენაციას აღნიშნავენ ასე: 𝑥. 𝑦 .
განმარტება 1.1.14. თუ 𝑥 არის სიტყვა და 𝑛 ∈ 𝑁, მაშინ 𝑥 𝑛 -ით აღინიშნება 𝑛 - ჯერ
0
𝑥. 𝑥. 𝑥 . . 𝑥 სიტყვა. დავუშვათ 𝑥 ⇌ 𝜀 ( ⇌ სიმბოლო იკითხება: „ტოლია განმარტების ძალით“).
შემდეგში სიტყვებისა და სიმბოლოების ხარისხის მაჩვენებლებში ვიგულისხმებთ ნატურალურ
რიცხვებს.
მაგალითი 1.1.15. შეთანხმების ძალით 𝑏𝑎3 = 𝑏𝑎𝑎𝑎 და 𝑏𝑎 3 = 𝑏𝑎𝑏𝑎𝑏𝑎.
განმარტება 1.1.17. 𝑤 სიტყვის სიგრძე ეწოდება სიმბოლოების რაოდენობას 𝑤 -ში და
აღინიშნება 𝑤 - ით. ამავე დროს თითოეული სიმბოლო იმდენჯერ ითვლება, რამდენჯერაც
გვხვდება იგი 𝑤 - ში.

მაგალითი 1.1.18. ცხადია, რომ 𝑏𝑎𝑎𝑎 = 4 და 𝜀 = 0 .

განმარტება 1.1.19. 𝑊 𝑎 -თი აღინიშნება 𝑊 სიტყვაში 𝑎 სიმბოლოს რაოდენობა.

მაგალითი 1.1.20. თუ VT = 𝑎, 𝑏, 𝑐 , მაშინ 𝑏𝑎𝑎𝑎 𝑎 = 3, 𝑏𝑎𝑎𝑎 𝑏 = 1 და 𝑏𝑎𝑎𝑎 𝑐 = 0.


ოპერაციები ენებზე


განმარტება 1.2.1. ვთქვათ 𝑳𝟏 , 𝑳𝟐 ⊆ 𝑽𝑻 . მაშინ 𝑳𝟏 . 𝑳𝟐 ⇌ 𝒙𝒚| 𝒙 ∈ 𝑳𝟏 , 𝒚 ∈ 𝑳𝟐 .
𝐿1 . 𝐿2 ენას ეწოდება 𝐿1 და 𝐿2 ენების კონკატენაცია.

მაგალითი 1.2.2. თუ 𝐿1 = 𝑎, 𝑎𝑏𝑏 და 𝐿2 = 𝑏𝑏𝑐, 𝑐


მაშინ 𝐿1 . 𝐿2 = 𝑎𝑐, 𝑎𝑏𝑏𝑐, 𝑎𝑏𝑏𝑏𝑏𝑐 .


განმარტება 1.2.4. ვთქვათ 𝐿 ⊆ VT . მაშინ
𝐿0 ⇌ 𝜀 , 𝐿𝑛 ⇌𝐿 . 𝐿 . . . 𝐿 𝑛 − ჯერ, თუ 𝑛 > 0.

მაგალითი 1.2.5. თუ 𝐿 = 𝑎𝑘 𝑏𝑎𝑙 | 0 < 𝑘 < 𝑙 , მაშინ


𝐿2 = 𝑎𝑘 𝑏𝑎𝑙 𝑏𝑎𝑚 | 0 < 𝑘 < 𝑙 − 1, 𝑚 > 1 .
განმარტება1.2.7. 𝐿 ენის იტერაცია (აღინიშნება 𝐿∗ -ით) ეწოდება
ራ 𝐿𝑛 .
𝑛∈𝑁
ამ ოპერაციას ეწოდება კლინის ვარსკვლავი.


მაგალითი 1.2.8. თუ VT = 𝑎, 𝑏 და 𝐿 = 𝑎𝑎, 𝑎𝑏, 𝑏𝑎, 𝑏𝑏 , მაშინ 𝐿∗ = 𝑤 ∈ VT | 𝑤 = 2 .

განმარტება 1.2.11. 𝑤 სიტყვის შებრუნებული ანუ სარკული ანასახი აღინიშნება 𝑤 𝑅 - ით და


ეწოდება სიტყვას, რომელშიდაც 𝑤 სიტყვის სიმბოლოები განლაგებულია საწინააღმდეგო რიგით.

მაგალითი 1.2.12. თუ 𝑤 = 𝑏𝑎𝑎𝑐𝑎, მაშინ 𝑤 𝑅 = 𝑎𝑐𝑎𝑎𝑏.


განმარტება 1.2.13. ვთქვათ 𝐿 ⊆ VT . მაშინ 𝐿𝑅 ⇌ 𝑤 𝑅 | 𝑤 ∈ 𝐿 .
𝐿𝑅 ენას ეწოდება 𝐿 ენის შებრუნებული.
კითხვარი თვითშემოწმებისათვის

1. რას ეწოდება ალფავიტი ?


2. რას ეწოდება სიტყვა (ჯაჭვი, სტრიქონი) 𝑉𝑇 ალფავიტში?
3. როგორ სიტყვას ეწოდება ცარიელი სიტყვა?
4. რას აღნიშნავს 𝑉𝑇 ∗ და 𝑉𝑇 + სიმრავლეები?
5. რას ეწოდება სიტყვის სიგრძე?
6. მოიყვანეთ ორი სიტყვისა და ორი ენის კონკატენაციის განმარტებები.
7. როგორ ოპერაციას ეწოდება კლინის ვარსკვლავი?
8. ჩამოაყალიბეთ სიტყვის სარკული ანასახის განმარტება.
9. ჩამოაყალიბეთ ენის შებრუნებული ენის განმარტება.
10. რას ეწოდება სიტყვის პრეფიქსი? სუფიქსი?
11. როგორ ფუნქციას ეწოდება ბიექცია? რა შემთხვევაშია ორი სიმრავლე თანაბარი სიმძლავრის?
მაგალითები
1. მოცემულია VT = 𝑎, 𝑏, 𝑐 ალფავიტი.
ა) მოცემული გამოსახულებებიდან რომელი წარმოადგენს სიტყვას VT ალფავიტში?
𝑏𝑎𝑎𝑏 ; 𝑎𝑏; 𝑏𝑏𝑐𝑐𝑎; 𝑏𝑎𝑐𝑐; 𝑐𝑐𝑏𝑎𝑏𝑏𝑑; 𝑏𝑎𝑎𝑑𝑑𝑎; 𝑎𝑐𝑎𝑏𝑎𝑎𝑏; 𝑐𝑏𝑐𝑎𝑏𝑏𝑎𝑎𝑑𝑎;
ბ) მოცემული VN = 𝑆, 𝐵, 𝐶 და VT = 𝑑, 𝑎, 𝑏, 𝑐 ალფავიტებიდან რომელია ტერმინალური და
რომელი არატერმინალური ალფავიტი?
გ) გამოთვალეთ
| 𝑏𝑎𝑎𝑏|= | 𝑏𝑎𝑎|= | 𝑐𝑐𝑏𝑏𝑎𝑎|= |𝑎𝑎𝑏𝑎𝑎𝑎𝑏𝑎𝑎|=
| 𝑏𝑎𝑎|𝑏 = | 𝑐𝑐𝑏𝑏𝑎|𝑏 = | 𝑐𝑏𝑎𝑐𝑎𝑐|𝑐 = |cac𝑏𝑎𝑎|𝑑 =
2. თუ VT = 𝑎, 𝑏 , მაშინ VT ∗ = VT + =
თუ VT = 𝑏 , მაშინ VT ∗ = VT + =
3. ვთქვათ VT = 𝑎, 𝑏 და 𝐿1 = 𝑎𝑎, 𝑎𝑏 , 𝐿2 = 𝑏𝑎, 𝑏 . იპოვეთ: 𝐿1 . 𝐿2 ; 𝐿2 . 𝐿1 ; 𝐿22 ; 𝐿31 .
4. თუ 𝑤 = 𝑎𝑐𝑐𝑏𝑏𝑎, მაშინ 𝑤 𝑅 =
თუ 𝑤 = 𝑏𝑏𝑎𝑐, მაშინ 𝑤 𝑅 =
ფორმალური გრამატიკების კლასიფიკაცია

განვიხილოთ 𝑉𝑇 = 𝑎1 , 𝑎2 , … , 𝑎𝑛 - ტერმინარული ანუ ძირითადი სასრული


ალფავიტი და 𝑉𝑁 = 𝐵1 , 𝐵2 , … , 𝐵𝑚 - დამხმარე სასრული ალფავიტი. 𝐷 = 𝑉𝑇 ∪ 𝑉𝑁 სიმრავლიდან
შევქმნათ სასრული სიგრძის ყველა შესაძლებელი ჯაჭვი. ასეთი ჯაჭვების 𝐺 სიმრავლე
უსასრულოა (თვლადი). განვიხილოთ 𝛼 → 𝛽 სახის წესი, სადაც 𝛼 და 𝛽 ნებისმიერი ჯაჭვებია 𝐺-
დან. ვთქვათ 𝑄 არის 𝛼 → 𝛽 სახის წესით ტერმინალური სიმბოლოებისაგან შედგენილი
სიმრავლე. მაშინ 𝑄 არის ენა, წარმოქმნილი ფორმალური 𝐺 გრამატიკით.
შემოვიღოთ ფორმალური გრამატიკების შემდეგი კლასიფიკაცია.
- ალგორითმული გრამატიკები, რომლებიც წარმოქმნიან ნულოვანი ტიპის 𝑄0 ენას;
- კონტექსტური გრამატიკები, რომლებიც წარმოქმნიან პირველი ტიპის 𝑄1 ენას;
- უკონტექსტო გრამატიკები, რომლებიც წარმოქმნიან მეორე ტიპის 𝑄2 ენას;
- ავტომატური (რეგულარული) გრამატიკები, რომლებიც წარმოქმნიან მესამე ტიპის 𝑄3 ენას.
თუ 𝛼 → 𝛽 სახის წესებზე არავითარი შეზღუდვა არაა დაწესებული (გარდა იმისა, რომ
𝛼 არ შეიძლება შედგებოდეს მხოლოდ ძირითადი სიმბოლოებისაგან), მაშინ 𝐺 გრამატიკას
ეწოდება ალგორითმული გრამატიკა.
ეს მოთხოვნა აუცილებელია ყველა ტიპის გრამატიკისათვის!

თუ ამის გარდა მოითხოვება, რომ 𝛽 - ს სიგრძე (სიმბოლოების რაოდენობა ჯაჭვში) არ


იყოს ნაკლები 𝛼 -ს სიგრძეზე, მაშინ 𝐺 გრამატიკას ეწოდება კონტექსტური გრამატიკა.

თუ ამის გარდა წესებს აქვთ 𝐵𝑗 → 𝛽 სახე (ე.ი. 𝛼 შედგება ერთი დამხმარე 𝐵𝑗


სიმბოლოსაგან), მაშინ 𝐺 გრამატიკას ეწოდება უკონტექსტო გრამატიკა.

თუ ზემოთ ჩამოთვლილ შეზღუდვათა გარდა 𝛽 -ს აქვს 𝑎𝑙 ან 𝑎𝑙 𝐵𝑘 სახე (ე.ი. წესებს


აქვთ 𝐵𝑗 → 𝑎𝑙 ან 𝐵𝑗 → 𝑎𝑙 𝐵𝑘 სახე), მაშინ 𝐺 გრამატიკას ეწოდება ავტომატური (რეგულარული)
გრამატიკა.
ჩომსკის გრამატიკა (𝐂𝑭 - გრამატიკა) მოიცემა ობიექტების შემდეგი ოთხეულის
მითითებით;
𝑉𝑇 -ტერმინარული ანუ ძირითადი სასრული ალფავიტი.
𝑉𝑁 -დამხმარე სასრული ალფავიტი.
𝑆𝜖𝑉𝑁 აქსიომა.

სასრული სიმრავლე A→φ სახის C𝐹 -წესებისა, სადაც 𝐴𝜖𝑉𝑁 , 𝜑𝜖 𝑉𝑁 ∪ 𝑉𝑇

ჩომსკის ენა ( 𝑪𝑭 - ენა) ეწოდება ფრაზათა სიმრავლეს, წარმოქმნილს ჩომსკის


გრამატიკის ტერმინარული სიტყვებით.
Type 0

CS
CF
R

ნახ. ფორმალური ენებისა და გრამატიკის ტიპების თანაფარდობა


ვთქვათ გვაქვს 𝐺𝑀 გრამატიკა
𝑉𝑁 = 𝑆 ; 𝑉𝑇 = {𝑎, 𝑏, 𝑐}
𝑆 → 𝑎𝑆𝑎
𝑆 → 𝑏𝑆𝑏
𝑆→𝑐
ერთ - ერთი გამომდინარეობა 𝐺𝑀 -ში არის
𝑆 → 𝑎𝑆𝑎 → 𝑎𝑎𝑆𝑎𝑎 → 𝑎𝑎𝑏𝑆𝑏𝑎𝑎 → 𝑎𝑎𝑏𝑐𝑏𝑎𝑎
ჩვენ დავწერთ 𝑆֜𝑎𝑎𝑏𝑐𝑏𝑎𝑎.
ჩანაწერი 𝜑֜𝛹 აღნიშნავს, რომ არსებობს გამომდინარეობა, რომელიც იწყება φ
ჯაჭვით (მიმდევრობით) და მთავრდება Ψ ჯაჭვით.
ცხადია, რომ 𝐺𝑀 გრამატიკა წარმოშობს იმ ფრაზებს, რომლებიც აგებულია {𝑥𝑐𝑥 𝑅 }
სქემით, სადაც 𝑥 არის ნებისმიერი ჯაჭვი შედგენილი 𝑎 და 𝑏 სიმბოლოებით, ხოლო 𝑥 𝑅 მისი
სარკული ანასახი. ეს ასე შეიძლება ჩავწეროთ
𝐿𝑀 = 𝐿 𝐺𝑀 = {𝑥𝑐𝑥 𝑅 |𝑥𝜖 𝑎, 𝑏 ∗ }
ვთქვათ გვაქვს 𝐺0 გრამატიკა
𝑉𝑁 = 𝑆, 𝐴 ; 𝑉𝑇 = {𝑎, 𝑏}
𝑆 → 𝑎𝐴
𝐴 → 𝐴𝑏
ცხადია რომ გამომდინარეობა ამ გრამატიკაში უსასრულოდ გრძელდება და არ
მიგვიყვანს ტერმინარულ ჯაჭვამდე. 𝐺0 წარმოქმნის ცარიელ ენას.
წესების კლასიფიკაცია. ნებისმიერი კონტექსტურად თავისუფალი G გრამატიკა
წარმოქმნის არატერმინარული ჯაჭვების რაიმე მიმდევრობას და რაიმე ტერმინარული ჯაჭვების
(შეიძლება ცარიელი) სიმრავლეს, რომლებიც ქმნიან L( G) ენას.
დავარქვათ წინატერმინარული არატერმინარულ ჯაჭვს, რომლისგანაც ზუსტად ერთი
წესის გამოყენებით მიიღება ტერმინარული ჯაჭვი. ცხადია, რომ წინატერმინარული ჯაჭვი შეიცავს
ზუსტად ერთ არატერმინარულ სიმბოლოს.
L( G) ენის არაცარიელობის აუცილებელ პირობას წარმოადგენს G -ში ერთი ან
რამოდენიმე A → τ სახის ტერმინარული წესის არსებობა, სადაც 𝐴𝜖𝑉𝑁 , 𝜏𝜖𝑉𝑇∗ . გრამატიკის სხვა
წესებს ეწოდება არატერმინარული.
𝐺𝑛 გრამატიკას აქვს ორი არატერმინარული წესი: 𝑆 → 𝑎𝑆𝑎 და 𝑆 → 𝑏𝑆𝑏 და ერთი 𝑆 →
𝑐 ტერმინარული წესი.
𝐺0 გრამატიკას არ აქვს არცერთი ტერმინარული წესი.
შესაბამისობა გრამატიკებსა და ენებს შორის

ყოველ 𝐶𝐹 -გრამატიკას შეესაბამება რომელიმე 𝐶𝐹 -ენა, შეიძლება ცარიელიც. ეს


შესაბამისობა არ არის ურთიერთცალსახა: განსხვავებულმა გრამატიკებმა შეიძლება წარმოქმნას
ერთი და იგივე ენა.

მაგალითი . ვთქვათ გვაქვს 𝐺𝑛 გრამატიკა


𝑉𝑁 = 𝑆, 𝐴 ; 𝑉𝑇 = {𝑎, 𝑏, 𝑐}

𝑆 → 𝑎𝑆𝑎 (1)
𝑆 → 𝑏𝑆𝑏 (2)
𝑆→𝑐 (3)
𝑆 → 𝑎𝑏𝑆𝑏𝑎 (4)
𝑆 → 𝑐𝐴 (5)
𝑆 → 𝑎𝐴 (6)
𝐺𝑛 გრამატიკა წარმოქმნის იგივე 𝐿𝑀 ენას, როგორსაც წარმოქმნის 𝐺𝑚 გრამატიკა. 𝐺𝑛
გრამატიკები კი განსხვავებულია 𝐺𝑚 -საგან შემდეგი წესებით:
(4)-ე წესის დამატებით, რომელიც უზრუნველყოფს 𝐿𝑀 ენის ზოგიერთი ჯაჭვის უფრო
სწრაფ შექმნას.
(5)-ე და (6)-ე წესების დამატებით, რომლებიც საერთოდ არ იძლევიან არცერთ
ტერმინარულ ჯაჭვს.

მაშასადამე, ვთქვათ მოცემული გვაქვს რაღაც გრამატიკა. ჩვენ შეგვიძლია (მისგან


წარმოქმნილი ენის შეუცვლელად) მასზე ჩავატაროთ შემდეგი გარდაქმნები:

“გავწმინდოთ” გრამატიკა იმ წესებისა და სიმბოლოების ამოყრით, რომლებიც


არ მიგვიყვანენ ტერმინარულ ჯაჭვამდე.

ამა თუ იმ სახით გადავაწყოთ მისი წესები მისგან წარმოქმნილი ენის შენარჩუნებით.


1. ჩამოთვალეთ 𝐿1 ∩ 𝐿2 ენის ყველა სიტყვა, თუ
𝐿1 = (𝑎𝑏)𝑛 |𝑛 ≥ 0 და 𝐿2 = 𝑎𝑚 𝑏 𝑚 |𝑚 ≥ 0 .
2. ვთქვათ VT = 𝑎, 𝑏, 𝑐 . ტოლია თუ არა
𝐿1 = (𝑎𝑏𝑐)𝑛 𝑎|𝑛 ≥ 2 და 𝐿2 = 𝑎𝑏(𝑐𝑎𝑏)𝑛 |𝑛 ≥ 1 ენები?
3. ვთქვათ VT = 𝑎, 𝑏, 𝑐, 𝑑 და
𝐿∗ = 𝑤 ∈ VT ∗ | 𝑤 𝑎 = 1, |𝑤|𝑐 = 1 .
ჭეშმარიტია თუ არა, რომ
𝑎𝑏𝑐𝑑𝑐𝑎𝑐𝑑𝑐𝑎𝑏𝑏𝑎𝑐𝑏𝑎 ∈ 𝐿∗ ?
𝑏𝑐𝑑𝑐𝑐𝑑𝑐𝑏𝑏𝑎𝑐𝑏 ∈ 𝐿∗ ?
𝑏𝑑𝑐𝑎𝑑𝑏𝑏𝑏 ∈ 𝐿∗ ?

4. აღწერეთ ენა, წარმოქმნილი 𝑆 → 𝐹𝐹, 𝐹 → 𝑎𝐹𝑏, 𝐹 → 𝑎𝑏 გრამატიკით.

5. აღწერეთ ენა, წარმოქმნილი 𝑆 → 𝑆𝑐, 𝑆 → 𝐴, 𝐴 → 𝑎𝐴𝑏, 𝐴 → 𝜀 გრამატიკით.

6. აღწერეთ ენა, წარმოქმნილი 𝑆 → 𝜀, 𝑆 → 𝑎, 𝑆 → 𝑏, 𝑆 → 𝑎𝑆𝑎, 𝑆 → 𝑏𝑆𝑏 გრამატიკით.

რომელი კლასისაა ეს გრამატიკები?


თუ 𝐺 = 𝑆 , 𝑎, 𝑏 , 𝑆 → 𝑎𝑆𝑎, 𝑆 → 𝑏𝑏 , 𝑆 ,
მაშინ 𝐿 𝐺 = 𝑎𝑛 𝑏𝑏𝑎𝑛 | 𝑛 ≥ 0 .

განმარტება . ორი გრამატიკა ეკვივალენტურია, თუ ისინი წარმოქმნიან ერთსა და იმავე


ენას.
მაგალითი . 𝑆 → 𝑎𝑏𝑆, 𝑆 → 𝑎 გრამატიკა და 𝑇 → 𝑎𝑈, 𝑈 → 𝑏𝑎𝑈, 𝑈 → 𝜀 გრამატიკა
ეკვივალენტურებია.
მართლაც, 𝑆 → 𝑎𝑏𝑆, 𝑆 → 𝑎 გრამატიკიდან მივიღებთ :
𝑆 → 𝑎𝑏𝑆 → 𝑎𝑏𝑎𝑏𝑆 → 𝑎𝑏𝑎𝑏𝑎𝑏𝑆 →……. → (𝑎𝑏)𝑛 𝑆 → (𝑎𝑏)𝑛 𝑎.
მაშასადამე, ეს გრამატიკა გვაძლევს 𝑳𝟏 = (𝒂𝒃)𝒏 𝒂| 𝒏 ≥ 𝟎 ენას.
𝑇 → 𝑎𝑈, 𝑈 → 𝑏𝑎𝑈, 𝑈 → 𝜀 გრამატიკიდან კი მივიღებთ :
𝑇 → 𝑎𝑈 → 𝑎𝑏𝑎𝑈 → 𝑎𝑏𝑎𝑏𝑎𝑈 → . . . → 𝑎 (𝑏𝑎)𝑛 𝑈 → 𝑎 (𝑏𝑎)𝑛 .
მაშასადამე, ეს გრამატიკა გვაძლევს 𝑳𝟐 = 𝒂(𝒃𝒂)𝒏 | 𝒏 ≥ 𝟎 ენას .
მაგრამ (𝒂𝒃)𝒏 𝒂 = 𝒂𝒃 . 𝒂𝒃 . 𝒂𝒃…𝒂𝒃. 𝒂 = 𝒂 . 𝒃𝒂 . 𝒃𝒂 . 𝒃𝒂 …𝒃𝒂 = 𝒂(𝒃𝒂)𝒏 .
ე.ი. 𝑳𝟏 = 𝑳𝟐 .
მაგალითი. მოცემულია გრამატიკა
𝑺 → 𝒂𝑻, 𝑻 → 𝒃𝑭, 𝑭 → 𝒄𝑭, 𝑭 → 𝒂.
ა) როგორი სახისაა ეს გრამატიკა?
ბ) როგორ ენას წარმოქმნის ეს გრამატიკა?
გ) ააგე მისი ეკვივალენტური გრამატიკა.
ამოხსნა:
ა) გრამატიკა არის მარჯვენა წრფივი გრამატიკა, რადგან გრამატიკის წესები აკმაყოფილებენ
მარჯვენა წრფივი გრამატიკის განმარტებას.
ბ) 𝑺 → 𝒂𝑻 → 𝒂𝒃𝑭 → 𝒂𝒃𝒄𝑭 → 𝒂𝒃𝒄𝒄𝑭 → 𝒂𝒃𝒄𝒄𝒄𝑭 → . . . → 𝒂𝒃𝒄𝒏 𝑭 → 𝒂𝒃𝒄𝒏 𝒂.
ე.ი. ეს გრამატიკა წარმოქმნის 𝑳 = 𝒂𝒃𝒄𝒏 𝒂| 𝒏 ≥ 𝟎 ენას .
გ) თუ, მაგალითად, მოცემული გრამატიკის წესებს დავუმატებთ ნებისმიერ არაპროდუქტიულ
წესებს, მაშინ ახალი გრამატიკა იქნება ძველი გრამატიკის ეკვივალენტური.
მაგალითად,
𝑺 → 𝒂𝑻, 𝑻 → 𝒃𝒄𝑨, 𝑻 → 𝒃𝑭, 𝑭 → 𝒄𝑭, 𝑨 → 𝒂𝒃𝒄𝑨, 𝑭→𝒂
გრამატიკა მოცემული გრამატიკის ეკვივალენტურია.
მაგალითი. როგორი სახისაა

𝑺 → 𝑺𝒃, 𝑺 → 𝑺𝑻, 𝑺 → 𝑺𝑼, 𝑺 → 𝜺, 𝑻𝒂 → 𝒂𝒂𝑻, 𝑻𝒃 → 𝒂𝒃, 𝑼𝒂𝒂𝒂 → 𝒂𝒂𝑼,


𝑼𝒂𝒃 → 𝒃

გრამატიკა და ამ გრამატიკით გამოიყვანება თუ არა სიტყვა 𝒂𝒂𝒂𝒂𝒂𝒂𝒂𝒃?

ამოხსნა. ეს გრამატიკა არის წარმომქმნელი (0 ტიპის) გრამატიკა (იხ. განმარტება). ამ


გრამატიკით გამოიყვანება სიტყვა 𝒂𝒂𝒂𝒂𝒂𝒂𝒂𝒃. მართლაც, ამ სიტყვის გამოყვანის ერთ-ერთი გზაა

𝑺 → 𝑺𝒃 → 𝑺𝑻𝒃 → 𝑺𝒂𝒃 → 𝑺𝑻𝒂𝒃 → 𝑺𝒂𝒂𝑻𝒃 → 𝑺𝒂𝒂𝒂𝒃 → 𝑺𝑻𝒂𝒂𝒂𝒃 → 𝑺𝒂𝒂𝑻𝒂𝒂𝒃 →


→ 𝑺𝒂𝒂𝒂𝒂𝑻𝒂𝒃 → 𝑺𝒂𝒂𝒂𝒂𝒂𝒂𝑻𝒃 → 𝑺𝒂𝒂𝒂𝒂𝒂𝒂𝒂𝒃 → 𝒂𝒂𝒂𝒂𝒂𝒂𝒂𝒃.
მაგალითი. ცარიელია თუ არა ენა, რომელიც წარმოიქმნება შემდეგი გრამატიკით
(𝑺 აქსიომაა).
𝑉𝑁 = 𝑆, 𝐶, 𝑀, 𝐾, 𝐹, 𝑇, 𝐴 ; 𝑉𝑇 = {𝑎, 𝑏}

𝑺 → 𝒂𝒂𝑪𝑴, 𝑺 → 𝒂𝒂𝒂𝑲𝑭, 𝑴 → 𝒂𝑴𝒃, 𝑴 → 𝒃𝑴𝒂, 𝑴 → 𝜺,


𝑨 → 𝑻𝒃, 𝑪 → 𝒂𝑪𝒂, 𝑪 → 𝒃𝑪𝒃, 𝑲 → 𝒃𝑻, 𝑲 → 𝒂𝑻, 𝑻 → 𝒃𝑲𝒂, 𝑻 → 𝒂𝒃.

ამ გრამატიკაში არ გვაქვს ტერმინალური გამოყვანის წესი არც 𝑪 და არც 𝑭 - ის


მიმართ. ამიტომ ამ დამხმარე სიმბოლოებს ვერ შევცვლით ტერმინალური ალფავიტის
ასონიშნით. შესაბამისად, ეს გრამატიკა წარმოქმნის ცარიელ ენას. ამავე დროს 𝑨 სიმბოლო
არამიღწევადია.
მაგალითი. ააგეთ წრფივი გრამატიკა, რომელიც წარმოქმნის 𝑳 = 𝒂𝒏 𝒃𝒏 , 𝒏 ∈ 𝑵 ენას.

ამოხსნა. 𝑽𝑻 ალფავიტი ცალსახადაა განსაზღვრული.


დამხმარე 𝑽𝑵 ალფავიტი იმდენი ასონიშნით შევადგინოთ რამდენიც დაგვჭირდება.
გასათვალისწინებელია, რომ გრამატიკამ უნდა უზრუნველყოს მინიმალური სიგრძის
სიტყვების მიღება, როგორებიცაა 𝜺 და 𝒂𝒃. მაშასადამე, საბოლოოდ გრამატიკას ექნება სახე:

𝑽𝑵 = {𝑺} , 𝑽𝑻 = {𝒂, 𝒃}
𝑺 → 𝒂𝑺𝒃,
𝑺 → 𝜺.

შემოწმება: 𝑺 → 𝒂𝑺𝒃 → 𝒂𝒂𝑺𝒃𝒃 → 𝒂𝒂𝒂𝑺𝒃𝒃𝒃 → . . . → 𝒂𝒏 𝑺𝒃𝒏 → 𝒂𝒏 𝒃𝒏


მაგალითი. ააგეთ წრფივი გრამატიკა, რომელიც წარმოქმნის 𝑳 = 𝒂𝒏 𝒃𝒏 , 𝒏 ≥ 𝟏 ენას
𝜺 წესებისა და 𝜺 წესების გარეშე.

ამოხსნა. გასათვალისწინებელია, რომ გრამატიკებმა უზრუნველყონ მინიმალური


სიგრძის სიტყვის მიღება, როგორიცაა 𝒂𝒃. საბოლოოდ გრამატიკებს ექნებათ სახე:

𝜺 წესებით 𝑽𝑵 = {𝑺, 𝑨} , 𝑽𝑻 = {𝒂, 𝒃}


𝑺 → 𝒂𝑨𝒃,
𝑨 → 𝒂𝑨𝒃
𝑨 → 𝜺.

𝜺 წესების გარეშე 𝑽𝑵 = {𝑺} , 𝑽𝑻 = {𝒂, 𝒃}


𝑺 → 𝒂𝑺𝒃,
𝑺 → 𝒂𝒃.

შემოწმებით დავრწმუნდებით აგებული გრამატიკების სისწორეში.


მაგალითი. ააგეთ მარჯვენა წრფივი გრამატიკა, რომელიც წარმოქმნის 𝑳=
𝒏 𝒎
𝒂 𝒃 ; 𝒏, 𝒎 ∈ 𝑵 ენას.

ამოხსნა. ამ მაგალითშიც 𝑽𝑻 ალფავიტი ცალსახადაა განსაზღვრული.


დამხმარე 𝑽𝑵 ალფავიტი იმდენი ასონიშნით შევადგინოთ რამდენიც დაგვჭირდება. აქაც
გასათვალისწინებელია, რომ გრამატიკამ უზრუნველყოს ისეთი სიტყვების მიღება, როგორებიცაა
𝜺 , 𝒂𝒏 , 𝒃𝒎 . საბოლოოდ გრამატიკას ექნება სახე:
𝑽𝑵 = {𝑺, 𝑨, 𝑩} , 𝑽𝑻 = {𝒂, 𝒃}
𝑺 → 𝒂𝑨,
𝑺 → 𝒃𝑩,
𝑨 → 𝒂𝑨,
𝑨 → 𝒃𝑩,
𝑩 → 𝒃𝑩,
𝑺→𝜺,
𝑨 → 𝜺,
𝑩 → 𝜺.
ამ შემთხვევაშიც შემოწმებით უნდა დავრწმუნდეთ აგებული გრამატიკის სისწორეში.
დავალება
მოცემულია გრამატიკები. რომელი კლასისაა ეს გრამატიკები?
აღწერეთ ენა, წარმოქმნილი მოცემულია გრამატიკებით. პასუხები
დაასაბუთეთ.

1. 𝑇 → 𝑎𝑈, 𝑈 → 𝑏𝑎𝑈, 𝑈 → 𝜀 𝑇- აქსიომაა


2. 𝑆 → 𝐹𝐹, 𝐹 → 𝑎𝐹, 𝐹→𝑏
3. 𝑆 → 𝑆𝑐, 𝑆 → 𝐴, 𝐴 → 𝑎𝐴𝑏, 𝐴 → 𝜀
4. 𝑆 → 𝜀, 𝑆 → 𝑎, 𝑆 → 𝑏𝑆𝑏
5. 𝑆 → 𝑆𝐴, 𝑆𝐴𝐴 → 𝐴𝑆𝑏, 𝐴𝑆𝐴 → 𝑏, 𝐴 → 𝑎
6. 𝐹 → 𝑎𝐹𝐻, 𝐹 → 𝑎𝑏𝑐, 𝑏𝐻 → 𝑏𝑏𝑐, 𝑐𝐻 → 𝐻𝑐 𝐹 - აქსიომაა
7. 𝑆 → 𝑎𝑇𝑆, 𝑆 → 𝑈, 𝑇𝐴 → 𝑎𝑎𝑇, 𝑇𝑈 → 𝑈, 𝑈 → 𝑎
8. 𝑆 → 𝑇𝑎, T→ 𝑎𝑆, S→ 𝑈𝑏, U→ 𝑏𝑆, S→ 𝑐
9. S → T T , T→ 𝑐𝑇𝑐, T→ 𝑏𝑇𝑏
კითხვარი თვითშემოწმებისათვის

1. როგორ გრამატიკას ეწოდება წარმომქმნელი გრამატიკა (0 ტიპის გრამატიკას)?


2. როგორ გრამატიკებს ეწოდებათ ეკვივალენტური გრამატიკები?
3. როგორ გრამატიკას ეწოდება კონტექსტური გრამატიკა (1 ტიპის გრამატიკა) ?
4. როგორ გრამატიკას ეწოდება კონტექსტურად - თავისუფალი გრამატიკა (2 ტიპის გრამატიკა)?
5. როგორ გრამატიკას ეწოდება მარჯვენა წრფივი გრამატიკა (3 ტიპის გრამატიკა) ?
6. რომელი გრამატიკა წარმოადგენს ავტომატურ გრამატიკას?
7. მოიყვანეთ ფორმალური ენებისა და გრამატიკის ტიპების თანაფარდობა (ჩომსკის იერარქია).
8. როგორ გრამატიკას ეწოდება ჩომსკის გრამატიკ ა?
9. როგორ ენას ეწოდება ჩომსკის ენა?
10. გრამატიკის რომელ წესებს ეწოდება ტერმინარული და არატერმინალური წესები?
11. როგორ ჯაჭვებს ეწოდება ტერმინარული და არატერმინალური ჯაჭვები?
12. როგორ ჯაჭვს ეწოდება წინატერმინარული ჯაჭვი?
13. ჩამოაყალიბეთ ენის არაცარიელობის აუცილებელი პირობა.
14. ჩამოაყალიბეთ ენის არაცარიელობის აუცილებელი და საკმარისი პირობა.
15. ჩამოაყალიბეთ ენის უსასრულობის აუცილებელი პირობა.
16. ჩამოაყალიბეთ სიმრავლის ჩაკეტილობის თვისება რაიმე ოპერაციის მიმართ.
17. რომელი ოპერაციების მიმართ არის ჩაკეტილი კონტექსტურად - თავისუფალი ენების
სიმრავლე?
18. როგორ გრამატიკას ეწოდება ავტომატური გრამატიკა (A - გრამატიკა)? ავტომატური ენა (A -
ენა)?
19. როგორ ენას ეწოდება მინიმალური წრფივი ენა?
20. როგორ გრამატიკას ეწოდება მეტაწრფივი?
21. როგორ ენას ეწოდება მეტაწრფივი ენა?
22. როგორ გრამატიკას ეწოდება მიმდევრობითი გრამატიკა?
23. როგორ ენას ეწოდება მიმდევრობითი ენა?
24. როგორ გრამატიკას ეწოდება ავტომატური გრამატიკა? როგორი სახის წესებია ავტომატურ
გრამატიკაში?
25. მოიყვანეთ სასრული ავტომატის განმარტება და მუშაობის პრინციპი.

You might also like