All Projects → JaviSoto → Rubikswift

JaviSoto / Rubikswift

Licence: mit
Rubik's cube API in Swift + a genetic solver algorithm

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Rubikswift

Csb Ai Starter
Starter Bot for Codingame's Coders Strike Back AI Challenge (Simulation Engine + Random Search)
Stars: ✭ 32 (-58.97%)
Mutual labels:  genetic-algorithm
Genann
simple neural network library in ANSI C
Stars: ✭ 1,088 (+1294.87%)
Mutual labels:  genetic-algorithm
Super Mario Neat
This program evolves an AI using the NEAT algorithm to play Super Mario Bros.
Stars: ✭ 64 (-17.95%)
Mutual labels:  genetic-algorithm
Evolutionary Neural Networks On Unity For Bots
Neural networks + Genetic algorithm on unity
Stars: ✭ 38 (-51.28%)
Mutual labels:  genetic-algorithm
Emoji Art Generator
Use a genetic algorithm to evolve an image by putting emojies on a canvas
Stars: ✭ 53 (-32.05%)
Mutual labels:  genetic-algorithm
Watchcarslearn
Self driving cars using NEAT
Stars: ✭ 59 (-24.36%)
Mutual labels:  genetic-algorithm
Evolutionary Algorithm
Evolutionary Algorithm using Python, 莫烦Python 中文AI教学
Stars: ✭ 881 (+1029.49%)
Mutual labels:  genetic-algorithm
Mealpy
A collection of the state-of-the-art MEta-heuristics ALgorithms in PYthon (mealpy)
Stars: ✭ 72 (-7.69%)
Mutual labels:  genetic-algorithm
Notebooks
Some notebooks
Stars: ✭ 53 (-32.05%)
Mutual labels:  genetic-algorithm
Mgo
Purely functional genetic algorithms for multi-objective optimisation
Stars: ✭ 63 (-19.23%)
Mutual labels:  genetic-algorithm
Neataptic
🚀 Blazing fast neuro-evolution & backpropagation for the browser and Node.js
Stars: ✭ 1,027 (+1216.67%)
Mutual labels:  genetic-algorithm
Influx Crypto Trader
Node js trading bot, let you create trading strategy and run it (backtest/simulation/live)
Stars: ✭ 49 (-37.18%)
Mutual labels:  genetic-algorithm
Cgp Cnn
A Genetic Programming Approach to Designing CNN Architectures, In GECCO 2017 (oral presentation, Best Paper Award)
Stars: ✭ 59 (-24.36%)
Mutual labels:  genetic-algorithm
Tsp Ga
A Genetic Algorithm in Python for the Travelling Salesman Problem
Stars: ✭ 33 (-57.69%)
Mutual labels:  genetic-algorithm
Radiate
Radiate is a parallel genetic programming engine capable of evolving solutions to many problems as well as training learning algorithms.
Stars: ✭ 65 (-16.67%)
Mutual labels:  genetic-algorithm
Ai Programmer
Using artificial intelligence and genetic algorithms to automatically write programs. Tutorial: http://www.primaryobjects.com/cms/article149
Stars: ✭ 948 (+1115.38%)
Mutual labels:  genetic-algorithm
Applying eanns
A 2D Unity simulation in which cars learn to navigate themselves through different courses. The cars are steered by a feedforward neural network. The weights of the network are trained using a modified genetic algorithm.
Stars: ✭ 1,093 (+1301.28%)
Mutual labels:  genetic-algorithm
Rl Course Experiments
Stars: ✭ 73 (-6.41%)
Mutual labels:  genetic-algorithm
Path planning
This repository contains path planning algorithms in C++ for a grid based search.
Stars: ✭ 70 (-10.26%)
Mutual labels:  genetic-algorithm
Vehicleroutingproblem
Solved using AI techniques: Savings, Sweep, Genetic Algorithm, Google OR Tools
Stars: ✭ 61 (-21.79%)
Mutual labels:  genetic-algorithm

RubikSwift

Rubik's cube API in Swift, and an implementation of a Genetic algorithm to attempt to solve a given scramble of a cube.

Genetic algorithm

The current implementation is very naive. It doesn't have any understanding of how to solve a cube. It essentially generates random sequences of moves, and calculates the "fitness" of each individual based on the number of pieces that are solved. The best ones are mutated by appending more random moves to the solution.

The best solution it's found is solving 16 pieces (out of the 20 in a cube) in 18 minutes. I tried running it for >10h but never got further than that. It's currently able to try ~18k solutions per second.

Instructions

  • Open Xcode project and run the RubikSwiftCLIBundle scheme.

TODO

This project was simply a weekend fun prototype. If you'd like to use the RubikSwift.framework in your application, I would be happy to add Carthage and/or CocoaPods support to it.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].