Lecture #2
- Database Perspectives on Data Mining (1)
Theme: Logic and Databases, Deductive Databases
Thursday, January 15, 1998
Reading Materials:
- For a good introduction to propositional, predicate logic and the resolution method
of theorem proving, look at E. Rich and K. Knight, Aritifical Intelligence, Chapter 5,
Mc Graw Hill.
- For an overview of what deductive database systems and how they relate to conventional database systems,
look at S. Ceri and R. Ramakrishnan, "Rules in Database Systems", The Computer Science and Engineering
Handbook, A.B. Tucker (Ed.), pages 1142-1157, CRC Press, ACM Publications.
- Applications of data mining to relational database tables (see S. Dzeroski, Inductive
Logic Programming and Knowledge Discovery in Databases, Advances in Knowledge Discovery and Data Mining,
U.M. Fayyad, G. Piatetsky-Shapiro, P. Smyth and R. Uthurusamy (Eds.), pages 117-119, AAAI/MIT Press.)
- Here's a site with tons and tons of stuff about PROLOG.
- More Information about the PROGOL system.
Advanced Reading Materials
(for more rigorous discussions of the interplay between databases,
logic programming and artificial intelligence):
- J. Minker, H. Gallaire and J.-M.Nicholas, Logic and Databases: A Deductive Approach,
ACM Computing Surveys, 16(2), pages 153-185, 1984.
- R. Ramakrishnan and J.D. Ullman, A Survey of Deductive Database Systems, The Journal of
Logic Programming, 23(2): 125-149, 1995.
Short Summary (from the above papers)
The most popular model of database management systems is the relational model (RDBMSs),
exemplified by systems such as ORACLE, Ingres etc. One of the main reasons for the success
of this model is the fact that RDBMSs are declarative, that is they allow the user
to say what is needed, instead of specifying how exactly to perform
the desired operation. A natural extension of the relational model is the logical
model, which gives rise to systems known as deductive database systems. Another way
of thinking of deductive database management systems is as an extension of the logic programming
concept of languages like PROLOG. (While PROLOG has a "small-world" view,
deductive database management systems embody a "large-world" view)
To better understand about PROLOG and its declarative nature, we need to review propositional
logic, predicate logic and the resolution method of theorem proving.
The second part of the lecture focused on the step beyond "conventional" deductive database systems.
Rather than creating systems that can prove or verify theorems, we wish to perform "mining" to
generate potential theorems. The technique to achieve this is called (obviously!) "inductive
logic programming" (ILP). The phrase "logic programming" emphasizes that the representation language
used to perform data mining is the first order predicate logic. The word "inductive" emphasizes
that the way to determine new concept definitions is by induction, i.e., by way of labeled positive
and negative examples of the concept. Thus ILP can be considered to be a very natural extension
of traditional deductive database systems. Currently, ILP products have not found mainstream
acceptance into database management systems; though these will not be long in coming.
An example of an ILP system is PROGOL which implements "inverse resolution", which as the name indicates
includes a generalization step to aid in the determination of novel concepts.