Koppula, Akshay2017-11-272017-11-272015-07https://hdl.handle.net/11299/191264University of Minnesota M.S. thesis.July 2015. Major: Computer Science. Advisor: Richard Maclin. 1 computer file (PDF); vii, 70 pages.Inductive logic programming (ILP) is a research area formed at the intersection of machine learning and logic programming. Given a set of background knowledge as well as positive and negative examples of a concept, an ILP system attempts to learn rules that cover all the positive examples and none of the negative examples by using the background knowledge. Over the years, ILP is being used extensively in medical applications. Existing ILP systems are implemented in Prolog, using first-order logic. But, Prolog does not integrate well with database systems, where a lot of the data of interest is stored. Prolog is also not often used in business applications. This thesis presents a novel approach of storing the facts (background knowledge, examples) required for ILP in databases and using Java for easy access and retrieval of the stored knowledge. Since most of the ILP machine learning data sets can be stored easily in databases, this approach provides an easier to use technique. Facts are stored in the form of tables in database and rules are stored as database views by using a database join on the multiple predicates in a fact. A Sequential covering algorithm that uses the best first search approach to learn rules for ILP problems is implemented in this thesis. The results obtained on two real-world test data sets by using this approach are compared with traditional systems. The accuracy of the system presented in this thesis is on par with the accuracy of the traditional systems. These results are very assuring and the system provides an easy-to-use approach for the ILP users.enDatabasesILPInductive Logic ProgrammingMachine LearningConducting Inductive Logic Programming Directly in Database Management SystemsThesis or Dissertation