Usuari:Mcapdevila/Autòmat amb pila

De la Viquipèdia, l'enciclopèdia lliure

Un autòmat amb pila , autòmat a pila o autòmat de pila és un model matemàtic d'un sistema que rep una cadena constituïda per símbols d'un alfabet i determina si aquesta cadena pertany al llenguatge que el autòmat reconeix. El llenguatge que reconeix un autòmat amb pila pertany al grup dels llenguatges lliures de context en la classificació de la Jerarquia de Chomsky.

Definició formal[modifica]

Formalment, un autòmat amb pila pot ser descrit com una septuplica on:

  • Σ i són alfabets d'entrada, de la cadena i de la pila respectivament;
  • S un conjunt de estats;
  • és l'estat inicial;
  • és el símbol inicial de la pila;
  • és un conjunt d'estats d'acceptació o finals.


La interpretació de amb és la següent:

Quan l'estat de l'autòmat és , el símbol que el cap lector està inspeccionant en aquest moment és , i al cim de la pila ens trobem el símbol , es realitzen les següents accions:

  • Si , és a dir no és la paraula buida, s'avança una posició el cap lector per inspeccionar el següent símbol.
  • S'elimina el símbol Z de la pila de l'autòmat.
  • Se selecciona un parell d'entre els existents en la definició de , la funció de transició de l'autòmat.
  • Es apila la cadena a la pila de l'autòmat, quedant el símbol al cim de la pila.
  • Es canvia el control de l'autòmat a l'estat .


Funcionament[modifica]

Els autòmats de pila, en forma similar a com s'usen els autòmats finits, també es poden utilitzar per acceptar cadenes d'un llenguatge definit sobre un alfabet A. Els autòmats de pila poden acceptar llenguatges que no poden acceptar els autòmats finits. Un autòmat de pila té una cinta d'entrada i un mecanisme de control que pot trobar-se en un d'entre un nombre finit d'estats. Un d'aquests estats es designa com estat inicial, ia més alguns estats es diuen d'acceptació o finals. A diferència dels Autòmats finits, els autòmats de pila compten amb una memòria auxiliar anomenada pila. Els símbols (anomenats símbols de pila) poden ser inserits o extrets de la pila, d'acord amb el maneig last-in-first-out (LIFO). Les transicions entre els estats que executen els autòmats de pila depenen dels símbols de entrada i dels símbols de la pila. L'autòmat accepta una cadena x si la seqüència de transicions, començant en estat inicial i amb pila buida, condueix a un estat final, després de llegir tota la cadena x. [1]

Representació[modifica]

Una màquina d'aquest tipus es representa de la següent forma

Representació

Igual que un autòmat finit un autòmat de pila té un flux d'entrada i un flux de control que pot trobar-se en un d'entre un nombre finit d'estats. Un d'aquests estats es designa com l'inicial i almenys un estat és d'acceptació.

La principal diferència és que els autòmats de pila compten amb una pila on poden emmagatzemar informació per recuperar-la més tard.

Els símbols que poden emmagatzemar-se en aquesta pila es coneixen com a símbols de pila de la màquina, constitueixen un conjunt finit que pot incloure alguns símbols definint l'alfabet de la màquina i potser alguns símbols addicionals que s'utilitzen com a marques internes. Si una màquina s'insereix un símbol especial a la pila abans d'efectuar algun altre càlcul, llavors aquest símbol al cim de la pila pot usar-se com a indicador de pila buida per a càlculs posteriors, aquest símbol és #.

Exemple[modifica]

Sigui el següent LLC , format per les cadenes

Aquest llenguatge pot ser reconegut pel següent autòmat amb pila:

on les transicions són:

per a qualsevol

El significat de les transicions pot ser explicat analitzant la primera transició:

on és l'estat actual, és el símbol a l'entrada i s'extreu del cim de la pila. Llavors, l'estat de l'automat canvia a i el símbol es posa al cim de la pila.

La idea del funcionament de l'autòmat és que en anar llegint els diferents símbols a, aquests passen a la pila en forma de símbols A. En aparèixer el primer símbol b a l'entrada, es comença el procés de desapilat, de manera que coincideixi el nombre de símbols b llegits amb el nombre de símbols A que apareixen a la pila.

