The Problems Of The Tableau Procedure

862 Words4 Pages
As we mentioned in the introduction section, one of the time problems related to the Tableau procedure is checking if the branch is closed or not. The ordinary way for checking if a branch is closed is known as highly time-cost process. We need an intelligent and simple way to construct and check the branches. One way, is to use ordered branches (i.e. to put the negated predicates in the branch first, and then not negated ones), but we still have a problem if the number of negated elements is much greater than the not negated ones. The following scenario is possible in this case,
If we choose to check if the list contains neg X and X, if neg X is the last element in the negative ones, and X is the last element in the not negated ones, we have to process all the elements of the negated ones and in each time we process an element we start from the beginning of the list and process the whole branch to check if its not negated element is exist. Of course, a lot of time is consumed before tableau reaches neg X, and finds out that X is exist. branch. The third predicate closed / 1 check the lists in the branch if the negative one is shorter than the positive on the predicate checks if neg X is a member of the first list and X is a member of the second list; otherwise it checks if X is in the positive list and neg
X in the negative one.
The fourth improvement, and the main idea of our implementation, is to use the multi-threading approach in implementing the tableau procedure.
Open Document