Está en la página 1de 5

Licenciatura en Matemáticas UNSE – FCEyT

TEORÍA DE ALGORITMOS Y LENGUAJES


TALLER 1: TEORÍA DE LA COMPUTABILIDAD

1. OBJETIVOS
Que el estudiante logre:
 Conocer, interpretar y relacionar los conceptos fundamentales de la Teoría de la Computabilidad.
 Habilidad para formalizar y clasificar problemas.
 Aplicar el enfoque algorítmico en el proceso de resolución de problemas.
 Habilidad en el uso de herramientas matemáticas para analizar la eficiencia de un algoritmo.

2. DESCRIPCIÓN
Este taller corresponde a la EVALUACIÓN PARCIAL N°1 consta de tres partes. En cada una de ellas se
especifican:
 Actividades a realizar.
 Material bibliográfico y /o fuentes de información – consulta.
 El desarrollo del Taller es en grupo de 2 personas.

3. REQUISITOS
El puntaje mínimo para aprobarlo es de cincuenta (50) puntos. Se otorgará una sola recuperación en caso de
desaprobarlo.

4. PRODUCTO ESPERADO
Informe escrito individual con las respuestas requeridas en cada una de las partes. La evaluación dependerá del
producto entregado en tiempo y en forma. Los criterios de evaluación son: presentación, claridad en exposición,
completitud, manejo conceptual y metodológico, manejo bibliográfico, originalidad.
5. FECHA DE PRESENTACIÓN: 28/08/2019.

PARTE A
Recursos:
 Álvarez – Budán. Fundamentos Teóricos de las Ciencias de la Computación. 2019.
 Baum, Gabriel; Complejidad. I EBAI. Editorial Kapelusz S.A. 1987
 Apuntes de Clase.
 https://es.khanacademy.org/computing/computer-science/cryptography/modarithmetic/a/the-euclidean-algorithm
 https://cs.stackexchange.com/questions/6883/g%C3%B6delization-in-turing-machine.

ACTIVIDADES:

1. Determinar si las siguientes proposiciones son verdaderas (V) o falsas (F). Justificar la respuesta.

1.1. El concepto de computabilidad tiene sentido solamente en el caso en que los argumentos y
valores de una función sean números naturales.
1.2. Se denomina algoritmo euclidiano al algoritmo basado en las cuatro operaciones básicas.
1.3. La godelización es una aplicación biunívoca.
1.4. Un conjunto M de palabras sobre un alfabeto U es generable si y sólo si M es enumerable.
1.5. Un problema es irresoluble si se ha demostrado que no puede existir un algoritmo,
procedimiento o función computable que lo resuelva.
1.6. La dominancia asintótica permite comparar dos algoritmos y determinar hasta que valor de n
(datos de entrada) un algoritmo es más eficiente que otro.
1.7. Si un problema tiene solución polinómica en un modelo de computadora, es muy probable que
no tenga solución polinómica en otros modelos de computadora.
1.8. El tiempo de ejecución de una secuencia de comandos está determinado por el mayor tiempo de
ejecución de cualquier comando de la secuencia.
1.9. Cualquier problema que cumple los requisitos para pertenecer a P también cumple los
necesarios para pertenecer a NP.
TALLER 1: TEORÍA DE LA COMPUTABILIDAD________________________________________________ 2

1.10. A partir de Teorema de Cook, y por mecanismos de reducción, se han explicitado muchos
problemas NP-completos.

2. Marcar una y sólo una de las opciones. Justificar la respuesta.


2.1. Con esta expresión (d): (d  I  (  r) (r R  q(d,r))) se formaliza:
a) la solución de un problema
b) la viabilidad de un problema
c) la no viabilidad de un problema

2.2. Si lim g( n) 
0 significa que
n   f ( n)
a) O (g(n)) = O (f(n))
b) O (g(n)) > O (f(n))
c) O (g(n)) < O (f(n))

2.3. Se denomina complejidad en tiempo asintótica a:


El tiempo de ejecución de un algoritmo.
Los algoritmos cuyo tiempo de ejecución crece exponencialmente en función de la entrada
El comportamiento límite de la complejidad a medida que el tamaño de la entrada crece.

2.4. El tiempo de ejecución T = 7n 3 + 3n 2 + 12 tiene un orden igual a:


O(n3 + n2)
O(n5)
O(n3 )
O(n3 + n2 + c)

2.5. Heap Sort es un método de ordenamiento cuyo tiempo de ejecución siempre es de orden:
O(n2 + n)
O(n2)
O(n log n)
Variable, depende del arreglo

2.6. La siguiente gráfica representa el tiempo de ejecución de tres versiones correspondientes a una clase
de algoritmos para un mismo problema:
100 Gráfica de la medición
162,2
0 empírica 1
10 23,6
0 7
5,
Tiempo(seg.)

10 2,1 6
7
Versión
1
1
Versión
1 10 20 30 32 33 34 38 40 43 47
0, 0,31 2
Versión
0,19 2
0,11 3
1 0,04 9 3
2,62E-
0,0 03 7
0,0022
0,0019 0,0019 0,0021
1 0,0014
68 91 12 39
0,00 59 0,0017 0,0019 0,0026
0,0020 0,0019
17 98 0,0001 06
1 0,0005
0,0002 0,0001 82 0,0001 0,0001 91
47 4 57 74
0,000 47 29
0,0001 0,0001 0,0001
0,0000 0,0001
1 0,0000 35 46 63 91
08 0,0000 84
0,000 45
01 0,0000 Entrada(
0,0000 06
01
n)
TALLER 1: TEORÍA DE LA COMPUTABILIDAD________________________________________________ 3

