Abstraction: A Historical and Interdisciplinary Perspective Lorenza Saitta

advertisement
Proceedings of the Tenth Symposium on Abstraction, Reformulation, and Approximation
Abstraction: A Historical and Interdisciplinary Perspective
Lorenza Saitta
Università del Piemonte Orientale, DISIT
Viale Teresa Michel 11, 15121 Alessandria, Italy
saitta@mfn.unipmn.it
Abstraction is a pervasive activity in human perception, conceptualization and reasoning, and, as such, it enters the vocabulary of almost all disciplines, as well as the everyday
life. As a result, it does not exist, as for now, any definition that is able to cover all the meanings that abstraction
has acquired in the multiplicity of its utilizations. A brief
overview of the notion of abstraction, as it appears in a variety of fields, allows, if not an received view, at least some
widely shared ideas about what abstraction is, to emerge:
witnessed a decrease in theoretical approaches and an increase in domain-dependent use of abstraction. Then, today
we are faced by few partial theories and by a large spectrum of domain- or task-dependent approaches. A comparison among available theories highlights their strengths and
weaknesses, and shows that applications are rarely instantiations of these theories.
There is then a need to find a model of abstraction that, on
the one hand, allows some general properties to be proved,
and, on the other, can be uniformly applied to different domains and tasks without the need to reinvent each time abstraction operations. In order to attain this goal, the targeted
set of domains, and (especially) the targeted set of tasks,
must be circumscribed.
Starting from this perspective, we show that a way to build
up such a model is to link the idea of abstraction with that
of information reduction. Clearly this aspect of abstraction
is strictly related to the ideas of levels of details and of relevance. Considering information adds a quantitative dimension to the process of removing details or focusing on particular aspects of a problem. Information can be deleted or
simply hidden. We adopt the Abstract Data Type theorys notion of encapsulation, which hides details at one level of abstraction, but makes them available at a finer level. This is indeed necessary, because it is often the case that one needs to
quickly move up and down abstraction hierarchies in search
of an optimal level for the problem at hand. Another aspect
that the model must incorporate is a way to link this optimal abstraction level to the task which is being performed.
It is well known, in fact, that a very effective abstraction for
one task may be harmful for another. In the effort to find a
trade-off between theoretical aspects and applicability, we
consider just two ways in which information can be reduce,
namely, ignoring information or aggregating it.
Linking abstraction to information reduction has several
advantages:
• Abstraction is to take a distance from the physical world.
• Abstraction is (or is a close to) generalization.
• Abstraction is information hiding.
• Abstraction is to keep only relevant aspects.
• Abstraction is a kind of reformulation or approximation.
• Abstraction is a to change levels of detail.
All the above views have a common denominator: simplicity. Abstraction aims at simplifying representations, reducing cognitive load, limiting computational complexity,
easing solving a problem or performing a task. But simplicity does not come for free, because abstraction has a cost,
which must be balanced against the gains from its application.
Once a broad view of abstraction has been acquired, the
next step to a deeper understanding is to try to set some
boundaries around the notion, in such a way to distinguish
it, if possible, from cognate notions, such as generalization,
approximation, and reformulation. In particular, to uncover
commonalities and differences between abstraction and generalization is particularly interesting, because often abstraction and generalization have simply been equated. A comparative analysis shows that it is indeed useful to keep the
notions distinct.
The characteristic traits of abstraction can then be used to
build up a model. Notwithstanding abstractions widespread
use, most of the models have been proposed in Computer
Science (Abstract Data Types, and Databases), and in Artificial Intelligence (changes of representation). As the original intuition that general theories of abstraction could be
built up turned out to be incorrect, in recent years we have
• It provides formal tools for establishing links between abstraction and generalization, and for precisely contrasting
abstraction with approximation and reformulation.
• It allows (more importantly) a domain-independent set of
abstraction operators (represented as Abstract Procedural
Types) to be defined, at the same time providing guidelines to define domain-specific ones. (Some examples of
Copyright c 2013, Association for the Advancement of Artificial
Intelligence (www.aaai.org). All rights reserved.
6
definition and working of abstraction operators will be
given).
• The introduction of abstraction operators makes abstraction automatizable.
• It shows that previous model of abstractions can be cast
into a unified framework.
• It allows the problem of inconsistency in the abstract
space, which may emerge, to be reinterpreted and somewhat overcome.
• It paves the way to automatic learning of abstractions.
In introducing abstraction operators we took inspiration
from the definition of Design Patterns, a mechanism used in
Software Engineering for expressing object-oriented design
experience. Design patterns provide a common vocabulary,
reduce system complexity, and facilitate software reusing.
Abstraction operators are then built with the aim of recognizing repeating patterns that can be abstracted automatically in various contexts.
The utility of an “operational” approach to abstraction
will be illustrated through its impact in two fields: Machine
Learning and Complex Systems. Moreover, in the Complex
Systems field the notion of abstraction will be related to that
of simplicity, by applying well-known measures of simplicity (complexity) to the pairs (concrete state - abstract state).
We will show that the relation between models of abstraction
and measures of complexity is far from obvious.
Finally, a practical application of abstraction in a significant task (model-based diagnosis) will be described. Moreover, some tasks, where abstraction has not yet been applied
but could have a significant role, will be described.
Acknowledgments
The author acknowledges that this work has been done in
collaboration with Jean Daniel Zucker.
7
Download