Problema con tablas

sasha13
04 de Septiembre del 2004
Tengo que realizar un programa que haga lo siguiente:
La tarea consiste en desarrollar un programa que permita generar texto aleatorio a partir de muestras tomadas de un texto de entrada usando un algoritmo basado en cadenas de Markov.
El programa debe funcionar de la siguiente manera:
Debe haber una tabla de "prefijos" y "sufijos". Los prefijos son secuencias de N palabras que aparecen en el texto de entrada y los sufijos están constituidos por una lista de cada ocurrencia de cada palabra que siga el prefijo en el texto o un carácter especial que indique <FIN> en caso de que se trate de la última secuencia del texto de entrada.
El programa debe producir una salida en la que se recorra la tabla a partir de un prefijo (preferiblemente el inicial) y generar la siguiente palabra a partir de uno de los sufijos asociados, repitiendo el proceso hasta un número máximo M de palabras generadas o haste que se encuentre el sufijo especial FIN.
El programa debe aceptar como parámetros opcionales de línea de comando los siguientes valores:
· nombre del archivo de entrada
· nombre del archivo de salida
· N (número de palabras en el prefijo). A medida que N es más pequeño el programa tenderá a producir texto más aleatorio. A medida que N crece, el programa tenderá a reproducir el texto original.
· M (número máximo de palabras a generar en la salida)
Los valores por defecto para los parámetros deben ser:
· entrada estándar como archivo de entrada (System.in)
· salida estándar como archivo de salida (System.out)
· N=2
· M=10000
Sugerencias:
· El carácter o palabra utilizado para indicar FIN debe ser una palabra imposible de encontrar en el texto.
· Utilice una tabla hash para la asociación entre prefijos y sufijos
· Considere que los signos de puntuación forman parte de las palabras. Esto hace que el texto generado en ocasiones viole ciertas reglas (e.g. Paréntesis), pero en general genera texto de salida de mejor calidad.

No tengo ni la menor idea de que me piden, y mucho menos que debe hacer!!!!

AYUDA!!!!! x fa

Lucas
04 de Septiembre del 2004
Puedes empezar por mirarte el temario de la asignatura, conseguir los apuntes, empollartelos, saber lo que son las cadenas de Markov... Despues puedes empezar por aprender JAVA con algun tutorial o manual. Despues, basicamente te piden un programa de consola que lea un fichero y lo proceso mediante cadenas de Markov, asi que basicamente necesitas saber algo de java.io, la sintaxis de java, resolver problemas diseñando para ello un cierto algoritmo y por supuesto, el tal Markov ese.
Si eres un poco mas explicito y concreto podremos ayudarte.

sasha13
04 de Septiembre del 2004
Ese fue el enunciado del problema que me dejaron, por lo que he leido tienes bastante experiencia con java, y tu necesitas mas explicacion, que quedara para mi que apenas tengo semestre y medio estudiando java... el prof. no es muy entendible ni explicito que se diga... Creo que voy a guindar los guantes, he tratado de ponerle gans pero se me hace bastante dificil...