Dr. Mark Humphrys

School of Computing. Dublin City University.

Home      Blog      Teaching      Research      Contact

My big idea: Ancient Brain


CA114      CA170

CA668      CA669      Projects

CA318 - Advanced Algorithms and AI Search


Week 1

Introduction to AI
  1. Introduction to AI
  2. Survey of AI

Week 2

Introduction to AI
  1. Continuum of Autonomy
  2. History of AI

Reference and links

  1. AI Links
  2. Robotics Links

Week 3

Search and Learning
  1. Search

Machine Learning

  1. Maximising a function

Week 4

Machine Learning
  1. Machine Learning

Week 5

Week 6

Week 7

State space Search
  1. State space Search

Heuristic Search

  1. Heuristic Search

Week 8

Heuristic Search
  1. More Heuristic Search

Week 9

Adversarial Search
  1. Adversarial Search

Machine Evolution

  1. Computational Evolution

Week 10

Machine Evolution
  1. Encoding the Genotype
  2. Picking the fittest
  3. Boltzmann "soft max" distribution

Week 11

Machine Evolution
  1. Reproduction

  2. Discussion

  3. Sample code for Genetic Algorithms
  4. How to make a decision probabilistically

Week 12

Machine Evolution
  1. Advanced Topics in Machine Evolution

  2. GA Exercise - Adaptive Landscape
  3. Computational Evolution - Reference

General AI

  1. Comparison of Neural Net and GA
  2. Continuum of Autonomy

  3. Open Issues in AI
  4. What is Intelligence?

Extra notes

Philosophy of AI
  1. Philosophy of AI
  2. Philosophy and Future of AI

  3. What is Intelligence?
  4. What is Consciousness?
  5. What is Life?

  1. Chaotic functions
  2. Chaos Theory demo

  3. Architectures of Autonomous Agents

Algorithms in natural evolution
  1. Nature's elegant algorithms

String search algorithms

  1. String searching
  2. Knuth–Morris–Pratt string search algorithm
  3. Boyer-Moore string search algorithm

Extra notes - Neural Networks

Green shows special notes to read if you are trying to run a neural network.
Machine Learning with Neural Networks
  1. Single-layer Neural Networks

  2. Multi-layer Neural Networks

  3. Continuous Output - The sigmoid function
  4. Notation [REFERENCE]

  5. Back-propagation [MULTI-LAYER LEARNING RULE]

  6. Neural Networks in RL

  7. The Back-propagation algorithm [REFERENCE]
  8. Infinite weights/thresholds are bad

  9. Specialisation
  10. Example of learning strategy for neural network

  11. Sample code for Neural Networks
  12. Neural Net Exercise - Binary Encoder Network
  13. Neural Net Exercise - X and O recogniser
  14. Machine Learning - Reference

  15. Alternatives to Supervised Learning

Notes on Assignment Notation

I often use   :=   for assignment to distinguish from   =   for equality.


I will hold one or two labs for the practical.



  1. Coverage of both the symbolic and the biological approaches to AI in one book:

  2. Genetic Algorithms:

  3. Neural Networks:

Library categories

Copyright of Luger and Morelli images

  1. I use some images from Luger's book in this course.
    These images will be protected by a password I will give out in class.
    Images can be used for class access but not public access on the Web.
    Copyright notice:

    This work is protected by regional copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the Internet) will destroy the integrity of the work and is not permitted. The copyright holder grants permission to instructors who have adopted the textbook accompanying this work to post this material online only if the use of the website is restricted by access codes to students in the instructor's class that is using the textbook and provided the reproduced material bears this copyright notice.

  2. I also use some images from Morelli's course below. These images are used with the kind permission of Ralph Morelli.

Morelli course (gone)

This course was formerly useful as another way of seeing the concepts.
But unfortunately it is now down.

ancientbrain.com      w2mind.org      humphrysfamilytree.com

On the Internet since 1987.

Wikipedia: Sometimes I link to Wikipedia. I have written something In defence of Wikipedia. It is often a useful starting point but you cannot trust it. Linking to it is like linking to a Google search. A starting point, not a destination. I automatically highlight in red all links to Wikipedia and Google search and other possibly-unreliable user-generated content.