-
Notifications
You must be signed in to change notification settings - Fork 6
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
Comments
This seems a very hard problem in high dim. I have the project to implement some ideas from the following paper: 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. |
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 |
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 |
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. |
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! |
Haha, nothing on this planet beats DifferentialEquations.jl when averaged across all dimensions of comparison ;) |
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. |
I've just read Basins with Tentacles by Yuanzhao Zhang and Steven H. Strogatz:
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).
The text was updated successfully, but these errors were encountered: