Archive for the ‘Informatica’ Category
Reti neurali attraverso algoritmi genetici in C++. Parte V
12 December 2008
In questa penultima parte della serie di articoli dedicati alle reti neurali, vedremo come creare una classe che riunisca tutto cio’ che abbiamo programmato in precedenza e ne renda piu’ facile l’utilizzo. Era gia’ possibile utilizzare le classi cosi’ com’erano, ma in questo modo ci rendiamo la vita piu’ semplice. Inoltre c’e’ da notare che quello che faremo oramai non ho molto a che fare con l’implementazione della rete, ma e’ piu’ una questione di ordine e OOP.
Tags: Algoritmi genetici, C++, Intelligenza artificiale, Reti neurali
Pubblicato in Informatica | Commenti (0)
Reti neurali attraverso algoritmi genetici in C++. Parte IV
9 December 2008
Le classi Chromosome e Population.
Abbiamo finito l’implementazione della rete ed ora possiamo passare alla parte relativa all’addestramento della stessa, che come ho già detto, verrà realizzata tramite algoritmi genetici. Vediamo la classe Chromosome:
Tags: Algoritmi genetici, Intelligenza artificiale, Reti neurali
Pubblicato in Informatica | Commenti (1)
TWM: Tab Window Manager
2 December 2008
Le interfacce grafiche straripanti di effetti grafici abbondano, e tra Windows Vista e Beryl i cicli macchina ormai si sprecano come il cibo. Fortunatamente c’è ancora gente che dopo aver esclamato “wow” si rende conto che il sistema è sì più attraente ma l’usabilità e la velocità sono dimezzate.
In questo articolo parlerò del noto – anche se non sono sicuro che sia poi così noto – window manager TWM (Tab Window Manager), in cui nutro parecchia simpatia. Leggi il resto »
Tags: configurazione, TWM, window manager
Pubblicato in Informatica | Commenti (2)
Un nuovo metodo per visualizzare l’insieme di Mandelbrot: il Buddhabrot.
1 December 2008
Chi si interessa di matematica avrà sicuramente sentito parlare di quelle meravigliose figure che sono i frattali. In questo articolo vi parlerò di un metodo particolare, chiamato Buddhabrot, per visualizzare l’insieme di Mandelbrot che è uno dei frattali più famosi. Per questo motivo darò per scontati alcuni concetti di base e anche la conoscenza dell’insieme di Mandelbrot. L’articolo sarà corredato dal codice di un programma in C++, che è lo stesso che ho usato per renderizzare le immagini presenti in questo articolo.
Leggi il resto »
Tags: Buddhabrot, Frattali, Mandelbrot
Pubblicato in Informatica | Commenti (5)
Reti neurali attraverso algoritmi genetici in C++. Parte III
28 November 2008
IMPLEMENTAZIONE
Ok, siamo arrivati alla parte più tecnica cioè all’implementazione vera e propria della rete. Ho scelto di utilizzare il C++ e di programmare tutto ad oggetti perchè, anche se questo approccio sacrifica forse un po’ la velocità, rende, almeno per me, il tutto più comprensibile e riutilizzabile (dalle classi che qui espongo ho costruito poi una libreria per l’utilizzo delle reti neurali).
Tags: Algoritmi genetici, C++, Intelligenza artificiale, Reti neurali
Pubblicato in Informatica | Commenti (0)
Algoritmi steganografici
24 November 2008
Nel precedente articolo avevo parlato dell’algoritmo LSB, che è il capostipite degli algoritmi steganografici basati sulla sostituzione dei bit ridondanti. In questo articolo descriverò abbastanza dettagliatamente uno degli algoritmi steganografici più utilizzati, ovvero quello di Andrew Brown, fra l’altro implementato in un software chiamato S-Tools. Leggi il resto »
Tags: permutazione, S-Tools, Steganografia, Texto
Pubblicato in Informatica | Commenti (2)
Reti neurali attraverso algoritmi genetici in C++. Parte II
23 November 2008
Algoritmi genetici.
Gli algoritmi genetici sono algoritmi particolari che si ispirano all’evoluzione naturale delle specie descritta da Darwin. Essi sono molto utilizzati nel risolvere problemi nei quali lo spazio di ricerca delle soluzioni non è ben definito e garantiscono sempre un avvicinamento alla soluzione ideale del problema. In un algoritmo genetico ogni individuo (cromosoma) possiede un DNA che rappresenta una potenziale soluzione del problema. Una popolazione di un certo numero di individui con DNA casuale viene creata e su di essa agiscono varie operazioni atte a simulare la selezione naturale per scegliere via via quelli che più si avvicinano alla soluzione desiderata. Il DNA di ogni individuo è in genere una soluzione del problema codificata in modo da facilitare le operazioni genetiche che bisogna fare su di essa (crossover, mutazioni genetiche, etc…, le vedremo fra poco).
Tags: Algoritmi genetici
Pubblicato in Informatica | Commenti (5)
Reti neurali attraverso algoritmi genetici in C++. Parte I
19 November 2008
PREFAZIONE
Le reti neurali sono un argomento molto ostico per molti all’inizio.
Anche io per riuscire ad implementare la mia prima rete neurale funzionante ci ho impiegato molto tempo ma ho soprattutto dovuto provare e riprovare più volte passando per diversi fallimenti. Mi sono accorto che molti dei tutorial che si trovano in giro tralasciano alcuni aspetti o li spiegano in maniera poco chiara, e tra l’altro i tutorial in lingua italiana sull’argomento sono anche pochi.
Con questo tutorial cercherò di creare un documento che comprenda almeno le basi per rendere chiunque lo legga, ed abbia alcuni prerequisiti elencati in seguito, capace di implementare una rete neurale.
Leggi il resto »
Tags: Algoritmi genetici, C++, Intelligenza artificiale, Reti neurali
Pubblicato in Informatica | Commenti (0)
Introduzione alla steganografia digitale
19 November 2008
Introduzione
La parola steganografia significa letteralmente – in greco – “scrittura nascosta”, e questo vi potrebbe far pensare subito alla crittografia in quanto anche questa, in un certo senso, ha lo scopo di occultare dei messaggi. Tuttavia fra le due c’è una differenza sostanziale: mentre la crittografia si preoccupa di rendere un messaggio illeggibile agli occhi di una persona non autorizzata, la steganografia fa in modo che una persona non autorizzata non si renda nemmeno conto dell’esistenza del messaggio in questione, malgrado esso sia totalmente in chiaro. La fusione delle due tecniche, cioè steganografare un messaggio criptato, è un ottima soluzione per aumentare il livello di sicurezza. Leggi il resto »
Tags: LSB, Steganografia, Watermark
Pubblicato in Informatica | Commenti (3)
