Skip to content

Instantly share code, notes, and snippets.

@ABeltramo
Created December 5, 2017 12:01
Show Gist options
  • Select an option

  • Save ABeltramo/915896ce9a7ec9bcfc7251a4918270ad to your computer and use it in GitHub Desktop.

Select an option

Save ABeltramo/915896ce9a7ec9bcfc7251a4918270ad to your computer and use it in GitHub Desktop.
Pseudocodice R per il framework
INIT <- function(numeroDiNodi){ # INIT() riceve in input il numero di nodi iniziali del framework
Grafo <- inizializzaGrafo() # Crea il grafo globale iniziale
Matrice <- convertiGrafoInMatrice(Grafo) # Converte il grafo prima generato in una matrice
ListaFinale <- vector(mode="list") # Variabile temporanea: lista di tuple
for (i in 1:numeroDiNodi){ # Per ogni suddivisione della matrice creata
SottoMatrice <- dividiMatrice(Matrice, i , numeroDiNodi) # dividiMatrice spezza la matrice per righe
ListaFinale[i] <- list(input = SottoMatrice, # Creo la tupla [input = SottoMatrice
popolazione = randomPopulation()) # popolazione = popolazione randomica
}
return ListaFinale # Restituisco la lista di tuple creata
}
TRAINING <- function(tuplaInput){ # TRAINING() riceve in input una tupla del tipo [input = ..., popolazione = ...]
Grafo <- convertiMatriceInGrafo(tuplaInput.input) # Riconverto in grafo la matrice in input
GAmodel <- ga( # Eseguo l'algoritmo genetico
...
population = tuplaInput.popolazione, # Gli passo la popolazione in input come popolazione iniziale
nBits = Grafo # Passo il grafo che ricevo in input
)
return GAmodel
}
COMBINE <- function(GA1, GA2, tuplaInput1, tuplaInput2){ # COMBINE() riceve in input i due risultati della TRAINING ed i loro input
NuovoInput <- unisciRighe(tuplaInput1.input, tuplaInput2.input) # Genero un nuovo input per il prossimo TRAINING unendo le righe dei due input precedenti
Combinazione <- list(input = NuovoInput, # Genero una tupla combinazione dei due risultati precedenti
popolazione = unisciPopolazioni(GA1, GA2) ) # Passo come popolazione di partenza i best trovati dai due GA eseguiti
return Combinazione # Restituisco la tupla che ho creato
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment