It is well known that the optimal solution forsearching in a finite total order set is binary search.In binary search we divide the set into two ``halves'' by querying the middleelement and continue the search on the suitable half.What is the equivalent of binary search whenthe set $P$ is partially ordered?A query in this case is to a point $x\in P$, withtwo possible answers: 'yes', indicates that the required elementis ``below'' $x$, or 'no' if the element is not bellow $x$.We show that the problem of computing an optimal strategyfor search in Posets that are tree-like (or forests) ispolynomial in the size of the tree, and requires at most $O(n^4\log^3 n)$ steps.

Optimal solutions of such search problems are oftenneeded in program testing and debugging,where a given program is represented as a treeand a bug should be found using a minimal set of queries.This type of search is also applicable in searchingclassified large tree-like data bases (e.g. the Internet).

Paper:

TR96-044 | 6th August 1996 00:00

Optimal Search in Trees

It is well known that the optimal solution forsearching ina finite total order set is the binary search.In the binary search wedivide the set into two ``halves'', by querying the middleelement, and continue the search on the suitable half.What is the equivalent of binary search, whenthe set $P$ is partially ordered?A query in this case is to a point $x\in P$, withtwo possible answers: 'yes', indicates that the required elementis ``below'' $x$, or 'no' if the element is not bellow $x$.We show that the problem of computing an optimal strategyfor search in Posets that are tree-like (or forests) is polynomial in the size ofthe tree, and requires at most $O(n^2\log^2 n)$ steps.

Optimal solutions of such search problems are oftenneeded in program testing and debugging,where a given program is represented as a treeand a bug should be found using a minimal set of queries.