chemart / p-systems

View on GitHub

P systems (membrane computing) — Computing with nested membranes. Objects are symbols held in the regions of a membrane tree, and rules rewrite multisets of them while targeting the products - keep them here, send them out, or push them into an inner me…

chemistry official · built in rewriting fidelity: reconstructed #banzhaf-yamamoto
files / preview.json · 3.5 KB · at 29d0c85673fe Raw
{"species": [{"id": "a@2", "structure": null}, {"id": "c@2", "structure": null}, {"id": "d@2", "structure": null}, {"id": "d@1", "structure": null}, {"id": "c@1", "structure": null}, {"id": "c'@1", "structure": null}, {"id": "a@3", "structure": null}, {"id": "c'@2", "structure": null}], "reactions": [{"reactants": {"d@1": 1, "c@1": 1, "c'@1": 1}, "products": {"a@3": 1}, "rate": null, "count": null}, {"reactants": {"a@2": 1, "c@2": 1}, "products": {"c'@2": 1}, "rate": null, "count": null}, {"reactants": {"a@2": 1, "c'@2": 1}, "products": {"c@2": 1}, "rate": null, "count": null}, {"reactants": {"d@2": 1}, "products": {"d@2": 1}, "rate": null, "count": null}], "status": "complete", "initial_state": {"a@2": 7.0, "c@2": 3.0, "d@2": 1.0}, "inflow": null, "outflow": null, "extras": {"system": "divisibility", "membranes": "[1 [2 ]2 [3 ]3 ]1", "compartments": {"1": {"parent": "env", "children": ["2", "3"], "skin": true, "dissolvable": false, "rules": ["1/r4"], "species": ["d@1", "c@1", "c'@1"]}, "2": {"parent": "1", "children": [], "skin": false, "dissolvable": true, "rules": ["2/r1", "2/r2", "2/r3"], "species": ["a@2", "c@2", "d@2", "c'@2"]}, "3": {"parent": "1", "children": [], "skin": false, "dissolvable": false, "rules": [], "species": ["a@3"]}, "env": {"parent": null, "children": ["1"], "environment": true, "rules": [], "species": []}}, "rules": [{"id": "1/r4", "region": "1", "label": "r4", "rule": "r4: d + c + c' -> a@in3", "dissolves": false, "reactions": [0]}, {"id": "2/r1", "region": "2", "label": "r1", "rule": "r1: a + c -> c'", "dissolves": false, "reactions": [1]}, {"id": "2/r2", "region": "2", "label": "r2", "rule": "r2: a + c' -> c", "dissolves": false, "reactions": [2]}, {"id": "2/r3", "region": "2", "label": "r3", "rule": "r3: d -> d + delta", "dissolves": true, "reactions": [3]}], "reaction_rules": ["1/r4", "2/r1", "2/r2", "2/r3"], "priorities": {"2": [["r1", "r3"], ["r2", "r3"]]}, "priority_semantics": "strong", "dissolution": {"2": {"rules": ["2/r3"], "contents_move_to": ["1"], "effect": "the membrane disappears with its rules; its objects and inner membranes join the nearest upper region that is not dissolved in the same step"}}, "output_region": "3", "analysis": {"semantics": "non-deterministic maximally parallel, strong priorities", "priority": "strong", "halted": true, "steps": 5, "max_steps": 1000, "output_region": "3", "output_dissolved": false, "output": {"a": 1}, "result": 1, "final_structure": "[1 [3 ]3 ]1", "final_configuration": {"1": {"c": 1}, "3": {"a": 1}, "env": {}}, "dissolved": [{"membrane": "2", "step": 4}], "applications": {"2/r1": 4, "2/r2": 3, "2/r3": 1, "1/r4": 1}, "trace": [{"step": 1, "applied": {"2/r1": 3}, "dissolved": [], "configuration": {"1": {}, "2": {"a": 4, "c'": 3, "d": 1}, "3": {}, "env": {}}}, {"step": 2, "applied": {"2/r2": 3}, "dissolved": [], "configuration": {"1": {}, "2": {"a": 1, "c": 3, "d": 1}, "3": {}, "env": {}}}, {"step": 3, "applied": {"2/r1": 1}, "dissolved": [], "configuration": {"1": {}, "2": {"c": 2, "c'": 1, "d": 1}, "3": {}, "env": {}}}, {"step": 4, "applied": {"2/r3": 1}, "dissolved": ["2"], "configuration": {"1": {"c": 2, "c'": 1, "d": 1}, "3": {}, "env": {}}}, {"step": 5, "applied": {"1/r4": 1}, "dissolved": [], "configuration": {"1": {"c": 1}, "3": {"a": 1}, "env": {}}}], "trace_truncated": false, "n": 7, "k": 3, "n_multiple_of_k": false}}, "chemistry": "p-systems", "params": {"system": "divisibility", "n": 7, "k": 3, "membranes": "", "objects": {}, "rules": {}, "priorities": {}, "output": "", "priority": "strong", "max_steps": 1000}, "seed": 1}