Author Archive
Tuesday, August 25th, 2009
Biomimicry è una nuova disciplina scientifica che si pone l’obiettivo di implementare tecnologicamente alcune strategie tipiche della natura, la quale si dimostra essere nella maggior parte dei casi di gran lunga più efficiente di noi. Dopo essermi interessato all’argomento sono rimasto piacevolmente colpito dalle opportunità che questa studi promettono di offrirci.
(more…)
Tags: Biomimicry, Janine Benyus
Posted in Approfondimenti | Comments Off on Biomimicry: apprendere dalla natura
Wednesday, August 5th, 2009
Poche righe per annunciarvi che stò sperimentando Google FriendConnect come alternativa ai classici commenti di WordPress, ho scelto questa strada perchè trovo interessante che le persone che leggono questo blog possano utilizzare un account che già possiedono per esprimere le proprie opinioni; inoltre l’intera struttura ‘zoom’ del blog avrebbe richiesto non pochi interventi per portare su AJAX l’http post propedeutico all’invio di un commento.
(more…)
Posted in Uncategorized | Comments Off on Google FriendConnect
Friday, July 31st, 2009
Sembra che oramai si sia instaurata una sorta di simbiosi tra questo blog e quello di Eineki; questo articolo infatti trae spunto dal suo ultimo golf programming contest e dai due algoritmi che ho analizzato come candidati alla soluzione.
Il problema da risolvere è abbastanza intuitivo; dato un set di segmenti identificati da coppie di interi [inizio, fine] bisogna fondere tra loro i segmenti che si sovrappongono.
(more…)
Tags: Copertura di un segmento, Erlang
Posted in Algoritmi | Comments Off on Alcune osservazioni sull’algoritmo di copertura di un segmento
Sunday, June 28th, 2009
Questa volta Eineki ci propone un quiz classico che però presenta sempre interessanti spunti: le permutazioni.
(more…)
Tags: Erlang, Golf Programming, Permutazioni, Tail Recursion
Posted in Uncategorized | Comments Off on Golf Programming: permutazioni
Sunday, June 7th, 2009
Update – 18/06 : ieri sera ho tenuto una presentazione su questo tema al Ruby Social Club: ne approfitto quindi per aggiornare questo post con il link alle slide che ho utilizzato.
Negli ultimi mesi sono emerse le prime applicazioni che fanno uso di algoritmi di riconoscimento oggetti e, più specificatamente, volti. Cito, ad esempio, Picasa ed il filtro per visionare solo le facce in Google Images ma la lista di chi ha deciso di incorporare al suo interno questa funzionalità è decisamente più lunga.
Mi sono interessato subito al lato tecnico di questa nuova feature (grazie anche ad un ottimo speech ascoltato all’Erukuo 2009) imbattendomi in un particolare classificatore chiamato ‘cascade of boosted classifiers working with haar-like features’ che funziona nel seguente modo:
(more…)
Tags: HaarClassifier, OpenCV, Riconoscimento Facciale
Posted in Algoritmi, Librerie | Comments Off on Face recognition con Ruby e OpenCV
Friday, May 1st, 2009
Stavo navigando tra i miei feed RSS quando ho trovato questo interessantissimo articolo, ovviamente non ho resistito all’idea di cercare di sviluppare una soluzione usando Ruby ed il minor numero di linee di codice possibile:
(more…)
Tags: Golf Programming
Posted in Algoritmi | Comments Off on L’interessante spunto del Golf Programming
Sunday, April 26th, 2009
Conoscevo Google Map e le sue fantastiche API ma solo di recente ho deciso di spulciare un pò più a fondo la sua documentazione e ho scoperto la notevole possibilità di modificare i tiles visualizzati da Google Map trasformando questo strumento da strettamente cartografico a ZUI (zoomable user interface).
Come funziona? Bisogna istanziare un nuovo oggetto della classe GTileLayer e specificarne all’interno una funzione che, ricevuti due parametri (un oggetto GPoint e un numero indicativo del livello di zoom) sappia ritornarne l’immagine appropriata.
Nel prossimo articolo andrò un pò più nel dettaglio, per il momento vi lascio a questa proof-of-concept che potrebbe trasformarsi, a breve, nella gallery ufficiale del sito.
Tags: Google Map, Tiles
Posted in Algoritmi, Interfaccie | Comments Off on Un nuovo tile engine per google map
Sunday, March 22nd, 2009
Grazie all’appuntamento settimanale con i Ruby Quiz oggi sono venuto a conoscenza del Midpoint displacement algorithm, utilissimo per la generazione di una spezzata che simuli la silhouette di una catena montuosa.
Questo algoritmo basa la sua operatività essenzialmente su di un array contenente le altezze dei punti che compongono la spezzata. Tale array all’inizio presenterà solamente due valori (capo e coda dell’intero profilo che vogliamo creare), entrambi settati a 0.
(more…)
Tags: Midpoint displacement algorithm, Ruby Quiz, Shoes
Posted in Algoritmi | Comments Off on Midpoint displacement algorithm
Sunday, February 15th, 2009
Nell’ottica di un progetto un pò più grande che vorrei portare avanti (e del quale spero di poter scrivere qualcosa nel prossimo futuro) ho speso gli ultimi giorni per trovare un modo col quale interfacciarmi con un file audio utilizzando Ruby.
La risposta è arrivata da ruby-audio, un wrapper Ruby costruito (nell’ormai lontano 2005) intorno a libsndfile del quale ripropone i metodi consentendoci di utilizzare una sintassi come la seguente:
(more…)
Posted in Uncategorized | Comments Off on Rappresentazione di un file Audio con Ruby
Sunday, January 18th, 2009
Il reinforcement learning (o apprendimento con rinforzo) è una approcio che appartiene alla categoria dei sistemi intelligenti e che si applica a tutte quelle casistiche nelle quali un agente deve esplorare ed interagire con l’ambiente circostante.
(more…)
Tags: Apprendimento con Rinforzo, Processing, Q-learning, Reinforcement Learning
Posted in Algoritmi | Comments Off on Q-learning con processing.org