Making Cultural simulations on Kedama

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Making Cultural simulations on Kedama

Offray Vladimir Luna Cárdenas

Hi all,

First, thanks for the SqueakFest2006. It was really awesome to be here,
to know all that squeakers, to listen them, and to speak with them (a
little).  If love is the key to make visitors become residents, thanks
for such warm act of love in such nice city :)

I'm now getting back to my academical activities and I'm wondering,
after the speak of Yoshiki,  if Kedama can be used to make cultural
simulations also (may be you remember that I'm interested in the
"Cultural Thing" of cognition also). I'm thinking to start with a
specific simulations showed in the book The Complexity of Cooperation
from Robert Axelrod. It's about culture dissemination.

Axelrod model different cultures as part of a grid (that where the idea
of using Kedama come from). Every culture is a cell in that grid and
every culture has a number of traits (for example 5) wich can have
different values (lets say 10). What Axelrod says is that when two
agents (cultures) are similar one to each other (it' means they share
the same value in the same trait) they have more possibilities to
interact and become even more similar.

The algorithm is something like this:

Repeat these two steps as much as wanted:

1) Select randomly a culture in the grid and select randomly a neighbor
of that culture (in such grid neighbors can be on north, south, west or
est).
2) This two cultures interact with a probability equal to their cultural
similarity (that is, the number of similar values in the same trait of
these two cultures). That interaction consist in selecting a trait where
this two cultures are different and change the value of that trait for
the value of the neighbor.

The process define a set of culture regions. You can find the source
code of the implementation of Axelrod's algorithm in:

http://www.cscs.umich.edu/Software/CC/CC7/CULTURE.P.html (<- Pascal version)
http://www.cscs.umich.edu/Software/CC/CC7/FullCulture.p.html (<- Full
Pascal version)
http://www.cscs.umich.edu/Software/CC/CC7/CULTURE.BAS.html (<- Visual
Basic version)

¿Do you think is feasible to implement the same model in Kedama? If yes,
¿Where is the best way to start implementing it?

Thanks a lot,

Offray

Ps: I will be probably on Wikimania next weekend (I have the scholarship
acceptance and now I'm trying to get the proper permissions in the
University). So may be we can see there :).



___________________________________

AVISO LEGAL: El presente correo electronico no representa la opinion o el consentimiento oficial de la PONTIFICIA UNIVERSIDAD JAVERIANA. Este mensaje es confidencial y puede contener informacion privilegiada la cual no puede ser usada ni divulgada a personas distintas de su destinatario. Esta prohibida la retencion, grabacion, utilizacion, aprovechamiento o divulgacion con cualquier proposito. Si por error recibe este mensaje, por favor destruya su contenido y avise a su remitente.
En este aviso legal se omiten intencionalmente las tildes.

Este mensaje ha sido revisado por un sistema antivirus, por lo que su contenido esta libre de virus.
This e-mail has been scanned by an antivirus system, so its contents is free of viruses.
_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Making Cultural simulations on Kedama

Serge Stinckwich-4
Offray Vladimir Luna Cárdenas a écrit :

