Significations de fonctions python
Bonjour,
Je suis débutante en python et j'aimerais savoir ce que font exactement les fonctions des programmes suivants :
def makeTSP(nCities)
positions = 2*random.rand(nCities,2)-1;
distances = zeros((nCities,nCities))
for i in range(nCities):
for j in range(i+1,nCities):
distances[i,j] = sqrt((positions[i,0] - positions[j,0])**2 + (positions[i,1] - positions[j,1])**2);
distances[j,i] = distances[i,j];
return distances
def greedy(distances):
nCities = shape(distances)[0]
distanceTravelled = 0
# Need a version of the matrix we can trash
dist = distances.copy()
cityOrder = zeros(nCities)
cityOrder[0] = random.randint(nCities)
dist[:,cityOrder[0]] = Inf
for i in range(nCities-1):
cityOrder[i+1] = argmin(dist[cityOrder[i],:])
distanceTravelled += dist[cityOrder[i],cityOrder[i+1]]
# Now exclude the chance of travelling to that city again
dist[:,cityOrder[i+1]] = Inf
# Now return to the original city
distanceTravelled += distances[cityOrder[nCities-1],0]
return cityOrder, distanceTravelled
c'est à dire les fonctions random.rand, zeros, range, shape, rand.int, le remplissage de matrice etc...
Cordialement