Teoría de Algoritmos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 29

21/3/17 1

Conferencia #1: Introduccin Matemtica Computacional

Fernando Lpez
Departamento de Matemtica General
(6to. piso de la Facultad de Ingeniera Industrial)
[email protected]
21/3/17 2
Conferencia #1: Introduccin Matemtica Computacional

Sumario:
& Estructura del curso (contenidos, actividades, evaluaciones).
& Conceptos preliminares.
& Introduccin a la teora de algoritmos.
Algoritmos numricos.
Algoritmos para resolver problema lgicos.
El problema de las palabras.
Mquinas automticas de clculo.
Algoritmos de mquina (programas).
Necesidad de formalizar el concepto de algoritmo.
21/3/17 3
Conferencia #1: Introduccin Matemtica Computacional

Estructura del curso. 1. Elementos de la teora matemtica de


Contenidos. algoritmos.
Actividades. 2. Mquina de Turing
Evaluaciones. 3. Funciones recursivas, Funciones
booleanas, Redes lgicas..
4. Autmatas (mquinas reconocedoras
de cadenas de smbolos).
5. Lenguajes Formales.
6. Complejidad de algoritmos.
7. Diseo de algoritmos.
8. Modelos abstractos para computacin
paralela.
9. Problemas no tratables.
21/3/17 4
Conferencia #1: Introduccin Matemtica Computacional

Estructura del curso. Discusiones (la primera hora de cada


Contenidos. actividad ser utilizada para discutir
Actividades. aspectos esenciales de la actividad
Evaluaciones. anterior, y se resolvern ejercicios).

Seminarios (los temas 6,7 y 8


sern impartidas ntegramente por los
estudiantes, las exposiciones tendrn
carcter evaluativo!).

