Joel Spolsky
A veces, cuando intentas entender cómo funciona el mundo, las matemáticas básicas son suficientes. Si aumentamos el flujo de agua caliente en x, la temperatura de la mezcla aumentará en y.
A veces está trabajando en cosas más complejas, y ni siquiera puede comenzar a preguntarse cómo afectan los datos de entrada a la salida. El almacén parece estar funcionando bien cuando tienes menos de cuatro empleados, pero cuando recoges al quinto, comienzan a pisarse el uno al otro y el quinto no está haciendo ningún bien.
Es posible que no comprenda la relación entre el número de empleados y el rendimiento del almacén, pero definitivamente sabe lo que hace cada empleado. Puede escribir JavaScript para simular el comportamiento de cada uno de sus trabajadores, ejecutar la simulación y ver qué sucede realmente. Puede ajustar los parámetros y reglas que los empleados siguen para ver qué puede ayudar, y realmente puede obtener una idea de la situación y luego abordar problemas difíciles.
Esto es lo que es hash.ai. ¡Lee la publicación de inicio en el blog de David, luego intenta crear tus propias simulaciones!
David Wilkinson
Hoy, junto con Joel Spolsky y Jude Allred, estoy encantado de presentar HASH, la compañía que fundamos hace poco más de un año. Creemos que la mayoría de los problemas en nuestro mundo surgen de varias fallas de información. Colapso económico, guerra, enfermedad, elección del compañero de vida adecuado o título universitario: nuestra misión es ayudar a todos a tomar las decisiones correctas y superar las interrupciones de la información.
Los innovadores brillantes buscaron racionalizar la información del mundo y hacerla accesible para todos, y el siguiente paso en este camino es hacer que esta información sea comprensible y utilizable para todos.
Las organizaciones de alta tecnología con un alto nivel de financiación (como los fondos de cobertura) pueden procesar de manera eficiente grandes cantidades de información mundial, mientras reciben ingresos insignificantes y las fracciones más pequeñas de un segundo en transacciones económicas. Al mismo tiempo, la gran mayoría de las empresas e individuos no tienen la oportunidad de analizar sistemáticamente toda la variedad de señales contenidas en el mundo circundante.
La simulación puede hacer del mundo un lugar mejor: puede mejorar nuestra comprensión y percepción del mundo que nos rodea. La simulación no solo es una herramienta útil para la cognición humana, también puede permitir a las personas crear representaciones informáticas de problemas del mundo real. De hecho, los modelos son interfaces universales disponibles tanto para humanos como para inteligencia artificial, y creemos que los modelos pueden convertirse en un tejido conectivo entre el mundo de los humanos y el mundo de las máquinas.
Esperamos que los modelos ayuden a las personas y las computadoras a tomar decisiones de manera más efectiva. En particular, ayudarán a promover la resolución sostenible de conflictos, reducirán y eliminarán las interrupciones del mercado y ayudarán a las personas a vivir vidas felices y saludables. Y no queremos esperar el inicio de este brillante futuro.
Si tampoco quieres esperar, regístrate ahora o sigue leyendo para obtener más información.
Orígenes
Solía dirigir una empresa de consultoría digital en Londres que desarrollaba sitios web, software y realizaba campañas basadas en datos. Nuestra compañía ha trabajado para una amplia gama de clientes: desde firmas de capital privado y nuevas empresas hasta los clientes gubernamentales más grandes.
De vez en cuando, nos enfrentamos a tareas realmente interesantes, como el seguimiento de la propagación de enfermedades (por ejemplo, infecciones de transmisión sexual), la evaluación de la efectividad de las medidas para combatirlas (por ejemplo, campañas de información publicitaria) y la optimización de los costos publicitarios (p. Ej. identificación de objetos que afectan a los nodos en las redes que tienen más probabilidades de prevenir la propagación de la enfermedad).
Resulta que existe un único estándar de oro para encontrar respuestas a tales preguntas tanto en epidemiología como en publicidad conductual: "modelado basado en agentes" (ABM). ABM funciona de la siguiente manera.
- Los agentes representan a los participantes : ya sean individuos, empresas, hogares, máquinas en una fábrica u otra cosa. Los diferentes modelos representan sistemas con diversos grados de detalle. En teoría, el "agente" podría incluso ser una molécula.
- Los agentes tienen propiedades , valores adjuntos, las propiedades varían según el agente. Entonces, en una persona, una propiedad puede ser lógica (votante registrado - sí / no), numérica (ingreso anual) o de opción múltiple (afiliación de partido).
- Los agentes existen en un entorno específico (a menudo en varios a la vez), por ejemplo, en gráficos geoespaciales o de red.
- Los agentes se definen por su comportamiento : de hecho, el comportamiento es un código que describe cómo los agentes deberían interactuar con el mundo exterior y reaccionar ante él.
Los ABM se pueden construir sobre principios básicos y son útiles para probar hipótesis hipotéticas para explorar de forma segura a los gemelos digitales de los sistemas del mundo real. Esto hace que las simulaciones de múltiples agentes sean mucho más útiles que predecir la propagación de enfermedades e información a través de la red.
Solución de problemas que la ciencia de datos no puede resolver
Varios problemas sistémicos complejos dificultan el modelado predecible. Estos problemas están relacionados con los agentes, sus propiedades y características: no linealidad, ocurrencia, adaptación, interdependencia y bucles de retroalimentación entre ellos. Los eventos emergentes del tipo "cisne negro", por definición, no se reflejan en los patrones existentes y los datos históricos, y por lo tanto se ignoran por completo.
No existen sistemas aislados: todos son parte de nuestro complejo mundo real y, por lo tanto, todos los problemas de los negocios, la política y los humanos, en última instancia, son problemas para comprender sistemas complejos. En la mayoría de los casos, la abstracción razonable nos permite descontar la mayoría de los factores extraños, pero a veces puede ser difícil entender qué, cuándo y bajo qué circunstancias podrían ser de interés.
En algunos sistemas, nada de esto importa, pero al responder algunas preguntas (por ejemplo, cómo podemos contribuir a una economía más estable o buenas relaciones externas), podemos enfrentar problemas de vida o muerte. Para comprender completamente estos problemas de riesgo crítico extremadamente importantes, necesitamos realizar una búsqueda generalizada en el espacio en el que existen, en función de la dinámica observada de estos sistemas. El reconocimiento de patrones y el análisis de resultados históricos por sí solos es bueno para formar un caparazón básico, pero no da una idea de la esencia de los problemas.
Dado que el espacio alrededor de los problemas que representan todas las configuraciones posibles del mundo es mucho mayor que el espacio histórico en el que se observaron estos problemas, a veces es tentador descartar el modelo científico correcto y considerarlo irrealizable. Al mismo tiempo, la simulación adecuada no busca simular todas las versiones posibles del mundo que puedan surgir (por supuesto, hay infinitas). Más bien, ayuda a las personas a comprender cuál de estas versiones puede convertirse en realidad, y llama la atención sobre posibles nuevos escenarios que los analistas humanos desconocen debido a la naturaleza de estos escenarios.
Crisis como la crisis financiera del 07/08 se han convertido en desastres precisamente porque los encargados de la toma de decisiones no entendieron y no tuvieron en cuenta la dinámica fundamental de los sistemas complejos: la economía, en este caso. Regulaciones como Basilea II introdujeron requisitos de reserva de capital que, junto con las prácticas de contabilidad de mercado a mercado, resultaron en inmersiones de activos, con los participantes obligados a ingresar a mercados que se desvanecen, ampliando la brecha.
Si bien los datos históricos y de valor razonable se pueden utilizar para rellenar previamente y probar modelos de agencias, no es necesario crear un ABM. Esto abre la puerta al modelado formal directo en una amplia gama de áreas donde el aprendizaje automático no se puede aplicar actualmente.
Además, las simulaciones combinan las ventajas del modelado formal con una gran cantidad de descripciones cualitativas, lo que las hace altamente explicables y fáciles de entender por los humanos. A diferencia de los modelos que a veces parecen una caja negra, las simulaciones basadas en agentes son verificables, y los usuarios pueden seguir paso a paso cómo se obtienen ciertos resultados y qué factores contribuyen a obtenerlos.
Entonces, ¿por qué, entonces, se habla tan poco sobre las simulaciones, y por qué se subestiman y rara vez se usan?
Problemas modernos de modelado basado en agentes
El proceso de simulación requiere mucho esfuerzo, y los costos de mantenimiento, operación y mantenimiento de las simulaciones son altos. El modelado requiere el conocimiento de herramientas especializadas, marcos e incluso lenguajes de programación propietarios raros. Las simulaciones resultantes a menudo no son portátiles ni reutilizadas. Cuando la lógica de simulación se basa en conjeturas o no se puede calibrar, los resultados pueden conducir a una falsa sensación de confianza o seguridad, lo que puede exacerbar la lógica de decisión pobre existente.
Si bien las simulaciones afirman ser omnipresentes en el mundo de las cadenas de suministro, fabricación, finanzas, defensa y más, los paquetes de software de simulación basados en agentes líderes del mercado operan hoy en una escala limitada y se basan en tecnologías y paradigmas heredados que no responden bien. Computación distribuida en escala real. Sus interfaces de usuario no han cambiado desde la década de 1990, la experiencia de los desarrolladores que las ofrecen está desactualizada, no se ejecutan en absoluto en el navegador y en dispositivos móviles, y los usuarios a menudo tienen que implementar software especial solo para acceder a ellos.
En su mayor parte, estas simulaciones son modelos de juguete diseñados para demostrar ciertas dinámicas y carecen de interoperabilidad. Una vez que se construyen estos modelos, se fragmentan, pocas personas los comparten y nadie confía en los resultados de sus colegas en su trabajo. La mayoría de los modelos construidos son tan limitados (para asegurar su operación oportuna) que capturan solo una pequeña parte de la dinámica de los sistemas que representan. En lugar de construir mundos virtuales ricos e incluir selectivamente aspectos basados en los resultados de los experimentos, los desarrolladores crean abstracciones de juguetes que son baratas y fáciles de explorar que no inspiran confianza en los usuarios. Existe un escepticismo profundo y justificado sobre la naturaleza "científica" de estos modelos de juguetes,y duda de que los modelos más complejos puedan calibrarse y parametrizarse adecuadamente.
Preste atención a los desafíos de encontrar datos adecuados y granulares a nivel de agente, la dificultad de convertir la experiencia de dominio en código y la amplia gama de barreras estructurales para la creación de ABM, y comprenderá por qué falla el modelado de propósito general y rara vez se usa en los negocios modernos.
Una simulación accesible para todos
Enfrentamos muchos problemas sistémicos y ahora queremos crear soluciones a nivel de sistema. HASH tiene como objetivo resolver el desafío de la simulación integrando verticalmente toda la pila, creando una plataforma única para construir, ejecutar y aprender de las simulaciones.
Hoy estamos lanzando públicamente dos partes de HASH:
- HASH Core : un entorno de desarrollo web y visor de simulación.
- Índice HASH : una colección de simulaciones y componentes modulares.
Todas las simulaciones en HASH están compuestas de agentes (representados por esquemas descriptivos) y comportamientos (generalmente representados por funciones puras). Los agentes se basan en patrones de comportamiento y los conjuntos de datos se utilizan para inicializarlos y actualizarlos en simulaciones del mundo real. Estos kits también se pueden usar para reforzar y calibrar modelos. Los esquemas de comportamiento y los conjuntos de datos se unen a los objetos y esquemas correspondientes para que los desarrolladores puedan buscar fácilmente modelos usando el índice HASH y combinarlos usando el núcleo HASH.
Todos los modelos, conjuntos de datos y comportamientos están disponibles en el Índice HASH. Todo el contenido del índice HASH ahora está disponible de forma gratuita. El índice HASH es un marco concebido como un cruce entre GitHub y un administrador de paquetes. En el futuro, este entorno se ampliará para crear un mercado adicional que facilite la compra y venta de comportamientos pagados, conjuntos de datos y simulaciones. En nuestra opinión, las compañías publicarán componentes gratuitos para ganar confianza y credibilidad, y luego venderán simulaciones más completas y servicios de consultoría.
Nuestros planes futuros para el Índice H incluyen tenedores, sucursales, discusiones y solicitudes de extracción: queremos agregar funcionalidades de Git, que, como el uso de los administradores de paquetes, ahora es una segunda naturaleza para la mayoría de los desarrolladores de software modernos.
El impacto de estos cambios en el flujo de trabajo del desarrollador es significativo: a medida que el Índice H madure, los profesionales de la industria con conocimientos limitados de programación podrán bifurcar y adaptar (o implementar por completo) los comportamientos existentes en sus simulaciones. Esto les permitirá simular dinámicas complejas sin tener que programar proyectos a gran escala desde cero.
Sin embargo, el trabajo en nuestros productos aún no está completo. A pesar de que el nuestro es muy rápidoMotor HASHpermite que las simulaciones se ejecuten a una velocidad inigualable, actualmente solo está disponible a través de la interfaz web H-Core, que inevitablemente limita su memoria y recursos de CPU disponibles en la pestaña del navegador. Todo esto significa que si bien el H-Engine está diseñado para manejar simulaciones verdaderamente globales, nuestros primeros usuarios beta eran limitados y solo podían crear modelos relativamente pequeños. Entonces, H-Core, en su iteración actual, es comparable a algo como NetLogo, una herramienta de modelado basada en un agente académico. NetLogo es útil para ilustrar el efecto de agentes homogéneos en sistemas complejos y explicar la dinámica de estos sistemas, pero es limitado en el modelado de entornos del mundo real con alta confianza o gran escala. Debido a estas limitaciones,Las herramientas para ejecutar experimentos de optimización (barridos paramétricos, simulaciones de Monte Carlo y aprendizaje de refuerzo más exótico) aún no están disponibles, pero son muy importantes para nosotros.
Estamos lanzando nuestra hoja de ruta para realizar estas capacidades y usar la simulación para la toma de decisiones cotidianas en el mundo real:
HASH Core y HASH Index ahora están oficialmente en beta.
- Trabajaremos intensamente en ambas plataformas durante las próximas semanas y esperamos sus comentarios.
Nos enorgullece anunciar que a fines de este año abriremos el código fuente del motor HASH, el corazón de nuestro sistema de simulación.
- El núcleo de toda la informática en HASH es el súper potente motor H, escrito en Rust, y que ya tiene enlaces para JavaScript y Python.
- Nuestro objetivo es hacer que la plataforma sea accesible para todos y permitir que las personas ejecuten H-Engine localmente y en sistemas cerrados.
- Actualmente estamos planeando lanzar la versión pública de H-Engine bajo una licencia de código abierto para fines de 2020.
HASH Cloud -.
- H-Cloud – , H-Core ( open-source H-Engine)
- H-Core , .
- H-Cloud , HASH.
Puede encontrar más información sobre nuestros próximos productos en la hoja de ruta pública en hash.ai/roadmap
Comenzamos juntos hace poco más de un año y ahora tenemos alrededor de diez personas en nuestro equipo. Estoy increíblemente orgulloso del equipo que hemos creado y de lo que hemos logrado durante este tiempo.
Nos complace conocer a los usuarios de HASH y hemos lanzado una comunidad en Slack, a la que se puede acceder a través del icono en la esquina inferior derecha de cualquier página en hash.ai: estaremos encantados de ayudarlo a crear sus modelos, responder sus preguntas, así como aceptar sus sugerencias y error de mensajes.
Estamos trabajando en la disponibilidad y distribución de HASH a la audiencia más amplia posible de desarrolladores. El motor Rust tiene enlaces para Python y JavaScript, pero hasta hace poco, trabajar con comportamientos en H-Core solo era posible en JS. Estamos orgullosos de anunciar que el desarrollo del comportamiento y la simulación en Python ahora es posible localmente en el navegador usando H-Core. Gracias al sorprendente proyecto Pyodide de Mozilla, pudimos implementar el soporte experimental de Python en nuestro IDE H-Core basado en navegador. Actualmente hay algunos problemas de rendimiento, pero esperamos poder solucionarlos antes de la implementación completa de H-Cloud y H-Engine (lo que permitirá a los usuarios evitar cualquier problema de rendimiento). Los desarrolladores ahora pueden construir modelos en HASH usando Python,y también importar cualquier cantidad de paquetes de ciencia populares (másen nuestra documentación ).
Para evitar interrupciones en la información, es necesario crear herramientas que no existían antes, para resolver problemas que no se pueden resolver hoy. Debemos dar superpoderes a las personas, esta es nuestra misión.
Si desea crear un modelo con HASH, puede registrarse en hash.ai/signup .
Si desea participar en nuestra misión y ayudar a todos a tomar las decisiones correctas, puede publicar simulaciones, comportamientos y datos para el Índice H. También puede solicitar cualquiera de nuestros puestos vacantes en hash.ai/careers .
Por último, si usted toma decisiones de negocios y está interesado en aprender cómo se puede aplicar HASH, contáctenos en hash.ai/contact .
Agradecemos a los primeros inversores de HASH su apoyo: creadores de la comunidad increíbles como el fundador de Stack Overflow, Joel Spolsky y el fundador de Kaggle, Anthony Goldblum, así como Ash Fontane y Lee Edwards de Zetta Venture Partners y Root Ventures. Estamos encantados de comenzar nuestra misión pública.
David Wilkinson
Fundador y CEO de HASH
Ejemplos de simulaciones.
El dilema del prisionero en JavaScript (+ en Python )
Modelo de mercado en JavaScript (+ en Python )
Modelo de disturbios civiles de Epstein en JavaScript (+ en Python )
Boids
Más ejemplos aquí .
Aprenda los detalles de cómo obtener una profesión solicitada desde cero o subir de nivel en habilidades y salario completando los cursos en línea pagos de SkillFactory:
- Curso de aprendizaje automático (12 semanas)
- Aprendizaje de ciencia de datos desde cero (12 meses)
- Profesión analítica con cualquier nivel inicial (9 meses)
- Curso de Python para desarrollo web (9 meses)
Lee mas
- Tendencias en el escenario de datos 2020
- La ciencia de datos está muerta. Larga vida a la ciencia empresarial
- Geniales científicos de datos no pierden el tiempo en estadísticas
- Cómo convertirse en un científico de datos sin cursos en línea
- 450 cursos gratuitos de la Ivy League
- Data Science : «data»
- Data Sciene : Decision Intelligence