• At one extreme, if h(n) is 0, then only g(n) plays a role, and A* turns into Dijkstras Algorithm,
which is guaranteed to find a shortest path. If h(n) is always lower than (or equal to) the cost
of moving from n to the goal, then A* is guaranteed to find a shortest path. The lower h(n)
is, the more node A* expands, making it slower.
• Consistent heuristic is admissible. But not vice versa although admissible and Inconsistent
heuristic could be converted to consistent heuristic.
1
New Graph search algorithm
The problem that I find interesting to utilize graph search algorithm is that of identifying relations
in a social network and how to optimize for recommendation based on collaborative filtering based
on users past behavior. There are two categories of CF:
• User-based: measure the similarity between target users and other users
• Item-based: measure the similarity between the items that target users rates/ interacts with
and other items
Assuming there are m users and n items, we use a matrix with size m*n to denote the past
behavior of users. Each cell in the matrix represents the associated opinion that a user holds. For
instance, Mi,j denotes how user i likes item j. Such matrix is called utility matrix. CF will be
like filling the blank cell in the utility matrix that a user has not seen/rated before based on the
similarity between users or items. There are two types of opinions, explicit opinion and implicit
opinion.
To compute the similarity between users in CF we have two options: Pearson Correlation or cosine
similarity. Let ui,k denotes the similarity between user i and user k and vi,j denotes the rating that
user i gives to item j with vi,j =? if the user has not rated that item. These two methods are both
commonly used but the difference is that Pearson Correlation is invariant to adding a constant to
all elements. We can develop a good heuristic function such as the value of cosine similarity between
products with closest association the the item with the highest value per cost is considered. If we
were to bypass calculating value per cost of item and sorting, Monte Carlo search algorithm would
be better because there is no clue to estimate where the optimal solution exists. However with
sorting procedure, A* search would be better because we can estimate the approximate area of the
optimal solution using the aforementioned heuristic function