Skip to content

NonlinearArtificialIntelligenceLab/ChaoGateNN

Repository files navigation

chaogatenn

uv Ruff pre-commit bear-ified

Code for gradient based optimization of chaogates paper

This code base is uv compatible and pip installable.

Authors

Anil Radhakrishnan, Sudeshna Sinha, K. Murali ,William L. Ditto

Key Results

  • A gradient-based optimization framework for tuning chaotic systems to match predefined logic gate behavior.
  • Extension of the framework to show simultaneous optimization of multiple logic gates for logic circuits like the half-adder.
  • A demonstration and comparison of the reconfigurability of chaogates across nonlinear map configurations, showing the efficacy of using the same nonlinear system to perform multiple gate operations through parameter tuning

Installation

We recommend using uv to manage python and install the package.

Then, you can simply git clone the repository and run,

uv pip install .

to install the package with all dependencies.

Usage

The notebooks in the nbs illustrate different extensions and tests of the chaogates framework.

The scripts in the scripts directory are the same as the Diff_chao_config notebooks but with argparsing for easy command line usage for use in batch processing. To run the scripts, you can use the uv run command to run the scripts in the scripts directory. The bash scripts in the scripts directory can be used to run the scripts in batch mode.

The analysis of the statistical run results can be done using the analysis amd plotter notebooks in the nbs directory.

Code References

  • Equinox Pytorch like module for JAX
  • JAX Accelerator-oriented array computation and program transformation
  • Optax Gradient processing and optimization library for JAX

About

Code for gradient based optimization of chaogates paper

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published