Este projeto implementa o algoritmo de onda de eco para redes não direcionadas. Para simular uma execução realista em cada repetição do algoritmo, os nós que são capazes de executar o protocolo são gerados aleatoriamente.
Dependendo do objetivo da rede, uma estrutura de rede apropriada deve ser selecionada porque existe uma correlação entre o padrão de conexão da rede, o custo e o tempo da rede. Portanto, o tempo de execução é retirado quando a conectividade da rede é forte, mas isso aumenta o custo (tota de mensagens enviadas) e produz árvores superficiais. Por outro lado, se uma rede não estiver bem conectada, o custo diminui, mas o tempo aumenta e a profundidade da árvore.
A entrada é lida por um arquivo .txt que deve estar localizado na pasta SRC/ Resources/. Este arquivo deve ter um padrão exclusivo que deve ser seguido para que o programa seja executado corretamente. As regras descritas abaixo devem ser seguidas:
A primeira linha do arquivo deve ser o tamanho do gráfico. (para evitar a leitura do arquivo duas vezes)
Cada uma das linhas de restos deve representar uma borda com o seguinte formato: '$ inteiro + espaço || guia + $ inteiro' (por exemplo, linha "3 2" ou "3 2" significa que os nós com o valor 3 e 2 estão conectados).
Cada valor do nó (Val) deve ser um número inteiro e satisfazer a seguinte desigualdade: 0> = Val> GraphSize. É fortemente aconselhado, uma vez que as estruturas estáticas foram usadas,
Que todos os valores de todos os nós, no intervalo de [0, GraphSize), são usados para evitar a alocação de memória desnecessária também garante que o gráfico esteja conectado, caso contrário, o algoritmo não terminou, pois executar o algoritmo nos componentes conectados do gráfico ainda não implementou
@src.uk.ac.ncl.echo.UsealGorithm#Main: Se você deseja testar seu arquivo, adicione o nome do arquivo na matriz de string inputFileName e o próprio arquivo na SRC/ Resources/ Pasta.
@src.uk.ac.ncl.echo.UsealGorithm: Duas constantes são declaradas para ajudar a tirar as conclusões do relatório. Se você alterar o teste = true, o modo de teste será ativado e cada gráfico executará o algoritmo test_runs Times. Então um resultado.txt é criado contendo os resultados do teste.
@src.uk.ac.ncl.echo.echowavealgorithm: k é definido como 2 por padrão.