Substituído pela Data Science. HASH: plataforma online gratuita para modelar o mundo (do criador do StackOverflow)

imagem



Joel Spolsky



Às vezes, quando você está tentando entender como o mundo funciona, a matemática básica é suficiente. Se aumentarmos o fluxo de água quente em x, a temperatura da mistura aumentará em y.



Às vezes, você está trabalhando em coisas mais complexas e nem consegue imaginar como os dados de entrada afetam a saída. O armazém parece estar indo bem quando você tem menos de quatro funcionários, mas quando você escolhe o quinto, eles começam a pisar um no outro e o quinto não está sendo bom.



Você pode não entender a relação entre o número de funcionários e a taxa de transferência do armazém, mas definitivamente sabe o que cada funcionário está fazendo. Você pode escrever algum JavaScript para simular o comportamento de cada um de seus trabalhadores, executar a simulação e ver o que realmente acontece. Você pode ajustar os parâmetros e as regras que os funcionários seguem para ver o que pode ajudar, e pode realmente ter uma ideia da situação e depois resolver problemas difíceis.



É isso que hash.ai é. Leia a postagem de inicialização no blog de David e tente criar suas próprias simulações!



David Wilkinson



Hoje, junto com Joel Spolsky e Jude Allred, tenho o prazer de apresentar a HASH, a empresa que fundamos há pouco mais de um ano. Acreditamos que a maioria dos problemas em nosso mundo decorre de várias falhas de informação. Colapso econômico, guerra, doença, escolha do parceiro de vida ou diploma universitário certo - nossa missão é ajudar todos a tomar as decisões certas e superar as interrupções de informações.



Inovadores brilhantes procuraram otimizar as informações do mundo e torná-las acessíveis a todos, e o próximo passo nesse caminho é tornar essas informações compreensíveis e utilizáveis ​​para todos.



As organizações de alta tecnologia com alto nível de financiamento (como fundos de hedge) são capazes de processar com eficiência grandes quantidades de informações mundiais, ao mesmo tempo em que recebem renda insignificante e as menores frações de segundo em transações econômicas. Ao mesmo tempo, a esmagadora maioria das empresas e indivíduos não tem a oportunidade de analisar sistematicamente toda a variedade de sinais contidos no mundo circundante.



A simulação pode tornar o mundo um lugar melhor: pode melhorar nossa compreensão e percepção do mundo ao nosso redor. A simulação não é apenas uma ferramenta útil para a cognição humana, mas também pode permitir que as pessoas criem representações computacionais de problemas do mundo real. De fato, os modelos são interfaces universais disponíveis para humanos e inteligência artificial, e acreditamos que os modelos podem se tornar um tecido conectivo entre o mundo dos humanos e o mundo das máquinas.



Esperamos que os modelos ajudem pessoas e computadores a tomar decisões com mais eficácia. Em particular, eles ajudarão a promover a resolução sustentável de conflitos, reduzirão e eliminarão as perturbações do mercado e ajudarão as pessoas a viver uma vida feliz e saudável. E não queremos esperar o início deste futuro brilhante.



Se você também não quiser esperar, inscreva-se agora - ou continue lendo para saber mais.



Origens



Eu costumava administrar uma empresa de consultoria digital em Londres que desenvolvia sites, software e executava campanhas orientadas por dados. Nossa empresa trabalhou para uma ampla gama de clientes: de empresas de private equity e startups até os maiores clientes do governo.



De tempos em tempos, éramos confrontados com tarefas realmente interessantes, como rastrear a propagação de doenças (por exemplo, infecções sexualmente transmissíveis), avaliar a eficácia de medidas para combatê-las (por exemplo, campanhas publicitárias de informação) e otimizar os custos de publicidade (ou seja, identificação de objetos que afetam os nós nas redes com maior probabilidade de impedir a propagação da doença).



Acontece que existe um único padrão-ouro para encontrar respostas para essas perguntas na epidemiologia e na publicidade comportamental - modelagem baseada em agentes (ABM). O ABM funciona da seguinte maneira.



  • Os agentes representam os participantes : sejam indivíduos, empresas, famílias, máquinas em uma fábrica ou qualquer outra coisa. Diferentes modelos representam sistemas com vários graus de detalhes. Em teoria, o "agente" poderia até ser uma molécula.
  • Os agentes têm propriedades , valores anexados a eles. As propriedades variam de acordo com o agente. Assim, em uma pessoa, uma propriedade pode ser lógica (eleitor registrado - sim / não), numérica (renda anual) ou múltipla escolha (afiliação partidária).
  • Os agentes existem em um ambiente específico (geralmente em vários de uma vez), por exemplo, em gráficos geoespaciais ou de rede.
  • Os agentes são definidos pelo seu comportamento : de fato, o comportamento é um código que descreve como os agentes devem interagir com o mundo exterior e reagir a ele.




