Подсчёт поколений — фундаментальный навык для любого исследователя семейной истории. Без понимания принципов нумерации невозможно правильно построить древо, составить агнатную таблицу или передать данные в генеалогическую программу. В этой статье разберём основные методы, распространённые ошибки и инструменты, которые экономят недели ручной работы.
Многие новички путают поколение с коленем или считают, что нумерация всегда идёт сверху вниз. На практике существует несколько систем, каждая из которых решает свои задачи: от визуализации в программе до публикации в научном журнале.
Базовые понятия: поколение, колено и линия
В генеалогии поколение — это совокупность лиц, равноудалённых от общего предка по числу рождений. Колено — более узкий термин, обозначающий ступень родства в прямой линии (отец — 1 колено, дедушка — 2 колено). Важно: в боковой линии колена не считаются, оперируют только поколениями.
Прямая восходящая линия ведёт к предкам, нисходящая — к потомкам. Боковые линии (братья, сёстры, кузены) требуют отдельного подхода: здесь поколения отсчитываются от общего предка, а не от исследуемого лица.
⚠️ Внимание: не смешивайте нумерацию поколений в прямой и боковой линиях. Для кузенов общее поколение — это дедушка/бабушка, но их собственные дети уже относятся к следующему поколению относительно прототипа.
- 🧬 Поколение считается от общего предка (прототипа)
- 👶 Прототип (основатель рода) — всегда поколение №1 или №0 в зависимости от системы
- 📊 В программах Gramps, Family Tree Maker, MyHeritage нумерация часто скрыта, но используется для расчёта степеней родства
- 📜 В печатных изданиях применяют системы д'Абовиля, Мехтильдера или Столета
Поколение — это единица измерения генеалогической дистанции, а не просто «слой» на схеме. Ошибка в нумерации ломает все расчёты родства.
Системы нумерации: от простых к сложным
Существует три главные системы нумерации поколений, которые встречаются в 95% случаев. Выбор зависит от цели: визуализация, публикация или обмен данными через GEDCOM.
Система Столета (по поколениям) — самая интуитивная. Прототип = I поколение, его дети = II, внуки = III. Используется в школьных древо и простых схемах. Не подходит для больших родословных: нет уникальных идентификаторов для каждого человека.
Система д'Абовиля (по порядковым номерам) — стандарт для печатных родословных книг. Каждому человеку присваивается номер, где целая часть — номер отца, дробная — порядок рождения. Пример: 1.2.3 — третий ребёнка второго ребёнка прототипа. Поколение определяется количеством точек + 1.
| Система | Прототип | Дети прототипа | Внуки (через 2-го сына) | Применение |
|---|---|---|---|---|
| Столета | I | II | III | Схемы, обучение |
| д'Абовиль | 1 | 1.1, 1.2, 1.3 | 1.2.1, 1.2.2 | Книги, статьи, архивы |
| Мehтильдер (Sosa-Stradonitz) | 1 | 2, 3 | 4, 5, 6, 7 | Восходящие таблицы, агнатные ряды |
Система Мehтильдера (Соза-Страдониц) — только для прямых предков. Прототип = 1, отец = 2, мать = 3, дедушка по отцу = 4, бабушка по отцу = 5 и так далее. Формула: отец = n×2, мать = n×2+1. Идеальна для агнатных таблиц и DNA-генеалогии.
Почему система д'Абовиля не подходит для полных родословных?
В полной родословной (с братьями, сёстрами, вторыми браками) номера д'Абовиля становятся огромными (например, 1.2.3.4.5.6.7.8.9). Для таких задач используют модифицированные системы или уникальные ID в GEDCOM.
Как считать поколения в программах и GEDCOM
Современные генеалогические программы не требуют ручной нумерации. Они строят внутренний граф связей, где у каждого индивидуума есть уникальный INDI-идентификатор. Поколение вычисляется «на лету» при отображении древа или экспорте в отчёт.
В формате GEDCOM 5.5.1 и 7.0 нет явного тега поколения. При импорте программа восстанавливает связи через теги FAMC (семья, где человек ребёнок) и FAMS (семья, где человек супруг). Алгоритм обхода графа в глубину определяет поколение относительно выбранного корня.
- 🖥 В Gramps: меню
Отчёты → Графические отчёты → Родословное древо— настройка «Поколения для отображения» - 🌳 В Ancestris: вкладка «Древо» → правый клик → «Перенумеровать поколения»
- 📱 В MyHeritage и Ancestry: нумерация скрыта, но фильтр «Поколение от меня» работает корректно
- 💾 При экспорте в
GEDCOMпроверяйте: не теряются ли тегиFAMCу приёмных детей
⚠️ Внимание: если в базе есть «висячие» лица без связейFAMC, программа может присвоить им поколение 0 или исключить из древа. Всегда запускайте проверку целостности (Tools → Check Integrityв Gramps).
Для ручной проверки используйте простой алгоритм: выберите прототипа, присвойте ему 0 (или 1), затем обходите детей в ширину (BFS), увеличивая счётчик на каждом уровне. Это даёт поколение в системе Столета.
☑️ Проверка корректности поколений в GEDCOM-файле
Особости подсчёта в боковых линиях и при сложных связях
Боковые линии — главная ловушка. Кузены второго колена, троюродные тёти, сводные братья — для каждого родства своё правило подсчёта поколений. Главный принцип: поколение считается от ближайшего общего предка.
Пример: вы и ваш двоюродный брат. Общий предок — дедушка/бабушка. Для вас оба: дедушка = поколение 2 (в системе Столета, где вы = 1). Значит, вы с братом в одном поколении. Но дети двоюродного брата — уже следующее поколение относительно вас.
- 👥 Сводные братья/сёстры (один общий родитель) — одно поколение, общий предок = родитель
- 👨👩👧👦 Приёмные дети — поколение считается так же, как родных, если приняты юридически
- 🔄 Вторые браки: дети от разных браков одного отца — полнородные братья/сёстры, поколение одинаковое
- 🧪 При DNA-генеалогии: автосомное тестирование показывает общие сегменты, поколение оценивается по сумме cM, а не по документам
Степень родства по гражданскому кодексу РФ (ст. 1142–1145 ГК РФ) считается иначе: по числу рождений в прямой линии и по сумме рождений в боковой. Для наследования это критично, для истории семьи — используйте генеалогические правила.
Для быстрой оценки степени кузенства: найдите общего предка, посчитайте поколения от него до вас (А) и до кузена (Б). Если А=Б — кузены (А-1) колена. Если А≠Б — кузены (min(А,Б)-1) колена удалённые на |А-Б| раз.
Частые ошибки и как их избежать
Ошибки в нумерации поколений приводят к некорректным отчётам, ложным совпадениям при слиянии баз и некрасивому выводу в книгах. Топ-5 ошибок, которые встречаются даже у опытных исследователей:
- 🚫 Начало отсчёта от себя (поколение 0), а не от прототипа — ломает сравнение родословных
- 🚫 Пропуск поколений при «прыжках» через неизвестных предков (пишут дедушку как отца)
- 🚫 Двойной учёт одного человека в разных ветвях (эндогамия) без метки дубликата
- 🚫 Использование нумерации д'Абовиля для полной родословной вместо системы Столета
- 🚫 Игнорирование приёмных/сводных связей — они меняют поколение потомков
Самая коварная ошибка — скрытая эндогамия (браки между родственниками). В таком случае у одного человека может быть два разных номера поколения в зависимости от пути обхода. Программы типа Gramps помечают это предупреждением «Multiple paths to root». В ручной работе ставьте пометку ENDOGAMY в заметках к индивидууму.
⚠️ Внимание: при слиянии двух GEDCOM-файлов всегда запускайте дедупликацию по паре (Имя, Фамилия, Дата рождения, Место). Ручной просмотр совпадений поколений спасает от «двойных» предков.
Практические упражнения для закрепления
Чтобы уверенно считать поколения, пройдите три мини-задания. Они не требуют специального ПО — достаточно бумаги и ручки.
Упражнение 1. Нарисуйте четырёхпоколенное древо по системе Столета. Прототип — Иван (I). У него трое детей: Петр, Мария, Алексей (II). У Петра двое детей (III), у Марии трое (III), у Алексея — никого. У первого сына Петра — двое детей (IV). Посчитайте: сколько всего лиц в IV поколении? Ответ: 2.
Упражнение 2. Переведите древо из упражнения 1 в систему д'Абовиля. Прототип = 1. Петр = 1.1, Мария = 1.2, Алексей = 1.3. Дети Петра = 1.1.1, 1.1.2. Дети Марии = 1.2.1, 1.2.2, 1.2.3. Внук Петра (сын 1.1.1) = 1.1.1.1. Проверьте: количество точек + 1 = номер поколения Столета.
Упражнение 3. Постройте агнатную таблицу (только мужская линия) для прототипа Ивана по системе Мehтильдера. Иван = 1. Петр = 2. Сын Петра = 4. Внук Петра = 8. Формула работает: каждый шаг вверх — умножение на 2. Для женщин (жёны) добавляйте 1: жена Ивана = 3, жена Петра = 5.
Ответы к упражнениям для самопроверки
Упражнение 1: IV поколение — 2 человека (дети 1.1.1). Упражнение 2: номера верны, поколение = кол-во точек + 1. Упражнение 3: агнатный ряд: 1, 2, 4, 8, 16... Жёны: 3, 5, 9, 17...-
Инструменты автоматизации: скрипты и плагины
Для больших баз (5000+ персон) ручной подсчёт невозможен. Используйте готовые решения или пишите свои на Python с библиотекой ged4py или genealogy.
Пример скрипта на Python для вычисления поколений от прототипа (BFS):
import ged4py
from collections import deque
def compute_generations(gedcom_path, root_id):
parser = ged4py.GedcomReader(gedcom_path)
individuals = {ind.xref_id: ind for ind in parser.individuals}
families = {fam.xref_id: fam for fam in parser.families}
gen = {root_id: 1}
queue = deque([root_id])
while queue:
current = queue.popleft()
current_gen = gen[current]
# Находим семьи, где current — супруг
for fam_id in individuals[current].families_spouse:
fam = families[fam_id]
for child_ref in fam.children:
child_id = child_ref.xref_id
if child_id not in gen:
gen[child_id] = current_gen + 1
queue.append(child_id)
return gen
Для не программистов: в Gramps есть аддон Generation Number (устанавливается через Плагины → Установить из репозитория). Он добавляет колонку «Поколение» в таблицу людей и позволяет экспортировать нумерацию в CSV.
- 🐍 Python-библиотеки:
ged4py,genealogy,gedcom-parser - 🔌 Gramps аддоны:
Generation Number,Relationship Calculator,Descendant Report - ☁️ Онлайн: DNA Painter «Shared cM Tool» — оценка поколения по DNA
- 📊 Excel/Google Sheets: формула
=ДЛСТР(ПОДСТАВИТЬ(A1; "."; ""))+1для системы д'Абовиля
Автоматизация подсчёта поколений обязательна при базе >1000 персон. Ручной расчёт даёт 15-20% ошибок уже на 5-6 поколении.
Публикация и обмен данными: стандарты оформления
Если вы готовите родословную к печати или передаёте данные коллегам, соблюдайте принятые конвенции. Журнал «Родословец», Российское генеалогическое общество и Международная федерация генеалогических обществ (IFGS) рекомендуют:
- 📖 В печатных родословных: система д'Абовиля с пояснением в предисловии
- 🌐 В онлайн-публикациях: интерактивное древо с переключателем систем нумерации
- 📄 В научных статьях: таблица соответствия систем (как в разделе 2 этой статьи)
- 💾 При обмене GEDCOM: версия 7.0, кодировка UTF-8, обязательные теги
HEAD/SOUR/VERS
Для веб-публикации используйте виджеты GeneaQuilts, FamilyTreeJS или Ancestris Web Book. Они позволяют посетителю выбрать прототипа и мгновенно пересчитывают поколения. Вставка на сайт — одна строка <script src="...">.
⚠️ Внимание: при публикации в интернете скрывайте данные живых людей (ГДПР, 152-ФЗ). Поколения для живых заменяйте на «Скрыто» или не выводите ветку вовсе. Используйте флаг _PRIV в GEDCOM.
Финальный совет: ведите журнал изменений нумерации. При каждом пересчёте (новый найденный предок, исправление ошибки) фиксируйте дату, версию файла и причину. Это спасает при спорных ситуациях и при слиянии версий базы.
FAQ: Частые вопросы о подсчёте поколений
С какого номера начинать прототипа: 0 или 1?
В системе Столета — I (1). В д'Абовиле — 1. В Мehтильдера — 1. В программах часто 0 для внутренних расчётов, но на экране показывают 1. Выбирайте одну систему и будьте последовательны.
Как считать поколение, если неизвестен отец, но известен дед?
Не пропускайте поколение. Вносите «Неизвестный» как промежуточного отца с пометкой _TODO. Поколение деда = поколение отца + 1. Пропуск ломает все расчёты степеней родства.
Можно ли иметь дробные номера поколений?
Нет. Поколение — целое число. Дробные номера существуют только в системе д'Абовиля как разделители порядка рождения (1.2.3), но сам номер поколения = количество точек + 1.
Что делать при браке двоюродных брата и сестры?
У их детей будет два пути к общему предку (прадеду). Программы покажут предупреждение. В ручной работе присвойте детям оба номера поколения через слеш (например, IV/V) и добавьте пометку ENDOGAMY.
Как проверить правильность поколений во всей базе за 5 минут?
В Gramps: Отчёты → Текстовые отчёты → «Список людей с поколениями». Сортируйте по колонке «Поколение». Ищите пропуски (нет поколения 5, есть 6) и аномалии (дети старше родителей).