I am a little confused with Hill Climbing algorithm. I want to \"run\" the algorithm until i found the first solution in that tree ( \"a\" is initial and h and k are final state
Hill climbing has no guarantee against getting stuck in a local minima/maxima. However, only the purest form of hill climbing doesn't allow you to either backtrack.
A simple riff on hill climbing that will avoid the local minima issue (at the expense of more time and memory) is a tabu search, where you remember previous bad results and purposefully avoid them.