Beruflich Dokumente
Kultur Dokumente
Algorítmica III
Contenido
●
Introducción.
●
Problemas e Instancias. Tipos de problemas.
●
Algoritmos. Características de los Algoritmos.
●
Diseño de un algoritmo. Evaluación.
●
Parámetros de Eficiencia.
●
Relación entre Estructura de Datos y el Algoritmo.
●
Algoritmia. Factores Externos de la Algoritmia
●
Relación Espacio – Tiempo.
●
Conclusiones.
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Introducción
●
1946 problemas de ingenierías, ciencias,
administrativas y medicas son resueltos por
algoritmos computacionales.
– Las soluciones son más rápidas debido al
avance tecnológico..
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Introducción
●
El tiempo de procesamiento de un algoritmo,
se duplica cuando se aumenta el número de
parámetros ó variables del problema.
– Problema de n variables con espacio de
soluciones de por 2n soluciones.
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Introducción (Ejemplo)
●
Determinar cual solución es la mejor (máximo
ó menor valor), la cual será la solución óptima.
– Se determina cada una de las soluciones.
– Se determina con un algoritmo de búsqueda
exhaustiva cual es la mejor solución.
●
Sea el algoritmo solución realiza 109
comparaciones por segundo.
N Tiempo de procesamiento
50 2.14 años
51 4.28 años
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Problemas e Instancia
●
Un problema es definido por un conjunto de
hipótesis y / o restricciones, y por lo menos
un objetivo.
– Una instancia de un problema esta dada por un
conjunto ordenado de datos particulares
del problema.
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Problemas e Instancia
●
La clase problema esta dada por el conjunto
de todas las instancias posibles para el
problema.
– Ejemplo: El problema de ordenar los n
elementos de un vector de enteros positivos.
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Problemas e Instancia
– Instancia = (4, (3, 5, 2 ,7))
– Donde n es el tamaño del vector y v1, v2, .. ,vn
son sus componentes.
– Clase del problema = { (n, v1, v2, .. ,vn)
pertenece Z n + 1 }
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Tipos de Problemas
●
Problemas de Optimización
– Se busca minimizar o maximizar (es decir,
optimizar) el valor de una solución, en un
grupo de soluciones generadas para una
entrada específica (instancia).
– La forma general de exponer un problema de
optimización es:
●
Optimizar C(S) sobre U en F(n)
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Tipos de Problemas
●
Problemas de Decisión
– Son aquellos donde se busca una respuesta de
''si'' o ''no''.
– Cualquier problema de optimización puede ser
manejado como un problema de decisión,
●
Incluye un valor objetivo K para la instancia n.
●
Existe o no existe una solución factible en el
conjunto de soluciones F(n).
CARRERA DE
INGENIERÍA
DE SISTEMAS
Representación matemática del
ALGORÍTMICA III
problema
● Conjunto p1, p2, .. , pn de proyectos con mismo horizonte de
evaluación. Conocemos para cada proyecto pj su retorno
esperado vj y su costo de inversión cj.
●
Problema de selección de proyectos consiste en determinar un
subconjunto de los n proyectos de forma que proporcione la
mayor suma de retorno esperado y que su costo total de
inversión no supere a un presupuesto conocido como P.
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Algoritmos
●
Es una secuencia de operaciones o pasos
perfectamente definidos, ordenados y finitos
que nos llevan a la solución de un problema.
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Tipos de Algoritmo
– Simple, fácil de codificar y depurar. (algoritmos
pequeños)
– Eficiente y robusto. (resolver el problema con
el menor uso de recursos computacionales)
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Evaluación de Algoritmos
●
Elementos a ser tomados en cuenta:
– Eficacia (Capacidad de lograr el objetivo que
se desea o se espera.).
– Eficiencia (Capacidad de disponer de tiempo y
espacio para conseguir el objetivo
determinado.).
– Efectividad (Capacidad de lograr el objetivo
que se desea o se espera en tiempo-espacio).
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Evaluación de Algoritmos
●
Eficiencia: Determina la cantidad de recursos
computacionales consumidos por el algoritmo.
– La eficiencia en cuanto al uso de recursos de
computación.
– Tasa de crecimiento en espacio.
– Tasa de crecimiento en tiempo.
– La calidad de la solución obtenida.
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Algoritmia
●
Ciencia que permite evaluar los resultados de
diferentes factores externos sobre los
algoritmos disponibles, de tal modo, que
permita seleccionar el que se ajuste más a las
condiciones particulares.
●
Ciencia que permite indicar la forma de diseñar
un nuevo algoritmo para una tarea concreta.
●
Se define como el estudio de los algoritmos.
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
– El costo de programación.
– El tiempo necesario para el procesamiento del
algoritmo.
– El espacio de almacenamiento.
– El espacio de memoria procesamiento
necesario para el algoritmo.
– Conjunto de parámetros o variables (datos de
entrada).
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Diseño de un algoritmo
●
Si el código será usado pocas veces o con
pocos datos, entonces es deseable un
programa simple y fácil de programar. (poco
costo de programación)
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Diseño de un algoritmo
●
Si el código será usado una cantidad de
muchas veces o con muchos datos, entonces
será mejor que ser eficiente y robusto. (costo
de procesamiento > costo de programación)
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Diseño de un algoritmo
●
Si el programa será usado con frecuencia
intermedia entonces combinaremos las dos
características 1.
CARRERA DE
INGENIERÍA
DE SISTEMAS
Relación entre la Estructura de Datos
ALGORÍTMICA III
y el Algoritmo
●
La relación determina un análisis cuantitativo.
●
El tipo de estructura de datos elegida es
dependiente de:
– Tipo de datos que administra el algoritmo.
– Operaciones que se realizan sobre dicha
estructura
●
El compromiso espacio de almacenamiento -
tiempo de procesamiento que se desea
obtener.
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III
Conclusiones
●
Diferenciar entre clase de problema e
instancia de problema. Los algoritmos serán
para clase de problema.
●
La definición de la estructura de datos
adecuada influye en el diseño y la eficiencia del
algoritmo.
●
Existe una estrecha relación entre espacio
(almacenamiento y procesamiento) y tiempo
de ejecución.
CARRERA DE
INGENIERÍA
DE SISTEMAS