Skip to main content

Modelling autonomy dynamics over the Autonometrics atlas. Ships ProfileTrajectory: a recording substrate for sequences of autonomy profiles. Layer 2 of the Autonometrics -> Autodynamics -> Ex-Machina trilogy.

Project description

Autodynamics

Layer 2 of 3 in the autonomy research trilogy: Autonometrics (measure) -> Autodynamics (explain) -> Ex-Machina (build / emulate)

Status: Pre-alpha. Ships a recording substrate; no stable theoretical model yet.

Vision

Autonometrics quantifies where a system sits on the five autonomy axes (closure, memory, constraint closure, persistence, coherence). Autodynamics aims to model how systems move across that atlas: trajectories, attractors, transitions, and the dynamical regularities that govern changes in autonomy.

This package will eventually expose:

  • Trajectory analysis tools over AutonomyProfile time series.
  • Phase-space modelling for systems described by the AutonomySystem protocol.
  • Stability and attractor characterisation across the five-axis atlas.
  • Hooks for empirical validation against longitudinal data from biology, AI, and motivational psychology corpora.

What this package contains today

A minimal recording substrate: ProfileTrajectory. A class that:

  1. Stores a sequence of AutonomyProfile values measured at successive moments.
  2. Exposes axis-wise time series for any of the five canonical axes.
  3. Computes pairwise consecutive deltas.
  4. Sums the resulting magnitudes into a total path length in profile space.

It is the smallest piece of code that lets you treat a sequence of autonomy measurements as a trajectory in a metric space — the precondition for any later dynamical analysis.

Install with: pip install autodynamics Import as: import autodynamics

Quick run

pip install autodynamics
autodynamics-demo --n-states-list 3 4 5 6 8 --n-steps 600

You will see a small table of (closure, memory) profiles measured over a sweep of SimpleAutomaton configurations, the consecutive deltas between them, and the total path length.

Toy demo: ProfileTrajectory

Disclaimer. This is the recording substrate of Autodynamics, not its theory. The trajectory class lets you collect, traverse, and compute simple geometric quantities over a sequence of AutonomyProfiles. It does not interpret what those movements mean — that interpretation is the open research question this package will eventually try to answer. Treat the code as a useful template, not as evidence.

import autonometrics as anm
from autodynamics import ProfileTrajectory

trajectory = ProfileTrajectory(axes=("closure", "memory"))

for n_states in [3, 4, 5, 6, 8]:
    sys = anm.SimpleAutomaton.demo(n_states=n_states, n_steps=600)
    sys.run()
    profile = anm.measure(sys, axes=["closure", "memory"])
    trajectory.append(profile)

print(trajectory.axis_series("closure"))    # time series of one axis
print(trajectory.deltas())                  # pairwise consecutive movements
print(trajectory.total_path_length())       # sum of delta magnitudes

Roadmap

  • v0.1.0a1 (current): Toy trajectory recorder. Reserves name, declares vision, ships demo.
  • v0.2.x: First serious dynamics primitives (attractor characterisation, regime classification). Lands after Autonometrics reaches v1.0.
  • v1.0.0: Stable trajectory API on top of Autonometrics profiles.

Position in the trilogy

Layer Project Question it answers
1 Autonometrics Where does a system sit on the autonomy atlas?
2 Autodynamics How does it move across the atlas over time?
3 Ex-Machina Can we build a system that occupies a chosen region?

License

Apache License 2.0 — see LICENSE.

Citation

If you reference this work, please cite Autodynamics directly. A formal citation block will be added in v0.2.x.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autodynamics-0.1.0a1.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autodynamics-0.1.0a1-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file autodynamics-0.1.0a1.tar.gz.

File metadata

  • Download URL: autodynamics-0.1.0a1.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for autodynamics-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 e433ad36e19a9d09646b9ee96abacff38fcb4da1890b302c30eeaab47924aeb6
MD5 ad8c449d602ffc3284b88e00e6809b0f
BLAKE2b-256 2fc4a2c031dd9491259334c5e188106c996e3607d8c90813bfe43d6fa8396396

See more details on using hashes here.

File details

Details for the file autodynamics-0.1.0a1-py3-none-any.whl.

File metadata

  • Download URL: autodynamics-0.1.0a1-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for autodynamics-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 881e02b27cf55300446e9ff86f3251c49daf92031eb8b3bbdaafb651887f2b71
MD5 cbb7f522c9ca274ee974e29deed99ddf
BLAKE2b-256 d86c3348be799bbfca972d8f90d188c5756d24f406969260e85f30c20a49ab4f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page