You are on page 1of 7

Universidad Autnoma de Nuevo Len

Facultad de Ingeniera Mecnica y Elctrica


Reporte 2: Tcnicas de anlisis de algoritmos

Nombre: Vctor Omar Gutirrez Chapa


Materia: Algoritmos Computacionales
Saln: 1-203

Hora: M1:M3

Matricula: 1630682

Maestra: MA. Jessica Martnez

SAN NICOLAS A 01 DE FEBRERO DE 2016

INTRODUCCIN
Hoy en da con los grandes avances logrados en los ltimos aos en la
informtica y en la tecnologa en general, es cada vez ms comn para la
gente tener acceso a computadoras y al Internet. Un elemento clave en todo
esto es precisamente el software o programas de computadora, dependiendo
de la eficiencia de estos se obtendr el mximo provecho del hardware en
beneficio de los usuarios. Por ello es importante tener una mtrica adecuada
para la evaluacin de la eficiencia de los algoritmos que son la base para la
escritura del cdigo de computadora, independientemente del lenguaje de
programacin a utilizarse. Esta mtrica es la notacin asinttica, que viene
siendo una representacin matemtica redondeada de la cantidad de pasos o
ciclos mquina requeridos para completar cierta tarea, asignada a travs de un
programa.

DESARROLLO
Importancia de la notacin asinttica
Por ejemplo, como notacin escribir
es demasiado detallado y se
presta a confusiones, esto se vuelve ms grave en ecuaciones con ms
elementos; lo cual crea la necesidad de utilizar una notacin ms genrica, sin
dejar de ser representativa de la cantidad de recursos computacionales
requeridos por la funcin. As nace la notacin asinttica. En matemticas la
asntota es una lnea que continuamente se aproxima a una curva dada pero
nunca la cruza o intersecta. Lo ms relevante en el uso de la notacin
asinttica es para determinar la eficiencia de los algoritmos, es decir, sirve para
estimar matemticamente la cantidad de recursos requeridos en la ejecucin
de un programa. Especficamente aqu nos estamos refiriendo a recursos de
cmputo como son uso del procesador y memoria primaria y/o secundaria. Este
tipo de notacin se vuelve necesaria ya que no hay una computadora estndar
o mquina modelo ideal universal para ser tomada como referencia para medir
el tiempo de corrimiento de los algoritmos a usarse en programas de
computadora. El anlisis de algoritmos tambin es una herramienta para los
diseadores para estimar si una solucin propuesta satisface las restricciones
de recursos de un problema. La consideracin principal para estimar el
desempeo o eficiencia de un algoritmo es la cantidad de operaciones bsicas
requeridas por dicho algoritmo para procesar o resolver un problema dada una
entrada de datos de cierto tamao. Aqu el concepto de razn de
crecimiento es muy importante para analizar y comparar algoritmos. La razn
de crecimiento es la tasa a la cual el costo computacional de un algoritmo se
incrementa conforme la cantidad de datos de entrada aumenta. Usualmente la
cantidad de datos de entrada se especifica con la letra n, que indica el nmero
o cantidad de elementos a procesar por el algoritmo para darnos la solucin o
respuesta que buscamos.
Por ejemplo, consideremos a los algoritmos de ordenamiento, muy utilizados
cotidianamente en el mundo para ordenar grandes cantidades de informacin,
ya sea por orden alfabtico, cronolgicamente, o por valores de menor a mayor
(o viceversa); estos tipos de ordenamientos son muy utilizados por los
gobiernos, bancos y grandes empresas en general. Existen diferentes tcnicas
para dichos ordenamientos, el mtodo ms sencillo y antiguo es el de la
burbuja (o Bubblesort), que tambin es el ms ineficiente, donde cada
elemento se compara con todos para definir su posicin destino; es decir, se
requieren n comparaciones para cada uno de los n elementos, esto es
comparaciones o pasos, lo cual se define asintticamente como
. Existen
otros algoritmos de ordenamiento que son mucho ms eficientes as como
complicados como es el caso del Quicksort, Mergesort, Heapsort, Bucketsort,
entre otros. Por ejemplo, el tiempo de corrimiento o ejecucin del
algoritmo Quicksort es

para el caso promedio (el peor caso

es

pero la probabilidad de que este ocurra es casi cero). El tiempo de

ejecucin de otros algoritmos como Mergesort o Heapsort es


siempre, sin embargo en la prctica Quicksort termina en promedio ms rpido
los ordenamientos.
Esto se debe precisamente a las constantes que se omiten en los anlisis de
los tiempos de ejecucin, el trmino
es un valor general y
redondeado que manifiesta solo la parte del algoritmo que consume el mximo
de los recursos.
Los lmites asintticos
La notacin O es nicamente para definir los lmites superiores, en el total de
recursos requeridos por determinada funcin o algoritmo de computadora;
como se explica en la seccin 4. Hay otros tipos de notacin asinttica que se
explican a continuacin.

Notacin Omega mayscula


Contrario a la notacin O, la notacin se usa para determinar los lmites
inferiores en el consumo de recursos.
mismo
entera

O lo que es lo

si existe una constante real


tal que

y una constante

para cada entero

Notacin Theta
La notacin
nos indica simultneamente los lmites superior e inferior de
ejecucin, cuando estos estn determinados (en una misma funcin) por
diferentes mltiplos reales positivos.
Es decir,
a

si y solo si

pertenece simultneamente

y ha

Expresado ms formalmente decimos que

A esto tambin se le conoce como orden exacto de


ya que su tiempo de
ejecucin est acotado por arriba y por abajo al mismo tiempo.
5.3 Notacin o pequea
Esta notacin es solo para definir que una funcin crece ms despacio que otra
de referencia.

La relacin

nos dice que

crece

mucho ms rpido que

asumiendo que

variable. Como ejemplo podemos decir que


notacin formalmente est establecido que:

son funciones de una


En este tipo de

Notacin Omega minscula


La notacin

muy raramente se usa en ciencias de la computacin. La

relacin de
con
es similar a la relacin de la o pequea con la O
grande en trminos asintticos.
La relacin

se cumple si para cualquier constante real

existe una constante entera

tal que

para cada entero

. Esto implica que:


(6)

Por ejemplo,

, pero

CONCLUCIN
Como conclusin puedo determinar que la notacin asinttica es de suma
importancia para determinar el tiempo en que se ejecutaran los algoritmos y
poder hacer comparaciones entre ellos, esto sirve como un parmetro de
referencia simple o estndar ya que no existe ninguna maquina capaz de
evaluar todos los algoritmos en tiempo de ejecucin. El uso del tiempo real no
es confiable para la medicin de ejecucin de algoritmos ya que el tiempo reloj
de una computadora puede varia gracias al sistema operativo o la ejecucin de
aplicaciones que causen interrupciones. Ya que en una maquina o
computadora de mayor capacidad ser muy notable esa variacin del tiempo
de ejecucin del algoritmo, ya que la primera podra correrlo ms lento a
diferencia de la de mayor capacidad. Por ello la trascendencia en el uso de la
notacin matemtica en todos los anlisis de algoritmos.

BIBLIOGRAFIA
http://www.eumed.net/rev/tlatemoani/12/algoritmo.html

You might also like