This page contains one of the assignments accomplished for my Artificial
Intelligence class. The applet below illustrates unification algorithm for arbitrarily
nested strings of the next notation:
( a b (c) (d (e)) ) - where a,b,c,d,e may represent either a string
literal or a variable.
Notation (var x) is used to indicate a variable. Therefore, if
"apple" in the
( apple Fruit ) is
a literal and Fruit is
a variable, then ( apple (var Fruit)) is correct in order to use it
in the provided unification example.
Some predefined unification examples could be tested by selecting
appropriate line from the drop-down lists. Press Set Expression fields button to copy selected example
to the entry fields.
Status field provides status of the operation after you click Unify.
Substitutions field gives a correctly formed list of
substitutions used in the unification:
Notation used: ( (subst 1)
... (subst N) ) - list of substitutions
( (literal) (variable) ) - each substitution
Unified expression contains expression resulting from
unification, i.e. after all substitutions were applied to one of the participating expressions.
THIS APPLET WILL RUN ONLY WITH INTERNET EXPLORER 4.0.or NETSCAPE 4.04 or
higher. Older versions DO NOT SUPPORT JAVA VM1.1
You can check JAVA possibilities of your browser on Sun site.
The applet was written in Java using IBM Visual Age for Java 1.0 environment.