Tareas de investigacin (proyectos de


pequeo formato sobre un tema especfico,
tambin pueden ser propuestos por los
estudiantes.
21/3/17 5
Conferencia #1: Introduccin Matemtica Computacional

Conceptos Un problema es una familia de situaciones


preliminares. (reales o abstractas) que no pueden ser
explicadas o descritas satisfactoriamente por
un grupo de personas en un contexto dado.

Por solucin de un problema se entiende todo


proceso que conduzca a una explicacin o
descripcin satisfactoria del mismo.

Una solucin es admisible si puede ser


instrumentada en un marco de tiempo
preestablecido y con un consumo aceptable
de otros recursos.
21/3/17 6
Conferencia #1: Introduccin Matemtica Computacional

Conceptos En un problema se distinguen los elementos


preliminares. siguientes:

Informacin a priori: se refiere al


conocimiento inicial que se tiene sobre el
problema.

Informacin a posteriori: es conocimiento


enriquecido, por la aplicacin de un proceso
de solucin, de la situacin problmica.
21/3/17 7
Conferencia #1: Introduccin Matemtica Computacional

Conceptos Una instancia de un problema es una situacin


preliminares. particular en la que la informacin a priori es
ms completa y puede expresarse mediante
datos y relaciones especficos.

Por algoritmo se entiende la prescripcin


exacta sobre el cumplimiento de cierto
sistema de operaciones, en un orden
determinado, para la resolucin de todas
las instancias de un problema dado.
21/3/17 8
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la En las matemticas los algoritmos ms


Teora de sencillos son las reglas con las que se
Algoritmos. cumplen una u otra de las cuatro
Alg. numricos. operaciones aritmticas en el sistema de
Alg. para resolver numeracin decimal (propuestas por el
problema lgicos. matemtico uzbeko del siglo IX
El problema Al Jwarismi, de quien se deriva el trmino
de las palabras. moderno de algoritmo).
21/3/17 9
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Los algoritmos, en concordancia con los


Teora de cuales la resolucin de los problemas
Algoritmos. planteados se reduce al empleo de las
Alg. numricos. cuatro operaciones aritmticas, se
Alg. para resolver denominan algoritmos numricos.
problema lgicos.
El problema El hecho de que muchas otras operaciones
de las palabras. se puedan reducir a las cuatro operaciones
aritmticas determina la amplia divulgacin
de los algoritmos numricos.
21/3/17 10
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la El Anlisis Numrico es una rama de las


Teora de matemticas modernas donde se elaboran
Algoritmos. procedimientos de reduccin de
Alg. numricos. complejas operaciones (integracin,
Alg. para resolver diferenciacin) a operaciones aritmticas.
problema lgicos.
El problema Peculiaridades de los algoritmos numricos:
de las palabras. La precisin del algoritmo: se exige que se
pueda comunicar el mtodo de cmputo a
otra persona en forma de un nmero finito
de indicaciones sobre cmo actuar en cada
en cada etapa del clculo.
21/3/17 11
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la El amplio empleo del algoritmo: el


Teora de algoritmo es la nica prescripcin que
Algoritmos. determina el proceso de clculo que puede
Alg. numricos. comenzar de diferentes datos iniciales y
Alg. para resolver lleva en todos los casos al resultado
problema lgicos. correspondiente. En otras palabras, el
El problema algoritmo no slo soluciona una
de las palabras. instancia de un problema en particular, sino
todas las instancias del problema.
21/3/17 12
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la El amplio empleo del algoritmo: el


Teora de algoritmo es la nica prescripcin que
Algoritmos. determina el proceso de clculo que puede
Alg. numricos. comenzar de diferentes datos iniciales y
Alg. para resolver lleva en todos los casos al resultado
problema lgicos. correspondiente. En otras palabras, el
El problema algoritmo no slo soluciona una
de las palabras. instancia de un problema en particular, sino
todas las instancias del problema.
21/3/17 13
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Por problemas lgicos se entienden aquellos


Teora de en los que la mayor parte de las operaciones
Algoritmos. que se incorporan en el proceso de solucin
Alg. numricos. no pueden ser reducidas a las operaciones
Alg. para resolver aritmticas.
problema lgicos.
El problema El juego de los 15.
de las palabras. Un tablero cuadrado est dividido en 16
casillas iguales. En 15 cualesquiera de estas
casillas se pueden colocar arbitrariamente
(una en cada casilla) 15 fichas numeradas desde
el 1 hasta el 15. As se forma cierta posicin.
21/3/17 14
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Dos casillas se denominan vecinas si sus


Teora de lmites contienen un segmento comn Dos
Algoritmos. posiciones se consideran contiguas si de una
Alg. numricos. de ellas se puede pasar a la otra por medio de
Alg. para resolver una jugada (una jugada vlida consiste en el
problema lgicos. traslado de una ficha a la casilla vaca desde
El problema alguna de las casillas vecinas).
de las palabras.
El nmero de todas las jugadas posibles es
finito e igual a 16! = 20922789888000 y en
cada posicin solamente es posible un nmero
finito de jugadas (2,3 o 4).
21/3/17 15
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Problema: Para cualesquiera dos posiciones


Teora de A y B aclarar si se puede pasar de una a la
Algoritmos. otra por medio de una sucesin finita de
Alg. numricos. jugadas, o sea se debe demostrar que existe
Alg. para resolver al menos una sucesin de posiciones
problema lgicos.
El problema A1,A2,...,An
de las palabras.
con A=A1 y B=An y tal que
Ai contigua con Ai+1 para i=1..n-1

Ejemplo
21/3/17 16
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Algoritmo trivial: Puede considerarse que la


Teora de cadena no incluye posiciones repetidas ya que
Algoritmos. la subcadena delimitada por dos posiciones
Alg. numricos. idnticas puede ser eliminada y la cadena
Alg. para resolver resultante es an solucin.
problema lgicos. De existir alguna cadena A1,A2,...,An entre
El problema A y B, entonces su longitud no ser mayor
de las palabras. que 16! y las jugadas requeridas no sern ms
de 16!-1. De esta manera se construye un rbol
partiendo de las posiciones contiguas de A y las
posiciones contiguas de las posiciones
contiguas de A y as sucesivamente. El algoritmo
se detiene si se agotan todas las posiciones o se
llega a B en alguna rama del rbol.

Ejemplo
21/3/17 17
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Algoritmo elaborado:


Teora de Se denomina transposicin al cambio de
Algoritmos. lugares de dos fichas en la tabla.
Alg. numricos.
Alg. para resolver Proposicin: De cualesquiera dos posiciones
problema lgicos. A y B se puede pasar de la una a la otra por
El problema medio de traslados y transposiciones.
de las palabras.

Ejemplo
21/3/17 18
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Teorema: Si se puede pasar de la posicin A a


Teora de la posicin B por medio de traslados y un
Algoritmos. nmero par de transposiciones, entonces de A
Alg. numricos. se puede pasar a B tambin mediante traslados.
Alg. para resolver Si se puede pasar de A a B mediante traslados y
problema lgicos. un nmero impar de transposiciones entonces
El problema no se puede pasar de A a B empleando
de las palabras. traslados solamente.

Basndose en este teorema el algoritmo de


solucin se plantea como

Ejemplo
21/3/17 19
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Una generalizacin interesante del problema


Teora de anterior se deriva del problema de Teseo y el
Algoritmos. Minotauro, esta fue planteada por el
Alg. numricos. matemtico e ingeniero norteamericano Claude
Alg. para resolver Shanon en su juguete mecnico denominado
problema lgicos. el ratn en el laberinto. En un lugar de un
El problema laberinto especial se coloca algo que
de las palabras. condicionalmente puede ser llamado un trocito
de queso, en otro lugar, el ratn. El ratn
comienza a errar por el laberinto dando rodeos
hasta que encuentre el queso. Si se vuelve a
soltar el ratn desde el mismo sitio, entonces l
ya llega directamente hasta la comida sin dar
rodeos.
21/3/17 20
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la El problema de las palabras representa una


Teora de generalizacin ampliada del juego de los 15 y de
Algoritmos. las bsquedas de Teseo.
Alg. numricos.
Alg. para resolver Si el juego de los 15 se reduce a bsquedas en un
problema lgicos. laberinto especial que tiene una forma dad fija y
El problema finita, y las bsquedas de Teseo se pueden
de las palabras. realizar en un laberinto finito cualquiera, el
problema de las palabras es en cierto sentido un
problema de bsqueda en un laberinto infinito.

Este problema surgi en la teora de los sistemas


asociativos y la teora de grupos (ambas
disciplinas pertenecen al lgebra Moderna).
21/3/17 21
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Conceptos preliminares


Teora de Se denomina alfabeto a cualquier sistema
Algoritmos. finito de signos diferentes entre s que se
Alg. numricos. denominan letras de este alfabeto.
Alg. para resolver
problema lgicos. Se denomina palabra en un alfabeto dado a
El problema cualquier sucesin de letras de este alfabeto.
de las palabras.
Si la palabra L es parte de la palabra M
entonces se dice que L es una entrada de la
palabra M.

Ejemplo: M= abcbcbab L=bcb


21/3/17 22
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Conceptos preliminares


Teora de Se estudiarn las transformaciones de unas
Algoritmos. palabras en otras por medio de ciertas
Alg. numricos. Sustituciones admisibles que se expresan en
Alg. para resolver forma de
problema lgicos.
El problema P Q (substitucin no orientada) o
de las palabras. P Q, (substitucin orientada)
donde P y Q son palabras en un mismo
alfabeto.
21/3/17 23
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Conceptos preliminares


Teora de El empleo de un cierta substitucin orientada
Algoritmos. P Q a la palabra R es posible en el caso
Alg. numricos. cuando en ella hay aunque sea una sola entrada
Alg. para resolver en la parte izquierda P, esta consiste en la
problema lgicos. substitucin de una entrada tal cualquiera por
El problema la correspondiente parte derecha Q.
de las palabras.
El empleo de la substitucin no orientada
P Q permite tanto el cambio de la entrada de
la parte izquierda por la derecha como el
cambio de la parte derecha por la izquierda.
21/3/17 24
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Conceptos preliminares


Teora de Ejemplo: La substitucin ab bcb se puede
Algoritmos. aplicar a la palabra abcbcbab de cuatro
Alg. numricos. maneras.
Alg. para resolver
problema lgicos. Sin embargo esta substitucin no es aplicable a
El problema la palabra bacb.
de las palabras.
Se denomina clculo asociativo al conjunto de
todas las palabras formadas por un cierto
alfabeto junto con algn sistema finito de
Sustituciones admisibles.
21/3/17 25
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Conceptos preliminares


Teora de La indicacin del alfabeto correspondiente y
Algoritmos. del sistema de sustituciones es suficiente para
Alg. numricos. determinar un clculo asociativo.
Alg. para resolver
problema lgicos. Si la palabra R puede ser transformada en la
El problema palabra S por medio de una sola substitucin
de las palabras. admisible, entonces S tambin puede ser
transformada en R de la misma manera; en este
caso se denominan palabras contiguas.
21/3/17 26
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Conceptos preliminares


Teora de Se denomina cadena deductiva, que lleva de
Algoritmos. R1 a Rn, a la secuencia de palabras
Alg. numricos. R1, R2, ...,Rn
Alg. para resolver tales que R1 y R2 contiguas, R3 y R4
problema lgicos. contiguas,
El problema ..., Rn-1 y Rn contiguas.
de las palabras.
Si existe una cadena deductiva que lleva de la
palabra R a la S, entonces es evidente que
existir tambin una cadena deductiva que
lleve de la palabra S a la R, en tal caso se dice
que R y S son equivalentes y se denota por
R~S
21/3/17 27
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Conceptos preliminares


Teora de Teorema: Que sean P ~ Q; entonces si en
Algoritmos. alguna palabra R existe la entrada de P, como
Alg. numricos. resultado de la substitucin de ella con Q se
Alg. para resolver recibir una palabra equivalente a R.
problema lgicos.
El problema Demostracin: Trivial.
de las palabras.
21/3/17 28
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Conceptos preliminares


Teora de
Algoritmos. Ejemplo: Clculo asociativo de Tseisin.
Alg. numricos. Alfabeto: {a,b,c,d,e}
Alg. para resolver Sustituciones admisibles: acca, adda, bc
problema lgicos. cb, bddb, abacabace, ecaae, edbbe
El problema
de las palabras. 1) abcde (~cadedb)
2) aaabb
21/3/17 29
Conferencia #1: Introduccin Matemtica Computacional

Introduccin a la Formulacin del problema:


Teora de Para cualesquiera dos palabras de un clculo
Algoritmos. dado hay que comprobar si son equivalentes o
Alg. numricos. no.
Alg. para resolver
problema lgicos. Problema limitado:
El problema Para cualesquiera dos palabras R y T en los
de las palabras. lmites de un clculo asociativo dado hay que
determinar si se puede transformar una en otra
por medio de la aplicacin sucesiva no ms de
k veces de sustituciones admisibles (k es un
nmero arbitrario, pero fijado de entemano).

También podría gustarte