From b41ef425e5e9f8ab1e567e38b17f250bf4a75c75 Mon Sep 17 00:00:00 2001 From: couchot Date: Wed, 4 Dec 2013 15:58:49 +0100 Subject: [PATCH 1/1] ajout dune image --- IWCMC14/SensorNetwork.png | Bin 0 -> 17107 bytes exp_controle_asynchrone/simulMWSN.py | 80 ++++++++++++++++++++++----- 2 files changed, 66 insertions(+), 14 deletions(-) create mode 100644 IWCMC14/SensorNetwork.png diff --git a/IWCMC14/SensorNetwork.png b/IWCMC14/SensorNetwork.png new file mode 100644 index 0000000000000000000000000000000000000000..14bc26297b7d684b7f546698a27873254665df83 GIT binary patch literal 17107 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 literal 0 HcmV?d00001 diff --git a/exp_controle_asynchrone/simulMWSN.py b/exp_controle_asynchrone/simulMWSN.py index bf17462..41e82c6 100644 --- a/exp_controle_asynchrone/simulMWSN.py +++ b/exp_controle_asynchrone/simulMWSN.py @@ -7,14 +7,14 @@ from itertools import * from scipy import optimize as opt from copy import deepcopy import sys as sy - - +import cv as cv +import cv2 as cv2 error = 0.1 epsilon = 1E-10 vrate = 0.8 p = 0.7 coteCarre = 50 -distanceEmmissionMax = 30 +distanceEmmissionMax = 20 nbiter = 1000 POS = 1 POS_NUL = 2 @@ -32,6 +32,9 @@ lg = [(0, 1, 22.004323820359151), (0, 2, 28.750632705280324), (0, 3, 29.68069293 #lg= [(0,1,23),(1,0,15),(1,2,45)] sink = n-1 +def distance(d1,d2): + return mt.sqrt(sum([(d1[t]-d2[t])**2 for t in d1])) + def genereGraph(): test = False @@ -46,7 +49,53 @@ def genereGraph(): G.add_edge(io,ie,weight=dist) G.add_edge(ie,io,weight=dist) test = not(any([ not(nx.has_path(G,o,sink)) for o in G.nodes() if sink in G.nodes() and o != sink])) - return G + return (G,l) + + +def afficheGraph(G,l,tx,ty,sink): + r = 20 + img = cv.CreateImage ((tx, ty), 32, 3) + cv.Rectangle(img, (0,0),(tx,ty), cv.Scalar(255,255,255), thickness=-1) + def px((x,y)): + return(int(tx*x/coteCarre),ty-int(ty*y/coteCarre)) + for i in set(range(len(l)))-set([sink]): + (x,y) = l[i] + pix,piy = px((x,y)) + demx = distanceEmmissionMax*tx/coteCarre + cv.Circle(img, (pix,piy),demx, cv.Scalar(125,125,125)) + + for i in set(range(len(l)))-set([sink]): + (x,y) = l[i] + pix,piy = px((x,y)) + cv.Circle(img, (pix,piy),r, cv.Scalar(125,125,125),thickness=-1) + + #sink + (x,y) = l[sink] + pix,piy = px((x,y)) + + cv.Rectangle(img, (pix-r/2,piy-r/2),(pix+r/2,piy+r/2), cv.Scalar(125,125,125), thickness=-1) + + for i in range(len(l)): + for j in range(len(l)): + + if np.linalg.norm(np.array(l[i])-np.array(l[j])) < distanceEmmissionMax : + (xi,yi) = l[i] + pixi,piyi = px((xi,yi)) + (xj,yj) = l[j] + pixj,piyj = px((xj,yj)) + cv.Line(img, (pixi,piyi), (pixj,piyj), cv.Scalar(125,125,125)) + + + """ + for i in range(len(l)): + (x,y) = l[i] + pix,piy = px((x,y)) + print i + textColor = (0, 0, 255) # red + font = cv2.FONT_HERSHEY_SIMPLEX + imgp = + cv2.putText(img, str(i), (pix-r/4,piy-r/2),font, 3.0, textColor)#,thickn """ + cv.SaveImage("SensorNetwork.png",img) G = nx.DiGraph() G.add_weighted_edges_from(lg) @@ -56,6 +105,18 @@ G.add_weighted_edges_from(lg) #nx.draw(G) #pb.show() +(G,l) = genereGraph() +N = G.nodes() +#V = list(set(sample(N,int(len(N)*vrate)))-set([sink])) +V = list(set(N)-set([sink])) +source = V +print "source",source +afficheGraph(G,l,500,500,sink) +#nx.draw(G) +#pb.show() + + + @@ -64,16 +125,9 @@ G.add_weighted_edges_from(lg) #print G.edges(data=True) #TODO afficher le graphe et etre sur qu'il est connexe -N = G.nodes() - -#V = list(set(sample(N,int(len(N)*vrate)))-set([sink])) -V = list(set(N)-set([sink])) -source = V -print "source",source - L = range(len(G.edges())) d = [di['weight'] for (_,_,di) in G.edges(data=True)] @@ -146,8 +200,6 @@ def aminp(l): -def distance(d1,d2): - return mt.sqrt(sum([(d1[t]-d2[t])**2 for t in d1])) def AfficheVariation (up,vp,lap,wp,thetap,etap,qp,Psp,Rhp,xp,valeurFonctionDualep): @@ -311,7 +363,7 @@ def maj(k,maj_theta,mxg,idxexp): def f_Ps(psh,h): #print "ds f_ps",psh, v[h]* mt.log(float(sigma2)/D)/(gamma*((psh**2)**(float(2)/3))) +la[h]*psh return v[h]* mt.log(float(sigma2)/D)/(gamma*mt.pow(float(2)/3)) +la[h]*psh - for h in V: + for h in V: if not ASYNC or random() < taux_succes: """ lah = 0.05 if la[h] == 0 else la[h] -- 2.39.5