Os ABMs podem ser construídos com princípios básicos e são úteis para testar hipóteses hipotéticas para explorar com segurança os gêmeos digitais dos sistemas do mundo real. Isso torna as simulações multiagentes muito mais úteis do que prever a propagação de doenças e informações na rede.



Solução de problemas A ciência de dados não pode resolver



Vários problemas sistêmicos complexos dificultam a modelagem previsível. Esses problemas estão relacionados aos agentes, suas propriedades e características: não linearidade, ocorrência, adaptação, interdependência e ciclos de feedback entre eles. Os eventos emergentes do tipo "cisne negro", por definição, não são refletidos nos padrões e dados históricos existentes e, portanto, são completamente ignorados.



Não existem sistemas isolados - todos eles fazem parte do nosso complexo mundo real e, portanto, todos os problemas de negócios, política e humanos, em última análise, são problemas de compreensão de sistemas complexos. Na maioria dos casos, a abstração razoável nos permite descontar a maioria dos fatores estranhos, mas às vezes pode ser difícil entender o que, quando e sob que circunstâncias podem ser interessantes.



Em alguns sistemas, nada disso importa, mas, ao responder a algumas perguntas (por exemplo, como podemos contribuir para uma economia mais estável ou boas relações externas), podemos enfrentar problemas de vida e morte. Para entender completamente essas questões de risco crítico extremamente importantes, precisamos realizar uma pesquisa generalizada no espaço em que elas existem, com base na dinâmica observada desses sistemas. O reconhecimento de padrões e a análise de resultados históricos por si só são bons para formar uma concha básica, mas não dão uma idéia da essência dos problemas.



Como o espaço em torno dos problemas que representam todas as configurações possíveis do mundo é muito maior que o espaço histórico em que esses problemas foram observados, às vezes é tentador anular a modelagem científica correta e considerá-la irrealizável. Ao mesmo tempo, a simulação adequada não busca simular todas as versões possíveis do mundo que possam surgir (é claro, existem infinitas). Em vez disso, ajuda as pessoas a entender quais dessas versões podem se tornar realidade e chama a atenção para possíveis novos cenários desconhecidos pelos analistas humanos devido à natureza desses cenários.



Crises como a crise financeira de 07/08 se tornaram desastres justamente porque os tomadores de decisão não entenderam e não levaram em conta a dinâmica fundamental de sistemas complexos - a economia, neste caso. Regulamentos como Basileia II introduziram requisitos de reserva de capital, que, juntamente com as práticas contábeis de mercado a mercado, resultaram em mergulhos de ativos, com os participantes forçados a entrar em mercados enfraquecidos, aumentando a diferença.



Embora os dados históricos e do valor justo possam ser usados ​​para pré-preencher e testar novamente os modelos de agência, não é necessário criar um ABM. Isso abre as portas para a modelagem formal direta em uma ampla gama de áreas onde o aprendizado de máquina não pode ser aplicado atualmente.



Além disso, as simulações combinam as vantagens da modelagem formal com uma riqueza de descrição qualitativa, o que as torna altamente explicáveis ​​e fáceis de entender pelos seres humanos. Ao contrário dos modelos que às vezes se parecem com uma caixa preta, as simulações baseadas em agentes são verificáveis ​​e os usuários podem acompanhar passo a passo como certos resultados são obtidos e quais fatores contribuem para obtê-los.



Então, por que há tão pouca conversa sobre simulações e por que elas são subvalorizadas e raramente usadas?



Problemas modernos da modelagem baseada em agente



O processo de simulação exige muito esforço, e os custos de manutenção, operação e manutenção de simulações são altos. A modelagem requer conhecimento de ferramentas especializadas, estruturas e até linguagens de programação proprietárias estranhas. As simulações resultantes geralmente não são portáteis ou redirecionadas. Onde a lógica de simulação é baseada em suposições ou não pode ser calibrada, os resultados podem levar a uma falsa sensação de confiança ou segurança que pode agravar a lógica de decisão ruim existente.



