GitHub lancia un concorso alla NetFlix

Pappy Van WinkleIspirati forse dal successo del concorso indetto da NetFlix e recentemente conclusosi, il team di GitHub ha deciso di creare un proprio concorso, anch’esso basato sulla creazione di un algoritmo di raccomandazione efficiente. Questa volta, non si tratta di gusti cinematografici, bensì di respository software.

Lo scopo del concorso è di creare un programma open source in grado di raccomandare repository ospitate presso GitHub agli utenti del sito.

I programmi saranno accettati fino alle 9 di sera del 30 di agosto (ora italiana). In palio c’è una bottiglia di whiskey (un Pappy Van Winkle dell’89) per celebrare la vittoria e un account “large” presso GitHub, vita natural durante. I premi sono certamente più contenuti rispetto a quelli del milionario NetFlix Prize, ma possono comunque incentivare la partecipazione.

Chi volesse partecipare può leggere le regole e scaricare il dataset di esempio dal sito del concorso. Agli altri non rimane che tenere d’occhio la leaderboard contenente i risultati delle candidature pervenute sinora, fino all’annuncio dei vincitori tra un mese esatto.

Le avventure di un Pythonista in Schemeland /5

Il sottotitolo di questa puntata potrebbe essere “I pericoli del
benchmark”. I benchmark sono utili negli articoli, in quanto
suscitano discussioni e accesi dibattiti e costituiscono
un trucco strategico per attirarsi lettori.
D’altra parte, il pericolo maggiore dei benchmark è quello di
crederci: parafrasando Mark Twain there are lies, damned lies, and
benchmarks
. Questo vuol dire non soltanto che i benchmark lasciano il
tempo che trovano perché la realtà è diversa dal benchmark, ma anche
che è facilissimo sbagliare un benchmark o non interpretarlo
correttamente. In questa puntata mostrerò alcuni dei pericoli
inerenti al benchmark del fattoriale mostrato nella puntata precedente,
che pure potrebbe sembrare banale ed inoppugnabile. Se un benchmark
così semplice è così delicato, vi lascio immaginare che succede per
benchmark più complessi. L’unico vantaggio dei benchmark è che spesso e
volentieri fanno capire quanto siano sbagliati i pregiudizi che
abbiamo sull’efficienza di una certa soluzione rispetto all’efficienza
di un’altra soluzione.

[Read more…]

Progetto Eulero: Problema 15

Quindicesimo problema di Eulero. Dopo aver affrontato in sequenza i primi tre problemi del progetto Eulero, per mantener fede alla nostra onorata aperiodicità saltiamo a piè pari al problema numero 15.

Con questo problema abbandoniamo, almeno in apparenza, numeri e sequenze e per la prima volta affrontiamo un enunciato che richiede un’immagine:

Partendo dall’angolo in alto a sinistra in una griglia di dimensione 2 per 2, ci sono 6 percorsi che vanno (scendendo o verso il basso o verso destra, senza mai tornare indietro) fino all’angolo in basso a destra:

Griglia 2x2

Quanti percorsi simili ci sono in una griglia di dimensione 20 per 20?

[Read more…]

Progetto Eulero: Problema 3

Terzo problema di Eulero.Il problema
3
del Progetto Eulero ha un enunciato molto
semplice:

I fattori primi di 13195 sono 5, 7, 13 e 29.

Qual è il più grande fattore primo del numero 317584931803?

Anche l’algoritmo per trovare i fattori primi di un numero è molto
semplice, se ne fa la conoscenza nelle scuole elementari:

[Read more…]

Progetto Eulero: Problema 2

Secondo problema di Eulero.La scorsa settimana abbiamo introdotto il primo di quella che sarà una lunga serie di articoli riguardanti Project Euler. Ringrazio coloro che hanno bloggato circa l’iniziativa o hanno commentato direttamente nel sito, mostrandoci soluzioni persino in GW-Basic e Lua.

Fatti i dovuti ringraziamenti, passiamo subito al problema numero 2, così enunciato:

Ogni nuovo termine nella sequenza di Fibonacci è generato dalla somma dei due termini precedenti. Partendo con 1 e 2, i primi dieci termini saranno:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …
Trova la somma di tutti i termini pari nella sequenza, che non eccedono un milione.

[Read more…]

Progetto Eulero: Problema 1

Primo problema. Livello: Facile.Project Euler è un sito che propone più di un centinaio di problemi a carattere matematico. Alcuni di questi possono essere affrontati con carta, penna e un pizzico di astuzia matematica, ma di base si tratta di una sfida algoritmica pensata per programmatori e appassionati di programmazione. C’è da chiedersi se la sfida sia più tra le migliaia di programmatori (con tanto di classifica) o contro se stessi. Infatti Project Euler è ideale per rinfrescarsi la memoria in materia di algoritmi e matematica, oltre ad essere un valido ausilio per misurare i propri progressi nello studio di un nuovo linguaggio di programmazione.

[Read more…]