[bcn-pm] Perl Golf

Xavier Noria fxnahashref.com
Diu Jul 1 10:23:56 PDT 2007


Van uns punters sobre Perl Golf, que varem comentar a l'ultima reunio.

Es tracta de concursos on es proposa resoldre un problema, amb la  
particularitat de que les solucions no nomes han de ser correctes  
sino que cal que tinguin el minim nombre de caracters possibles. A  
mes hi sol haver alguna regla de desempat, com ara que en cas  
d'emptat guanya qui fa anar mes simbols, o quelcom d'aquest estil.

La mecanica es que es comença, s'envia l'enunciat, i hi ha un  
deadline (en els TPRs eren varios dies). Quan tens una solucio  
l'envies als referees del concurs, que la validen i mantenen un  
leaderboard public on apareixe el millor score de cadascu (que te la  
gracia que et pica, perque veus que manifestament es possible fer-ho  
en menys del que tu tens).

Hom pot enviar tantes solucions com vulgui, normalment n'envies  
bastantes. Com que juga gent d'arreu del mon idealment hi ha referees  
en distintes zones horaries per tal que l'impas fins a acceptar/ 
rebutjar una solucio sigui petit. Aquest seria un leaderboard:

   http://perlgolf.sourceforge.net/cgi-bin/PGAS/leader.cgi?course=6

Els referees que veuen les aproximacions i trucs de tothom de vegades  
son capaços d'idear una solucio millor, que mantenen en secret, pero  
que publiquen en el leaderboard amb el nick "BoB". Jo vaig ser  
referee en un parell de concursos i us ben asseguro que es molt  
emocionant veure les idees de la gent, com molts arriben a trucs  
similars per si sols per evolucio de la solucio, etc.

El golf no te com a objectiu obfuscar, pero es consequencia de  
l'objectiu que el codi es insondable. Aqui desgrano una mica la  
solucio al problema del postorder que vaig esmentar a la reunio,  
perque veieu la pinta que tenen:

   http://advogato.org/person/fxn/diary.html?start=116

En acabar un concurs es publica el leaderboard definitiu, ara  
mostrant les solucions.

Alerta que enganxa molt fort aixo :-).

-- fxn



Més informació de la llista de correu Barcelona-pm