CS 8113D Notes by D. Jones October 25, 1994 PHI, A Logic-Based Tool for Intelligent Help Systems Bauer, Biundo, Dengler, Koehler, Paul Intelligent User Support in Graphical User Interfaces Fehrle, Thies, Berger --- The PHI paper introduced varying levels of help: Passive help Active help Cooperative help Implicit help. There are two types of planning, first principle planning and second principle planning. With first principle planning, you use a plan language to start from scratch and generate a sequence of steps. Second principle planning involves reusing solutions to old problems. The papers mentioned the use of artificial intelligence techniques, but went into very little technical detail -- especially the PLUS paper. The PHI paper used Prolog, which centers on theorem proving based on axioms. One difference provided by the AI approach is the use of temporal logic, where logical values have a notion of time and duration. A value may become true at a certain time, and may again change after another period of time. One problem noticed with the papers is that the target environments seem like "toy" systems, and there is a question of scalability. For example, in the PHI paper they are implementing an email program. The ideas are also somewhat outdated, as modern AI techniques have reuse as a primary goal. The algorithms are also less opportunistic, and do not take advantage of situations as they come up. They use the closed world assumption: what you don't know (or can't prove) is assumed false. How far can you go with the user interface issue? You would need a really sophisticated user model to get anything useful, and there is a lot of extra complication introduced by the AI. The key to the PHI paper is the enumeration process whereby you enumerate plans. Logic planning is used by the PLUS paper. IBM has already patented a variation of PLUS, and is using a user interface management system (UIMS) designed at IBM. Another problem raised is that you can't just model WHAT is going on without WHY it is going on. However, it is possible to find out the final goal of the user. It is very difficult to enumerate all the plans because there is a combinatorial explosion. It may be possible to store all the enumerated plans, but the search time would be n(log n). You want to anticipate what the user wants on the spot, but this impossible in larger systems. How far can you optimize the system? At what point does the added cost exceed the benefits? (an extra inch could cost a mile) The designer's intent of the system may or may not overlap with the user's use of the system. A simpler approach to anticipating user's actions is to use statistical methods, as opposed to an actual "understanding" by the computer of the users intentions. The user usually doesn't care if the system "understands" their desires -- only that it does what is best for him/her. If the actions of the system disturb the work of the user, then it is bad. However, if the user requests help or hints about what to do next, and the computer makes suggestions based on incomplete information, this is not bad because it gives the user direction.