Técnicas de demostración + • • • • • • • • • • • • •
Fecho de recepción: enero 30 de 2007. Fecho de aceptación: marzo 5 de 2007.
1 Magíster en Ingeniería de Sistemas.
Docente investigador, Universidad
libre.
2 Especialista en software para
redes y telemótica. Dacente
investigadora, Universidad Libre.
• •
RESUMEN
• •
Ing. José Fabio Dóvila Escobar' Ing. Luz Myriam Padilla Gil"
El diseño de algoritmos es un actividad mental que la llevan a cabo profesionales de diferentes áreas, particularmente matemáticos e ingenieros. Es considerada
una de las actividades intelectuales más difíciles, particularmente cuando se tiene
que demostrar que el algori tmo es eficiente y correcto. La herramienta necesaria
y suficiente para verificar la correct itud de un a lgoritmo es el Principio de Inducción Matemática (PIM). El algoritmo es la materia prima fundamental para el ingeniero y en especia l para el de sistemas; con ellos se construyen programas
y con programas se construye software comple jo aplicable a todas las campos de
lo actividad humana.
Se muestra la construcción de un a lgoritmo dado en forma de pseudo código y apoyados
en el Principio de Inducción Matemática realizamos la comprobación del mismo.
INTRODUCCiÓN
El método deductivo, muy usado en matemática, obedece a la siguiente idea: l/A partir de un cierto conjunto de axiomas aceptados sin demostración y de reglas
lógicas no contradictorias, se deducen otros enunciados llamados teoremas
combinando los axiomas y respetando en cada etapa las reglas lógicas".
Otro método para demostrar resultados generales que dependen en algún sentido de los números naturales es conocido con el nombre de Inducción Matemático.
Esta dependencia de los números naturales significa: se sabe que una determinada
afirmación es verdadera para algunos casos particulares y surge la pregunta : ¿Dicha
afirmación sigue siendo verdadera paro los infinitos números naturales restantes?
Existen muchas afirmaciones que sólo son válidas para un número finito de casos y
en consecuencia son falsas para un número infinito de situaciones.
El método de inducción matemótica se apl ica cuando:
i . sabemos la respuesta al principio.
ii. sabemos cómo determinar la respuesto en una etapa a partir de la respuesto en
la etapa anterior, y
111 . tenemos una expectativa (una ideo) de la respuesta general.
el- ACADÉMICO /' -----_/'
l . ¿Qué es una
demostración?
Una demostración de un teorema
matemáti co es uno sucesión de posos
que conducen o la conclusión deseado. Las reglas que d ichas sucesiones de
pasos deben seguir fue ron hechas
explícitas cuando fue forma lizada lo
lógica al principio de este siglo, y no
han cambiado desde entonces. Estas
reglas pueden ser usados para refutar
una demostración con errores lógicos;
sin embargo, no pueden ser usadas
para encontrar una demostración de
la cua l no se tenga una conjetu ra
matemótica expresada en términos
de una proposición, lo cual significo
que dado un argumento éste debe ser
convincente para que lo proporción
por demostrar sea verdadero. La lógica
está relacionada con lo que hoce
convincentes a los argumentos.
2 . Principio de Inducción Matemática
De las herramientas matemáticas
básicas útiles en la a lgoritmia, quizá
no haya ninguno más importante que
lo inducción matemática. No sólo
nos permite demostrar propiedades
interesantes acerca de la corrección y
eficiencia de los a lgoritmos, sino que
además puede incluso uti lizarse para
determinar qué propiedades es preciso
probar. La inducción matemótico se
emplea cada vez mós por los expertos
en computación.
La inducción matemático es una técnica
de demostración, la cual se puede
definir de la siguiente formo :
Suponga que se tiene una función
proporcional P(n) cuyo dominio de
discu rso es el conjunto de los números
naturales, además asumo que:
a) Paso Base. P(l) es ve rdodero, el
cual es fó cil de calcular.
b) Hipótesis inductiva . Suponga
verdodero para un k el cuol
pertenece o los nú meros naturales,
entonces P(k) se debe asumir
ve rda dero .
e) Verificación . Si P( k) es verdadero
se debe comprobar para el
siguiente término, es decir P(k + 1) .
Por lo tanto se debe concluir que
P(n) es verda dero para todo n en
los naturales .
A continuación se desarrollará un
e jercicio de aplicación del PIM.
P(n): 1 + 2 + 3 + 4 + 5 + 6 + + n =
n(n + 1) V N (o) 2 ' n E
3. Demostración
Se puede enunciar de lo fo rma: lo suma
de los n primeros números, donde n se
encuentra en los nú meros naturales.
La anterior propo rción t iene un va lor
de verdod, dependiendo del número
que se le asigne a ni e l cual debe
empezar desde 1, ha sta un valor
determinado.
P(n): 1 + 2 + 3 + 4 + 5 + 6 + ... + n =
n(n +1 ) N 2 ' VnE
al Es un poco co mp lejo realizar su
demostra ción de forma di recta; es
decir p = > q.
Poreso,esút ilel principio de inducción
matemótico, para la verificación de
este t ipo de proposiciones .
Se puede observa rque lo proposición
está escrito en fo rma ascendente,
pero también es pos ible escribir de
forma descendente; esto es :
P(n) n + (n - 1) + (n - 2) + ... + 1
n(n + 1) (b) - --
2
b) Si observamos tenemos escrito, la
mismo expresión, de dos formas:
uno en lo que se encuentro con el
(a) y lo otra con (b).
Ahora si sumamos miembro a
miembro las dos expresiones :
S(n)= 1 + 2 + 3 + 4 + 5 + 6 + ... + n S(n)~ n + (n -1)+ (n - 2)+ (n - 3)+ (n -4)+ ... + 1
2S(n)~ n + (n + 1)+ (n + 1)+ (n + 1)+ (n + 1)+ ... + (n + 1)
Observamos que en lo sumo hoy n sumandos. Esto es: 25(n) = n(n + 1)
Despejando:
Sin ) = n(n + 1) 2
que era lo expresión orig inal.
Lo formo de obtener lo proporción
inicial fue de un matemático céleb re.
Lo idea l es retomor el PIM pa ra
probar secuencias que tengan un
comportamiento de sucesión.
Tomando lo anter ior es pos ible
com probar la co rrección de u n algoritmo
el cual está compuesto por uno serie
de líneas consecutivas; esto le da un
comportamiento de sucesión y es así
como util izamos el PIM para comprobar
su correcto funcionamien to.
Por tan to en el siguiente pseudocód igo
se verá su aplicación. Para entender
un poco esto realizamos el siguiente
ejemplo.
Inicio
Función Averiguar (e)
c ~ O
d ~ O
Mientras que (d <> e) haga
e ~ c+e;
d ~ d+l;
Fin _ Mientras_ que
Escribir( c )
Fin _Función_Averiguar.
Final
A continuación tratamos de encontrar una proposición en términos de n, es
decir P(n) que se obtiene del anterior fragmento de código. Esto, inicialmente es realizar una prueba de escritorio, la cual tiene como fin extraer del código
las variables que intervienen.
Para ello realizamos la sigu iente tobla:
e e d
O 6 O
6 1
12 2
18 3
24 4
30 5
36 6
Ahora realizando un análisis detallado
podemos hacer:
Poro un valor n ;?: O, se tiene:
Co ; O do ;0
d ,; d ,+ 1
d, ; d, + 1
Lo cuál se obtiene la proposición P(n).
P(n): c" ; el" * e . d" ; d,,_, + 1
Con esta proposición la probamos con el PI M, el cual será verdadero para todo n ;,: o.
Paso Base o Básico: Se comprueba para un n = O, en la proposición dada.
P(O): Co = do • e, dado que do = O, entonces Co = O; lo que comprueba el paso base.
Paso Inductivo o paso bacano: Se asume un valor cua lquiera verdadero,
seo este valor k, entonces:
P(k): c, = d, • e, debe ser una tautología.
Paso verificación: En el cual hoy que
comprobar el siguiente valor de k, el cual es Ik + ¡) en la proposición .
Esto es: P(k + 1): c,., = d,., • e
Para comprobar trabajamos el lado izqu ierdo de la igualdad:
Esta igualdad se obtiene porla estructu ra
de control. (Número de veces que se ha ejecutado el ciclo).
Ahora por el paso inductivo se tiene:
P(k): c, = d, • e, reemplazando en resulta:
c" , = Id, • e) + e =
c =le'dJ+e= ,.1
c" , = e(1 + dJ
Pero d, + 1 = 1 • d, = d'+l ' igualdad que se obtiene al comprobar el código dado anteriormente.
Luego P(k + 1): c'+1 = d,,, • e, que era la que se deseaba demostrar.
Dado que cumple con los tres pasos básicos del Principio de Inducción
Matemática, entonces lo proposición:
P(n): Co = do • e, para todo n;,:O, donde n estó en los números naturales
es verdadera.
Nos hemos dado cuenta, que el PIM es útil en la comprobación de un algoritmo dado.
Ahora bien, ya con los análisis
realizados, podemos sin ningún temor
cambiar el nombre del fragmento de código dado anteriormente. Es decir;
Inicio
Función Cuadrado ( e )
c ~ O
d~O
Mientras que ( d < > e) haga
c ~ c+ e;
d ~ d+ l;
Fin _Mientras_que
Escribir( c )
Fin _ Función_Averiguar.
Final.
La función ya tiene un nombre, el cua l es
coherente con la que la función realiza ,
para estar acordes con uno de los
principios de ingeniería de software.
CONCLUSIONES
En Ingeniería de Sistemas, los temas
desarrollados en matemática discreta, fundamentan: el análisis algorítmico
y la complejidad computacional; la
ACADÉMICO
teoría de la computabi lidad y eficiencia
de programas, la teoría de lenguajes
fo rmales, el análisis sintáctico y
su apl icación a la compilación de
exp resio nes y programas; la detección y corrección de errores; por mencionar
algunos .
El Principio de Inducción matemática es
uno herramienta útil para comprobar
que un algoritmo es correcto, es decir
que haga lo que tenga que hacer; por tanto el PIM es un método de demostración.
BIBLIOGRAFíA
BRASSARD G ., P. Bratley. Fundamentas
de Algoritmia. Ed itorial Prentice Ha ll.
2000.
JOHNSONBAUGH Richard.Matemóticas discretas. Sexta edición. Editorial Prentice
Hall. 2005 .
MIGALLÓN Violeta y José Penadés, Matemática Discreta, Edi torial Punte ro
y Chip, 2004.
SCHAUM'S OUTLlNES OF DISCRETE
MATHEMATICS (2nd ed .) Theory and prob lems.
INFOGRAFíA
http://www.saber.u la.ve/db/ssa ber/
ed ocs/ 9 u i as/facu Itad _ in gen ie ria/ com puta cion/I og i ca/I m -u 2. pdf
http://www.use rgioarbo leda.edu .co/
matemo ticos/memorias/memorias 13/ Inducci%C3%B3n%20Matem%C3%A 1
lica%2 Oy%20Fi I os%C3%B3fica . pdf
http:// docencia. ma l . utfsm .eI/ - esaez/ ii i. pdf
Universidad Libre
Top Related