АвторТема: Определение всех степеней кровного родства для двух персон по файлу Гедком  (Прочитано 30710 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 30773
  • Страна: ca
  • Рейтинг +2261/-38
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5
Продолжаю развитие темы, начатой вот тут.

Постановка задачи: определить все кровно-родственные связи для двух произвольных персон из файла Гедком.

Вывод должен быть сделан в следующем виде (пример):

Степан Васильевич Иванов vs Игорь Олегович Вершинин
1) Двоюродный брат, двоюродный брат, ММ, ЖМ, Иосиф Виссарионович Иванов.
2) Двоюродный брат, двоюродный брат, МЖ, ЖЖ, Агафья Лукинична Мальцева.
3) Четвероюродный брат, четвероюродный брат, МЖММ, ЖЖЖМ, Август Поликарпович Дурново.
4) Четвероюродный брат, четвероюродный брат, МЖМЖ, ЖЖЖЖ, Ирина Викторовна Польская.
5) Восьмиюродный дядя, восьмиюродный племянник, ЖЖЖММЖММ, ММЖМММЖЖМ,
 Лука Силович Кабыздох.
6) Восьмиюродный дядя, восьмиюродный племянник, ЖЖЖММЖМЖ, ММЖМММЖЖЖ, Ксения Ивановна.

Ну, и в скобочках после каждого предка годы жизни, и место проживания.

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 30773
  • Страна: ca
  • Рейтинг +2261/-38
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5
На мой взгляд, должны быть отражены все связи на глубине 40 поколений.
Это перекрывает все разумные пределы (тех же Рюриковичей).

Вот как выглядит полная матрица родственных отношений (только для мужчин) на глубине родства троюродного:
прадед
дед, двоюродный дед
отец, дядя, двоюродный дядя
референтная персона, брат, двоюродный брат, троюродный брат
сын, племянник, двоюродный племянник
внук, внучатый племянник
правнук

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 30773
  • Страна: ca
  • Рейтинг +2261/-38
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5
Теперь по алгоритмам.
Anode уже сделал большую часть работы. Для заданной персоны он выискивает в Гедком файле всех предков. Причём отрабатываются и такие случаи, когда один и тот же человек является предком по нескольким фамильным линиям. Т.е. инбридинг.

Вот, скажем, начало моего файла:

Михаил Иванович /Темош/ (18 APR 1961)
M Иван Вуколович /Темош/ (1 JUL 1928-14 MAR 2010)
F Маргарита Васильевна /Евдокимова (Евдокимова)/ (13 OCT 1928)
MM Вукол Антонович /Тимош/ (5 FEB 1891-3 MAR 1953)
MF Стефанида Трофимовна /Дзюбенко/ (14 NOV 1896-28 DEC 1964)
FM Василий Никифорович /Евдокимов/ (27 FEB 1900-6 NOV 1939)
FF Мария Михайловна /Евдокимова (Ларионова)/ (26 FEB 1903-11 MAY 1981)
MMM Антон Лаврентьевич /Тимошев/ (1856-3 DEC 1919)
MMF Хиония Стахиевна /Тимошева (Гемега)/ (14 JUN 1863)
MFM Трофим Кассианович /Дзюбенко/ (23 JUL 1855-28 JAN 1920)
MFF Мария Никифоровна /Дзюбенко (Ильченко)/ (20 NOV 1856)
FMM Никифор Евдокимович /Евдокимов/ (24 FEB 1870-AFT 1939)
FMF Екатерина Герасимовна /Евдокимова (?)/ (1877-ABT 1945)
FFM Михаил Алексеевич /Ларионов/ (1 OCT 1862-ABT 1930)
FFF Агафия Кузьминична /Ларионова (Кузина)/ (1876-1957)
MMMM Лаврентий Лукьянович /Тимош/ (1832-AFT 1863)
MMMF Агрипина Герасимовна /Тимош (Дронь)/ (1833-AFT 1856)
MMFM Стахий Григорьевич /Гемега/ (1825-BEF 1893)
MMFF Мавра Никифоровна /Гемега (Полищук)/ (1831-1 MAY 1899)
MFMM Кассиан Игнатьевич /Дзюбенко/ (1819)
MFMF Феврония Васильевна /Дзюбенко (Яровая)/ (1825-26 SEP 1903)
MFFM Никифор Семенович /Ильченко/ (1824)
MFFF Мария Семеновна /Ильченко (?)/ (1826-14 MAY 1889)
FMMM Евдоким Николаевич /Евдокимов/ (26 JUL 1834-BEF 1901)
FMMF Евдокия Федоровна /Евдокимова (?)/ (1837)
...

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 30773
  • Страна: ca
  • Рейтинг +2261/-38
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5
Алгоритм
« Ответ #3 : 25 Ноябрь 2011, 11:15:02 »
1. Получаем лист предков по первой персоне.
2. Получаем лист предков по второй персоне.
3. Проверяем, что вторая персона отсутствует в листе предков первой персоны. (Если присутствует, то отрабатываем этот случай. Скажем, дед и внук.)
4. Проверяем, что первая персона отсутствует в листе предков второй.

