Skip to content

support unbounded state spaces #2

@dave-doty

Description

@dave-doty

Currently, the "rule" (i.e., population protocol) must be specified as a dict or CRN (so bounded states) or a Python function implementing the transition function. If the latter, the state_enumeration function is called to enumerate all states and convert them to integers, so that also requires bounded states.

But in principle this is not necessary. For both the sequential and multibatch simulators (though this would be more straightforward for sequential), we could detect when an interaction/batch has found a new state and then enumerate more states to represent as integers. I'm not sure exactly how this would work, but one idea would be to implement state_enumeration as a generator with the yield statement that would generate an infinite number of states, and whenever we see we've encountered new unknown states, we iterate state_enumeration until we've found them, and then go back to simulating.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions