Перейти до вмісту

Лема про накачку

Матеріал з Вікіпедії — вільної енциклопедії.

Лема про накачку (англ. pumping lemma) в теоретичній інформатиці описує властивість певних класів формальних мов. В багатьох випадках за допомогою цієї леми можна довести, що певна формальна мова є не регулярною або не безконтекстною.

Свою назву лема отримала з англійського дієслова to pump (укр. накачувати).В теорії формальних мов, лема про накачку для певної мови стверджує, що мова належить класу мов, якщо будь-який досить довгий рядок в мові що містить проміжок який може бути вилучений, чи повторений довільну кількість разів, і отриманий в результаті рядок теж належить мові. Доведення цих лем зазвичай комбінаторне, і може використовувати принцип Діріхле.

Два найважливіші приклади - лема про накачку для регулярних мов та лема про накачку для контекстно-вільних мов. Лема Огдена - інша, сильніша лема про накачку для контекстно-вільних мов.

Ці леми можуть бути використані для визначення чи дана мова не належить даному класу мов, і не можуть використовуватись для доведення факту приналежності мови класу, через те, що лема про накачку є тільки необхідною, а не достатньою умовою належності класу.

Регулярні мови

[ред. | ред. код]

Лема про накачку для регулярних мов

[ред. | ред. код]

Для кожної регулярної мови існує натуральне число , таким чином, що виконується: Кожне слово в з найкоротшою довжиною можна розкласти як з наступними властивостями:

  1. Обидва слова та разом мають довжину максимум . Тобто .
  2. Слово повинно бути не пустим, іншими словами, складатися з одного чи більше символів. Тобто .
  3. Для кожного натурального числа (включаючи нуль) слово належить мові , тобто слова , , , і т.д. всі належать мові .

Крім регулярних мов існують також нерегулярні мові, для яких ця лема виконується. Необхідну та достасню умову для регулярних мов надають теорема Майхілла-Нероуда чи лема про накачку Яффе.

Джерела

[ред. | ред. код]

Українською

[ред. | ред. код]
  • Гаврилків В. М. Формальні мови та алгоритмічні моделі. — І.-Ф.  : Голіней, 2023. — 180 с.

Іншими мовами

[ред. | ред. код]
  • Michael Sipser (1997). Introduction to the Theory of Computation. PWS Publishing. ISBN 0-534-94728-X. Section 1.4: Nonregular Languages, pp. 77–83. Section 2.3: Non-context-free Languages, pp. 115–119.
  • Thomas A. Sudkamp (2006). Languages and Machines, Third edition. Adison Wesley. ISBN 0-321-32221-5. Chapter 6: Properties of Regular Languages pp. 205–210