Limbaj formal
Prin limbaj formal , în matematică , logică , informatică și lingvistică , înțelegem un set de șiruri construite pe unalfabet , adică pe un set de obiecte practic simple care se numesc caractere, simboluri sau litere. De multe ori se presupune că alfabetul pe care este construit limba este un set finit.
Istorie
Primul limbaj formal despre care știm este introdus de Gottlob Frege în Begriffsschrift (1879), tradus în italiană ca „Ideografie” și pe care subtitlul îl definește ca „un limbaj în formulele gândirii pure, în imitarea celei aritmetice”.
Teoria limbajelor formale s-a născut în anii 1950 în domeniul lingvisticii, ca mod de a înțelege regularitățile limbilor naturale.
Descriere
Caracteristici
În mod formal, un limbaj L este definit ca , unde este (unde asteriscul indică steaua lui Kleene ) reprezintă ansamblul tuturor secvențelor finite ( șiruri sau cuvinte) care pot fi formate cu alfabetul . Un limbaj poate fi de cardinalitate finită , infinită sau zero . Este important să rețineți că limba goală (notată cu ) diferă de limba compusă exclusiv de șirul tăcut (sau cuvânt gol ), notat cu și , sau .
De exemplu, având în vedere alfabetul unele limbi posibile pe acest alfabet sunt:
- Limbajul gol
- (limba constând numai din șirul gol)
- (limbaj finit)
- (limbaj infinit definit de o expresie regulată )
În general, vom spune că un model formal care poate recunoaște și genera toate și numai șirurile unui limbaj formal acționează ca o definiție a limbajului respectiv. Conform celor două abordări principale ale definiției limbajelor formale, un model poate fi concretizat într-o gramatică formală (abordare generativă) sau într-un automat (abordare de recunoaștere).
Definiția formal language
Un limbaj formal poate fi definit într-o mare varietate de moduri echivalente:
- Setul de șiruri derivat dintr-o gramatică generativă
- Setul de șiruri furnizat de o expresie regulată
- Setul de corzi acceptat de un automat
- Întrebări cu răspuns afirmativ, în contextul unei probleme de decizie , al cărui răspuns este de tip binar ( da / nu sau adevărat / fals )
Exemple de limbaje formale
Deși unele exemple de limbaje formale au fost definite mai sus, este posibil să se exprime unele limbaje formale pe În felul următor:
- Limba tuturor șirurilor care conțin același număr de a și b ;
- Setul tuturor cuvintelor de pe sau setul gol;
- Setul de șiruri ale formei cu n număr prim ;
- Setul de programe într-un anumit limbaj de programare care se dovedesc a fi corecte din punct de vedere sintactic;
- Setul de intrări care determină oprirea unei anumite mașini Turing
Operațiuni asupra limbajelor formale
Este posibil să se definească unele operații unare sau binare pentru a genera un nou limbaj din limbaje de date. Lasa-i sa fie și două limbi pe un alfabet dat.
- este concatenarea sau juxtapunerea celor două limbi. Se compune din mulțimea tuturor siruri de caractere vw astfel încât Și .
- este intersecția dintre și . Se compune din setul tuturor șirurilor , adică toate șirurile conținute în ambele că în .
- este uniunea dintre și . Se compune din setul tuturor șirurilor , adică toate șirurile care aparțin cel puțin uneia dintre cele două limbi.
- este complementul limbajului . Se compune din toate corzile , adică toate șirurile de pe alfabet care nu sunt conținute în .
- este coeficientul corect al din . Se compune din toate șirurile v pentru care există un w în șir astfel încât .
- este vedeta lui Kleene . Se compune din limbaj , adică toate șirurile de formă astfel încât . Atâta timp cât șirul se schimbă .
- este reflexia . De sine Și , limba L conține toate șirurile , adică toate șirurile reflectate de .
- Amestecarea sau amestecarea de și constă din toate șirurile care pot fi scrise în formă astfel încât .
Una dintre cele mai frecvente probleme legate de limbile formale se referă la problema apartenenței . Având un șir w și un limbaj L, verificați dacă este o problemă care implică atât teoria calculabilității, cât și teoria complexității .
Bibliografie
- (EN) Limbaje formale , în Encyclopedia of Computer Science, Hoboken, Wiley, 2003.
- ( EN ) John E. Hopcroft , Rajeev Motwani; Jeffrey D. Ullman , Limbi , în Introducere în teoria automatelor, limbi și calcul , Addison Wesley, 15 iulie 2006, ISBN 978-0-321-46225-1 .
Elemente conexe
- Monoid
- Gramatica formală
- Șir (limbi formale)
- Alfabet (teoria limbajelor formale)
- Alfabetul concurentului
- Metalimbaj
Alte proiecte
- Wikiversitatea conține resurse privind limbajul formal
- Wikimedia Commons conține imagini sau alte fișiere cu limbaj formal
linkuri externe
- ( EN ) Limbaj formal , în Encyclopedia Britannica , Encyclopædia Britannica, Inc.
Controlul autorității | Tesauro BNCF 5999 · LCCN (EN) sh85050802 · GND (DE) 4017848-1 · BNF (FR) cb11967270h (dată) · NDL (EN, JA) 00.576.869 |
---|