*** На самом деле пункты 3 и 4 можно было бы объединить, если бы мы строили не только лист предков, но и потомков. Но машины теперь считают быстро. Ничего срашного, что процесс будет несколько редондантный и не вполне оптимизированный. Зато программировать просто.

5. Ищем совпадающих персон в двух предковых листах. От ближних поколений к дальним. Последующих персон отсекаем.
6. До каждого из ближайших предков выводим цепочки. Наши пресловутые эМ и Жё.
7. По размерам цепочки и полу сравниваемы персон даём исчерпывающее название степени родства.
Скажем, если сравниваются мальчик и девочка и имеем для первого ЖМ и для второй ЖМ, то понятно, что речь идёт о двоюродном брате и двоюродной сестре.
Если по другой цепочке для них же имеем МЖММ и МММММ, то имеем четвероюродного дядю и четвероюродную племянницу.
Ну, и положим по третей цепочке у нас МММММММММ и ЖЖММЖЖМ. Значит имеем семиюродного внучатого племянника и семиюродную бабушку.

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 30773
  • Страна: ca
  • Рейтинг +2261/-38
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5
Самое сложное обозвать правильно нужные степени дальнего разнопоколенного родства.
У меня постоянно возникают проблемы с потомковыми связями далее троюродного. С предковыми вроде всё путём.

Но это на свежую голову.  :)

Оффлайн татиа

  • Главный модератор
  • *****
  • Сообщений: 5050
  • Страна: 00
  • Рейтинг +639/-0
  • Y-ДНК: R-L1029+
  • мтДНК: J1c2c
Михаил, я начинаю расшифровывать полученные от Вас метрики. Посоветуйте, пож, в какой форме лучше фиксировать такого рода информацию, чтобы потенциально она удовлетворяла, например, задачам поставленным в этой теме. Чтобы не делать несколько раз одну и ту же работу.
До этого момента пользовала Эксель и Ages.

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 30773
  • Страна: ca
  • Рейтинг +2261/-38
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5
Михаил, я начинаю расшифровывать полученные от Вас метрики. Посоветуйте, пож, в какой форме лучше фиксировать такого рода информацию, чтобы потенциально она удовлетворяла, например, задачам поставленным в этой теме. Чтобы не делать несколько раз одну и ту же работу.
До этого момента пользовалась Эксель и Ages.
На мой взгляд, лучше всего именно генеалогический софт. Т.е. программа Древо Жизни третья версия (её используете для ввода).
Четвёртую версию можно будет приобрести позже. У неё есть добавочные опции, но многое, что было в третьей версии - отсутствует.  :o

Если документы 19 века, то я не заморачиваюсь на их выписку - ввожу, что говорится, с листа. Ну, а ранние документы просто вычитываю и переписываю. Либо полностью, либо в конспектной форме.

Какую бы генеалогическую программу Вы не использовали, результаты всегда можно экспортировать в Файл Гедком и проверить с помощью утилит от Anode.
В них уже полно всяких полезностей.

Оффлайн татиа

  • Главный модератор
  • *****
  • Сообщений: 5050
  • Страна: 00
  • Рейтинг +639/-0
  • Y-ДНК: R-L1029+
  • мтДНК: J1c2c

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 30773
  • Страна: ca
  • Рейтинг +2261/-38
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5
Явные указания родства
« Ответ #8 : 25 Ноябрь 2011, 22:32:57 »
Для явных указаний родства достаточно просто сосчитать количество поколенных переходов от каждой персоны до общего предка.

Случай первый: одна из персон, присутствует в листе предков другой.
Стало быть имеем, что-то из серии отец, дед, прадед, прапрадед, 3 раза пра- дед, ..., 38 раз пра- дед. (Для родства, ограниченного 40 поколенными этажами).
Ну, и для другой персоны сын, внук, правнук, праправнук, 3 раза пра- внук, ..., 38 раз пра- внук.


