Имхо, это как раз задача для Паека.
Примерно так должна выглядить сеть родичей из Релфайндера. Именно сетевой граф лучше отражает суть
родства всех со всеми.
Но совершенно не отражает TMRCA.
Сделаю формализованную постановку задачи.
Начну издалека. Самым лучшим и очевидным способом - остаётся перебор совпадающих фамилий. Предполагается, что мы эти фамилии знаем и количество однофамильцев неродственников стремится к нулю.
Но давайте подумаем, а что мы получим в итоге?
Степень родства у нас уже есть (читай, TMRCA).
Проверив фамилии, мы радостно возопим, братан ты мой шестиюродный, ты мне не просто брат, а брат по такому-то боковому прапра..деду.
И?
Мы ведь как раз и пытаемся выявить предков. То есть предполагается. что хотя бы один из двух - своего родословия не знает.
Опять же незаконнорожденные, приёмыши и пр. байстрюки.
В общем случае задача состоит в попытках выявить конкретные родственные фамильные линии для сомножества лиц, связанных взаимными
разноглубинными родственными связями.