Recursive Trees (from GED)

  • Thread starter dobry_den
  • Start date
  • Tags
    Trees
In summary, the conversation discusses the problem of finding a recursive algebraic definition for a "flip-tree" that is created by flipping a given tree around and relabeling the nodes to increase from left to right. The solution presented lacks elegance and still remains an assumption. The individuals involved are seeking a more elegant solution or any new discoveries in the past few years.
  • #1
dobry_den
115
0
In chapter five of Douglas Hofstadter's book Goedel, Escher, Bach, the author poses a question about recursively-defined trees:
[...]suppose you flip Diagram G around as if in a mirror, and label the nodes of the new tree so they increase from left to right. Can you find a recursive algebraic definition for this "flip-tree"?

I've been trying to solve it today, and the only solution I came up with is:
G(n) = (n+1) - G(G(n-1)+1) for n>4
G(O) = 0, G(1) = 1, G(2) = 2, G(3) = 3, G(4) = 3 (hope i remember it well),
which is apparently not as elegant as the original definition. Has anyone of you come up with a better solution? Or is there any general method (procedure) how to transform recursive algebraic definition of trees into recursive algebraic definitions of "flip-trees"?
 
Physics news on Phys.org
  • #2
Doesnt it have something to do with odd and even numbers, a bit like the trigonometric functions of the tayor series?
 
  • #3
3trQN said:
Doesnt it have something to do with odd and even numbers, a bit like the trigonometric functions of the tayor series?

I'm not sure about that... I'll try to state the whole problem:

Having a recursive algebraic definition of a function F(n), one can construct a tree by placing n-nodes above F(n)-nodes:

Code:
                         (4)        (5)
                          |          |
                          ----(2)-----           (3)
                               |                  |
                               --------(1)---------

For this particular tree, these equations hold:
G(2)=1
G(3)=1
G(4)=2
G(5)=2

The tree in the book is described by the equation:
G(n) = n - G(G(n-1)) for n>0
G(0) = 0

And the problem is following: imagine you flip the tree around as if in a mirror and relabel all the nodes so they increase from left to right. What would be the recursive algebraic definition for this mirrored tree?

The solution I came up with is mentioned in my previous post... But apparently it lacks the original elegance - in order to be suitable for the tree, it has to be given five initial values. The original "unmirrored" tree used only one predefined value.
 
  • #4
I came to the same result this day (actually I gave even more initial values, but my recurrence relation was the same). But I have the same two problems with it: The solution is really unhandy and everything but elegant... Ant at second it still is only an assumption. Unfortunately I have absolutely no clue how it could be shown that this recurrence relation fits to the tree (and it is not even easy to falsify: Calculating high G-flip(n) is okay but having a look at the 2000th level of this weird tree is not that easy...).

So now my question: Were there any new discoveries in the past few years? Is there any elegant form now or does anyone of you have an idea?
 

What is a recursive tree?

A recursive tree is a data structure that is composed of nodes that have a parent-child relationship. Each node in the tree can have multiple child nodes, creating a hierarchical structure. The tree is called "recursive" because it can contain smaller versions of itself within its child nodes.

What is the purpose of a recursive tree?

Recursive trees are used to efficiently store and manage data that has a hierarchical structure. They are often used in computer science and mathematics to represent complex relationships between different entities.

How do you create a recursive tree?

A recursive tree can be created by starting with a root node and then adding child nodes to it, which can then have their own child nodes. This process can continue until the desired tree structure is achieved.

What are some common applications of recursive trees?

Recursive trees are commonly used in computer programming for tasks such as sorting, searching, and data compression. They are also used in data visualization and decision-making algorithms.

What are the advantages of using recursive trees?

Recursive trees have several advantages, including their ability to efficiently store and retrieve data, their flexibility in representing complex relationships, and their ease of implementation in computer programs.

Similar threads

  • General Math
Replies
5
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
5
Views
1K
  • Set Theory, Logic, Probability, Statistics
Replies
5
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
8
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
  • Precalculus Mathematics Homework Help
Replies
12
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
10
Views
1K
  • Set Theory, Logic, Probability, Statistics
Replies
1
Views
1K
  • Set Theory, Logic, Probability, Statistics
Replies
1
Views
1K
Back
Top