Joël Spolsky
Parfois, lorsque vous essayez de comprendre comment le monde fonctionne, les mathématiques de base suffisent. Si nous augmentons le débit d'eau chaude de x, la température du mélange augmentera de y.
Parfois, vous travaillez sur des choses plus complexes et vous ne pouvez même pas commencer à vous demander comment les données d'entrée affectent la sortie. L'entrepôt semble bien se porter lorsque vous avez moins de quatre employés, mais lorsque vous prenez le cinquième, ils commencent à se marcher sur les talons et le cinquième ne fait aucun bien.
Vous ne comprenez peut-être pas la relation entre le nombre d'employés et le débit de l'entrepôt, mais vous savez certainement ce que fait chaque employé. Vous pouvez écrire du JavaScript pour simuler le comportement de chacun de vos ouvriers, exécuter la simulation et voir ce qui se passe réellement. Vous pouvez modifier les paramètres et les règles que les employés suivent pour voir ce qui peut aider, et vous pouvez vraiment avoir un aperçu de la situation, puis aborder des problèmes difficiles.
C'est ce qu'est hash.ai. Lisez l'article de démarrage sur le blog de David, puis essayez de créer vos propres simulations!
David Wilkinson
Aujourd'hui, avec Joel Spolsky et Jude Allred, je suis ravi de présenter HASH, la société que nous avons fondée il y a un peu plus d'un an. Nous pensons que la plupart des problèmes de notre monde proviennent de diverses défaillances d'information. Effondrement économique, guerre, maladie, choix du bon partenaire de vie ou diplôme universitaire - notre mission est d'aider chacun à prendre les bonnes décisions et à surmonter les perturbations de l'information.
De brillants innovateurs ont cherché à rationaliser l'information du monde et à la rendre accessible à tous, et la prochaine étape sur cette voie est de rendre cette information compréhensible et utilisable par tous.
Les organisations de haute technologie avec un niveau élevé de financement (comme les hedge funds) sont capables de traiter efficacement d'énormes quantités d'informations mondiales, tout en recevant des revenus insignifiants et les plus petites fractions de seconde dans les transactions économiques. Dans le même temps, l'écrasante majorité des entreprises et des particuliers n'ont pas la possibilité d'analyser systématiquement toute la variété des signaux contenus dans le monde environnant.
La simulation peut rendre le monde meilleur: elle peut améliorer notre compréhension et notre perception du monde qui nous entoure. La simulation n'est pas seulement un outil utile pour la cognition humaine, elle peut également permettre aux gens de créer des représentations informatiques de problèmes du monde réel. En fait, les modèles sont des interfaces universelles accessibles à la fois aux humains et à l'intelligence artificielle, et nous pensons que les modèles peuvent devenir un tissu conjonctif entre le monde des humains et le monde des machines.
Nous espérons que les modèles aideront les gens et les ordinateurs à prendre des décisions plus efficacement. En particulier, ils aideront à promouvoir une résolution durable des conflits, à réduire et à éliminer les perturbations du marché et à aider les gens à vivre une vie heureuse et saine. Et nous ne voulons pas attendre le début de cet avenir radieux.
Si vous ne voulez pas attendre non plus, inscrivez-vous maintenant - ou lisez la suite pour en savoir plus.
Origines
J'avais l'habitude de diriger une société de conseil numérique à Londres qui développait des sites Web, des logiciels et menait des campagnes basées sur les données. Notre société a travaillé pour un large éventail de clients: des sociétés de capital-investissement et des start-ups aux plus grands clients gouvernementaux.
De temps en temps, nous avons été confrontés à des tâches vraiment intéressantes, telles que le suivi de la propagation des maladies (par exemple, les infections sexuellement transmissibles), l'évaluation de l'efficacité des mesures pour les combattre (par exemple, les campagnes de publicité d'information), et l'optimisation des coûts de publicité (i.e. identifier les objets qui affectent les nœuds des réseaux qui sont les plus susceptibles d'empêcher la propagation de maladies).
Il s'avère qu'il existe un standard unique pour trouver des réponses à de telles questions à la fois en épidémiologie et en publicité comportementale - la «modélisation basée sur les agents» (ABM). ABM fonctionne comme suit.
- Les agents représentent les participants : qu'il s'agisse d'individus, d'entreprises, de ménages, de machines dans une usine ou autre. Différents modèles représentent des systèmes avec divers degrés de détail. En théorie, l '«agent» pourrait même être une molécule.
- Les agents ont des propriétés , des valeurs qui leur sont attachées, les propriétés varient en fonction de l'agent. Ainsi, chez une personne, une propriété peut être logique (électeur inscrit - oui / non), numérique (revenu annuel) ou à choix multiple (affiliation à un parti).
- Les agents existent dans un environnement spécifique (souvent dans plusieurs à la fois), par exemple, dans les graphiques géospatiaux ou réseau.
- Les agents sont définis par leur comportement : en fait, le comportement est un code qui décrit comment les agents doivent interagir avec le monde extérieur et y réagir.
Les ABM peuvent être construits sur des principes de base et sont utiles pour tester des hypothèses hypothétiques afin d'explorer en toute sécurité les jumeaux numériques des systèmes du monde réel. Cela rend les simulations multi-agents beaucoup plus utiles que la prévision de la propagation de maladies et d'informations sur le réseau.
Résolution des problèmes La science des données ne peut pas résoudre
Un certain nombre de problèmes systémiques complexes rendent la modélisation prévisible difficile. Ces problèmes sont liés aux agents, à leurs propriétés et caractéristiques: non-linéarité, occurrence, adaptation, interdépendance et boucles de rétroaction entre eux. Les événements émergents du type "cygne noir", par définition, ne sont pas reflétés dans les modèles existants et les données historiques, et sont donc complètement ignorés.
Il n'y a pas de systèmes isolés - ils font tous partie de notre monde réel complexe, et donc tous les problèmes des affaires, de la politique et des humains, en dernière analyse, sont des problèmes de compréhension de systèmes complexes. Dans la plupart des cas, une abstraction raisonnable nous permet de ne pas tenir compte de la plupart des facteurs étrangers, mais il peut parfois être difficile de comprendre ce qui, quand et dans quelles circonstances pourrait être intéressant.
Dans certains systèmes, rien de tout cela n'a d'importance, mais lorsque nous répondons à certaines questions (par exemple, comment pouvons-nous contribuer à une économie plus stable ou à de bonnes relations extérieures), nous pouvons être confrontés à des problèmes de vie ou de mort. Afin de bien comprendre ces problèmes de risques critiques extrêmement importants, nous devons mener une recherche généralisée dans l'espace dans lequel ils existent, sur la base de la dynamique observée de ces systèmes. La reconnaissance des modèles et l'analyse des résultats historiques seuls sont bons pour former une coquille de base, mais ne donnent pas une idée de l'essence des problèmes.
L'espace autour des problèmes représentant toutes les configurations possibles du monde étant beaucoup plus vaste que l'espace historique dans lequel ces problèmes ont été observés, il est parfois tentant d'écarter une modélisation scientifique correcte et de la considérer comme irréalisable. Dans le même temps, une bonne simulation ne cherche pas à simuler toutes les versions possibles du monde qui pourraient jamais survenir (bien sûr, il y en a une infinité). Au contraire, il aide les gens à comprendre laquelle de ces versions peut devenir réalité et attire l'attention sur de nouveaux scénarios possibles qui sont inconnus des analystes humains en raison de la nature de ces scénarios.
Des crises comme le krach financier de 07/08 sont devenues des catastrophes précisément parce que les décideurs n'ont pas compris et n'ont pas pris en compte la dynamique fondamentale des systèmes complexes - l'économie, en l'occurrence. Des réglementations telles que Bâle II ont introduit des exigences de réserve de capital, qui, associées aux pratiques comptables de marché à marché, ont entraîné des plongées d'actifs, les participants étant contraints de pénétrer sur des marchés en déclin, creusant ainsi l'écart.
Bien que les données historiques et de juste valeur puissent être utilisées pour pré-remplir et tester à nouveau les modèles d'agence, il n'est pas nécessaire de créer un GAB. Cela ouvre la porte à une modélisation formelle directe dans un large éventail de domaines où l'apprentissage automatique ne peut actuellement pas être appliqué.
De plus, les simulations combinent les avantages de la modélisation formelle avec une richesse de description qualitative, ce qui les rend hautement explicables et faciles à comprendre par l'homme. Contrairement aux modèles qui ressemblent parfois à une boîte noire, les simulations basées sur des agents sont vérifiables et les utilisateurs peuvent suivre étape par étape comment certains résultats sont obtenus et quels facteurs contribuent à leur réception.
Alors, pourquoi parle-t-on si peu de simulations et pourquoi sont-elles sous-évaluées et rarement utilisées?
Problèmes modernes de la modélisation à base d'agents
Le processus de simulation demande beaucoup d'efforts et les coûts de maintenance, d'exploitation et de maintenance des simulations sont élevés. La modélisation nécessite la connaissance d'outils spécialisés, de frameworks et même de langages de programmation propriétaires étranges. Les simulations qui en résultent ne sont souvent pas portables ou réutilisées. Lorsque la logique de simulation est basée sur des conjectures ou ne peut pas être calibrée, les résultats peuvent conduire à un faux sentiment de confiance ou de sécurité qui peut exacerber la mauvaise logique de décision existante.
Alors que les simulations prétendent être omniprésentes dans la chaîne d'approvisionnement, la fabrication, la finance, la défense, etc., les progiciels de simulation basés sur les agents, leaders du marché, fonctionnent aujourd'hui à une échelle limitée et sont basés sur des technologies et des paradigmes hérités auxquels il est difficile de répondre. informatique distribuée à échelle réelle. Leurs interfaces utilisateurs n'ont pas changé depuis les années 1990, l'expérience des développeurs qui les proposent est dépassée, elles ne fonctionnent pas du tout dans le navigateur et sur les appareils mobiles, et les utilisateurs doivent souvent déployer des logiciels spéciaux juste pour y accéder.
Pour la plupart, ces simulations sont des modèles de jouets conçus pour démontrer certaines dynamiques et manquent d'interopérabilité. Une fois ces modèles construits, ils se fragmentent, peu de gens les partagent et personne ne se fie aux résultats des collègues dans leur travail. La plupart des modèles construits sont si limités (pour assurer leur bon fonctionnement) qu'ils ne capturent qu'une petite partie de la dynamique des systèmes qu'ils représentent. Au lieu de créer des mondes virtuels riches et d'inclure de manière sélective des aspects basés sur les résultats d'expériences, les développeurs créent des abstractions de jouets bon marché et faciles à explorer qui n'inspirent pas confiance aux utilisateurs. Il existe un scepticisme profond et justifié quant à la nature «scientifique» de ces modèles de jouets,et doute que des modèles plus complexes puissent être correctement calibrés et paramétrés.
Faites attention aux défis de trouver des données appropriées et granulaires au niveau de l'agent, à la difficulté de convertir l'expérience du domaine en code et au large éventail d'obstacles structurels à la création d'ABM, et vous comprendrez pourquoi la modélisation à usage général échoue et est rarement utilisée dans les entreprises modernes.
Une simulation accessible à tous
Nous avons été confrontés à de nombreux problèmes systémiques et nous voulons maintenant créer des solutions au niveau du système. HASH vise à résoudre le défi de la simulation en intégrant verticalement l'ensemble de la pile, en créant une plate-forme unique pour la construction, l'exécution et l'apprentissage à partir de simulations.
Aujourd'hui, nous lançons publiquement deux parties de HASH:
- HASH Core : Un environnement de développement Web et une visionneuse de simulation.
- Index HASH : une collection de simulations et de composants modulaires.
Toutes les simulations dans HASH sont composées d'agents (représentés par des schémas descriptifs) et de comportements (généralement représentés par des fonctions pures). Les agents sont pilotés par des modèles de comportement et des ensembles de données sont utilisés pour les initialiser et les mettre à jour dans des simulations réelles. Ces kits peuvent également être utilisés pour renforcer et calibrer des modèles. Les schémas de comportement et les ensembles de données se lient aux objets et schémas correspondants afin que les développeurs puissent facilement rechercher des modèles à l'aide de l'index HASH et les combiner à l'aide du noyau HASH.
Tous les modèles, ensembles de données et comportements sont disponibles dans l'index HASH. Tout le contenu de l'index HASH est maintenant disponible gratuitement. L'index HASH est un framework conçu comme un croisement entre GitHub et un gestionnaire de packages. À l'avenir, cet environnement sera étendu pour créer un marché supplémentaire qui facilitera l'achat et la vente de comportements, d'ensembles de données et de simulations payants. À notre avis, les entreprises publieront des composants gratuits pour gagner en confiance et en crédibilité, puis vendront des simulations et des services de conseil plus complets.
Nos futurs projets pour le H-Index incluent des fourchettes, des branches, des discussions et des pull requests - nous voulons ajouter des fonctionnalités de Git, qui, comme l'utilisation de gestionnaires de packages, sont désormais une seconde nature pour la plupart des développeurs de logiciels modernes.
L'impact de ces changements sur le flux de travail des développeurs est significatif: au fur et à mesure que l'indice H mûrit, les professionnels de l'industrie ayant des connaissances limitées en programmation seront en mesure de bifurquer et d'adapter (ou de mettre pleinement en œuvre) les comportements existants dans leurs simulations. Cela leur permettra de simuler des dynamiques complexes sans avoir à programmer des projets à grande échelle à partir de zéro.
Cependant, les travaux sur nos produits ne sont pas encore terminés. Même si le nôtre est rapide comme l'éclairMoteur HASHpermet d'exécuter les simulations à une vitesse inégalée, il n'est actuellement disponible que via l'interface web H-Core, ce qui limite inévitablement sa mémoire et les ressources CPU disponibles dans l'onglet du navigateur. Tout cela signifie que si le H-Engine est conçu pour gérer des simulations véritablement mondiales, nos premiers utilisateurs de la version bêta étaient limités et ne pouvaient créer que des modèles relativement petits. Ainsi, H-Core, dans son itération actuelle, est comparable à quelque chose comme NetLogo, un outil de modélisation académique basé sur des agents. NetLogo est utile pour illustrer l'effet d'agents homogènes dans des systèmes complexes et expliquer la dynamique de ces systèmes, mais il est limité dans la modélisation d'environnements du monde réel avec une confiance élevée ou à grande échelle. En raison de ces limitations,les outils pour mener des expériences d'optimisation (balayages paramétriques, simulations de Monte Carlo et apprentissage par renforcement plus exotique) ne sont pas encore disponibles - mais très importants pour nous.
Nous publions notre feuille de route pour réaliser ces capacités et utiliser la simulation pour la prise de décision quotidienne dans le monde réel:
HASH Core et HASH Index sont maintenant officiellement en version bêta.
- Nous travaillerons de manière intensive sur les deux plates-formes au cours des prochaines semaines et nous attendons avec impatience votre contribution.
Nous sommes fiers d'annoncer qu'à la fin de cette année, nous ouvrirons le code source du HASH Engine, le cœur de notre système de simulation.
- Au cœur de tout le calcul dans HASH se trouve le super-puissant H-Engine, écrit en Rust, et a déjà des liaisons pour JavaScript et Python.
- Notre objectif est de rendre la plateforme accessible à tous et de permettre aux gens d'exécuter H-Engine localement et sur des systèmes fermés.
- Nous prévoyons actuellement de publier la version publique de H-Engine sous une licence open source d'ici la fin de 2020.
HASH Cloud -.
- H-Cloud – , H-Core ( open-source H-Engine)
- H-Core , .
- H-Cloud , HASH.
Vous pouvez en savoir plus sur nos produits à venir dans la feuille de route publique sur hash.ai/roadmap
Nous avons commencé ensemble il y a un peu plus d'un an et nous avons maintenant une dizaine de personnes dans notre équipe. Je suis incroyablement fier de l'équipe que nous avons créée et de ce que nous avons accompli pendant cette période.
Nous sommes heureux de rencontrer des utilisateurs de HASH et avons lancé une communauté dans Slack, accessible via l'icône dans le coin inférieur droit de n'importe quelle page sur hash.ai - nous serons heureux de vous aider à créer vos modèles, à répondre à vos questions, ainsi qu'à accepter vos suggestions et messages d'erreur.
Nous travaillons sur la disponibilité et la distribution de HASH au plus large public possible de développeurs. Le moteur Rust a des liaisons pour Python et JavaScript, mais jusqu'à récemment, travailler avec des comportements dans H-Core n'était possible que dans JS. Nous sommes fiers d'annoncer que le développement et la simulation de comportements en Python sont désormais possibles localement dans le navigateur en utilisant H-Core. Grâce à l'incroyable projet Pyodide de Mozilla, nous avons pu implémenter le support expérimental de Python dans notre IDE H-Core basé sur un navigateur. Il existe actuellement des problèmes de performances, mais nous espérons pouvoir les résoudre avant le déploiement complet de H-Cloud et H-Engine (ce qui permettra aux utilisateurs d'éviter tout problème de performances). Les développeurs peuvent désormais créer des modèles en HASH en utilisant Python,et importez également n'importe quel nombre de packages de vulgarisation scientifique (plusdans notre documentation ).
Pour éviter les perturbations de l'information, il est nécessaire de créer des outils qui n'existaient pas auparavant, pour résoudre des problèmes qui ne peuvent être résolus aujourd'hui. Nous devons donner aux gens des super pouvoirs, c'est notre mission.
Si vous souhaitez créer un modèle à l'aide de HASH, vous pouvez vous inscrire sur hash.ai/signup .
Si vous souhaitez participer à notre mission et aider tout le monde à prendre les bonnes décisions, vous pouvez publier des simulations, des comportements et des données pour le H-Index. Vous pouvez également postuler pour l'un de nos postes vacants sur hash.ai/careers .
Enfin, si vous êtes un décideur commercial et que vous souhaitez apprendre comment HASH peut être appliqué, contactez-nous à hash.ai/contact .
Nous remercions les premiers investisseurs de HASH pour leur soutien: des créateurs de communauté impressionnants comme le fondateur de Stack Overflow, Joel Spolsky et le fondateur de Kaggle, Anthony Goldblum, ainsi que Ash Fontane et Lee Edwards de Zetta Venture Partners et Root Ventures. Nous sommes ravis de commencer notre mission publique.
David Wilkinson
Fondateur et PDG de HASH
Exemples de simulations
Le dilemme du prisonnier en JavaScript (+ en Python )
Modèle de marché en JavaScript (+ en Python )
Modèle de troubles civils d'Epstein en JavaScript (+ en Python )
Boids
Plus d'exemples ici .
Apprenez comment obtenir une profession recherchée à partir de zéro ou augmenter vos compétences et votre salaire en suivant des cours en ligne payés par SkillFactory:
- Cours d'apprentissage automatique (12 semaines)
- Apprendre la science des données à partir de zéro (12 mois)
- Profession analytique avec n'importe quel niveau de départ (9 mois)
- Cours Python pour le développement Web (9 mois)
Lire la suite
- Tendances de la science des données 2020
- La science des données est morte. Vive la science des affaires
- Les scientifiques de données cool ne perdent pas de temps sur les statistiques
- Comment devenir un Data Scientist sans cours en ligne
- 450 cours gratuits de l'Ivy League
- Data Science : «data»
- Data Sciene : Decision Intelligence