Joel Spolsky
Manchmal, wenn Sie versuchen zu verstehen, wie die Welt funktioniert, reicht grundlegende Mathematik aus. Wenn wir den Warmwasserfluss um x erhöhen, steigt die Temperatur des Gemisches um y.
Manchmal arbeiten Sie an komplexeren Dingen, und Sie können sich nicht einmal fragen, wie sich die Eingabedaten auf die Ausgabe auswirken. Das Lager scheint gut zu laufen, wenn Sie weniger als vier Mitarbeiter haben, aber wenn Sie den fünften abholen, treten sie sich gegenseitig auf die Fersen, und der fünfte nützt nichts.
Möglicherweise verstehen Sie die Beziehung zwischen der Anzahl der Mitarbeiter und dem Durchsatz des Lagers nicht, aber Sie wissen definitiv, was jeder Mitarbeiter tut. Sie können JavaScript schreiben, um das Verhalten jedes Ihrer Mitarbeiter zu simulieren, die Simulation auszuführen und zu sehen, was tatsächlich passiert. Sie können die Parameter und Regeln, denen die Mitarbeiter folgen, anpassen, um zu sehen, was helfen kann, und Sie können wirklich einen Einblick in die Situation erhalten und dann schwierige Probleme angehen.
Das ist hash.ai. Lesen Sie den Startbeitrag in Davids Blog und erstellen Sie dann Ihre eigenen Simulationen!
David Wilkinson
Heute freue ich mich, zusammen mit Joel Spolsky und Jude Allred HASH vorstellen zu können, das Unternehmen, das wir vor etwas mehr als einem Jahr gegründet haben. Wir glauben, dass die meisten Probleme in unserer Welt auf verschiedene Informationsfehler zurückzuführen sind. Wirtschaftlicher Zusammenbruch, Kriege, Krankheit, Wahl des richtigen Lebenspartners oder Universitätsabschlusses - unsere Mission ist es, allen zu helfen, die richtigen Entscheidungen zu treffen und Informationsstörungen zu überwinden.
Brillante Innovatoren versuchten, die Informationen der Welt zu rationalisieren und für alle zugänglich zu machen. Der nächste Schritt auf diesem Weg besteht darin, diese Informationen für alle verständlich und nutzbar zu machen.
High-Tech-Organisationen mit einem hohen Finanzierungsniveau (wie Hedge-Fonds) sind in der Lage, große Mengen an Weltinformationen effizient zu verarbeiten, während sie bei wirtschaftlichen Transaktionen ein vernachlässigbares Einkommen und den Bruchteil einer Sekunde erhalten. Gleichzeitig hat die überwiegende Mehrheit der Unternehmen und Einzelpersonen nicht die Möglichkeit, die Vielfalt der in der umgebenden Welt enthaltenen Signale systematisch zu analysieren.
Simulation kann die Welt zu einem besseren Ort machen: Sie kann unser Verständnis und unsere Wahrnehmung der Welt um uns herum verbessern. Simulation ist nicht nur ein nützliches Werkzeug für die menschliche Wahrnehmung, sondern kann es Menschen auch ermöglichen, Computerdarstellungen von Problemen der realen Welt zu erstellen. Tatsächlich sind Modelle universelle Schnittstellen, die sowohl dem Menschen als auch der künstlichen Intelligenz zur Verfügung stehen, und wir glauben, dass Modelle zu einem Bindegewebe zwischen der Welt des Menschen und der Welt der Maschinen werden können.
Wir hoffen, dass Modelle Menschen und Computern helfen, Entscheidungen effektiver zu treffen. Sie werden insbesondere dazu beitragen, eine nachhaltige Konfliktlösung zu fördern, Marktstörungen zu verringern und zu beseitigen und Menschen dabei zu helfen, ein glückliches und gesundes Leben zu führen. Und wir wollen nicht auf den Beginn dieser glänzenden Zukunft warten.
Wenn Sie auch nicht warten möchten, melden Sie sich jetzt an - oder lesen Sie weiter, um mehr zu erfahren.
Die Ursprünge
Früher leitete ich in London ein digitales Beratungsunternehmen, das Websites und Software entwickelte und datengesteuerte Kampagnen durchführte. Unser Unternehmen hat für eine Vielzahl von Kunden gearbeitet: von Private-Equity-Unternehmen und Start-ups bis hin zu den größten Regierungskunden.
Von Zeit zu Zeit standen wir vor wirklich interessanten Aufgaben wie der Verfolgung der Ausbreitung von Krankheiten (z. B. sexuell übertragbaren Infektionen), der Bewertung der Wirksamkeit von Maßnahmen zu ihrer Bekämpfung (z. B. Informationswerbekampagnen) und der Optimierung der Werbekosten (d. H. Identifizieren von Objekten, die die Knoten in den Netzwerken betreffen, die die Ausbreitung von Krankheiten am wahrscheinlichsten verhindern).
Es stellt sich heraus, dass es einen einzigen Goldstandard gibt, um Antworten auf solche Fragen sowohl in der Epidemiologie als auch in der Verhaltenswerbung zu finden - agentenbasierte Modellierung (ABM). ABM funktioniert wie folgt.
- Agenten repräsentieren die Teilnehmer : ob es sich um Einzelpersonen, Unternehmen, Haushalte, Maschinen in einer Fabrik oder etwas anderes handelt. Verschiedene Modelle repräsentieren Systeme mit unterschiedlichem Detaillierungsgrad. Theoretisch könnte der "Agent" sogar ein Molekül sein.
- Agenten haben Eigenschaften , Werte, die ihnen zugeordnet sind. Die Eigenschaften variieren je nach Agent. In einer Person kann eine Immobilie also logisch (registrierter Wähler - ja / nein), numerisch (Jahreseinkommen) oder Multiple-Choice (Parteizugehörigkeit) sein.
- Agenten existieren in einer bestimmten Umgebung (häufig in mehreren gleichzeitig), z. B. in Geo- oder Netzwerkgrafiken.
- Agenten werden durch ihr Verhalten definiert : Tatsächlich ist Verhalten ein Code, der beschreibt, wie Agenten mit der Außenwelt interagieren und darauf reagieren sollen.
ABMs können auf Grundprinzipien aufbauen und sind nützlich, um Was-wäre-wenn-Hypothesen zu testen, um die digitalen Zwillinge realer Systeme sicher zu untersuchen. Dies macht Multi-Agent-Simulationen viel nützlicher als die Vorhersage der Ausbreitung von Krankheiten und Informationen über das Netzwerk.
Lösen von Problemen Data Science kann nicht gelöst werden
Eine Reihe komplexer systemischer Probleme erschweren die vorhersehbare Modellierung. Diese Probleme hängen mit Agenten, ihren Eigenschaften und Merkmalen zusammen: Nichtlinearität, Auftreten, Anpassung, Interdependenz und Rückkopplungsschleifen zwischen ihnen. Die aufkommenden Ereignisse vom Typ "schwarzer Schwan" spiegeln sich per Definition nicht in den vorhandenen Mustern und historischen Daten wider und werden daher vollständig ignoriert.
Es gibt keine Systeme, die isoliert existieren - sie sind alle Teil unserer komplexen realen Welt, und daher sind alle Probleme von Wirtschaft, Politik und Menschen letztendlich Probleme, komplexe Systeme zu verstehen. In den meisten Fällen können wir durch eine vernünftige Abstraktion die meisten fremden Faktoren außer Acht lassen, aber manchmal kann es schwierig sein zu verstehen, was, wann und unter welchen Umständen von Interesse sein könnte.
In einigen Systemen spielt dies keine Rolle, aber bei der Beantwortung einiger Fragen (z. B. wie können wir zu einer stabileren Wirtschaft oder guten Außenbeziehungen beitragen) können Probleme mit Leben und Tod auftreten. Um diese äußerst wichtigen kritischen Risikoprobleme vollständig zu verstehen, müssen wir eine allgemeine Suche in dem Raum durchführen, in dem sie existieren, basierend auf der beobachteten Dynamik dieser Systeme. Das Erkennen von Mustern und das Analysieren historischer Ergebnisse allein ist gut für die Bildung einer Grundschale, gibt jedoch keine Vorstellung von der Essenz der Probleme.
Da der Raum um Probleme, die alle möglichen Konfigurationen der Welt darstellen, viel größer ist als der historische Raum, in dem diese Probleme beobachtet wurden, ist es manchmal verlockend, korrekte wissenschaftliche Modelle abzuschreiben und sie als nicht realisierbar zu betrachten. Gleichzeitig versucht eine ordnungsgemäße Simulation nicht, alle möglichen Versionen der Welt zu simulieren, die jemals entstehen könnten (natürlich gibt es unendlich viele). Vielmehr hilft es den Menschen zu verstehen, welche dieser Versionen Realität werden kann, und macht auf mögliche neue Szenarien aufmerksam, die menschlichen Analytikern aufgrund der Natur dieser Szenarien unbekannt sind.
Krisen wie der Finanzcrash vom 07.08. Sind gerade deshalb zu Katastrophen geworden, weil die Entscheidungsträger die grundlegende Dynamik komplexer Systeme - in diesem Fall die Wirtschaft - nicht verstanden und nicht berücksichtigt haben. Durch Vorschriften wie Basel II wurden Kapitalreserveanforderungen eingeführt, die in Verbindung mit Markt-zu-Markt-Bilanzierungspraktiken zu Tauchgängen führten, bei denen die Teilnehmer gezwungen waren, in sterbende Märkte einzutreten, was die Lücke vergrößerte.
Während historische Daten und Daten zum beizulegenden Zeitwert zum Vorabfüllen und Backtest von Agenturmodellen verwendet werden können, ist es nicht erforderlich, ein ABM zu erstellen. Dies öffnet die Tür zur direkten formalen Modellierung in einer Vielzahl von Bereichen, in denen maschinelles Lernen derzeit nicht angewendet werden kann.
Darüber hinaus kombinieren Simulationen die Vorteile der formalen Modellierung mit einer Fülle qualitativer Beschreibungen, die sie für den Menschen sehr erklärbar und leicht verständlich machen. Im Gegensatz zu Modellen, die manchmal wie eine Black Box aussehen, sind agentenbasierte Simulationen überprüfbar, und Benutzer können Schritt für Schritt verfolgen, wie bestimmte Ergebnisse erzielt werden und welche Faktoren zu ihrem Empfang beitragen.
Warum wird dann so wenig über Simulationen gesprochen und warum werden sie unterbewertet und selten verwendet?
Moderne Probleme der agentenbasierten Modellierung
Der Simulationsprozess erfordert viel Aufwand und die Kosten für die Wartung, den Betrieb und die Wartung von Simulationen sind hoch. Die Modellierung erfordert Kenntnisse über spezielle Tools, Frameworks und sogar seltsame proprietäre Programmiersprachen. Die resultierenden Simulationen sind oft nicht tragbar oder zweckentfremdet. Wenn die Simulationslogik auf Vermutungen basiert oder nicht kalibriert werden kann, können die Ergebnisse zu einem falschen Vertrauens- oder Sicherheitsgefühl führen, was die bestehende schlechte Entscheidungslogik verschlimmern kann.
Während Simulationen behaupten, in der Welt der Lieferketten, der Fertigung, der Finanzen, der Verteidigung und mehr allgegenwärtig zu sein, arbeiten die marktführenden agentenbasierten Simulationssoftwarepakete heute in begrenztem Umfang und basieren auf älteren Technologien und Paradigmen, die nicht gut reagieren. verteiltes Rechnen im realen Maßstab. Ihre Benutzeroberflächen haben sich seit den 1990er Jahren nicht geändert, die Erfahrung der Entwickler, die sie anbieten, ist veraltet, sie werden überhaupt nicht im Browser und auf Mobilgeräten ausgeführt, und Benutzer müssen häufig spezielle Software bereitstellen, um auf sie zugreifen zu können.
Bei diesen Simulationen handelt es sich größtenteils um Spielzeugmodelle, die bestimmte Dynamiken und mangelnde Interoperabilität demonstrieren sollen. Nachdem diese Modelle erstellt wurden, werden sie fragmentiert, nur wenige Menschen teilen sie und niemand verlässt sich bei seiner Arbeit auf die Ergebnisse von Kollegen. Die meisten konstruierten Modelle sind so begrenzt (um ihren rechtzeitigen Betrieb sicherzustellen), dass sie nur einen kleinen Teil der Dynamik der von ihnen dargestellten Systeme erfassen. Anstatt reichhaltige virtuelle Welten aufzubauen und Aspekte basierend auf den Ergebnissen von Experimenten selektiv einzubeziehen, erstellen Entwickler Spielzeugabstraktionen, die billig und einfach zu erkunden sind und kein Vertrauen in die Benutzer schaffen. Es gibt tiefe und berechtigte Skepsis gegenüber der "wissenschaftlichen" Natur dieser Spielzeugmodelle.und Zweifel, dass komplexere Modelle richtig kalibriert und parametrisiert werden können.
Beachten Sie die Herausforderungen beim Finden geeigneter und detaillierter Daten auf Agentenebene, die Schwierigkeit, Domänenexpertise in Code umzuwandeln, und die zahlreichen strukturellen Hindernisse für die ABM-Erstellung. Sie werden verstehen, warum die Allzweckmodellierung fehlschlägt und in modernen Unternehmen selten verwendet wird.
Eine für alle zugängliche Simulation
Wir hatten viele systemische Probleme und möchten jetzt Lösungen auf Systemebene erstellen. HASH zielt darauf ab, die Simulationsherausforderung zu lösen, indem der gesamte Stapel vertikal integriert wird und eine einzige Plattform zum Erstellen, Ausführen und Lernen aus Simulationen geschaffen wird.
Heute starten wir öffentlich zwei Teile von HASH:
- HASH Core : Eine Webentwicklungsumgebung und ein Simulations-Viewer.
- HASH Index : Eine Sammlung von Simulationen und modularen Komponenten.
Alle Simulationen in HASH bestehen aus Agenten (dargestellt durch beschreibende Schemata) und Verhaltensweisen (normalerweise dargestellt durch reine Funktionen). Agenten werden von Verhaltensmustern gesteuert, und Datensätze werden verwendet, um sie in realen Simulationen zu initialisieren und zu aktualisieren. Diese Kits können auch zur Verstärkung und Kalibrierung von Modellen verwendet werden. Verhaltensschemata und Datasets werden an die entsprechenden Objekte und Schemas gebunden, sodass Entwickler mithilfe des HASH-Index problemlos nach Modellen suchen und diese mithilfe des HASH-Kerns kombinieren können.
Alle Modelle, Datensätze und Verhaltensweisen sind im HASH-Index verfügbar. Alle Inhalte des HASH-Index sind jetzt kostenlos verfügbar. Der HASH-Index ist ein Framework, das als Kreuzung zwischen GitHub und einem Paketmanager konzipiert wurde. In Zukunft wird diese Umgebung erweitert, um einen zusätzlichen Marktplatz zu schaffen, der den Kauf und Verkauf von bezahlten Verhaltensweisen, Datensätzen und Simulationen erleichtert. Aus unserer Sicht werden Unternehmen kostenlose Komponenten veröffentlichen, um Vertrauen und Glaubwürdigkeit zu gewinnen, und dann umfassendere Simulationen und Beratungsdienste verkaufen.
Unsere zukünftigen Pläne für den H-Index umfassen Gabeln, Zweige, Diskussionen und Pull-Anfragen. Wir möchten Funktionen von Git hinzufügen, die wie die Verwendung von Paketmanagern für die meisten modernen Softwareentwickler mittlerweile eine Selbstverständlichkeit sind.
Die Auswirkungen dieser Änderungen auf den Entwickler-Workflow sind erheblich: Mit zunehmender Reife des H-Index können Branchenfachleute mit begrenzten Programmierkenntnissen vorhandene Verhaltensweisen in ihre Simulationen integrieren und anpassen (oder vollständig implementieren). Auf diese Weise können sie komplexe Dynamiken simulieren, ohne große Projekte von Grund auf neu programmieren zu müssen.
Die Arbeiten an unseren Produkten sind jedoch noch nicht abgeschlossen. Obwohl unsere blitzschnell istHASH MotorDamit Simulationen mit unübertroffener Geschwindigkeit ausgeführt werden können, ist sie derzeit nur über die H-Core-Weboberfläche verfügbar, wodurch die auf der Registerkarte "Browser" verfügbaren Speicher- und CPU-Ressourcen zwangsläufig eingeschränkt werden. All dies bedeutet, dass die H-Engine zwar für wirklich globale Simulationen ausgelegt ist, unsere frühen Beta-Benutzer jedoch begrenzt waren und nur relativ kleine Modelle erstellen konnten. Daher ist H-Core in seiner aktuellen Iteration vergleichbar mit NetLogo, einem auf akademischen Agenten basierenden Modellierungswerkzeug. NetLogo ist nützlich, um die Wirkung homogener Agenten in komplexen Systemen zu veranschaulichen und die Dynamik dieser Systeme zu erklären, ist jedoch auf die Modellierung realer Umgebungen mit hoher Zuverlässigkeit oder großem Maßstab beschränkt. Aufgrund dieser EinschränkungenDie Werkzeuge zur Durchführung von Optimierungsexperimenten (parametrische Sweeps, Monte-Carlo-Simulationen und exotischeres Verstärkungslernen) sind noch nicht verfügbar - aber für uns sehr wichtig.
Wir veröffentlichen unsere Roadmap zur Realisierung dieser Funktionen und zur Verwendung von Simulationen für die tägliche Entscheidungsfindung in der Praxis :
HASH Core und HASH Index befinden sich jetzt offiziell in der Beta.
- Wir werden in den kommenden Wochen intensiv an beiden Plattformen arbeiten und freuen uns auf Ihre Beiträge.
Wir sind stolz bekannt zu geben, dass wir Ende dieses Jahres den Quellcode für die HASH Engine, das Herz unseres Simulationssystems, öffnen werden.
- Das Herzstück aller Computer in HASH ist die in Rust geschriebene, leistungsstarke H-Engine, die bereits Bindungen für JavaScript und Python enthält.
- Unser Ziel ist es, die Plattform für alle zugänglich zu machen und es den Menschen zu ermöglichen, H-Engine lokal und auf geschlossenen Systemen zu betreiben.
- Wir planen derzeit, die öffentliche Version von H-Engine bis Ende 2020 unter einer Open-Source-Lizenz zu veröffentlichen.
HASH Cloud -.
- H-Cloud – , H-Core ( open-source H-Engine)
- H-Core , .
- H-Cloud , HASH.
Weitere Informationen zu unseren kommenden Produkten finden Sie in der öffentlichen Roadmap unter hash.ai/roadmap.
Wir haben vor etwas mehr als einem Jahr zusammen begonnen und haben jetzt ungefähr zehn Mitarbeiter in unserem Team. Ich bin unglaublich stolz auf das Team, das wir geschaffen haben und was wir in dieser Zeit erreicht haben.
Wir freuen uns, HASH-Benutzer zu treffen und eine Community in Slack zu starten, auf die über das Symbol in der unteren rechten Ecke jeder Seite auf hash.ai zugegriffen werden kann. Wir helfen Ihnen gerne beim Erstellen Ihrer Modelle, beantworten Ihre Fragen und akzeptieren auch Ihre Vorschläge und Fehlermeldungen.
Wir arbeiten an der Verfügbarkeit und Verbreitung von HASH für ein möglichst breites Publikum von Entwicklern. Die Rust-Engine verfügt über Bindungen für Python und JavaScript. Bis vor kurzem war das Arbeiten mit Verhaltensweisen in H-Core jedoch nur in JS möglich. Wir sind stolz darauf, Ihnen mitteilen zu können, dass die Verhaltensentwicklung und -simulation in Python jetzt lokal im Browser mit H-Core möglich ist. Dank Mozillas erstaunlichem Pyodide-Projekt konnten wir experimentelle Python-Unterstützung in unsere browserbasierte H-Core-IDE implementieren. Derzeit gibt es einige Leistungsprobleme, aber wir hoffen, dass wir sie vor der vollständigen Bereitstellung von H-Cloud und H-Engine beheben können (wodurch Benutzer Leistungsprobleme vermeiden können). Entwickler können jetzt Modelle in HASH mit Python erstellen.und importieren Sie auch eine beliebige Anzahl populärwissenschaftlicher Pakete (mehrin unserer Dokumentation ).
Um Informationsstörungen zu vermeiden, müssen Tools erstellt werden, die vorher nicht existierten, um Probleme zu lösen, die heute nicht mehr gelöst werden können. Wir müssen den Menschen Superkräfte geben, das ist unsere Mission.
Wenn Sie ein Modell mit HASH erstellen möchten, können Sie sich unter hash.ai/signup anmelden .
Wenn Sie an unserer Mission teilnehmen und allen helfen möchten, die richtigen Entscheidungen zu treffen, können Sie Simulationen, Verhaltensweisen und Daten für den H-Index veröffentlichen. Sie können sich auch unter hash.ai/careers für eine unserer offenen Stellen bewerben .
Wenn Sie ein Geschäftsentscheider sind und erfahren möchten, wie HASH angewendet werden kann, kontaktieren Sie uns unter hash.ai/contact .
Wir danken den frühen HASH-Investoren für ihre Unterstützung: großartige Community-Entwickler wie Stack Overflow-Gründer Joel Spolsky und Kaggle-Gründer Anthony Goldblum sowie Ash Fontane und Lee Edwards von Zetta Venture Partners und Root Ventures. Wir freuen uns sehr, unsere öffentliche Mission zu beginnen.
David Wilkinson
Gründer und CEO von HASH
Beispiele für Simulationen
Das Gefangenendilemma in JavaScript (+ in Python )
Marktmodell in JavaScript (+ in Python )
Epsteins Modell für zivile Unruhen in JavaScript (+ in Python )
Boids
Weitere Beispiele hier .
In den kostenpflichtigen Online-Kursen von SkillFactory erfahren Sie, wie Sie einen hochkarätigen Beruf von Grund auf neu aufbauen oder Ihre Fähigkeiten und Ihr Gehalt verbessern können:
- Kurs für maschinelles Lernen (12 Wochen)
- Data Science von Grund auf lernen (12 Monate)
- Analytics-Beruf mit jedem Startlevel (9 Monate)
- Python für Webentwicklungskurs (9 Monate)