Aiuto funzione di fitness
bebbo realizzare la funzione di fitness in matlab per il seguente problema:
Cercare la stringa di 20 bit contenente il maggior numero di transizioni da 1 a 0, ovvero la successione 10101010101010101010
volevo presi i cromosomi in decimale trasformarli in binario fare un find per trovare le posizioni degli 1 e vedere se il contenuto della posizione dopo l'1 è 0
penso che come idea sia giusta ma ho qualche problema ha implementarla in matlab
Grazie
Cercare la stringa di 20 bit contenente il maggior numero di transizioni da 1 a 0, ovvero la successione 10101010101010101010
volevo presi i cromosomi in decimale trasformarli in binario fare un find per trovare le posizioni degli 1 e vedere se il contenuto della posizione dopo l'1 è 0
penso che come idea sia giusta ma ho qualche problema ha implementarla in matlab
Grazie
Risposte
per vedere quali posizioni hanno un bit che differiscono da quello precedente basterebbe fare una bitwise xor tra la parola binaria e la stessa shiftata di una posizione
facendo cisì dovrei usare un ciclo for ed il prof non li vuole
no, perché un ciclo for?
scusa ho cominciato da poco ad usare matlab come verrebbe implementata la tua idea
per lo shift cerca 'circshift' o qualcosa del genere, per la xor cerca 'xor'
un problema non esiste la funzione bitwise
sì, è solo un'espressione che indica la xor fatta bit per bit
sì, è solo un'espressione che indica un'operazione fatta bit per bit