GithubHelp home page GithubHelp logo

monkidea / cleveralgorithms Goto Github PK

View Code? Open in Web Editor NEW

This project forked from clever-algorithms/cleveralgorithms

0.0 1.0 0.0 21.88 MB

The Clever Algorithms project is an effort to describe a large number of algorithmic techniques from the field of Artificial Intelligence in a complete, consistent, and centralized manner such that they are accessible, usable, and understandable.

Home Page: http://www.cleveralgorithms.com

Makefile 0.02% TeX 85.41% Shell 0.14% Ruby 14.16% Lua 0.06% Perl 0.06% Python 0.05% Yacc 0.10% HTML 0.01%

cleveralgorithms's Introduction

Clever Algorithms: Nature-Inspired Programming Recipes

Overview

The Clever Algorithms project is an effort to describe a large number of algorithmic techniques from the the field of Artificial Intelligence in a complete, consistent, and centralized manner such that they are accessible, usable, and understandable.

The Clever Algorithms project is currently hosted online at http://www.CleverAlgorithms.com

This is a repository for the Clever Algorithms: Nature-Inspired Programming Recipes project for hosting, versioning, and collaboration, used during the development of the content for deliverables (website and book), as well as for the ongoing maintenance of the outcomes from the project.

Support Clever Algorithms

Like Clever Algorithms and want to support the project and more books in the series?

  • Spread the word (blog, facebook, twitter, etc).
  • Buy the paperback, the author will receive a few dollars.
  • Gift a book to the author from his Amazon Wish List (thanks guys, my wish list is shrinking fast!)
  • Contribute corrections, translations, ports, etc (see details below)

Outcomes

Book

Jason Brownlee, Clever Algorithms: Nature-Inspired Programming Recipes, Lulu, January 2011

Technical Reports

A large number of standalone technical reports were written during the development of the content for the book. The book is the primary source now, but if you really really want to see these now outdated technical reports: click here and scroll down to see a human readable listing.

Software

  • Algorithms : The executable source code used in all algorithm descriptions. Each algorithm is in a separate file, and files are organized by algorithm taxonomic kingdom used in the book structure, specifically: stochastic, physical, evolutionary, probabilistic, swarm, and immune.
  • Algorithm Selection Script : A ruby script to apply the data driven optimization algorithm selection methodology. Measures the popularity of a list of algorithms against a range of search engines, calculates a score and produces algorithm statistics and rankings. The script was prepared for the Data-Driven Optimization Algorithm Selection technical report. Also see the tag for the tech report version
  • Programming Language Selection Script : A ruby script to evaluate the popularity of a list of programming languages for their use in implementing a typical optimization algorithm. Popularity is measured against a range of search engines and the results are summarized. The script was prepared for the Programming Language Selection for Optimization Algorithms technical report.
  • Programming Language Comparison Scripts : A set of scripts that implement the genetic algorithm in four different dynamic languages (Python, Perl, Ruby, and Lua), as well as a ruby script for analyzing the implementations. The scripts were prepared for the Programming Language Selection for Optimization Algorithms technical report.

Other

  • Clever Algorithms Paper Search : An aggregate search using Google’s ‘custom search’ service. Searches across the whole internet, biased towards google scholar, google books, IEEE explore, springer link, ACM digital library, and scirus. Useful for searching for all useful sources for a given technique name.

Breakdown

This project is partitioned into five efforts:

  • book/ : The content and structure for the publishable book. The book is prepared using the LaTex type setting system.
  • deprecated/ : A collection of the work product produced during the past attempts at completing the clever algorithms project (previously called the algorithm atlas and inspired algorithms).
  • src/ : Complete source code for the examples provided in the book as well as programs prepared during the development of the content for the book. Algorithm examples are provided in the Ruby programming language.
  • web/ : Scripts for generating HTML and eBook (experimental ePub) versions of the book’s content.
  • workspace/ : A workspace for content development such as notes and technical reports that facilitates exploration and investigation independent of the book content. Content developed in the workspace may provide the basis for the book or may be directly migrated into the book. Notes are in plain text, technical reports are prepared using the LaTex type setting system and organized into sub-directories.

Contribute

Found a typo in some content or a bug in the source code? Are you an expert in a given area and know some facts that could improve an algorithm description for all? Do you want to get that warm feeling from contributing to an open source project? Do you want to see your name as an acknowledgment in print?

Two pillars of this effort are i) that the best domain experts are people outside of the project, and ii) that this work is subjected to continuous improvement.

Please help to make this work less wrong!

You may want to:

  • Email the author: [email protected]
  • or, Message the author though the github website: (signup and login to github, go to http://github.com/jbrownlee and click “Message”)
  • or, Fork the CleverAlgorithms project on github, make changes, and request a pull into the main project (again, you must signup and login to github and follow the github documentation for forking, contributing, and making a pull request).

License

© Copyright 2011 Jason Brownlee. Some Rights Reserved.


Creative Commons License

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Australia License.

Why would I release all of the work product from this project under a permissive license? Because I agree with Tim O’Reilly that “obscurity is a far greater threat to authors and creative artists than piracy”. It is more important to me that the outcomes of this project are read and used than be treated as a revenue generating commodity.

cleveralgorithms's People

Contributors

jason2brownlee avatar simen avatar davidhowden avatar asmyers avatar jasondavies avatar yhslai avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.