Embora as simulações afirmem ser onipresentes no mundo das cadeias de suprimentos, manufatura, finanças, defesa e muito mais, os pacotes de software de simulação baseados em agentes líderes de mercado hoje operam em escala limitada e são baseados em tecnologias e paradigmas herdados que não respondem bem. computação distribuída em escala real. Suas interfaces com o usuário não mudaram desde os anos 90, a experiência dos desenvolvedores que os oferecem está desatualizada, eles não são executados no navegador e nos dispositivos móveis, e os usuários geralmente precisam implantar software especial apenas para acessá-los.



Na maioria das vezes, essas simulações são modelos de brinquedos projetados para demonstrar determinadas dinâmicas e sem interoperabilidade. Depois que esses modelos são construídos, eles se fragmentam, poucas pessoas os compartilham e ninguém confia nos resultados dos colegas em seu trabalho. A maioria dos modelos construídos é tão limitada (para garantir sua operação oportuna) que captura apenas uma pequena parte da dinâmica dos sistemas que eles representam. Em vez de construir mundos virtuais ricos e incluir seletivamente aspectos baseados nos resultados de experimentos, os desenvolvedores criam abstrações de brinquedos baratas e fáceis de explorar que não inspiram confiança nos usuários. Existe um ceticismo profundo e justificado sobre a natureza "científica" desses modelos de brinquedos,e duvida que modelos mais complexos possam ser calibrados e parametrizados adequadamente.



Preste atenção aos desafios de encontrar dados granulares e adequados no nível do agente, a dificuldade de converter a experiência do domínio em código e a ampla gama de barreiras estruturais à criação do ABM, e você entenderá por que a modelagem de uso geral falha e é raramente usada nos negócios modernos.



Uma simulação acessível a todos



Enfrentamos muitos problemas sistêmicos e agora queremos criar soluções no nível do sistema. O HASH tem como objetivo solucionar o desafio da simulação, integrando verticalmente toda a pilha, criando uma plataforma única para construção, execução e aprendizado com simulações.



Hoje estamos lançando publicamente duas partes do HASH:



  • HASH Core : um ambiente de desenvolvimento web e visualizador de simulação.
  • Índice HASH : Uma coleção de simulações e componentes modulares.




Todas as simulações no HASH são compostas por agentes (representados por esquemas descritivos) e comportamentos (geralmente representados por funções puras). Os agentes são orientados por padrões de comportamento e conjuntos de dados são usados ​​para inicializá-los e atualizá-los em simulações do mundo real. Esses kits também podem ser usados ​​para reforçar e calibrar modelos. Esquemas de comportamento e conjuntos de dados são vinculados aos objetos e esquemas correspondentes, para que os desenvolvedores possam procurar facilmente modelos usando o Índice HASH e combiná-los usando o Núcleo HASH.



Todos os modelos, conjuntos de dados e comportamentos estão disponíveis no Índice HASH. Todo o conteúdo do índice HASH já está disponível gratuitamente. O índice HASH é uma estrutura concebida como um cruzamento entre o GitHub e um gerenciador de pacotes. No futuro, esse ambiente será expandido para criar um mercado adicional que facilita a compra e venda de comportamentos pagos, conjuntos de dados e simulações. Em nossa opinião, as empresas publicarão componentes gratuitos para ganhar confiança e credibilidade e, em seguida, venderão simulações e serviços de consultoria mais completos.



Nossos planos futuros para o H-Index incluem garfos, ramificações, discussões e solicitações de recebimento - queremos adicionar funcionalidades do Git, que, como o uso de gerenciadores de pacotes, são agora uma segunda natureza para os desenvolvedores de software mais modernos.



O impacto dessas alterações no fluxo de trabalho do desenvolvedor é significativo: à medida que o H-Index amadurece, os profissionais do setor com conhecimento limitado em programação poderão forçar e adaptar (ou implementar totalmente) os comportamentos existentes em suas simulações. Isso permitirá simular dinâmicas complexas sem a necessidade de programar projetos de grande escala do zero.



No entanto, o trabalho em nossos produtos ainda não está completo. Mesmo que o nosso seja extremamente rápidoMotor HASHpermite que simulações sejam executadas em velocidade incomparável, atualmente está disponível apenas através da interface da web H-Core, o que inevitavelmente limita sua memória e recursos de CPU disponíveis na guia do navegador. Tudo isso significa que, embora o H-Engine tenha sido projetado para lidar com simulações verdadeiramente globais, nossos usuários beta iniciais eram limitados e só podiam criar modelos relativamente pequenos. Portanto, o H-Core, em sua iteração atual, é comparável a algo como o NetLogo, uma ferramenta de modelagem baseada em agentes acadêmicos. O NetLogo é útil para ilustrar o efeito de agentes homogêneos em sistemas complexos e explicar a dinâmica desses sistemas, mas é limitado na modelagem de ambientes do mundo real com alta confiança ou grande escala. Devido a essas limitações,as ferramentas para executar experimentos de otimização (varreduras paramétricas, simulações de Monte Carlo e aprendizado de reforço mais exótico) ainda não estão disponíveis - mas são muito importantes para nós.



