GenoPro Home
GenoPro Home  |  Get Started With My Genealogy Tree  |  Buy  |  Login  |  Privacy  |  Search  |  Site Map
 

GenoPro Support Forum




Better AutoArrange

Click to view RSS...
Author Suggestions to improve the AutoArrange and solutions to leverage the AutoArrange.
Posted Thursday, January 21, 2016 - Post #36561
Famous Writer

Famous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous Writer

Customers
Gamma
GenoPro version: 3.0.1.4

Last Login: Wednesday, November 24, 2021
Posts: 249, Visits: 781
GenoProSupport: Thanks for letting us know this is something you're working on! BigGrin I'm a former programmer (LONG time ago; recreational Apple II BASIC in the early 80s, Turbo Pascal on Macintosh in the late 80s, and a bit of C and C++ experience in the 90s), so I have an appreciation of the difficulties involved. While working on manually untangling the massive genogram I mentioned earlier, I got to thinking about algorithms and processes for the AutoArrange, and started sketching something out for resolving the multiple-partners problem (I'm sure you've already put together something similar, but I thought I'd post this so other users can get a better idea of exactly how complex making the AutoArrange work for multiple partners really is; bold added for emphasis):

* for each individual do the following:
     * for each family the individual is a parent in:
          * y(family a) must be:
               * < y(individual)                           //this line and next line keep family line below parents
               * < y(other parent(s) of family a)
               * > y(children of family a)             //keeps family line above children
               * <> [not equal to] y (other families the individual is a parent in)                                               //keeps family lines with common parents from overlapping; this will be far more complicated than shown here
          * if (y(family a) = y(family b)) and (family a and family b have a parent in common) then:
               * set y(family a) to (y(family a) - n) (where n < length of shortest child line from it)                    //basic step for preventing overlap of family lines with common parents
          * x(father(family a)) must be < x(mother(family a))                                                                       //keeps father to left of mother for a given family line

Oh, and while composing this I found a bug in the message board code; it's probably already known, but the "closing quote" tag [/quote] doesn't revert the text formatting; I guess this is the first time in all the time I've been here that I've used "Reply With Quote" and so I've just noticed this now when I tried putting my reply after the quoted text. Smile

Edit: Found a typo in my first sentence over a year after posting! BigGrin

GenoProSupport (17-Jan-2016)
I have been thinking about making a Better AutoArrange for more than a decade.  One of the biggest challenge is to detect and handle overlapping (aka spaghetti) family trees.  One solution is to create hyperlinks, and perhaps new GenoMaps in the case the overlapping is inevitable, or there is a structural error in the data, such as having an ancestor a child of one of its descendant (yes, this error case happens quite often when importing large Gedcom files).



The good news is modern computers have about 1000 times more memory than when GenoPro was created in 1997 (the computer I used to create GenoPro version 1 had 4 MB of RAM).  As a result, GenoProX has more options for creating a Better AutoArrange.  What was unacceptable in the 90's, such as requiring the allocation of 1 MB of RAM for the AutoArrange is actually a great idea today.  In fact, if the new AutoArrange would require a temporary memory allocation of 100 MB and would do the job perfectly, I doubt anybody would raise the issue about the memory requirement.

What I am considering is creating a matrix of holes available in the family tree, so the AutoArrange find a hole to place an individual or group of individuals in it.  This algorithm will also work great for a 'Partial AutoArrange' which the Family Wizard will use intensively.  The matrix will require a lot of memory, especially if the GenoMap is large, however I think it is will produce a good result.

At the moment, GenoProX is not ready for the AutoArrange, however we want to have it good, as we would like to be able to tap into multiple third-party databases, including Gedcom and enable our users to import data from Ancestry.com.  Ancestry has many databases and it would be great for GenoProX to be able to open such a database and display a nice looking family tree from such a database. 


GenoPro: Best. Genealogy. Software. Ever.

Edited: Saturday, March 18, 2017 by Jakk
Posted Friday, January 22, 2016 - Post #36565
Legendary Master

Legendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary Master

Administrators
Moderators
Customers
Gamma
FamilyTrees.GenoPro.com
Translator
GenoPro version: 3.1.0.1

Last Login: 2 days ago @ 11:01 PM
Posts: 4,887, Visits: 22,764
Thank you for your reply.  One thing I am considering is to 'outsource' some routines.  For instance, if someone can create a better AutoArrange, he/she may receive USD $5,000 or perhaps $10,000 if the result is very good.  This way, GenoPro could tap into the brains of our users.

This support forum is not good.  At the time we purchased a license for the forum, it was among the best, however we had to modify the code to integrate it with the rest of our systems, including the support ticket, which broke with a new .NET update.  What I have in mind is to use GenoProX as our support system, as we already have a group chat working.  Also, people who help other GenoPro users will receive points which they will earn titles (similar as online games) and better, redeem those points for GenoProX products.
Posted Sunday, January 24, 2016 - Post #36573
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Gamma
GenoPro version: 3.0.1.4

Last Login: Friday, July 9, 2021
Posts: 1, Visits: 2
As a newbie - what is the individuals limit on AutoArrange? I tried to import my GEDCOM and got the message it was too big to AutoArrange.
Posted Monday, January 25, 2016 - Post #36574
Grand Master

Grand MasterGrand MasterGrand MasterGrand MasterGrand MasterGrand MasterGrand MasterGrand MasterGrand Master

Customers
Important Contributors
FamilyTrees.GenoPro.com
GenoPro version: 3.1.0.1

Last Login: Friday, May 3, 2024
Posts: 1,576, Visits: 31,246
What is the size of the file?
I have just opened the largest ged file from the GenoPro site. 43000 Kb, nearly 80000 individuals.
Could be a memory problem on your PC


Edited: Monday, January 25, 2016 by GenoProSupport
Posted Monday, January 25, 2016 - Post #36575
Legendary Master

Legendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary Master

Administrators
Moderators
Customers
Gamma
FamilyTrees.GenoPro.com
Translator
GenoPro version: 3.1.0.1

Last Login: 2 days ago @ 11:01 PM
Posts: 4,887, Visits: 22,764
1101444 (25-Jan-2016)
As a newbie - what is the individuals limit on AutoArrange? I tried to import my GEDCOM and got the message it was too big to AutoArrange.
The AutoArrange uses a form of recursive algorithm to include 'leaf' individuals and merge them into families, and merge families into small trees, and growing the trees, however this algorithm consumes a lot more memory than it should, and sometimes it is possible to run out of memory (~2 GB).  Remember GenoPro 2016 is 32 bit, so the application GenoPro.exe has a limit of 3 GB for its data.

One solution is to skip the AutoArrange and use the Table Layout.  You may also 'import' individuals and families into a GenoMap and grow your tree from there.
Posted Thursday, January 28, 2016 - Post #36597
Famous Writer

Famous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous Writer

Customers
Gamma
GenoPro version: 3.0.1.4

Last Login: Wednesday, November 24, 2021
Posts: 249, Visits: 781
One cosmetic thing I thought of for the AutoArrange is that it would be nice to be able to specify a minimum vertical and horizontal spacing between individuals. I am working with a very large genogram at the moment, and Inflate Tree has helped greatly with the untangling of overlapping families, but when I AutoArrange the specific sections that I can do this safely with, I lose the adjusted spacing. In order to keep things organized, I am trying to keep all people born in the same decade at approximately the same Y co-ordinate; perhaps an algorithm involving birthdates and Y-co-ordinates is the way to go, except that not everybody in my tree has known dates (particularly those who are from over 500 years ago). Maybe there should also be an algorithm for filling in estimated approximate dates based on known dates within the line of descent; this should probably be a separate process from the AutoArrange itself, as the latter is already extremely memory-intensive and the date estimator is likely to be equally so, depending on how many known dates there are in a line of descent.

GenoPro: Best. Genealogy. Software. Ever.
Posted Wednesday, March 15, 2017 - Post #37743
Famous Writer

Famous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous Writer

Customers
Gamma
GenoPro version: 3.0.1.4

Last Login: Wednesday, November 24, 2021
Posts: 249, Visits: 781
So... over a year later, and I'm still trying to untangle the same genogram. Pinch

Any news on improvements to AutoArrange for GenoProX?


GenoPro: Best. Genealogy. Software. Ever.
Posted Saturday, March 18, 2017 - Post #37763
Famous Writer

Famous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous Writer

Customers
Gamma
GenoPro version: 3.0.1.4

Last Login: Wednesday, November 24, 2021
Posts: 249, Visits: 781
A thought regarding the vertical spacing: If we allow specification of a certain (minimum) Y-distance from parent to child, in addition to using dates of birth (where available) to place contemporaries at the same (approximate) Y-position, the only big problems to be solved are those of multiple spouses and of overlapping family lines (which I would like to see eliminated in the AutoArrange process if possible). The multiple-spouse problem, I have no idea how to tackle without seeing the code... and the odds are very good that I wouldn't understand it anyway. My Web coding skills (HTML, JavaScript, a bit of VBScript) are ten years old, and my "heavy-duty" programming skills are mostly in C, C++, and Scheme, and over fifteen years old... along with some earlier experience that I mentioned in my original post and gives everyone a pretty good idea of how old I am. BigGrin That said, if I know which language or coding environment is being used, I *was* (once upon a time) fairly quick to pick up new coding skills, and I might be able to provide some insight once I get up to speed with the tools. And yes, I know the entire program is being rebuilt from scratch, but I've heard nothing about AutoArrange specifically in the news about GenoProX. I'm just getting very frustrated with my project right now, and I don't want to spend the rest of my life manually fixing something that my computer could fix in minutes with the right algorithm.

Edit: Another thought that occurred to me is that AutoArrange should consider as many Problem Spotter issues as possible, especially family and individual overlaps (the exclusion of which on their own might at least make the current results for complex trees more comprehensible). Parents below and children above family lines seem to be already handled by AutoArrange, as long as the tree is simple enough for the algorithm to process it correctly. Birth order is another big issue in my genograms, although I'm not sure that it's possible to have no birth order issues *and* no "inverted" marriages (where the wife is on the left of the husband) in any tree of sufficient complexity; my "big tree" currently has 22 birth order issues and probably about as many wives to the left of their husbands (unreported), out of a total of 32 problems spotted (now that all the family-line overlaps are dealt with).


GenoPro: Best. Genealogy. Software. Ever.

Edited: Saturday, March 18, 2017 by Jakk
Posted Monday, April 2, 2018 - Post #38653
Famous Writer

Famous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous WriterFamous Writer

Customers
Gamma
GenoPro version: 3.0.1.4

Last Login: Wednesday, November 24, 2021
Posts: 249, Visits: 781
Checking in on this thread seems to have become an annual ritual for me. BigGrin I'm still untangling the same genogram I was working on as of my original post, and the more I think about it, the more I think that tying the Y coordinate of the individual to the birth year somehow is the way to go. I'm trying to do this manually, and I can only handle working on it for an hour or so each day; that's why it's taking so long. Pinch

GenoPro: Best. Genealogy. Software. Ever.


Similar Topics

Click to view RSS...
Expand / Collapse

Reading This Topic

Expand / Collapse