You are on page 1of 11

2014

Ctedra
Matemtica
Discreta

[TRABAJO PRCTICO ANUAL
MATEMTICA DISCRETA]
Trabajo prctico de carcter anual para alumnos que cursen la materia Matemtica Discreta
durante el ciclo lectivo 2014.
Trabajo Prctico Anual Matemtica Discreta

Ao 2014 Pgina 1


Contenido
Introduccin .......................................................................................................................................2
Organizacin de los grupos ............................................................................................................2
Consultas sobre el trabajo prctico ................................................................................................2
Contenido del trabajo prctico .......................................................................................................2
Entrega del trabajo prctico ...........................................................................................................3
Publicacin de notas ......................................................................................................................3
Seccin 1: Lgica ................................................................................................................................4
Presentacin ..................................................................................................................................4
Tareas .............................................................................................................................................4
Alternativa para Programadores ....................................................................................................4
Notas ..............................................................................................................................................5
Seccin 2: Relaciones .........................................................................................................................6
Presentacin ..................................................................................................................................6
Tareas .............................................................................................................................................6
Alternativas para Programadores...................................................................................................6
Seccin 3: Grafos ................................................................................................................................8
Presentacin ..................................................................................................................................8
Tareas .............................................................................................................................................8
Alternativa para Programadores ....................................................................................................8
Seccin 4: Lenguajes ........................................................................................................................10
Presentacin ................................................................................................................................10
Tareas ...........................................................................................................................................10
Alternativa para Programadores ..................................................................................................10


Trabajo Prctico Anual Matemtica Discreta

Ao 2014 Pgina 2

Introduccin
Organizacin de los grupos
Dejamos a disposicin una planilla de grupos que deber ser llenada por cada grupo formado.
Cada hoja representa a un curso, dentro del cual estarn identificados los grupos con un nmero
nico que se asignar a medida que se vayan registrando. Por favor, mantener los formatos
solicitados en el ejemplo.
El link de acceso es:
https://docs.google.com/spreadsheet/ccc?key=0ApHzNTRRxr2gdDNNV1ZQSEpzMzd6M3YwZ1NJN
lJ3Ync&usp=sharing
Si la hoja del curso no existe, crearla al momento de registrar el grupo, copiando una hoja
existente.
La planilla estar disponible para modificacin hasta el 01/05/2014. Luego ser slo visible para
lectura. Cualquier modificacin que se tenga que realizar luego de esta fecha, comunicarlo por
mail a: tpdiscreta2014@gmail.com
Consultas sobre el trabajo prctico
Para consultas puntuales, puede utilizarse el foro disponible en el campus virtual. Por favor, no
revelar resoluciones para otros grupos, intentar que las consultas sean de concepto.
Contenido del trabajo prctico
El trabajo prctico consta de cuatro secciones, cada una de ellas correspondiente a un tema que se
ir dando en la materia a lo largo del curso. En cada seccin hay varias tareas con su
correspondiente puntuacin. Una tarea correcta, sumar los puntos que all se indica.
Adems de las tareas tericas, se agregan opciones para programadores. Aquellos grupos que
conozcan un lenguaje de programacin puntual, pueden realizar los puntos orientados a
programadores que incluyen desafos ms ambiciosos y tambin ms interesantes. Un punto
correcto de programador, valida toda la seccin. Ver condiciones de entrega de los programas en
la seccin siguiente. La eleccin de la alternativa para programadores es independiente de cada
seccin, o sea, que pueden elegirla en las secciones 2 y 3, y realizar la entrega normal para las
secciones 1 y 4, por ejemplo.
La condicin de aprobacin para CADA seccin es obtener 4 puntos sumados con todas las
tareas presentadas que estn correctas.
Por lo tanto, debern elegir las tareas que prefieran y que sumen al menos los 4 puntos
solicitados, y presentarlas para su correccin.
Trabajo Prctico Anual Matemtica Discreta

Ao 2014 Pgina 3

