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