Showing posts with label GGRR. Show all posts
Showing posts with label GGRR. Show all posts

Sunday, February 14, 2016

███ Evolutionary Algorithms ███

Evolutionary Algorithms

In artificial intelligence, an evolutionary algorithm (EA) is a subset of evolutionary computation, a generic population-based metaheuristic optimization algorithm. An EA uses mechanisms inspired by biological evolution, such as reproduction, mutation, recombination, and selection. Candidate solutions to the optimization problem play the role of individuals in a population, and the fitness function determines the quality of the solutions (see also loss function). Evolution of the population then takes place after the repeated application of the above operators. Artificial evolution (AE) describes a process involving individual evolutionary algorithms; EAs are individual components that participate in an Artificial Evolution [ref].

The most extensive Evolutionary Algorithm (EA) has started billions of years ago with the Big Bang. Thanks to it humanity evolved just recently and is able to enjoy all those other mind-blowing things that arose at the same time. Thus it is no wonder that one day someone had the idea to model the principles of evolution and use it for solving complex problems. Evolutionary Algorithm (EA) is the umbrella term for all computational models that are inspired by evolutionary mechanisms. There is a variety of implementations of EAs available. The most important ones are Genetic Algorithms (GAs), Genetic Programming (GP), Evolutionary Programming (EP), Classifier Systems and Artificial Life (AI). Although the particular representations can heavily differ from each other they all share basic principles. Every algorithm organizes a population of individuals (e.g. construction plans, configuration data, DNA ...). The individuals are developed through mutation and crossover operations and then evaluated by measuring their fitness that indicates how good they fit into their environment. Problems to be solved are defined by the shape of the fitness landscape [ref].

 
In artificial intelligence, an evolutionary algorithm (EA) is a subset of evolutionary computation, a generic population-based metaheuristic optimization algorithm.
Evolutionary Algorithms




Metaheuristics

Metaheuristics (Metaheuristic Algorithms [MAs])

In computer science and mathematical optimization, a metaheuristic is a higher-level procedure or heuristic designed to find, generate, or select a heuristic (partial search algorithm) that may provide a sufficiently good solution to an optimization problem, especially with incomplete or imperfect information or limited computation capacity [ref]. In short, metaheuristics can be summarized as follows:

• MAs employ strategies to effectively perform a search process and to efficiently explore the search space such that near-optimal or optimal solutions are obtained. 
• The search mechanisms in MAs range from simple local search procedures to complex learning processes. 
• MAs provide approximate solutions and are usually nondeterministic. 
• They may incorporate escape mechanisms such as niching and stretching in order to avoid getting trapped in confined areas of the search space. 
• Metaheuristics are not problem specific. 

Based on the aforementioned discussion, metaheuristics can be considered as a set of algorithmic concepts that can be used to define heuristic methods applicable to a wide range of problems. In other words, they (metaheuristics) are a general purpose algorithmic framework applicable to a wide range of problems with relatively fewer modifications (Dorigo et al., 2006). Some of the well-known MAs include tabu search (TS) (Glover, 1989, 1990), genetic algorithms (GAs) (Goldberg, 1989), simulated annealing (SA) (Kirkpatrick et al., 1983), ant colony optimization (ACO) (Dorigo and Stützle, 2004), ABC algorithm (Karaboga and Basturk, 2007), bat algorithm (BA) (Yang and Gandomi, 2012), CS (Yang, 2009), PSO (Kennedy and Eberhart, 1995), harmony search (HS) (Lee and Geem, 2005), firefly algorithm (FA) (Yang, 2010), and krill herd algorithm (Gandomi and Alavi, 2012a) among others. MAs can be classified in different ways (Blum and Roli, 2003); however, in this chapter, we will focus on nature-inspired MAs [ref].

Metaheuristic is a higher-level procedure or heuristic designed to find, generate, or select a heuristic (partial search algorithm) that may provide a sufficiently good solution to an optimization problem, especially with incomplete or imperfect information or limited computation capacity
Metaheuristic
Metaheuristic: Classes of Search Techniques
Metaheuristic: Classes of Search Techniques

███ Are Neural Networks Useful for Game AI? [Part 1] ███

Discussion: Are Neural Networks Useful for Game AI? [Part 1]

Alex J. Champandard on November 13, 2007: 
“Single- and multi-layer perceptrons trained using back-propagation have had the most practical success in games to date.”`

MarI/O - Machine Learning for Video Games
SethBling (Published on Jun 13, 2015):

MarI/O is a program made of neural networks and genetic algorithms that kicks butt at Super Mario World.
Source Code: http://pastebin.com/ZZmSNaHX
"NEAT" Paper: http://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf
Some relevant Wikipedia links:
https://en.wikipedia.org/wiki/Neuroevolution
https://en.wikipedia.org/wiki/Evolutionary_algorithm
https://en.wikipedia.org/wiki/Artificial_neural_network
BizHawk Emulator: http://tasvideos.org/BizHawk.html






Friday, February 5, 2016

███ Actor-Based Concurrency ███

Actor-Based Concurrency

The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation: in response to a message that it receives, an actor can make local decisions, create more actors, send more messages, and determine how to respond to the next message received. The actor model originated in 1973.[1] It has been used both as a framework for a theoretical understanding of computation and as the theoretical basis for several practical implementations of concurrent systems. The relationship of the model to other work is discussed in Indeterminacy in concurrent computation and Actor model and process calculi.[more info]

Example: Akka is an open-source toolkit and runtime simplifying the construction of concurrent and distributed applications on the JVM. Akka supports multiple programming models for concurrency, but it emphasizes actor-based concurrency, with inspiration drawn from Erlang.Language bindings exist for both Java and Scala. Akka is written in Scala and, as of Scala 2.10, Akka's actor implementation is included as part of the Scala standard library. [more info]

███ ABI (Application Binary Interface) ███

ABI (Application Binary Interface)

ABI is the interface between two program modules, one of which is often a library or operating system, at the level of machine code. [more info]





Friday, January 22, 2016

███ Deloitte ███

Deloitte

“Deloitte” is the brand under which tens of thousands of dedicated professionals in independent firms throughout the world collaborate to provide audit, consulting, financial advisory, risk management, tax and related services to select clients. These firms are members of Deloitte Touche Tohmatsu Limited, a UK private company limited by guarantee (“DTTL”).  Each DTTL member firm provides services in particular geographic areas and is subject to the laws and professional regulations of the particular country or countries in which it operates. 

Each DTTL member firm is structured in accordance with national laws, regulations, customary practice, and other factors, and may secure the provision of professional services in its territory through subsidiaries, affiliates, and other related entities.  Not every DTTL member firm provides all services, and certain services may not be available to attest clients under the rules and regulations of public accounting.
Deloitte