Floyd–Warshall
15 April 2010It was 2am and I had an exercice where I had to do a Floyd–Warshall algorithm over a graph to get the maximum cost among the minimum paths. The numbers on the paper began to blur and I found it way easier to copy the pseudocode from Wikipedia and translate into Python than to actually do it. Am I awesome? Is there something wrong with me?
Here you are.
#n = num of vertices n = 7 #this is my little aproximation to infinity... didn't want to get into the docs m = 1e1000 #this is the matrix that describes de graph path = [[0,4,3,m,m,m,m],[4,0,4,6,m,6,m],[3,4,0,6,m,m,m],[m,6,6,0,4,4,6],[m,m,m,4,0,6,10],[m,6,m,4,6,0,2],[m,m,m,6,10,2,0]] for k in xrange(n): for i in xrange(n): for j in xrange(n): path[i][j] = min ( path[i][j], path[i][k]+path[k][j] ) print path
Setmana santa a Escòcia
06 April 2010DrupalCamp Spain
01 March 2010El cap de setmana passat vaig anar a la DrupalCamp Spain que es va celebrar al CitiLab de Cornellà. Va ser un event força interessant tot i que vaig trobar a faltar més programadors. La majoria dels assistens i conferenciants eren integradors i l’enfoc que tenien moltes de les xerrades era d’un nivell molt bàsic. Tot i això, va ser un bon moment per recollir targetes d’algunes de les empreses i intercanviar experiències. A veure si em trobeu a la foto.
Havel-Hakimi
19 February 2010Avui a classe han presentat l’algorisme Havel-Hakimi per a validar i dibuixar grafs. Després han posat una sèrie d’exercicis i com que no em venia de gust fer-los he buscat una implentació de l’algorisme per internet, i al no trobar-la la he fet jo, a més, et mostra els passos intermitjos per a poder copiar-ho a la pràctica. Aqui la teniu. A veure si aquest cap de setmana puc acabar-ho perquè en calculi les alternatives i ho dibuixi.
def comprova(nodes):
if sum(nodes) % 2 != 0:
print 'la suma se graus no es parell'
return 0
if max(nodes) > len(nodes)-1:
print 'hi ha un node de grau mes gran que el total de nodes'
return 0
if min(nodes) < 0:
print 'hi ha un node de grau negatiu'
return 0
if max(nodes) == 0:
print 'es un graf correcte'
return 0
return 1
# mostra de Butà un hidrocarbó amb fórmula C4H10
nodes = [4,4,4,4,1,1,1,1,1,1,1,1,1,1]
# mostra d'una definició de graf incorrecte
# nodes = [6,5,5,5,5,2,1,1]
while (comprova(nodes)):
print nodes
nodes2 = list(nodes)
nodes.sort()
nodes.reverse()
if nodes!=nodes2: print str(nodes) + " ordenat"
node = nodes.pop(0)
for i in range(node):
nodes[i]=nodes[i]-1
print nodes
if sum(nodes) % 2 != 0:
print ‘la suma se graus no es parell’
return 0
if max(nodes) > len(nodes)-1:
print ‘hi ha un node de grau mes gran que el total de nodes’
return 0
if min(nodes) < 0:
print ‘hi ha un node de grau negatiu’
return 0
if max(nodes) == 0:
print ‘es un graf correcte’
return 0
return 1
nodes = [7,5,4,3,2,2,2]
nodes = [7,6,5,4,4,3,2,1]
nodes = [5,5,3,2,2,1,1]
nodes = [4,3,2,2,2,2,1]
nodes = [6,5,5,5,5,2,1,1]
nodes = [4,4,4,4,1,1,1,1,1,1,1,1,1,1]
while (comprova(nodes)):
print nodes
nodes2 = list(nodes)
nodes.sort()
nodes.reverse()
if nodes!=nodes2: print str(nodes) + ” ordenat”
node = nodes.pop(0)
for i in range(node):
nodes[i]=nodes[i]-1
print nodes
El laberint del Minotaure
04 February 2010Terrassa Fast motion (Time-lapse)
02 February 2010Aranyes
01 February 2010Colònia
25 January 2010Beneït sigui Sant Ryanair. Aquest cap de setmana vem anar amb en Dani a Colònia. Menys neu de la que esperàvem… I la colònia no fa tan bona olor.
Atenes
10 January 2010He estat uns dies fent cultura per Atenes abans que facin fora grècia de la U.E.








