Page 83 - DCAP310_INTRODUCTION_TO_ARTIFICIAL_INTELLIGENCE_AND_EXPERT_SYSTEMS
P. 83
Unit 5: Artificial Intelligence Programming Language
An associative array in Java script is primarily an alternative notation for being able to reference Notes
an Object and so the above methods and property cannot be used with an associative array. As
the Array class is based on the Object class in Java script all of the methods and properties of the
Object class are also available to use with Arrays and function the same way for Arrays as they
do for Objects.
!
Caution Have proper knowledge of array and its applications.
Task Go through various websites for the iteration and recursion related with AI.
Self Assessment
State whether the following statements are true or false:
13. Arrays are extremely useful when you have several similar objects that you want to be
able to process the same way or to be able to process as a group rather than individually.
14. Concat(secondarray) adds an element to the end of the array.
15. Pop() removes the first element from the array making the array smaller.
5.6 Prolog and Other AI Programming Languages
In the 1970s, an alternative paradigm for symbolic computation and AI programming arose
from the success in the area of automatic theorem proving. Notably, the resolution proof
procedure developed by Robinson (1965) showed that formal logic, in particular predicate
calculus, could be used as a notation for defining algorithms and therefore, for performing
symbolic computations. In the early 1970s, Prolog (an acronym for Programming in Logic), the
first logical based programming language appeared. Basically, Prolog consists of a method for
specifying predicate calculus propositions and a restricted form of resolution. Programming in
Prolog consists of the specification of facts about objects and their relationships, and rules
specifying their logical relationships. Prolog programs are declarative collections of statements
about a problem because they do not specify how a result is to be computed but rather define
what the logical structure of a result should be. This is quite different from imperative and even
functional programming, in which the focus is on defining how a result is to be computed. Using
Prolog, programming can be done at a very abstract level quite close to the formal specification
of a problem. Prolog is still the most important logical programming language. There are a
number of commercial programming systems on the market which include modern
programming modules, i.e., compiler, debugger and visualization tools. Prolog has been used
successfully in a number of AI areas such as expert systems and natural language processing, but
also in such areas as relational database management systems or in education.
!
Caution A query is used to activate Prolog’s proof procedure.
Logically, a query corresponds to an unknown theorem. It has the same form as a fact. In order
to tell Prolog that a query has to be proven, the special query operator ? - is usually written in
front of the query. In the simple Prolog program introduced above, we have already seen an
informal description of how a query is used by Prolog. Prolog’s inference process consists of
two basic components: a search strategy and a unifier. The search strategy is used to search
LOVELY PROFESSIONAL UNIVERSITY 77