GithubHelp home page GithubHelp logo

darpa-askem / experiments Goto Github PK

View Code? Open in Web Editor NEW
4.0 13.0 6.0 66.17 MB

small experiments and prototypes

Jupyter Notebook 59.61% Python 1.88% Julia 0.13% Component Pascal 38.26% Dockerfile 0.01% TeX 0.01% MATLAB 0.09% Scilab 0.01% Shell 0.01%

experiments's Introduction

Experiments

Research prototypes and small experiments, organized as a series of notebooks.

experiments's People

Contributors

liunelson avatar mwdchang avatar brandomr avatar david-andrew avatar marshhawk4 avatar bgyori avatar sorrento110 avatar fivegrant avatar ccjoel avatar jeffbezanson avatar mattprintz avatar josephcottam avatar

Stargazers

Nick Imanzi avatar mnarayan avatar anand jain avatar Holly Russo avatar

Watchers

 avatar  avatar Brittany Kondo avatar  avatar Daniel Meyer avatar Todd Roper avatar Justin Gawrilow avatar Charles Coleman avatar  avatar  avatar Manfred Cheung avatar Edwin Lai avatar Ben Codrington avatar

experiments's Issues

Add a more general "add_reflexives" function in Catlab

From our earlier discussion on our model-stratification workflow sketch (based around this notebook), we'd need:

  • a more general add_reflexives function that adds a transition with any dependent state node (not really a reflexive anymore), e.g. adding a Vaccinate transition node to a Pop state node should also add a required Vaccine state node (since Vaccinate(Pop, Vaccine; Pop))
  • the parent-child relationship between nodes of the base & strata models and those of the stratified model (currently we'd reverse engineer those relationships using the labels of the stratified model).

Infer model rules from model framework schema

Reference: AlgebraicJulia/ACSets.jl#27

The task is about how to get the AlgebraicJulia schemas of different model frameworks and how to infer the rules of model editing from them.

Use case: how does the Terarium HMI know to enforce bipartite-ness of a model's Petri net representation while the user is adding/removing nodes and edges.

Strange stratification behaviour with multiple node types

The issue is that state nodes of different types are combined during stratification (via typed_product).

An example that produces this mis-behaviour is here:
https://github.com/DARPA-ASKEM/experiments/blob/main/notebooks/Nelson/multi-stratify-experiment/SIRV-Age-Travel-example.ipynb

  • The base model is SIRV: SIR with vaccine production and vaccination of S.
  • There are two types of state nodes - Pop and Vac - representing humans and vaccine doses.
  • I stratified this model with a 2-age-group contact model; it has the vaccine production and vaccination interactions (necessary for correct stratification).
  • The resulting stratified model is mostly correct: the connected part is correct but there are many unconnected state nodes (e.g. (vaccine, A1) and (S, vaccine)) which shouldn't be there.
  • The "bad" state nodes are combination of state nodes of different types ((Pop, Vac) and (Vac, Pop)).
  • As I understand, stratification has the correct behaviour with respect to transition nodes since it only combines transition nodes of the same type.

I think this is a bug with typed_product but I could be misusing the API while trying to create an example with different state node types.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.