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.
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:
- 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)] \ / ##
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.
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
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
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 Squeakland@squeakland.org 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.
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@lists.squeakfoundation.org