Entrega del trabajo prctico
Cada vez que un equipo tenga una tarea o seccin terminada, debern enviarla a la casilla de
correo general de la ctedra: tpdiscreta2014@gmail.com
Indicar en el asunto: CURSO NRO. GRUPO SECCIONES ENVIADAS.
El/Los archivo/s adjuntos deben estar precedidos por una cartula que indique explcitamente
los integrantes ACTUALES del grupo. A partir de esta lista se actualizar la lista inicial de
integrantes.
Para quienes opten por la alternativa para programadores, debern enviar el ejecutable del
programa (con cualquier aadido que pueda requerir) y un documento donde se incluya:
comentarios sobre la resolucin, pequeo instructivo de uso, capturas con pruebas del
programa funcionando y de ser posible el cdigo fuente como anexo.
Publicacin de notas
En la planilla donde fueron conformados los grupos, se publicarn las notas respectivas a las
correcciones realizadas cada vez que se realice una tanda de correcciones. Quien haya enviado el
trabajo prctico, recibir una devolucin puntual por mail, al mismo tiempo en que la nota se
publicar en la planilla.
Las tandas de correcciones sern cada 2 o 3 semanas.
Trabajo Prctico Anual Matemtica Discreta

Ao 2014 Pgina 4

Seccin 1: Lgica

Presentacin
El objetivo de esta seccin es consolidar los conocimientos vistos en la lgica proposicional,
amplindolos y dejando lugar a la investigacin. Los puntos tericos incluyen utilizar temas
cotidianos y poder pasarlos al campo de la lgica. Por otro lado, los puntos para programadores
buscan hacer representaciones de proposiciones compuestas en computadoras (circuitos lgicos
usados).
Tareas
- Buscar o generar dos silogismos lgicos reales (o sea, de uso cotidiano), estudiar sus
valores de verdad, formalizarlos e indicar conclusiones (si se trata de uno real, indicar por
qu; si es un falso silogismo indicar cul es el punto de fallo) 2 puntos.

- Generar regla lgicas (proposiciones) que a partir de un hecho (proposicin de valor
conocido), permita llegar a otro hecho
1
. Este sistema de reglas, debe resolverse mediante
deduccin natural (Modus Ponens, Eliminacin de la Conjuncin, etc.) 2 puntos.

- Investigar sobre Deduccin Automtica (la Teora de Herbrand), elaborar ejemplos propios
e intentar explicar con trminos propios el propsito de esta teora 2 puntos.

- Investigar sobre Deduccin Natural (uso de reglas Modus Ponens, Eliminacin de la
Conjuncin, de la Disyunsin, etc). Generar ejemplos y explicar con trminos propios las
aplicaciones de esta teora 2 puntos.
Tip: para ver ejemplos de los silogismos, consultar la parte I del TP de la materia 2013,
almacenado en el campus virtual. Sobre la tarea de reglas lgicas, podrn encontrar ejemplos y
aplicaciones en los TP de 2012 y 2013. En el Anexo del Punto I del TP de 2012, encontrarn un
apunte simplificado muy til para resolver los problemas que requieran deduccin natural.
Alternativa para Programadores
- Investigar el paradigma de programacin lgico (se sugiere herramienta PROLOG), analizar
su funcionamiento y realizar programas funcionales que incluyan reglas lgicas. La
temtica del desarrollo queda a eleccin del grupo. Armar un breve documento
explicando qu conceptos de lgica aplicaron para este desarrollo 4 puntos.

- Generar un programa donde dada una proposicin compuesta (de al menos 3 trminos),
el programa indique si se trata de una tautologa, contradiccin o contingencia. Las
interfaces y los mtodos de entrada del programa sern definidos por el grupo 4
puntos.

Trabajo Prctico Anual Matemtica Discreta

Ao 2014 Pgina 5

- Generar un programa de compuertas lgicas de al menos 2 proposiciones compuestas (de
al menos 3 trminos) donde dados los valores de verdad de las proposiciones simples,
indica el valor de verdad de la proposicin compuesta 4 puntos.

