La plateforme
Notion de décentralisationNotion de décentralisation
– systèmes organisés sans organisateur et coordonnés sans coordonnateursystèmes organisés sans organisateur et coordonnés sans coordonnateur – Exemple : Le vol en formation des oiseaux, les embouteillages de voitures, Exemple : Le vol en formation des oiseaux, les embouteillages de voitures,
le marché économique ou le comportement d'une fourmilière,…
le marché économique ou le comportement d'une fourmilière,…
Système auto-organisésSystème auto-organisés
– Interaction locale ajoutée les unes aux autres -> ordre (impression Interaction locale ajoutée les unes aux autres -> ordre (impression d’actions centralisées)
d’actions centralisées)
– Capacité cognitive individuelle limitée mais en groupe le comportement Capacité cognitive individuelle limitée mais en groupe le comportement peut être complexe et parait organisé (exemple : les fourmis)
peut être complexe et parait organisé (exemple : les fourmis)
Stalogo offre au programmeur trois entités différentes :Stalogo offre au programmeur trois entités différentes :
– les tortues (les agents),les tortues (les agents),
– les patches (l'environnement) etles patches (l'environnement) et – l'observateur (le superviseur).l'observateur (le superviseur).
La plateforme La plateforme
Les tortuesLes tortues
– Éléments principauxÉléments principaux
– Entités colorées sur l’écran principalEntités colorées sur l’écran principal – Exemple : tortues, fourmis, termites, …Exemple : tortues, fourmis, termites, …
Les patchesLes patches
– Environnement des tortuesEnvironnement des tortues – Cases de l’écran principalCases de l’écran principal
– Interaction des tortues avec l’environnementInteraction des tortues avec l’environnement
– Exemple : mettre de le nourriture dans l’environnement ou laisser des phéromonesExemple : mettre de le nourriture dans l’environnement ou laisser des phéromones
L’observateurL’observateur
– superviseursuperviseur
– Extérieur au monde des tortuesExtérieur au monde des tortues
– Gestion des programmes dans StarLogoGestion des programmes dans StarLogo
– Intervention possible même lorsque le programme est lancéIntervention possible même lorsque le programme est lancé
La plateforme La plateforme
4 fenêtres de commandes visibles 2 à 2 dans le centre de commandes,
La plateforme La plateforme
La fenêtre «Turtle command center» :La fenêtre «Turtle command center» :
– Exécution immédiate des commandes simples et de procédures relatives aux Exécution immédiate des commandes simples et de procédures relatives aux tortues.
tortues.
– Exemple : taper forward 10 dans la fenêtre «Turtle command center», on verra Exemple : taper forward 10 dans la fenêtre «Turtle command center», on verra alors un joli cercle, indiquant que vos tortues ont toutes avancé de 10 pas.
alors un joli cercle, indiquant que vos tortues ont toutes avancé de 10 pas.
La fenêtre «Turtle procedures» :La fenêtre «Turtle procedures» :
– Écriture de toutes les procédures concernant les tortues.Écriture de toutes les procédures concernant les tortues.
– Exemple :Exemple :
To set up
To set up to demarrerto demarrer Setcolor red
Setcolor red setc redsetc red Forward 10
Forward 10 fd 10fd 10 End End endend
– Les procédures ne peuvent lancées immédiatement Les procédures ne peuvent lancées immédiatement
dans la fenêtredans la fenêtre
– Pour exécuter les procédures :Pour exécuter les procédures :
Taper le nom de la procédure dans la fenêtre Taper le nom de la procédure dans la fenêtre
«Turtle command center»«Turtle command center»
Créer un bouton de lancement de la procédureCréer un bouton de lancement de la procédure
La plateforme La plateforme
La fenêtre «observer command center» :La fenêtre «observer command center» :
– Exécution immédiate des commandes qui y sont tapées.Exécution immédiate des commandes qui y sont tapées.
– Exécution immédiate des procédures en tapant leurs noms.Exécution immédiate des procédures en tapant leurs noms.
– l'observateur peut agir sur le monde des tortues en créant de nouvelles l'observateur peut agir sur le monde des tortues en créant de nouvelles tortues, en nettoyant l'écran de visualisation, ou en monitorant les événements tortues, en nettoyant l'écran de visualisation, ou en monitorant les événements – Exemple :Exemple :
taper clear-turtles dans cette fenêtre, alors toutes les tortues seront effacées de l'écran.taper clear-turtles dans cette fenêtre, alors toutes les tortues seront effacées de l'écran.
taper create-turtles 10, alors va apparaître un point au centre de l'écran correspondant aux taper create-turtles 10, alors va apparaître un point au centre de l'écran correspondant aux nouvelles tortues.
nouvelles tortues.
La fenêtre «observer procedures» :La fenêtre «observer procedures» :
– Écriture les procédures relatives à l'observateur.Écriture les procédures relatives à l'observateur.
– Procédures qui permettent de gérer un programme dans StarlogoProcédures qui permettent de gérer un programme dans Starlogo – Les procédures ne peuvent lancées immédiatement dans la fenêtreLes procédures ne peuvent lancées immédiatement dans la fenêtre
– Commandes importantes : ask-turtles et ask-patches pour passer des ordresCommandes importantes : ask-turtles et ask-patches pour passer des ordres aux tortues et aux patches
aux tortues et aux patches – Exemple :Exemple :
ask-turtles [setc blue fd 5]
ask-turtles [setc blue fd 5]
endend
La plateforme La plateforme
Les patchesLes patches
– Pas de commandes spécifiques aux patchsPas de commandes spécifiques aux patchs – Les commandes relatives aux patchs sont :Les commandes relatives aux patchs sont :
soit, des commandes qui peuvent être exécutées par les tortuessoit, des commandes qui peuvent être exécutées par les tortues
soit, des commandes utilisées par l'observateur (principalement).soit, des commandes utilisées par l'observateur (principalement).
– Utilisation des patchesUtilisation des patches
la commande ask-patches ou d'une de ses variantes.la commande ask-patches ou d'une de ses variantes.
Vérifier si la commande est associée aux tortues ou à l’observateur pour savoir où l’utiliser.Vérifier si la commande est associée aux tortues ou à l’observateur pour savoir où l’utiliser.
– Exemple :Exemple :
L'utilisation des patchs par l'observateur nécessite la commande ask-patches ou une L'utilisation des patchs par l'observateur nécessite la commande ask-patches ou une variante(mettre dans la fenêtre «Observer procedures» .
variante(mettre dans la fenêtre «Observer procedures» .
to demarrer to demarrer
ask-patches [ifelse xcor < 0 [setpc red] [setpc blue]]
ask-patches [ifelse xcor < 0 [setpc red] [setpc blue]]
endend
(Patches < 0 rouge sinon bleu (Patches < 0 rouge sinon bleu
Xcor commande relative aux tortues mais setpc sont relatives a l’observateur Xcor commande relative aux tortues mais setpc sont relatives a l’observateur
C’est le type de derniere commande qui détermine ou mettre la procédure ici c’est l’observateur le C’est le type de derniere commande qui détermine ou mettre la procédure ici c’est l’observateur le destinataire)
destinataire)
Commande associée aux tortues (à mettre dans la fenêtre «Turtle procedures» )Commande associée aux tortues (à mettre dans la fenêtre «Turtle procedures» )
to demarrer to demarrer
ask-turtles [demarrer-tortues] //
ask-turtles [demarrer-tortues] // dire aux tortues lancer la procedure demarrer tortuesdire aux tortues lancer la procedure demarrer tortues endend
to demarrer-tortues to demarrer-tortues patch-setup //
patch-setup //demmarage des patchesdemmarage des patches endend