Se puede afirmar que:


a) la versión 1 domina asintóticamente a las otras dos versiones.
b) la versión 2 domina asintóticamente a las otras dos versiones.
c) la versión 3 representa el tiempo de ejecución promedio y es el más conveniente.

PARTE B

Recursos:
 Apuntes de Clase.
 Material disponible en el aula virtual.

ACTIVIDADES:

1. Formalizar como problemas de decisión los siguientes enunciados:


1.1. Determinar si un número es perfecto. (Un número es perfecto si es igual a la suma de todos sus
divisores excluido el mismo número: 6 = 1 + 2 + 3)

1.2. Un número pandigital es aquel que tiene los nueve dígitos del 1 al 9 y ninguno se repite, además
tiene la propiedad curiosa que al dividirlo por 2 da otro número pandigital.
Por ejemplo: 435271698...217635849
Hay otros pandigitales con la misma propiedad y no sólo dividiendo por 2, sino por 3, 4, 5 etc.
Determinar si un número ingresado es pandigital.
1.3. Determinar si un número entero positivo de m dígitos (con 2 <= m <= 9) es narcisista. Un número es
narcisista cuando es igual a la suma de alguna potencia de sus dígitos.
Por ejemplo: 371 es narcisista de orden tres.
371 = 33 + 73 + 13
1.4. Determinar si un número es capicúa.
1.5. Determinar sui un vector de N elementos, no tiene elementos repetidos
1.6. Se tienen dos vectores A y B. Ambos están ordenados en forma ascendente y cada uno de ellos tiene
veinte elementos. Generar en forma ordenada un vector C que sea la intercalación ordenada de A y de
B.

1.7. Determinar si un vector de N elementos (N  100) con K elementos pares y M elementos impares,
con K y M > 0, esta ordenado de la siguiente manera:
- Primero los elementos pares en orden creciente y
- luego los elementos impares en forma decreciente.
Por ejemplo, el siguiente vector cumple con la condición

2 4 18 20 13 9 1 con K= 4 y M=3

1.8. Dada una matriz de NxN elementos con N < 30, determinar si el producto de todas las diagonales
adjuntas a la diagonal secundaria y esta inclusive es un número distinto de cero.

1.9. Determinar si una matriz cuadrada de orden N, es un cuadrado mágico, es decir si tiene la propiedad
que sus filas, columnas y diagonales principales al sumarse dan un mismo total (número mágico).

1.10. Determinar si una matriz de NxN elementos (N < 30) esta ordenada en forma ascendente.
1.11. Determinar si un vector de N elementos con N  100 esta ordenado en forma ascendente , de la
siguiente manera:
"El primer elemento en la posición 1, el siguiente elemento en la posición N del vector, el tercer
elemento en la posición 2, el cuarto elemento menor en la posición N-1, y así sucesivamente".
TALLER 1: TEORÍA DE LA COMPUTABILIDAD________________________________________________ 4

Ejemplo:

Vector Dato 1 2 5 4 3 Vector Resultado 1 3 5 4 2


1.12. Determinar si un vector de N elementos (N 100) con K elementos pares y M elementos impares, con
K, M 0, esta ordenado de la siguiente manera:
"Alternadamente los elementos impares y los elementos pares en orden creciente".
Por ejemplo, el siguiente vector cumple con la condición:

1 2 9 4 13 20 22 con N = 7; K = 4 y M = 3

2. Aplicar la numeración de Gödel a las siguientes reglas de inferencia:

2.1. (p  q)  ~ p  q
2.2. p  (p  q) ~ p
2.3. ~p  q ^ ~q  p

3. Desarrollar las siguientes sumatorias:

d) g)
a)

b) e) h)

c) f)

4. Calcular el tiempo de ejecución de los siguientes pseudocódigos:


a) b) c)
sum:=0; sum:=0;
sum:=0; for i:=1 to n do for i:=1 to n do
for i:=1 to n do for j:=1 to n do for j:=1 to n^2 do
sum:=sum+1 sum:=sum+1 sum:=sum+1

PARTE C

1. Demostrar que:
a. El camino hamiltoneano pertenece a la clase NP.

2. Seleccionar uno de los siguientes temas y realizar un informe tipo monografía


 Problemas NP Completos SAT, Clique, 3SAT, Garph Colouring, Hamiltonian Circuit, Knapsack y
problemas aparentemente similares en P y NP.
 Irresolubilidad en la Aritmética. Aritmética de Peano. El teorema de Goodstein. La conjetura de
Catalán
 Irreducibilidad del polinomio de Tutte de una matroide conexa.
TALLER 1: TEORÍA DE LA COMPUTABILIDAD________________________________________________ 5

 Problemas matemáticos sin solución o aparentemente sin solución: conjetura de Poincaré, La conjetura
de Hodge, El problema de P frente a NP, La hipótesis de Riemann, Yang-Mills y el salto de masa
("mass gap"), Las ecuaciones de Navier-Stokes, Conjetura de Birch y Swinnerton-Dyer.
Condiciones de presentación:
 La monografía debe constar al menos de 15 páginas.
 Debe incluir un índice, bibliografía o sitios de consultas, una introducción, el desarrollo propiamente
dicho y una conclusión personal en la que se relacione el tema seleccionado con los temas de la
asignatura.
 La redacción debe ser correcta y coherente.

Clases de consulta destinadas para este taller:


Teoría: lunes 12/08 y 19/8 de 15 hs. a 17 hs. (presencial)
Práctica: miércoles 14/8 (presencial), miércoles 21/8 (virtual, horario de clase, por chat de la plataforma).

Entrega del Taller: 28/8.

También podría gustarte