gama-platform / gama.old

Main repository for developing the 1.x versions of GAMA
GNU General Public License v3.0
304 stars 99 forks source link

clarify graph types and status in gama #178

Closed pcaillou closed 8 years ago

pcaillou commented 9 years ago
Recent changes in graphs made things more messy there. 
Need an advice from GAMA gurus and leaders for future evolutions. 

1) there is no consistency on the graph actual behavior. Graphs created from GIS are
mapped to agents, but removing an agent does not removes the corresponding node (and
reciproc.). Graphs generated from the novel primitives are "synchronized". If graphs
created from GIS are mapped to agents, we should probably synchronize these graphs
with populations as well. 

2) there is no consistency on how graphs are backed up. Some are encoded as GamaGraphs,
some as SpatialGraphs.  Looks like, when I create a Watts-Strogatz network that is
backed up by agents (thus by shapes), it is implicitly spatialized; thus I should use
SpatializedGraph rather than simple GamaGraphs. 

3) should we introduce graphs that are not related to agents ? That is, "just" a graph
object, without having one agent per edge/node ? 

Original issue reported on code.google.com by Samuel.Thiriot.Asso on 2012-04-18 22:46:26

pcaillou commented 9 years ago
(No text was entered with this change)

Original issue reported on code.google.com by alexis.drogoul on 2012-07-07 03:37:51

pcaillou commented 9 years ago
(No text was entered with this change)

Original issue reported on code.google.com by alexis.drogoul on 2012-07-07 04:22:27

pcaillou commented 9 years ago
in progress, a doc will soon be written to help discussions.

Original issue reported on code.google.com by Samuel.Thiriot.Asso on 2013-04-22 11:50:22

pcaillou commented 9 years ago
(No text was entered with this change)

Original issue reported on code.google.com by patrick.taillandier on 2013-07-17 06:42:23

pcaillou commented 9 years ago
(No text was entered with this change)

Original issue reported on code.google.com by alexis.drogoul on 2013-09-11 05:32:51

pcaillou commented 9 years ago
(No text was entered with this change)

Original issue reported on code.google.com by alexis.drogoul on 2013-09-21 00:36:35

pcaillou commented 9 years ago
Issue 624 has been merged into this issue.

Original issue reported on code.google.com by alexis.drogoul on 2013-09-28 14:00:52

pcaillou commented 9 years ago
(No text was entered with this change)

Original issue reported on code.google.com by alexis.drogoul on 2013-09-28 14:32:01

pcaillou commented 9 years ago
(No text was entered with this change)

Original issue reported on code.google.com by gama.platform on 2014-04-06 10:04:01

ptaillandier commented 8 years ago

I don't know what to do for this issue. For the moment, it is possible to define spatial and non-spatial graphs: graph my_graph <- spatial_graph([]); graph my_graph <- graph([]);

Normal graphs have for advantages to use less memory (less elements to store) but cannot produce spatial path (in contrary to spatial graphs that produce spatial path)

Concerning the creation of graph:

Not that non-spatial graphs can have for nodes/edges all kinds of objects (agent, geometry, string, float....) and spatial graphs all kinds of spatial objects (agent, geometry, point)

benoitgaudou commented 8 years ago

I close this issue. About the comments of the original issue:

1) there is no consistency on the graph actual behavior. Graphs created from GIS are mapped to agents, but removing an agent does not removes the corresponding node (and reciproc.). Graphs generated from the novel primitives are "synchronized". If graphs created from GIS are mapped to agents, we should probably synchronize these graphs with populations as well.

I addressed this issue as follows: when a graph is created from a set of agents, a weak synchronization between both is created : when an agent is killed/dies it is also removed from the graph. I consider that other kinds of synchronization are not used right now. Do not hesitate to post an additional dedicated issue if needed.

2) there is no consistency on how graphs are backed up. Some are encoded as GamaGraphs, some as SpatialGraphs. Looks like, when I create a Watts-Strogatz network that is backed up by agents (thus by shapes), it is implicitly spatialized; thus I should use SpatializedGraph rather than simple GamaGraphs.

cf. Patrick remarks

3) should we introduce graphs that are not related to agents ? That is, "just" a graph object, without having one agent per edge/node ?

This has been addressed previously.