Re: TRM - Morbidity has set in, or not?
Date: 18 May 2006 16:00:40 -0700
Message-ID: <1147993240.287121.264470_at_j73g2000cwa.googlegroups.com>
Bob Badour wrote:
> I think now is a good time to revisit Keith's statement
> about simulation. One should first note that there are
> different types of simulation.
>
> Simula was invented for the sort of simulation that builts
> large unpredictable state machines by combining lots of
> small predictable state machines arranged in complex
> patterns.
The type of simulation I had in mind was one having a large
(though fairly simple) state with a complex unpredictable
(stochastic) transition function. For example a few years ago
I implemented (in C++) a bovine spongiform encephalopathy
(BSE) or mad cow disease simulator as part of a team working
for the USDA. The state of the simulation is simply a
population (up to a hundred million or so) of bovines. Some
of these bovines may be infected with BSE. Those that are
infected possess additional attributes. For example here is
my attempt at describing this with two relations:
bovines
sick bovines
The stochastic transition function is composed of such
things at natural birth and death, culling and subsequent
rendering (conversion to animal feed components) or
slaughter for human consumption, death from BSE and
subsequent disposition (burial or rendering), feeding of the
bovines with possible infection from rendered BSE,
spontaneous infection, etc. These functions are complicated
and stochastic though typically do not vary with time
(though they can).
As the simulation progresses from state to state we observe
and summarize the state as well as track some aspects of the
transition. For example we might summarize the number of
infected cattle and we might track how much BSE went into
the human food supply.
Now of course we made choices on how to structure the state
and parameters which leads to this point
Marshall wrote:
purpose : BEEF DAIRY BREED
gender : MALE FEMALE
birth : date
purpose : BEEF DAIRY BREED
gender : MALE FEMALE
birth : date
infected : date -- when infected
clinical : date -- when symptoms will appear
contagious : date -- when maternal transfer is possible
termination : date -- when BSE will kill this animal
> work many C++ programmers have to do to, for example, lay
> out their data in a way that will satisfy a graphics
> coprocessor, or enable them to use SIMD instructions. It
> would be better if this was abstracted from the code.
Or even laying out data in a structure convenient for your own analysis. A particular network may be very convenient for one analysis and a nightmare for other. I'm beginning to understand this is the concept of "access paths" correct? And that a network model encodes and optimizes a particular access path whereas a relational model does not? And thus a RM allows many access paths? Efficiently?
I realize that those questions are somewhat flawed because matters of implementation, efficiency, etc are orthogonal (partially? totally?) to the relational data model. For some reason, however, I haven't fully assimilated this concept. Probably from years of following the Tao of pointers.
Finally forgive my repeating this question (from a thread I
tried to move this discussion to); as I say I'm simply VERY
curious and would love some input.
Marshall wrote:
> language that uses the RM at its core, and that has
> support for physical independence. I am afraid that at
> this time this is just a wish.
I'm glad you brought this up because I'm VERY curious about this. Is it so that such a language is still just a dream? What about APL, Joy, K, and Prolog for example? What are their good and bad points from a relational support perspective? Is there a RM programming language on the horizon or under development?
- Keith --