This course is about the fundamental concepts of artificial intelligence. This topic is getting very hot nowadays because these learning algorithms can be used in several fields from software engineering to investment banking. Learning algorithms can recognize patterns which can help detecting cancer for example. We may construct algorithms that can have a very good guess about stock price movement in the market. In the first chapter we are going to talk about the basic graph algorithms.

This paper proposes a tutorial on the Data Clustering technique using the Particle Swarm Optimization approach. Following the work proposed by Merwe et al. here we present an in-deep analysis of the algorithm together with a Matlab implementation and a short tutorial that explains how to modify the proposed implementation and the effect of the parameters of the original algorithm. Moreover, we provide a comparison against the results obtained using the well known K-Means approach. All the source code presented in this paper is publicly available under the GPL-v2 license.

In this tutorial, we'll be using a GA to find a solution to the traveling salesman problem (TSP). Let's start with a few definitions, rephrased in the context of the TSP: Now, let's see this in action. While each part of our GA is built from scratch, we'll use a few standard packages to make things easier: We first create a City class that will allow us to create and handle our cities. These are simply our (x, y) coordinates. Within the City class, we add a distance calculation (making use of the Pythagorean theorem) in line 6 and a cleaner way to output the cities as coordinates with __repr__ in line 12.

In this course, you will learn what hyperparameters are, what Genetic Algorithm is, and what hyperparameter optimization is. In this course, you will apply Genetic Algorithm to optimize the performance of Support Vector Machines and Multilayer Perceptron Neural Networks. Hyperparameter optimization will be done on two datasets, a regression dataset for the prediction of cooling and heating loads of buildings, and a classification dataset regarding the classification of emails into spam and non-spam. The SVM and MLP will be applied on the datasets without optimization and compare their results to after their optimization. By the end of this course, you will have learnt how to code Genetic Algorithm in Python and how to optimize your Machine Learning algorithms for maximal performance.

This course will guide you on what optimization is and what metaheuristics are. You will learn why we use metaheuristics in optimization problems as sometimes, when you have a complex problem you'd like to optimize, deterministic methods will not do; you will not be able to reach the best and optimal solution to your problem, therefore, metaheuristics should be used. This course covers information on metaheuristics and four widely used techniques which are Simulated Annealing, Genetic Algorithm, Tabu Search, and Evolutionary Strategies. By the end of this course, you will learn what Simulated Annealing, Genetic Algorithm, Tabu Search, and Evolutionary Strategies are, why they are used, how they work, and best of all, how to code them in Python! You will also learn how to handle constraints.

In this course, you will learn what hyperparameters are, what Genetic Algorithm is, and what hyperparameter optimization is. In this course, you will apply Genetic Algorithm to optimize the performance of Support Vector Machines and Multilayer Perceptron Neural Networks. Hyperparameter optimization will be done on a regression dataset for the prediction of cooling and heating loads of buildings. The SVM and MLP will be applied on the dataset without optimization and compare their results to after their optimization. By the end of this course, you will have learnt how to code Genetic Algorithm in Python and how to optimize your Machine Learning algorithms for maximal performance.

Gaspar, Alessio (University of South Florida) | Bari, A.T. M. Golam (University of South Florida) | Wiegand, R. Paul ( University of Central Florida ) | Bucci, Anthony (Independent) | Kumar, Amruth N. (Ramapo College of New Jersey) | Albert, Jennifer L. (The Citadel)

We propose to further extend preliminary investigations of the nature of the problem of evolving practice problems for learners. Using a refinement of a previous simple model of interaction between learners and practice problems, we examine some of its properties and experimentally highlight the role played by the number of values each gene may take in our encoding of practice problems. We then experimentally compare both a traditional - P-CHC - and Pareto-based - P-PHC - variants of coevolutionary algorithms. Comparisons are conducted with respect to the presence of noise in fitness evaluations, the number of values genes may take, and two distinct fitness functions. Each fitness captures an aspect of the nature of learner-problem interaction but one has been shown to induce overspecialization pathologies. We then summarize our findings in terms of guidelines on how to adapt evolutionary algorithms to tackle the task of evolving practice problems.

This series of tutorial is about evolutionary computation: what it is, how it works and how to implement it in your projects and games. At the end of this series you'll be able to harness the power of evolution to find the solution to problems you have no idea how to solve. As a toy example, this tutorial will show how evolutionary computation can be used to teach a simple creature to walk. If you want to try the power of evolutionary computation directly in your browser, try Genetic Algorithm Walkers. As a programmer, you might be familiar with the concept of algorithm.

Aickelin, Uwe, Dasgupta, Dipankar

The biological immune system is a robust, complex, adaptive system that defends the body from foreign pathogens. It is able to categorize all cells (or molecules) within the body as self-cells or non-self cells. It does this with the help of a distributed task force that has the intelligence to take action from a local and also a global perspective using its network of chemical messengers for communication. There are two major branches of the immune system. The innate immune system is an unchanging mechanism that detects and destroys certain invading organisms, whilst the adaptive immune system responds to previously unknown foreign cells and builds a response to them that can remain in the body over a long period of time. This remarkable information processing biological system has caught the attention of computer science in recent years. A novel computational intelligence technique, inspired by immunology, has emerged, called Artificial Immune Systems. Several concepts from the immune have been extracted and applied for solution to real world science and engineering problems. In this tutorial, we briefly describe the immune system metaphors that are relevant to existing Artificial Immune Systems methods. We will then show illustrative real-world problems suitable for Artificial Immune Systems and give a step-by-step algorithm walkthrough for one such problem. A comparison of the Artificial Immune Systems to other well-known algorithms, areas for future work, tips & tricks and a list of resources will round this tutorial off. It should be noted that as Artificial Immune Systems is still a young and evolving field, there is not yet a fixed algorithm template and hence actual implementations might differ somewhat from time to time and from those examples given here.

Aickelin, Uwe, Dasgupta, Dipankar