> Hi all,
>
> First, thanks for the SqueakFest2006. It was really awesome to be here,
> to know all that squeakers, to listen them, and to speak with them (a
> little).  If love is the key to make visitors become residents, thanks
> for such warm act of love in such nice city :)
>
> I'm now getting back to my academical activities and I'm wondering,
> after the speak of Yoshiki,  if Kedama can be used to make cultural
> simulations also (may be you remember that I'm interested in the
> "Cultural Thing" of cognition also). I'm thinking to start with a
> specific simulations showed in the book The Complexity of Cooperation
> from Robert Axelrod. It's about culture dissemination.
>
> Axelrod model different cultures as part of a grid (that where the idea
> of using Kedama come from). Every culture is a cell in that grid and
> every culture has a number of traits (for example 5) wich can have
> different values (lets say 10). What Axelrod says is that when two
> agents (cultures) are similar one to each other (it' means they share
> the same value in the same trait) they have more possibilities to
> interact and become even more similar.
>
> The algorithm is something like this:
>
> Repeat these two steps as much as wanted:
>
> 1) Select randomly a culture in the grid and select randomly a neighbor
> of that culture (in such grid neighbors can be on north, south, west or
> est).
> 2) This two cultures interact with a probability equal to their cultural
> similarity (that is, the number of similar values in the same trait of
> these two cultures). That interaction consist in selecting a trait where
> this two cultures are different and change the value of that trait for
> the value of the neighbor.
>
> The process define a set of culture regions. You can find the source
> code of the implementation of Axelrod's algorithm in:
>
> http://www.cscs.umich.edu/Software/CC/CC7/CULTURE.P.html (<- Pascal version)
> http://www.cscs.umich.edu/Software/CC/CC7/FullCulture.p.html (<- Full
> Pascal version)
> http://www.cscs.umich.edu/Software/CC/CC7/CULTURE.BAS.html (<- Visual
> Basic version)
>
> ¿Do you think is feasible to implement the same model in Kedama? If yes,
> ¿Where is the best way to start implementing it?
>


Hi,

