Está en la página 1de 18

ANÁLISIS Y DISEÑO

DE ALGORITMOS
¿ANÁLISIS?

Es el proceso de dividir un tema complejo en partes más pequeñas para obtener una
mejor comprensión.

Proceso mediante el cual se descompone un todo, en sus componentes más simples con
el fin de definir ese todo, clasificarlo y comprender cuáles son sus principios de
funcionamiento.

Analizar es una acción eminentemente intelectual, característica de los seres humanos y


que implica la realización de un análisis sobre determinada materia o asunto de interés.
¿DISEÑO?
El diseño, es el proceso previo de configuración mental, en la búsqueda de una solución
en cualquier campo.

El diseño, es el resultado de la interpretación emocional de un objeto o entorno. Debe


ser un proceso libre.

El diseño, se refiere a un boceto, bosquejo o esquema que se realiza, ya sea


mentalmente o en un soporte material, antes de concretar la producción de algo

El diseño de algoritmos, es un método específico para poder crear un modelo


matemático ajustado a un problema específico para resolverlo.
DISEÑO DE ALGORITMOS
El diseño de algoritmos consiste en encontrar métodos y procedimientos que
resuelvan determinado problema.

Se diseña un
Se buscan: algoritmo
para resolver
Métodos y/o
Problema un problema
Procedimientos

(Secuencia finita
de instrucciones)
ALGORITMO
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi,
nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de
números y ecuaciones en el siglo IX.

Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir,
para dar solución a un problema.

Conjunto de pasos, que ejecutados de la manera correcta, permiten obtener un resultado en


un tiempo acotado.

Pueden existir varios algoritmos para resolver un mismo problema. Se debe analizar tanto su
diseño como su eficiencia.
ALGORITMO EN LA COMPUTACIÓN

Un algoritmo es un procedimiento computacional que toma un valor o conjunto de


valores como entrada y produce un valor o conjunto de valores como salida.

Entrada Algoritmo Salida

Un algoritmo se puede ver como una herramienta para resolver un problema


computacional bien especificado.
ALGORITMO EN LA COMPUTACIÓN

Identificar que acción realiza el siguiente algoritmo


ALGORITMO EN LA COMPUTACIÓN

Identificar que acción realiza el siguiente algoritmo

Una Permutación de S,
Tal que
ALGORITMO EN LA COMPUTACIÓN

Identificar que acción realiza el


siguiente algoritmo

Divisor de un
Número
ALGORÍTMICAMENTE Y ANALÍTICAMENTE
INSTANCIA DE UN PROBLEMA

Una instancia es una entrada válida para el algoritmo

Algoritmo
<4,13,6,10,3> de <3,4,6,10,13>
ordenación

Un algoritmo es correcto, si para cada instancia, el


algoritmo termina con la salida correcta.
ALGORITMO EN LA COMPUTACIÓN

Primo ( int n) {
if (n ==1)
return 1;
if (n%2 ==0) Para cada instancia
return 0 ; el algoritmo retorna
else la salida correcta
return 1;

}
ALGORITMO EN LA COMPUTACIÓN
Primo ( int n) {
if (n ==1)
return 1;
else {
int c = 0;
for(int i=2; i<n; i++)
if(n % i ==0)
c++; } Para cada instancia
if(c==0)
el algoritmo retorna
return 1 ; la salida correcta
else
return 0;

}
PROPIEDADES DE UN ALGORITMO
1. Tiene definidas las entradas que se requieren, así como las salidas que se deben producir.

2. Es preciso: Se debe indicar sin ambigüedades el orden de los pasos a seguir y la manera
en la que éstos deben realizarse.

3. Es Determinista: Para un mismo conjunto de datos proporcionados como entrada, el


algoritmo debe producir siempre el mismo resultado.

4. Es Finito: Un algoritmo siempre termina después de un número finito de pasos.

5. Es Efectivo: Cada pasos o acción se debe poder llevar a cabo en un tiempo finito y se
debe lograr el efecto que se desea o espera.
CLASIFICACIÓN DE PROBLEMAS
ALGORÍTMICOS
Por su Naturaleza: Los problemas algorítmicos son clasificados de
acuerdo a su naturaleza intrínseca respecto a la posibilidad y
dificultad de resolverlos.

Por el tipo de Respuesta: Los problemas son clasificados de


acuerdo a la respuesta requerida por el problema.

Por su Tratabilidad: Los problemas que admiten solución son


clasificados de acuerdo a la complejidad que presentan los
algoritmos para resolverlos.
CLASIFICACIÓN POR SU NATURALEZA

 Los problemas de naturaleza algorítmica que no admiten solución por


algoritmos son llamados no computables.

 Los problemas de decisión y no computables son llamados indecidibles. (No


existe un algoritmo que pueda analizar el código de cualquier programa y determinar si
para o no).

 Los problemas para los cuales existen algoritmos de complejidad polinomial


para resolverlos son llamados tratables.

 Los problemas que admiten solución y para los cuales comprobadamente no


pueden ser resultados por algoritmos de complejidad polinomial son rotulados
intratables.
CLASIFICACIÓN DE PROBLEMAS
ALGORÍTMICOS

No Computable
Problemas que no admiten
solución algorítmica
Indecidibles

Tratable
Problemas que admiten
solución algorítmica
Intratable
EJEMPLO

Inicio
Problema : Determinar si el
algoritmo siempre termina para
Leer (n)
cualquier valor de “n”
Mientras hacer
Si (n mod 2)=0
Entonces
Sino
Respuesta: No se sabe

 Es un problema no computable
fin  Es un problema de decisión
 Es un problema Indecidible

También podría gustarte