PRÁCTICA DE ALGORÍTMICA ENUNCIADO B

Documentos relacionados
Algoritmos y Estructuras de Datos II, Segundo del Grado de Ingeniería Informática, Test de Análisis de Algoritmos, marzo Test jueves.

Un sistema de m ecuaciones lineales con n incógnitas es un conjunto de m igualdades del tipo:......

Sistemas de Ecuaciones Lineales. M. en I. Gerardo Avilés Rosas


LÍMITES DE FUNCIONES REALES CON TENDENCIA A REAL

Sucesiones I Introducción

LAS SUCESIONES Y SU TENDENCIA AL INFINITO

Respuesta Ejercicio A

LAS SERIES GEOMÉTRICAS Y SU TENDENCIA AL INFINITO

FUNCIONES. ( a) IGUALDAD DE FUNCIONES Sí y son dos funciones, diremos que las funciones f y

TEMA 1 NÚMEROS REALES

2 Conceptos básicos y planteamiento

GUIA DE ESTUDIO Nro 1

CS. de la COMPUTACION II 1 VERIFICACION DE PROGRAMAS

Proyecto No. 2. Suponga que una curva es descrita por medio de una función desconocida f (x)

2º ESO CAPÍTULO 9: ÁLGEBRA

a n = Ejemplo: Representa las gráficas de las funciones f(x) = 1/x, g(x) = x 2 y h(x) =

Tema 8 Límite de Funciones. Continuidad

4.- Aproximación Funcional e Interpolación

SUCESIONES Y SERIES Una sucesión es un conjunto de números ordenados bajo cierta regla específica. 7, 10, 13, 16, 19, 22, 25,...

Tema 3. La Unidad Aritmético- Lógica

Medidas de tendencia central

Prácticas de Matemáticas I y Matemáticas II con DERIVE-5 138

E.T.S.I. Industriales y Telecomunicación Curso Grados E.T.S.I. Industriales y Telecomunicación. Tema 1: Números complejos

Introducción a las Funciones Vectoriales (Funciones de R R n ) 1. Funciones de R en R n (Funciones Vectoriales)

Práctica 3: Convolución

Matemáticas Discretas Inducción y Recursión

CAPITULO 0 CONCEPTOS BASICOS DE ALGEBRA Y PROGRAMACION LINEAL Algebra lineal Notación básica.

En el tema anterior se estudió que muchas decisiones se toman a partir de resultados muestrales. Por ejemplo:

TRABAJO DE GRUPO Series de potencias

FUNDAMENTOS FÍSICOS DE LA INGENIERIA SESIÓN DE PRÁCTICAS 0

Notas de Teórico. Sistemas de Numeración

Prácticas de Matemáticas I y Matemáticas II con DERIVE 136

2 FUNDAMENTOS DE PROBABILIDAD

PROCESAMIENTO DIGITAL DE SEÑALES

Análisis de algoritmos

M arcelo, de vez en vez, usa una reata de 10 m de largo y 2 cm de grueso para

Temario. Fundamentos de Programación FPRG Tema 6. Estructuras de Control v Miguel A. de Miguel 03/11/16

Helena Ramalhinho Lourenco y Daniel Serra 13 de Mayo PRESENTA: MC Marco Antonio Cruz Chavez.

Análisis de algoritmos

Series infinitas de números reales. Series convergentes

Tema 1 Los números reales Matemáticas I 1º Bachillerato 1

EJERCICIOS DE RECURRENCIA

Preguntas más Frecuentes: Tema 2

Semana 10 [1/24] Sucesiones (II) 2 de mayo de Sucesiones (II)

Muestreo sistemático

DERIVADA DE FUNCIONES DEL TIPO f ( x) c, donde c es una constante, la derivada de esta función es siempre cero, es decir:

Notas en Desigualdades versión 0.1. Leonardo Urbina

Estimadores Puntuales: Propiedades de estimadores Sebastián Court

CRIPTOGRAFIA BASICA Y SISTEMAS DE ECUACIONES LINEALES

Matemáticas Discretas

Negativos: 3, 2, 1 = 22. ab/c 11 Æ 18

Límite y Continuidad de Funciones.

1 Primeras aproximaciones a la integral de una función cuadrática

CLAUSURA ALGEBRAICA Y NÚMEROS COMPLEJOS

Sesión No. 6. Contextualización. Nombre: Funciones exponenciales y logarítmicas y el uso de las MATEMÁTICAS. progresiones aritméticas y geométricas.

Técnicas Cuantitativas II Muestra y Estadísticos Muestrales. TC II Muestra y Estadísticos Muestrales 1 / 20

DEFINICIÓN DE PRODUCTO CARTESIANO:

