Dr. Mark Humphrys

School of Computing. Dublin City University.

Home      Blog      Teaching      Research      Contact

Online coding site: Ancient Brain



CA114      CA170

CA686      Projects

Free AI coding exercises

The background is a program (not an animated image or video). Drag and scroll the background to see.
This is JavaScript graphics on a background div. See the JS.
Click to hide the content:

Dublin City University - School of Computing - Staff - Dr. Mark Humphrys

Dr. Mark Humphrys

BSc. Joint Hons (UCD), PhD (Cambridge)

School of Computing,
Dublin City University,
Glasnevin, Dublin 9,
Tel: +353 1 700-8059
Fax: +353 1 700-5442
Web: computing.dcu.ie/~humphrys
Email: How to email me

Ancient Brain site: ancientbrain.com
The World-Wide-Mind project: w2mind.org
Genealogy project: humphrysfamilytree.com

2018 photo.


I lecture various Computer Science courses here in DCU. See my Teaching page, or jump direct to the course pages for:


Project ideas

I have Project ideas for 3rd year or 4th year or Masters projects.

Ancient Brain

My big idea is the site "Ancient Brain"

This site, the culmination of years of thought and work in AI, was launched in 2018.

It aims to become one of the most fun places in the world to code. It is a global archive of user-submitted programs that run in the browser.

Programs can be run, source code viewed, copied ("cloned"), edited, and run again, all in the browser. All programs are in JavaScript and use WebGL graphics. The site supports physics, and import of 3D models.

Jump on in. Go to the site. Start browsing and running the existing programs (called "Worlds"). And then clone and write your own!


One of 2,000 Worlds on the site.
Click to run World: Collision World at Ancient Brain.
A "World" with physics and sound.
Mouse drag and zoom camera.
As you see, Ancient Brain Worlds can be embedded on other websites, like YouTube videos.


I am interested in   non-symbolic (or sub-symbolic) Artificial Intelligence.   I am interested in the origins of intelligence, both the long evolutionary history of the species, and the long developmental history of each individual. I am interested in the vast substrate of animal sensorimotor skills and sub-linguistic knowledge representation that lies beneath all the high-level (and recently-evolved) human cognitive skills that we focus so much attention on. This substrate to me is where the hard part of AI lies. You can start at my Research page, or go direct to my Publications list.

Action Selection

My older research was on sub-symbolic decision-making, or Action Selection among competing, co-operating and overlapping non-symbolic behaviours. I am interested in highly-decentralised Society of Mind models.

For a simple overview, there are some Introductory Movies that you can play.

Multiple Minds in the same Body: My PhD thesis: "Action Selection methods using Reinforcement Learning" (1997) introduces "W-learning" - a Model of Mind whereby different parts of the mind modify their behaviour based on whether or not they are succeeding in getting the body to execute their actions. Where this is headed is towards a complex, overlapping, competing, sub-symbolic Society of Mind based on Reinforcement Learning.

I think I may have been the first to use Unhappiness based models of Action Selection using Reinforcement Learning numbers - that is, based on differences between the Q-values.

My PhD "family tree" (Who supervised who)

The World-Wide-Mind

My research on Action Selection led to a concept that I called the "World-Wide-Mind". This is an idea for helping AI scale up, by enabling the construction of large, complex minds by teams of multiple dispersed authors.

See the "World-Wide-Mind" research group and the project site w2mind.org.

Under this view, my PhD can be seen as a model of AI where parts of the mind do not understand each other (e.g. could be written by different authors). My PhD can also be seen as a model of AI that can survive broken links.

For an introduction to the WWM idea see: Humphrys, Mark (2001), "The World-Wide-Mind: Draft Proposal", Dublin City University, School of Computing, Technical Report no. CA-0301, February 2001.

For short introductions see the papers at ECAL-01 or SAB-02.

The WWM tried various technologies to realise this dream, until the emergence of true JavaScript graphics on the client-side made the dream finally a reality in "Ancient Brain"

The old prototype site w2mind.computing.dcu.ie
Runs of Worlds took place on the server-side.
Old site: PHP, JavaScript. Uploads: Java. Server-side runs. Data format: XML.
New site: PHP, JavaScript. Uploads: JavaScript. Client-side runs. Data format: None. JSON optional.

