160 likes | 295 Views
Formal Knowledge Representation and Automated Reasoning for the Study of Archaeological Stratigraphy. M. Cattani, G. Mantegari , A. Mosca, M. Palmonari Department of Archaeology, University of Bologna (Italy) Department of Informatics, Systems and Communication,
E N D
Formal Knowledge Representation and Automated Reasoningfor the Study of Archaeological Stratigraphy M. Cattani, G. Mantegari, A. Mosca, M. Palmonari Department of Archaeology, University of Bologna (Italy) Department of Informatics, Systems and Communication, University of Milan Bicocca (Italy)
Computerized stratigraphy has a long research history and brought to the creation of some succesfull softwares (e.g. ArchEd, Stratify) which can guarantee a quite satisfiable management of the stratigraphic sequences. • Some problems concern: • the difficulty to manage large/huge datasets • the difficulty to integrate a digital matrix representation with other softwares (e.g. GIS) • the difficulty to handle multilinear stratigraphic sequences • the difficulty to manage uncertain or insufficient knowledge • ... but...this is half of the problem... At a more general level, which concerns the model itself, some other issues can be found. For example the Harris model has been criticized from different points of view (see the Harris-Carver debate) but it still represent the principal methology for modelling and representing the stratigraphic sequence.
The project is at the very beginning The project aims at proposing a new approach for the study of the archaeological stratigrafy by means of Computer Science techniques and tools • Our main objective, in this phase, are to investigate: • the possibility of modelling the stratigraphy by means offormal knowledge representation • the possibility of performing automated reasoning with respect to: • the spatial component • the temporal component We are not interested, in this phase, to the visualization of the stratigraphic sequence. In our vision, the graphical representation is just the last step and, provided the logical model is adequate and the automatic reasoning works well, it is a minor problem. Of course we aim at realizing a software or a set of tools, butat the moment we focus mainly on the creation of a fomal model rather than on the specification of the software requirements.
The DLV System • There are different systems which can be used for reasoning with programs of A-Prolog. The choice of the system normally depends on the form of the program and the type of queries one wants to be answered. • In recent years however a number of very efficient algorithms were developed to reason with programs with “finite Herbrand universes”, and a number of modern A-Prolog systems are now available. One of the best known systems is DLV. • DLV can be seen as a logic programming system or as a deductive database system. In order to be consistent with deductive database terminology, the input is separated into the extensional database (EDB), which is a collection of facts, and the intensional database (IDB), which is used to deduce facts.
Variables (‘Terms’) • X, Y, Z, ... • Constants (‘Terms’) • us1, us2, us3, ... • Unary Predicates (‘Atoms’) • cutUnit(X), trench(X), wall(X), ... • Binary Predicates (‘Atoms’) • cover(X,Y), fill(X,Y), cut(X,Y), ... • Positive & Negative Literals (‘Atoms’ or ‘Classically Negated Atoms’) • wall(X), cut(X,Y),..., cover(X,Y), fill(X,Y), ... • Ground Literals • cover(u6,u3), filledBy(u4,u8), ... • naf-Literals (‘Atoms’ or ‘Atoms preceeded by not’) • ..., not cover(X,Y), not fill(X,Y), ... • Rules • dirPostTo(Z,Y) :- equalTo(X,Y),cover(Z,X). • contemporary(X,Y) :- equalTo(X,Y). • Constraints • :- attachTo(X,X). • Facts • equal(X,X). • cover(u6,u3). A x i o m A l p h a b e t
Mixed axioms & multiple model generation posteriorTo(Y,W) :- leanOn(X,Y),leanOn(X,Z),cover(Y,Z),cover(X,W),leanOn(W,Z). posteriorTo(X,W) :- leanOn(X,Y),leanOn(Z,W),cover(X,Z),cover(Y,W). posteriorTo(Y,Z) :- leanOn(X,Y),leanOn(Z,W),cover(X,Z),cover(Y,W). posteriorTo(Z,Y) :- contemporary(X,Y),posteriorTo(Z,X). posteriorTo(Z,X) :- contemporary(X,Y),posteriorTo(Z,Y). dirPostTo(Z,Y) :- equalTo(X,Y),cover(Z,X). dirPostTo(Z,X) :- equalTo(X,Y),cover(Z,Y). -contemporary(Z,Y) :- equalTo(X,Y),posteriorTo(X,Z). -contemporary(Z,X) :- equalTo(X,Y),posteriorTo(Y,Z). contemporary(X,Y) v posteriorTo(X,Y) v posteriorTo(Y,X) :- us(X),us(Y),not posteriorTo(X,Y),not -posterior(X,Y). Primitive temporal relationships Primitive spatial relationships -cover(Y,X) :- cover(X,Y). coveredBy(X,Y) :- cover(Y,X). cover(X,Y) :- coveredBy(Y,X). -cut(Y,X) :- cut(X,Y). cuttedBy(X,Y) :- cut(Y,X). cut(X,Y) :- cuttedBy(Y,X). -fill(Y,X) :- fill(X,Y). filledBy(X,Y) :- fill(Y,X). fill(X,Y) :- filledBy(Y,X). :- fill(X,Y),not slash(Y). -leanOn(Y,X) :- leanOn(X,Y). hasLeaned(Y,X) :- leanOn(X,Y). leanOn(Y,X) :- hasLeaned(X,Y). :- attachTo(X,X). attachTo(Y,X) :- attachTo(X,Y). equalTo(Y,X) :- equalTo(X,Y). equalTo(X,Z) :- equalTo(X,Y),equalTo(Y,Z). :- dirPostTo(X,X). -dirPostTo(X,Y) :- dirPostTo(Y,X). :- dirAntTo(X,X). -dirAntTo(X,Y) :- dirAntTo(Y,X). dirAntTo(Y,X) :- dirPostTo(X,Y). posteriorTo(X,Y) :- dirPostTo(X,Y). posteriorTo(X,Y) :- posteriorTo(X,Z),dirPostTo(Z,Y). -posteriorTo(X,Y) :- posteriorTo(Y,X). anteriorTo(Y,X) :- posteriorTo(X,Y). contemporary(X,Y) :- contemporary(Y,X). contemporary(X,Z) :- contemporary(X,Y),contemporary(Y,Z). Spatial -> Temporal mapping dirPostTo(X,Y) :- cover(X,Y). dirPostTo(X,Y) :- cut(X,Y). dirPostTo(X,Y) :- fill(X,Y). dirPostTo(X,Y) :- leanOn(X,Y). contemporary(X,Y) :- attachTo(X,Y). contemporary(X,Y) :- equalTo(X,Y). -contemporary(X,Y) :- -equalTo(X,Y).
txt facts ODBC JDBC txt axioms & rules inferenced chronological models DLV txt ... cover(u622,u613). cover(u622,u618). cover(u802,u613). cover(u803,u613). coveredBy(u414,u433). coveredBy(u414,u46). coveredBy(u415,u414). coveredBy(u419,u414). coveredBy(u419,u415). coveredBy(u419,u450). coveredBy(u425,u428). coveredBy(u427,u419). ... MS accessdb ... posteriorTo(u414,u415), posteriorTo(u414,u419), posteriorTo(u414,u450), posteriorTo(u414,u612), posteriorTo(u414,u427), posteriorTo(u414,u428), posteriorTo(u414,u439), posteriorTo(u414,u452), posteriorTo(u414,u453), posteriorTo(u414,u605), posteriorTo(u414,u609) ... ... -cover(Y,X) :- cover(X,Y). coveredBy(X,Y) :- cover(Y,X). cover(X,Y) :- coveredBy(Y,X). ... equalTo(Y,X) :- equalTo(X,Y). equalTo(X,Z) :- equalTo(X,Y),equalTo(Y,Z). ...
Lack of knowledge generates multiple models DLV [build BEN/Oct 11 2007 gcc 3.4.5 (mingw special)] {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us2,us5), posteriorTo(us3,us5), posteriorTo(us3,us4), posteriorTo(us4,us5), posteriorTo(us2,us3), posteriorTo(us2,us4}} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us2,us5), posteriorTo(us3,us5), posteriorTo(us3,us4), posteriorTo(us4,us5), posteriorTo(us3,us2), posteriorTo(us4,us2)} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us2,us5), posteriorTo(us3,us5), posteriorTo(us3,us4), posteriorTo(us4,us5), posteriorTo(us3,us2), posteriorTo(us2,us4)} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us2,us5), posteriorTo(us3,us5), posteriorTo(us3,us4), posteriorTo(us4,us5), posteriorTo(us3,us2), contemporary(us4,us2), contemporary(us2,us4)} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us2,us5), posteriorTo(us3,us5), posteriorTo(us3,us4), posteriorTo(us4,us5), contemporary(us3,us2), posteriorTo(us2,us4), contemporary(us2,us3)} (A) (B) (C) (D) (E)
contemporary(X,Y) :- equalTo(X,Y). -contemporary(X,Y) :- -equalTo(X,Y). Ontological SpecificationS contemporary(X,Y) OR posteriorTo(X,Y) OR posteriorTo(Y,X) :- us(X),us(Y), not posteriorTo(X,Y), not -posteriorTo(X,Y). dirPostTo(Z,X) :- fill(X,Y),fill(Z,Y),wall(X),trench(Z). Managing the uncertainty: prune the models! Adding new information to the program may force a reasoner associated with it to withdraw its previous conclusions about the world Archeometrical SpecificationS contemporary(X,Y) OR posteriorTo(X,Y) OR posteriorTo(Y,X) :- us(X),us(Y), not posteriorTo(X,Y), not -posteriorTo(X,Y).
DATA UPDATE cover(us1,us2). cover(us1,us3). fill(us2,us4). fill(us3,us4). equalTo(us2,us4). DLV [build BEN/Oct 11 2007 gcc 3.4.5 (mingw special)] {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us1,us4), posteriorTo(us2,us4), posteriorTo(us3,us4), posteriorTo(us2,us3)} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us1,us4), posteriorTo(us2,us4), posteriorTo(us3,us4), posteriorTo(us3,us2)} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us1,us4), posteriorTo(us2,us4), posteriorTo(us3,us4), contemporary(us3,us2), contemporary(us2,us3)} DLV [build BEN/Oct 11 2007 gcc 3.4.5 (mingw special)] {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us1,us4), posteriorTo(us2,us4), posteriorTo(us3,us4), contemporary(us3,us2), contemporary(us2,us3)} Archeometrical SpecS DATA cover(us1,us2). cover(us1,us3). fill(us2,us4). fill(us3,us4).
DATA UPDATE cover(us1,us2). cover(us1,us3). fill(us2,us4). fill(us3,us4). -equalTo(us2,us4). DLV [build BEN/Oct 11 2007 gcc 3.4.5 (mingw special)] {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us1,us4), posteriorTo(us2,us4), posteriorTo(us3,us4), posteriorTo(us2,us3)} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us1,us4), posteriorTo(us2,us4), posteriorTo(us3,us4), posteriorTo(us3,us2)} DLV [build BEN/Oct 11 2007 gcc 3.4.5 (mingw special)] {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us1,us4), posteriorTo(us2,us4), posteriorTo(us3,us4), posteriorTo(us2,us3)} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us1,us4), posteriorTo(us2,us4), posteriorTo(us3,us4), posteriorTo(us3,us2)} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us1,us4), posteriorTo(us2,us4), posteriorTo(us3,us4), contemporary(us3,us2), contemporary(us2,us3)} Archeometrical SpecS DATA cover(us1,us2). cover(us1,us3). fill(us2,us4). fill(us3,us4).
DATA UPDATE cover(us1,us2). cover(us1,us3). fill(us2,us4). fill(us3,us4). wall(us2). trench(us3). DLV [build BEN/Oct 11 2007 gcc 3.4.5 (mingw special)] {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us1,us4), posteriorTo(us2,us4), posteriorTo(us3,us4), posteriorTo(us2,us3)} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us1,us4), posteriorTo(us2,us4), posteriorTo(us3,us4), posteriorTo(us3,us2)} {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us1,us4), posteriorTo(us2,us4), posteriorTo(us3,us4), contemporary(us3,us2), contemporary(us2,us3)} DLV [build BEN/Oct 11 2007 gcc 3.4.5 (mingw special)] {posteriorTo(us1,us2), posteriorTo(us1,us3), posteriorTo(us1,us4), posteriorTo(us2,us4), posteriorTo(us3,us4), posteriorTo(us3,us2)} Ontological SpecS DATA cover(us1,us2). cover(us1,us3). fill(us2,us4). fill(us3,us4).
DLV [build BEN/Oct 11 2007 gcc 3.4.5 (mingw special)] {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u5,u4), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u10,u11), linPostTo(u5,u1), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u9,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u4,u9), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u10,u11), linPostTo(u5,u1), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u10,u11), linPostTo(u5,u1)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u5,u1)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u10,u9), contemporary(u11,u11), contemporary(u9,u10), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u10,u11), linPostTo(u5,u1)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u10,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u1,u10), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u5,u4), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u5,u1), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u1), contemporary(u1,u4), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u5,u1), linPostTo(u5,u4), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u5,u4), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u8,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u4,u8), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u10,u11), linPostTo(u5,u1), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u8,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u4,u8), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u5,u1)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u8,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u10,u9), contemporary(u11,u11), contemporary(u9,u10), contemporary(u10,u10), contemporary(u5,u5), contemporary(u4,u8), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u10,u11), linPostTo(u5,u1), linPostTo(u8,u9)} ... generates 41 admissible models! A simple Harris’s example... cover(u6,u1). cover(u6,u4). cover(u6,u2). cover(u6,u3). cover(u2,u12). cover(u3,u12). cover(u1,u7). cover(u9,u11). cover(u4,u10). cover(u10,u11). cut(u5,u1). cut(u5,u9). cut(u5,u11). cut(u5,u10). cut(u5,u4). cut(u8,u9). fill(u2,u5). fill(u3,u5). fill(u12,u5). fill(u7,u8). wall(u2). trench(u3).
DLV [build BEN/Oct 11 2007 gcc 3.4.5 (mingw special)] {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u5,u4), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u10,u11), linPostTo(u5,u1), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u9,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u4,u9), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u10,u11), linPostTo(u5,u1), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u10,u11), linPostTo(u5,u1)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u5,u1)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u10,u9), contemporary(u11,u11), contemporary(u9,u10), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u10,u11), linPostTo(u5,u1)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u10,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u1,u10), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u5,u4), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u5,u1), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u1), contemporary(u1,u4), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u5,u1), linPostTo(u5,u4), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u5,u4), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u8,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u4,u8), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u10,u11), linPostTo(u5,u1), linPostTo(u8,u9)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u8,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u11,u11), contemporary(u10,u10), contemporary(u5,u5), contemporary(u4,u8), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u5,u1)} {contemporary(u6,u6), contemporary(u1,u1), contemporary(u4,u4), contemporary(u8,u4), contemporary(u2,u2), contemporary(u3,u3), contemporary(u12,u12), contemporary(u7,u7), contemporary(u9,u9), contemporary(u10,u9), contemporary(u11,u11), contemporary(u9,u10), contemporary(u10,u10), contemporary(u5,u5), contemporary(u4,u8), contemporary(u8,u8), linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u10,u11), linPostTo(u5,u1), linPostTo(u8,u9)} DLV [build BEN/Oct 11 2007 gcc 3.4.5 (mingw special)] {linPostTo(u6,u3), linPostTo(u1,u7), linPostTo(u4,u10), linPostTo(u2,u12), linPostTo(u3,u2), linPostTo(u12,u5), linPostTo(u7,u8), linPostTo(u9,u11), linPostTo(u10,u11), linPostTo(u5,u1), linPostTo(u5,u4), linPostTo(u8,u9), contemporary(u1,u4), contemporary(u9,u10)} The pruned Harris’s example equalTo(u1,u4). equalTo(u9,u10).
gif dot jpeg GraphViz graph file png ps svg vrml ... GraphViz visualization txt inferenced chronological models digraph matrix {u1 -> u5; u1 -> u3; u1 -> u4; u5 -> u15; u3 -> u12; u4 -> u8; u4 -> u25; u12 -> u20; u20 -> u22; u9 -> u12; u22 -> u39; u39 -> u40; u15 -> u18; u18 -> u12; u90 -> u94; u90 -> u91; u107 -> u112; u107 -> u130; u107 -> u120; u138 -> u140; u63 -> u80; u43 -> u59; u44 -> u80; u47 -> u49; u41 -> u74; u42 -> u70; u59 -> u61; u80 -> u87; u61 -> u76; u76 -> u89; u70 -> u82; u82 -> u88; u88 -> u90; u74 -> u84; u84 -> u86; u86 -> u90; u87 -> u90; u89 -> u90; u92 -> u107; u49 -> u55; u55 -> u83; u83 -> u90; u93 -> u99; u99 -> u100; u100 -> u107; u97 -> u99; u94 -> u99; u91 -> u104; u104 -> u107; u112 -> u138; u130 -> u134; u120 -> u125; u134 -> u138; u125 -> u138}
Conclusions and future work To manage uncertaintyis not just to simplify the model because it is easier to manage it To manage uncertainty means also to try to go beyond incomplete or uncertain knowledge We think that to face the problem of archaeological stratigraphy in its entirety we have to start from the Harris model but to consider developing and managing other models. Commonsense reasoning is the way archaeologists reason when recording stratigraphy We aim at testing DLV on large datasets (up to 10.000 units) with a particular regard to uncertain situations