*** Использую обозначения только для мужчин для простоты.
« Последнее редактирование: 25 Ноябрь 2011, 22:40:58 от Mich Glitch »

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 30773
  • Страна: ca
  • Рейтинг +2261/-38
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5
Количество букв в обозначениях для пар предок-потомок соответствует количеству поколенных переходов.
М - один поколенный переход (отец).
МЖЖММЖМ - семь поколенных переходов (5 раз пра- дед).

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 30773
  • Страна: ca
  • Рейтинг +2261/-38
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5
Случай второй: анализируемые персоны отсутствуют в предковых листах друг друга. Количество поколенных переходов до общего предка у обоих одинаковое.
В этом случае, количество букв обозначает количество поколений.
Даю примеры (произвольные) и полные наименования степени родства.
М, М - братья,
ММ, ЖМ - двоюродные братья,
МЖМ, ЖММ - троюродные братья,
...
МММММММ, ЖЖММЖЖМ - семиюродные братья.

И так до сорокоюродного родства включительно.

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 30773
  • Страна: ca
  • Рейтинг +2261/-38
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5
Случай третий: анализируемые персоны отсутствуют в предковых листах друг друга. Количество поколенных переходов до общего предка у обоих не одинаковое.

Тут надо смотреть разницу поколенных интервалов (разницу количества букв в обозначениях предков) и общее количество букв .
Даю примеры (произвольные) и названия:

М, ЖМ (разница 1 поколенный интервал) - дядя, племянник,
М, МЖМ (разница два поколенных интервала) - двоюродный дед, внучатый племянник,
М, ЖЖЖМ (разница три поколенных интервала) - двоюродный прадед, правнучатый племянник.
...
М, МММММММЖЖМ (разница девять поколенных интервалов) - двоюродный 7 раз пра- дед, 7 раз пра- внучатый племянник.

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 30773
  • Страна: ca
  • Рейтинг +2261/-38
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5
ЖМ, МЖМ (разница 1 поколенный интервал) - двоюродный дядя, двоюродный племянник,
ММ, ЖМЖМ (разница два поколенных интервала) - троюродный дед, двоюродный внучатый племянник,
ММ, МЖЖЖМ (разница три поколенных интервала) - троюродный прадед, двоюродный правнучатый племянник.
...
ЖМ, ЖМММММММЖЖМ (разница девять поколенных интервалов) - троюродный 7 раз пра- дед, двоюродный 7 раз пра- внучатый племянник.

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 30773
  • Страна: ca
  • Рейтинг +2261/-38
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5
А теперь очень важная поправка.
Я использовал название степеней родства, принятых в Древе Жизни.
Увы, оно там ошибочное.

Разбираем.
Брат, двоюродный брат, троюродный брат, ... сорокоюродный брат.

Сын, племянник, двоюродный племянник, ... тридцативосьмиюродный племянник.
Тут остановимся и поясним. Племянник приходится двоюродным братом сыну. В свою очередь двоюродный племянник приходится двоюродным братом племяннику и троюродным братом сыну. Всё ништяк.

Внук, внучатый племянник, двоюродный внучатый племянник, ... тридцатисемиюродный внучатый племянник.
Так же, как и в предыдущем пункте, полный ОК.

Поползём к предкам.

Отец, дядя, двоюродный дядя, ... тридцатидевятиюродный дядя.
Здесь логика немного иная. Дядя - это брат отца. Соответственно, дядя двоюродный - двоюродный брат отца.

Теперь внимание! Ошибка в Древе!!!

Дед, двоюродный дед, троюродный дед и так далее.
Двоюродным дедом обзывают родного брата деда!!! Не порядок.  :-\

Должно быть:
Дед, брат деда, двоюродный дед, ... тридцативосьмиюродный дед.

То есть полный перечень второй в списке степени родства выглядит так: брат деда, брат бабушки, сестра деда, сестра бабушки.

Цикл проверки очень прост. От большего количества букАв (поколенных переходов) отнимаем меньшее (спереди). Первая буква от начала в более короткой цепочке указывает на то, либо дедушки (если М), либо бабушки (если Ж). Ну а брат, или сестра - определяется по полу анализируемой персоны с более короткой цепочкой.

Очень извиняюсь, если выразился путано. Всё могут несколько раз повторить другими словами и с примерами.

Резюмирую: доработка определения степеней родства для двух произвольных персон в плане программирования состоит из добавления нескольких простых циклов.

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 30773
  • Страна: ca
  • Рейтинг +2261/-38
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5
Ну, и вещь, которую по своей очевидности опустил:
Если в списках предков двух человек нет общих персон, то это означает отсутствие кровного родства.

 

© 2007 Молекулярная Генеалогия (МолГен)

Внимание! Все сообщения отражают только мнения их авторов.
Все права на материалы принадлежат их авторам (владельцам) и сетевым изданиям, с которых они взяты.


Rambler's Top100