Dr. Mark Humphrys

School of Computing. Dublin City University.

Home      Blog      Teaching      Research      Contact

My big idea: Ancient Brain


CA216      CA249      CA318

CA400      CA651      CA668

Project ideas - Genealogy

Project ideas - Genealogy

Royal Descent finder


The program:

  1. The user selects Hull or Australia.
  2. The user inputs the ID number of the person whose ancestry they want to check. Up to the user to find this ID number.
  3. Command-line maybe like:
    rd hull royal00203
    rd hull 203
    rd au I00019674
    rd au 19674
  4. The program searches the relevant database for lines from this person to any of a list of pre-defined English and British monarchs.
  5. It returns the shortest such line found (least number of generations).
  6. It displays the line like this with HTML links on the names back to their entry in the database.


  1. Need to parse the returned page in order to find link to father and mother.
  2. See Parsing XML / HTML
  3. HTTP requests should be spaced out. Say 2 per second.
  4. Information should be cached in local filespace so don't have to repeat the HTTP if did it before.

  5. To restrict the search (e.g. Victoria would have over 10,000 ancestors) we proceed as follows. First do an indefinite-length search on ancestors until one Royal descent is found. Let us say this is at 12 generations back. From now, on, search no more than 12 generations back. Let us say we then find a further Royal descent at 6 generations back. From now, on, search no more than 6 generations back. And so on. So with Victoria we would find a Royal descent at 2 generations and would then search no line longer than 2 generations, and the search would end quickly.


  1. Australia database has "Ancestors" mode which downloads multiple generations in one HTTP request. This could be used to speed things up.
  2. Option to relate person to other lists of monarchs (e.g. French monarchs).

Auto-generated "Hypertext Burke's Peerage" text

The standard format for computerised family trees is the GEDCOM format. The standard format for paper family trees is probably the Burke's Peerage narrative format. The aim of the project is to write a converter between the two.

Program takes genealogy database and outputs it in my "Hypertext Burke's Peerage" format.

The converter would take as input a family tree GEDCOM file and output the information as "Hypertext Burke's Peerage" pages as seen on my site.
One of the challenges for the software would be to automatically detect where to break the narrative to a new page - something Burke's and I currently do by hand.

Simulation - Genealogy of the West, 500 AD to 2000 AD

Background: Computer simulations suggest the entire West descends from common ancestry in historical times (maybe even AD):

It is known as fact (not mere simulation/estimation) that vast numbers of westerners descend from Charlemagne:

Your aim would be to do something similar to Rohde's computer simulation to answer the question: Is the entire population of the West descended from Charlemagne?

Parameterise it. So can make it easier/harder for people to mate outside of their social classes / geographic location / religion. Are we all descended from Charlemagne anyway?

Simulation - Genealogy of the World, 2000 BC to 2000 AD

For the entire world, the common ancestor may well be pre-historic.

Do literature search to find out was anywhere in the world really hermetically sealed off for long periods? Tasmania? Pacific Islands? Papua New Guinea? Amazon? Would need to study latest thinking on boat technology, sea levels, Vikings in North America, SE Asians going into Australia, etc.

If places were almost sealed off, then the rare incomer's DNA would be lost, and in genetics it would look hermetically sealed off.

But in genealogy, we need hermetically sealed off in order not to be descended from people.

Simulation - Genealogy of Ireland, 500 AD to 2000 AD

Explicitly model features of Irish history - the Norman invasion, the plantations, emigration, the Catholic-Protestant division, the Pale v. Connaught, etc.

Your computer simulation would aim to answer the following questions.

  1. When did the Most Recent Common Ancestor (MRCA) of everyone on the island (*) live?
  2. Does everyone on the island (*) descend from Norman settlers?
  3. Does everyone on the island (*) descend from Elizabethan settlers?
  4. Does everyone on the island (*) descend from Cromwellian settlers?
  5. Does everyone on the island (*) have Protestant ancestry?
  6. Does everyone on the island (*) have Gaelic Irish ancestry?
  7. Does everyone on the island (*) have Irish Catholic ancestry?
  8. Does everyone on the island (*) have Irish Catholic ancestry after the Reformation?

(*) Apart from recent immigrants.

Simulation - Descending from X without inheriting DNA from X

Computer simulation to examine Descending from someone without inheriting any DNA from them.

Background: You cannot inherit DNA from all your ancestors. There are too many, as you go back far enough. Eventually you have ancestors you have inherited no DNA from. They are still your ancestors though.

Geneticists study DNA that survives, that you have inherited from an ancestor and is still there today. Genealogists are interested in: Do you actually descend from Charlemagne, even if you have inherited no DNA from him.

Literature search: What do geneticists say about probability of inheriting no DNA from an ancestor? Perhaps there are theoretical models but no computer simulations?

Answer the question: How far back do you have to go before probability greater than 50 percent that you have inherited no DNA at all from an ancestor in that generation? I suspect the answer is in historical times. Same question with 90 percent, 99 percent.

Simulation - "Who has slept with who"

Run a computer simulation of sexual encounters (from once-off to marriage) in society. In normal society, do chains exist that go back millions of years? What percentage of the modern population is on a chain that goes back millions of years?

As you go back in time, chains join the start of other chains, and are then seen as part of one huge chain. Is there a limit, say 500 years, where there is only one huge interconnecting chain that goes back before 500 years, and you are either on it or not? That is, two chains can't go back separately before 500 years without connecting at some point.

Feeds      w2mind.org      ancientbrain.com

On the Internet since 1987.