Skip to content
/ PIDOC Public
forked from hanfengzhai/PIDOC

Physics-Informed Deep Operator Control (PIDOC), a deep learning method for controlling nonlinear chaos

License

Notifications You must be signed in to change notification settings

xgxg1314/PIDOC

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Physics-Informed Deep Operator Control (PIDOC), a deep learning method for controlling nonlinear chaos.

schematic view of Physics-Informed Deep Operator Control

What is PIDOC?

PIDOC is based on PINNs, is a general framework can be used for control nonlinear dynamics, achieved by the encoded control trajectory in the losses. Right now, PIDOC has only been used for control the van der Pol systems (Zhai & Sands, 2022). However, if carefully tuned, it can be applied to more complex systems.

How to use PIDOC?

To play with our simple example cases, you need to first download and convert your tensorflow to version 1.x; (Google Colab is a great platform for it) or directly download it through

pip install tensorflow==1.15.0

Then download our repo:

git clone https://github.com/hanfengzhai/PIDOC.git

Open the simple case of the van der Pol dynamics:

cd vanderPol

Run the basic example case with the benchmark case of 10% added noise:

python main.py

Or run with MPI using multiple cores:

mpirun -np 20 python benchmark_main.py

If the model start to train, you are ready to go! Try tunning the hyperparameters and change the training data (explore data) to play it around!

Why does PIDOC work?

Based on the general framework of PINNs, PIDOC can be used for control all based on the signal-encoded (physics-informed) loss

L = MSENN + MSEI + λ MSED

  • where MSENN = MSE(xprediction, xtraining) is the neural network error given the training data.

  • where MSEI = MSE(xprediction(0), xcontrol(0)) is the control error given the training data.

  • where MSED = MSE(xprediction, xcontrol) is the neural network error given the training data.

and λ is the Lagrangian multiplier to enforce control (proved in our paper that enlarging which doesn't work for better control).

What's the limitation?

It is clearly stated in our paper that PIDOC has an evident drawback: enlarging the systems nonlinearity will cause the reduced control quality.


Cite PIDOC

If you use our package please considering cite:

@Article{math10030453,
AUTHOR = {Zhai, Hanfeng and Sands, Timothy},
TITLE = {Controlling Chaos in Van Der Pol Dynamics Using Signal-Encoded Deep Learning},
JOURNAL = {Mathematics},
VOLUME = {10},
YEAR = {2022},
NUMBER = {3},
ARTICLE-NUMBER = {453},
URL = {https://doi.org/10.3390/math10030453},
ISSN = {2227-7390},
DOI = {10.3390/math10030453}
}

About

Physics-Informed Deep Operator Control (PIDOC), a deep learning method for controlling nonlinear chaos

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%