simulation@uflorida.cis.ufl.edu (Moderator: Paul Fishwick) (02/05/90)
Volume: 13, Issue: 9, Mon Feb 5 10:49:20 EST 1990 +----------------+ | TODAY'S TOPICS | +----------------+ (1) Gaming, Simulation and Face Validity (2) Cellular Automata (3) ECSS Simulation * Moderator: Paul Fishwick, Univ. of Florida * Send topical mail to: simulation@bikini.cis.ufl.edu OR post to comp.simulation via USENET * Archives available via FTP to bikini.cis.ufl.edu (128.227.224.1). Login as 'ftp', use your last name as the password, change directory to pub/simdigest. * Simulation Tools available by doing above and changing the directory to pub/simdigest/tools. ----------------------------------------------------------------------------- Date: Thu, 1 Feb 90 17:16:54 -0500 From: Paul Fishwick <fishwick@fish.cis.ufl.edu> To: simulation@ufl.edu Jerry Pournelle has a small monthly column in Byte Magazine called "Chaos Manor." Many of you have probably read it if you get Byte. In a recent article he reviews a simulation game program called Sim City. I will take a small excerpt from his column and then add my two cents worth. EXCERPT FROM BYTE MAGAZINE CHAOS MANOR FEBRUARY 1990: Jerry Pournelle >From Pages: 110 - 112. Excerpt ------- "...Another case in point: Sim City by Maxis. This is a game that simulates city management. It's a fun game (barring the fact that the IBM PC version has an annoyingly obtrusive copy-protection scheme). I'll even concede that it has some instructive value. Of course, some things aren't very realistic: ships crash into bridges, airplanes fall into the business district, fires and floods happen with alarming frequency, tornadoes are common, and once in a while a big, green monster swims ashore. The rest, though, is supposed to be a simulation of reality -- in particular, the interrelations among taxation rates, zoning, pollution, transportation, power plants, industrialization, and suchlike. They've done a heck of a job with this. The animation is great, and the simulation is pretty convincing -- and that's the problem, because once again it's a simulation of the designer's theories, not of reality. Case in point: the designer prefers rail transportation to automobiles. It's costly, but it doesn't pollute. In fact, you can design a whole city with nothing but rail transport, not a single road in the place. In the real world, such a city would soon strangle in garbage. Again, my point is not to condemn these programs. Instead, I want to warn against their misuse. For all too many, computers retain an air of mystery, and there's a strong temptation to believe what the little machines tell us. "But that's what the computer says" is pretty strong argument in some circles. The fact is, though, the computer doesn't say anything at all. It merely tells you what the programmers told it to tell you. The Physics program [Jerry covered this earlier] could be jiggered to yield highly plausible output even if the programmer didn't know the laws of physics. A fews years ago, a "world-model" program predicted global doom. That program inspired the book "The Limits to Growth" and soon we had a "national malaise" and "an era of limits." Today, we know things aren't that simple. Simulation programs and games can be valuable tools to better understanding, but we'd better be aware of their limits. One of the best things such programs could do would be to let the students know what the inner relationships are. I don't know of any programs that let you fiddle with the equations inside the model, but I think that might be one heck of an educational tool....." Comments -------- Jerry makes some very good points --- while Sim City is a great game to play, and a visually realistic simulation program (I have been playing it now for a month), we should be concerned with issues of validation. Validation is a critical aspect of computer simulation --- can we trust our models? With games such as Sim City, Empire and Xconq we are usually validating our models using "face validity." That is, if the program that encapsulates the model is visually appealing and "realistic looking" then we accept it. This kind of validation is common in games such as Sim City. However, in simulations that are to be used as a basis for decision making, we need to always be on the look-out for poor models. Sometimes, we might take face validity too seriously. As more simulation languages incorporate the wonders of computer graphics and animation, we need to be even more cautious when judging and validating models: a factory floor animation might impress the audience, but is it accurate? As someone who likes both simulation and computer graphics, I often find myself playing "tug of war." I think that as long as we know the issues, methods of validation, and we are always willing to question our assumptions then we might just retain our scientific outlook. Jerry also mentions something that I have often questioned: why aren't there more simulation games that allow you to peer into the model and make changes? This would make gaming much more interesting! -paul fishwick ------------------------------ From: nelson_p@apollo.com Date: Sat, 3 Feb 90 18:42:02 EST Subject: CA question To: simulation@bikini.cis.ufl.edu I've played with cellular automata for some time and have written a number of Life-like cellular automatons on my PC in C. I thought it might be useful to have a general-purpose cellular automata utility with which I could try out different ideas by just changing the rules, and perhaps creating a new struct def to go with them Since I just bought the Zortech C++ v2.0 compiler I thought that this might also be a good project to experiment with OOP'ing theory, as well. But somebody suggested that I should take a look at Autodesk's CA Lab. Getting technical details from them was like pulling teeth but when I finally did, it was very disappointing: CA Lab's universe is a 64K array where each cell is one byte. If you write your own rules you can read **ONE BIT** from each of 8 adjacent cells, or 2 bits from each of 4 cells, etc, using their library routines. No complex data structures here! BTW, another minus for me is that the graphics version does not support Hercules monochrome graphics. OK, so I was thinking about the idea of a CA utility when I realized that I have a gap in my theoretical understanding of this kind of problem! Conway's Life - types of simulations are static, i.e., nothing moves from one cell to the next. I was kind of hoping I could use my new utility to simulate systems where "stuff" (information or state or some object) does move from one cell to another. This might be useful in simulating fluid flow or ecological systems. But my Life-like CA's don't seem to handle this concept very well. They all consist of 2 matrices ( or 1 matrix with 2 elements at each location) for the states at time T and T+1. I examine each cell and it's neighbors at time T and determine its state at T+1, and then write it into the T+1 matrix. Simple. But when stuff moves between cells "collisions" may occur. The problem is not resolving the collision (that's relatively easy). The problem is propagating the effects of that resolution through the matrix, and doing so in a way which is not dependent on the order-of-evaluation. ------------------------- |1 |2 |3 |4 | | | | | | Say A (in cell 5) and B (in cell 7) | | | | | are both moving toward cell 6 at ------------------------- time T. If I just compute the |5 |6 |7 |8 | state for time T+1 *sequentially* | A-->| |<--B | | then when I get to cell 5 I can't | | | | | determine its state for time T+1 ------------------------- without knowing whether it was |9 |10 |11 |12 | successful in its attempt to move | | | | | into cell 6. But the state of | | | | | cell 6 for time T+1 is not known ------------------------- yet, and it is also a function of 7 which I haven't evaluated yet. Now, suppose I complicate my algorithm by "following" the path of A into cell 6 and evaluating the state of cell 6 for time T+1 *before* evaluating the state of cell 5. The result of such an evaluation would also determine the state of cell 7 for T+1. Still, although this is more complicated than a "Life" algorithm, it would handle this particular case. However, say that cell 6 has 'C' in it that wants to move somewhere *else* (to cell 10 in this case). Then we have ------------------------- to keep following that path |1 |2 |3 |4 | wherever it leads in the | | | | | matrix because whether A is | | | | | succcessful moving into 6 will ------------------------- depend on whether C is successful |5 |6 C |7 |8 | moving into 10. And that may need | A-->| | |<--B | | following the path even farther. | | V | | | If the path ever doubles back, ------------------------- say to cells 5 or 6, then I will |9 |10 |11 |12 | be stuck in a loop! | | | | | | | | | | ------------------------- ...So I have doubts about whether this approach can work. *IS* there a common algorithmic platform upon which both non-moving cell-type simulations such as Conway's Life and physical-process or object simulations like fluid flow or ecological systems can be based? (*** This question is really the point of this whole long posting. ***) We have a large technical library here (HP/Apollo, Chelmsford, MA) and there are a number of books on simulation. But they are all very math-y and none of them seem to address cellular automata, anyway. I'm just doing this for fun so I don't want to get too technical. Thanks in advance for any observations or comments. I'm new at much of this so if I'm making lots of stupid assumptions feel free to tell me, but be nice, please. 8-) ---Peter ------------------------------ >From dls@mbunix.mitre.org Mon Feb 5 09:07:14 1990 Posted-From: The MITRE Corp., Bedford, MA X-Alternate-Route: user%node@mbunix.mitre.org To: simulation@ufl.edu Cc: dls@mbunix.mitre.org, johnm@mbunix.mitre.org, pck@mbunix.mitre.org, gwk@mbunix.mitre.org Subject: ECSS Simulation Date: Mon, 05 Feb 90 09:06:23 EST From: Dan Sandini <dls@mbunix.mitre.org> I am new to this newsgroup and am just beginning work on doing performance simulation. Currently I am involved with a contractor using a tool which uses an ECSS model as it's simulation engine. ECSS is based upon SIMSCRIPT II and seems to be an effective means for modeling resourses and the contention for them, processes, etc. The model that we are building is for a real-time, multiprocessor RISC architectecture. Currently my only literature regarding ECSS is a manual developed by the Rand Corporation in the mid-seventies: "THE ECSSII LANGUAGE For Simulating Computer Systems" by Donald W. Kosy, December 1975 I am really interested in any experience which someone has using the language. I'de like to know how the language compares with other languages for performing simulation, i.e. limitations and benefits. Also any other good documents that deal with the language, or vendors of compilers for the language. Is anyone still using this stuff? Dan Sandini The MITRE Corporation dls@mbunix.mitre.org ------------------------------ END OF SIMULATION DIGEST ************************