|Modelling kin links between people
The modelling of genealogies is an ideal task for computer assistance. Genealogical applications are among the earliest applications of computers to ethnographic data attempted by anthropologists, dating from Kunstadter's work on the interaction of demographic structure and marriage preference (Kunstadter 1963) and more explicitly by Coult and Randolph's discussion of computer-based methods and models of genealogical space (Coult and Randolph 1965), and their further application of these to problems of Bedouin kinship and social organisation (Randolph and Coult 1968).
Despite this initial interest, there is no generally available computer application for modelling given genealogical links in 'real' populations. There is commercial software for assisting with the compilation of 'family trees', but these generally fall into the domain of programs for data entry and retrieval. Where some calculation of relationships is performed, these are under assumptions which are unacceptable to most anthropologists. Anthropologists have written programs for this purpose, but most of these are unpublished, and many of these contain assumptions which are specific to their field material, such as tracing only patrilineal links. Ryan (1988) has written a program which determine links in a very general and configurable manner in conjunction with genealogical diagramming (§ 6.5), but it is not well suited to large populations (>300) due to constraints of diagramming. Findler and McKinzie (1969; 1970) developed some programs for tracing genealogical links, but there are some serious problems with using them on non-ideal data which contains ambiguity or missing data, multiple spouses or missing parents. Gilbert (1971), who wrote the programs used by he and Hammel in their early work on demographic interactions with marriage choice (Gilbert and Hammel 1966), offers some useful advice and speculation on the subject, but concludes that the problem is rather difficult for a general solution (Gilbert 1971:136); there is no one way to reckon genealogical relations which will satisfy the varying research needs of anthropologists. Instead he suggests that in order to gain the flexibility anthropologists require they must become programmers (ibid: 137).
Specifying the genealogical 'engine'
Most of this prior work has employed the genealogical 'engine' in conjunction with other computer-based analytic components. There are, however, occasions where the simple ability to establish the kinship links between individuals or finding the individuals who stand in a specific relationship or set of relationships to ego would be useful in the context of manual analysis. There are also potential computer applications which would be useful in the collection and maintenance of genealogical information in the field (Weinberg and Weinberg_2 1972; Chagnon 1974; Davis 1984b). For example:
- translating an ego specific genealogy to a general, normalised, format.
- consolidating two or more egocentric genealogies to a normalised form.
- checking consistency of two or more egocentric genealogies which overlap.
- figuring genealogical links using different descent criteria
- selectively including, excluding or limiting different kinds of links in terms of generation, affinity or collaterality.
- evaluating alternative structures based on ambiguous data, such as vital events records.
- translating terminological notation to 'etic' notation and vice versa.
Each of these auxiliary operations depend on the capacity to establish links between individuals. As suggested by Gilbert (1971:135-137), there is no general 'solution' to the problem of establishing links, simply because genealogical analysis is based on a methodology, not a procedure. The method has changed over time to reflect the experience and criticism of anthropologists to meet research requirements. So although much of the original method set out by Rivers in Notes and Queries (1912) has been retained, there have been considerable modifications such as those suggested by Barnard and Good (1984:30-3). Basically, attempting to define a computer-based medium in which to work with the genealogical method, with the ability to change, extend or remove specific kinds of genealogical links, requires a level of flexibility which is only easily attainable at the level of a computer programming language.
To develop a program, to be written either by yourself or by your programming partner, which can accomplish the task of establishing genealogical links we must first produce a specification of the program. A program specification is
- a fairly explicit description of the task at the conceptual level. This establishes the purpose of the program and describes the conceptual universe of the program; what the various terms and elements in the eventual program will refer to. Following the conceptual description, we can define that the purpose of our program is to establish a list of people who stand in one or more genealogical 'positions' relative to a specified ego. The conceptual schema relates to people and the kinship relationships they recognise as existing at some moment in time and space. Moreover, we are positing a genealogical space within which we can establish an etic position for each person, which will serve as the basis for evaluating the emic judgements of indigenous consultants with respect to the operation of kinship in different circumstances.
- an explicit description of a model which includes:
- a description of the data structures available for processing which will correspond to the initial data stored in the program or data to be input to the program by the user or from a computer data file (initial data model or input data model). This is not necessarily the structure of the data you have collected, but must, of course be compatible with your data. The example specification assumes data structures which link people with the relationships Child and Spouse will be available, along with the Gender of each person.
- a description of how the model terms not included in the initial data will be derived. For the example specification this will include the derivation of the basic genealogical relationships ('F', 'M', 'Z' etc.) from the primitive relationships Child, Spouse, and Gender, and complex relationships such as 'FB' or 'MZ' from these primitive relationships.
- a description of the procedures which manipulate the initial or derived structures to achieve the purpose of the program. This includes specifying the initial condition and initialisation of the program (reading in the data from a computer file, for example), and how to recognise that the objective has been accomplished.
Modelling Kinship Terminologies
We are going to take a relatively simple approach to illustrate how to analyze a terminology.
If we look at the terms used in English Kinship Terminology (EKT),
mother, father, son, daughter, brother, sister
uncle, aunt, nephew, niece
cousin (differently elaborated in different English speaking cultures)
grandfather, grandmother, grandson, granddaughter
granduncle, grandaunt, grandniece, grandnephew (in many dialects)
great-grandmother, great-great-grandmother etc.
great-grandfather, great-great-grandfather etc.
there are also the affinal terms:
wife, husband, brother-in-law, sister-in-law, mother-in-law and father-in-law as well as uncle and aunt.
there are two basic classificatory distinctions being made, sex and generation. Most kinship terminologies make use of these in some part of the terminology, and not in others. EKT is no different.
Many terms are marked for sex - EKT has mostly pairs that are differented by sex, eg mother, father, son, daughter, brother, sister, uncle, aunt. There are other terms like parent, child and sibling in English which are used as kin terms that do not mark sex, generalising the more specific sex-marked alternatives. Indeed the only EKT term which has no sex-marked form is cousin.
For a terminology to be useful (and to reduce the information necessary to learn the system), there must be a systematic way to assign kinship terms to individuals, e.g. match up kinship terms to genealogical positions. Kinship terms are distinct from a genealogy, but must provide a means to address the assignment problem.
father - a male of the first ascending generation
mother a female of the first ascending generation
son - a male of the first descending generation
daughter - a female of the first ascending generation
brother - a male of the same generation
sister - a female of the same generation
These are not yet definitive - uncle is also of the first ascending generation, niece of the first descending generation. These will only work as a means of assignment if we start from a primitive set of kin terms; a set that is sufficient to define all the other terms.
In the case of EKT, we can start with the undifferentiated term for first descending generation, child, and the attribute male or female.
Using these we can proceed:
daughter --> female child
son --> male child
father --> male reciprocal of child
mother --> female reciprocal of child
sibling --> someone who shares parents
brother --> male sibling
sister --> female sibling
grandparent --> parent of parent
grandmother --> female grandparent
grandfather --> male grandparent
grandchild --> reciprocal of grandparent
grandson --> male grandchild
granddaughter --> female grandchild
uncle --> male sibling of parent
aunt --> female sibling of parent
cousin --> child of parent's sibling
niece --> female child of sibling
nephew --> male child of sibling
Note that sex is only marked for the end of the genealogical path, not for the positions intermediate. Many terminologies mark sex for some intermediate positions, but EKT does not.
Some of the importance of defining terms in terms of other terms is that a) if possible this indicates structure that we can expect to find in the culture of native thinkers, and b) it reduces the amount of actual information required for this system to work in a real society. For example, in the examples above, we need only supply genealogical data about children, males and females. All the remaining relationships can be calculated based on this data. We could have chosen parent as a basic category, and identical results would occur. A more detailed analysis would indeed permit us to find that parent is more likely the basic category, but in our simpler approach here there is no way to decide which is more basic.
There are other relationships, the affinal relationships, e.g.
spouse, wife, husband, uncle, aunt, brother-in-law, sister-in-law, father-in-law, mother-in-law. In our approach we must specify data for spouses, but in conjunction with our earlier analysis, the remaining terms can all be defined in terms of spouse, child, male and female. You should construct these as an exercise.
Next section: Computers and Kinship