Autòmat amb pila determinista[modifica]

Noteu que, a diferència d'un autòmat finit o una màquina de Turing, la definició bàsica d'un autòmat amb pila és de naturalesa no determinista, doncs la classe dels autòmats amb pila deterministes, a diferència del que passava amb aquells models, té una potència descriptiva estrictament menor. Per qualificar un autòmat amb pila com determinista s'han de donar dues circumstàncies: en primer lloc, per descomptat, que en la definició de cada component de la funció de transició existeixin un únic element el que dóna la naturalesa determinista. Però això no és suficient, ja que a més pot donar-se la circumstància que l'autòmat estigui en l'estat i en la pila aparegui el símbol , llavors, si hi ha una definició de transició possible per a algun símbol qualsevol de l'alfabet d'entrada, però, a més hi ha una altra alternativa per a la paraula buida , també això és una forma de no determinisme, doncs podem optar entre llegir un símbol o no fer-ho. Per això, en autòmat determinista no ha d'existir transició possible amb lectura de símbol si pot fer-se sense ella, ni al contrari.

Per a cada , es doni que: , per a cada

Definició[modifica]

Un autòmat amb pila determinista (AFPD) és una 7-UPLA,

P = (Q, Σ, Г, Δ, q0, T, Z) on:

  • Q és un conjunt finit d'estats.
  • Σ és l'alfabet d'entrada.
  • Г és l'alfabet de la pila.
  • Q0 є Q és l'estat inicial.
  • Z є Г símbol inicial de la pila.
  • T és subconjunt de Q (conjunt d'estats finals).
  • Δ és la funció de transició tal que:
Δ: Q × (Σ U{ε}) × Г → (Q × Г *)

Observació

En un moment, la unitat de control de l'autòmat escaneja un símbol 'a' sobre la cinta d'entrada i el símbol 's'al límit de la pila.

Autòmat amb pila determinista

Aquest pas computacional representa: La unitat de control passa a 'q0' i es mou a la dreta a la cinta d'entrada, esborra el símbol 's'del límit, escriu a la cadena i passa a escanejar el nou límit. [2]

Autòmat amb pila no determinista[modifica]

Un autòmat finit amb pila no determinista (AFPN) consta dels mateixos paràmetres d'un AFPD.

P = (Q, Σ, Г, Δ, q0, T, Z):

On la funció de transició Δ és de la forma:

Δ: Q × (Σ U{ε}) × Г → Pf (Q × Г *)

On Pf (Q × Г *) és un conjunt de subconjunts finits de Q × Г *

Per q є Q, a є Σ U{ε}i es є Г

Δ (q, a, s) ={(q1, γ1), (q2, γ 2),. . . , (Qn, γ n)}

On γi є Г *

Exemple[modifica]

Dissenyar un AFPN que accepti el llenguatge <ref> Universitat del Valle, Exemples

Sobre:

Σ ={a, b}

  • Δ (q0, a, Z) = (q0, AZ)
  • Δ (q0, ε, Z) = (q2, Z) (accepta ε)
  • Δ (q0, a, A) = (q0, AA)
  • Δ (q0, b, A) = (q1, ε)
  • Δ (q1, b, A) = (q1, ε)
  • Δ (q1, ε, Z) = (q2, Z)


Exemple AFPN

El no determinisme es dóna per la presència simultània de:

Δ (q0, a, Z) i Δ (q0, ε, Z)


Referències[modifica]

  1. Llibre Teoria d'autòmats i llenguatges formals, pàgines 210-211
  2. Universitat de la Vall, Cursos dictats i informació «Enllaç».

Bibliogràfica[modifica]

  • Teoria d'autòmats i llenguatges formals.

Autòmats i complexitat. Kelly Dean Editorial Prentice Hall

  • Introducció a la teoria d'autòmats, llenguatges i computació

John I. Hopcroft; Jeffrey D. Ullman Editorial Cecs

  • Teoria de la computació

J. Gleuu Brokshear Editorial Addison Wesley Iberoamericana

Enllaços externs[modifica]

Nota[modifica]