The second and third algorithms that were implemented were greedy best-first search algorithms, each with a different heuristic function. Greedy best-first search is an informed search algorithm (i.e. based on a heuristic function) which extends paths based greedily on a given heuristic. Similar to the iterative deepening search algorithm, the goal node is found in the universal FOON. Once the goal node is found, the input nodes of its functional unit are placed into a queue if they are not found in the kitchen. From here, the candidate units for each node are found and the best unit based on the heuristic function is picked. The first heuristic is defined as the success rate of the motion from each candidate unit. These rates are given in a text file, which was previously parsed. Some of these motions can be seen in tab2. For instance, if we have two candidate units: mix and stir, the function will search the motions text file for each motion node and compare their success rates. Whichever motion has a higher success rate will be selected; In this case, it would select mix. More information on this heuristic is given in related works by Paulius et al. [1]}.
<TABLE>