Anda di halaman 1dari 2

Prof.

Kazuki Yoshiz Rishabh Gupta


RIKEN AIP & Leader, Search and Parallel Computing Master’s Student in Harada-Ushiku Lab
Special Lectures in Mechano Informatics - II Department of Creative Informatics
23rd M ay 2018 The University of Tokyo, Tokyo

Two important properties of heuristics for A∗ search


The heuristic function h(n) tells A* an estimate of the minimum cost from any vertex n to the goal
to

• 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.

Improving A∗ psuedo code for inconsistent heuristic


While utilizing an inconsistent heuristic function, there could feasibly arise a situation in the psue-
docode mentioned where a node n (which has already been placed prior in the Closed List) gets
update to its fscore.
The modifications required are :

• Remove statement if (n is in ClosedList) continue;

• Modify statement if (n not in OpenList) =⇒ if (n not in OpenList and n not in ClosedList)

• Add statement if (n is in ClosedList) {add n to OpenList}; right after


f score[n] = gscore[n] + h(n);

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

Anda mungkin juga menyukai