Skip to content

Commit

Permalink
chmt to_numpy_matrix en to_numpy_array et maj versions
Browse files Browse the repository at this point in the history
  • Loading branch information
pmathieufr committed Oct 27, 2020
1 parent 8f05a63 commit 0a7ddcc
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
8 changes: 4 additions & 4 deletions mas_basics_fr.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -225,13 +225,13 @@
"## Etudier l'émergence\n",
"Comme tout outil informatique, le Système Multi Agent (SMA) doit permettre à l'utisateur d'étudier différentes propriétés. Ces propriétés à étudier peuvent être placées au niveau microscopique (c'est dire au niveau d'un agent, par exemple l'évolution de son bien-être, de sa richesse, de son age ou de sa santé), et/ou au niveau macroscopique (c'est à dire au niveau du SMA comme le nombre d'agents vivants, le chiffre d'affaire d'un magasin, ou le nombre global de messages échangés). Bien sûr, cette observation peut se faire in fine, auquel cas une valeur est renvoyée en fin d'expérience, ou tout au long de l'expérience, amenant alors à des courbes temporelles. \n",
"\n",
"Prenons l'exemple d'agents placés dans un reseau social. Chaque agent possède une liste d'accointances (entre 1 et le nombre total d'agents), formant ainsi un graphe social. A des fins d'expériences, une information (`ball`) est passée d'agent en agent (`has_it`), chacun passant la pastille à l'une de ses accointances.\n",
"Prenons l'exemple d'agents placés dans un reseau social. Chaque agent possède une liste d'accointances (entre 1 et le nombre total d'agents), formant ainsi un graphe social. A des fins d'expériences, une information (`ball`) est passée d'agent en agent (`has_it`), chacun passant l'information à l'une de ses accointances.\n",
"\n",
"#### Tout d'abord réalisons le SMA et l'agent ... \n",
"- Cette fois, c'est le SMA qui crée les agents, dans son constructeur.\n",
"- Le SMA aura lors de sa construction le nombre d'agents à créer et une matrice d'adjacence de la taille du nombre d'agents : `SMA(10,matrix)`. lors de cette construction le SMA crée les n agents souhaités en leur passant à tous leur identifiant, ainsi que la liste de leurs accointances\n",
" for i in range(nb_agents):\n",
" self.agentList.append(Agent(i, np.nonzero(adjacency_matrix[i].A1)[0]))\n",
" self.agentList.append(Agent(i, np.nonzero(adjacency_matrix[i])[0]))\n",
"- Un agent aura lors de sa construction son identifiant et sa liste d'accointances : `agent(3,[1,5,7])`\n",
"\n",
"Cette matrice sera créée en externe par l'une des méthodes du package **numpy** bien adapté à cela. Numpy offre notamment de très nombreuses fonctions de manipulation de matrices. [http://www.numpy.org/] click tutorial to have a brief intro.\n",
Expand All @@ -255,7 +255,7 @@
" \n",
" # Initialize accointances based on the matrix\n",
" for i in range(nb_agents):\n",
" self.agentList.append(Agent(i, np.nonzero(adjacency_matrix[i].A1)[0]))\n",
" self.agentList.append(Agent(i, np.nonzero(adjacency_matrix[i])[0]))\n",
" \n",
" def run(self, rounds):\n",
" for i in range(0,rounds):\n",
Expand Down Expand Up @@ -309,7 +309,7 @@
"#graph = nx.erdos_renyi_graph(nb_agents,0.1)\n",
"#graph = nx.cycle_graph(nb_agents)\n",
"#graph = nx.random_regular_graph(3,nb_agents)\n",
"matrix = nx.to_numpy_matrix(graph, nodelist=range(nb_agents))\n",
"matrix = nx.to_numpy_array(graph, nodelist=range(nb_agents))\n",
"sma = SMA(nb_agents, matrix)"
]
},
Expand Down
10 changes: 5 additions & 5 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# conda update --all
# pip freeze
numpy==1.17.4
pandas==0.25.3
networkx==2.4
matplotlib==3.1.1
# pip freeze ou conda list
numpy==1.19.2
pandas==1.1.3
networkx==2.5
matplotlib==3.3.2

0 comments on commit 0a7ddcc

Please sign in to comment.