Estamos lançando nosso roteiro para a realização desses recursos e usando a simulação para a tomada de decisões cotidiana no mundo real: o



HASH Core e o HASH Index agora estão oficialmente na versão beta.



  • Trabalharemos intensivamente em ambas as plataformas nas próximas semanas e aguardamos sua opinião.




Temos o orgulho de anunciar que, no final deste ano, abriremos o código-fonte do HASH Engine, o coração do nosso sistema de simulação.



  • No coração de toda a computação no HASH está o super-poderoso H-Engine, escrito em Rust, e já possui ligações para JavaScript e Python.
  • Nosso objetivo é tornar a plataforma acessível a todos e permitir que as pessoas executem o H-Engine localmente e em sistemas fechados.
  • Atualmente, estamos planejando lançar a versão pública do H-Engine sob uma licença de código aberto até o final de 2020.




HASH Cloud -.



  • H-Cloud – , H-Core ( open-source H-Engine)
  • H-Core , .
  • H-Cloud , HASH.




Você pode descobrir mais sobre nossos próximos produtos no roteiro público em hash.ai/roadmap



Começamos juntos há pouco mais de um ano e agora temos cerca de dez pessoas em nossa equipe. Estou incrivelmente orgulhoso da equipe que criamos e do que conquistamos durante esse período.



É um prazer conhecer os usuários do HASH e lançamos uma comunidade no Slack, que pode ser acessada através do ícone no canto inferior direito de qualquer página do hash.ai - teremos prazer em ajudá-lo a criar seus modelos, responder a suas perguntas e aceitar suas sugestões e sugestões. mensagens de erro.



Estamos trabalhando na disponibilidade e distribuição do HASH para o maior público possível de desenvolvedores. O mecanismo Rust possui ligações para Python e JavaScript, mas até recentemente, trabalhar com comportamentos no H-Core só era possível em JS. Temos o orgulho de anunciar que o desenvolvimento e simulação de comportamento no Python agora é possível localmente no navegador usando o H-Core. Graças ao incrível projeto Pyodide da Mozilla, fomos capazes de implementar o suporte experimental ao Python em nosso H-Core IDE baseado em navegador. Atualmente, existem alguns problemas de desempenho, mas esperamos poder corrigi-los antes da implantação completa do H-Cloud e H-Engine (que permitirá que os usuários evitem quaisquer problemas de desempenho). Os desenvolvedores agora podem criar modelos no HASH usando Python,e também importar qualquer número de pacotes científicos populares (maisna nossa documentação ).



Para evitar interrupções nas informações, é necessário criar ferramentas que não existiam antes, para resolver problemas que não podem ser resolvidos hoje. Devemos dar às pessoas superpoderes, esta é a nossa missão.



Se você deseja criar um modelo usando o HASH, pode se inscrever em hash.ai/signup .



Se você deseja participar de nossa missão e ajudar todos a tomar as decisões corretas, pode publicar simulações, comportamentos e dados para o H-Index. Você também pode se inscrever em qualquer uma de nossas vagas em hash.ai/careers .



Por fim, se você toma decisões de negócios e está interessado em aprender como o HASH pode ser aplicado, entre em contato conosco em hash.ai/contact .



Somos gratos aos primeiros investidores do HASH por seu apoio: criadores de comunidades incríveis, como o fundador do Stack Overflow, Joel Spolsky e o fundador do Kaggle, Anthony Goldblum, assim como Ash Fontane e Lee Edwards, da Zetta Venture Partners e Root Ventures. Estamos muito satisfeitos por começar nossa missão pública.



imagem



David Wilkinson

Fundador e CEO da HASH




Exemplos de simulações









O dilema do prisioneiro em JavaScript (+ em Python )







Modelo de mercado em JavaScript (+ em Python )







Modelo de agitação civil de Epstein em JavaScript (+ em Python )







Boids



Mais exemplos aqui .



imagem



Descubra os detalhes de como obter uma profissão de alto nível do zero ou subir de nível em habilidades e salário fazendo os cursos on-line pagos do SkillFactory:






Consulte Mais informação






All Articles