Вы находитесь на странице: 1из 6

Capitulo1

Lateoradeautmataseselestudiodedispositivosdeclculoabstractos,esdecir,
delasmquinas.Antesdequeexistieranlascomputadoras,enladcadadelos
aostreinta,A.Turingestudiunamquinaabstractaquetenatodaslas
capacidadesdelascomputadorasdehoyda,almenosenloquerespectaaloque
podancalcular.ElobjetivodeTuringeradescribirdeformaprecisaloslmites
entreloqueunamquinadeclculopodaynopodahacer;estasconclusionesno
sloseaplicanalasmquinasabstractasdeTuring,sinoatodaslasmquinasreales
actuales.
En1969,S.CookamplielestudiorealizadoporTuringsobreloquesepodayno
sepodacalcular.Cookfuecapazdesepararaquellosproblemasquesepodan
resolverdeformaeficientemediantecomputadoradeaquellosproblemasque,en
principio,puedenresolverse,peroqueenlaprcticaconsumentantotiempoquelas
computadorasresultanintilesparatodoexceptoparacasosmuysimplesdel
problema.EsteltimotipodeproblemassedenominaninsolublesoNPdifciles
.Esextremadamenteimprobablequeinclusolamejoradecarcterexponencialen
lavelocidaddeclculoqueelhardwaredecomputadorahaexperimentado(Leyde
Moore)tengaunimpactosignificativosobrenuestracapacidadpararesolvercasos
complejosdeproblemasinsolubles.
onvariaslasrazonesporlasqueelestudiodelosautmatasydelacomplejidadde
clculoconstituyenunaparteimportantedelncleodelaCienciasdela
Computacin.Estaseccinpresentaallectorestasrazones,eintroducelostemas
msimportantesquesecubrenenestelibro.

Introduccin a los autmatas finitos


Losautmatasfinitosconstituyenunmodelotilparamuchostiposdehardwarey
software.ApartirdelCaptulo2veremosejemplosdecmoseempleanestos
conceptos.Porelmomento,sloenumeraremosalgunosdelostiposms
importantes:
1.

Softwareparadisearyprobarelcomportamientodecircuitosdigitales.

2.

Elanalizadorlxicodeuncompiladortpico,esdecir,elcomponentedelcompiladorques
eparaeltextodeentradaenunidadeslgicas,talcomoidentificadores,palabrasclave
ysignosdepuntuacin.

3.

Softwareparaexplorarcuerposdetextolargos,comocoleccionesdepginasweb,o
paradeterminarelnmerodeaparicionesdepalabras,frasesuotrospatrones.

4.

Softwareparaverificarsistemasdetodotipoquetenganunnmerofinitodeestados
diferentes,talescomoprotocolosdecomunicacionesoprotocolosparael
intercambiosegurodeinformacin.
Aunqueprontoveremosunadefinicinprecisadelosdistintostiposdeautmatas,
comenzaremosestaintroduccininformalconunbocetodeloqueesyloquehace
unautmatafinito.Existenmuchossistemasocomponentes,comolosquehemos
enumeradoanteriormente,quepuedenencontrarsesiempreenunodeunaseriede
estadosfinitos.Elpropsitodeunestadoeselderecordarlaparterelevantedel
historialdelsistema.Puestoquesloexisteunnmerofinitodeestados,
generalmente,noesposiblerecordarelhistorialcompleto,porloqueelsistema
debedisearsecuidadosamente,conelfinderecordarloqueesimportanteyolvidar
loquenoloes.Laventajadedisponerdeslounnmerofinitodeestadosesque
podemosimplementarelsistemamedianteunconjuntofijoderecursos.Por
ejemplo,podramosimplementarloporhardwarecomouncircuito,ocomouna
formasimpledeprogramaquepuedetomardecisionesconsultandoslouna
cantidadlimitadadedatosoutilizandolaposicindelpropiocdigoparatomarla
decisin.
Existendosimportantesnotacionesquenosonlasutilizadasnormalmenteconlos
autmatas,peroquedesempeanunimportantepapelenelestudiodelos
autmatasysusaplicaciones.

5.

Lasgramticassonmodelostileseneldiseodesoftwarequesirveparaprocesardatoscon
unaestructurarecursiva.Elejemplomsconocidoeseldeunanalizador
sintctico(parser),elcomponentedeuncompiladorqueseocupadelasfunciones
anidadasrecursivamentedeloslenguajesdeprogramacintpicos,talescomo
expresionesaritmticas,condicionales,etc.Porejemplo,unareglagramaticalcomo
EE+Eestablecequeunaexpresinpuedeformarsetomandocualesquierados
expresionesyconectndolasmedianteunsignoms;estareglaestpicadecmo
seformanlasexpresionesenloslenguajesrealesdeprogramacin.EnelCaptulo5
sepresentanlasgramticasindependientesdelcontexto,nombreconelquese
conoceestetipodegramticas.

6.

Lasexpresionesregularestambinespecificanlaestructuradelosdatos,
especialmentedelascadenasdetexto.ComoveremosenelCaptulo3,lospatrones
decadenasdecaracteresquepuedendescribirexpresionesregularessonlosmismos
quepuedenserdescritosporlosautmatasfinitos.Elestilodeestasexpresiones
difieresignificativamentedeldelasgramticas.Veamosacontinuacinunejemplo
simpledeesto.LaexpresinregularestiloUNIX[AZ][az]*[][AZ][A
Z]representapalabrasquecomienzanporunaletramaysculaseguidadeun
espacioydedosletrasmaysculas.Estaexpresinrepresentapatronesdetextoque

