Sur le modèle de ségrégation résidentielle de Schelling

Pas beaucoup le temps de bloguer en ce moment, mais en attendant je suggère la lecture de ce très intéressant article sur l’histoire du fameux modèle de ségrégation résidentielle de Schelling. L’article revient sur un point surprenant, à savoir que dans les années 70, Schelling estimait qu’il n’était pas souhaitable de programmer son modèle sur un ordinateur, car il en résultait une perte en termes de compréhension de la dynamique du mécanisme modélisé. On apprend aussi que peu de temps après avoir appris à programmer, Schelling a rédigé un document de cours dans lequel il suggère une version généralisée de son modèle. L’auteur de l’article estime que l’idée du modèle généralisé est venu à Schelling parce que le fait d’avoir appris à programmé lui aurait permis de mieux comprendre son propre modèle. A la fin de l’article, il suggère deux raisons pour lesquelles la programmation peut changer le propre point de vue du programmeur. A priori, j’aurai tendance à penser que la même chose est vraie pour le modélisateur qui essayer de modéliser mathématiquement une idée ou un mécanisme dont il n’avait auparavant qu’une compréhension intuitive et non formelle.

6 Commentaires

Classé dans Non classé

6 réponses à “Sur le modèle de ségrégation résidentielle de Schelling

  1. elvin

    Moi qui suis autant (voire plus) informaticien qu’économiste, et qui ai programmé des modèles économiques, je confirme tout à fait.
    Et je joins un extrait d’un bouquin (inédit) que j’ai écrit il y a quelques années:

    Il est possible, en exploitant judicieusement les possibilités des langages objet, de construire des modèles informatiques dotés d’une structure parallèle à celle d’un modèle économique conceptuel, et qui reflète celle de la réalité que le modèle est censé représenter. Les « objets » qui forment ces modèles peuvent être dotés d’un nombre quelconque d’attributs de natures différentes, et d’un comportement représenté par des méthodes aussi simples ou aussi complexes qu’on le souhaite. Ils peuvent être étroitement adaptés au problème qu’on se propose d’étudier. Les hypothèses qui les sous-tendent peuvent être clairement isolées les unes des autres, et il est facile de les modifier ou de les compléter localement pour représenter des variantes de ces hypothèses.
    Pour représenter un concept par un type d’objet (une « classe »), il faut définir exactement quelles sont les grandeurs qui le caractérisent, et seront donc représentées par des « champs » de l’objet. Pour représenter son comportement par des « méthodes » de l’objet, il faut identifier et caractériser rigoureusement les différents processus qu’il peut exécuter, ainsi que les variantes de ces comportements qui définissent des classes d’objets différentes. Par exemple, quelles possibilités de mémorisation et de traitement de l’information un modèle particulier suppose-t-il chez les agents, et quels échanges d’information suppose-t-il entre eux? En se posant la question « comment modéliser un agent? », on se demande en fait ce qu’est réellement un agent, et en quoi le modèle de l’agent diffère de celui du bien, ce qui nous aide par exemple à comprendre comment une entreprise, qui est un agent particulier, peut être l’objet de transactions à l’égal d’un bien.
    Un programme est un texte décrivant de façon rigoureuse des objets et des comportements. Même lorsque ce texte n’est pas destiné à être in fine exécuté par un ordinateur, l’utilisation d’un langage formel exécutable oblige à définir les concepts avec une plus grande précision et force à répondre à des questions que le langage courant tend à occulter. Représenter les concepts élémentaires par des objets force à spécifier exactement quelles sont les variables et les actions qui représentent chaque concept, et quelles ont les relations entre des concepts similaires.
    Le recours au langage informatique peut donc être utile même si on n’utilise ensuite que la simple logique verbale. Il offre un langage d’exposition précis et rigoureux qui permet d’éviter les incohérences et d’exprimer les concepts assez précisément pour être représentables dans la formalisation choisie. Ce mode d’utilisation du langage informatique reste assez éloigné des servitudes propres à l’écriture de programmes exécutables pour que le caractère fastidieux ne soit pas un problème. Mais c’est quand même l’exactitude et la rigueur d’expression exigées par l’informatique qui fondent l’intérêt de cette démarche.
    De façon plus poussée, l’outil informatique peut être exploité pour construire des modèles exécutables, directement dérivés des modèles conceptuels, palliant ainsi en partie l’impossibilité d’expérimenter qui caractérise la science économique. Le modèle en cours d’étude doit alors être mis sous la forme d’un programme exécutable, qui dans le cas le plus normal décrit les lois d’évolution de l’état des objets dans le temps. Les objets principaux du modèle, généralement les agents, seront ainsi dotés de méthodes qui représentent leur comportement à chaque pas de temps. Ils seront mis en œuvre par un programme général d’animation qui simule le passage du temps, et le déroulement du programme représentera le déroulement dans le temps des processus représentés par les méthodes des objets. C’est ce qu’on appelle une opération de simulation. L’informatique est alors un outil d’expérimentation et de calcul. Elle permet de confronter des théories avec l’observation, et de construire des théories testables à partir de théories générales.

  2. Titan

    @ elvin
    L’informatique utilise le langage conceptuel le plus élaboré pour décrire un objet, peut-être, mais dans ce cas, pourquoi a t’il recours à des théories générales, scientifiques, pour les conceptualiser et améliorer son langage afin de tester des hypothèses scientifiques? L’informatique ne répond pas, même en réfléchissant à la question de savoir si un problème est dit NP- complet, c’est à dire calculable.. Il lui faut un mathématicien, comme pour gagner aux échecs Gasparov, une chaine de calcul ne suffit pas.
    Pour comparaison, l’épistémologie avec son langage décrit parfaitement les problèmes en philosophie des sciences, mais quand l’épistémologue est arrivé au bout de son langage formel, il contacte le scientifique pour soulever le problème concret.
    Après je vous rejoint au sens où un mathématicien s’adaptera et multipliera « l’intelligence » de la machine. Par contre un informaticien arrivant aux mêmes conclusions, livré seul à son langage-objet, je reste dubitatif..

    • elvin

      L’informatique n’est jamais qu’un outil permettant de décrire un phénomène et de faire exécuter cette description par un ordinateur, ce qui constitue une expérience virtuelle. Ça ne ressemble en aucune façon à une théorie, et ça ne saurait s’y substituer. Pour ce que j’en comprends, la remarque de Titan me semble donc totalement à côté de la plaque.

  3. Titan

    L’informatique était au départ concu comme une machine de Turing, puis elle s’est développée, et se sert actuellement de méthodes de calculs en parallèle… jusqu’à l’informatique quantique qui est encore en l’état expérimental. Comme pour la modélisation, des supercalculateurs sont utilisés qui ne ressemblent en rien à un ordinateur individuel. Et s’ils sont concus, ce n’est pas pour la joie naive d’une course effrénée à la puissance, ils sont programmés pour un certain type de simulation avec leurs méthodes de calcul ( différences entre simuler la météo, et l’informatique décisionnelle ). Je ne rentre pas dans le détail technique, mais vous aurai compris que pour gouverner ces machines, il faut des algorithmes qui sont évolutifs, et ces algorithmes sont des théories au même titre que l’on peut utiliser des algorithmes en biologie… Le problème en lien avec le sujet est que justement nous sommes limités dans notre capacité à algorithmer, ou modéliser, car notre compréhension du réel est plus vaste que ce que nous pouvons décrire en langage-objet.
    En aucune façon j’ai parlé d’intelligence artificielle, l’intelligence recouvre pour moi une réalité bien réelle, et la différence que je fais avec la réalité n’est pas selon la modalité phénomène/virtuel, mais sur le rapport théorie/réel qui est d’un niveau épistémique plus élevé.

  4. elvin

    En ce qui concerne précisément l’informatique, il y aurait à dire sur les remarques de Titan, mais ça n’est pas le sujet.
    OK pour dire que d’une certaine façon un algorithme (ou un programme) est une théorie, et aussi que « notre compréhension du réel est plus vaste que ce que nous pouvons décrire en langage-objet. » J’ajouterais « …qui est elle-même beaucoup plus vaste que ce que nous pouvons décrire en langage mathématique ».
    L’allusion à l’IA est hors sujet. Moi non plus je n’en ai pas parlé.

  5. Titan

    Je parlais d’algorithmes évolutifs, élaborés par des chercheurs – le cadre de la théorie est ici indiscutable, et n’est pas le simple mot d’une pensée – Après je nomme les autres langages simples binaires; Boole, ou évolués: Pascal, C++ comme de simples langages-objets qui ne sont que le support d’une information, et ne sont pas dotés d’une adaptation programmée reliée à des capacités calculatoires. Je ne suis pas étonné que les modèles neuronaux comme l’information quantique sont dotées d’une grande efficacité, même si leur maîtrise dans ce processus évolutionnaire rend difficile l’exploitation méthodique de ses résultats. Mais celà est bien la preuve pour parler un peu d’IA, comme Lagardère ne veut pas en dire un mot, que l’informatique n’est qu’un outil certes, et que ce sont les mathématiques qui montrent leur étonnante capacité de développement.
    Car dans l’IA si je peux me permettre, l’informatique ne joue pas un rôle majeur..

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s