The Turing Test

I hooked up an AI chatbot called "MGonz" to the Internet in 1989, where it had adventures that people still talk about. The story is told in "How my program passed the Turing Test".

My program was one of the first AI programs online. I think I was the first person to put a chatbot on the Internet that was disguised as a person.

MGonz is written up as a book chapter: Humphrys, Mark (2008), "How my program passed the Turing Test", Chapter 15 of Parsing the Turing Test: Philosophical and Methodological Issues in the Quest for the Thinking Computer, Robert Epstein, Gary Roberts and Grace Beber (eds.), Springer, 2008.

I have some general material on The Turing Test.

*  MGonzNet                                         
* --------------------------------------------------
*  help          Help                               
*  who           Nice VM Who                        
*  scoop         The truth!                         
*  get           Get the p program for your machine 
*  p             Query VM/SCS printer queues        
*  p :printer:   Query specific printer             
* --------------------------------------------------

What my chatbot system in 1989 looked like.
(Chatbot written in Lisp. Front end in Rexx.)

AI in general

I have some writings on AI in general. I have written for New Scientist a Popular-science introduction to the biologically-inspired type of AI. See also my Philosophy and Future of AI page.

I gave a talk on the future of AI, "The Hardest Problem in the History of Science", at the Institute of Contemporary Arts, London, Feb 2000.

Computers and Internet

I have lived on the Internet since 1987, and have enjoyed watching it grow up over those years, driven largely by the brilliant idea of embedding the navigation in hypertext. I think I have learnt a few things over this time, and there is some less formal material on my Computers and Internet page.

I have put up a few items on The Internet in the 1980s.

My website has been running since 1994. See an article I wrote in 1999, which summarises some of my experience of the Internet over the years, called "Why on earth would I link to you?".

I did a post about Wikipedia, the site that everyone likes to use, and everyone feels nervous using: In defence of Wikipedia.


Some programs I have written for my website:

  • A custom search engine (for my sub-site of the CA website only).

  • My sub-site functions as an error-tolerant web server. When you enter a bad URL, instead of giving you a bland "404 Not Found" message, the web server redirects to my own Error Handling script, which tries to guess the URL you should have typed, using case-insensitive and partial-string matching. Try it out by entering a bad address (within my sub-site only).

Programs I have written for my email:

My custom search engine:


Help on search.

(Written in PHP with a grep at the core.)

History and Genealogy

My History and Genealogy website is at humphrysfamilytree.com.

I am an active local and family historian, and since 1983, I have done original research on a number of topics, families and houses in Irish, English and Scottish family history (including local history and motoring history). I have published on this offline, and one of the most interesting aspects of it is how to present all this complex information online through hypertext. There are now nearly 1,500 web pages of material, with probably 500 more still waiting to come online. It may take me 10 years to get all my information online.

Some of this has become part of my professional work. I have published papers on it. I have supervised Undergraduate and Masters projects based on this work. There has also been some media coverage recently.

Updates to the project are at the Genealogy blog.

I am running a €1,000 competition to crack a hard genealogy problem I have. Maybe you can solve it and win the money. Updates to the competition are at the competition blog.

My holy grail: For years I have been trying to prove the descent above.
I offer €1,000 to anyone who can prove it.
See details.

My Reverse Ahnentafel Parser.
(Written in JavaScript.)


My politics and religion site is markhumphrys.com

I debate politics and religion on Twitter at twitter.com/markhumphrys

If you're the kind of person who is going to be upset by other people's political and religious ideas, then please do not go there. Just take it as read that Humphrys has political and religious ideas you don't agree with, and go away. Because so does everybody, if you really get to know them.

In summary, I'm secular and pro-West. An atheist and a neo-conservative. There, that should offend everybody. For more, see the site above.

How I feel about the logical basis of all religions (including Christianity and Islam).
For a long exposition, see my site.

How I feel about the military that defends the West (America, Britain, Israel, others).
For a long exposition, see my site.

The fall of the Communist empire in Europe in 1989.
The greatest, happiest year for the world in my lifetime.

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.