The development of search algorithms for the Functional Object-Oriented Network (FOON) is an important component in the knowledge retrieval process of extracting a subgraph, called a task tree; This task tree can be used by robots to complete manipulation tasks. The FOON is a structured knowledge representation presented by Paulius et al. which is capable of generating a sequence of motions for a robot to follow in order to carry out desired tasks [1]}. A task tree can utilize knowledge from several sources to produce a new task sequence which has not been seen before [2]}. When extracting a task tree, a search is done which looks at a list of items present in the space (i.e. a kitchen). From here, the search should be able to find functional units that will lead to inputs already in the kitchen. When the task tree saves these functional units from the search, the complete task tree is reversed. This gives a structure that a robot can use to create a desired item from start to finish.