Notas
1. Por ejemplo, dado el siguiente conjunto de reglas que buscan una contrasea vlida:
Si la contrasea empieza con a entonces termina con s.
Si la contrasea tiene caracteres especiales entonces la contrasea es @utnfrba.
Si la contrasea termina con s o termina con v entonces tiene longitud 4.
Si la contrasea tiene longitud 4 entonces la contrasea es alas.
Si se tiene como hecho conocido que la contrasea empieza con a, se puede deducir con la regla
1 que termina con s y a partir de la regla 3 que tiene longitud de 4 caracteres, por lo tanto, la
regla 4 nos indica que la contrasea es alas. Ntese que la regla 2 no la utilizamos (regla falsa).
Este procedimiento se puede formalizar y resolver por deduccin natural.


Trabajo Prctico Anual Matemtica Discreta

Ao 2014 Pgina 6

Seccin 2: Relaciones

Presentacin
En este apartado se proponen distintas aplicaciones orientadas particularmente a las relaciones de
equivalencia, de orden y aplicaciones de relaciones de congruencia. El objetivo final de esta
seccin es ampliar sobre tpicos de la ingeniera en sistemas actuales y avanzados, usando
mtodos matemticos de base aprendidos en la materia.
Tareas
- Encriptar un mensaje redactado por ustedes, utilizando un sistema de cifrado basado en
corrimientos de caracteres (Encriptador del Csar). Realizar los clculos correspondientes
para encriptar o desencritpar los mensajes e indicar ventajas y desventajas del mismo 1
punto.

- Encriptar un mensaje redactado por ustedes, utilizando un sistema de cifrado RSA, basado
en congruencias. Se debe armar el esquema desde el comienzo, armando la clave pblica
y la privada; los pasos para encriptar y los pasos para desencriptar los mensajes 2
puntos.

- Generar una relacin de equivalencia que dado un conjunto de palabras de 5 letras
(contraseas por ejemplo), puedan dividirse en clases seguras, medias y dbiles. La
relacin elegida puede manejarse con las posiciones de las palabras, longitud, etctera.
Presentar un caso prctico donde la relacin genere las particiones deseadas 1 punto.

- Investigar un mtodo de ordenamiento algortmico (Bubble Sort, Insertion Sort, Merge
Sort, Heap Sort, Shell Sort, Quick Sort) indicando funcionamiento en trminos propios y
con ejemplos de funcionamiento. Asociarlo a la teora de relaciones de orden 2 puntos.

Tips: encontrarn un instructivo simplificado del algoritmo RSA en el Anexo del punto III del TP
del ao 2012 en el campus virtual.
Alternativas para Programadores
- Programar un encriptador de palabras mediante el mtodo RSA, o dos mtodos de
encriptacin simples (en caso de no querer usar el RSA); donde dado un programa, se
muestre al mismo encriptado, con la opcin de recuperar el mensaje original 4 puntos.

- Implementar un mtodo de ordenamiento algortmico con cdigo propio, donde dado un
conjunto de valores o vector, devuelva el conjunto ordenado, indicando cantidad de pasos
que debieron realizarse para hacerlo. Incluir en el documento una breve introduccin a la
complejidad algortmica y su relacin con el algoritmo usado 4 puntos.
Trabajo Prctico Anual Matemtica Discreta

Ao 2014 Pgina 7


- Realizar un clasificador basado en relaciones de equivalencia, donde dado un conjunto de
letras, nmeros o palabras, realice las particiones correspondientes. Puede simular por
ejemplo, un sistema de archivos donde los elementos dados se incluyen en carpetas
(clases) segn la relacin armada 4 puntos.
Trabajo Prctico Anual Matemtica Discreta

Ao 2014 Pgina 8

Seccin 3: Grafos

