trabajo de mate discretas
DESCRIPTION
IntroduccionTRANSCRIPT
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 1/18
Instituto Politécnico Nacional
Escuela Superior de Ingeniería Mecánica y Eléctrica
Unidad Culhuacan
Nombres: Cárdenas guilar Noé
!on"ále" #orres $osé ntonio
%amíre" Monroy Manuel
!rupo: &C'(
Materia: Matemáticas discretas
Pro)* $osé +uis del %io 'alde"
Matemáticas Discretas Página 1
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 2/18
,ndice
!ra)os---------------------------------.
rboles--------------------------------***/
!ra)os dirigidos-----------------------------0
+engua1es )ormales---------------------------(
!ramáticas y lengua1es-------------------------*2
#ipos de datos-----------------------------33
'eri)icaci4n de programas-----------------------***3.
Computabilidad----------------------------*3/
Matemáticas Discretas Página 2
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 3/18
Grafo.
Un gra)o es un con1unto5 no 6acío5 de ob1etos llamados 6értices 7o nodos8 y una
selecci4n de pares de 6értices5 llamados aristas 7edges en inglés8 9ue pueden ser
orientados o no* #ípicamente5 un gra)o se representa mediante una serie depuntos 7los 6értices8 conectados por líneas 7las aristas8*
Un gra)o es una pare1a de con1untos ! 7'5 85 donde ' es el con1unto de
6értices5 y es el con1unto de aristas5 este ;ltimo es un con1unto de pares de la
)orma 7u5 68 tal 9ue 5 tal 9ue * Para simpli)icar5 notaremos la
arista 7u5 68 como ab*
En teoría de gra)os5 s4lo 9ueda lo esencial del dibu1o: la )orma de las aristas no
son rele6antes5 s4lo importa a 9ué 6értices están unidas* +a posici4n de los
6értices tampoco importa5 y se puede 6ariar para obtener un dibu1o más claro*
Muchas redes de uso cotidiano pueden ser modeladas con un gra)o: una red de
carreteras 9ue conecta ciudades5 una red eléctrica o la red de drena1e de una
ciudad*
Subgrafo.
Un subgrafo de un gra)o ! es un gra)o cuyos con1untos de 6értices y aristas son
subcon1untos de los de !* Se dice 9ue un gra)o ! contiene a otro gra)o < si alg;n
subgra)o de ! es < o es isomor)o a < 7dependiendo de las necesidades de la
situaci4n8* El subgrafo inducido de ! es un subgra)o != de ! tal 9ue contiene
todas las aristas adyacentes al subcon1unto de 6értices de !*
Matemáticas Discretas Página 3
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 4/18
Definición:
Sea ! 7'5 8* !> 7'>5 >8 se dice subgra)o de ! si:
3? '> '
&? =
.? 7'>5 >8 es un gra)o
Si !>7'>5>8 es subgra)o de !5 para todo 6 ! se cumple gr 7!>568@ gr 7!5
68
!& es un subgra)o de !*
Grafos simples.
Un gra)o es simple si s4lo 3 arista AUE une dos 6értices cuales9uiera* Esto es
e9ui6alente a decir 9ue una arista cual9uiera es la ;nica 9ue une dos 6értices
especí)icos*
Un gra)o 9ue no es simple se denomina Multigrá)ica o !ra)o m;ltiple*
Brboles*
Un gra)o 9ue no tiene ciclos y 9ue conecta a todos los puntos5 se llama un árbol*
En un gra)o con n 6értices5 los árboles tienen eactamente n - 1 7aristas85 y hay nn-
2 árboles posibles* Su importancia radica en 9ue los árboles son gra)os 9ue
conectan todos los 6értices utili"ando el menor n;mero posible de aristas* Un
importante campo de aplicaci4n de su estudio se encuentra en el análisis
)ilogenético5 el de la )iliaci4n de entidades 9ue deri6an unas de otras en un
proceso e6oluti6o5 9ue se aplica sobre todo a la a6eriguaci4n del parentesco entre
Matemáticas Discretas Página 4
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 5/18
especiesD aun9ue se ha usado también5 por e1emplo5 en el estudio del parentesco
entre lenguas*
Dígrafo.
ígra)o 7gra)o dirigido8: cada arista se le asigna un orden en sus etremos5 en el
dibu1o se indica con una )lecha* +os pares 9ue )orman los elementos de E están
ordenados*
Es un gra)o en el cual el con1unto de las aristas esta )ormado por pares
ordenados del con1unto de 6értices '* +o llamaremos también gra)o dirigido*
Esto asigna un orden en los etremos de cada arista* icho orden se indica en el
diagrama con una )lecha y llamaremos origen o inicial al primer 6értice de unaarista y )in o terminal al segundo*
Un gra)o dirigido es un gra)o cuyas aristas son todas dirigidas 7arcos8
plicaciones: transporte5 planiFcaci4n de tareas5 cadena alimentar5 caliFcaci4n de
sitios GGG5 cadenas de dependencia* * *
Matemáticas Discretas Página 5
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 6/18
e la misma manera 9ue los no dirigidos5 les podemos notar: ! 7'5 8
Un arco 765 G8 di)erente de 7G5 68 Si ! es simple5 HH @ H' H 7H' H 38 Muchos gra)os
posibles con H' H aristas: & H' H 7H' H38 El gra)o in6erso es el gra)o 9ue se obtiene
al cambiar la direcci4n de todos los arcos
• !rado entrante g J 768: para un 6értice 65 es el n;mero de arcos 9ue lle6an
a este 6értice• !rado saliente g 768: para un 6értice5 es el n;mero de arcos 9ue salen de
este 6értice• Una )uente es un 6értice 6 tal 9ue g J 768 K 7no se puede alcan"ar desde
cual9uier otro 6értice8• Un po"o es un 6értice 6 tal 9ue g 768 K 7no se puede alcan"ar ning;n
6értice desde este8
!ra)os dirigidos: representaci4n
Con matri" de adyacencia:
Lenguaes formales.
En matemáticas5 l4gica5 y las ciencias computacionales5 un lengua1e )ormal es un
con1unto de palabras 7cadenas de caracteres8 de longitud )inita )ormadas a partir
de un al)abeto 7con1unto de caracteres8 )inito*
In)ormalmente5 el término lengua1e )ormal se utili"a en muchos contetos 7en las
ciencias5 en derecho5 etc*8 para re)erirse a un modo de epresi4n más cuidadoso
Matemáticas Discretas Página 6
Ya no tenemos
simetría. . . Y AT
corresponde algrafo inerso
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 7/18
y preciso 9ue el habla cotidiana* <asta )inales de la década de 3LLK5 el consenso
general era 9ue un lengua1e )ormal5 en el sentido 9ue trata este artículo5 era en
cierto modo la 6ersi4n límite de este uso antes mencionado: un lengua1e tan
)ormali"ado 9ue podía ser usado en )orma escrita para describir métodos
computacionales* Sin embargo5 hoy en día5 el punto de 6ista de 9ue la naturale"a
esencial de los lengua1es naturales 7sin importar su grado de )ormalidad en el
sentido in)ormal antes descrito8 di)iere de manera importante de a9uella de los
6erdaderos lengua1es )ormales 7en el sentido estricto de este artículo8 gana cada
6e" más adeptos*
lgunos e1emplos 6arios de lengua1es )ormales:
O El con1unto de todas las palabras sobre a5 bQ
O El con1unto an: n es un n;mero primoQ
O El con1unto de todos los programas sintácticamente 6álidos en un determinado
lengua1e de programaci4n
O El con1unto de entradas para las cuales una particular má9uina de #uring se
detiene*
+os lengua1es )ormales pueden ser especi)icados en una amplia 6ariedad de
maneras5 como:
O Cadenas producidas por una gramática )ormal 76er $erar9uía de ChomsRy8
O Cadenas producidas por una epresi4n regular
O Cadenas aceptadas por un aut4mata5 tal como una má9uina de #uring*
'arias operaciones pueden ser utili"adas para producir nue6os lengua1es a partir de otros dados*
Sup4ngase 9ue +3 y +& son lengua1es sobre un al)abeto com;n*
Entonces:
Matemáticas Discretas Página !
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 8/18
O +a concatenaci4n +3+& consiste de todas a9uellas palabras de la )orma 6G
donde 6 es una palabra de +3 y G es una palabra de +&
O +a intersecci4n +3+& consiste en todas a9uellas palabras 9ue están contenidas
tanto en +3 como en +&
O +a uni4n +3H+& consiste en todas a9uellas palabras 9ue están contenidas ya sea
en +3 o en +&
O El complemento T+3 consiste en todas a9uellas palabras producibles sobre el
al)abeto de +3 9ue no están ya contenidas en +3
O El cociente +3+& consiste de todas a9uellas palabras 6 para las cuales eiste
una palabra G en +& tales 9ue 6G se encuentra en +3
O +a estrella +3V consiste de todas a9uellas palabras 9ue pueden ser escritas de
la )orma W3W&***Wn donde todo Wi se encuentra en +3 y n X K* 7N4tese 9ue
esta de)inici4n incluye a épsilon en cual9uier +V8
O +a intercalaci4n +3V+3 consiste de todas a9uellas palabras 9ue pueden ser
escritas de la )orma 63G36&G&***6nGn son palabras tales 9ue la concatenaci4n
63***6n está en +35 y la concatenaci4n G3***Gn está en +&
Gramáticas ! Lenguaes.
Gramáticas.
Una gramática para estructura de epresiones ! es una /?ada 7'5 S5 6o8 donde 'es un con1unto )inito5 S es un subcon1unto de ' "' SK5 y a es una relaci4n )inita
en V '* +a idea es 9ue S es5 como ya se ha anali"ado5 el con1unto de todas las
YpalabrasZ permitidas en el lengua1e5 y ' consta de S además de algunos otros
símbolos* El elemento K 6 de ' es un punto de partida para las sustituciones5 9ue
serán anali"adas en bre6e* Por ;ltimo la relaci4n a sobre 'V especi)ica los
Matemáticas Discretas Página #
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 9/18
reempla"os permisibles5 en el sentido de 9ue5 si Ga G> se puede reempla"ar Gcon
G> siempre 9ue apare"ca la cadena G5 ya sea sola o como subcadena de alguna
otra cadena*
#radicionalmente5 a la proposici4n Ga G> se le llama producci4n de !* Entonces5 Gy G> son los lados i"9uierdos y derecho de la producci4n5 respecti6amente*
Sup4ngase 9ue ninguna producci4n de ! tiene a la cadena 6acía $ como lado
i"9uierdo* Es la a relaci4n de producci4n de !*
Esto parecería complicado5 pero en realidad es una idea sencilla5 como muestran
los siguientes e1emplos*
Si ! 7'5 S5 6o o8 es una gramática para la estructura de oraciones5 S es el
con1unto de símbolos terminales y N ' [ S es el con1unto de símbolos no
termina obsér6ese 9ue ' S % N
E1emplo 3* Sea S $uan5 $ulia5 mane1a5 corre5 descuidadamente5 rápido5
)recuentemente85 N oraci4n5 su1eto5 predicado5 6erbo5 ad6erbio8 y sea 'S % N*
Sea K 6 oraci4n5 y sup4ngase 9ue la relaci4n a en 'V 9ueda descrita
enumerando todas las producciones como sigue*
\raci4n a su1eto predicado
Su1eto a $uan
Su1eto a $ulia
Predicado a 6erbo ad6erbio
'erbo a mane1a
'erbo a corre
d6erbio a descuidadamente
d6erbio a rápido
d6erbio a )recuentemente
Matemáticas Discretas Página &
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 10/18
El con1unto S contiene todas las palabras permitidas en el lengua1eD N consta de
las palabras 9ue describen partes de la oraci4n5 pero 9ue en realidad no están
contenidas en el lengua1e*
Se a)irma 9ue la oraci4n Y$ulia mane1a )recuentementeZ5 9ue será denotada por G5es una oraci4n permisible o con sintais correcta5 de acuerdo con las reglas de
este lengua1e* Para demostrar esto5 considérese la siguiente serie de cadenas en
'V* \raci4n*
Su1eto predicado
$ulia predicado
$ulia 6erbo ad6erbio
$ulia mane1a ad6erbio
$ulia mane1a )recuentemente
hora bien5 cada una de las cadenas es consecuencia de la anterior5 utili"ando
una producci4n para reali"ar una sustituci4n parcial o completa* En otras palabras5
cada cadena está relacionada con la siguiente cadena por la relaci4n'5 de modo
9ue oraci4n ]' G* Por de)inici4n5 G tiene una sintais correcta ya 9ue5 en estee1emplo5 y es una oraci4n* En las gramáticas para la estructura de oraciones5 la
b;s9ueda de una sintais correcta se re)iere s4lo al proceso mediante el cual al
)ormar una oraci4n se procura 9ue ésta sea correcta gramaticalmente hablando5 y
nada más*
<ay 9ue obser6ar 9ue la serie de sustituciones 9ue producen una oraci4n 6álida5
serie 9ue es llamada deducci4n 7o deri6aci4n8 de la oraci4n5 no es ;nica*
Lenguaes.
Se considera el con1unto VS 9ue consta de todas las cadenas )initas de elementos
del con1unto S* Eisten muchas interpretaciones posibles de los elementos de VS5
seg;n la naturale"a de S* Si se piensa en S como un con1unto de YpalabrasZ5
Matemáticas Discretas Página 1(
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 11/18
entonces VS se puede considerar como la colecci4n de todas las YoracionesZ
posibles )ormadas con palabras de S* Por supuesto5 tales YoracionesZ no
necesariamente tienen sentido ni una estructura e6idente* Se puede pensar un
lengua1e como una especi)icaci4n completa5 al menos en principio5 de tres cosas*
En primer lugar5 debe eistir un con1unto S con todas las YpalabrasZ 9ue se
consideran parte del lengua1e* En segundo lugar5 hay 9ue designar un subcon1unto
de SZ como el con1unto de las Yoraciones con construcci4n adecuadaZ en el
lengua1e*
Sup4ngase5 a manera de e1emplo5 9ue S consta de todas las palabras del
espa^ol* +a especi)icaci4n de una oraci4n con construcci4n adecuada implica
todas las reglas de la gramática espa^olaD el signi)icado de una oraci4n 9ueda
determinado por esta construcci4n y por el signi)icado de las palabras*
+a oraci4n YIba a la tienda $uan $orge a cantarZ
Es una cadena en SZ pero no una oraci4n con una construcci4n adecuada* +a
disposici4n de los sustanti6os y los 6erbos no es 6álida*
"ipos de datos.
En los lengua1es de programaci4n y en otros programas utilitarios tales como una
planilla de cálculos5 un tipo de dato es un atributo de una parte de los datos 9ue
indica al ordenador 7yo al programador8 algo sobre la clase de datos sobre los
9ue se 6a a procesar* Esto incluye imponer restricciones en los datos5 como 9ué
6alores pueden tomar y 9ué operaciones se pueden reali"ar* #ipos de datos
comunes son: enteros5 n;meros de coma )lotante 7decimales85 cadenas
al)anuméricas5 )echas5 horas5 colores5 coches o cual9uier cosa 9ue se nos ocurra*
Por e1emplo5 en $a6a5 el tipo _int_ representa un con1unto de enteros de .& bitscuyo rango 6a desde el ?&*3/`*/2.*(/2 al &*3/`*/2.*(/`5 así como las
operaciones 9ue se pueden reali"ar con los enteros5 como la suma5 resta y
multiplicaci4n* +os colores5 por otra parte5 se representan como tres bytes
denotando la cantidad de ro1o5 6erde y a"ul5 y una cadena de caracteres
representando el nombre del colorD las operaciones permitidas incluyen la adici4n
Matemáticas Discretas Página 11
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 12/18
y sustracci4n5 pero no la multiplicaci4n* ste es un concepto propio de
la in)ormática5 más especí)icamente de los lengua1es de programaci4n5 aun9ue
también se encuentra relacionado con nociones similares de las matemáticas y
la l4gica*
"ipos simples.
#ipo \rdinal5 #ipos prede)inidos5 #ipo de dato entero5 #ipo de dato carácter5 #ipo
de dato l4gico5 #ipos de)inidos por el usuario5 #ipo de dato enumerado5 #ipo de
dato subrango5 #ipo No \rdinal5 #ipo de dato real5 #ipo de dato cronol4gico5 #ipo
de dato puntero
"ipos de datos primiti#os.
+os tipos de datos hacen re)erencia al tipo de in)ormaci4n 9ue se traba1a5 donde la
unidad mínima de almacenamiento es el dato5 también se puede considerar como
el rango de 6alores 9ue puede tomar una 6ariable durante la e1ecuci4n del
programa*
#\S P%IMI#I'\S:
C%C#E%
NUME%IC\
+\!IC\S7\\+EN\S8
"ipos $ompuestos.
#ipos compuestos5 #upla5 'ector 7programaci4n8
"ipos obeto.
\b1etos 7programaci4n orientada a ob1etos85 Clase 7in)ormática8
Matemáticas Discretas Página 12
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 13/18
%erificación de programas.
Uno de los en)o9ues para determinar si un programa es correcto es establecer una acti6idad de testing* Esta consiste en seleccionar un con1unto de datos de
entrada para determinar si los resultados producidos por el programa con esos
datos coinciden o no con los 6alores esperados* Para asegurar 9ue el programa
es correcto se debería anali"ar el mismo con todos los 6alores posibles de los
datos de entrada* Pero esto es imposible cuando este con1unto es in)inito* Por eso5
el testing s4lo puede mostrar la presencia de errores y no su ausencia* \tro
en)o9ue5 la prueba )ormal de programas5 es una técnica 9ue se basa en el cálculo
de predicados* Primero5 se debe describir el comportamiento de cada instrucci4n
del lengua1e )ormalmente* Es decir5 se debe de)inir la semántica de un lengua1e de
programaci4n en términos de )4rmulas l4gicas* Para probar un programa5 se debe
epresar su semántica en términos de )4rmulas l4gicas y luego probar 9ue el
programa signi)ica lo mismo 9ue su especi)icaci4n* Una prueba )ormal de un
programa asegura 9ue el programa es correcto con respecto a una especi)icaci4n
para todas las entradas* <ay dos problemas importantes con la prueba )ormal de
programas: 38 la manipulaci4n l4gica puede ser tediosa y propensa a erroresD &8 laprueba solamente muestra 9ue el programa implementa la especi)icaci4n
correctamente* No hay certe"a de 9ue la especi)icaci4n describe lo 9ue el usuario
realmente desea* e)inici4n: Si un programa usa n 6ariables 735 &5***5 n8 el
estado s es una #upla de 6alores 735 &5***5 n8 donde i es el 6alor de la 6ariable
i*
E1emplo: ado el estado s 75 y8 7`5 285 el resultado de e1ecutar la sentencia de
asignaci4n
: &VyJ3 es el estado s> 75 y8 73`5 28
Matemáticas Discretas Página 13
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 14/18
Una 6ariable se usa en un programa para describir una posici4n de memoria 9ue
puede contener 6alores di)erentes en di)erentes estados* Una manera de describir
un con1unto de estados es utili"ando )4rmulas del cálculo de predicados*
e)inici4n: Sea U el con1unto de todos los posibles estados del programa y sea S) U* Se de)ine PS5 el predicado característico de S5 tal 9ue S s> " S PS7s>8Q*
Es decir5 es el predicado 9ue solamente es satis)echo por los estados 9ue
pertenecen al con1unto S* Por e1emplo5 en 6e" de decir 9ue la sentencia : &VyJ3
trans)orma el estado s 75 y8 en el estado s> 7&VyJ35 y85 de)iniremos predicados
P75 y8 y P>7>5 y>8 tal 9ue si P75 y8 es 6erdadero en el estado s entonces P>7>5 y>8
será 6erdadero después de e1ecutar la sentencia : &VyJ3* E1emplo: Se 9uiere
probar @ ` después de e1ecutar : &VyJ3* Esto es 6erdadero si &VyJ3 @ ` antesde e1ecutar la sentencia5 es decir y @ .*
y @ .Q : &VyJ3 @ `Q
y @ .Q y @ ̀ Q se denominan aserciones*
e)inici4n: Una aserci4n es una )4rmula del cálculo de predicados ubicada en un
programa5 9ue es 6erdadera cada 6e" 9ue el programa pasa por ese punto*
e)inici4n: PQ S AQ5 donde P y A son aserciones llamadas pre?condici4n y post?
condici4n respecti6amente y S es un )ragmento de programa5 se interpreta como
sigue: si la e1ecuci4n de S empie"a en un estado caracteri"ado por P y S termina5
entonces terminará en un estado caracteri"ado por A* S se dice parcialmente
correcto con respecto a P y A* Si además se garanti"a 9ue S termina5 S es
totalmente correcto con respecto a P y A*
PQ S AQ se denomina especi)icaci4n )ormal de S*
$omputabilidad.
+a #eoría de la Computabilidad es la parte de la computaci4n 9ue estudia
los problemas de decisi4n 9ue pueden ser resueltos con un algoritmo o
Matemáticas Discretas Página 14
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 15/18
e9ui6alentemente con una má9uina de #uring* +a teoría de la Computabilidad se
interesa a cuatro preguntas:
Aué problemas puede resol6er una má9uina de #uring
Aué otros )ormalismos e9ui6alen a las má9uinas de #uring
Aué problemas re9uieren má9uinas más poderosas
Aué problemas re9uieren má9uinas menos poderosas
&roblemas no computables.
+a humanidad conoce y utili"a una gran di6ersidad de algoritmos: se sabe 9ue los
ordenadores pueden controlar el trá)ico aéreo5 líneas de producci4n y plantas
nuclearesD eisten también algoritmos para elaborar un postre de chocolate5
imprimir la )actorial de un n;mero entero o decidir cuál es el mayor de dos
n;meros* esde la ni^e"5 el método de ense^an"a se basa en algoritmos: sumas5
restas5 multiplicaciones y di6isiones 9ue no son más 9ue una secuencia de pasos
9ue hay 9ue dar sobre unos datos de entrada* Sin embargo5 eisten determinados
problemas 9ue no pueden ser resueltos por ning;n algoritmo* Se trata deproblemas intrínsecamente tan di)íciles 9ue5 en principio5 nunca podrán ser
resueltos* icho esto5 parece ob6io 9ue las computadoras no los puedan
representar ni resol6er de modo alguno* En realidad5 el n;mero de cosas 9ue
pueden calcularse o computarse es in)initamente menor 9ue las 9ue e)ecti6amente
pueden calcularse* Esto es5 ffes más lo 9ue es computable 9ue lo 9ue no lo es
7$uan Miguel +e4n %o1as5 &KK&8*
Un problema no computable: El Problema de la terminaci4n*
Para reali"ar un acercamiento más pr4imo a la no computabilidad de ciertos
problemas se ilustra a continuaci4n el tratamiento de un e1emplo práctico* Es bien
sabido por los integrantes de la comunidad in)ormática5 pro)esionales y
Matemáticas Discretas Página 15
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 16/18
entusiastas de la programaci4n el gra6e problema 9ue suponen los bucles in)initos
en los programas in)ormáticos* Estos programas son secuencias de c4digo cuya
e1ecuci4n 9ueda inmersa en una serie de 4rdenes 9ue son reiteradas
inde)inidamente* +a detecci4n preco" de estos errores es a menudo una tarea muy
costosa a e)ectos econ4micos y temporales* Por ello5 sería sumamente
interesante la elaboraci4n de un algoritmo 9ue )uese capa" de detectar bucles
in)initos en secuencias de c4digo 7otros algoritmos8 de entrada*
Se supone 9ue es deseable elaborar un algoritmo llamado Tester 9ue 6a a probar
si una secuencia de c4digo tiene o no alg;n bucle in)inito5 esto es5 si para
cual9uier dato de entrada5 el algoritmo termina o5 por el contrario5 permanece en
e1ecuci4n inde)inidamente* Este algoritmo re9uiera5 para ello5 un parámetro de
entrada P 9ue es la secuencia de c4digo 9ue se desea probar5 y un con1unto de
datos de entrada para probar dicho c4digo 9ue será E* +a salida )inal del algoritmo
es un 6alor booleano cierto si el algoritmo a probar se e1ecuta correctamente y
falso si se detectan bucles in)initos* +a llamada al algoritmo Tester 6a a 9uedar
como sigue: Tester (P, E)*
Como se ha puesto la premisa de 9ue los datos de entrada pueden ser
cuales9uiera5 no es necesario 9ue se le proporcione a nuestro algoritmo la entradade datos E5 ya 9ue estos podrían ser generados aleatoriamente en tiempo de
e1ecuci4n* Por ello5 la llamada al algoritmo 6a a 9uedar: Tester (P)5 siendo P la
secuencia de c4digo o algoritmo cuya terminaci4n se desea comprobar*
Suponiendo 9ue eiste el algoritmo Tester (P) no hay nada 9ue impida crear un
nue6o algoritmo llamado Amparo ()* Este algoritmo 6a a hacer uso del
método Tester y se implementa en él el siguiente c4digo pseudo CJJ:
'oid mparo 78
i) 7#ester 7P88 Ghile 738D
else print) 7Yin del algoritmo MP%\j D8Z8D
Matemáticas Discretas Página 16
7/17/2019 Trabajo de Mate Discretas
http://slidepdf.com/reader/full/trabajo-de-mate-discretas 17/18
Q
Puede 6erse 9ue el c4digo de mparo es sencillo5 si el algoritmo no detecta bucles
in)initos en P5 mparo 9ueda sumido en un bucle in)inito* Por el contrario5 si #ester
detecta bucles in)initos 7no hay terminaci4n correcta en P85 mparo escribe un
mensa1e por pantalla y )inali"a correctamente* +legados a este punto5 no hay
ninguna condici4n 9ue prohíba cambiar el parámetro de entrada en la llamada a
#ester* ado 9ue el algoritmo de entrada puede ser cual9uiera5 es posible llamar a
#ester con el c4digo del propio mparo y 9ue compruebe su correcta terminaci4n*
'oid mparo 78
i) 7#ester 7mparo88 Ghile 738D
else print) 7Yin del algoritmo MP%\j D8Z8D
Q
la 6ista de este c4digo5 podemos llegar a la conclusi4n siguiente: YSi amparo
)inali"a correctamente5 entonces5 el propio mparo 9ueda sumido en un
bucle in)inito y N\ IN+Ik* Por el contrario5 si en amparo se detectan buclesin)initos 7no termina correctamente85 el mismo mparo muestra un mensa1e por
pantalla y IN+Ik correctamente*Z
Esto constituye5 a todas luces5 una doble contradicci4n 9ue s4lo puede
solucionarse admitiendo 9ue el algoritmo mparo no puede eistir* 5 dado 9ue la
;nica precondici4n 9ue se puso para la eistencia de mparo )ue la eistencia de
#ester5 tampoco es posible la eistencia de #ester* Se ha demostrado5 por tanto5
9ue no eiste un algoritmo 9ue sea capa" de probar la terminaci4n*
Matemáticas Discretas Página 1!