Displaying 1 to 20 from 47 results

IAMDinosaur - 🦄 An Artificial Inteligence to teach Google's Dinosaur to jump cactus

  •    Javascript

A simple artificial intelligence to teach Google Chrome's offline dinosaur to jump cactus, using Neural Networks and a simple Genetic Algorithm.Install Node.js on your computer.

tensorflow_cookbook - Code for Tensorflow Machine Learning Cookbook

  •    Jupyter

This chapter intends to introduce the main objects and concepts in TensorFlow. We also introduce how to access the data for the rest of the book and provide additional resources for learning about TensorFlow. After we have established the basic objects and methods in TensorFlow, we now want to establish the components that make up TensorFlow algorithms. We start by introducing computational graphs, and then move to loss functions and back propagation. We end with creating a simple classifier and then show an example of evaluating regression and classification algorithms.

ML-From-Scratch - Machine Learning From Scratch

  •    Python

Python implementations of some of the fundamental Machine Learning models and algorithms from scratch. The purpose of this project is not to produce as optimized and computationally efficient algorithms as possible but rather to present the inner workings of them in a transparent and accessible way.

genann - simple neural network library in ANSI C

  •    C

Genann is a minimal, well-tested library for training and using feedforward artificial neural networks (ANN) in C. Its primary focus is on being simple, fast, reliable, and hackable. It achieves this by providing only the necessary functions and little extra. Genann is self-contained in two files: genann.c and genann.h. To use Genann, simply add those two files to your project.




AI-Programmer - Using artificial intelligence and genetic algorithms to automatically write programs

  •    CSharp

Read the research paper BF-Programmer: A Counterintuitive Approach to Autonomously Building Simplistic Programs Using Genetic Algorithms. AI-Programmer is an experiment with using artificial intelligence and genetic algorithms to automatically generate programs. Successfully created programs by the AI include: hello world, hello , addition, subtraction, reversing a string, fibonnaci sequence, 99 bottles of beer on the wall, and more. It's getting smarter. In short, it's an AI genetic algorithm implementation with self modifying code.

Applying_EANNs - A 2D Unity simulation in which cars learn to navigate themselves through different courses

  •    ASP

Cars have to navigate through a course without touching the walls or any other obstacles of the course. A car has five front-facing sensors which measure the distance to obstacles in a given direction. The readings of these sensors serve as the input of the car's neural network. Each sensor points into a different direction, covering a front facing range of approximately 90 degrees. The maximum range of a sensor is 10 unity units. The output of the Neural Network then determines the car’s current engine and turning force. If you would like to tinker with the parameters of the simulation, you can do so in the Unity Editor. If you would simply like to run the simulation with default parameters, you can start the built file [Builds/Applying EANNs.exe](Builds/Applying EANNs.exe).

eaopt - :four_leaf_clover: Evolutionary optimization library for Go (genetic algorithm, partical swarm optimization, differential evolution)

  •    Go

The following example attempts to minimize the Drop-Wave function using a genetic algorithm. The Drop-Wave function is known to have a minimum value of -1 when each of it's arguments is equal to 0. All the examples can be found in this repository.

gago - An extensible toolkit for conceiving and running genetic algorithms

  •    Go

There is a lot of intellectual fog around the concept of genetic algorithms (GAs). It's important to appreciate the fact that GAs are composed of many nuts and bolts. There isn't a single definition of genetic algorithms. gago is intended to be a toolkit where one may run many kinds of genetic algorithms, with different evolution models and various genetic operators.


dissecting-reinforcement-learning - Python code, PDFs and resources for the series of posts on Reinforcement Learning which I published on my personal blog

  •    Python

This repository contains the code and pdf of a series of blog post called "dissecting reinforcement learning" which I published on my blog mpatacchiola.io/blog. Moreover there are links to resources that can be useful for a reinforcement learning practitioner. If you have some good references which may be of interest please send me a pull request and I will integrate them in the README. The source code is contained in src with the name of the subfolders following the post number. In pdf there are the A3 documents of each post for offline reading. In images there are the raw svg file containing the images used in each post.

invaderz - Space invaders, but the invaders evolve with genetic algorithm

  •    Javascript

InvaderZ is like the game Space Invaders, except InvaderZ uses the genetic algorithm to mutate the invaders as you play. If you want to see a live version of it, it's hosted here.

neat - NEAT (NeuroEvolution of Augmenting Topologies) implemented in Go

  •    Go

CURRENTLY NOT WORKING! There will be a further notice when it's updated.NEAT (NeuroEvolution of Augmenting Topologies) is a neuroevolution algorithm by Dr. Kenneth O. Stanley which evolves not only neural networks' weights but also their topologies. This method starts the evolution process with genomes with minimal structure, then complexifies the structure of each genome as it progresses. You can read the original paper from here.

SimpleGA - Simple Genetic Algorithm base framework, supporting population, evaluation, mutators, crossover

  •    Javascript

Simple Genetic Algorithm base framework, supporting population, evaluation, mutators, crossover and next generation. Travelling Saleman Problem console program.

jcvi - Python utility libraries on genome assembly, annotation and comparative genomics

  •    Python

Collection of Python libraries to parse bioinformatics files, or perform computation related to assembly, annotation, and comparative genomics. Following modules are available as generic Bioinformatics handling methods.

evo-neural-network-agents - Evolving of neural networks for collective agents

  •    Java

Simulation of evolution of neural network driven agents in the small world with the pieces of food.

genetic-algorithm - Generic implementation of genetic algorithm in Java.

  •    Java

Generic implementation of Genetic algorithm in Java.

genetic-programming - Symbolic regression solver, based on genetic programming methodology.

  •    Java

Symbolic regression solver, based on genetic programming methodology. In practice, on of the most generic problems - is reconstruction of original function, having the information about its values in some specific points.

BluePyOpt - Blue Brain Python Optimisation Library

  •    Python

The Blue Brain Python Optimisation Library (BluePyOpt) is an extensible framework for data-driven model parameter optimisation that wraps and standardises several existing open-source tools. It simplifies the task of creating and sharing these optimisations, and the associated techniques and knowledge. This is achieved by abstracting the optimisation and evaluation tasks into various reusable and flexible discrete elements according to established best-practices.

ga - Simple genetic algorithms in Go

  •    Go

It may not seem obvious at first glance, but computer science algorithms are often inspired by nature and biological processes. Some of these algorithms include neural networks, particle swarm optimization, artificial bee colony, ant colony optimization, evolutionary algorithms and many more. In fact, you can consider biological processes to be simply algorithms that nature have come up with to solve problems. From that point of view it's easy to see why many of these algorithms are optimization heuristics and metaheuristics. After all nature optimizes for survival. Heuristics, in case the term is not familiar to you, are algorithms that try to solve the problem faster by making some assumptions. As a result, heuristics are often not optimal but are more useful in cases when getting the best results take way too long. Metaheuristics take this to the next level -- they are a heuristic that generates or finds heuristics.