some of my students have made similar "social" simulations with the help
of Kedama, for example they implement the segration model of Schelling
(http://www-eco.enst-bretagne.fr/~phan/complexe/schelling.html)

Look in the french Squeak wiki here : http://community.ofset.org/wiki/Kedama

Sorry only in french.

Cheers,

--                                                         oooo
Dr. Serge Stinckwich                                     OOOOOOOO
Université de Caen>CNRS UMR 6072>GREYC>MAD               OOESUGOO
http://purl.org/net/SergeStinckwich                       oooooo
Smalltalkers do: [:it | All with: Class, (And love: it)]   \  /
                                                             ##


_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Making Cultural simulations on Kedama

Yoshiki Ohshima
In reply to this post by Offray Vladimir Luna Cárdenas
  Offray,

> ¿Do you think is feasible to implement the same model in Kedama? If
> yes,

  My feeling is, yes, it looks feasible.

> ¿Where is the best way to start implementing it?

  You can drop a Sketch onto a KedamaWorld to "fill" the world with
turtles.  Then, you create 5 patch variables each of which represents
a "trait" in your example.  You add properties that is called
something like "origX" and "origY", and write scripts to save and
restore the turtles' positions into these.  To cache the traits value,
turtles should have 5 properties to save the values in the patch
variables as well (See the example of ForestFire on the web.)

  To initialize the patch variables, the ForestFire example should be
helpful.  It initializes the map of forest with 1 or 0 value.  In this
example, the initial values are in the range of 0 to 9 (or 1-10), but
can be done in a similar manner.

  At each step, the turtles first cache the values in patch variables
to the own properties.  Then, they move around and compare the values
in the cache with the values in neighboring patch variables, and
modify the cached values.  At last, they return to the original
position, and write back the cached values into the patch variables.

  The modification made to the cached values
is the core of the program, and it may require some amount of
tile-scripting, but in principle, this should work.

-- Yoshiki

_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Making Cultural simulations on Kedama

Offray Vladimir Luna Cárdenas
In reply to this post by Serge Stinckwich-4

Hi Serge,

Sorry for my late response. I was making some changes in my laptop, so I
have not chance to work on this until last week.


Serge Stinckwich escribió:

[...]

>
> Hi,
>
> some of my students have made similar "social" simulations with the help
> of Kedama, for example they implement the segration model of Schelling
> (http://www-eco.enst-bretagne.fr/~phan/complexe/schelling.html)
>
> Look in the french Squeak wiki here : http://community.ofset.org/wiki/Kedama
>
>  
I have seen your examples and seem great. I liked specially the Art
examples.
> Sorry only in french.
>
>  
Umm... I'm 100% agree with the development of localized content. I have
started some spanish effort on documentation of Kedama... My concern is
that, as newbie as I'm on Squeak and Kedama, may be is better trying to
learn while I'm implementing the model I want to work that try to learn
understanding an automatically translated documentation (your model of
Schelling are pretty well documented but automatic translations on
babelfish are not a good starting point for a newbie like me).

I will try to implement the Axelrod model for culture disemination while
I'm learning Squeak and I will try to ask questions while I'm doing
this. I hope that I can count with the help of the Kedama experts here
and I promise to document all the process.

Cheers and thanks again for your help,

Offray




___________________________________

AVISO LEGAL: El presente correo electronico no representa la opinion o el consentimiento oficial de la PONTIFICIA UNIVERSIDAD JAVERIANA. Este mensaje es confidencial y puede contener informacion privilegiada la cual no puede ser usada ni divulgada a personas distintas de su destinatario. Esta prohibida la retencion, grabacion, utilizacion, aprovechamiento o divulgacion con cualquier proposito. Si por error recibe este mensaje, por favor destruya su contenido y avise a su remitente.
En este aviso legal se omiten intencionalmente las tildes.

Este mensaje ha sido revisado por un sistema antivirus, por lo que su contenido esta libre de virus.
This e-mail has been scanned by an antivirus system, so its contents is free of viruses.
_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Making Cultural simulations on Kedama

Offray Vladimir Luna Cárdenas
In reply to this post by Yoshiki Ohshima

Hi all :),

I'm  having problems with Kedama inside Squeak. I don't know if this is
the proper place to put this concerns but the  issue was discuss in this
thread, so I thought that it was (please  if this is not the place point
me in the right direction)

I tried using first the SqueakAtenex.image from the Extremadura project,
because it's what my students and me used the last semester, but
remaking the Epidemic example I found that there is a problem with the
Kedama  menu translation of Kedama in that image. In the english version
you can see four options in the viewer of the Kedama Turtle: "kedama
turtle", "scripts", "kedama turtle breed" and "kedama turtle color". In
the Atenex image you can see four also in that viewer, but one of them
is repeated ("kedama turtle") and "kedama turtle breed" is absent. It
seems that "kedama turtle breed" was translated as "tortuga kedama"
("kedama turtle"), so adding a turtle is possible, but not increasing
the amount of turtles in a breed (at lest not as is explained in the
documentation).

So I tried then the Squeak3.8-6665full.image but Kedama is not available
from the object catalog. Trying to update from server says that no
updates are available from server and using the Squeak Map I can`t find
Kedama either. ¿How can I find/install the Kedama if its not available
in the object catalog of an image?

Then I tried Squeak3.9g-7054.image and Squeak3.9b-7051.image installed
from squeakland directly (without using any deb repository for Ubuntu)
and Kedama is there and I can reproduce the Epidemic simulation example,
but anytime I tried to open a *.pr project I get some error messages
about "MessageNotUnderstood: SmallInteger>>removeKey:ifAbsent:"
and other one about fonts. I can made the pr files run (after getting a
lot of that messages with the "Abandon" window), but some of them can't
run in with the "go" button for example (I need to locate the proper
scripts and make them ticking).

¿There is a image and changes file with Kedama working out of the box,
or there is another way to overcome the problems I show you?

I'm obsessed and passionated with Kedama and multiagents systems. My
master thesis is on collective problem solving and I think that
Kedama/Squeak is the way to go not only in my classroom with the
students as I showed in the SqueakFest, but also in my thesis, so if you
can help me with quick answers, I will be a lot thankful,

Cheers from Colombia,

Offray

Yoshiki Ohshima escribió:

>   Offray,
>
>  
>> ¿Do you think is feasible to implement the same model in Kedama? If
>> yes,
>>    
>
>   My feeling is, yes, it looks feasible.
>
>  
>> ¿Where is the best way to start implementing it?
>>    
>
>   You can drop a Sketch onto a KedamaWorld to "fill" the world with
> turtles.  Then, you create 5 patch variables each of which represents
> a "trait" in your example.  You add properties that is called
> something like "origX" and "origY", and write scripts to save and
> restore the turtles' positions into these.  To cache the traits value,
> turtles should have 5 properties to save the values in the patch
> variables as well (See the example of ForestFire on the web.)
>
>   To initialize the patch variables, the ForestFire example should be
> helpful.  It initializes the map of forest with 1 or 0 value.  In this
> example, the initial values are in the range of 0 to 9 (or 1-10), but
> can be done in a similar manner.
>
>   At each step, the turtles first cache the values in patch variables
> to the own properties.  Then, they move around and compare the values
> in the cache with the values in neighboring patch variables, and
> modify the cached values.  At last, they return to the original
> position, and write back the cached values into the patch variables.
>
>   The modification made to the cached values
> is the core of the program, and it may require some amount of
> tile-scripting, but in principle, this should work.
>
> -- Yoshiki
>
> _______________________________________________
> Squeakland mailing list
> [hidden email]
> http://squeakland.org/mailman/listinfo/squeakland
>
>  


___________________________________

AVISO LEGAL: El presente correo electronico no representa la opinion o el consentimiento oficial de la PONTIFICIA UNIVERSIDAD JAVERIANA. Este mensaje es confidencial y puede contener informacion privilegiada la cual no puede ser usada ni divulgada a personas distintas de su destinatario. Esta prohibida la retencion, grabacion, utilizacion, aprovechamiento o divulgacion con cualquier proposito. Si por error recibe este mensaje, por favor destruya su contenido y avise a su remitente.
En este aviso legal se omiten intencionalmente las tildes.

Este mensaje ha sido revisado por un sistema antivirus, por lo que su contenido esta libre de virus.
This e-mail has been scanned by an antivirus system, so its contents is free of viruses.
_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Making Cultural simulations on Kedama

Yoshiki Ohshima
  Offray,

> ¿There is a image and changes file with Kedama working out of the box,
> or there is another way to overcome the problems I show you?

  Sorry for deadly slow response.  I haven't got around making it work
other than Squeakland image.

-- Yoshiki

_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Making Cultural simulations on Kedama

Offray Vladimir Luna Cárdenas
In reply to this post by Serge Stinckwich-4
Hi Serge and all,

Serge Stinckwich escribió:

>
> Hi,
>
> some of my students have made similar "social" simulations with the help
> of Kedama, for example they implement the segration model of Schelling
> (http://www-eco.enst-bretagne.fr/~phan/complexe/schelling.html)
>
> Look in the french Squeak wiki here : http://community.ofset.org/wiki/Kedama
>
> Sorry only in french.
>
> Cheers,
>
>  
I have been reading and trying to redo the model of Schelling based on
the information you give me and the explanation here:

http://workspace.phazon.info/2006-m1-iad/gblondel_ldavid_rapport.pdf

when I try to do the testSatisfaction script I can go further that the
screen shot attached. The translation of the first only line goes
something like this:

rojo's | numberOfNeighborhoods <- |  rojo's | patchValueIn | patch

(please note that I'm not trying to translate to Smalltalk/Squeak code,
only to put/emulate the text on the Etoy script from spanish to
english). But in the documented article, the code goes something like this:

rojo's | numberOfNeighborhoods <- |  rojo's | patchValueIn | patchRed

I have not idea how to refer to patchRed object. This patch was already
added and renamed, but I don't know how to "link" the red population
turtle with a specific patch. Same for blue turtle population and patchBlue.

Another question: after writing the behavior  of the red turtle
population, there is a way to copy the same for the blue turtle
population or need I to rewrite it again?

I hope that any of you can give me a quick pointer to the solution.

Thanks in advance.

Cheers,

Offray

_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland

probarSatisfaccion.png (4K) Download Attachment