Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/null93/superperm
An attempt to find an optimal heuristic solution to the superpermutation problem.
https://github.com/null93/superperm
algorithm heuristic oeis superpermutation
Last synced: about 2 months ago
JSON representation
An attempt to find an optimal heuristic solution to the superpermutation problem.
- Host: GitHub
- URL: https://github.com/null93/superperm
- Owner: null93
- License: mit
- Created: 2019-03-12T23:29:20.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-05-28T04:32:40.000Z (over 1 year ago)
- Last Synced: 2024-06-19T16:27:40.637Z (6 months ago)
- Topics: algorithm, heuristic, oeis, superpermutation
- Language: Go
- Homepage: https://oeis.org/A180632
- Size: 1.09 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# superperm
> An attempt to find an optimal heuristic solution to the superpermutation problem.![license](https://img.shields.io/badge/License-MIT-lightgrey.svg?style=for-the-badge)
![version](https://img.shields.io/badge/Version-2.0.0-lightgrey.svg?style=for-the-badge)## About
This project takes a heuristic approach when attempting to solve the superpermutation problem. The superpermutation problem is an open mathematics problem. At the moment, when the alphabet cardinality is 6, this algorithm does not find the shortest _known_ superpermutation. This project is still a work in progress and further attempts to optimize the algorithm will be made.
## Findings
| **\|alphabet\|** | **\|shortest(alphabet)\|** | **\|rotate(alphabet)\|** | **runtime(rotate(alphabet))** |
|:----------------:|:------------------------:|:---------------:|:---------------:|
| 1 | 1 | 1 | 750ns |
| 2 | 3 | 3 | 2.166µs |
| 3 | 9 | 9 | 3.666µs |
| 4 | 33 | 33 | 8.583µs |
| 5 | 153 | 153 | 47.25µs |
| 6 | 872 | 873 | 254.709µs |
| 7 | 5907 | 5913 | 2.402625ms |
| 8 | 46205 | 46233 | 15.063542ms |
| 9 | 408966 | 409113 | 138.998333ms |## Development
Run `make help` for all available commands. In general, you can run `make build-all` to build the binary for all platforms.
## Additional Resources
- https://oeis.org/A180632
- https://en.wikipedia.org/wiki/Superpermutation