Prof: Zulay Franco 1

INSTITUCIÓN EDUCATIVA JAVIERA LONDOÑO SEVILLA. GUIA Nº 3: Sucesiones, Límite de Sucesiones y Límite de Funciones en R

CAPÍTULO XIV. SERIES NUMÉRICAS ARBITRARIAS

UNIDAD 1 Ecuaciones Diferenciales de Primer Orden

Rudimentos 5: Teorema del Binomio Profesor Ricardo Santander

Sucesiones. f : {1,2,...,r} S. Por ejemplo, la sucesión finita, (de longitud 4) de números primos menores que 10: 2,3,5,7

Ejercicios de preparación para olimpiadas. Funciones

IES IGNACIO ALDECOA 1 AMPLIACIÓN DE MATEMÁTICAS 4º ESO CURSO 10/11

Departamento de Ingeniería Matemática - Universidad de Chile

Sucesiones de números reales Sucesiones convergentes: límite de una sucesión

Práctica 3 Sucesiones y series

TEMA #2 EL CONJUNTO DE LOS NÚMEROS REALES PROFESOR: AQUILINO MIRANDA, NIVEL: 8, COLEGIO DANIEL O. CRESPO. Nombre del estudiante:

MINITAB y MODELOS DE REGRESIÓN

3. Notación asintótica TEMA 1: EFICIENCIA DE LOS ALGORITMOS. 3. Notación asintótica. 3. Notación asintótica. 3. Notación asintótica

Álgebra I Práctica 3 - Números Naturales e Inducción

No obstante, cuando intentamos hacer lo mismo con los números racionales y reales vemos que. con como lo hicimos con. es diferente de los conjuntos

FUNCIONES DE VARIAS VARIABLES: DOMINIO, RANGO, CURVAS DE NIVEL 1 FUNCIONES DE VARIAS VARIABLES.

Prueba Integral Lapso / Área de Matemática Fecha: MODELO DE RESPUESTA (Objetivos del 01 al 11)

Introducción a las Funciones Vectoriales (Funciones de R R n ) 1. Funciones de R en R n (Funciones Vectoriales)

Otro ejemplo es la tasa de cambio del tamaño de una población (N), que puede expresarse como:

2. Estimación de errores de medidas directas

Unidad 3. Construcción de números índice y aplicaciones al análisis económico

Solución del Examen Extraordinario de Algebra y Matemática Discreta, Primer Curso, Facultad de Informática

Pregunta Notas algún patrón al construir esta tabla? Puedes expresar esta tabla como un árbol binario?

Práctica 4. Re(z n ) y Im(z n ) n=1 convergen (absolutamente). z n. n=1. n=1. n αn? Demostrarlo. n=0 converge si z < 1 diverge si z > 1. para z < 1.

Cálculo de ceros de funciones

. Una de las aplicaciones más importantes de los coeficientes binomiales es el Binomio de Newton : n k)

Números racionales. Caracterización.

1. Secuencia Impulso unitario (función Kroëneker) 1, n = n 0. (n) = = {... 0, 0, (1), 0, 0,... }

Práctica 4 Series de funciones y de potencias

SISTEMAS DE SEGUNDO ORDEN

Teoremas de convergencia. Integral sobre... Convergencia... Convergencia...

No negatividad. Definición positiva. Propiedad multiplicativa. Desigualdad triangular. Identidad de indiscernibles. Desigualdad triangular

Derivación Numérica. Ultima actualización: 15/01/2008

Desafío 87. Decimales a cascoporro (Superpanzeta)

OBTENCIÓN DE FACTORES DE LA FORMA (x m b), DE UN POLINOMIO DE GRADO n m

Números naturales, enteros y racionales

21 EJERCICIOS de POTENCIAS 4º ESO opc. B. impar (-2)

Transcripción:

PRÁCTICA DE ALGORÍTMICA ENUNCIADO B El problema. Supogamos que lo úico que se cooce respecto de u algoritmo so sus tiempos de ejecució e fució del úmero de datos que procesa. Dicha iformació podría ser algo parecido a lo siguiete: 1 2 3 4 5 6 7 8 9 10 11 12 T() 0,9 1,6 2,3 3,0 3,7 4,4 5,1 5,8 6,5 7,2 7,9 8,6 El objeto de esta práctica es realizar u programa capaz de deducir la cota superior de complejidad de dicho algoritmo úicamete a partir de esta iformació. Coviee recordar que la cota de complejidad o represeta el tiempo de ejecució sio la maera e que éste evolucioa y, e este setido, el pricipal reto de la práctica cosistirá e ivestigar qué algoritmo se debe utilizar. Co el fi de acotar el problema, vamos a clasificar los posibles grados de complejidad e diez tipos: Complejidad Código O ( ) 1 O ( 2 ) 2 O ( 3 ) 3 O ( 4 ) 4 O ( 5 ) 5 O ( 6 ) 6 O ( L ) 7 O ( 2 ) 8 O ( 1 ) 9 Otras 0 Como se puede ver, trataremos complejidades poliómicas (6 tipos), logarítmicas, expoeciales y costates. Además, se ha añadido u último tipo co el que haremos referecia a cualquier otra posibilidad. Prácticamete se descooce toda iformació relativa a los programas que se debe aalizar. No se sabe su cometido, i su leguaje de implemetació, i la máquia e que ha sido ejecutados. Ta solo sabremos sus tiempos de ejecució y la estructura matemática que los caracteriza. Así, vamos a supoer que los tiempos de ejecució de los programas se comporta coforme a algua de las fucioes que se describe a cotiuació.

Programas co tiempo costate: + T () = c / c R Programas co tiempo poliómico: T () = a k k + a k-1 k-1 +... + a Programas co tiempo logarítmico: 2 2 + a + a 1 0 / a R, i k N, 0 K 6 T () = L ( + a) + b / a,b R, + a > 0 Programas co tiempo expoecial: T () = 2 + a + b / a, b R, T () < 30 El programa solució. El procedimieto pricipal de la solució a la práctica deberá llamarse pb y deberá estar e u fichero de ombre pb.adb. Esto es muy importate y si o se cumple es posible que la práctica o se pueda evaluar. Datos de etrada. La etrada al programa será u úico fichero ASCII que se llamará f1.txt y estará e su mismo directorio. Cosistirá e ua secuecia de úmeros reales separados etre si por uo o varios caracteres e blaco, pudiedo icluir además cambios de líea. Puede haber ua catidad idetermiada de úmeros, pero siempre será múltiplo de 20, ya que cada cojuto de 20 úmeros represetará los tiempos de ejecució de u determiado programa para los valores de = 1, 2,...,19, 20. Por ejemplo, u fichero co el coteido que se idica a cotiuació, represetaría los tiempos de ejecució de dos programas (40 úmeros). 1.000 1.45 1.8 2 2.2 2.45 2.8 3.1 3.56 3.77 3.99 4.33 4.5 5.0 5.6 5.82 6.45 6.8 7.23 8 5.45 5.45 5.45 5.45 5.45 5.45 5.45 5.45 5.45 5.45 5.45 5.45 5.45 5.45 5.45 5.45 5.45 5.45 5.45 5.45 Los 20 primeros úmeros se refiere al primero de los programas e idica los siguietes tiempos: T(1) = 1.000 T(2) = 1.45 T(3) = 1.8... T(19) = 7.23 T(20) = 8 Los 20 restates hace referecia a u segudo programa cuyo tiempo de ejecució permaece costate para los 20 valores de. Al igual que ocurre e el ejemplo mostrado, cuado el úmero sea exacto podrá aparecer co o si decimales idistitamete.

Datos de salida. La salida del programa costará de u úico fichero ASCII que tedrá por ombre f2.txt y estará e su mismo directorio. Costará exclusivamete de ua secuecia de úmeros eteros (del 0 al 9) separados por uo o más espacios e blaco. Cada uo de los úmeros hará referecia a uo de los programas del fichero de etrada guardado estrictamete el orde e que éstos se proporcioaro. Dichos úmeros hará referecia al orde de complejidad del programa examiado de acuerdo al código que aparece e la tabla idicada más arriba. Por ejemplo, u fichero de salida podría teer el siguiete coteido: 3 2 1 7 8 0 0 Ello idicaría que se ha examiado 7 programas. Los tres primeros tiee complejidad poliómica de orde cúbico, cuadrático y lieal respectivamete. La complejidad del cuarto programa es logarítmica y la del quito expoecial. Los dos ceros del fial idica que los dos últimos programas o ecaja e igua de las complejidades que estamos cotemplado. Si e algú mometo o se sabe clasificar uo de los programas de la etrada, se le asigará el úmero 0 como salida. Es decir, el 0 se utilizará tato para idicar otra complejidad como o lo se. Bajo igú cocepto se debe omitir igú úmero e la salida o cambiar su orde respecto a los datos de etrada. El fichero de salida siempre debe teer tatos úmeros eteros como el resultado de dividir por 20 los úmeros proporcioados como etrada. Uso de fucioes matemáticas. Depediedo del efoque que se de a la solució, puede que e algú caso vega bie utilizar algua fució matemática. Si esto fuera así, icluiríamos la siguiete declaració al pricipio del programa: with ada.umerics.geeric_elemetary_fuctios; use ada.umerics; Después, e la zoa de declaracioes del procedimieto dode se vaya a usar las fucioes, sería ecesario poer lo siguiete: package fucioes is ew geeric_elemetary_fuctios (float); use fucioes; A partir de ese mometo ya se podrá hacer referecia a las fucioes matemáticas del paquete y cuyo coteido puede cosultarse e varios sitios de iteret, como por ejemplo e el siguiete elace: http://www.adaic.org/resources/add_cotet/stadards/95lrm/arm_html/rm-a-5-1.html

Etrada y salida co úmeros eteros. Para poder trabajar co eteros de forma cómoda, es útil escribir e la zoa de declaracioes lo siguiete: package eteros is ew iteger_io (iteger); use eteros; De esta forma podremos utilizar Put y Get directamete co ellos. El problema de la precisió. Al trabajar co úmeros reales podemos ecotrar problemas derivados de la precisió al realizar determiadas operacioes. Por ejemplo, puede ocurrir que dos variables, a y b, cotega los resultados de diferetes operacioes. Auque e teoría hayamos llegado a la coclusió de que, por las operacioes que se ha realizado, a y b debería ser iguales, podemos llevaros la sorpresa de que al compararlas éstas resulte diferetes. Co el fi de solucioar este problema vamos a evitar el uso del tipo float, ya que utiliza represetació e coma flotate, y vamos a apostar por los reales de coma fija. Para ello, itroduciremos lo siguiete e la zoa de declaració: type coma_fija is delta 0.0000001 digits 18; package coma_fija_io is ew decimal_io (coma_fija); Co esto defiimos u tipo de úmeros que tedrá u total de 18 dígitos de los cuales 7 se utilizará para represetar la parte decimal. Co esto tedremos u rago de trabajo y ua precisió suficietes. Pero co esto o acaba uestros problemas. Lo úico que hemos coseguido es que los márgees de error e uestras variables a y b, utilizadas como ejemplo, sea parecidos, pero el error seguirá existiedo. La solució pasa por cotemplar ese marge de error cuado hagamos las comparacioes. E vez de pregutar si a y b so iguales, pregutaremos si a y b so casi iguales. Por ejemplo podemos hacer lo siguiete: if abs( a b ) < abs( a * 0.2 ) the -- Cosideramos que a y b so iguales. else -- Los cosideramos diferetes. ed if; E este caso cosideramos que ambos valores so iguales si difiere e meos de u 20% del valor de uo de ellos. Obsérvese la ecesidad de usar la fució que calcula el valor absoluto cuado o estamos seguros de los valores que pueda tomar uestras variables. Naturalmete el marge de error permitido o tiee por qué ser el 20%, sio que e cada caso habrá que adoptar el más adecuado.

Evaluació de la práctica. La correcció se hará de forma automática por lo que es muy importate seguir al pie de la letra todas las idicacioes que se da. Las prácticas que o compile correctamete o aborte durate la ejecució será cosideradas suspesas. Lo mismo ocurrirá co aquellas que o siga las especificacioes idicadas respecto a los ombres de los ficheros de etrada y salida, formato de éstos y demás ormas geerales. Tambié es importate cumplir las istruccioes geerales que se ha dado e documetació aparte. Digamos que la primera prueba cosiste e ser capaz de cumplir todos estos requisitos si igua excepció. La práctica será probada co los datos reales de más 100 de programas. Cada programa clasificado adecuadamete irá icremetado la ota de la práctica. Cada programa clasificado de forma erróea descotará ua catidad similar. Los programas cuya clasificació sea 0 ( otra complejidad / o lo se ) i suma i resta ota. Ficheros de prueba. Juto co el euciado de la práctica se proporcioa uos ficheros de pruebas para poder comprobar el correcto fucioamieto de la solució. Hay que recordar que, auque los ficheros proporcioados para las pruebas tiee ombres distitos, el fichero de etrada a uestro programa siempre debe teer el mismo ombre (f1.txt). E la siguiete tabla se muestra los resultados que debería obteerse para cada uo de los ficheros de prueba. P1 P3 P5 L 1 1 1 1 3 3 3 3 5 5 5 5 7 7 7 7 Cos 9 9 9 9 Varios1 9 8 7 0 1 2 3 4 5 6 Varios2 P2 P4 P6 Exp 2 2 2 2 4 4 4 4 6 6 6 6 8 8 8 8 Otro 0 0 0 0 1 1 7 7 5 5 3 3 9 9 2 2 8 8 4 4 0 0 6 6 Varios3 6 0 5 9 1 1 4 7 3 8 3 6 9 5 2 2 4 8 3 1 0 7 6 8 2 0 5 7 4 9