trabajo de mate discretas

18
Instituto Politécnico Nacional Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Culhuacan Nombres: Cárdenas guilar Noé !on"ále" #o rres $osé ntonio  %amíre" Monroy Manuel !rupo: &C'( Materia: Matemáticas discretas Pro)* $osé +uis del %io 'a lde" Matemáticas Discretas Página 1

Upload: manuel-ramirez-monroy

Post on 06-Jan-2016

217 views

Category:

Documents


0 download

DESCRIPTION

Introduccion

TRANSCRIPT

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!

7/17/2019 Trabajo de Mate Discretas

http://slidepdf.com/reader/full/trabajo-de-mate-discretas 18/18

Matemáticas Discretas Página 1#