Computational genealogy