Question

I have been looking at a lot of graph searches -both informed and uninformed. I have also looked at and coded some optimization problems such as hill-climbing. My question is, how can I relate the two types of algorithms?

To be a little more clear, here is an example: Let's say I run a graph algorithm like Depth first Iterative Deepening. I run it for one depth and get a goal node, then I run it again at a different depth and find a goal node and so on. So now, I have a set of possible goal nodes. Could I run an optimization algorithm like hill climbing to find which one is "optimal" according to different limitations?

Was it helpful?

Solution

One of the notions you encounter in graph search algorithms is optimality. You should consider that here optimality is just about the algorithm and not about the goal. Meaning that, if an algorithm is optimal it should return the minimum cost solution.

Now, if you want to optimize something it's completely a different problem. In this case the quality of the solution is of most importance not the way you achieve it.
Algorithms like Genetic Algorithms, PSO, ... and many more optimization methods exists to address this issue.

BTW, sometimes we combine a graph search method like A* with an optimization algorithm to gain better results from the optimization algorithm.


Note: The term Graph Optimization is not related to the topic Graph Search that I think is your main topic according to your question.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top