186
Mathematical Aspects of Logic Programming Semantics
integration, known as neural-symbolic integration, with a view to combining
the best of both styles of reasoning within a single system.
5
It will be worth contrasting a little further these two, very different, computing paradigms in order to appreciate better the issues involved in their
integration. First, symbolic systems are usually based on a logic of one type
or another. They possess a declarative semantics, and knowledge can be modelled in them in a human-like fashion. Thus, their use makes it easy to process
knowledge and also to handle structured objects. Unfortunately, such systems are hard to refine from real world data, which usually is noisy, and
they are hard to design if no expert knowledge is available. They are essentially discrete models of computation and have been successfully used in many
applications. On the other hand, artificial neural networks are a powerful approach to machine learning, inspired by biology and neuroscience. They are
trainable from raw data, even if the data is noisy and inconsistent, and thus
are capable of adapting to new situations. They are, furthermore, robust in
the sense that they degrade gracefully: even if parts of the system fail, the
system still works. Unfortunately, they do not possess a declarative semantics
and have difficulties in handling structured data. Available (symbolic) background knowledge, which exists in many application domains, is also difficult
to use in such systems. Being modelled on natural phenomena, connectionist
systems are basically continuous models of computation, and they also have
been used successfully in many applications.
Figure 7.1 shows the Neural-Symbolic Cycle which depicts, in general
terms, our approach to the process of integration followed here. Starting from
a symbolic system, which is both readable and writable by humans, we create a neural or connectionist system into which the symbolic knowledge is
embedded. The neural system can then be trained using powerful connectionist training methods, which allows modification of the rules by generalization
from raw data. If this learned or refined knowledge is later extracted from the
neural system, we obtain a readable version of the acquired knowledge.
6 In
fact, it is our intention to show in this chapter how to embed knowledge about
semantic operators into connectionist systems. More specifically, we show how
semantic operators of propositional logic programs P may be computed exactly by neural systems and how these same operators may be approximated
in the case of first-order programs. One consequence of this is that a neural
system acquires a sort of semantics. Another consequence is that this chapter
may be viewed as providing a model of computation for the concepts of the
previous chapters, and it deals to a certain extent with the implementation
aspects of this model. This chapter therefore is a natural continuation of the
earlier ones and gives an example of the use and application of certain of the
methods we have developed. Indeed, the notion of approximation just men5 See [Bader and Hitzler, 2005, Hammer and Hitzler, 2007] for overviews of the area.
6 We do not deal with knowledge extraction here, but instead refer the reader to the
papers [Jacobsson, 2005, Bader and Hitzler, 2005, Lehmann et al., 2010] for pointers to the
literature.
Mathematical Aspects of Logic Programming Semantics
integration, known as neural-symbolic integration, with a view to combining
the best of both styles of reasoning within a single system.
5
It will be worth contrasting a little further these two, very different, computing paradigms in order to appreciate better the issues involved in their
integration. First, symbolic systems are usually based on a logic of one type
or another. They possess a declarative semantics, and knowledge can be modelled in them in a human-like fashion. Thus, their use makes it easy to process
knowledge and also to handle structured objects. Unfortunately, such systems are hard to refine from real world data, which usually is noisy, and
they are hard to design if no expert knowledge is available. They are essentially discrete models of computation and have been successfully used in many
applications. On the other hand, artificial neural networks are a powerful approach to machine learning, inspired by biology and neuroscience. They are
trainable from raw data, even if the data is noisy and inconsistent, and thus
are capable of adapting to new situations. They are, furthermore, robust in
the sense that they degrade gracefully: even if parts of the system fail, the
system still works. Unfortunately, they do not possess a declarative semantics
and have difficulties in handling structured data. Available (symbolic) background knowledge, which exists in many application domains, is also difficult
to use in such systems. Being modelled on natural phenomena, connectionist
systems are basically continuous models of computation, and they also have
been used successfully in many applications.
Figure 7.1 shows the Neural-Symbolic Cycle which depicts, in general
terms, our approach to the process of integration followed here. Starting from
a symbolic system, which is both readable and writable by humans, we create a neural or connectionist system into which the symbolic knowledge is
embedded. The neural system can then be trained using powerful connectionist training methods, which allows modification of the rules by generalization
from raw data. If this learned or refined knowledge is later extracted from the
neural system, we obtain a readable version of the acquired knowledge.
6 In
fact, it is our intention to show in this chapter how to embed knowledge about
semantic operators into connectionist systems. More specifically, we show how
semantic operators of propositional logic programs P may be computed exactly by neural systems and how these same operators may be approximated
in the case of first-order programs. One consequence of this is that a neural
system acquires a sort of semantics. Another consequence is that this chapter
may be viewed as providing a model of computation for the concepts of the
previous chapters, and it deals to a certain extent with the implementation
aspects of this model. This chapter therefore is a natural continuation of the
earlier ones and gives an example of the use and application of certain of the
methods we have developed. Indeed, the notion of approximation just men5 See [Bader and Hitzler, 2005, Hammer and Hitzler, 2007] for overviews of the area.
6 We do not deal with knowledge extraction here, but instead refer the reader to the
papers [Jacobsson, 2005, Bader and Hitzler, 2005, Lehmann et al., 2010] for pointers to the
literature.
