Professional Documents
Culture Documents
ფორმალური ენები და სასრული ავტომატები PDF
ფორმალური ენები და სასრული ავტომატები PDF
მაგალითები და სავარჯიშოები
თბილისი
2020
1
სარჩევი
1. ზოგადი ცნებები ფორმალური სისტემების შესახებ
1.1. გამონათქვამები და ლოგიკური კავშირები ……………………………………… გვ. 5
1.2. დე მორგანის წესები ..................................................................................................... გვ.11
1.3. გამონათქვამთა აღრიცხვის თეორიულ-სიმრავლური ინტერპრეტაცია.......... გვ. 12
1.4. ფორმალური სისტემისა და ფორმალური ენის ცნება ......................................... გვ.13
კითხვარი თვითშემოწმებისათვის ………………………………………………………. გვ.14
2. სიტყვები, ენები და გრამატიკები
2.1. ძირითადი ცნებები და განმარტებები ................................................................ გვ. 14
2.2. ოპერაციები ენებზე ................................................................................................... გვ.16
კითხვარი თვითშემოწმებისათვის ……………………………………………………… .გვ.18
2.3. წარმომქმნელი გრამატიკა ( 0 ტიპის გრამატიკა).................................................. გვ.19
2.4. გრამატიკის კლასები ................................................................................................... გვ.21
2.5. ხომსკის გრამატიკა და ხომსკის ენა ( - გრამატიკა და - ენა) ..................... გვ.25
2.6. შესაბამისობა გრამატიკებსა და ენებს შორის .......................................................... გვ.27
2.7. არაცარიელი, სასრული და უსასრულო ენები ……………………………………. გვ.28
2.8. ენის მაგალითი, რომელიც არაა -ენა .................................................................. გვ.30
2.9. ცარიელი ჯაჭვის ელიმინაცია .................................................................................... გვ.30
2.10. არაპროდუქტიული წესების ელიმინაცია, ცარიელი ენა .................................... გვ.31
2.11. ჩაკეტილობის თვისება. ოპერაციები - ენებზე ..............................................გვ.32
2.12. - ენების სპეციალური კლასები ......................................................................... გვ.34
კითხვარი თვითშემოწმებისათვის ……………………………………………………….გვ.38
სასრული ავტომატები
3.1. ზოგადი ცნებები აბსტრაქტული ავტომატების შესახებ ...................................... გვ.39
3.2. დინამიური სისტემა ................................................................................................... გვ.40
3.3. სასრული აბსტრაქტული ავტომატები ....... ............................................................ გვ.40
3.4. ავტომატების კლასიფიკაცია სხვადასხვა ნიშნის მიხედვით ............................. გვ.41
3.5. მილისა ( გვარის და მურის (II გვარის) ავტომატები ..................................... გვ.43
3.6. აბსტრაქტული ავტომატების ფუნქციონირების აღწერა .................................... გვ.45
3.7. მურის ავტომატის მილის ეკვივალენტურ ავტომატად გარდაქმნა .................. გვ.57
3.8. მილის ავტომატის მურის ეკვივალენტურ ავტომატად გარდაქმნა ................. გვ.58
3.9. სასრული ავტომატების მაგალითები ............................. ..................................... გვ.61
კითხვარი თვითშემოწმებისათვის …………………………………………………… გვ.64
3.10. არადეტერმინირებული სასრული ავტომატები .............................................. გვ.67
3.11. სასრული ავტომატის კონფიგურაცია ................................................................გვ.70
2
3.12. სასრული ავტომატები ერთასონიშნიანი გადასვლებით ................................... გვ.71
3.13. მარჯვენა წრფივი ენების დახასიათება ............................................................ გვ.73
3.14. მარჯვენა წრფივი გრამატიკების ნორმალური ფორმა .................................. გვ.74
3.15. დეტერმინირებული სასრული ავტომატები ..................................................... გვ.74
3.16. სასრული ავტომატის დეტერმინირებულ სახეზე მიყვანა ............................ გვ.75
კითხვარი თვითშემოწმებისათვის …………………………………………………… . .გვ.76
4. ავტომატური ენების ძირითადი თვისებები
4.1. ავტომატური ენების ჩაკეტილობის თვისება ................................................... გვ. 76
4.2. ავტომატური ენების თანაკვეთა და დამატება ................................................. გვ. 78
4.3. ლემა ავტომატური ენების ზრდადობის შესახებ ............................................... გვ. 78
4.4. არაავტომატური ენების მაგალითები..................................................................... გვ. 79
5. რეგულარული გამოსახულებები
5.1. რეგულარული გრამატიკები ..................................................................................... გვ.80
5.2. რეგულარული ენები ................................................................................................ გვ.80
5.3. ავტომატების ანალიზისა და სინთეზის ზოგადი ამოცანები…………………. გვ.84
5.4. კლინის თეორემა ....................................................................................................... გვ. 85
5.5. რეგულარული გამოსახულების მინიმალური ფორმა ....................................... გვ. 85
5.6. რეგულარული გამოსახულებების გრაფული წარმოდგენები............................ გვ. 90
კითხვარი თვითშემოწმებისათვის ……………………………………………………… გვ.92
6. დეტერმინირებული სასრული ავტომატების მინიმიზაცია .................. გვ.93
7. არაცალსახობა კონტექსტურად -თავისუფალ გრამატიკებში
7.1. გამოყვანის ხეები ....................................................................................................... გვ.93
7.2. ცალსახა კონტექსტურად - თავისუფალი გრამატიკები ....................................... გვ.94
კითხვარი თვითშემოწმებისათვის ……………………………………………………… გვ.96
4
ფორმალური გრამატიკების თეორიას ცენტრალური შემადგენელი ადგილი
უჭირავს მათემატიკურ ლინგვისტიკაში (ენათმეცნიერებაში). იგი წარმოიშვა, ერთის
მხრივ, ლინგვისტიკის და, მეორეს მხრივ, გამომთვლელი მანქანების მათემატიკური
უზრუნველყოფის მოთხოვნილებასთან დაკავშირებით. ფორმალურ გრამატიკებს შორის
განსაკუთრებით მნიშვნელოვანია კონტექსტურად თავისუფალი გრამატიკების კლასი.
იგი მეტად ხელსაყრელი აღმოჩნდა მრავალი ბუნებრივი ენის კონსტრუქციის აღსაწერად
და შემდეგში ფართო გამოყენება ჰპოვეს პროგრამირების ენების აღწერაში. თავისი
სტრუქტურის სიმარტივისა და აბსტრაქტული ავტომატების თეორიის ზოგიერთ
კონცეფციასთან მჭიდრო კავშირის წყალობით იგი მეტად ხელსაყრელია მათემატიკური
შესწავლის თვალსაზრისითაც.
ლექციათა კურსი მოიცავს ინფორმატიკის ისეთ კლასიკურ თემებს, როგორიცაა
წარმომქმნელი გრამატიკები, სასრული ავტომატები, წრფივი გრამატიკები,
რეგულარული გამოსახულებები, კონტექსტურად თავისუფალი გრამატიკები და ენები,
ტიურინგის მანქანა, გრამატიკებთან და ავტომატებთან დაკავშირებული
ალგორითმული პრობლემები. მოყვანილია პრაქტიკული მაგალითები და სავარჯიშოები
დამოუკიდებელი მუშაობისათვის.
5
ჭეშმარიტი ან მცდარი მნიშვნელობა. ზოგადად ჭეშმარიტება აღინიშნება 1-იანით, ხოლო
მცდარობა 0-ით.
გამონათქვამი
“გივი ატარებს ავტომობილს და გოგის შავი თმები აქვს”
არის რთული გამონათქვამი და ის შედგება ორი ნაწილისაგან, რომლებიც შეერთებულია
ერთმანეთთან “და” კავშირით. ეს გამონათქვამი სიმბოლურად შეიძლება შემდეგი სახით
ჩავწეროთ:
და .
გამონათქვამი “წვიმა მოდის და ქარი ქრის” ჭეშმარიტად ითვლება მაშინ და
მხოლოდ მაშინ, თუ ერთდროულად წვიმაც მოდის და ქარიც ქრის. ეს გამონათქვამი
არის ორი – “წვიმა მოდის” და “ქარი ქრის” მარტივ გამონათქვამთა კონიუნქცია.
ორი და გამონათქვამის კონიუნქცია აღინიშნება ⋀ სიმბოლოთი (⋀
სიმბოლო აღნიშნავს “და” კავშირს) და და -ს სხვადასხვა მნიშვნელობებისათვის აქვს
შემდეგი მნიშვნელობები:
0 0 0
0 1 0
1 0 0
1 1 1
6
დიზიუნქცია ⋁ (⋁ სიმბოლო აღნიშნავს “ან” კავშირს) ითვლება
ჭეშმარიტად მაშინ და მხოლოდ მაშინ, როცა ერთ-ერთი გამონათქვამი მაინცაა
ჭეშმარიტი.
0 0 0
0 1 1
1 0 1
1 1 1
0 1
1 0
0 0 1
0 1 1
1 0 0
1 1 1
7
თუ ვიცით, რომ -ს მნიშვნელობაა 1 და -ს აქვს მნიშვნელობა 1, მაშინ
შეგვიძლია დავასკვნათ, რომ -ს მნიშვნელობაა 1 .
0 0 1
0 1 0
1 0 0
1 1 1
8
არსებობენ გამოსახულებები, რომლებიც ღებულობენ ან 1 ან 0 მნიშვნელობებს
მასში შემავალი ცვლადების მნიშვნელობებზე დამოკიდებულების მიხედვით.
მაგალითად: ⋁ ⋀ თუ ამ გამონათქვამს ავღნიშნავთ -ით, მაშინ
0 0 1
0 1 1
1 0 0
1 1 1
ლოგიკური გამომდინარეობა
საწინააღმდეგო დებულება
ე.ი. საწინააღმდეგო დებულებაში პირობა რჩება იგივე, ხოლო შედეგი იცვლება მისი
უარყოფით.
9
შებრუნებული დებულება
10
ე.ი. მოცემული დებულების ექვივალენტურ დებულებაში შედეგის უარყოფიდან
გამომდინარეობს პირობის უარყოფა. ანუ დებულების ჭეშმარიტობიდან
(მცდარობიდან) გამომდინარეობს დებულების ჭეშმარიტობა (მცდარობა). ეს
დებულებებიც ერთდროულად არიან ჭეშმარიტი ან მცდარი, მაგრამ არ გამოხატავენ ერთსა
და იმავე აზრს.
დე მორგანის წესები
1. ⋁ ⋀ : იდემპოტენტურობა.
2. ⋁ ⋁ ⋀ ⋀ : კომუტატიურობა.
3. ⋁ ⋁ ⋁ ⋁ ; ⋀ ⋀ ⋀ ⋀ : ასოციაციურობა.
4. ⋁ ⋀ ⋀ ⋁
⋁ ⋀ ⋁ ⋀ ⋁
5. { : დისტრიბუტიულობა.
⋀ ⋁ ⋀ ⋁ ⋀
6. ⋁ ̅ ჭეშმარიტი ⋀ ̅ მცდარი
̅̅̅̅̅̅
⋁ ̅⋀ ̅
7. {̅̅̅̅̅̅ : გაორება ( დე მორგანის წესი).
⋀ ̅⋁ ̅
8. ̅̅̅̅̅
11
გამონათქვამთა აღრიცხვის თეორიულ-სიმრავლური
ინტერპრეტაცია
0 0 0
0 1 1
1 0 1
1 1 0
და შეესაბამება მკაცრ დიზიუნქციას: ან ერთი ან მეორე, მაგრამ არც ერთი და არც მეორე
ერთად.
| ოპერაცია ( შეფერის შტრიხი ანუ უთავსებადობა ) ასე განისაზღვრება:
0 0 1
0 1 1
1 0 1
1 1 0
12
̅ .
⋁ .
⋀ .
13
რომელსაც აზრი აქვს მოცემულ თეორიაში, შეესაბამება სწორად შედგენილი სიტყვების
(ფრაზების) რაღაც კლასი ფორმალურ სისტემაში.
გავუკეთოთ რეზიუმე ზემოთ ნათქვამს ფორმალური სისტემის შესახებ.
ფორმალური სისტემა ეწოდება ოთხეულს, სადაც -
თვლადი ალფავიტია; -ფორმალური ენა -ზე; - სიმრავლის რაიმე ქვესიმრავლე
ან აქსიომათა სიმრავლე; R - გამომდინარეობის წესების ერთობლიობა.
ფორმალური ენა არის ალფავიტში შემავალი ასოებისაგან შედგენილი
სიტყვათა მიმდევრობა (ჯაჭვი), გამოყოფილი რაღაც სასრული რაოდენობის წესების
საშუალებით.
კითხვარი თვითშემოწმებისათვის
1. რა არის გამონათქვამი?
2. როგორ გამონათქვამს ეწოდება მარტივი გამონათქვამი?
3. როგორ გამონათქვამს ეწოდება რთული გამონათქვამი?
4. ჩამოაყალიბეთ და მოიყვანეთ ორი გამონათქვამის კონიუნქციის, დიზიუნქციის,
იმპლიკაციის, მკაცრი დიზიუნქციისა და გამონათქვამის უარყოფის განმარტებები და
ჭეშმარიტების ცხრილები.
5. როგორ კავშირებს ეწოდება ბინარული კავშირები? უნარული კავშირები?
6. ჩამოაყალიბეთ ლოგიკური გამომდინარეობის ანუ პირობითი დებულების
განმარტება.
7. ჩამოაყალიბეთ მოცემული დებულების საწინააღმდეგო, შებრუნებული, მოპირდაპირე
(ტოლფასი) და შებრუნებულის მოპირდაპირე (ექვივალენტური) დებულებები.
8. ჩამოაყალიბეთ დე მორგანის წესები.
9. რომელი თეორიის ცნების საფუძველზე ჩამოყალიბდა ფორმალური სისტემის ცნება?
10. მოიყვანეთ ფორმალური სისტემისა და ფორმალური ენის განმარტებები.
14
განმარტება 2.1.3. სიტყვა (ჯაჭვი, სტრიქონი) ალფავიტში ეწოდება ალფავიტის
ელემენტების სასრულ მიმდევრობას.
- ით.
მაგალითი 2.2.2. თუ { } და { }
მაშინ { }.
{ } ჯერ, თუ
{ }
16
⋃
{ }
{ }
{ }
17
განმარტება 2.2.18. ვთქვათ . მაშინ - ით აღინიშნება ენის ყველა
ქვესიტყვათა სიმრავლე.
ცხადია, რომ { }
კითხვარი თვითშემოწმებისათვის
18
2.3. წარმომქმნელი გრამატიკა
⇒
განმარტება 2.3.5. ვთქვათ მოცემულია G გრამატიკა. დავწერთ, რომ , თუ
, და რომელიმე სიტყვებისათვის
⇒
ალფავიტში. თუ , მაშინ იტყვიან, რომ სიტყვა უშუალოდ
გამოიყვანება სიტყვიდან.
19
⇒
- ს ნაცვლად უბრალოდ შეიძლება დავწეროთ ⇒ სიმბოლო.
{ }{ }{ }
⇒
მაშინ .
⇒ ⇒ ⇒
განმარტება 2.3.8. თუ სადაც მაშინ
⇒
სხვა სიტყვებით, ⇒ ბინარული დამოკიდებულება ბინარული დამოკიდებულების
წარმოქმნის ენას.
მაშინ { }. .
მაგალითი 2.4.2.
გრამატიკა არ არის კონტექსტური, რადგან ბოლო სამ წესს არ აქვს აღნიშნული საჭირო სახე.
მაგალითი 2.4.4.
21
განმარტება 2.4.5. წრფივი გრამატიკა ეწოდება წარმომქმნელ გრამატიკას, რომლის
ყველა წესს აქვს ან სახე, სადაც
მაგალითი 2.4.6.
მაგალითი 2.4.8.
მაგალითი 2.4.9.
გრამატიკა მარჯვენა წრფივი გრამატიკაა. იგი წარმოქმნის ენას.
მაგალითი 2.4.10.
მაგალითი 2.4.11.
22
ლემა 2.4.13. ყოველი მარჯვენა წრფივი გრამატიკა არის წრფივი გრამატიკა. ყოველი
წრფივი გრამატიკა არის კონტექსტურად - თავისუფალი. ყოველი კონტექსტურად -
თავისუფალი გრამატიკა წესების გარეშე არის კონტექსტური გრამატიკა.
{ }
გრამატიკით.
Type 0
CS
CF
R
23
ნახ. 1. ფორმალური ენებისა და გრამატიკის ტიპების თანაფარდობა
24
თუ ამის გარდა წესებს აქვთ სახე (ე.ი. შედგება ერთი დამხმარე
სიმბოლოსაგან), მაშინ გრამატიკას ეწოდება უკონტექსტო გრამატიკა. და ბოლოს, თუ
ზემოთ ჩამოთვლილ შეზღუდვათა გარდა -ს აქვს ან სახე (ე.ი. წესებს აქვთ
ან სახე), მაშინ გრამატიკას ეწოდება ავტომატური გრამატიკა.
აქსიომა.
, { }
{ } { }
| |
ჩვენ დავწერთ ⇒ .
{ { }}
{ } { }
| |
26
L( G) ენის არაცარიელობის აუცილებელ პირობას წარმოადგენს G -ში ერთი ან
რამოდენიმე A → τ სახის ტერმინარული წესის არსებობა, სადაც გრამატიკის
სხვა წესებს ეწოდება არატერმინარული.
მაგალითი 2.5.5. გრამატიკას აქვს ორი არატერმინარული წესი: და
და ერთი ტერმინარული წესი.
გრამატიკას არ აქვს არცერთი ტერმინარული წესი.
{ } { }
| |
| |
27
შემაკავშირებული გრამატიკები. გრამატიკების განხილვისას მოსახერხებელია მას
შევუსაბამოთ გრაფი, რომლის წვეროები შეუსაბამებენ არატერმინარული ანბანის
სიმბოლოებს სიმბოლოებს, რომლებიც ფიგურირებენ
ტერმინალურ წესებში.
28
სიგრძეთა შემოუსაზღვრელობა. აქედან გამომდინარეობს, რომ წინატერმინალური
ჯაჭვებიც უნდა იყოს შემოუსაზღვრელი. ასევე შემოუსაზღვრელი უნდა იყოს
არატერმინალური ჯაჭვების სიგრძე.
29
2.8. ენის მაგალითი, რომელიც არაა -ენა
| |
| |
| |
30
განვიხილოთ მიღებული სიმრავლეების მიმდევრობა. ჩამოვაყალიბოთ
აუცილებელი და საკმარისი პირობა, რომ . G-დან გამომდინარე ავაგოთ
-გრამატიკა ისეთი, რომ { } .
| |
შევნიშნოთ, რომ
| |
| |
განვიხილოთ { } ენა.
ა) განვიხილოთ -ენები { } და { { }} .
ცხადია, რომ .
33
2.11.7. -ენის ჩასმა
ვიტყვით, რომ L ენა ეკუთვნის ტიპს, თუ არსებობს ასეთი ტიპის ერთი მაინც
გრამატიკა, რომელიც წარმოქმნის აღნიშნულ ენას.
34
2.12.2. წრფივი ენები
| |
35
მარჯვენა ნაწილში, წესი მარცხენა ნაწილით არ შეიცავს -სა და -საგან
განსხვავებულ არატერმინალურ სიმბოლოებს და ა.შ.
ენას ეწოდება მიმდევრობითი, თუ ის წარმოქმნილია მიმდევრობითი
გრამატიკით.
მაგალითები 2.12.7. { } ენა არის მიმდევრობითი ენა, როგორც ყველა ენა
წარმოქმნილი - გრამატიკითა და ერთი არატერმინალური სიმბოლოთი.
ენა აგრეთვეა მიმდევრობითი ენა : გრამატიკაში შეიძლება დავუშვათ
ამის საწინააღმდეგოდ
| |
| |
{ } და აქსიომაა, { }, მარჯვენა და
მარცხენა სახის წესები:
- (მარჯვენა),
(მარცხენა),
36
(ანბანური ანუ ტერმინალური წესები).
მარჯ | |.
{ }
მარცხ | |.
{ }
37
საწყისი მდგომარეობა და დამამთავრებელ მდგომარეობათა სიმრავლე. ჯაჭვი
დასაშვებია სასრული ავტომატისათვის, თუ საწყის მდგომარეობაში მუშაობის
დაწყებისას და ამ ჯაჭვის ბოლომდე წაკითხვის შემდეგ ავტომატი გადადის ერთ-ერთ
დამამთავრებელ მდგომარეობაში.
კითხვარი თვითშემოწმებისათვის
3. სასრული ავტომატები
3.1. ზოგადი ცნებები აბსტრაქტული ავტომატების შესახებ
39
ავტომატების აბსტრაქტული თეორიისაგან განსხვავებით, ავტომატების
სტრუქტურული თეორია, უპირველეს ყოვლისა, შეისწავლის როგორც თვით ავტომატს,
ასევე მასში შემავალი და გამომავალი სიგნალების სტრუქტურას.
41
გამომთვლელ ავტომატებს განეკუთვნება მიკროკალკულატორი, პროცესორი ეგმ -
ში და მსგავსი მოწყობილობები, რომლებიც ასრულებენ გამოთვლებს.
მათემატიკური მოდელი,
42
7. დეტერმინირებული და ალბათური (სტოქასტური) ავტომატები.
დეტერმინირებულ ავტომატებში ქცევა და სტრუქტურა დროის ყოველ მომენტში
ცალსახად განისაზღვრება მიმდინარე შემავალი ინფორმაციითა და დროის წინა
მომენტში ავტომატის მდგომარეობით. ალბათურ (სტოქასტურ) ავტომატებში ეს
დამოკიდებულება დაკავშირებულია კიდევ რაიმე შემთხვევით არჩევასთან.
( ( ))
( )
( )
( )
( )
( ),
( )
სადაც
ნებისმიერი გვარის აბსტრაქტულ ავტომატს ეწოდება წესიერი, თუ გამომავალი
სიგნალი ცხადად არ არის დამოკიდებული შემავალ სიგნალზე და
განისაზღვრება მხოლოდ ან მდგომარეობით. პირველი გვარის
ავტომატებს ეწოდებათ აგრეთვე მილის ავტომატები, ხოლო მეორე გვარის ავტომატებს -
მურის ავტომატები.
44
3.6. აბსტრაქტული ავტომატების ფუნქციონირების აღწერა
ნახ.2
ნახ.3
47
ავტომატის შემთხვევაში დამოკიდებულია -ზე. ავტომატის საწყისი
მდგომარეობა აღინიშნება ასოთი. მაშასადამე, ასეთი ორიენტირებული გრაფი
ცალსახად იძლევა რომელიღაც აბსტრაქტულ ავტომატს. გრაფებს დატვირთული
გვერდებით (გვერდებზე წონითი ფუნქციებით) ეწოდება გრაფოიდები. ამიტომ
ორიენტირებული გრაფოიდი არის აბსტრაქტული ავტომატის გეომეტრიული
ინტერპრეტაცია.
გრაფოიდიდან ადვილად შეიძლება გადასვლა მოცემულ ავტომატზე
დატვირთული წინარე ხის საშუალებით, რომელიც წარმოადგენს სტრუქტურული
გრაფის მაგალითს. გრაფოიდის მიხედვით, წინარე ხის აგება ხდება შემდეგნაირად:
ფიქსირდება წვერო, რომელიც შეესაბამება საწყის მდგომარეობას. იგი არის
პირველი რანგის წვერო ან წინარე ხის ძირი. პირველი რანგის წვეროდან გაივლება ორი
რკალი, რომელთაც ეწოდებათ პირველი რანგის რკალები და რომელთა რაოდენობაც
ტოლია ავტომატის შემავალი ალფავიტის ასოთა რაოდენობისა. ყოველი რკალი შედის
მეორე რანგის წვეროში ( რაოდენობის წვერო). მეორე რანგის ყოველი წვეროდან
გამოდის რაოდენობის რკალი, რომლებიც შედის მესამე რანგის წვეროებში ( ²
წვერო) და ა.შ. პირველი და მომდევნო რანგის თითოეულ რკალს მიეწერება შესავალი
ასო და ფრჩხილებში გამოსავალი ასო შესაბამისი ალფავიტებისა, ხოლო
მეორე და მომდევნო რანგის წვეროებს ასო. მაშასადამე, ავტომატის წინარე ხე
არის გრაფი, რომლის ყოველ წვეროში, გარდა ფუძისა, შედის ერთი რკალი და
რომელიც არ შეიცავს კონტურებს.
ეხლა განვიხილოთ ავტომატების მოცემის მატრიცული ხერხი. მის ერთ-ერთ სახეს
წარმოადგენს ზემოთ აღწერილი მართკუთხა მატრიცები, რომელთაც ეწოდებათ
გადასვლებისა და გამოსასვლელების ცხრილები და განსაზღვრავენ და
ფუნქციებს. რადგანაც ამ მატრიცებში მონაწილეობს ყველა ასონიშანი
შესასვლელი და გამოსასვლელი ალფავიტებისა და აგრეთვე მდგომარეობათა
ალფავიტისა, ამიტომ ისინი სრულად და ცალსახად იძლევიან რაღაც ავტომატს.
უფრო ხშირად გამოიყენება კვადრატული მატრიცები, რომელთაც ეწოდებათ
ავტომატის შეერთების მატრიცა და იგი შემდეგნაირად აიგება. შეერთების მატრიცის
სტრიქონები და სვეტები შეესაბამებიან ავტომატის სხვადასხვა მდგომარეობას.
პირველი სტრიქონი და პირველი სვეტი შეესაბამება საწყის მდგომარეობას. -
ური სტრიქონისა და -ური სვეტის გადაკვეთაზე იწერება შემავალი ალფავიტის
ასო ან შემავალი ასოების დიზიუნქცია, რომელიც იწვევს ავტომატის გადასვლას
მდგომაეობიდან -ში, ხოლო ფრჩხილებში იწერება გამომავალი ალფავიტის ასო
ან გამომავალი ასოების დიზიუნქცია, რომლებიც გამოჩნდებიან ავტომატის
გამოსასვლელზე. თუ არცერთ ასოს შემავალი ალფავიტისა არ გადაყავს ავტომატი
მდგომარეობიდან -ში, მაშინ შესაბამის გადაკვეთაზე იწერება ნული.
48
შეერთების მატრიცას გააჩნია ის თვისება, რომ მის ნებისმიერ სტრიქონში
შემავალი ალფავიტის ყოველი ასო მხოლოდ ერთხელ უნდა შეგვხვდეს. ეს პირობა
დაკავშირებულია ავტომატის გადასვლისა და გამოსავლის ფუნქციების
ცალსახობასთან და ეწოდება ცალსახობის პირობა.
ცხრ.1 ცხრ.2
49
ავტომატის გრაფოიდი გამოსახულია 10-ე ნახაზზე, ხოლო დატვირთული წინარე ხის
პირველი სამი იარუსი, აგებული გრაფოიდის მიხედვით, ნაჩვენებია 11-ე ნახაზზე.
ნახ.10
50
ნახ.11
( ) ( ) 0 ( )
( ) 0 ( ) ( ) (4)
( ) ( 0 ( )
( ) 0 ( ) ( )
51
მეორე გვარის ავტომატი. მაშინ (1) ცხრილი განსაზღვრავს გადასვლის
ფუნქციას, ხოლო მე-2 ცხრილი გამოსასვლელის ψ წანაცვლებულ ფუნქციას.
მე-(2) გვარის ავტომატის გრაფოიდი მოცემულია (1)-ნახაზზე, ხოლო შეერთების
მატრიცას აქვს (4) სახე. თუ ავტომატი იმყოფება საწყის მდგომარეობაში და მის
შესასვლელზე მოვა და სიტყვები, ისეთები
როგორებიც პირველი გვარის ავტომატის შესასვლელზე, მაშინ გამოსასვლელზე
მივიღებთ და სიტყვებს, რომლებიც
განსხვავდებიან პირველი გვარის ავტომატის გამოსასვლელი სიტყვებისგან. ამიტომ
პირველი გვარის ავტომატის ასახვა განსხვავდება მეორე გვარის ავტომატის
ასახვისგან.
როგორც ცნობილია, მურის ავტომატის გამოსასვლელი სიგნალი
დამოკიდებულია მხოლოდ მის მდგომარეობაზე ე.ი. ( ) ამიტომ ყოველი
მდგომარეობა აღნიშნულია გამოსასვლელი ასოთი, რომელიც ასახვაში
ისმება ფრჩხილებში ელემენტის გვერდით. ამიტომ ანალიზურად მურის ავტომატი
შეიძლება მოცემული იყოს ფორმით: ( ) სადაც ასახვა -
სათვის თავში ნებისმიერი და ყოველ ასოს შეუსაბამებს
მდგომარეობას, რომელიც განსაზღვრავს გამოსასვლელის წანაცვლებულ
ფუნქციას. მაშასადამე, მურის ავტომატის გამოსასვლელის ცხრილი დაიყვანება ერთ
სტრიქონამდე, რომელიც განლაგდება მდგომარეობათა გადასვლის ცხრილის თავზე.
მურის ავტომატის გეომეტრიული ინტერპრეტაციის გამოსასვლელი ალფავიტის
ასოები იწერება მდგომარეობათა ალფავიტის გვერდით ფრჩხილებში, ხოლო
შეერთების მატრიცაში იწერება შესაბამისი სვეტის თავზე.
{ }
{ },
{ }.
52
ნახ.12
y X\Q
X\Q
(ცხრ.4) (ცხრ.5)
( ) ( )
= 0
53
0 .
={ ( / ), ( / )},
={ ( / ), ( / )},
={ ( / ), ( / )},
0 ) ( )
= 0 ) ( )
( ) ) 0 ,
ნახ.13
მაგ , , , .
ადვილი შესამოწმებელია, რომ მილის ავტომატი (x) სიმრავლის სიტყვებს ასახავს
(y)-ში ისევე, როგორც მურის B ავტომატი.
აქამდე ვიხილავდით პირველი და მეორე გვარის ავტომატებს, რომელთათვისაც
მდგომარეობათა Q სიმრავლის თავის თავში F ასახვა განსაზღვრული იყო ნებისმიერი
(q,x) წყვილისათვის, სადაც q Q x X . ასეთ ავტომატებს უწოდებენ სრულად
განსაზღვრულებს. ავტომატები (ნებისმიერი გვარის), რომელთათვისაც Q სიმრავლის
თავის თავში F ასახვა განსაზღვრული არ არის ყველა q Q და x X წყვილისათვის,
უწოდებენ ნაწილობრივ ავტომატებს. ნაწილობრივი ავტომატის ცნება შეიძლება
54
განვმარტოთ, თუ გამოვიყენებთ ავტომატის გამოსასვლელისა და შესასვლელის
ფუნქციებს. ნაწილობრივი ავტომატი ეწოდება ავტომატს, რომლისთვისაც გადასვლის
ფუნქცია ან გამოსასვლელის ფუნქცია ან ორივე ეს ფუნქცია განსაზღვრული არ არის
q Q და x X ელემენტთა წყვილის ყველა მნიშვნელობისათვის. გადასვლისა და
გამოსვლის ცხრილების და აგრეთვე ავტომატის შეერთების მატრიცის იმ
ადგილებზე, რომლებშიდაც შესაბამისი გადასვლები და გამოსვლები არ არის
განსაზღვრული, ჩაიწერება ნული ან ტირე.
განვიხილოთ ასახვა, ინდუცირებული ნაწილობრივი ავტომატით. ავტომატის
შესასვლელზე მივაწოდოთ შემავალი ალფავიტის სხვადასხვა სიტყვები.
ვიგულისხმოთ, რომ რაღაც სიტყვის P= .... შემავალი ასოს მიწოდებისას
მისი შესაბამისი გამოსასვლელი სიგნალი არ არის განსაზღვრული. ამ შემთხვევაში
იტყვიან, რომ P შესასვლელი სიტყვა აკრძალულია მოცემული ნაწილობრივი
ავტომატისათვის. ყველა ასეთი სიტყვების აკრძალული ერთობლიობა შეადგენს
მოცემული ავტომატის აკრძალულ არეს. სიტყვა, რომელიც არ არის აკრძალული,
ეწოდება დასაშვები, ხოლო მათ სიმრავლეს, დასაშვებ სიტყვათა სიმრავლე.
განვსაზღვროთ დამაკავშირებელი ავტომატის ცნება, რომელიც მეტად მნიშვნელოვან
როლს თამაშობს ნაწილობრივი ავტომატის შესწავლისას.
აბსტრაქტული ავტომატის Q მდგომარეობას ეწოდება მიღწევადი, თუ იგი
ემთხვევა საწყის მდგომარეობას ან თუ არსებობს ისეთი Q მიღწევადი
მდგომარეობა და შემავალი ალფავიტის ისეთი ასო, რომ .
წინააღმდეგ შემთხვევაში მდგომარეობას ეწოდება არამიღწევადი. აბსტრაქტულ
ავტომატს, რომელთა ყველა მდგომარეობა მიღწევადია, ეწოდება დამაკავშირებელი
ავტომატი.
ადვილი დასანახია, რომ საწყისი მდგომარეობიდან ავტომატი ვერ გადავა
არამიღწევად მდომარეობაში, ამიტომ ავტომატის შეერთების მატრიცაში ის
სტრიქონები და სვეტები, რომლებიც შეესაბამებიან არამიღწევად მდგომარეობებს,
შეიძლება ამოვშალოთ. ამ შემთხვევაში ავტომატის მიერ ინდუცირებული ასახვა არ
შეიცვლება, ამიტომ შემდეგში განვიხილავთ დამაკავშირებელ ავტომატებს.
ახლა განვიხილოთ ავტონომიური ავტომატი. ვთქვათ მოცემულია მილის A=(X,
Q, Y, Q, F(x X/y Y)) ავტომატი. განასხვავებენ მილის ავტონომიური ავტომატის
ორ სახეს: ავტონომიური ავტომატი შესასვლელით და ავტონომიური ავტომატი
გამოსასვლელით.
ავტონომიური ავტომატი შესასვლელი x X ასოთი ეწოდება ავტომატს, რომელიც
აღინიშნება { } სიმბოლოთი და რომლის შესასვლელი
ალფავიტი შედგება მხოლოდ {x} სიმრავლისაგან, ხოლო F ასახვა Q სიმრავლისა
თავის თავში განისაზღვრება ისე, რომ ნებისმიერი q Q მდგომარეობას შეესაბამება
ისეთი Q მდგომარეობა, რომელშიდაც გადასვლა განხორციელდება მხოლოდ x
55
შემავალი ასოთი. ავტომატის გამომავალი ასოები არ განიხილება.
თუ მოცემულია A ავტომატის გრაფოიდი, მასზე ყველა გვერდი უნდა წავშალოთ,
რომელზედაც აღნიშნულია x -გან განსხვავებული შემავალი ასოები, მივიღებთ
ავტონომიური ავტომატის გრაფს. ავღნიშნოთ, რომ ავტონომიური ავტომატი მოიცემა
ბერჟის გრაფით და არა გრაფოიდით. ავტომატის შეერთების მატრიცა მიიღება A
ავტომატის შეერთების მატრიციდან იმ ელემენტების ნულით შეცვლით, რომლებიც x
ასოსაგან განსხვავდებიან და გამომავალი ასოების წაშლით, რომლებიც ფრჩხილებით
x ასოს გვერდით დგას.
(14) ნახაზზე მოცემულია მილის ავტონომიური ავტომატის გრაფი შესაბამისად
და შემავალი ასოს მიხედვით.
q2 -ით q3 q2 -ით
ნახ. 14
56
-ით -ით
ნახ.15
ნახ.4
57
ნახ.5
ნახ.6
ნახ.7
{ ⁄ ⁄ } { }
{ ⁄ }
{ ⁄ ⁄ } { }
{ }
59
ნახ.8
ნახ.9
60
3.9. სასრული ავტომატების მაგალითები
- ქამრის გამოყენება;
- შვილის დატუქსვა;
- შვილის დამშვიდება;
- გახარება;
- აღფრთოვანება.
61
ნახ.16
X = { მარჯვნივ, ნარცხნივ }
კითხვარი თვითშემოწმებისათვის
64
6. ჩამოაყალიბეთ აბსტრაქტული ავტომატის ცნებასთან დაკავშირებული ზოგიერთი
დაშვება.
7. როგორი ავტომატები განეკუთვნებიან ინფორმაციულ, მმართავ და გამომთვლელ
ავტომატებს?
8. მოიყვანეთ სასრული, ციფრული, აბსტრაქტული, სინქრონული და ასინქრონული,
სასრული და უსასრულო, დეტერმინირებული და ალბათური (სტოქასტური)
ავტომატების განსაზღვრებები.
9. ჩამოაყალიბეთ პირველი გვარის (მილის) და მეორე გვარის (მურის) ავტომატების
ფუნქციონირების კანონები განტოლებების საშუალებით. რა აქვთ საერთო და რითი
განსხვავდებიან მილისა და მურის ავტომატები ერთმანეთისაგან?
10. ჩამოაყალიბეთ აბსტრაქტული ავტომატების აღწერის ანალიზური, გეომეტრიული
და მატრიცული მეთოდები.
11. როგორ ავტომატებს ეწოდებათ სასრული ავტომატი? უსასრულო ავტომატი.
12. როგორ ავტომატებს ეწოდებათ ეკვივალენტური ავტომატები?
13. ჩამოაყალიბეთ სრულად და ნაწილობრივ განსაზღვრული ავტომატების
განმარტებები.
14. ჩამოაყალიბეთ ავტომატის დასაშვებ და აკრძალულ სიტყვათა სიმრავლის ცნება.
15. ავტომატის როგორ მდგომარეობას ეწოდება მიღწევადი? არამიღწევადი?
65
c a, b a b
c b, c
𝑞 𝑞
a, c
a, b
𝑞
გამოთვალეთ , სადაც ,
a) b) c) F d) Q \ F პასუხი: a)
ამოხსნა:
,
( ) ,
( ) ,
( ) .
𝑞
a a,b
𝑞 𝑞
b a,b
𝑞
b) c) d) e) პასუხი: b,c
ამოხსნა:
, ე.ი.
, ე.ი.
̅ ე.ი.
66
.
, , .
- ს ელემენტებს ეწოდება მდგომარეობები, - ს ელემენტებს საწყისი მდგომარეობები,
-ის ელემენტებს დამამთავრებელი მდგომარეობები. თუ ,
მაშინ -ს ეწოდება - დან - ში გადასვლა, ხოლო სიტყვას - ამ
გადასვლის აღნიშვნა (მარკირება).
{ }
67
მაგალით 3.10.6. დიაგრამაზე ისევ არის გამოსახული სასრული ავტომატი 3.10.2.
მაგალითიდან.
{ }, { }, { }
მაშინ
68
{ } { }
განმარტება 3.10.15. ორი სასრული ავტომატი ეკვივალენტურია, თუ ისინი გამოიცნობენ
ერთსა და იმავე ენას.
{ }
ავტომატი, სადაც { } { }
{ } { }
69
შენიშვნა 3.10.23. სასრული ავტომატის ბუნებრივ განზოგადებას წარმოადგენს
სასრული გარდამქმნელი, რომელსაც ყოველ ტაქტზე შეუძლია რამოდენიმე სიმბოლო
ერთდროულად გაუშვას „გამოსასვლელ“ ნაკადში. ზოგიერთ სახელმძღვანელოში
სწორედ ასეთ მოწყობილობას (გამოსასვლელი ნაკადით) უწოდებენ სასრულ ავტომატს.
ჩვენ ასეთ სასრულ გარდამქმნელებს არ განვიხილავთ.
და .
70
სიტყვა ეკუთვნის ენას მაშინ და მხოლოდ მაშინ, როცა რომელიმე
და - თვის სამართლიანია .
ლემა 3.11.8. თუ და
, მაშინ .
{ }
{ }, { }, { },
{ }
71
აქ პირველი ორი გადასვლა ცვლის ძველ გადასვლას და შემდეგი ორი
გადასვლა ცვლის ძველ გადასვლას. რომ უზრუნველვყოთ საწყისი
მდგომარეობის ერთადერთობა, დაემატა და გადასვლები. ბოლო ორი
გადასვლა - ში უზრუნველყოფენ დამამთავრებელი მდგომარეობის ერთადერთობას.
მოიძებნება ისეთი
{ }
რომ არსებობს გზა დან ში მარკირებით
72
3.13. მარჯვენა წრფივი ენების დახასიათება
და { } { }
{ } და { }.
73
3.14. მარჯვენა წრფივი გრამატიკების ნორმალური ფორმა
თეორემა 3.14.3. თუ მარჯვენა წრფივი ენა არ შეიცავს ცარიელ სიტყვას, მაშინ იგი
წარმოიქმნება რაიმე მარჯვენა წრფივი გრამატიკით ნორმალურ ფორმაში - წესების
გარეშე.
{ }, { } { } { }
{ }
74
შენიშვნა 3.15.5. ზოგიერთი ავტორი სრული დეტერმინირებული სასრული ავტომატის
განმარტებაში შესაბამისობის ნაცვლად იყენებს ფუნქციას.
ფუნქციიდან შეიძლება გადავიდეთ შესაბამისობაზე, თუ დავუშვებთ
{ }
{ რომელიმე }
{ } და { }
{ } { } { } ავტომატი, სადაც
{ }
75
თუ გამოვიყენებთ 3.16.1. თეორემის დამტკიცების კონსტრუქციას და შემდეგ
გამოვრიცხავთ იმ მდგომარეობებს, რომლებიც არამიღწევადია საწყისი
მდგომარეობიდან, მიიღება სრული დეტერმინირებული სასრული ავტომატი
{{ } { }{ }} {{ }} {{ }} , სადაც
{{ } { } { } { } { } { }
{ } { } { } { } { } { }}
კითხვარი თვითშემოწმებისათვის
სადაც
77
4.2. ავტომატური ენების თანაკვეთა და დამატება
ავტომატით.
სადაც
78
და ყველა .
და ინდექსები, რომ და ,
79
არანაკლებია p -ზე, მოიძებნება სიტყვები , რომლებიც შეესაბამებიან
4.3.1. ლემის მტკიცებულობას. მიუხედავად ამისა L ენა არაა ავტომატური, რადგანაც
5. რეგულარული გამოსახულებები
80
ხდომილების იტერაცია ეწოდება ხდომილებას, რომელიც აღინიშნება { } და
განისაზღვრება როგორც დიზუნქცია ცარიელი სიტყვისა, ხდომილებისა,
ხდომილებისა, ხდომილებისა და ა.შ. უსასრულობამდე. ე.ი.
{ }
მაგალითის სახით განვიხილოთ ალფავიტი { } . ვთქვათ მოცემულია
ხდომილებები { } და { } ალფავიტში. განსაზღვრის
მიხედვით , , { } ხდომილებები:
{ , , },
{ , , , },
{ } { , , , , , , , , , , ,
, , , ,… }.
P ⋁ = ⋁ P,
P = P=,
P = P = P,
{}* = , { }* = .
P ⋁ R = R ⋁ P,
P {P}* = {P}* P.
P ⋁ (R ⋁ S) = (P ⋁ R) ⋁ S,
P (R S) = (P R) S.
P (R ⋁ S) = (P R) ⋁ (P S),
(P ⋁ R) S = (P S) ⋁ (R S).
P ⋁ P = P,
{{P}*}* = {p}*.
{P}* ⋁ P = {P}*.
84
2) ნებისმიერი ხდომილებათა სასრული სიმრავლის მიხედვით ავაგოთ მილის ან
მურის ავტომატი, რომელიც ამ სიმრავლის ნებისმიერ ხდომილებას წარმოადგენს
გამოსასვლელი ასოების რაღაც სიმრავლით ან მდგომარეობებით.
85
გამოსახულება, რომელსაც აქვს უმცირესი e სიგრძე, სადაც e არის ასოთა რაოდენობა,
რომელიც შედის რეგულარულ გამოსახულებაში.
სასრული ავტომატის ანალიზის დროს მიიღება სასრული რაოდენობის
რეგულარულ გამოსახულებათა ეკვივალენტური ფორმები. ამიტომ ერთი და იგივე
ხდომილების რეგულარული გამოსახულების მინიმალური ფორმა შეიძლება მიღებული
იქნეს ავტომატის გრაფოიდზე სასრული რაოდენობის ანალიზის ალგორითმის
გამოყენებით.
იმისათვის, რომ მივიღოთ გამარტივებული (მინიმალურთან ახლო) ფორმა
რეგულარული გამოსახულებისა ანალიზის ალგორითმის ერთჯერადი გამოყენების
პროცესში, საჭიროა მთელი რიგის წესების გათვალისწინება.
შემოვიღოთ წინასწარ ზოგიერთი ცნება.
გრაფოიდს ეწოდება ტიპიური, თუ მას გააჩნია წყარო და შემკრები; სუსტად
ტიპიური, თუ მას აქვს მხოლოდ წყარო და არატიპიური, თუ ის არ შეიცავს არც წყაროს
და არც შემკრებს, ან აქვს მხოლოდ შემკრები.
გავითვალისწინოთ, რომ წვეროში შესასვლელის ხარისხი არის იმ წვეროთა
რაოდენობა, რომელთაგანაც წვეროში შედის ერთი მაინც რკალი.
x1 x2
q1 q2
q3 x2 x3 q4
x5
x4 x3 x4
q1
x6 86
x1
q2 q6 q3 q4
q5
b) g)
შედის უცნობთა ერთიდაიგივე რიცხვი (გრაფოიდზე ეს შეესაბამება ერთდაიგივე
შესასვლელის ხარისხის მქონე წვეროს არსებობას). მაშინ გაუგებარია თუ რომელი
უცნობით (წვეროთი) უნდა იწყებოდეს გამორიცხვა. ასეთი შემთხვევის რაოდენობა
სულ შეიძლება სამი აღმოჩნდეს. იმის მიხედვით, თუ რომელი წვეროა საწყისი,
მივიღებთ შემდეგ სამ ვარიანტს. ამ ნახაზებზე მოცემულია რაღაც ავტომატის ნაწილები,
რომელთათვისაც არცერთი წვერო არაა საწყისი მდგომარეობა.
x4
q3
q4
x1
q1 x3
x2
q4 q5
a)
= ⋁ (7)
= ⋁
საიდანაც
= { ⋁ }*
= ⋁ ⋁ (8)
= ⋁ ⋁
sadac
= { ⋁ }*
87
= ⋁ (9)
= ⋁
= ⋁ ,
= ⋁ ⋁e
და
= ⋁ ⋁ ,
= ⋁ ⋁ ⋁ e,
= ( ⋁e) { }*,
= ( ⋁e) {x4⋁x5}*,
x1
x3 q4
q1
x2 nax.13
x3
x1 x2
q2 q3
x2 88
x1 x3
ხდომილების მინიმალური გამოსახულება წარმოდგენილი ავტომატში
მდგომარეობით. შევადგინოთ გამოსახულებათა სისტემა :
R2 = R1x1 ⋁ R2x2
R4 = R3x2
R2 = R1x1{X2}*
R1 = R1x1⋁R1x1{x2}*x2⋁R4x3⋁e
R1 = (R4x3⋁e){x1⋁x1{x2}*x2}*
R3 = (R4x3⋁e){x1⋁x1{x2}*x2}*x1{x2}*x3⋁R3(x3⋁x1)
R4 = R4x3{x1⋁x1{x2}*x2}*x1{x2}*x3{x3⋁x1}*x2⋁{x1⋁x1{x2}*x2}*x1{x2}*x3{x3⋁x1}*x2
R4 = {x1⋁x1{x2}*x2}*x1{x2}*{x3⋁x1}*x2{x3}x1⋁x1{x2}*}*x1{x2}*x3{x3⋁x1}*x2.
R2 = R1x1{x2}*
R3 = R1x1{x2}*⋁R3x3⋁R3x1
R3 = R1x1{x2}*{x3⋁x1}*
R1 = R1x1⋁R1x1{x2}*VR1x1{x2}*{x3Vx1}*x2x3Ve
R1 = {x1⋁x1{x2}*⋁x1{x2}*{x3⋁x1}*x2x3}*
89
R4 = {x1⋁x1{x2}*⋁x1{x2}*{x3⋁x1}*x2x3}*x1{x2}*{x3⋁x1}*x2
xi 2
xi xj
xi
1 1 3 1
2
xj
3
g)
a) b)
გრაფის საწყისი წვერო აღინიშნება 1-იანით, ხოლო დანარჩენები ნომრებით
2,3,4…სიმრავლიდან.
მაგალითად { } { } { } რეგულარულ გამოსახულებას
აძლევს სახეს
x1 2
1 x3
x3 3
x4
x1
nax.6.15
5 x2
6
x2
x1
4
სადაც საწყისია წვერო 1, ხოლო ბოლო – 3, 6 და 1 წვეროები. თითოეულ გზას
რეგულარული გამოსახულების გრაფზე საწყისიდან ნებისმერ ბოლომდე უნდა
შეესაბამებოდეს შემავალი ასოების მიმდინარეობა, რომელიც ეკუთვნის მოცემულ
რეგულარულ გამოსახულებას და პირიქით, მიმდევრობა, რომელიც რეგულარული
გამოსახულებით განსაზღვრავს გარკვეულ გზას რეგულარული გამოსახულების
გრაფში. მაგრამ შესაძლოა რომ აგებულ გრაფში აღმოჩნდეს მცდარი მიმდევრობები,
რომლებიც არაა მოცემული რეგულარული გამოსახულებით. მაგალითად, გზა
გამოყოფილი მუქი ხაზებით 6.15 ნახ-ზე შეესაბამება სიტყვას, რომელიც არ
ეკუთვნის რეგულარულ გამოსახულებას. წარმოქმნილი მცდარი მიმდევრობები
შეიძლება აღმოვფხვრათ გრაფზე ცარიელი ისრის შემოღებით, რომელიც აღნიშნავს
მყისიერ გადასვლას გრაფის ერთი წვეროდან მეორეში. ცარიელი ისრის გამოყენებით
90
6.15 გრაფის შესწორებული გრაფის ნახატი მოცემულია 6.16 ნახ-ზე.
2
1
3
x4
x2
7
nax.6.16
6
5 x1
x3 x2
x1 4
S = ∏ { }*, i = {1,2,…,n} ,
R1 R2 Rn
1 2 n
nax.6.17
a) S = { {P}* R }*
b) S = { R {N}* }*
g) S = { {P}* R {N}* }*
R R P
P N N
R
1 2 1 2 1 2 3
a) b) g)
ნახ.6.18
91
წესი 3. თუ რეგულარულ გამოსახულებაში ერთი მაინც დიზიუნქციური წევრი
იწყება იტერაციით (ნახ. 6.19)
R
S = {R}* ⋁ {P}*…⋁ ,
4
1 Q 5
P
Q
S = ( {P}* ⋁ {R}* ⋁…⋁ )N
1 N
2
R 5
3 4 შევნიშნოთ, რომ კერძო შემთხვევებში P, R, N,
Q რეგულარული გამოსახულებები შეიძლება
nax.6.20 შედგებოდეს ერთი ასოსაგან.
1-4 სისტემა, ცარიელი ისრების შემოღების რეგულარული გამოსახულების
გრაფში მცდარი გზების უკუსაგდებად, არის სრული სისტემა.
კითხვარი თვითშემოწმებისათვის
92
6. დეტერმინირებული სასრული ავტომატების მინიმიზაცია
93
მაგალითი 7.1.2. განვიხილოთ კონტექსტურად -თავისუფალი გრამატიკა
გამოყვანას შეესაბამება
შემდეგი გამოყვანის ხე.
მარცხენა გამოყვანა.
და
95
მაგალითი 7.2.11. ვთქვათ { } კონტექსტურად - თავისუფალი
{ ან } ენა არსებითად არაცალსახაა. [დამტკიცება იხ. Ахо Уль, с.
234-236].
კითხვარი თვითშემოწმებისათვის
, და სიტყვები, რომ და .
96
სიმბოლოს ეწოდება წარმომქმნელი (generating), თუ არსებობს ისეთი
სიტყვა, რომ . სიმბოლოს ეწოდება მიღწევადი , თუ არსებობს
97
ამოვაგდოთ ოთხი წესი, რომლებიც შეიცავენ არაწარმომქმნელ სიმბოლოს, მივიღებთ
გრამატიკას. მასში სიმბოლო არამიღწევადია. ამოვაგდოთ სამი წესი, რომლებიც
შეიცავენ -ს, მივიღებთ გრამატიკას
98
8.3. ხომსკის ნორმალური ფორმა
99
შევცვალოთ ყველა წესში თითოეული ტერმინალური სიმბოლო ახალი
არატერმინალური სიმბოლოთი და სიმრავლეს წესი ყველა -
თვის.
100
9. კონტექსტურად - თავისუფალი ენების ძირითადი თვისებები
თეორემა 9.1.3. თუ წრფივი ენა არ შეიცავს ცარიელ სიტყვას, მაშინ იგი წარმოიქმნება
ნორმალური ფორმის რაიმე წრფივი გრამატიკით - წესების გარეშე.
თეორემა 9.1.4. ენა წრფივია მაშინ და მხოლოდ მაშინ, როცა { } ენა წრფივია.
ლემა 9.1.5. ვთქვათ - წრფივი ენაა ალფავიტზე. მაშინ მოიძებნება ისეთი მთელი
დადებითი რიცხვი, რომ -ზე არანაკლები სიგრძის ნებისმიერი სიტყვისათვის
შეიძლება შეირჩეს სიტყვები, რომელთათვისაც
სამართლიანია
( ე.ი ან ), და
ყველა - თვის.
ავტომატური ენაა.
სადაც .
102
თეორემა9.3. 3. თუ და - კონტექსტურად - თავისუფალი ენებია ალფავიტზე,
მაშინ აგრეთვე კონტექსტურად-თავისუფალი ენაა.
103
აქ S11, S12, S21 და S22 შეესაბამება ,
, და სიმბოლოებს 9.6.1. თეორემის დამტკიცებიდან.
კითხვარი თვითშემოწმებისათვის
ალგორითმის ცნება
ალგორითმის ცნების დეტალური დახასიათება მოიცავს შემდეგ ასპექტებს
( ხარტლი როჯერსის მიხედვით):
ა). ალგორითმი არის ინსტრუქციათა ერთობლიობა, რომელთაც გააჩნიათ სასრული
სიგრძე. ეს სიგრძე იზომება, მაგალითად, სიმბოლოების რაოდენობით, რომლებიც
აუცილებელია წესების ჩაწერისათვის.
ბ). არსებობს მექანიზმი (ადამიანი, მექანიკური, ოპტიკური და ა.შ. მოწყობილობა,
ელექტრონული მანქანა), რომელიც აღიქვამს და შეასრულებს ინსტრუქციებს.
გ). არსებობს საშუალებები (ადამიანური მეხსიერება, საწერ-ქაღალდი, კბილანა
ბორბლები, მაგნიტური დამამახსოვრებელი მოწყობილობა და ა.შ), რომლებიც
104
აფიქსირებს და ინახავს ცნობებს ინსტრუქციის შესრულების ნებისმიერ ეტაპზე და
აგრეთვე გასცემს მათ საჭიროების შემთხვევაში.
დ). არსებითია, რომ ყველა შესასრულებელი პროცედურა დისკრეტულია (თუმცა მათ
მიერ დასამუშავებელი ობიექტები თავიანთი ხასიათის მიხედვით შესაძლებელია
იყვნენ უწყვეტი).
ე). ელემენტარულ ოპერაციათა მიმდევრობა მკაცრადაა განსაზღვრული: პროცესის
თითოეული ბიჯიდან შემდეგ ბიჯზე გადასვლა შესაძლებელია მხოლოდ ერთადერთი
გზით.
გამოთვლადობა
ტიურინგის მანქანა
1936 წელს ინგლისელმა მათემატიკოსმა და ლოგიკოსმა ალან ტიურინგმა შექმნა
აბსტრაქტული მანქანა.
105
ტიურინგის მანქანა შედგება შემდეგი ნაწილებისაგან:
106
(2) ბრძანება ეწოდება შემდეგი სამი სახიდან ერთ-ერთს:
.
(3) ტიურინგის მანქანა ეწოდება ბრძანებების სასრულ სიმრავლეს, რომელთაც აქვთ
წყვილ-წყვილად განსხვავებული საწყისი სიმბოლოები.
107
მაშასადამე, განმარტების ძალით და კონფიგურაციებია,
ხოლო კონფიგურაციებს არ წარმოადგენენ.
ვთქვათ რაიმე კონფიგურაციაა. ვიტყვით, რომ არის ტიურინგის რაიმე
მანქანის კონფიგურაცია, თუ მდგომარეობა, რომელიც ფიგურირებს - ში,
წარმოადგენს მანქანის ერთ-ერთ შიგა მდგომარეობას, ხოლო - ში შემავალი ყველა
სხვა სიმბოლო ეკუთვნის ალფავიტს.
მანქანის კონფიგურაცია ცალსახად განსაზღვრავს მის მოქმედებას. მართლაც,
სიტუაციის ხასიათი არ ითვალისწინებს ლენტაზე ჩაწერილი ყველა სიმბოლოს
ერთობლიობას; კონფიგურაცია ამის საშუალებას იძლევა.
კონფიგურაცია, რომლიდანაც ამოგდებულია , ახასიათებს ლენტის
შემადგენლობას, მაშინ როცა თუ არის სიმბოლო, რომელიც კონფიგურაციაში - ის
მარჯვნივ დგას, ე.ი. არის მანქანის სიტუაცია.
მოვიყვანოთ ბოლო განმარტება.
(5) ვთქვათ და რაიმე მანქანის კონფიგურაციაა. ჩვენ დავწერთ
შემდეგი სამიდან ერთ-ერთის შემთხვევაში (აქ და აღნიშნავენ მანქანის ალფავიტის
სიმბოლოების ნებისმიერ მიმდევრობას):
მანქანას აქვს ბრძანება ,
მანქანას აქვს ბრძანება ,
მანქანას აქვს ბრძანება .
პირველი შემთხვევა შეესაბამება მანქანის ისეთ ელემენტარულ მოქმედებას,
რომლის დროსაც იგი ცვლის სიმბოლოს სიმბოლოთი და მდგომარეობიდან
გადადის მდგომარეობაში.
მეორე შემთხვევა შეესაბამება ისეთ მოქმედებას, როცა ლენტა ერთი უჯრით
გადადის მარცხნივ და მდგომარეობა გადადის მდგომარეობაში.
მესამე შემთხვევა შეესაბამება ლენტის ერთი უჯრით მარჯვნივ და
მდგომარეობიდან მდგომარეობაში გადასვლას.
(5) განმარტებიდან უშუალოდ გამომდინარეობს, რომ
თუ და , მაშინ ;
თუ და ტიურინგის ორი მანქანაა ისეთი, რომ ნებისმიერი ბრძანება ათვის
არის ბრძანება მანქანისათვის ( ამ შემთხვევაში წერენ ), მაშინ - ის მიმართ
- დან გამომდინარეობს - ის მიმართ.
გამოთვლები. კონფიგურაციას ეწოდება დამამთავრებელი მანქანის
მიმართ, თუ არ არსებობს ამ მანქანის კონფიგურაცია ისეთი, რომ .
ტიურინგის მანქანის გამოთვლა ვუწოდოთ ისეთ
108
მიმდევრობას, რომ და დამამთავრებელი კონფიგურაციაა (
-ის მიმართ) და დავწერთ , რაც აღნიშნავს: " არის მანქანის მიერ
-ის გადამუშავების შედეგი".
ახსნა - განმარტება.
ა). თუ მანქანა იმყოფება საწყის მდგომარეობაში და კითხულობს ან
სიმბოლოს, მაშინ იგი ლენტას ერთი უჯრით გადაწევს მარცხნივ დარჩება რა იმავე
საწყის მდგომარეობაში; ახლა წამკითხველი ხედავს სიმბოლოს, რომელიც უჯრაში
უშუალოდ ან - ის მარჯვნივ დგას (ბრძანება (1) და (2)).
ბ). თუ მანქანა იმყოფება მდგომარეობაში და კითხულობს სიმბოლოს, მაშინ იგი
ლენტას ერთი უჯრით გადაწევს მარცხნივ და შედეგად იწყებს იმ სიმბოლოს დანახვას,
რომელიც - ის მარჯვნივაა. ამავე დროს იგი "იმახსოვრებს" იმ ფაქტს, რომ დაინახა :
109
მდგომარეობას შეიძლება მივცეთ ინტერპრეტაცია იმისა, რომ წაკითხულ იქნა
სიმბოლო (ბრძანება (3)).
გ). თუ მანქანას ჯერ კიდევ "ახსოვს -ის შესახებ" და მან დაინახა ან , მას
ავიწყდება, რომ ხედავდა -ს ( მდგომარეობაში დაბრუნება) და გადადის ან
სიმბოლოების მარჯვნივ მყოფი სიმბოლოების შეთვალიერებაზე (ბრძანება (5) და (6)).
დ). თუ მანქანას ჯერ კიდევ "ახსოვს -ის შესახებ" და იმყოფება მდგომარეობაში,
მანქანა ისევ ხედავს -ს, უბრუნდება წინა სიმბოლოს ( ეს ის - ია, რომელმაც იგი
გადაიყვანა მდგომარეობაში) და გადადის მდგომარეობაში (ბრძანება (4)). შემდეგ
- ს შეცვლის - ით და გადადის მდგომარეობაში (ბრძანება (7)). ახლა მანქანა
აღმოჩნდება სიტუაციაში, რომლისთვისაც არ არსებობს შესაბამისი ბრძანება.
ამიტომ იგი გაჩერდება.
ე). მასასადამე, ერთადერთი ფაქტორი, რომელმაც გამოიწვია მანქანის გაჩერება, არის
ორი ზედიზედ დაწერილი . თუ შემავალი სიტყვის კითხვისას მანქანას არ შეხვდება
ორი ერთმანეთის გვერდით მდგომი , მაშინ იგი გავა სიტყვის ბოლომდე, შემდეგ
გადავა მისგან მარჯვენა ცარიელ უჯრაზე და იმუშავებს მუდმივად(ბრძანება (1)).
მანქანას, რომელიც იმყოფება მდგომარეობაში, მივცეთ
სიტყვა. შედეგად მივიღებთ შემდეგ კონფიგურაციებს:
(1)
(2)
(3)
(4)
(5)
(6)
(7) ( დამამთავრებელი კონფიგურაცია)
110
ავტომატები და ენები
არსებობს ავტომატების სპეციალური კლასი, რომლებიც შეესაბამებიან KF -
ენების კლასს, ე. წ. ავტომატები მაღაზიური მეხსიერებით (PD - ავტომატი,
pushdown automaton ). PD - ავტომატი არის სისტემა , რომელიც შედგება შემდეგი სამი
კომპონენტისაგან: 1. შემავალი E ლენტა, რომელიც დაყოფილია უჯრებად და
პოტენციურად შემოუსაზღვრელია ორივე მხრიდან. 2. სამუშაო ლენტა, ანუ მაღაზიური
მეხსიერების M ლენტა, რომელიც შემოსაზღვრულია ერთი მხრიდან (ჩავთვალოთ
მარცხნიდან). იგი ასევე დაყოფილია უჯრებად და პოტენციურად არაა შემოსაზღვრული
მეორე მხრიდან. 3. მმართველი A მოწყობილობა, რომელსაც აქვს ორი წამკითხველი.
შემავალი წამკითხველი კითხულობს სიმბოლოებს E შემავალ ლენტაზე. სამუშაო
წამკითხველს შეუძლია წაიკითხოს სიმბოლოები M სამუშაო ლენტაზე, აგრეთვე
მოახდინოს მასზე სიმბოლოების წაშლა და ჩაწერა.
{ }.
111
ეს ალფავიტი შეიძლება ჩავრთოთ - შიც. ალფავიტს მიუერთდება
ერთეულოვანი სიმბოლო და კიდევ ერთი სიმბოლო, რომელიც არ გამოიყენება
ავტომატის მიერ მისი მუშაობის დროს. მივიღებთ ალფავიტს ̅̅̅̅ { } { }
- ავტომატის ფუნქციონირება
PD -ავტომატის ფუნქციონირების აღსაწერად დაგვჭირდება შემდეგი ცნებები:
თუ
{ }
,
,
,
.
112
5. აბსტრაქტული PD -ავტომატი ეწოდება სასრული რაოდენობის სახის
ბრძანებებს. რადგანაც განსახილველი ავტომატები არ არიან დეტერმინირებული
ავტომატები, შეიძლება ბრძანებები იყოს თანხვედრილი მარცხენა ნაწილებით (ე.ი.
ერთნაირი სიტუაციებით). ახლა უკვე შეგვიძლია დავაზუსტოთ, თუ რა იგულისხმება
გამოთვლის პროცესის ქვეშ.
113
ენათა კლასი, დასაშვები PD-ავტომატში და
წარმოქმნილი PD-ავტომატის მიერ
განვიხილოთ G -გრამატიკა:
{ } { | }
აქსიომა
| |
1. საწყის ბრძანებას [ ] [ ]
[ ] [ ]
[ ] [ ] ,
( [ ] ) [ ] ,
[ ] [ ] .
ვთქვათ ჩვენს ავტომატს მიცემული აქვს სწორი საწყისი პირობები. მაშინ იგი გადავა
[1] წინასინტაქსურ მდგომარეობაში, ჩაიწერს სამუშაო ლენტაზე აქსიომას და
დაიმახსოვრებს მას. ე.ი. გადადის შესაბამის სინტაქსურ მდგომარეობაში და
ამავდროულად წაშლის აქსიომას.
115
ვთქვათ გვაქვს - გრამატიკა { } { } ალფავიტებით და
წესებით.
1: [ ] [ ]
2: [ ] [ ]
[ ]
3: [ ] { [ ]
[ ]
[ ]
4: [ ] } [ ]
[ ]
5: [ ] [ ]
116
{ } ალფავიტიდან, სადაც ასრულებს ცარიელი სიმბოლოს როლს.
ავტომატის მდგომარეობებიდან გამოყოფილია ერთ-ერთი - და მას ეწოდება საწყისი
მდგომარეობა.
ავტომატის ფუნქციონირება შესაძლებელია წარმოვიდგინოთ შემდეგნაირად.
ლენტაზე ჩაიწერება ჯაჭვი და ვიგულისხმოთ, რომ ყველა უჯრა - ს მარჯვნივ
და მარცხნივ შევსებულია ცარიელი სიმბოლოთი. ავტომატი მუშაობას იწყებს
საწყისი მდგომარეობიდან. წაიკითხავს რა იმ სიმბოლოს, რომელსაც იგი ხედავს,
ავტომატი გადადის ახალ მდგომარეობაში და ლენტას გადასწევს მარცხნივ ერთი
უჯრით. ახალ მდგომარეობაში გადასვლა ხორციელდება ბრძანების
შესაბამისად, რომელთა რიცხვიც სასრულია. ბრძანების მარცხენა
მხარეს ეწოდება ავტომატის სიტუაცია, ხოლო მარჯვენა მხარე არის მდგომარეობა,
რომელშიდაც ავტომატი აღმოჩნდება შემდეგ ტაქტში (შესაბამისი ბრძანების
შესრულების შედეგად).
თუ ავტომატი აღმოჩნდება სიტუაციაში, რომელიც არ არის რაიმე
ბრძანების მარცხენა მხარე, მაშინ იგი გაჩერდება. თუ ჯაჭვზე გამოთვლების ჩატარების
შემდეგ ავტომატი დაუბრუნდება სიტუაციას, მაშინ იტყვიან, რომ ავტომატი
უშვებს (გამოიცნობს) ჯაჭვს. იმ ჯაჭვების ერთობლიობა, რომლებიც გამოიცნობა
მოცემული ავტომატის მიერ, შეადგენს იმ ენას, რომელიც გამოიცნობა მოცემული
ავტომატით. ავტომატებით გამოცნობილი ენების კლასი ემთხვევა ავტომატური ენების
კლასს.
მაგალითი. ქვემოთ მოყვანილია იმ სასრული ავტომატის ბრძანებათა სიმრავლე,
რომელიც გამოიცნობს { } ენას:
117
არსებობს აგრეთვე წრფივად შეზღუდული ავტომატები, რომელთაც შუალედური
მდგომარეობა უჭირავთ ტიურინგის მანქანასა და სასრულ ავტომატებს შორის: მათი
მეხსიერება ყოველთვის ფიქსირებული არ არის, მაგრამ არც შემოუსაზღვრელია: იგი
შემოსაზღვრულია მხოლოდ დასამუშავებელი ჯაჭვის სიგრძით. მაღაზიური
მეხსიერების ავტომატები კი ხასიათდებიან არა მეხსიერების, არამედ მათი გამოყენების
შემოსაზღვრულობით. მაგრამ ნებისმიერი მაღაზიური მეხსიერების ავტომატისათვის
შეიძლება აიგოს მისი ეკვივალენტური მაღაზიური მეხსიერების ავტომატი,
რომლისთვისაც გამოთვლებისათვის საჭირო სამუშაო ლენტის სიგრძე არ აღემატება
შემავალი ჯაჭვის სიგრძეს. ასეთი მაღაზიური მეხსიერების ავტომატი "თითქმის"
შეიძლება განვიხილოთ როგორც წრფივად შეზღუდული ავტომატების კერძო შემთხვევა
("თითქმის" იმიტომ, რომ მაღაზიური მეხსიერების ავტომატს აქვს განცალკევებული
შემავალი ლენტა, რომელსაც მოკლებულია წრფივად შეზღუდული ავტომატი).
ტიურინგის წრფ.შეზღ.
მანქანების ავტომატების
კლასი კლასი
სასრული
ავტომატების
კლასი
118
აქ Q - მდგომარეობათა სიმრავლეა, - შემავალი ალფავიტი, - მაღაზიური
მეხსიერების ალფავიტი (stack alphabet), - გადასვლების სიმრავლე (transition
relation), I ელემენტები საწყისი მდგომარეობებია, F - დამამთავრებელი
მდგომარეობები.
, . მაშინ PD - ავტომატია.
119
მარცხენა გამოყვანის პროტოკოლს წარმოადგენს მიმდევრობა
გამოყვანის ხეს
120
განმარტება 11.1.6. მარცხენა გარჩევა (left parse) w სიტყვისა კონტექსტურად-
თავისუფალ G გრამატიკაში ეწოდება w სიტყვის ნებისმიერ მარცხენა გამოყვანის
პროტოკოლს G გრამატიკაში.
aceaacecbecbb
121
11.2. აღმავალი გარჩევა
და გამოყვანის ხე
122
მარჯვენა გამოყვანის პროტოკოლს კონტექსტურად-თავისუფალ გრამატიკაში
წარმოადგენს შესაბამისი გამოყვანის ხის ბუნებრივი აღწერა პოსტსუფიქსური
შემოვლით (postorder traversal). (მოწესრიგებული ხის პოსტსუფიქსური შემოვლა
შეიძლება განვმარტოთ რეკურსიულად შემდეგნაირად: პირველად სრულდება
პოსტსუფიქსური შემოვლა ფუძის პირველი უშუალო შთამომავლისა, შემდეგ მეორისა
და ა.შ., ბოლოს კი ეწვევა ხის ფუძეს.)
კითხვარი თვითშემოწმებისათვის
1. რა არის ალგორითმი?
2. რა კავშირია ალგორითმებსა და ფორმალურ გრამატიკებს შორის?
3. მოკლედ დაახასიათეთ ტიურინგის მანქანის შემადგენელი ნაწილები.
123
4. მოკლედ ჩამოაყალიბეთ ტიურინგის მანქანის მუშაობის პრინციპი.
5. მოკლედ დაახასიათეთ მაღაზიური მეხსიერების ავტომატის შემადგენელი
კომპონენტები.
6. როგორი ენათა კლასია დასაშვები მაღაზიური მეხსიერების ავტომატში და როგორი
ენათა კლასი წარმოიქმნება მაღაზიური მეხსიერების ავტომატის მიერ?
7. მოიყვანეთ სასრული ავტომატების კლასიფიკაცია მეხსიერების მოცულობის
მიხედვით.
8. რა არის სინტაქსური გარჩევა?
9. რას ეწოდება კონტექსტურად-თავისუფალ გრამატიკაში მარცხენა გამოყვანის
პროტოკოლი?
10. რას ეწოდება კონტექსტურად-თავისუფალ გრამატიკაში დაღმავალი გარჩევა (top-down
parsing)?
11. რას ეწოდება გრამატიკის სენტენციალური ფორმა (sentential form)?
12. რას ეწოდება კონტექსტურად-თავისუფალ გრამატიკაში მარჯვენა გამოყვანის
პროტოკოლი?
13. რას ეწოდება სიტყვის მარჯვენა გარჩევა (right parse) კონტექსტურად-თავისუფალ
გრამატიკაში?
14. რას ეწოდება კონტექსტურად-თავისუფალ გრამატიკაში აღმავალი გარჩევა (bottom-
up parsing)?
124
1) თუ f(w) არაა განსაზღვრული, მაშინ არ არსებობს ისეთი ,
, , , , რომ
განმარტება 12.2.2. ტიურინგის მანქანის მიერ დაშვებადი ენა არის ენა, რომელიც
შედგება ტიურინგის მანქანის მიერ დაშვებადი ყველა სიტყვებისაგან.
125
12.3. მასიური ამოცანები
126
გრამატიკაა, რომელშიც თითოეულ წესს აქვს სახე ,
ან , სადაც , , , .
ყველა i -თვის.
127
თეორემა 12.5.7. ვთქვათ . მაშინ არ არსებობს ალგორითმი, რომელიც
საშუალებას მოგვცემდა დაგვედგინა ალფავიტზე პოსტის ნებისმიერი სისტემის
შესაბამისობის შესახებ დაგვედგინა, აქვს თუ არა მას ამოხსნა. (სხვა სიტყვებით რომ
ვთქვათ, პოსტის შესაბამისობის პრობლემა გადაუჭრადია). დამტკიცება შესაძლებელია
იხილოთ [ХопМот, 9.4] -ში.
სრულდება უტოლობა.
129
13.5. ენის უსასრულობის პრობლემა
130
14. ალგორითმულად გადაუჭრადი პრობლემები
131
14.2. ცალსახობის პრობლემა
132
განმარტება 14.3.4. ვთქვათ ,
, , სადაც და ყველა i- თვის.
ავღნიშნოთ - ით ენა.
დამტკიცება. .
133
14.4. ენის ავტომატურობის პრობლემა
ვთქვათ და , სადაც
, და ყველა i -
134
თეორემა 14.5.6. ვთქვათ . მაშინ არ არსებობს ალგორითმი, რომ ნებისმიერი G
კონტექსტურად- თავისუფალი გრამატიკით ალფავიტზე დავადგინოთ, არის თუ არა
კითხვარი თვითშემოწმებისათვის
დანართი
ენები და დაპროგრამების სისტემები
დაპროგრამების ენები მიეკუთვნებიან ფორმალურ ენათა კლასს. მათი
დანიშნულებაა მონაცემთა (ინფორმაციის) აღწერა და მათი დამუშავება გამომთვლელ
მანქანაზე. დაპროგრამების ენების თეორიულ საფუძვლებს შეადგენენ ალგორითმული
135
სისტემები (რეკურსიული ფუნქციები, ნორმალური ალგორითმები და სხვ.) რომელთა
დანიშნულებაცაა ალგორითმების აღწერა.
პირველი დაპროგრამების ენა იყო მანქანური ენები, რომლებიც ძალიან დაბალი
დონის იყო. მათი დამახასიათებელი თავისებურება მდგომარეობდა ბრძანებების
ციფრულ კოდირებაში. ამიტომ მანქანურ ენაში არ არსებობდა განსხვავება მონაცემების
სიგა წარმოდგენასა და ბრძანებებისა, რომელთა საშუალებითაც აღიწერებიან
პროგრამები. უფრო მაღალი დონის ენებში ასეთი თავისებურება აღარაა.
განასხვავებენ დაპროგრამების ენების რამდენიმე დონეს, რომელთა შორისაა
ძირითადად მანქანურად-ორიენტირებული (ავტოკოდი), პროცედურულად
ორიენტირებული, პრობლემურად-ორიენტირებული ენები და საერთო დანიშნულების
ენები.
ავტოკოდები, (ანუ ენები ერთი-ერთზე [1:1]) გამოიყენება ბრძანებათა
მისამართებისა და ოპერაციათა კოდების შეცვლით მათი სიმბოლური აღნიშვნით,
ხოლო უფრო განვითარებულ (მაკროენებში) – გამომთვლელ მანქანებში ელემენტარული
ოპერაციების გაფართოებისათვის.
სიმბოლური კოდირების ენებმა გამოყენება ჰპოვეს მომდევნო თაობის მანქანებში,
რამაც გაამარტივა პროგრამირების პროცესი მეხსიერების განაწილების ავტომატიზაციის
ხარჯზე. სიმბოლური კოდირების ენები საბაზო ენებია ოპერაციულ სისტემებში. მათ
გამოიყენებენ პროგრამების აწყობაში, ამიტომაც მათ ასევე უწოდებენ ასემბლერულ
ენებს ანუ ამწყობ ენებს.
ამოცანების სპეციფიკამ განაპირობა შექმნილიყო პროცედურულად
ორიენტირებული ენები. ამ ენების განმასხვავებელი თავისებურება მდგომარეობს იმ
კლასის ობიექტების გამოყოფაში, რომლებიც ექვემდებარებიან დამუშავებას, რთული
გამოსახულებების (არითმეტიკული, ბულის, ტექსტური და სხვ.) გამოყენებაში,
ოპერატორებში, რომლებიც უზრუნველყოფენ პროგრამების ჩაწერის მოხერხებულობას
(ფუნქციების, ციკლური გამოთვლების, პროცედურების და სხვ.)
დაპროგრამების ენებს შორის, რომლებიც ორიენტირებულია გამოთვლითი და
სამენიერო ამოცანების კლასზე, უფრო ფართო გავრცელება ჰპოვა ენამ “ფორტრანმა”.
1960 წლისათვის არსებობდა ასზე მეტი სხვადასხვა ორიენტაციის დაპროგრამების
ენები და სისტემები. ამავე წელს შეიქმნა საერთაშორისო დაპროგრამების ენა ალგოლ-
60. პროგრამირებაში საერთო იდეების განვითარებაში არსებითი გავლენა მოახდინა
ალგოლ-60-ის სინტაქსის ფორმალურმა აღწერამ კონტექსტურად თავისუფალი ენების
საშუალებით.
იმ ენებს შორის, რომლებიც ეკონომიკური ინფორმაციის დასამუშავებლადაა
განუთვნილი, მთავარი ადგილი უჭირავს კობოლს. ენათა კლასს, რომლებიც
გათვალისწინებულია ფორმულების ანალიზური გარდაქმნისათვის,
დიფერენცირებისათვის, გამოსახულებათა ინტეგრებისათვის, ლინგვისტური
136
ტექსტების დამუშავებისათვის და ა.შ. მიეკუთვნება ენები: ფორმაკი, ფორმულა-ალგოლ,
სირიუსი და სხვ.
ჩანაწერებისა და სტრიქონების დამუშავებისათვის უფრო ცნობილია კომიტი,
სნაბოლი, იპლ-V, ლისპ, ლისპ-2 ენები. ამ კლასის ენები მოსახერხებელია ლინგვისტური
ტექსტების, ალგებრული გამოთვლების, ხელოვნური ინტელექტის კვლევის,
თეორემების დამტკიცების, ავტომატიზაციის დამუშავებასა და ანალიზში.
პროცედურულად ორიენტირებული ენების მეტად საჭირო კლასს წარმოადგენს
აგრეთვე ენები, რომლებიც განკუთვნილია საინფორმაციო-საცნობარო სისტემების
მომსახურეობისათვის, დისკრეტული და უწყვეტი სისტემების მოდელირებისათვის.
დაპროგრამების ენების შექმნა, რომლებიც ამოცანების ფორმალიზაციისა და მათი
ამოხსნის პრინციპებისთვის პრაქტიკულად იქნება ხელსაყრელი და მოსახერხებელი,
ამჟამად ერთ-ერთ ცენტრალურ ადგილს იკავებს დაპროგრამების თეორიასა და
პრაქტიკაში.
137
ავტომატი არის რაიმე მოწყობილობის აბსტრაქტული მოდელი, რომელიც
ფუნქციონირებს დისკრეტულ დროში. იგი შემავალი სიგნალების (სტიმულების)
სასრულ მიმდევრობას გადაამუშავებს და გადააქცევს მას გამომავალი სიგნალების
(რეაქციების) სასრულ მიმდევრობად.
138
5. პირველი შახმატის ავტომატი აგებულ იქნა 1890 წ. ესპანელი ინჟინრის ტორეს
კევედოს მიერ.
სავარჯიშოები
ა) ̅̅̅̅̅̅̅̅
̅⋁̅ ⋀ ̅ ბ) ̅̅̅̅̅̅̅
⋀ გ) ⋀̅ დ) ⋁̅
{ } და { }.
{ } და { } ენები?
8. ვთქვათ { }, { } და
11. ვთქვათ { } და
{ }
{ } პირობა?
140
19. აღწერეთ ენა, წარმოქმნილი გრამატიკით.
გრამატიკა და
გრამატიკა?
გრამატიკა და
გრამატიკა?
c a, b a b
c b, c
𝑞 𝑞
a, c
a, b
1. გამოთვალეთ , სადაც ,
a) Q \ F b) c) F d)
2. გამოთვალეთ , სადაც ,
a) Q \ F b) c) F d)
3. გამოთვალეთ , სადაც ,
a) Q \ F b) c) d) F
141
25. მოცემულია დეტერმინირებული სასრული ავტომატი { } ალფავიტით.
a a
𝑞
𝑞
b a, b
𝑞
a) b) c) d) e)
𝑞
b a
b
𝑞 𝑞
a, b
𝑞
a) b) c) d) e)
142
27. მოცემულია დეტერმინირებული სასრული ავტომატი { } ალფავიტით.
𝑞
a, b a
b
𝑞 𝑞
a, b
𝑞
b) c) d) e)
გრამატიკა?
გრამატიკა?
{ } ენას.
გრამატიკის.
143
გრამატიკის.
{ }
{ }
{ }
144
40. იპოვე კონტექსტურად - თავისუფალი გრამატიკა ენისათვის,
სადაც L1 წარმოიქმნება გრამატიკით
145
44. მოცემული გრამატიკა წარმოქმნის თუ არა ყველა სიტყვას {a,b}ალფავიტში?
146
47. ეკუთვნის თუ არა aaaaabbbabb სიტყვა ენას, წარმოქმნილს გრამატიკით
147
50. ეკვივალენტურებია თუ არა
გრამატიკა და
გრამატიკა?
გრამატიკა და
გრამატიკა?
გრამატიკა და
გრამატიკა?
{ } ენას.
გრამატიკის.
გრამატიკის.
{ }
{ },
{ }.
149
ა) ააგე მისი ეკვივალენტური მილის ავტომატი.
ბ) ეს ავტომატი სრულადაა განსაზღვრული თუ ნაწილობრივ?
გ) თუ ავტომატის შესასვლელზე მიეწოდა და სიტყვები,
რა სიტყვებს მივიღებთ გამოსასვლელზე?
{ } { } , S - აქსიომაა. G: S TT, T T T
{ } { } G: S p S p, S S
{ } { }, , S - აქსიომაა. G: S Ta, T S U S
150
74. მოცემულია რეგულარული გამოსახულება. ააგე ავტომატი, რომელიც გამოიცნობს
მოცემულ ენას.
{ }{ }
{ } { } { }
151
⁄
{ } { } G: S TT, T T
152
83. მოცემულია ავტომატის მდგომარეობებს შორის გადასვლის ცხრილი.
მდგომარეობა დამამთავრებელი მდგომარეობაა.
ა) იპოვე რეგულარული გამოსახულება, რომელსაც გამოიცნობს მოცემული ავტომატი.
ბ) ავტომატი სრულადაა განსაზღვრული თუ ნაწილობრივ? პასუხი დაასაბუთეთ.
გ) დასაშვებია თუ არა და სიტყვები მოცემული
ავტომატისათვის?
⁄
{ } { } G: S TT, T T T
153
88. მოცემულია რეგულარული გამოსახულებები: { } { }. იპოვეთ:
, { } , { }.
89. მოცემულია რეგულარული გამოსახულებები: { } { }. იპოვეთ:
, { } , { }, .
90. ააგეთ გრამატიკა, რომელიც წარმოქმნის { } ენას.
{ } { } G: S aS , .
a a a,b
𝑞 𝑞
𝑞
b 𝑞 a,b
{ } { }, , S - აქსიომაა. G: S TT, T T
154
დაასახელეთ სიტყვები, რომელსაც გამოიცნობს ეს ავტომატი.
155
ა) როგორი სახისაა ეს გრამატიკა? ააგე მისი ეკვივალენტური გრამატიკა.
გამოყენებული ლიტერატურა
1. Peter Linz. An Introduction to Formal Languages and Automata. Fifth Edition. University of
California at Davis. JONES & BARTLETT LEARNING.
2. А. Е. Пентус, М. Р. Пентус. Математическая теория формальных языков.
http://www.intuit.ru/studies/courses/1064/170/lecture/4610.
4. Michael Sipser. Introduction to the Theory of Computation. Third Edition. Published by
Cengage Learning.
5. Hopcroft J. E ., Motwani R., Ullman J. D., Introduction to
Automata Theory, Languages, and Computation. Addison-Wesley, Boston, 2006.
6. М. Гросс, А. Лантен. Теория формальных граматик. М.”Наука”.
7. С. Гинзбург. Математическая теория контекстно-свободных языков. М.”Наука”. 1971
8. ინტერნეტში შესაბამისი მასალის ელექტრონული ვერსიები.
156