Формальна граматика або просто граматика в теорії формальних мов — спосіб опису формальної мови, тобто виділення деякої підмножини з множини всіх слів деякого скінченного алфавіту. Розрізняють породжувальні і аналітичні граматики — перші ставлять правила, за допомогою яких можна побудувати будь-яке слово мови, а другі дозволяють по даному слову визначити, входить воно в мову чи ні. Формальні граматики були введені американським вченим, математиком та філософом Ноамом Чомскі у 50-тих роках 20 сторіччя.
Формальне визначення поняття
Поняття алфавіту
Алфавіт — скінченна множина символів. ε — порожній ланцюжок, слово, послідовність. Алфавітом є об'єднання алфавітів, перетин, різниця алфавітів. Нехай Т — алфавіт, тоді:
- Т+ — множина усіх можливих послідовностей, що складені з елементів цього алфавіту крім порожньої послідовності ε.
- Т* — множина усіх можливих послідовностей, що складені з елементів цього алфавіту, будь-якої довжини. Отже:
- Тk — множина усіх можливих послідовностей,що складені з елементів цього алфавіту, довжини не більше k.
Мова в алфавіті Т це множина ланцюжків скінченної довжини в цьому алфавіті. Зрозуміло, що кожна мова в алфавіті Т є підмножиною множини Т*.
Формальна граматика
Формальна граматика - це четвірка (кортеж) . Де:
- Т — алфавіт термінальних символів, терміналів (від англ. terminate - завершитись). Термінальні символи є алфавітом мови.
- N — алфавіт нетермінальних символів, нетерміналів. ; Нетермінали не входять в алфавіт мови.
- S — аксіома, спеціально виділений нетермінальний символ з якого починається опис граматики.
- P — правила виводу, скінченна підмножина множини .
Інколи P визначають так:. Елемент (α,β) з множини Р називається правилом виводу і записується у вигляді . Таким чином, ліва частина правила не може бути порожньою. Правила з однаковою лівою частиною записують: , - називаються альтернативами правила виводу з ланцюжка .
Виведення в формальних граматиках
Ланцюжок назвемо безпосередньо виведеним з ланцюжка в граматиці (позначається ), якщо .
Ланцюжок назвемо виведеним з ланцюжка в граматиці (позначається ), якщо
Термінальний рядок називається правильним (або сентенціальною формою) відносно граматики G, якщо він виводиться з аксіоми цієї граматики.
Неоднозначності, та стратегії виводу
Граматика G називається неоднозначною, якщо існує декілька варіантів виводу слова ω в G ( ω ∈ L(G ) ).
Приклад. Розглянемо таку граматику G = <N, Σ, P, S> зі схемою Р.
S → S +S |S *S |a
Покажемо, що для ланцюжка ω = a + a + a існує щонайменше два варіанти виводу:
S ⇒ S + S ⇒ S + S + S ⇒ a + S + S ⇒ a + a + S ⇒ a + a + a
S ⇒ S + S ⇒ a + S ⇒ a + S + S ⇒ a + a + S ⇒ a + a + a
В теорії граматик розглядається декілька стратегій виведення ланцюжка ω в G.
Лівостороння стратегія виводу ланцюжка ω в G — це послідовність кроків безпосереднього виводу, при якій на кожному кроку до уваги береться перший зліва направо нетермінал.
Правостороння стратегія виводу ω в G протилежна лівосторонній стратегії. З виводом ω в G пов'язане абстрактне синтаксичне дерево, яке визначає синтаксичну структуру програми.
Формальні мови
Формальна мова породжена граматикою G - це множина термінальних рядків, що виводяться з аксіоми, тобто множина усіх правильних рядків.
З іншого боку, множина термінальних рядків, таких, що вони можуть бути виведені в граматиці G, називається мовою, що може бути розпізнана в даній граматиці, або допускається даною граматикою.
- Граматики G1 та G2 називаються еквівалентними, якщо .
- Граматики G1 та G2 називаються майже еквівалентними, якщо , тобто мови, ними породжувані, відрізняються не більш ніж на ε.
Граматика може бути породжуючою та розпізнавальною, це залежить від "напрямку" застосування правил. Для породжуючих граматик виведення починається з аксіоми і закінчується термінальним рядком (рядком, що складається тільки з терміналів). А розпізнавальні аналізують вхідний термінальний рядок на правильність, чи можна такий рядок вивести в цій граматиці. Коротко кажучи - породжуючі це "згори вниз", а розпізнавальні - "знизу вгору". Остання задача є практичнішою і гострою.
Класифікація граматик
Чомскі також запропонував класифікацію граматик. Він виділив чотири типи граматик.
Класифікація за Чомскі
- Граматики Типу 0 — необмежені. Це найзагальніший клас граматик. На правила не накладаються ніяких обмежень, окрім зазначених у визначенні. Вони еквівалентні машині Тюрінґа. Доведено існування мов, які породжуються граматиками типу 0, але не граматиками типу 1, але невідомі прості приклади таких мов. Клас мов що породжуються необмеженою граматикою називається [en].
- Граматики Типу 1 — нескорочуючі або контекстно-залежні(КЗ) граматики. Вибір означення не впливає на множину мов, породжуваних граматиками цього класу, оскільки доведено, що множина мов, породжуваних граматиками, що не укорочують, збігається із множиною мов, породжуваних КЗ-граматиками.
- Нескорочуючі граматики. Всі правила мають вигляд
- де означає кількість символів у рядку .
- Контекстно-залежні граматики. Всі правила мають вигляд:
- Нескорочуючі граматики. Всі правила мають вигляд
- Граматики Типу 2 — контекстно-вільні граматики(КВ): Всі правила мають вигляд
- Тобто в усіх правилах цього виду зліва стоїть тільки один нетермінал. Тому вони і контекстно вільні, бо на використання правила для даного нетерміналу не впливають символи, що оточують його. Ці символи називають контекстом.
- Граматики Типу 3 — регулярні граматики. А-граматики: можна визначити як праволінійну або ліволінійну граматику, або як змішану. Також ці мови називають скінченно-автоматними, бо вони еквівалентні скінченним автоматам, тобто клас мов, що породжуються граматиками типу 3, збігається з класом мов, які розпізнаються скінченими автоматами. Також ці граматики є основою регулярних виразів.
- Праволінійна граматика. Всі правила мають вигляд:
- або
- Ліволінійна граматика. Всі правила мають вигляд:
- або
- Праволінійна граматика. Всі правила мають вигляд:
Доведено, що праволінійні та ліволінійні граматики еквівалентні, і існує алгоритм для переведення правил граматики одного типу в інший тип.
Співвідношення між типами граматик
- Будь-які граматики типу 3 є граматиками типу 2.
- Будь-які КВ-граматики є граматиками типу 1 (КЗ або неукорочуючі), з точністю до ε.
- Будь-які граматики типу 1 є граматиками типу 0.
Мова L(G) є мовою типу k, якщо її можна описати граматикою типу k.
Співвідношення між типами мов
- кожна регулярна мова є КВ-мовою, але існують КВ- мови, що не є регулярними (наприклад, );
- кожна КВ- мова є КЗ- мовою, але існують КЗ-мови, що не є КВ-мовами ( наприклад, );
- кожна КЗ-мова є мовою типу 0.
Варто підкреслити, що якщо мова задана граматикою типу k, то це не означає, що не існує граматики типу k' (k'>k), що описує ту ж мову. Тому, коли говорять про мову типу k, звичайно мають на увазі максимально можливе k.
Використання формальних граматик
Формальні граматики - це дуже потужний математичний інструмент, який використовується в математичній та комп'ютерній лінгвістиці, описі мов програмування, розробці компіляторів в теорії програмування. Найбільш вживаними є КВ-граматики і регулярні, бо їх найлегше описати алгоритмічно.
Сама по собі концепція формальних граматик доволі гнучка, тому не дивно, що з'явилося багато інших інструментів, що розширюють використання та потужність КВ-граматик і граматик третього типу. Наприклад, , , скінченні автомати, регулярні вирази та множини.
Див. також
Література
- Українською
- (укр.) Формальні мови та алгоритмічні моделі. — І.-Ф. : Голіней, 2023. — 180 с.
- Іншими мовами
- Серебряков В.А., Галочкин М.П., Гончар Д.Р., Фуругян М.Г. //М.: МЗ-Пресс, 2006 г., 2-е изд. ISBN 94073-094-9. (рос.)
Це незавершена стаття з математики. Ви можете проєкту, виправивши або дописавши її. |
Це незавершена стаття з інформатики. Ви можете проєкту, виправивши або дописавши її. |
Ця стаття потребує додаткових для поліпшення її . (квітень 2008) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Formalna gramatika abo prosto gramatika v teoriyi formalnih mov sposib opisu formalnoyi movi tobto vidilennya deyakoyi pidmnozhini z mnozhini vsih sliv deyakogo skinchennogo alfavitu Rozriznyayut porodzhuvalni i analitichni gramatiki pershi stavlyat pravila za dopomogoyu yakih mozhna pobuduvati bud yake slovo movi a drugi dozvolyayut po danomu slovu viznachiti vhodit vono v movu chi ni Formalni gramatiki buli vvedeni amerikanskim vchenim matematikom ta filosofom Noamom Chomski u 50 tih rokah 20 storichchya Formalne viznachennya ponyattyaPonyattya alfavitu Alfavit skinchenna mnozhina simvoliv e porozhnij lancyuzhok slovo poslidovnist Alfavitom ye ob yednannya alfavitiv peretin riznicya alfavitiv Nehaj T alfavit todi T mnozhina usih mozhlivih poslidovnostej sho skladeni z elementiv cogo alfavitu krim porozhnoyi poslidovnosti e T mnozhina usih mozhlivih poslidovnostej sho skladeni z elementiv cogo alfavitu bud yakoyi dovzhini Otzhe T T e displaystyle T T cup varepsilon Tk mnozhina usih mozhlivih poslidovnostej sho skladeni z elementiv cogo alfavitu dovzhini ne bilshe k Mova v alfaviti T ce mnozhina lancyuzhkiv skinchennoyi dovzhini v comu alfaviti Zrozumilo sho kozhna mova v alfaviti T ye pidmnozhinoyu mnozhini T Formalna gramatika Formalna gramatika ce chetvirka kortezh G N T P S displaystyle boldsymbol G N T P S De T alfavit terminalnih simvoliv terminaliv vid angl terminate zavershitis Terminalni simvoli ye alfavitom movi N alfavit neterminalnih simvoliv neterminaliv T N displaystyle T cap N emptyset Neterminali ne vhodyat v alfavit movi Syudi perenapravlyayetsya zapit Terminalni ta neterminalni simvoli Na cyu temu potribna okrema stattya S aksioma specialno vidilenij neterminalnij simvol z yakogo pochinayetsya opis gramatiki S N displaystyle mbox S in mbox N P pravila vivodu skinchenna pidmnozhina mnozhini T N T N displaystyle T cup N times T cup N Inkoli P viznachayut tak a T N N T N b T N displaystyle alpha in T cup N times N times T cup N beta in T cup N Element a b z mnozhini R nazivayetsya pravilom vivodu i zapisuyetsya u viglyadi a b displaystyle alpha to beta Takim chinom liva chastina pravila ne mozhe buti porozhnoyu Pravila z odnakovoyu livoyu chastinoyu zapisuyut a b 1 b 2 b n displaystyle alpha to beta 1 mid beta 2 mid mid beta n b i i 1 2 n displaystyle beta i mbox i 1 2 n nazivayutsya alternativami pravila vivodu z lancyuzhka a displaystyle alpha Vivedennya v formalnih gramatikahLancyuzhok b T N displaystyle beta in T cup N nazvemo bezposeredno vivedenim z lancyuzhka a T N displaystyle alpha in T cup N v gramatici G T N S P displaystyle G T N S P poznachayetsya a b displaystyle alpha Rightarrow beta yaksho a 3 1 g 3 2 b 3 1 d 3 2 3 1 3 2 d T N g T N g d P displaystyle alpha xi 1 gamma xi 2 beta xi 1 delta xi 2 xi 1 xi 2 delta in T cup N gamma in T cup N gamma to delta in P Lancyuzhok b T N displaystyle beta in T cup N nazvemo vivedenim z lancyuzhka a T N displaystyle alpha in T cup N v gramatici G T N S P displaystyle G T N S P poznachayetsya a b displaystyle alpha Rightarrow beta yaksho g 0 g 1 g n n 0 a g 0 g 1 g n b displaystyle exists gamma 0 gamma 1 gamma n n geq 0 alpha gamma 0 Rightarrow gamma 1 Rightarrow Rightarrow gamma n beta Terminalnij ryadok nazivayetsya pravilnim abo sentencialnoyu formoyu vidnosno gramatiki G yaksho vin vivoditsya z aksiomi ciyeyi gramatiki Neodnoznachnosti ta strategiyi vivoduGramatika G nazivayetsya neodnoznachnoyu yaksho isnuye dekilka variantiv vivodu slova w v G w L G Priklad Rozglyanemo taku gramatiku G lt N S P S gt zi shemoyu R S S S S S a Pokazhemo sho dlya lancyuzhka w a a a isnuye shonajmenshe dva varianti vivodu S S S S S S a S S a a S a a a S S S a S a S S a a S a a a V teoriyi gramatik rozglyadayetsya dekilka strategij vivedennya lancyuzhka w v G Livostoronnya strategiya vivodu lancyuzhka w v G ce poslidovnist krokiv bezposerednogo vivodu pri yakij na kozhnomu kroku do uvagi beretsya pershij zliva napravo neterminal Pravostoronnya strategiya vivodu w v G protilezhna livostoronnij strategiyi Z vivodom w v G pov yazane abstraktne sintaksichne derevo yake viznachaye sintaksichnu strukturu programi Formalni moviFormalna mova porodzhena gramatikoyu G ce mnozhina terminalnih ryadkiv sho vivodyatsya z aksiomi tobto mnozhina usih pravilnih ryadkiv L G a T S a displaystyle L G alpha in T mid S Rightarrow alpha Z inshogo boku mnozhina terminalnih ryadkiv takih sho voni mozhut buti vivedeni v gramatici G nazivayetsya movoyu sho mozhe buti rozpiznana v danij gramatici abo dopuskayetsya danoyu gramatikoyu Gramatiki G1 ta G2 nazivayutsya ekvivalentnimi yaksho L G 1 L G 2 displaystyle L G 1 L G 2 Gramatiki G1 ta G2 nazivayutsya majzhe ekvivalentnimi yaksho L G 1 e L G 2 e displaystyle L G 1 cup varepsilon L G 2 cup varepsilon tobto movi nimi porodzhuvani vidriznyayutsya ne bilsh nizh na e Gramatika mozhe buti porodzhuyuchoyu ta rozpiznavalnoyu ce zalezhit vid napryamku zastosuvannya pravil Dlya porodzhuyuchih gramatik vivedennya pochinayetsya z aksiomi i zakinchuyetsya terminalnim ryadkom ryadkom sho skladayetsya tilki z terminaliv A rozpiznavalni analizuyut vhidnij terminalnij ryadok na pravilnist chi mozhna takij ryadok vivesti v cij gramatici Korotko kazhuchi porodzhuyuchi ce zgori vniz a rozpiznavalni znizu vgoru Ostannya zadacha ye praktichnishoyu i gostroyu Klasifikaciya gramatikChomski takozh zaproponuvav klasifikaciyu gramatik Vin vidiliv chotiri tipi gramatik Klasifikaciya za Chomski Dokladnishe Iyerarhiya Chomski Gramatiki Tipu 0 neobmezheni Ce najzagalnishij klas gramatik Na pravila ne nakladayutsya niyakih obmezhen okrim zaznachenih u viznachenni Voni ekvivalentni mashini Tyuringa Dovedeno isnuvannya mov yaki porodzhuyutsya gramatikami tipu 0 ale ne gramatikami tipu 1 ale nevidomi prosti prikladi takih mov Klas mov sho porodzhuyutsya neobmezhenoyu gramatikoyu nazivayetsya en Gramatiki Tipu 1 neskorochuyuchi abo kontekstno zalezhni KZ gramatiki Vibir oznachennya ne vplivaye na mnozhinu mov porodzhuvanih gramatikami cogo klasu oskilki dovedeno sho mnozhina mov porodzhuvanih gramatikami sho ne ukorochuyut zbigayetsya iz mnozhinoyu mov porodzhuvanih KZ gramatikami Neskorochuyuchi gramatiki Vsi pravila mayut viglyad a b displaystyle alpha to beta a T N b T N displaystyle alpha in T cup N beta in T cup N a b displaystyle alpha leq beta de a displaystyle alpha oznachaye kilkist simvoliv u ryadku a displaystyle alpha Kontekstno zalezhni gramatiki Vsi pravila mayut viglyad a b displaystyle alpha to beta a 3 1 A 3 2 b 3 1 g 3 2 A N g T N 3 1 3 2 T N displaystyle alpha xi 1 A xi 2 beta xi 1 gamma xi 2 A in N gamma in T cup N xi 1 xi 2 in T cup N Gramatiki Tipu 2 kontekstno vilni gramatiki KV Vsi pravila mayut viglyad a b displaystyle alpha to beta a N b T N displaystyle alpha in N beta in T cup N Tobto v usih pravilah cogo vidu zliva stoyit tilki odin neterminal Tomu voni i kontekstno vilni bo na vikoristannya pravila dlya danogo neterminalu ne vplivayut simvoli sho otochuyut jogo Ci simvoli nazivayut kontekstom Gramatiki Tipu 3 regulyarni gramatiki A gramatiki mozhna viznachiti yak pravolinijnu abo livolinijnu gramatiku abo yak zmishanu Takozh ci movi nazivayut skinchenno avtomatnimi bo voni ekvivalentni skinchennim avtomatam tobto klas mov sho porodzhuyutsya gramatikami tipu 3 zbigayetsya z klasom mov yaki rozpiznayutsya skinchenimi avtomatami Takozh ci gramatiki ye osnovoyu regulyarnih viraziv Pravolinijna gramatika Vsi pravila mayut viglyad a b displaystyle alpha to beta a w b b N w T displaystyle alpha to omega beta beta in N omega in T abo a w w T displaystyle alpha to omega omega in T Livolinijna gramatika Vsi pravila mayut viglyad a b displaystyle alpha to beta a b w b N w T displaystyle alpha to beta omega beta in N omega in T abo a w w T displaystyle alpha to omega omega in T Dovedeno sho pravolinijni ta livolinijni gramatiki ekvivalentni i isnuye algoritm dlya perevedennya pravil gramatiki odnogo tipu v inshij tip Spivvidnoshennya mizh tipami gramatik Bud yaki gramatiki tipu 3 ye gramatikami tipu 2 Bud yaki KV gramatiki ye gramatikami tipu 1 KZ abo neukorochuyuchi z tochnistyu do e Bud yaki gramatiki tipu 1 ye gramatikami tipu 0 Mova L G ye movoyu tipu k yaksho yiyi mozhna opisati gramatikoyu tipu k Spivvidnoshennya mizh tipami mov kozhna regulyarna mova ye KV movoyu ale isnuyut KV movi sho ne ye regulyarnimi napriklad L a n b n n gt 0 displaystyle L a n b n mid n gt 0 kozhna KV mova ye KZ movoyu ale isnuyut KZ movi sho ne ye KV movami napriklad L a n b n c n n gt 0 displaystyle L a n b n c n mid n gt 0 kozhna KZ mova ye movoyu tipu 0 Varto pidkresliti sho yaksho mova zadana gramatikoyu tipu k to ce ne oznachaye sho ne isnuye gramatiki tipu k k gt k sho opisuye tu zh movu Tomu koli govoryat pro movu tipu k zvichajno mayut na uvazi maksimalno mozhlive k Vikoristannya formalnih gramatikFormalni gramatiki ce duzhe potuzhnij matematichnij instrument yakij vikoristovuyetsya v matematichnij ta komp yuternij lingvistici opisi mov programuvannya rozrobci kompilyatoriv v teoriyi programuvannya Najbilsh vzhivanimi ye KV gramatiki i regulyarni bo yih najlegshe opisati algoritmichno Sama po sobi koncepciya formalnih gramatik dovoli gnuchka tomu ne divno sho z yavilosya bagato inshih instrumentiv sho rozshiryuyut vikoristannya ta potuzhnist KV gramatik i gramatik tretogo tipu Napriklad skinchenni avtomati regulyarni virazi ta mnozhini Div takozhPortal Matematika Notaciya Bekusa Naura Sintaksichnij analiz Iyerarhiya ChomskiLiteraturaUkrayinskoyu ukr Formalni movi ta algoritmichni modeli I F Golinej 2023 180 s Inshimi movami Serebryakov V A Galochkin M P Gonchar D R Furugyan M G M MZ Press 2006 g 2 e izd ISBN 94073 094 9 ros Ce nezavershena stattya z matematiki Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Ce nezavershena stattya z informatiki Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno kviten 2008