Tarea 4 de Bioinformática, especificaciones detalladas Esta tarea consiste en diseñar e implementar eficientemente una serie de algoritmos para resolver problemas relacionados con el área de Combinatorial Pattern Matching. Para ello podrá usar el lenguaje de programación de su preferencia. Como parte de la tarea debe entregar el código fuente documentado de sus programas, ası́ como un reporte (en Latex) indicando los detalles de sus implementaciones y las instrucciones para compilar/ejecutar los programas. Los programas deben ejecutarse desde la lı́nea de comandos, junto con el comando time de linux para medir el tiempo de cómputo empleado. Problema 1 Encontrar la subcadena exacta más larga que aparece en un texto (problema 9.8 del libro de Jones y Pevzner). El programa recibe los siguientes parámetros: 1. Archivo de entrada. Contiene las instancias a resolver con el algoritmo y tiene el siguiente formato: Contiene N lı́neas (instancias) cada una de hasta 100,000 caracteres Cada lı́nea está delimitada por un salto de lı́nea Los caracteres en el archivo de entrada están codificados en ASCII. 2. Archivo de salida. Contiene los resultados del algoritmo y tiene el siguiente formato: Contiene N lı́neas, una por cada instancia resuelta, y están delimitadas por un salto de lı́nea Las lı́neas tienen los siguientes datos separados por comas: número de instancia, cadena encontrada, longitud de la cadena, nombre del alumno Problema 2 Encontrar la subcadena más larga compartida entre dos textos (problema 9.11 del libro de Jones y Pevzner). El programa debe recibir los siguientes parámetros: 1. Archivo de entrada. Contiene las instancias a resolver con el algoritmo y tiene el siguiente formato: Contiene 2 ∗ N lı́neas cada una de hasta 100,000 caracteres, donde N es el número de instancias a resolver Cada lı́nea está delimitada por un salto de lı́nea Los caracteres en el archivo de entrada están codificados en ASCII. 2. Archivo de salida. Contiene los resultados del algoritmo y tiene el siguiente formato: Contiene N lı́neas, una por cada instancia resuelta, y están delimitadas por un salto de lı́nea Las lı́neas tienen los siguientes datos separados por comas: número de instancia, cadena encontrada, longitud de la cadena, nombre del alumno 1 Problema 3 Encontrar la subcadena más corta que aparece solamente una vez en un texto (problema 9.12 del libro de Jones y Pevzner). El programa debe ejecutarse con los siguientes parámetros: 1. Archivo de entrada. Contiene las instancias a resolver con el algoritmo y tiene el siguiente formato: Contiene N lı́neas (instancias) cada una de hasta 100,000 caracteres Cada lı́nea está delimitada por un salto de lı́nea Los caracteres en el archivo de entrada están codificados en ASCII. 2. Archivo de salida. Contiene los resultados del algoritmo y tiene el siguiente formato: Contiene N lı́neas, una por cada instancia resuelta, y están delimitadas por un salto de lı́nea Las lı́neas tienen los siguientes datos separados por comas: número de instancia, cadena encontrada, longitud de la cadena, nombre del alumno 2