Logic Programming, AI and Scientific
Knowledge Representation
Logic programming defines the computing paradigm
for a set of languages which in cotrast with imperative
languages define the problem at hand using standard mathematical
logic. Prolog, the best known example, is based on
a subset of First Order Logic. Scientific Knowledge Representation
is the field of AI which deals with encoding mathematical
scientific knowledge. Mathematical formalism allows the
definition of physical theories using formal languages (see
for example how the gravitational theory of Newton is described
using the mathematical formalism of Einstein's General Theory
of Relativity in K J Dryllerakis, Newton-Cartan
Space Time, MSc Thesis, Imperial College, 1990).
Logic Programming languages are very well suited for
Knowledge Representation and problem solving. Unfortunatelly
in the domain of Scientific Knowledge Representation were
a lot of the information is encoded in mathematical terms,
traditional programming languages cannot cope. One solution
may be to restrict ourselves to qualititative reasoning
(see K J Dryllerakis, Qualitative
Reasoning about Physical Systems, MSc Thesis, Imperial
College 1991). Another solution involves the use of the Contraint
Logic Programming paradigm which introduces constraint domains
in an LP language envrionemnt. Those domains provide direct
computation over one fixed domain (e.g. the real numbers).
The language CLP(R) which is based on the domain of
real numbers and can be extended to handle meta-level mechanisms
like constructive negation (see the article K J Dryllerakis,
Residual
SLDNF in CLP languages, 1992 or the source
code). It has been shown that CLP languages may be better
suited for representing the Event Calculus knowledge representation
scheme (as developed by Prof Kowalski et al.) than prolog
(see the article K J Dryllerakis, Results
form implementing the Event Calculus in CLP(R),
1992) or download the source
code).
top of page
Domain Logic Programming and the
language Euclid
Domain Logic Programming
is an extension of Constraint Logic Programming allowing
handling of multiple domains. It constitutes a logical framework
for Knowledge Representation and Problem Solving in domains
involving mainly mathematics (Physics, Engineering, etc.).
You may read more about Domain Logic Programming, its theoretical
foundations and the formal definition of the programming
language scheme in my PhD
Thesis (Imperial College). The language Euclid (see
the online presentation Euclid
the Language, 1994) is a direct implementation
of the scheme. The current prototype was written in Quintus
Prolog, C and uses Mathematica and CLP(R) as external
domain solvers under SunOS 4.0.1. Euclid, currently offers
a wide range of domains
and more may be added along the way. A good way to understand
Euclid is through examples.
Systems of interacting components (a problem frequently
encountered in Logic Programming circles) can be easily
solved using Euclid (see K J Dryllerakis, Representing
Systems of Interacting Components in Euclid, 1996)
top of page
Electronic
Typesetting
Donal Knuth has provided the Scientific Community
with a set of high quality Typesetting tools: TeX,
a formating language and METAFont a font description
language. These were complimented by Leslie Lamport
by LaTeX a collection of TeX macros which allows
the structured description of documents. The tools were
originally designed to handle the English language and internationalisation
features were late comers.
GreekTeX provides a
package which extends TeX and LaTeX to handle the greek
language. It comprises of a set of fonts (based on work
by Sylvio Levi), a set of hyphenation patterns and
a set of macro tools to help typesetting of greek scientific
texts. The package is available from the CTAN archive network.
Information on GreekTeX can be found in Dr. D. Filippou's
article "Typesetting
Greek Texts by TeX and LaTeX - a summary of tools available"
(Jan 29, 1991) [
,TeX,plain
text]
TeX typesetting in Unix environments required numerous
iterations of transformations, compilations and conversions,
especially for those dealing with Greek texts. The dotex
utility script, written
in BASH (GNU's Bourne Again Shell) permits a clever handling
of TeX files by performing a series of operations until
the user is presented with a final copy of a dvi or postscript
file. The tools runs on all flavours of Unix and under Windows
NT using the Cygnus Port of the bash shell. A description
of the tool can be found in the article "Dr.
K J Dryllerakis, TeX and Friends" published
in the serial Το Εύτυπον (No 2, April 1999 ISSN 1108-4170),
the main publication of the Greek
TeX's Friends (EFT)
.
top of page
Thematic Libraries - MARC format.
Thematic Libraries.
In Greece, the notion of a local thematic library
was established by the work of Legrand "Bibliographie
Ionienne" which was published by Pernot in 1910. In
its conception it represents a collection of books about
the Ioanian Islands. Pernot has defined a set of rules to
decide which books to include in the collection and these
rules are also used today by those building local thematic
libraries.
The Island of Crete, the southernmost piece of land of Europe
has been much visited and loved in the past 4 centuries.
It has also been the place of fightings and sieges (like
the 25 year siege of its capital Candia which in 1669 surrendered
the island to the Ottomans), upheavals and uprisings against
the ocasional occupiers of the island. Books on the island
of Crete can be found as early as 1524 and include war descriptions
as well as travelling experiences. Yet no comprehensive
bilbiographical guide has been published to date. The currently
existing bibliographical guides on the island of Crete have
focused mostly on books published in the greek language.
The salient general bibliographical guides for Crete are:
- Εμμανουήλ Β. Σπαχής, Συμβολή εις την
Κρητικήν Βιβλιογραφία 1554-1966 (Αθήνα 1966)
- Γ.Π. Εκκεκάκης, Τα Κρητικά Βιβλία,
Τομ. Β. 1864 - 1913 (Ρέθυμνο 1990)
The article "K J Dryllerakis,
A contribution to Cretan Bibliography between the years
1524-1870" (pre-print) has been created by
direct consultation of catalogues from major Libraries around
the globe. Certain libraries already provide electronic
access to their catalogues. Advances in the IT organisation
of libraries should permit a much more complete compilation
of bibliographical guide in the near future.
Handling MARC Bibliographical Lists
MARC 21 is a standard used by libraries worldwide in
order to describe bibliographic records (see the Library
of Congress MARC pages
).
Despite the fact that the format has been created in the
60s and was optimised for sequential access media, it is
still much in use today and libraries like the Library of
Congress will provide bibliography researchers with a MARC
encoded file. Parsing MARC records can be both tedious and
annoying if you want to import data in your own bibliographical
system. The MARCRecord parse class is a set of object definitions
and functions written in VBA (Visual Basic for Applications)
that will parse the record for you (see the source
code).
Quintus Prolog is a trademark of Quintus Corporation.
CLP(R) is copyrighted by IBM Watson Research Centre.