Este proyecto implementa el algoritmo de onda Echo para redes no dirigidas. Para simular una ejecución realista en cada repetición del algoritmo, los nodos que pueden ejecutar el protocolo se generan al azar.
Dependiendo del propósito de la red, se debe seleccionar una estructura de red apropiada porque existe una correlación entre el patrón de conexión de la red, el costo y el tiempo de la red. Por lo tanto, el tiempo de ejecución se cae cuando la conectividad de la red es fuerte, pero esto aumenta el costo (mensajes totales enviados) y produce árboles poco profundos. Por otro lado, si una red no está bien conectada, el costo disminuye pero el tiempo aumenta y la profundidad del árbol.
La entrada se lee mediante un archivo .txt que debe ubicarse en la carpeta SRC/ Resources/. Este archivo debe tener un patrón único que debe seguirse para que el programa se ejecute correctamente. Se deben seguir las reglas que se describen a continuación:
La primera línea del archivo debe ser el tamaño del gráfico. (para evitar leer el archivo dos veces)
Cada una de las líneas de descanso debe representar un borde con el siguiente formato: '$ Integer + Space || Tab + $ Integer' (por ejemplo, línea "3 2" o "3 2" significa que los nodos con valor 3 y 2 están conectados).
Cada valor de nodo (val) debe ser un entero y satisfacer la siguiente desigualdad: 0> = val> Graphsize. Se recomienda encarecidamente, ya que se han utilizado estructuras estáticas,
que todos los valores de los nodos, en el rango de [0, gráfico) se usan para evitar la asignación de memoria innecesaria, también asegúrese de que el gráfico esté conectado de otra manera, el algoritmo no terminará, ya que realizar el algoritmo en los componentes conectados del gráfico aún no se ha implementado.
@src.uk.ac.ncl.echo.USealGorithm#Main: si desea probar su archivo, agregue el nombre del archivo en la matriz de cadena InputFileName y el archivo en sí en la carpeta src/ recursos/.
@src.uk.ac.ncl.echo.usealgorithm: se declaran dos constantes para ayudar a sacar las conclusiones del informe. Si cambia test = true, el modo de prueba está habilitado y cada gráfico ejecutará los tiempos de algoritmo test_runs. Luego se crea un resultado.txt que contiene los resultados de la prueba.
@src.uk.ac.ncl.echo.eCowavealgorithm: K está configurado en 2 por defecto.