Ich bin 2 Tage alt mit Python und Codierung im Allgemeinen, ich habe gearbeitet, um eine zufällige geometrische Grafik, die 2mode ist. Um dies zu tun Ich habe in NetworkX hereBip Geom Graph Versuch in Python
Blick auf den Code begann ich die folgende Logik
import networkx as nx
def my_bipartite_geom_graph(a, b, radius, dim):
G=nx.Graph()
A=nx.Graph()
A.name="a node set"
A.add_nodes_from(range(a))
for n in A:
A.node[n]['pos']=[random.random() for i in range(0,dim)]
B=nx.Graph()
B.name="b node set"
B.add_nodes_from(range(b))
for n in B:
B.node[n]['pos']=[random.random() for i in range(0,dim)]
G=nx.disjoint_union(A,B)
nodesa = A.nodes(data=True)
nodesb = B.nodes(data=True)
while nodesa:
u,du = nodesa.pop()
pu = du['pos']
for v,dv in nodesb:
pv = dv['pos']
d = sum(((a-b)**2 for a,b in zip(pu,pv)))
if d <= radius**2:
G.add_edge(u,v)
return G
Dies gibt eine grafische Darstellung, aber eindeutig nicht, was ich gehofft hatte. Irgendwelche Hinweise darauf, wie man dieses Problem besser angehen könnte, würden sehr geschätzt werden.
Beste Wünsche
Sieht für mich in Ordnung. Was stimmt damit nicht? – Avaris
Ich hatte gehofft, dass nur A Knoten mit B Knoten (dh keine Verbindung zwischen einem Knoten oder b Knoten zu b Knoten .. Ich habe eine Überprüfung, um zu sehen, ob es bipartite mit Dreiecken() war. Die Suche ergab viele Dreiecke, so I angenommen, dass das Netzwerk, das ich erzeugte, nicht zweiteilig war, da es nur 4 Zyklen hätte. –
Ah, ich sehe das Problem. – Avaris