დატუმბვის ლემა რეგულარული ენებისთვის

დატუმბვის ლემა რეგულარული ენებისთვისლემა ფორმალური ენების თეორიაში. აღწერს რეგულარული ენის აუცილებელ თვისებას: საკმარისად გრძელი ყველა სიტყვა არის „დატუმბვადი“, ანუ გააჩნია შუა ნაწილი, რომლის ნებისმიერ რაოდენობაჯერ განმეორების შემთხვევაში მიიღება იმავე ენის სხვა სიტყვა. იმის ჩვენებით, რომ რაიმე ენას არ აქვს ეს თვისება, მტკიცდება მისი არარეგულარულობა. გამოიყენება უსასრულოდ დიდი ენებისათვის, რადგან ყველა სასრული ენა რეგულარულია.

ლემის მიხედვით, ნებისმიერი რეგულარული ენისათვის არსებობს მუდმივა და ამ ენაში მასზე სიგრძით არამკაცრად დიდი ყველა სიტყვა დაიყოფა სამ ქვესტრიქონად (), ისე, რომ -ს განმეორებით მიღებული სიტყვები მაინც -ს ეკუთვნის. ეს პროცესი ცნობილია დატუმბვის სახელით. ლემისათის აუცილებელია, რომ ქვესტრინგის სიგრძე იყოს მაქსიმუმ , რაც ამცირებს სიტყვის დაჭრის ვარიანტებს. ყველა სასრული ენა დატუმბვადია და ეს მათთვის რიცხვად უგრძესი სიტყვის სიგრძეზე ერთით მეტის აღებით ჩანს.

ფორმალური ჩანაწერი

რედაქტირება

  იყოს რეგულარული ენა. მაშინ არსებობს რიცხვი   (დამოკიდებული მხოლოდ  -ზე) და  -ის  -ზე გრძელი ყველა სიტყვა   ჩაიწერება   ქვესტრიქონების მიმდევრობად ისე რომ:

  •  
  •  
  •  

თუკი სრულდება მოცემული პირობები, მაშინ   ქვესტრიქონი იტუმბება (რამდენჯერმე განმეორებით ან წაშლით მიღებული სიტყვა რჩება   ენაში).   და   ქვესტრინგების სიგრძეების არ არის შეზღუდული და შეიძლება  -იც იყოს.

ლემა მთლიანად ფორმალურ ენაზე:

 

ლემის გამოყენება

რედაქტირება

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

მაგალითად,   ანბანისაგან შედგენილი   ენის არარეგულარობა მტკიცდება ასე:

ცვლადებს ჰქონდეს იგივე მნიშვნელობა, რაც ზემოთ. განვიხილოთ   სიტყვები (შედის  -ზე გრძელ სიტყვებში). ლემის მიხედვით თუ ენა რეგულარულია უნდა არსებობდეს   დაყოფა (  და   პირობებით) რომლისთვისაც ყველა   ( ) რჩება   ენაში.  -ზე და  -ზე დაწესებული შეზღუდვებიდან გამომდინარეობს, რომ   მხოლოდ  -ებს შეიცავს. შესაბამისად   ნაწილის დატუმბვით მიღებულ სიტყვაში მეტი   იქნება და აღებული ენის პირობას აღარ დააკმაყოფილებს. მაშასადამე   ენა არაა რეგულარული.

ლიტერატურა

რედაქტირება
  • Michael Sipser, Introduction to the theory of computation, Cengage Learning, 2005. — გვ. 77-82.