Presentacin
En esta seccin se intenta destacar la importancia de los grafos como herramientas capaces de
modelar situaciones complejas en representaciones simplificadas sobre los que pueden realizarse
diversos anlisis. Se introducen adems diversos algoritmos operados sobre grafos.
Tareas
- Tomar un mapa de ciudades, estaciones o puntos especficos y remarcar sobre el mismo:
ros, caminos, rutas o vas que las unan. Asignar a cada uno de estos tramos, un valor
nico de referencia. Luego, seleccionar un punto origen y un punto destino y aplicar un
algoritmo de camino ms corto sin heursticas para hallar formalmente el mejor camino
entre ambos lugares 1 punto.

- Igual al punto anterior, con la nica diferencia de que se deber definir una heurstica para
poder aplicar el algoritmo A*. Definir la lista de nodos abiertos y cerrados en cada
momento para indicar el funcionamiento del algoritmo 2 puntos.

- Igual al punto anterior, definir la cantidad mxima de transportes, personas, barcos y
otros, que pueden pasar por esos caminos y tomando dos ciudades, aplicar un algoritmo
de flujo mximo para calcular numricamente este valor para todo el tramo planteado
2 puntos.

- Sabiendo que un HOP es un salto de un router a otro y que el TTL (time to live) es la
cantidad mxima de saltos que puede dar un mensaje antes de ser eliminado; definir
cuantas conexiones (vistas como si fueran cables) debera haber como mnimo para que
una red de 6 routers reciba todos los mensajes enviados por otro router, si el TTL vale 3
1 punto.

Tips: encontrarn ejemplos de flujo mximo y costes de camino en el TP de 2013. Encontrarn un
apunte acerca de HOPS y TTL en el Anexo IV del TP de 2012.
Alternativa para Programadores
- Realizar un algoritmo de camino ms corto (puede ser con cdigo ya creado por otra
persona) que resuelva problema de este tipo. La modelizacin puede ser de nodos que
contengan caminos que salen de l y los costos de cada camino. Si se quiere agregar
heursticas, mejor 4 puntos.

Trabajo Prctico Anual Matemtica Discreta

Ao 2014 Pgina 9

- Realizar una implementacin de un rbol B+, algoritmo de indexado que se ocupa de
mantener una lista ordenada de registros. Elaborar un informe breve sobre las condiciones
particulares que poseen estos tipos de rboles 4 puntos.
Trabajo Prctico Anual Matemtica Discreta

Ao 2014 Pgina 10

Seccin 4: Lenguajes

Presentacin
En este apartado se busca agilizar el uso de los conceptos presentados en la materia respecto a
lenguajes, gramticas y autmatas con un fin mayormente prctico.
Tareas
- Generar una gramtica que cree contraseas vlidas a partir de ciertas reglas de seguridad
definidas en sus producciones. Utilizar criterios como los de contener una mayscula,
longitud dada y elementos alfanumricos 1 punto.

- Generar un autmata que sea capaz de reconocer contraseas vlidas a partir de una serie
de reglas definidas previamente. El autmata debe ser no determinstico 1 punto.

- Investigar el funcionamiento de la mquina de Turing, dar ejemplos de usos y conclusiones
respecto a los temas vistos en la materia 2 puntos.

- Analizar el funcionamiento de un compilador de cdigo y asociarlo con los temas vistos en
la materia 1 punto.

- Estudiar y aplicar en un ejemplo el mtodo de transformacin de un autmata finito no
determinstico en un autmata finito determinstico 2 punto.
Alternativa para Programadores
- Programar un autmata reconocedor de contraseas, indicando los estados por lo que
pas y si la contrasea indicada es vlida o no. Documentar la estructura de la contrasea
usada mediante expresin regular o gramtica 4 puntos.

- Programar un compilador o reconocedor sintctico de nivel bsico. El mismo recibir de
entrada una sentencia como por ejemplo un if: IF <operador> <operacin><operador>
THEN <sentencia> (ELSE <sentencia>). Los trminos entre parntesis son opcionales. El
reconocedor debe indicar si una sentencia de cdigo es correcta o no; por ejemplo: IF a <
b THEN c ELSE d es correcta; IF a = b THEN c es correcta; IF a ELSE c es incorrecta, etc.
Se puede programar para reconocer una o ms sentencias de programacin tradicional
4 puntos.

You might also like