swarm-modeling
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: polymorphism (was compare swarm with repast)


From: gepr
Subject: RE: polymorphism (was compare swarm with repast)
Date: Mon, 12 Aug 2002 10:07:42 -0700

Hmmm.... "have to".  No.  Since most people are satisfied with 
simulation (distinct from emulation), nobody will ever come upon a
model that *requires* them to implement it so realistically as to
dictate discovery and lookup mechanisms.

Even in the case of modeling things like computer systems (if you're
using Linux, the installer probably used a discovery and lookup 
mechanism to set up your video card to be used by your X server), the
probing and interface negotiation can be simulated quite successfully
without actually using them.

However, I believe I can make some arguments about models where it 
would be a Good Thing to emulate the actual processes involved.

1) Conflict resolution -- when trying to model how two entities
(governments, people, companies, advocates, etc.) argue with each 
other in order to come to a mutually beneficial optimum.

2) Highly evolved solutions to one particular instance of a problem
(like navigating a map or searching a database) and attempting to 
transfer that solution to a new particular instance.  (An ANN might
need something like backpropogation in order to re-learn the details
of its new environment-- backpropogation is a discovery mechanism.)

3) Computer networks using protocols like tcp/ip, where the network
constituency can change dynamically.

4) Information security models where dynamic negotiation of a 
mutual secret key is necessary.

5) And, finally, my favorite, an ontolological evolutionary system
where "valid" objects are "tossed" into a VM and subsequently begin
learning how to survive in that context.  (This is really just a 
particular sub-category of (2) above... But, Marcus likes it when
I bring up the subject. [grin])

I have also used this kind of thing heavily in Swarm modeling where
I have a heterogeneous list of objects and I want to apply a 
predicate to that list, thereby slicing it into two sets (the ones
who satisfy the predicate and the ones who don't).  In Objective-C,
you can use the "respondsTo" method in the ObjC runtime to check to
see if an object has access to a given method.  And you can use 
"conformsTo" to see if an object conforms to a given protocol....
much in the same way you can use "instanceof" or "implements" in 
Java, except the protocols and the dynamic binding allow for a 
little more flexibility w.r.t. when these determinations happen.....
which again gets back to how much simulation you want to engage
in versus emulation.

But, again, I'm not arguing against Java at all.  Use the right tool
for the right job.  The only thing I'm arguing against is the adoption
of a language (or any other tool) just because the only arguments 
you hear are from proponents of that tool.  If there were no good
reasons for these peculiar languages like Sather, Ruby, and Objective-C,
then they wouldn't exist.


Marshall, James A R writes:
 > 
 >   Has anyone on the list ever found a modelling problem where they have to
 > pass messages to objects that they are not sure can respond to them? I never
 > have, perhaps because of my training as a functional programmer, or perhaps
 > because my modelling domains are normally simpler or better defined than the
 > example Glen cites below, which I think is a very ambitious one!
 >   Well, this is something that has been on my mind since I started using
 > Swarm over 4 years ago, so I look forward to some good examples!
 >      James
 > 
 > -----Original Message-----
 > From: address@hidden [mailto:address@hidden
 > Sent: 12 August 2002 17:01
 > To: address@hidden
 > Subject: Re: polymorphism (was compare swarm with repast)
 > 
 > How important this is to modeling is left as an exercise to the 
 > reader.  (Hint: Do you think two humans know a-priori which methods
 > the other responds to? ;-)
 > 
 > 
 >                   ==================================
 >    Swarm-Modelling is for discussion of Simulation and Modelling techniques
 >    esp. using Swarm.  For list administration needs (esp. [un]subscribing),
 >    please send a message to <address@hidden> with "help" in the
 >    body of the message.
 >                   ==================================
 > 

-- 
glen e. p. ropella              =><=                           Hail Eris!
H: 831.335.4950                              http://www.ropella.net/~gepr
M: 831.247.7901



                  ==================================
   Swarm-Modelling is for discussion of Simulation and Modelling techniques
   esp. using Swarm.  For list administration needs (esp. [un]subscribing),
   please send a message to <address@hidden> with "help" in the
   body of the message.
                  ==================================


reply via email to

[Prev in Thread] Current Thread [Next in Thread]