Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Octopus like basins #60

Open
Datseris opened this issue Apr 19, 2023 · 8 comments
Open

Octopus like basins #60

Datseris opened this issue Apr 19, 2023 · 8 comments
Labels
basin boundaries Related with the boundaries of basins of attraction

Comments

@Datseris
Copy link
Member

I've just read Basins with Tentacles by Yuanzhao Zhang and Steven H. Strogatz:

image

The authors say that a basin is octopuslike if, starting from the attrractor, a random perturbation in a given direction exits and re-enters the basin later when increasing the strength of the perturbation, and this continues many times.

I'm opening a feature request here, mainly because this is tightly linked with the minimal fatal shock algorithm #4 . We can kill two birds with one stone and reuse the same code.

In essense, we write a code that produces perturbations along directions. This code produces the result of a boolean matrix of dimensions as much as teh state space (1 = radious = perutrbation strenght, the other dimensions are the anglers).

By careful analysis of this array we can find both (1) the minimal perturbation along a direction, and (2) whether there is octopus like structure in this direction. The minimal fatal shock #4 is the minimum of (1) and the basin is octopuslike if all directions are octopuslike from (2).

@Datseris Datseris added the basin boundaries Related with the boundaries of basins of attraction label Apr 19, 2023
@awage
Copy link
Contributor

awage commented Apr 19, 2023

This seems a very hard problem in high dim. I have the project to implement some ideas from the following paper:
https://arxiv.org/abs/2207.08241

They suggest to use techniques from statistical physics to sample volume of basins in high-dim (see last section). By the way they cite Strogatz paper. There are also MCMC techniques suitable for this kind of sampling. I want to experiment with this stuff this summer. Very recommended reading.

There is not much done in the dynamical systems community for this kind of system. Strogatz paper is one of the few. But there is a very large corpus of research in statistical physics and computational chemistry.

@Datseris
Copy link
Member Author

Yes, the strogatz paper cites this:

image

Which I thought sounds super promising to add here, but after reading it a bit I realized that it really only applies to statistical physics concept where you have some sorts of free energy that you can minimize.

@awage
Copy link
Contributor

awage commented Apr 19, 2023

Stefano Martiniani is one of the authors of the arxiv paper I sent. The arxiv version is more understandable and they try to bridge the gap between dynamical systems and problems like hard sphere packing but they don't offer examples. Also I missed an implementation of the technique. There is no code to play with.

EDIT: I just remembered this: https://github.com/pele-python/pele
and user @smcantab

@smcantab
Copy link

smcantab commented May 4, 2023

Hi, glad you guys found our work! Our methods work on generic dynamical systems, you do no need an energy function as suggested by @Datseris. The best central source to learn about these techniques is my PhD thesis

Martiniani, S. (2017). On the complexity of energy landscapes: algorithms and a direct test of the Edwards conjecture. https://doi.org/10.17863/CAM.12772

as well as the perspective in PIP mentioned above https://doi.org/10.4279/pip.150001 where we benchmark the method on hypercubes, and discuss applications to dynamical systems.

In chapter 5 of my thesis I discuss an application to the 1D XY model, which is equivalent to a Kuramoto model of oscillators on a ring. There, we reported some nice evidence of the existence of these tentacles, though we already knew that they were there based on the density of states of the basins (i.e., how much volume is concentrated at distance r from a reference point within the basin) that you can find in the PRE communication posted above https://doi.org/10.1103/PhysRevE.94.031301 or in the PIP paper.

In https://doi.org/10.1073/pnas.1620497114 I show that the method even works for stochastic dynamics.

My group at NYU is currently interested in demonstrating these techniques for use in generic high-dimensional dynamical systems (both for the analysis of dynamical systems and for control). We'll work on making the description of the algorithms more accessible to researchers outside statistical mechanics.

I recently gave a talk at the Santa Fe Institute about this work (not by chance, Yuanzhao Zhang is there) and you can see me talk about this in the first 30 minutes of this recording

Watch the video

@smcantab
Copy link

smcantab commented May 4, 2023

Following up. There is no code to play with because the method is very sophisticated, particularly for measuring the basins of attraction of soft sphere packings, and consists of many parts, the majority of which were written in c++/openmp/mpi for efficiency. This is just about as hard an MC calculation can possibly get.

We would love to contribute an implementation of the technique for the Julia dynamical systems community. We have recently discovered the ODE solvers in Julia and can't live without them. Even if it doesn't scale massively, it could still be a good reference for those who want to learn about the method for their own applications. And I think it could still be useful for relatively low dimensional systems (e.g., d=10-20), even though we designed the method for problems for which d is 100-1000.

@Datseris
Copy link
Member Author

Datseris commented May 4, 2023

Hello Stefano! Thanks so much for taking the time to reply here, we really appreciate it! Also thanks so much for correcting me and pointing out that the method could be applicable to systems that don't really fall under the energy landscape description. I didn't receive the full understanding from the papers, so I concur that making the algorithm descriptions more accessible to someone with a really basic background in statistical physics will be a benefit to all.

Thanks for sharing these resources. I will go through your thesis and the YouTube video you linked and then return here for more comments. However, since you are anyways interested in making your methods more accessible, perhaps you should think about collaborating with us here. DynamicalSystems.jl (which this repo is part of) is a general purpose library for nonlinear dynamics. The number 1 goal of the library is accessiblity: to make the entire field of nonlinear dynamics accessible by providing code with minimal learning curve, clear source code, and extensive documentation.

As this accessibility is a sentiment you share, we could talk about implementing your methods here together, with either us guiding you through learning the basics of working with DynamicalSystems.jl (which I absolutely guarantee wouldn't take you more than a couple of days), or you guiding us on correctly implementing your algorithms. We are open to discussion, so please do think about it.

I'll post more after reading your detailed resources!

@Datseris
Copy link
Member Author

Datseris commented May 4, 2023

We have recently discovered the ODE solvers in Julia and can't live without them.

Haha, nothing on this planet beats DifferentialEquations.jl when averaged across all dimensions of comparison ;)

@awage
Copy link
Contributor

awage commented May 5, 2023

Hello, many thanks for the information! It seems that one of the key ingredient of these methods is to obtain the oracle Or over the domain to integrate. We have nice tools in DynamicalSystems.jl to identify basins of attraction. A following step would be to implement a thermodynamic integration to estimate the volume. It sounds easy but I am sure there are plenty of details that I am missing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
basin boundaries Related with the boundaries of basins of attraction
Projects
None yet
Development

No branches or pull requests

3 participants