Генеалогические деревья

Вам никогда не приходила в голову мысль построить свое генеалогическое дерево? Смею утверждать, что да, потому что уже неоднократно заводил разговор на эту тему со многими людьми и всегда слышал положительный ответ и встречал живой интерес к этой теме. Причем особенно эти мысли посещают тех, кому уже перевалило за тридцать. (Но, может быть, это мне показалось.) В основном ответы были типа "Да, приходила неоднократно, но до дела так и не дошло" или "Да, я даже нарисовал дерево на бумаге - родителей, дедов...". А потом я задавал следующий вопрос: "А не пытались ли вы построить вообще схему всей своей родни?" В ответ на лице собеседника всегда появлялась попытка представить, как это вообще можно сделать, после этого следовал ответ, что нет. Оказывается, сделать это можно. Но начнем по порядку.

Было это дело прошлым летом. Нужно мне было расписать довольно громоздкий алгоритм расчета стоимости транзитных транспортировок. Не знаю, как у вас, а мне легче писать программу, когда созревает образное, визуальное представление того, что нужно сделать. Вот для этого и решил я написать небольшую утилиту, чтобы быстро манипулировать древовидной структурой и с удобством ее обозревать. Заготовка была сделана, и началось наполнение дерева данными. Но дальше оказалось, что алгоритм в своей глубине становился сетевым, действовать пришлось по-другому, а заготовка утилиты была брошена и осталась валяться на винчестере.

Специально заниматься вопросами генеалогии мне никогда не приходилось. Но мысль о построении генеалогического дерева также посещала меня неоднократно, причем ясно было, что при этом получается древовидная структура. В принципе, такую структуру можно сформировать в виде папок с помощью обычного Проводника Windows. Но вряд ли кому-то захочется иметь такое хозяйство на винчестере, а программ, более подходящих для этой цели, я не искал. И вот накануне нового года меня вдруг посетила идея насчет того, чтобы применить оставшуюся заготовку для этих целей. За час она была причесана, и я приступил к построению дерева.

Давайте рассмотрим, как построить дерево. Я позволю себе взять выдуманные фигуры для иллюстрации, так что если будет какое-то совпадение с реальными именами (и прочая) читателей - прошу извинить.

Первым узлом вносим туда того человека, от которого, собственно, и строим дерево. Затем добавляем подузел "Родители" и к нему - подузлы с информацией о родителях - фамилия, девичья фамилия, имя, отчество, а также подузел "Братья и сестры" с соответствующими подузлами (см. рис.).

Далее строим нисходящие ветви - родители родителей и их братья и сестры, родители родителей родителей и так далее, насколько хватит данных.

Удобным оказалось то, что с помощью программы легко модифицировать структуру, раскрывать/закрывать требуемые ветви. Сразу стали очевидны информационные пробелы, и я стал выяснять подробности, пару вечеров сидел на телефоне, беседовал с родственниками и выяснял. Все родственники живо откликались и помогали, насколько могли помочь.

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

Кстати говоря, родственники просили показать результаты моей деятельности. Так что, как водится, программе недоставало умения напечатать дерево на бумаге. Еще немного усилий - и вот дерево можно печатать полностью или начиная с какого-то узла, с рекурсией по всем ветвям или так, как дерево раскрыто на экране. В результате получилась пусть и небольшая, но завершенная программа "Построитель деревьев" (на оригинальность названия не претендую).

Нужно обратить внимание на то, что, кроме нисходящих ветвей "Родители", появились ветви "Братья и сестры", которые явно боковые. Поначалу они появились для полноты информации. Следующей хорошей мыслью было дальнейшее развитие боковых ветвей. К каждому из братьев (сестер) строим подузлы "Муж (жена)" и "Дети" (Рис. 2). Далее проделываем ту же работу для нисходящих ветвей, т.е. родителей, дедов и т.д. Если есть необходимость, то можно добавлять узлы "Муж2 (Жена2)", "Дети2". Как вы догадываетесь, это связано со вторым браком. Результатом этого оказывается примечательный результат - выстраивается структура всей родни. Дальше, если есть желание и потребность, можно добавлять узлы и других видов отношений типа "Кум (Кума)", "Друг (Подруга)" и т.д.

Полученные деревья можно сохранить (и, естественно, загрузить) на диске в виде текстового файла.

Следует отметить, что построение генеалогического дерева открывает такие интересные стороны из жизни рода, о которых никогда ранее не задумывался или которые в силу тех или иных причин не задерживались в памяти, поскольку были оторваны от общего генеалогического контекста. Так что эта работа, на мой взгляд, очень полезна и в познавательном, и в духовном плане.

