Sie sind auf Seite 1von 26

ALGORÍTMICA III

Algorítmica III

Introducción al Análisis de Algoritmos


Introducción
CARRERA DE
INGENIERÍA
DE SISTEMAS
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

Consideraciones de los Algoritmos


– La forma en que se presenta el problema, etc..
– Requieran menor espacio de
almacenamiento, que depende de la
estructura de datos utilizada.
– Requiera menos tiempo de procesamiento
del algoritmo.
– Costo de programación.
– Costo de procesamiento

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

Tasa de crecimiento del espacio



Espacio de memoria: Estudia la cantidad de
espacio que es necesario para las
operaciones durante la ejecución del
programa:
– Espacio de almacenamiento
– Espacio de procesamiento.

CARRERA DE
INGENIERÍA
DE SISTEMAS
ALGORÍTMICA III

Tasa de crecimiento del tiempo



Tiempo de ejecución: Tiene que ver con el
tiempo que tarda un programa para ejecutarse
(tiempo de procesamiento).

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

Factores externos de la Algoritmia


PROCESO A PROCESO B PROCESO C

– El equipo que se utiliza.


– El programador. PROGRAMA

– 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)

Costo de Programación Costo de Procesamiento

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)

Costo de Programación Costo de Procesamiento

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.

Costo de Programación Costo de Procesamiento

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

Relación Espacio - Tiempo



El espacio de almacenamiento y procesamiento
por lo general es múltiplo de los valores de
entrada.

Como la expansión de la memoria es
constante, el único factor a tomar en cuenta es
el tiempo de procesamiento.

Mas espacio Menor tiempo

Menos espacio Mayor tiempo

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

Das könnte Ihnen auch gefallen