Llenguatge regular
Enmatemàtiques,lògicaicomplexitat computacionalunllenguatge formalés unllenguatge regularsi es pot expressar usantexpressions regulars.[1][2][3]
També es pot definir un llenguatge regular com aquell que reconeix unautòmat finit.L'equivalència entre les expressions regulars i autòmats finits es demostra alteorema de Kleene.Aquest tipus de llenguatges s'etiqueten com de tipus 3 en lajerarquia de Chomskydels llenguatges formals.
Els llenguatges regulars son força útils en l'anàlisi d'entrades i el disseny dellenguatges de programació.
Definició formal
[modifica]La col·lecció de llenguatges regulars sobre un alfabet Σ es defineix recursivament com:
- El llenguatge buit Ø i la cadena buida {ε} son llenguatges regulars.
- Per cadaa∈ Σ, el conjunt unitari {a} és un llenguatge regular.
- Si A i B son llenguatges regulars, llavorsA∪B(unió),A•B(concatenació), iA* (Clausura de Kleene) son llenguatges regulars.
- Cap altre llenguatge sobre Σ és regular.
VeieuExpressio regularper la seva sintaxi i semàntica.
Exemples
[modifica]Tots els llenguatges finits son regulars. En particular el llenguatge buit {ε} = Ø és regular. Altres exemples típics consisteixen en el llenguatge format per totes les cadenes sobre un alfabet {a, b} que contenen un nombre parell deaso el llenguatge consistent en totes les cadenes de les formes: moltesas seguides de moltesbs.
Un exemple senzill d'un llenguatge que no és regular és el conjunt de cadenes tal que {anbn|n≥ 0 }. Intuïtivament es veu que no es pot reconèixer amb un autòmat finit, ja que té una memòria finita i no pot recordar el nombre exacte d'as.[4]
Formalismes equivalents
[modifica]Un llenguatge regular satisfà les següents propietats equivalents:
- És el llenguatge d'unaexpressió regular.
- És el llenguatge acceptat per unautòmat finit no determinista.
- És el llenguatge acceptat per unautòmat finit determinista.
- Es pot generar amb unagramàtica regular.
- És el llenguatge acceptat per un autòmat finit alternant.
- Es pot generar amb una gramàtica de prefix.
- És el llenguatge acceptat per unamàquina de Turingde només lectura.
- Es pot definir amblògica de segon ordre.
Propietats de clausura
[modifica]Els llenguatges regulars son tancats segons vàries operacions. Si els llenguatgesKiLson regulars, també ho serà el resultat de les operacions següents:
- El conjunt d'operacions Booleanes:unióK∩L,interseccióK∩LicomplementariL
- Les operacions regularsK∪L,concatenacióK∘L,iclausura de KleeneL*
- Operacions trio: homomorfisme de cadenes, la seva inversa i intersecció amb llenguatges regulars. Com a conseqüència, son tancats per operacions amb Transductor d'estats finits, com el quocientK/Lamb llenguatges regulars.
- La inversa LR.Donat un autòmat finit no determinista que reconeix L, es pot obtenir un autòmat per reconèixer LRfent revertint totes les transicions i intercanviant l'estat inicial per l'estat final.
Problemes de decisió
[modifica]Donats dos autòmats finits deterministes A i B, ésdecidiblesaber si accepten el mateix llenguatge.[5]Com a conseqüència, usant les propietats de clausura, els següents problemes també son decidibles per qualsevol autòmat finit A i B, que accepten els llenguatgesLAiLBrespectivament:
- Inclusió:LA⊆LB?
- Disjunció:LA∩LB= {}?
- Buit:LA= {}?
- Universalitat:LA= Σ*?
- Membre: donata∈ Σ*,a∈LB?
Per expressions regulars, el problema d'universalitat ésNP-completinclús per un alfabet simple.[6]Per alfabets més grans, el problema ésPSPACE-complet.[7][8]
Complexitat
[modifica]Encomplexitat computacional,laclasse de complexitatde tots els llenguatges regulars s'anomena sovint com REGULAR o REG i és equivalent aDSPACE(O(1)), és a dir, el conjunt de problemes de decisió que es poden resoldre en espai constant (l'espai utilitzat és independent de la mida d'entrada).
REGULAR ≠AC0,ja que conté el problema de paritat de determinar si el nombre de bits a 1 a l'entrada és parell o senar, i aquest problema no està aAC0.
D'altra banda, REGULAR no contéAC0,ja que el llenguatge no regular dels palíndroms, o el llenguatge no regulares poden reconèixer perAC0.[9]
Si un llenguatge es no regular, requereix que una màquina amb almenys espai Ω(log logn) per reconèixer-lo. Dit d'altra manera, la classeDSPACE(o(log log n)) és igual a la classe dels llenguatges regulars.[10]
Posició a la jerarquia de Chomsky
[modifica]Per trobar la posició dels llenguatges regulars dins de lajerarquia de Chomskycal notar que tot llenguatge regular éslliure del context.A l'inrevés no és cert: per exemple el llenguatge consistent en totes les cadenes que tenen el mateix nombre d'as i debs és lliure del context però no és regular. Per provar que un llenguatge d'aquest tipus no és regular es fa servir elteorema de Myhill-Nerodeo elLema de bombament.[11]
Els llenguatges regulars tenen subclasses força importants:
- Llenguatges finits: aquells llenguatges que contenen només un nombre finit de paraules (no confondre amb un llenguatge generat per un autòmat finit). Aquests llenguatges son regulars, ja que es poden crear amb una expressió regular que és la unió de cada paraula del llenguatge.
- Llenguatges lliures d'estrella, que es poden descriure amb una expressió regular construïda des del símbol buit, lletres,concatenaciói tots elsoperadors boolens,incloent-hi complement però no laclausura de Kleene.Aquesta classe inclou tots els llenguatges finits.[12]
Referències
[modifica]- ↑The Oxford handbook of computational linguistics.Oxford: Oxford University Press, 2003.ISBN 0198238827.
- ↑V.,Lawson, Mark.Finite automata.Boca Raton: Chapman & Hall/CRC, 2004.ISBN 1584882557.
- ↑Michael.,Sipser,.Introduction to the theory of computation.3a edició. Boston, MA: Cengage Learning, 2013.ISBN 9781133187790.
- ↑Samuel.,Eilenberg,.Automata, languages, and machines..Nova York,: Academic Press, 1974-76.ISBN 0122340019.
- ↑1939-,Hopcroft, John E.,.Introduction to automata theory, languages, and computation.Reading, Mass.: Addison-Wesley, 1979.ISBN 020102988X.
- ↑V.,Aho, Alfred.The design and analysis of computer algorithms.Reading, Mass.: Addison-Wesley Pub. Co, [1974].ISBN 0201000296.
- ↑«MR: Matches for: MR=421145». [Consulta: 13 febrer 2019].
- ↑Bowen Hurt III,HarryOn the time and tape complexity of languages,8-1973, pàg. 106.
- ↑1948-,Cook, Stephen,.Logical foundations of proof complexity.Cambridge:Cambridge University Press,2010.ISBN 9780511677168.
- ↑Stearns,R. E.;Hartmanis,J.;Lewis,P. M. «Hierarchies of memory limited computations».6th Annual Symposium on Switching Circuit Theory and Logical Design (SWCT 1965),10-1965, pàg. 179–190.DOI:10.1109/FOCS.1965.11.
- ↑«How to prove that a language is not regular?». [Consulta: 13 febrer 2019].
- ↑Logic and automata: history and perspectives.Amsterdam: Amsterdam University Press, 2008.ISBN 9789048501281.