Возможно, кому-то такая схема представления покажется недостаточно строгой, но если ставить во главу угла результат, то он, на мой взгляд, налицо. Единственная трудность в представлении возникает тогда, когда род расходится, а в нижних коленах где-то сходится, то есть образуется сетевая структура. Однако это встречается, наверно, не так часто и не более, чем в одном экземпляре на человека, от которого строится дерево, так что с этим мириться вполне можно.

Редакция газеты с интересом отнеслась к описываемой теме и любезно предоставила возможность разместить архив программы "Построитель деревьев" для свободного скачивания на своем сайте (www.kv.minsk.by/files/tb.zip).

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

Юрий А. СМАНЦЕР,
[email protected]

Версия для печатиВерсия для печати

Номер: 

08 за 2000 год

Рубрика: 

Азбука программирования
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

Аватар пользователя Ліцьвінскі Зубр
Здаецца, genealogist, а не genealog.
Аватар пользователя genealog
genealogist - это у них там.....,

у нас genealog :-)

Аватар пользователя Хама
Шаноунае спадарства! Псiхiка чалавека так створана, што не дае чалавеку магчымасць рухацца далей, калi чалавек не змог разабрацца у сваiм мiнулым. Чаму? Бог стварыу чалавека такiм. Чалавек адзiная жывая iстота, якая можа кактактаваць не толькi з продкамi але i з нашчадкамi. Гэтая асаблiвасць i прымушае чалавека задумвыацца аб мiнулым, спрабаваць нешта вызначыць, аб нечым даведацца. I калi нехта з вас шаноуныя не сутыкнууся яшчэ з такой патрэбай, то не сумуце ваш час яшчэ прыйдзе. Прыйдзе абавязкова. Сэнс жыцця чалавека якраз i есць у тым каб гутарыць з сваiмi нашчадкамi i апавядаць iм аб тым, што было, сведкам чаго былi Вы. Гутарыць не у прамым сэнсе. Ускосна. Праз дакументы, успамiны, кнiгi, запiсы...
Аватар пользователя Fractal
Для генетики, медицинской генетики генеалогические знания являются очень ценной информацией. Даже с тоой точки зрения, чего ожидать у себя и своих потомков.
Аватар пользователя genealog
to Сергей

www.genealogia.ru

Аватар пользователя Arkdy
Да проще все. Решил просканить семейные альбомы и понял, что 80% лиц в них мне не знакомы. Это то ладно. Но призадумался. А каких своих родственников я знаю, тех которые сейчас здравствуют? А почти никаких!

А что я смогу сыну/дочке рассказать - что дескать была у меня мама и папа и жили мы там и там. И все? А совестно мне стало!

Аватар пользователя Дмитрий
Если человек духовно созрел, то ему польза от знания своей родословной очевидна, а если нет, то не надо убеждать. Либо слишком рано, либо... каждому свое. А вот приличная русская генеалогическая программа есть по адресу: www.naslediya.ru. Сайт еще дорабатывается, но познакомиться с программой и скачать демоверсию уже можно.
Аватар пользователя Курбатов Олег
Подобрал в Сети сейчас три очередных ген-программы, в том числе обсуждаемую; пока не открывал, не смотрел. Но пользуясь наличием форума, хочу спросить народ: может кто видел или умеет написать такую программу, которая _отображает_ дерево не просто разводя по плоскости предков-потомков-братьев-сестер... когда дерево разветвленное (например как у меня получилось на http://votabruk.narod.ru, пользовался GenoPro-й), отдельные ветви становится очень трудно "разводить" друг от друга, пересекаются потомки братьев-сестер и предки супругов... так вот я что думал: братьев-сестер надо бы выводить "в глубину", делать слои; и, динамически отслеживая текущего интересующего человека, рисовать ему предков-с-братьями; потомков-с-братьями; самого-с-братьями - не разворачивая преждевременно полные ветви тех братьев, буде они даже известны.

Вот, собственно, может видел кто?

Вряд ли я еще вспомню про этот форум; если будет желание помочь с конкретной инфой - не сочтите за труд, черкните на мыло (дублирую: [email protected] ). Буду премного благодарен :)

Аватар пользователя Комаров Сергей
Свое генеалогичесоке дерево можно построить здесь

http://www.familyonline.info

получится дерево что то вроде того

http://www.familyonline.info/tree.php?user=1&sys=pedegree

Аватар пользователя Алексей
Для справки http://famclan.ru/gen/28.htm

Там некоторые программы по генеологии, да и сам сайт славянский, интересный. Правда, в стадии становления.

Страницы