podrancorresponderseconelnombredeunaciudadyunestado,porejemplo
IthacaNY.Encambionoreconoceranombresdeciudadesformadosporvarias
palabras,comoporejemploPaloAltoCA,quespodraserreconocidaporla
expresinmscompleja[AZ][az]*([][AZ][az]*)*[][AZ][A
Z]Alinterpretardichasexpresiones,slonecesitamossaberque[AZ]
representaelrangodecaracterescomprendidoentrelasletrasmaysculasAyZ
(esdecir,todaslasletrasmaysculas)yque[]seutilizapararepresentarun
nicocarcterenblanco.Adems,elsmbolodeasterisco(*)representacualquier
nmerodeaparicionesdelaexpresinanterior.Losparntesisseempleanpara
agruparcomponentesdelaexpresin;norepresentancaracteresdeltextoquese
describe.

Capitulo 2
unautmatafinitotieneunconjuntodeestadosysucontrolpasadeunestadoa
otroenrespuestaalasentradasexternas.Unadelasdiferenciasfundamentales
entrelasclasesdeautmatasfinitosessidichocontrolesdeterminista,loque
quieredecirqueelautmatanopuedeencontrarseenmsdeunestadoaunmismo
tiempo,onodeterminista,loquesignificaquespuedeestarenvariosestadosala
vez.Comprobaremosqueaadirelnodeterminismononospermitedefinirningn
lenguajequenopuedaserdefinidomedianteunautmatafinitodeterminista,
aunqueseobtieneunaeficaciasustancialaldescribirunaaplicacinutilizandoun
autmatanodeterminista.Enefecto,elnodeterminismonospermiteprogramar
solucionesparalosproblemasutilizandounlenguajedealtonivel.Entoncesel
autmatafinitonodeterministasecompilamedianteunalgoritmo,enunautmata
deterministaquepuedeejecutarseenunacomputadoraconvencional.

Notaciones ms simples para los AFD


.Haydisponiblesdosnotacionesmscmodasparadescribirlosautmatas:
Undiagramadetransiciones,
Unatabladetransiciones,queesunaordenacintabulardelafuncin ,lacual
especificaelconjuntodeestadosyelalfabetodeentrada.

Diagramas de transiciones
UndiagramadetransicionesdeunAFDA=(Q, , ,q0,F)esungrafodefinido
comosigue:
a)ParacadaestadodeQ,existeunnodo.
b)ParacadaestadoqdeQycadasmbolodeentradaade ,sea (q,a)=p.
Entonces,eldiagramadetransicionestieneunarcodesdeelnodoqhastaelnodop,
etiquetadocomoa.Siexistenvariossmbolosdeentradaquedanlugara
transicionesdesdeqhastap,entonceseldiagramadetransicionespuedetenerun
nicoarcoetiquetadoconlalistadeestossmbolos.
c)Existeunflechadirigidaalestadoinicialq0,etiquetadacomoInicio.Estaflecha
notieneorigenennningnnodo.
d)Lonodoscorrespondientesalosestadosdeaceptacin(losquepertenecenaF)

estnmarcadosconundoblecrculo.LosestadosquenopertenecenaFtienenun
crculosimple.

Definicin de autmata finito determinista


Unautmatafinitodeterministaconstade:
Unconjuntofinitodeestados,amenudodesignadocomoQ.
Unconjuntofinitodesmbolosdeentrada,amenudodesignadocomo .
Unafuncindetransicinquetomacomoargumentosunestadoyunsmbolode
entradaydevuelveunestado.Lafuncindetransicinsedesignahabitualmente
como .Ennuestrarepresentacingrficainformaldelautmata, seha
representamediantearcosentrelosestadosylasetiquetassobrelosarcos.Siqesun
estadoyaesunsmbolodeentrada,entonces (q,a)eselestadoptalqueexisteun
arcoetiquetadoaquevadesdeqhastap.2
Unestadoinicial,unodelosestadosdeQ.
UnconjuntodeestadosfinalesodeaceptacinF.ElconjuntoFesunsubconjunto
deQ.

Definicin de autmata finito no determinista


Acontinuacinpresentamoslasnocionesformalesasociadasconlosautmatas
finitosnodeterministaseindicamoslasdiferenciasentrelosAFDyAFN.UnAFN
serepresentaesencialmentecomounAFD:
A=(Q, , ,q0,F)
donde:
Qesunconjuntofinitodeestados.
esunconjuntofinitodesmbolosdeentrada.
q0,unelementodeQ,eselestadoinicial.
F,unsubconjuntodeQ,eselconjuntodeestadosfinales(odeaceptacin).
,lafuncindetransicin,esunafuncinquetomacomoargumentosunestadode

Qyunsmbolodeentradade ydevuelveunsubconjuntodeQ.Observequela
nicadiferenciaentreunAFNyunAFDseencuentraeneltipodevalorque
devuelve :unconjuntodeestadosenelcasodeunAFNyunnicoestadoenel
casodeunAFD.

Вам также может понравиться