Networkx for feedback networks
back to Realistic modeling of complex interactive systems#Assignments/exercises see the Kejzar slides for introduction to the simulations. See related: Python for networks. What is Networkx?. What are "feedback networks"?
Installing networkx for Python
- This problem went away in my 2009 installation: In my windows installation, Nataša Kejžar's two programs for the feedback networks simulation, feedback.py and to_Pajek.py, didnt recognize networkx to be a valid module until I renamed C:\python25\share\doc\networkx-0.34 to networkx-x.xx. Then they ran, and left to_Pajek.pyc, a compiled file that Python uses to speed execution. Doug 30 June 2007 (PDT) to_Pajek.pyc is on my directory c:/Python.
- Use the python shell to open and run feedback.py don't just click on it or you won't see any error messages.
Starting from Python feedback networks
back to Python for networks
The function to_Pajek.Graph_to_Pajek(G,"feedback1120.net")
The feedback.py calls a function to_Pajek (from the feedback.py file, last few lines, uncommented) and outputs a file in which network G (in networkx format) is saved as a Pajek file. So it can be read in Pajek and analyzed or drawn (if a suitable number of vertices, of course--Nataša June 2007).
- In the interactive window ("Python shell"), you have the G (network in
networkx format) saved and you can analyze it further with networkx commands (such as to get degree "histogram"; the commands are:
import networkx hist = networkx.degree_histogram(G)
(is this a compound operation? i.e. deg = networkx.degree prior to histogram; histogram is a function in Python) You may want to go back to http://www.awaretek.com/tutorials.html or http://www.limsi.fr/Individu/pointal/python/pqrc/versions/PQRC-2.4-USLetter-latest.pdf or http://rgruet.free.fr/PQR25/PQR2.5_modern_B&W_letter.pdf for commands in Python and https://networkx.lanl.gov/Reference/ or https://networkx.lanl.gov/wiki/QuickReference for commands in networkx.
Natasa -- how do I make these modules callable?
cent = networkx.centrality(G) comp = networkx.components(G)
See Triad Census. For this network, where numbers 1-2-3 are for symmetric, asymmetric and null ties, the triads that occur more than expected are 102 (3 transitive arcs), 300 (2 outgoing arcs) and 201 (2-chain). Similarly but more strongly for G = simulate_feedback(1,1.1,1,5000,1) alpha=1 beta=1.1 gamma=1. In addition to transitivity the other prominent feature is that the degree distributions asymptote to a power law with exponent 1.8 in the first case, and 2.16 in the second (rsq>.98 in each), and are better approximated by a q-exponential. This is expected because alpha=1.
THESE RESULTS HOWEVER USE ONLY THE FIRST DIRECTED TIE, AND DO NOT INCLUDE RECIPROCALS!!! AM ASKING NATASA to change the feedback.py to output the arcs, including reciprocal.