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.0a0 (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 the trilogy as a whole. 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.0a0.tar.gz (13.9 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.0a0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: autodynamics-0.1.0a0.tar.gz
  • Upload date:
  • Size: 13.9 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.0a0.tar.gz
Algorithm Hash digest
SHA256 7c07747cd51f96ace6e6198e800ab85a424b333bc3afde583407c1b220fdf0b2
MD5 38d9db2bb3b490d36cd01dd5dd42ed0c
BLAKE2b-256 bf702ad7bf9e9f78744c643093501717b69508ca310205d42288ef1cbab48b12

See more details on using hashes here.

File details

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

File metadata

  • Download URL: autodynamics-0.1.0a0-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.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc653704f2d59a376a142645890552686fd216a82fa2b72d81450b660a0f1382
MD5 f6b566b178a613c05789f80d4443b497
BLAKE2b-256 4f31a88831bc65401b905510cb16c582ac9aa2d5d837792eb88f6dc017fc00c6

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