[comp.simulation] SIMULATION DIGEST V13 N9

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
************************