I've been working like mad on my PhD while I've been looking for a job, and now I'm writing a chapter about the properties a communication simulation needs to have in order to be analogous to the real world. I don't want to give too many examples -- because I don't want to taint your suggestions -- but I'm thinking that simulations must deal with things like:
- Time. No cause and effect without time, so it's pretty fundamental. Plus, I doubt the human brain can even conceive of a world without time.
- Space. Most useful simulations will have something analogous to physical space, for objects to exist in and move through.
- Tasks. Simulations must have tasks to be completed, or they're useless.
- Objects. Something has to do the acting and moving and learning.
And then there are concepts with more specificity:
- Resources. Types of objects that are required to complete a task. Are they scarce? Are there an infinite number?
- Feedback loops. In real life, success leads to more success.
- Aging, death, birth.
- Types of knowledge. Where things are. The states of other agents. How tasks are completed.
- Indirection. John says that Jane said that Tim said that John is dead.
- Truthfulness. Some people lie, and some are just mistaken, but either way not all signals are correct.
And so forth. I've got a huge list of things to be considered, but I'd like to hear your suggestions. What properties of real life are important for a simulation of Distributed Autonomous Communicators?












I would love to help give you ideas, but I have only the vaguest idea what "Distributed Autonomous Communicators" are. I know what all the words mean, but I don't know what they mean together in that order.
Oh, I'd love to help... But it'd take me a while to spool up on this one...
Guess I'll have to stick to voltage, current and phase angle...
Some stuff you probably already know, but what the heck...
1) Communication channels between objects (Shannon and all that)
2) Ways to compensate for errors in communications (protocols, FEC, etc)
3) Topologies
4) Ways to compensate for object/system failures.
5) Priorities
6) How to handle extreme conditions, i.e. what does the system do when it "breaks"
7) Security
I'll join this thread right after I learn how to program my VCR, uhh DVD, I meant TIVO
Having a lot of experience with simulations (process and other).
1) geography (cartesian may work, but spherical [ie, planetary]) seems to be necessary. "Topology", above, is the connectedness, but the distances and relative positions are needed also.
2) Input/output methods, screens etc are 50% of any simulation engine activity in my experience. Look at "what questions is this simulation supposed to answer?". Gather every kind of data imaginable. Its like all Paredo analysis, you only need 20%, but Which 20%?
3) Do entities cooperate/antagonistic?
4) I assume Object Oriented and the freedom of your objects to interact (often in ways, you realize, after the fact, that you had assumed they wouldn't - Murphy's law). Here the idea is that objects work with a set of rules and operate themselves based on those rules.
enough?
AB: Not enough, but some good points. In Real Life, topology and geography are pretty closely related, so most simulations of real life will be topographically flat and highly connected.
I'm not sure about that topologically flat ... I have dealt with many three dimensional problems in simulation world - some of which have reminded me of klein bottle structures.
The traveling salesman optimizaiton question; again, A factory may well have cross traveling items to de-obstruct.
Maybe i'm confusing "topologically flat" with "uncomplex". Time to get out the old math books - or maybe return for my master's + degree!
I am still waiting (imagining) a full simulation language...