# ARKmatrix

From ARK

## Contents

# Harris Matrix Software

This page summarises L - P : Archaeology's ongoing work on Harris Matrix software.

- Our ARK Matrix software: https://gitlab.com/arklab/ArkMatrix
- Our survey of the State of the Art in 2015: http://archaeologic.al/wiki/Harris_Matrix
- The Matrix Reloaded - CAA UK 2016 presentation by John Layt of L - P : Archaeology https://www.youtube.com/watch?v=geLD7Fo6crU

## ARK Matrix Software

High-level sketch of docs - a Work-in-Progress!

### Strat Units

Unit Attributes

- Site Code
- Unit ID
- Label
- Class [Context, Subgroup, Group, Landuse]
- Type [Deposit, Fill, Cut, Masonry, Skeleton, Timber]
- Status [Allocated, Assigned, Void]
- Aggregate Unit
- Phase
- Period

### Strat Relations

- Above / Below (directed graph)
- Same-As (undirected graph)
- Contemporary With (undirected graph) [REMOVE?]

### Rules / Heuristics

Any Relations:

- Cannot be between same Unit
- Both Units must be same Class

Above/Below Relations:

- Adding relation should not create cycles (no intersection between successors and predecessors)

Same-As Relations:

- Both Units must be Context class
- Adding relation should not create cycles (no intersection between successors and predecessors)
- Both Units must have the same Aggregate Unit if set
- Both Units must have the same Period / Phase if set

### Processing

Load

Validate

- Validate Units
- Validate Above/Below relations
- Validate Same-as Units

Resolve

- For each Same-As relationship add all Above/Below relations to each Unit

Validate

Reduce

- Remove all redundant Above/Below relations (transitive reduction)

Aggregate

- Validate all Context Units have an Aggregate Unit
- For each Context Above/Below relation where the Aggregate Unit is different between the Above and Below Units, add an Above/Below relation between the Aggregate Units to the Subgroup matrix
- Reduce the Subgroup matrix
- Validate all Subgroup Units have an Aggregate Unit
- For each Subgroup Above/Below relation where the Aggregate Unit is different between the Above and Below Units, add an Above/Below relation between the Aggregate Units to the Group matrix
- Reduce the Group matrix