vendredi, juin 02, 2006

SIFOA 2006 : un point d’avancement

Le dernier message ayant plongé dans vision détaillée et technique de sujets pointus, je vais essayer de reprendre de la hauteur et de faire le point. Pour ce faire, j’ai écrit une synthèse de ce qui a été fait et je l’ai installée sur mon site . Cela permet une lecture plus facile que le « dépilement » des messages de ce blog. J’ai aussi installé un lien permanent sur le blog (« Synthèse »), puisque le fait d’écrire une synthèse m’a permis de corriger quelques erreurs et de préciser certains points (c’est donc un document utile même pour ceux qui ont suivi depuis le début).

SIFOA 2006 : de quoi s’agit-t-il ?

Le blog a été ouvert en tant que « blog-note » pour décrire, expliquer et discuter d’un projet de simulation et d’étude : SIFOA. Ce projet est né il y a trois ans, en 2004, et il est ambitieux à plusieurs titres. D’une part, je ne suis pas un expert des sujets tels que la théorie de la communication ou l’organisation des entreprises. J’ai commencé d’entreprendre mon éducation en 2004, et je suis preneur de tout commentaire, suggestion et proposition pour enrichir ma culture. D’autre part, il s’agit d’un sujet « risqué », puisque rien de garantit l’existence d’un modèle tractable et pertinent. Autrement dit, rien ne permet de penser que les couches successives de simplification nécessaires pour produire un modèle qui soit, d’une part, implémentable sur un ordinateur, et d’autre part analysable suivant un nombre raisonablement limité de dimensions, ne finissent pas par décorréler les résultats de la simulation de toute réalité. Pour finir, il s’agit d’un effort sur une très longue durée, probablement une dizaine d’année.

Le premier volet, SIFOA 2006, consiste à créer un outil de simulation. La première utilisation de l’outil est purement expérimentale, pour se forger une conviction. L’objectif des expériences qui sont réalisées en 2006 est simplement de stimuler la réflexion et de lancer des débats. En particulier, je caresse l’espoir que certaines des propriétés exhibées par le simulateur puisse être expliquée de façon directe, avec des raisonnement simple et sans avoir recours à l’artifice de la simulation.

L’étape suivante, consistant à développer des méthodes d’analyse pour exploiter et donner du sens aux résultats de ces simulations, sera l’objet du plan de travail 2007 :
  • impact des leviers les un sur les autres
  • espace de phase des environment par rapport aux leviers


Comme cela a été dit maintes fois, en particulier dans les messages sur la simulation par « Jeux & Apprentissage », c’est un sujet complexe, qui demande du temps.


Quelques nouvelles du front

Le simulateur représente approximativement 2000 lignes de CLAIRE, soit approximativement 8000 lignes de C++. Avec le recul des deux dernier mois, je suis surpris par la difficulté rencontrée à réaliser un simulateur stable et réaliste.

  1. réaliste : comme les messages précédents l’atteste, ce simulateur est plus complexe que prévu. La structure du programme (simulation à événement discrets, génération de processus, apprentissage) s’appuie sur des expériences précédentes. En revanche, la modélisation des tâches et les méthodes d’ordonnancement sont plus complexes et subtiles que ce à quoi je m’attendais.
  2. stable (et efficace) : pour traiter plusieurs milliards d’événements, il faut une programmation « un peu sérieuse » avec des structures de données optimisée et un soin (classique) porté à la gestion de la mémoire. La mise au point m’a pris quelques soirées et dimanches pour tracer et débugger, ce qui m’a fait rajeunir :)

A l’heure où j’écris ces lignes, le programme de simulation tourne depuis plus d’une semaine. Chaque fichier script contient entre 10 et 20 expériences à réaliser, et utilise le PC (moderne, bi-pro et 3.2 Ghz) en continu pendant plusieurs jours. En effet :
une itération de simulation consiste à simuler une année d’activité et à ordonnancer 25 000 tâches. Après optimisation, cela prend de 1 à 2 secondes.
une itération d’apprentissage nécessite, pour l’instant, 1000 simulations, soit 25 millions de tâches à ordonnancer
une expérience repose, pour l’instant, sur 10 instantiations Monte-Carlo (chiffre qui devra être porté à 100 par la suite). Faite le calcul, il faut plusieurs heures …

On voit qu’il s’agit d’expériences qui sont très consommatrices en temps de calcul.
Les premieres expériences servent à évaluer les influences des leviers et des scénarios. Il s’agit donc simplement de faire varier les paramètres et de remarquer les impacts (significatifs d’un point de vue statistique) de ces changements. Les statistiques produites par chaque expérience fournissent :

  • le revenu créé, sa répartition par processus et l’efficacité associée (quel pourcentage de la valeur théorique maximale a été obtenu)
  • L’utilisation des agents (U et H)
  • L’utilisation des canaux

Je posterai un message de résultats en Juin, et après je disparaitrai jusqu’en Octobre pour rédiger mon prochain bouquin.

2 commentaires:

  1. Il y a un petit souci dans l'URL qui pointe vers CLAIRE. Depuis Firefox, le lien renvoie chez Microsoft !

    RépondreSupprimer
  2. Merci de me l'avoir fait remarqué.
    -- Yves

    RépondreSupprimer