# letter from a great adventurer

Who or what is our hero, the adventurer? :) Now extra long and extra easy:

Dear friend, I write to you before my great adventure
The nature is, as always, on my side.
Don’t worry, I am very well prepared,
I booked a very talented and clever guide.

I’m ready and excited to explore
the world’s most mysterious and tricky roads,
to open every secret door
to break the mystic ancient codes.

You usually trust me for my method,
no whining and complaining, no big guns.
I’m breaking the difficult questions
into easy and simple ones.

With every secret I reveal
I’m getting closer to my end
and some day I will see clear
the last locked door, my dear friend.

And when you read the records of my journey,
hopefully, you won’t forget
how I, the great adventurer brought treasure
and found peace in my heroic death.


It seems to be more difficult as previously thought. Time for hints.

Hint 1:

Our hero is a concept, rather than material entity

• Why on earth has somebody voted to close this question? Dec 14 '14 at 19:59
• Dear close-voters, could you please explain why do you think that this is off-topic by having speculative answers? If possible, link the relevant meta discussion about that. Dec 14 '14 at 20:25
• I am curious what is happening here? The riddle is marked for closing and downvoted without any explanation what is wrong with it or how it can be improved. Did I miss something in the last few weeks? New policies? New rules? Dec 15 '14 at 8:52
• I'm confused too. This looks like a perfectly fine riddle, though I can't actually judge without knowing the answer.
– xnor
Dec 15 '14 at 9:45
• @zlobi.wan.kenobi - There's been a huge amount of activity in the last few weeks, e.g. see here and here. Nothing much has happened on meta about this for a few days now, but the issue of riddles and challenges still hasn't been fully resolved, and people are very tense. Dec 15 '14 at 10:53

You are:

Recursion

Dear friend, I write to you before my great adventure
The nature is, as always, on my side.


Recursion is deemed as a "natural process", for example fractals

Don’t worry, I am very well prepared,
I booked a very talented and clever guide.


The talented and clever guide is the programmer implementing recursion.

I’m ready and excited to explore
the world’s most mysterious and tricky roads,


Recursion goes down through one or more of the possible paths.

to open every secret door
to break the mystic ancient codes.


Every secret door is actually each call to the function. Reference to coding.

You usually trust me for my method,
no whining and complaining, no big guns.


The method is well-known, with proofs for a lot of cases. Programmers trust recursion. Also, recursion is known for simplifying the code, with no giant data srtuctures to loop through.

I’m breaking the difficult questions
into easy and simple ones.


Recursion if often a divide and conquer approach. In order to converge, the subproblem should be smaller.

With every secret I reveal
I’m getting closer to my end
and some day I will see clear
the last locked door, my dear friend.


Each call to recursion gets us closer to the answer. The last locked door is the base case.

And when you read the records of my journey,
hopefully, you won’t forget


Quite often we need the path the recursion has taken as well as the answer.

how I, the great adventurer brought treasure
and found peace in my heroic death.


After the algorithm finishes the process that implements it dies.

• right to the point! just for the sake of completeness, with "nature is on my side" I was referring to "fractals", which are the nature's way to express our adventurer. And the clever guide is, as @Fillet said, the programmer. The treasure is the computation made, the result. The last locked door is the base case. And lastly, the questions made easier is an important property, because our adventurer's exploration has to converge. Dec 15 '14 at 11:34
• recursion was actually the first thing I thought, but I decided that it might be a bit too obvious
– dmg
Dec 15 '14 at 11:42

A debugger

With the following reasoning:

Dear friend, I write to you before my great adventure The nature is, as always, on my side.

The great adventure is to fix the code, and the process usually works.

Don’t worry, I am very well prepared, I booked a very talented and clever guide.

Flattery will get you everywhere! The guide is the developer.

I’m ready and excited to explore the world’s most mysterious and tricky roads, to open every secret door to break the mystic ancient codes.

It's almost as if you are familiar with my programming style!

With every secret I reveal I’m getting closer to my end and some day I will see clear the last locked door, my dear friend.

Every fixed bug will cause the program to run further, and soon only one bug will remain.

And when you read the records of my journey, hopefully, you won’t forget how I, the great adventurer brought treasure and found peace in my heroic death.

The treasure is working, tested code! And documentation too!! Once the code works, the debugger is no longer needed, and may rest in peace.

• Two answers, two of them are related to computer science. :D
– dmg
Dec 15 '14 at 10:43
• and indeed.. the answer is related to computer science.. btw, you both are very very close Dec 15 '14 at 10:46
• The best answer by far. I almost felt sorry for the way I always used the debuggers and they got no credit in the end. Dec 17 '14 at 15:23

You are a:

Graph search

Dear friend, I write to you before my great adventure
The nature is, as always, on my side.


Not sure here. The nature is on your side because the graph is connected.

Don’t worry, I am very well prepared,
I booked a very talented and clever guide.


The search strategy, [DFS](https://en.wikipedia.It's almost as if you are familiar with my programming style! org/wiki/Depth-first_search), BFS, A* or any other.

I’m ready and excited to explore
the world’s most mysterious and tricky roads,


Graph exploration is a graph search where we do not have the whole graph at the beginning of the problem.

to open every secret door
to break the mystic ancient codes.


Every secret door is actually each visited vertex. Reference to coding.

You usually trust me for my method,
no whining and complaining, no big guns.


Methods are well-known, with proofs and all, and the programmers trust them.

I’m breaking the difficult questions
into easy and simple ones.


GS employs the divide and conquer approach

With every secret I reveal
I’m getting closer to my end
and some day I will see clear
the last locked door, my dear friend.


Each visited node brings you closer to the answer. The last locked door, being the vertex we are searching for.

And when you read the records of my journey,
hopefully, you won’t forget


Quite often we need the path, not only the searched vertex.

how I, the great adventurer brought treasure
and found peace in my heroic death.


After the algorithm finishes the process that implements it dies.

• this is almost right. you need to just think more of an implementation approach rather than specific algorithms. For example, an approach that can be used to solve the search. Dec 15 '14 at 10:50