Mcom1 U2 Ea Yaco

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

Universidad Abierta y a Distancia de México

Lic. en Matemáticas

Unidad 2. Complejidad Computacional

Evidencia de Aprendizaje

Alumna: Yazmin Castillo Ortiz

Matricula: ES1821000588
¿Qué son los números triangulares?, muestra algunos ejemplo y calcula el triangular cuando n=18.

Un número que puede hacer un diagrama de puntos triangular.

Ejemplo: 1, 3, 6 y 10 son números triangulares.

• Un número triangular es aquel que se puede recomponer en la forma de un triángulo equilátero.


• Los números triangulares fueron estudiados por los pitagóricos.
• Cada número triangular se puede obtener por la fórmula: Tn = n(n+1) para n / 1
para n = 18, T18 = 18(18 +1)/2 =171
z
A que se le denomina Cota Superior Asintótica O(f(n)).

En análisis de algoritmos una cota superior asintótica es una función que sirve de cota superior de otra función
cuando el argumento tiende a infinito. Usualmente se utiliza la notación de Landau O(g(x)) (o coloquialmente llamada
Notación O Grande) para referirse a las funciones acotadas superiormente por la función g(x).

Una función f(x) pertenece a O(g(x)) cuando existe una constante positiva c tal que a partir de un valor x0, f(x) noso
brepasa a cg(x). Quiere decir que la función f es inferior a g a partir de un valor dado salvo por un factor constante.
La cota superior asintótica tiene gran importancia en Teoría de la complejidad computacional a la hora de definir las
clases de complejidad.

f(x)=O(g(x)).
A pesar de que O(g(x)) está definido como un conjunto, se acostumbra escr
ibir f(x)=O(g(x)) en lugar de f(x)∈O(g(x)). También se habla de una función
nombrando únicamente su expresión, como en x² en lugar de
h(x)=x², siempre que esté claro el parámetro de la función en la expresión

La gráfica presenta un ejemplo esquemático de como se comporta cg (x) con respecto a f (x), cuando x tiende
al infinito. Dicho conjunto es no vacío pues f(x)=O(g(x)).

Se dice que O(f(n)) define un “orden de complejidad”.


Escogeremos como representante de este orden a la
función f(n) Más sencilla del mismo.
Así tendremos:
Indica cuando se dice que una función g(n) está acotada superiormente.

Dada una función f, estudiaremos aquellas funciones g que a lo sumo crecen tan deprisa como f.

Al conjunto de tales funciones se le llama cota superior de f y lo denominamos O(f). Conociendo la


cota superior de un algoritmo se puede asegurar que, en ningún caso, el tiempo empleado será de un
orden superior al de la cota.

Definición 1
Sea f: N→[0,∞). Se define el conjunto de funciones de orden O (Omicron) de f como:
O(f) = {g: N→[0,∞)|∃ c ∈ R, c>0, ∃ nO ∈ N.g(n) ≤ cf(n) ∀n ≥ nO}.
Diremos que una función t: N →[0,∞) es de orden O de f si t ∈ O(f).
Intuitivamente, si t ∈ O(f) indica que t está acotada superiormente por algún múltiplo de f.
Normalmente estaremos interesados en la menor función f tal que t pertenezca a O(f).
En el ejemplo del algoritmo Buscar analizado anteriormente obtenemos que su tiempo de ejecución
en el mejor caso es O(1), mientras que sus tiempos de ejecución para el peor caso es O(n).
Presenta la definición que indica la complejidad de un algoritmo.

La complejidad de un algoritmo es una métrica que se expresa según el tamaño del problema, en
donde se mide la cantidad de recursos (tiempo – espacio) que el algoritmo necesite.

En donde si el recurso a considerar es el espacio la complejidad se basa en la cantidad de memoria


requerida para ejecutar, la cual está asociada a las estructuras de datos usadas en su implementación.

La complejidad se basa en la cantidad de tiempo necesario para la ejecución de operaciones. Mientras


que si el Recurso es tiempo.

• El peor de los casos indica el mayor tiempo obtenido, considerando todas las entradas posibles.

• El caso promedio indica el tiempo medio obtenido, considerando todas las entradas posibles.

• El mejor de los casos indica el menor tiempo obtenido, considerando todas las entradas posibles.
Muestra el código en C que represente el cálculo de los números triangulares.
Indica y argumenta su complejidad.

1 n+1 n
asignación Comparaciones Incrementos

for( i=1; i<=cNum; i++ )


{
printf( " T%i = %i\n",i , (i*(i+1))/2 );
};

Complejidad = 2n+2

*Complejidad de for básico sin modificaciones


Muestra tus conclusiones sobre la relación entre el aumento de la cota y el tiempo de ejecución.

El tiempo de ejecución de un algoritmo depende de cuánto tiempo le tome a una


computadora ejecutar las líneas de código del algoritmo, y eso depende de la velocidad de
la computadora, el lenguaje de programación y el compilador que traduce el programa del
lenguaje de programación al código que se ejecuta directamente en la computadora,
entre otros factores.

Debemos enfocarnos en qué tan rápido crece una función con el tamaño de la entrada. A
esto lo llamamos la tasa de crecimientodel tiempo de ejecución. Para mantener las cosas
manejables, tenemos que simplificar la función para extraer la parte más importante y dejar
de lado las partes menos importantes.

Dentro de los ascpectos a considerar en la elaboracion de algoritmos interesa encontrar una


cota superior de la complejidad temporal.
Fuentes
• Academic. (-- de -- de --). Cota superior asintótica. Recuperado el 02 de Junio de 2019, de
https://esacademic.com/dic.nsf/eswiki/308962

• Balanta, V. V. (29 de Enero de 2018). Complejidad de algoritmos o análisis de algoritmos. Recuperado el 02 de


Junio de 2019, de https://www.youtube.com/watch?v=Sibd8jSTdUQ

• Benito, A. P. (10 de Junio de 2018). Caracteristicas de las funciones (SlidePlayer). Recuperado el 02 de Junio de
2019, de https://slideplayer.es/slide/11990400/

• Disfruta las Matemáticas. (-- de -- de --). Número Triangular. Recuperado el 02 de Junio de 2019, de
https://www.disfrutalasmatematicas.com/definiciones/numero-triangular.html

• Estudiantes de Ingeniería en Computación e Informática del Instituto Profesional la Araucana. (-- de -- de --).
Diseño y Analisis de Algoritmo. Recuperado el 02 de Junio de 2019, de
https://gamster2145daa.wordpress.com/complejidad-computacional/

• Giltesa. (08 de Noviembre de 2011). Calcular los números triangulares. Recuperado el 02 de Junio de 2019, de
https://giltesa.com/2011/10/08/1x17-calcular-los-numeros-triangulares

• Guzman, L. (25 de Marzo de 2014). Complejidad de un algoritmo. Recuperado el 02 de Junio de 2019, de


https://es.slideshare.net/lutzhooo/complejidad-de-un-algoritmo-32734021

• Tolentinopla. (02 de Junio de 2016). Números Triangulares. Recuperado el 02 de Junio de 2019, de


http://tolentinopla.blogspot.com/2016/06/numeros-triangulares.html

• UNaDM. (-- de -- de --). Unidad 2. Complejidad Computacional (Computación I.Texto de Apoyo). Recuperado el 02
de Junio de 2019, de https://unadmexico.blackboard.com/bbcswebdav/institution/DCEIT/2016_S1-
B2/MT/04/MCOM1/MCOM1/U2/Unidad%202.%20Complejidad%20computacional.pdf

También podría gustarte