f = open("Compare5000 p variable.txt", 'w') f. write("Ordre,Glouton Matrice\n") p = np.linspace(0.0001, 0.01, 5) n = 5 for v in range(1, 1202, 100) : f.write(str(v) + ",") print(v) graphes = [] for i in range(n) : matAdj = liens(p[i], v) points = np.arange(1, v+1) #les points sont étiquetés de 1 à n graphe = [points.tolist(), [], matAdj] graphe = G.listeArretes(graphe) graphes.append(graphe) t1 = time.time() for i in range(n) : G.estConnexeGlouton(graphes[i]) t2 = time.time() t3= time.time() for i in range(n) : G.estConnexe(graphes[i]) t4 = time.time() f.write(str(20*(t2-t1)) + ' ' + str(20*(t4-t3)) + '\n') f.close()
): #Ordre du graphe --> Complexité quadratique (à partir de 10 ça devient long, au delà de 30 c'est très long et plus grand que 50 c'est turbo long) c = [] #Tableau utilisé pour afficher le graphique f = open("Dot - ordre " + str(n) + ".txt", 'w') #fichier pour stocker les résultats afin de les réutiliser f.write("Ordre " + str(n) + "\n") for i in range(k): print(str(i / k * 100) + "%") s = 0 for j in range( t ): #on crée t matices avec une probabilité de liens i afin de savoir la proportion de matrices connexes en foncttion de la probabilité de liens entre les noeuds matAdj = liens(p[i], n) points = np.arange(1, n + 1) #les points sont étiquetés de 1 à n graphe = [points.tolist(), [], matAdj] graphe[1] = gr.listeArretes(graphe) if gr.estConnexeGlouton(graphe): s += 1 c.append(s / t) f.write(str(p[i]) + " " + str(s / t) + "\n") c = np.array(c) plt.plot(p, c, label="Ordre " + str(n)) plt.legend(loc="upper right") print("Ordre : " + str(n) + " : terminé\n") f.close() plt.xlabel("Probabilité que deux noeuds soient liés") plt.ylabel("Probabilité que le graphe soit connexe") plt.title( "Probabilité de la connexité de graphes d'ordre " + str(n) +