{'fraction_non_alphanumeric': 0.035645183811062575, 'fraction_numerical': 0.008437556100771947, 'mean_word_length': 4.648264984227129, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Transparency and granularity in the SP Theory of Intelligence and its realisation in the SP Computer Model

This chapter describes how the SP System, meaning the SP Theory of Intelligence, and its realisation as the SP Computer Model, may promote transparency and granularity in AI, and some other areas of application. The chapter describes how transparency in the workings and output of the SP Computer Model may be achieved via three routes: 1) the program provides a very full audit trail for such processes as recognition, reasoning, analysis of language, and so on. There is also an explicit audit trail for the unsupervised learning of new knowledge; 2) knowledge from the system is likely to be granular and easy for people to understand; and 3) there are seven principles for the organisation of knowledge which are central in the workings of the SP System and also very familiar to people (eg chunking-with-codes, part-whole hierarchies, and class-inclusion hierarchies), and that kind of familiarity in the way knowledge is structured by the system, is likely to be important in the interpretability, explainability, and transparency of that knowledge. Examples from the SP Computer Model are shown throughout the chapter.


Introduction 2 Introduction to transparency
In the words of the 'call for chapters' for this book: "It is desirable that the models of AI are transparent so that the results being produced have to be easily interpretable and explainable." (emphasis added). Thus transparency' in an AI program means that processing by the program and results from it are comprehensible by people, and thus interpretable and explainable. Hence, the main emphasis in this chapter is on transparency rather than the more specific concepts of interpretable and explainable, but see Section 8.
Transparency in AI systems is a matter of concern, chiefly because of shortcomings in deep neural networks (DNNs). Despite their striking successes in several different areas of application, it is normally difficult to understand how DNN results are achieved.
Transparency is particularly important when there is a need to diagnose what has gone wrong when there are outright failures of DNNs, and these can be dramatic. For example, a DNN may fail to recognise something in a picture that, to a

Information compression
Right from the beginning of this research, a unifying theme, which has proved its value in spades, is that IC in the SP System is likely to be part of the solution to the goal of simplification and integration across a broad canvass. This is largely because of an accumulation of evidence from many studies, beginning with pioneering research by Fred Attneave [8] and Horace Barlow [9,10], and others, showing the importance of IC in HLPC [11].
The letters 'S' and 'P' in the name 'SP' may be seen to stand for 'Simplicity' and 'Power'. This is because: 1) a good theory should combine conceptual 'Simplicity' with explanatory or descriptive 'Power'; and 2) IC, which is central in the organisation and workings of the SP System, may be seen as a process which increases the 'Simplicity' of a body of information, I, by the extraction of unnecessary repetition or redundancy in I, and at the same time retains as much as possible of its explanatory and descriptive 'Power'.
There is more detail about IC in the SP System in Sections 4.4, 4.5, and 5.

Abstract view of the SP System
At a high level of abstraction, the SP System may be seen to be like a brain which takes in New information (with a capital 'N') through its senses and stores all or part of it in a repository of Old information (with a capital 'O'), as shown schematically in Figure 1.

Basic structures in the SP System for representing knowledge
In the SP System, SP-patterns are the vehicle for storing all kinds knowledge.
Here an SP-pattern is an array of atomic SP-symbols in one or two dimensions. The SP Computer Model has not yet been developed to process two-dimensional SP-patterns, but the aim is for that to be possible in later versions of the program. An SP-symbol is simply a mark that can be matched with any other symbol to yield a 'same' or 'different' answer. The meaning of any SP-symbol is provided exclusively by its association with one or more other SP-symbols. There is nothing like + or × in arithmetic, where the meaning of each of those two symbols is hidden from view. As described in Section 4.4, below, SP-symbols gain expressive power via their roles in SP-multiple-alignments.
An SP-pattern that is 'New' is raw information from the system's 'environment', brought in via its 'senses'. An example of such a New SP-pattern is the sentence 'f o r t u n e f a v o u r s t h e b r a v e' in row 0 in Figure  3, below.
Each SP-pattern that is Old has 'ID' SP-symbols at the beginning and end which are used in the building of 'SP-multiple-alignments' and in the encoding process, as outlined in Section 4.4, below.
An example of an Old SP-pattern as just described is the SP-pattern 'N 4 f o r t u n e #N' in row 4 in Figure 3, below. Here, the SP-symbols 'N', '4', and '#N' are examples of the 'ID' SP-symbols mentioned above. The ID SP-symbols 'N' and '#N' serve in marking the start and finish of the SP-pattern and also in classifying the SP-pattern as a noun. The ID SP-symbol '4' distinguishes this noun from others in the set of stored Old SP-patterns.
Although SP-patterns and SP-symbols are very simple, they gain expressive power via their roles in SP-multiple-alignments, (see, Section 4.4,next).
Provided that SP-patterns have been created via unsupervised learning that achieves high levels of IC (Section 4.5), it seems likely that they would be amongst the groupings recognised as 'granules', and also 'chunks' (Section 5.5.1) and 'objects' or 'entities' (Section 5.5.2).

The concept of SP-multiple-alignment
A central part of the SP Computer Model, is the concept of SP-multiple-alignment (SPMA). It is a concept that has been adapted from the concept of 'multiple sequence alignment' in bioinformatics.
This concept is responsible for most of the existing and potential versatility of the SP System in all areas of AI except unsupervised learning, but even in unsupervised learning it has a major role to play. Existing and potential strengths of the SP System are summarised in Sections 4.6 and 4.6.2.

Multiple sequence alignment
As an introduction to the concept of SPMA, Figure 2 shows an example of a multiple sequence alignment. representing a sentence to be parsed and a set of Old SP-patterns supplied by the user (including those in rows 1 to 9, one Old SP-pattern per row), each of which represents a grammatical category, and that includes words. Reproduced from Figure 2 in [12], with permission.
The SP-patterns in rows 1 to 9 of the figure, one SP-pattern per row, are Old SP-patterns, drawn from a much larger repository of Old SP-patterns.
The main features that distinguish an SPMA from a multiple sequence alignment are described in [5,Section 4] and [6, Sections 3.4 to 3.7].

The creation of SP-multiple-alignments
As with the building of multiple sequence alignments, it is necessary to use heuristic search in the building of SPMAs to obtain reasonably good results in a reasonable time.
The creation of an SPMA like the one shown in Figure 3 begins with the New SP-pattern shown in row 0 of that figure and the repository of Old SP-patterns mentioned above which includes the ones shown in rows 1 to 9 of the figure.
At first, each of the Old SP-patterns in the repository is matched with the New SP-pattern as outlined in Section 5.1, below, including the kinds of discontinuous matching outlined in Section 5.2. Each match is evaluated in terms of its potential to compress the New SP-pattern. From the best of those matches, an SPMA is created from the New SP-pattern and one Old SP-pattern.
In subsequent processing, each newly-created SPMA is treated as if it was a single SP-pattern. As such, it may be matched with the New SP-pattern, any of the Old SP-patterns, and any of the other SPMAs in the current run of the program. As before, the best matches are selected and corresponding SPMAs are created, and then the cycle is repeated until no more good matches can be found.
If a good match is found between two 'parent' SPMAs, the 'child' SPMA that is formed from that match includes all the SP-patterns in both parents. Likewise for a good match between an SPMA and an SP-pattern. In this way, SPMAs with many SP-patterns can build up quickly.

Versatility of the SP-multiple-alignment construct
The SPMA concept is largely responsible for the versatility of the SP System, which is outlined in Section 4.6, below. In all areas except unsupervised learning (Section 4.5), it is almost exclusively responsible for that versatility, but it also has major role in unsupervised learning, together with other processing.

Unsupervised learning
In broad terms, unsupervised learning in the SP System means compressing a relatively large body of New SP-patterns from the system's environment to create a smaller body of Old SP-patterns which may be added to the repository of Old SP-patterns, in keeping with the schematic view of the SP System shown in Figure  1, Section 4.2. For a given body of New SP-patterns, that smaller body of Old SP-patterns is called its SP grammar.
It should be mentioned that, although some useful results have been achieved with unsupervised learning in the SP Computer Model (see [6,Chapter 9]), there are some unsolved problems with unsupervised learning in the program, noted in [5,Section 3.3]. For those reasons, with the example in Figure 3 and examples shown in later sections, it has been necessary to provide the model with appropriate SP-patterns rather than allowing the model to learn those SP-patterns for itself.
As we shall see in Section 5.4, the SP System, via unsupervised learning, can bootstrap a knowledge of granular structures such as words, and grammatical rules from samples of an English-like artificial language in which all punctuation and spaces between words have been removed.

Existing and potential strengths of the SP System
In keeping with the aim of simplifying and integrating observations and concepts across a broad canvass (mentioned at the beginning of Section 4), the SP System has strengths and potential in several different areas, as summarised in [13,Section 3.7].
In brief, the strengths and potential of the SP Computer Model in AI include unsupervised learning, pattern recognition, several kinds of reasoning, the processing of natural language, planning, problem solving, and more. Likewise, it has strengths in the representation of several different kinds of knowledge. And because these things all flow largely from the SPMA construct, there is clear potential for the seamless integration of different aspects of AI and different kinds of knowledge, in any combination.
On the strength of this evidence, and evidence summarised in the next two subsections, it seems fair to say that the SP System provides a relatively promising foundation for the development of artificial general intelligence.
What is said in this chapter about transparency and granularity is likely to apply to the evidence summarised in this section, in the next subsection, and in Section 4.6.2.

Potential to help solve AI-related problems
labelpotential-with-ai-related-problems-section Apart from the existing and potential strengths just described, the SP System has clear potential to help solve several problems in AI research. Many of these have been described by leading researchers in AI in interviews with science writer Martin Ford and, after any corrections by the interviewees, reported in Ford's book Architects of Intelligence [14]. The potential of the SP System to help solve many of those problems, and some others, is described in [15].

Areas of application apart from AI
Apart from AI, the SP System has clear potential in other areas. Relevant papers may be downloaded via links in www.cognitionresearch.org/sp.htm. They include: the management of big data [16]; computer vision and the understanding of natural vision [17]; the development of intelligent databases [18]; medical diagnosis [19]; and more.

SP-Neural
The SP System has been developed largely as an abstract model, with well-known features of HLPC as its main touchstones of success. But it is a matter of some interest to discover whether the main features of the SP System may be reproduced with with neural tissue, and if so how.
In the SP programme of research, a first tentative model in this area is called SP-Neural, described and discussed in [12].
It seems that a case can be made for: modelling SP-symbols with single neurons or, more plausibly, with small clusters of neurons; SP-patterns may be modelled with arrays of neural symbols; and, very tentatively, spike potentials travelling along axons connecting neural SP-symbols and neural SP-patterns may achieve the effect of building SPMAs, and perhaps, unsupervised learning.
As with the non-neural SP System, it seems likely that the creation of a computer model of SP-Neural will help to clarify issues where there is uncertainty at present.

Future developments
It is envisaged that the SP Theory of Intelligence and the SP Computer Model will be developed into a highly parallel "SP-Machine", as described in [20], and shown schematically in Figure 4.
It is envisaged that this will provide a foundation for further work by researchers anywhere, singly or in teams, towards the development of a system with the strength and robustness for large-scale applications.

Information compression and the representation and processing of knowledge in the SP System
Before getting on to transparency and granularity in the SP System (Sections 6, 7, and 8), something needs to be said about IC and how it relates to the representation of knowledge in the SP System, and how it is processed.

Information compression via the matching and unification of patterns
A working hypothesis in the SP programme of research is that IC may always be understood as the product of a search for patterns that match each other and the merging or 'unifying' of patterns that are the same. The expression "Information Compression Via the Matching and Unification of Patterns" will be abbreviated as 'ICMUP'. This idea is illustrated in the upper part of Figure  In this instance, there is compression of information because two instances of 'INFORMATION' are reduced to one. The rest of the figure is considered in Section 5.3.2, below.
To achieve IC via ICMUP in a given body of raw information, I, the patterns that are to be unified must be relatively frequent in I and no less frequent than would occur by chance.
That figure for chance varies inversely with the size of the pattern, so that, with a given I, a large pattern like this: 'pneumonoultramicroscopicsilicovolcanoconiosis' may exceed the threshold with a frequency as low as 2, while smaller patterns like 'si' may only reach the threshold with a higher frequency.

Discontinuous patterns
An important point to mention in connection with ICMUP is that the concept of 'pattern' in the SP programme of research includes patterns that are 'discontinuous' in the sense that they may be interwoven with other information.
For example, a pattern like 'ABC' may be seen in 'LMANOPBQCSTU', and likewise in many other sequences.
From prominent features of HLPC, such as the way we can recognise a familiar pattern like a car despite interfering patterns such as iron railings or the branches of a plant, it has been understood from the beginning of the SP research that there would be a need for that kind of capability in the SP Computer Model.
A first goal was to create a system that could recognise good full and partial matches between sequences (where 'good' means good in terms of IC), and could deliver two or more such solutions where they exist. The method which has been adopted, and incorporated in successive versions of the SP Computer Model, is described in [6, Appendix A].

Seven variants of ICMUP
ICMUP is an intrinsically simple idea, but it comes in seven main variants which add a lot in terms of its descriptive and explanatory value. The variants are described in [13,Section 5] and [11,Sections 6,7,and 8], and are outlined more briefly here.
In general, these structures would arise from IC via unsupervised learning, as outlined in Section 4.5.
In general, these structures that are very widely used and are likely to be familiar to most people. Some comments to that effect are in Section 7.

Basic ICMUP
Basic ICMUP is our first variant of ICMUP, essentially what is described at the beginning of Section 5.1: if two or more patterns match each other, they may be unified to create one copy, with a corresponding compression of information.

Chunking-with-codes and ICMUP
A problem with Basic ICMUP is that, for each set of unified patterns, information is lost about their locations in I, except for the unified pattern itself, assuming it retains a place in I.
A solution to this problem, called Chunking-with-codes, is to assign a relatively short identifier or code to the unified pattern-which is commonly referred to as a chunk of information-and then to place a copy of the chunk, with its code, in a separate 'dictionary' of patterns. Then replace each copy of the chunk in I with the code for the chunk. This is illustrated in the lower part of Figure 5, where the chunk of information is 'INFORMATION' and the code for that chunk is 'w62'.
Because in general the code should be smaller than the chunk it represents, there should be an overall compression of I.

Schema-plus-correction and ICMUP
An interesting variant of MICMUP is known as Schema-plus-correction. Perhaps the best-known example is a menu of dishes that are available in a cafe or restaurant.
The menu itself may be seen as special kind of 'chunk' of information which, as with chunking-with-codes, has a relatively short name, identifier, or 'code'something like 'Menu', 'Your choices', 'As you like it', and so on.
What makes it different from an ordinary example of chunking-with-codes is that it provides the means of introducing variations into the chunk.
A typical menu offers three or more places where variations may be introduced. These would be parts of the menu such as 'starter', 'main course', and 'pudding'. With each of these there would be a selection of dishes that the diner may choose, such as 'soup', 'antipasto', and so on for the starter, 'vegan chickpea curry', 'shepherd's pie', and so on for the main course, and 'ice cream', 'apple crumble', and so on for the pudding.

Run-length encoding and ICMUP
Run-length encoding may be applied where there is a sequence of two or more matching patterns, each one contiguous with next one. Then a sequence like 'INFORMATIONINFORMATIONINFORMATIONINFORMATIONINFORMATION' may be reduced to something like 'INFORMATION ×5', or, more generally as 'INFORMATION*', where the '*' indicates that the given pattern is repeated but without specifying how many times it is repeated.

Part-whole hierarchies and ICMUP
A fifth variant of ICMUP is the way things can be organised as part-whole hierarchies. A car may be seen to be divided to engine, wheels, body, and so on. And each of these things may be divided into parts and subparts, and so on.
Economies arise because, at any one level in a part-whole hierarchy, all the alternatives at that level share the same place in the hierarchy, which saves having to repeat that information for every one of the alternatives.
For example, someone buying a particular model of a car may be offered a choice of two or three different engines. Each of the alternatives may be described without the need, for each alternative, to describe the rest of the car. Hence, those several copies of the context of 'engine' have been merged into a single copy, in accordance with ICMUP.

Class-inclusion hierarchies and ICMUP
One of the meanings of the word 'class' is that it is a collection of things that share certain features. So the class 'table' applies to things that have a horizontal top that may be used as a temporary place to put things, especially plates, knives and forks and so on at meal times, often with four legs, often made of wood, and so on.
This may be seen as an example of ICMUP because, across all the many examples of tables, the features that they have in common have been seen to match each other and have been unified to create the list of features for the class 'table'.
It is true that there are many exceptions and special cases-for example, not all tables are made of wood-but that does not alter the great economies that can be achieved, in both thinking and communication, from the use of classes like 'table'. The class saves having to describe all the features of a table every time one wants to talk about tables or simply remember something about tables, such as the way a table may be used to help in the changing of a light bulb.
From this idea of a class, it is a short step to the idea of a hierarchy of subclasses, subsubclasses, and so on. At each level in the hierarchy, there are features that are inherited by all the higher levels.

SP-multiple-alignment and ICMUP
The last of the seven variants of ICMUP is the concept of SPMA that has been described already in Section 4.4.
Out of the seven variants of ICMUP, it appears that SPMA can be, with appropriate data, the most effective means of compressing information, largely because the matching and unification of patterns may occur at several different levels, not just one level.
And this seventh variant of ICMUP has a special status amongst the seven variants because SPMA may be seen to encompass all of the other six variants, and, within any one SPMA, there can be a seamless integration of the other six variants.
It appears that it is this versatility which is largely responsible for the versatility of SPMAs in modelling diverse aspects of intelligence, in the representation of diverse kinds of knowledge, and in the seamless integration of aspects of intelligence and kinds of knowledge, in any combination (Section 4.6).

The DONSVIC principle
An idea which is fundamental in the workings of the SP System is the 'DONSVIC' principle, meaning the "Discovery Of Natural Structures Via Information Com-pression" It is described quite fully in [5,Section 5.2].
It seems that the reason that IC does not normally have the effect of revealing 'natural' structures is that, largely because of the low power of early computers, most systems for IC have been designed to be 'quick and dirty', sacrificing accuracy for speed on those low-powered computers. Now that computers are more powerful, one can be more ambitious.
The same section of the paper [5, Section 5.2] describes how the MK10 program for unsupervised learning of segmental structures-with IC as its driving principle-may discover structures in natural language such as words and phrases, and this without any prior knowledge of any of those structures, and without any markers in the raw data such as punctuation and spaces between words to show the beginnings and ends of segmental structures [21]. And in a similar way, the SNPR program for unsupervised learning of grammars-with IC as its central principle-demonstrates successful learning of the grammars of English-like artificial languages (ibid).
In that connection, there is evidence that a first language can be learned by children without 'reinforcement' as normally understood, or any other kind of explicit teaching or the correction of errors (see, for example, [22,23,24]). It seems likely that the same applies to the learning of non-syntactic structures as well.
As a rough generalisation, structures that may be discovered via the DONSVIC principle from a given body of information, I, are ones that are useful in compressing I and are likely to be useful in compressing any later body of information that has a similar structure.
These observations are in accord with substantial evidence for the significance of IC in HLPC [11].

The DONSVIC principle and granularity
It is assumed in this research that, in HLPC, the DONSVIC principle applies to the unsupervised learning of the great majority of entities, structures, or events, that we recognise 'naturally', including the kinds of SP-patterns shown in rows 1 to 9 of Figure 3.
If it is accepted that most of the "entities, structures, or events, that we recognise 'naturally' " would also qualify as 'granules', we should also accept that granules and the ways in which they are structured are likely to emerge via learning processes that conform to the DONSVIC principle, either in human brains, or in artificial unsupervised learning of the future.

The DONSVIC principle and familiarity
In the same way that the DONSVIC principle suggests that information granules and their structures emerge from a search for patterns with an optimum combination of size and frequency, it is likely that the way in which those granules are structured (as described in Section 5.3) will also be familiar to people.
The familiarity of those kinds of structures-such as chunking-with-codes, runlength coding, part-whole hierarchies, and class-inclusion hierarchies-will clearly be important in ensuring the interpretability, explainability, and transparency of knowledge created via unsupervised learning in the SP System, and via the building of SPMAs.

Ideas related to the concept of a granule
This section briefly discusses two ideas that appear to be relevant to the concept of a granule, and also to key ideas in the SP System.

The concept of a chunk of information
As we have seen in Sections 5.3.2 and 5.3.3, and elsewhere above, the concept of 'chunk' can be useful in describing any small coherent body of information. As such, it is similar to the concept of a 'granule'.
It appears that the concept of a 'chunk' in cognition-related research, was first introduced in George Miller's much-quoted paper on "The magical number seven, plus or minus two" [25] where he argued that: "... we must recognize the importance of grouping or organizing [information] into units or chunks. Since the memory span [of a typical person] is a fixed number of chunks, we can increase the number of bits of information that it contains simply by building larger and larger chunks, each chunk containing more information than before." [25, p. 93].
In keeping with that description, Section 5.1, above, suggests how chunks of information may be discovered via the matching and unification of patterns.
Since Miller's seminal paper, the concept of a chunk of information has been and still is widely used in the academic literature in cognitive science and cognitive psychology. Now the word 'chunk', apparently without reference to Miller's concept, has been associated with the word 'granule' like this: "Granular computing ... is a research area focused on representing, reasoning, and processing basic chunks of information, namely granules." [26, p. 1835], emphasis added.
Apart from that connection between 'chunk' and 'granule', a search of the literature suggests that there is at present little interest in examining possible synergies between the two areas of research.
As noted in Section 4.3, the concept of an 'SP-pattern' in the SP System appears to capture much of what is meant by the concepts of 'granule' and 'chunk'.

Object-oriented programming
Another thing with much of the flavour of the concepts of 'granule', 'SP-pattern', and 'chunk', is the concept of a discrete entity or object in object-oriented programming. From small beginnings in Norway [27], this paradigm for programming has grown to be a widely-adopted feature in the design of programming languages, and in the design of software systems.
For readers not already familiar with OO-programming and OO-design, the neat idea is that a software system should be a model of the system it is to serve, with a discrete software 'object' for each entity or object in the system to be modelled, and with hierarchies of 'classes' of object and with 'inheritance' of 'attributes' of objects from higher levels to lower levels (Section 5.3.6).
Some connections have been made between concepts of granularity and objectoriented programming (eg [28]) but it appears not to be a live issue.

Tying things together?
In view of what has been said earlier about information granules (Section 3), about SP-patterns (Section 4.3), about information chunks (Section 5.5.1), and about entities or objects in object-oriented programming (Section 5.5.2), there seems to be a case for tying these concepts together, perhaps within the framework of information compression. It seems likely that the SP System could accommodate them all.

Transparency via audit trails
Compared with DNNs, the SP System has the striking advantage that it provides a full audit of what it is doing, and it provides it in a form that people can understand. That advantage applies to unsupervised learning in the SP System, which means the creation of SP-grammars (Section 4.5), and it also applies to the building of SPMAs by the SP System (Section 4.4.3), which provides the means of modelling all the other AI-related things that the SP System can do, such as the processing of natural language, recognition of entities, several forms of reasoning, and so on, as summarised in Section 4.6. Figure 6 shows a bare-bones audit trail for the creation of the SPMA shown in Figure 3, to illustrate how, for each SPMA that is created by the SP Computer Model, the program provides detailed information about how the SPMA is built. The caption to Figure 6 describes how it should be interpreted.  ID20 ID67   ID51  ID11  ID1   ID92  ID23 ID3   ID405  ID78 ID2   ID321  ID72 ID5   ID227  ID92 ID51   ID673  ID321 ID405 ID2075 ID673 ID227 Fig. 6. An audit trail for the creation of the SPMA shown in Figure 3. It should be interpreted as follows: the figure should be read from the bottom to the top, starting with a row about the SPMA in Figure 3; at the beginning of each row there is an identifier for an SPMA or an SP-pattern; in each row that describes an SPMA, there are two identifiers to the right, referencing the two structures that were matched and unified to create the given SPMA; those two structures might be one SP-pattern with another SP-pattern (or different parts of itself), or an SPMA with an SP-pattern (in either order), or an SPMA with an SPMA; in most cases, there is an arrow from each of the two identifiers to the SPMA or SP-pattern that it refers to; but with the SP-patterns 'ID1' and 'ID3', each of their identifiers (shown in colour) appears more than once in the figure, so to avoid undue clutter in the figure in each of those two cases, only one arrow is shown.
The information in Figure 6 is only an extract from the much fuller information that the SP Computer Model provides. With each SPMA referenced in the figure, and many others on paths that turned out to be blind alleys, the following information is provided: • The full structure of the SPMA.
• The pairing that produced the given SPMA: an SP-pattern with an SPpattern, or an SPMA with an SP-pattern (in either order), or an SPMA with an SPMA (see Section 4.4.3).
• A full evaluation of each SPMA in terms of IC, described in detail in [6, Section 3.5] and [5, Section 4.1].
A similar level of detail is provided for the creation of SP-grammars by the SP Computer Model.
As noted above, this kind of transparency in the workings of the SP Computer Model contrasts with the considerable obscurity in the workings of DNNs (Section 2).

Transparency via granularity and familiarity
As we have seen in Section 5.4, it appears that the concepts of granularity and the DONSVIC principle are closely related. For that reason, they will be discussed together in subsections below which describe how the SP System exhibits granularity associated with each of the seven variants of ICMUP described in Section 5.3.
In addition to granularity, it seems that, because they are so widely used, each of those variants of ICMUP are likely to strike a chord of familiarity with most people.
Thus because of both granularity and familiarity, each of those seven variants of ICMUP are likely to contribute to interpretability and explainability, and a consequent transparency, in the operation of the SP System.

Granularity, familiarity, and Basic ICMUP
Although Basic ICMUP, as described in Section 5.3.1, is indeed remarkably basic and simple, it is also surprisingly powerful, providing examples of both granularity and the DONSVIC principle. It may, for example, be seen to provide the main mechanism for our perception of the world as being populated by three-dimensional objects.
In case this seems obscure, the learning and perception of 3D objects is a development envisioned for the SP System, described in [17, Sections 6.1 and 6.2], but it has not yet been implemented in the SP Computer Model.
In brief, the basic idea is that, with any kind of object that is new to us, we may view it from several different angles so that there is overlap between neighbouring fields of view. Then our brains can piece together a three-dimensional model of the object by merging the overlapping areas (via Basic ICMUP), much as a panoramic view of a scene may be made with a digital camera from several overlapping views of the scene. In a similar way, we may recognise 3D objects that we already know, and refine our knowledge of them.
The idea of creating 3D models from two or more views, called 'photogrammetry', is the basis of commercial and free systems that are available for creating 3D models from photographs. 1 The same kinds of process are at work in the creation of Google's 'Streetview'. Here, overlapping digital photographs taken of streets and junctions all over the world are pieced together to create very useful 3D digital models of those many streets and junctions.
Because objects are such a familiar aspect of how we perceive the world, Basic ICMUP contributes to familiarity as well as granularity, and both of them contribute to transparency in results produced by the SP System.
Even without objects, A little reflection will show that Basic ICMUP is something we do all the time. Whenever we recognise something that we know already, we are employing Basic ICMUP. And whenever we see something new but see a similarity to something we know already, we are employing Basic ICMUP.

Granularity, familiarity, and chunking-with-codes
From the perspective of the chunking-with-codes principle for achieving IC (Section 5.3.2), it seems that a 'chunk' of information qualifies as an information granule, and as an example of the DONSVIC principle at work.
It appears that chunking-with-codes is widespread in HLPC, especially in our use of language. For example, a word like 'house' may be understood as a relatively short identifier or code for the much larger chunk of information which is the meaning of 'house'. It matters not that the chunk may be relatively generalised so that it accommodates many of the different kinds of houses that people live in. Regardless of the complexity of that concept, the word 'house' serves as a short identifier for the concept.
A little reflection shows that, in any natural language, every noun, adjective, verb, and adverb, is in effect a short code for the much larger chunk of information which is what the word means.
Because this method for the economical encoding of information is so simple and effective, it is likely that non-verbal aspects of our thinking would be encoded in a similar way-although it is more difficult to obtain direct evidence for this than it is with the surface forms of natural languages.
As with Basic MUP, chunking-with-codes is an extremely common feature of how we conceive the world, and thus it exhibits familiarity as well as granularity, and both of them contribute to transparency.
How this grammar may be used in practice may be seen in the SPMA shown in Figure 8. A prominent difference between this SPMA and the one shown earlier in Figure 3 is that, in the earlier one, SP-patterns are arranged horizontally, while in the later one, they are arranged vertically. This has no theoretical significance and is purely a matter of which arrangement is the best fit for the page.  Figure 7. Adapted from Figure 3 in [29].
The SPMA shown in Figure 8, is the best of several alternatives created by the SP Computer Model, starting with the New SP-pattern 'MU 0 4 1 #MU' (shown in column 0), and the SP-grammar shown in Figure 7. Old SP-patterns selected from that grammar appear in columns to to 4 in the figure, one SP-pattern per column.
The New SP-pattern, 'MU 0 4 1 #MU', is an economical description of a meal: the SP-symbols 'MU' and '#MU' at the top and bottom show that the New SPpattern is about the menu, the full version of which is shown in the Old SPpattern in Column 1; the SP-symbol '0' in column 0 shows that the starter is a dish of mussels; the SP-symbol '4' shows that the main course is a salad; and the SP-symbol '1' shows that the pudding is apple crumble.
Things like menus in cafes and restaurants are not quite as familiar as chunkingwith-codes but they are very much part of everyday life and so that we may say that they contribute to familiarity as well as granularity, both them promoting transparency in the workings of the SP System.

Granularity, familiarity, and run-length encoding
With the repeated instances of 'INFORMATION' in Section 5.3.4, illustrating the run-length coding concept, repetition of the pattern 'INFORMATION' would in itself suggest that it conforms to the DONSVIC principle, and would thus qualify as an information granule.
Whenever a sports coach, for example, says "keep doing push-ups until I say stop", he or she is employing run-length coding. It is very widely used and may thus contribute to familiarity and transparency for users of an SP System.

Granularity, familiarity, and part-whole hierarchies
A part-whole hierarchy is similar in some respects to the schema-plus-correction example shown in Figures 7 and 8. Perhaps the main difference is that a part-whole hierarchy would normally have more levels, as in the SPMA in Figure 9.  Fig. 9. The SPMA shown here is the best of several that the SP Computer Model has created, beginning with several one-SP-symbol SP-patterns (in column 0) that describe some features of a car, and a grammar of Old patterns, some of which are the SP-patterns shown in columns 1 to 8. These SP-patterns include one for 'mycar', in column 4, and other SP-patterns that describe parts and sub-parts of 'mycar'.
With many simplifications, this SPMA shows how the SP Computer Model may create an analysis of 'mycar' into a part-whole hierarchy when it is presented with some features of 'mycar' in column 0 and a repository of Old SP-patterns which include those SP-patterns in columns 1 to 8 of Figure 9.
As with other examples in this chapter, it is clear that there is granularity in the SP-patterns shown in the figure because economies can be achieved as described in Section 5.3.5, and thus the SPMA is likely to conform to the DONSVIC principle as described in Section 5.4.
As with other variants of ICMUP, part-whole hierarchies are very familiar in everyday life, and that familiarity is likely to contribute to transparency in results from the SP System. Although the categories used by botanists to classify plants have a formal status, it is likely that they have a foundation in what seems 'natural', which is itself one facet of the DONSVIC principle (Section 5.4). More generally, categories like that may be seen as information granules. Column 0 shows some New SP-patterns that represent features of a plant that has not yet been identified, while the SP-pattern in column 1 shows that the unknown plant is probably a Meadow Buttercup (the name is shown near the bottom of the column), and the SP-patterns in columns 2 to 6 show higher-level categories such as the genus (column 6), the family (column 5), and so on.

Granularity, familiarity, and class-inclusion hierarchies
The way in which IC is served by Old SP-patterns like the ones shown can be seen in the way they make it possible to avoid unnecessary repetition of information. For example, the SP-pattern representing the high-level category 'Plants' (column 2) has the features 'haschlorophyll' and 'photosynthesises'. As can be seen from the SPMA, there is no need to repeat that information in the lower-level category 'Angiospermae' (column 3), or in the next category below, the category 'Ranunculales' (column 4), and so on down to the level of the Meadow Buttercup (column 1).
Much the same can be said about class-inclusion hierarchies as was said about part-whole hierarchies. They promote granularity, they are very familiar, and thus likely to contribute to transparency in the results from the SP System. 7.7 Granularity, familiarity, and SP-multiple-alignments As described in Section 5.3.7, the concept of SPMA is a generalisation of the other six versions of ICMUP described in Section 5.3. As such, it is likely to exhibit the same levels of granularity and familiarity as the other six, with corresponding benefits for transparency.

Interpretability and explainability
Although interpretability and explainability fall under the heading of transparency, considered in Sections 6 and 7, above, this section describes some recent studies that are more specific to those two concepts, with some brief comments from an SP perspective.
Quanshi Zhang and Song-Chun Zhu describe a survey of visual interpretability for deep learning [30]. Like other authors, they emphasise achievements with DNNs but lament how interpretability is always their Achilles' heel. Concentrating on convolutional neural networks (CNNs), they examine methods for discovering representations of pre-trained CNNs, including methods for 'disentangling' representations of pre-trained CNNs, and they examine how learning by CNNs may be achieved with 'disentangled' representations, and how 'middle-to-end' learning may be achieved with 'model interpretability'. Finally, they suggest that "In the future, we believe the middle-to-end learning will continuously be a fundamental research direction." [30, p. 37] In addition, they suggest that, "based on the se-mantic hierarchy of an interpretable network, debugging CNN representations at the semantic level will create new visual applications." (ibid.).
David Alvarez-Melis and Tommi Jaakkola describe research towards the development of neural networks that interpretable, self-explaining, and also robust [31]. In that connection, they propose three desirable features for neural networks: 'explicitness', 'faithfulness', and 'stability', and they show that, in general, existing methods do not satisfy them. Starting with linear classifiers, they have developed self-explaining models in stages, progressively generalizing them to meet their criteria of success. They say that experimental results show that the framework they have developed shows promise for reconciling the complexity of models and their interpretability.
Alejandro Barredo Arrieta and colleagues [32] present an overview of studies in "eXplainable Artificial Intelligence (XAI)", which they classify in two different categories: 1) "[Machine learning] models that feature some degree of transparency, [which are] thereby interpretable to an extent by themselves; and 2) "post-hoc XAI techniques devised to make ML models more interpretable."(p. 108). They have introduce a new classification of DNNs "giving rise to an alternative taxonomy that connects more closely with the specific domains in which explainability can be realized for Deep Learning models." (ibid.). Also, "Our reflections about the future of XAI, conveyed in the discussions held throughout this work, agree on the compelling need for a proper understanding of the potentiality and caveats opened up by XAI techniques. It is our vision that model interpretability must be addressed jointly with requirements and constraints related to data privacy, model confidentiality, fairness and accountability. (ibid.). Ruth Byrne [33] discusses how 'counterfactuals' (what would have happened if circumstances had been different) may provide evidence in support of explainable AI. In particular in this connection, she considers which kinds of counterfactual are most useful. "... to maximize their effectiveness, it will be useful for XAI to incorporate information from psychological experiments about the way people create and comprehend counterfactuals, for counterfactuals of different structure and content, and with various relations." [33, p. 6280].
David Gunning and colleagues [34] discuss how "... for many critical applications in defense, medicine, finance, and law, explanations are essential for users to understand, trust, and effectively manage these new, artificially intelligent partners" (p. 1). They describe several issues associated with explainability but do not reach conclusions.
Randy Goebel and colleages [35] note the problems with explainability in the results normally produced by DNNs. They suggest that one possible way forward is to develop DNNs that can create explanations in parallel with their main processing. Another possibility is some kind of hybrid process that leverages human intelligence in conjunction with machine intelligence.
These studies are only a small fraction of activity in the areas of interpretability and explainability. The impression one gains from these studies and others is that it is likely to be a struggle to develop DNNs, or varieties thereof, which provide what is needed in terms of transparency, interpretability, and explainability.
By contrast, the SP System has clear strengths in terms of 'transparency via audit trails' (Section 6), and in terms of 'transparency via granularity and familiarity' (Section 7).

Conclusion
This chapter describes how the SP System-which is the SP Theory of Intelligence and the SP Computer Model-may promote transparency and granularity in AI, and perhaps also in other areas of computing.
The SP System is introduced (Section 4), together with an account of the significance of IC in the representation and processing of knowledge in the SP System (Section 5). It seems that much of this IC can be seen as "IC via the matching and unification of patterns" (ICMUP, Section 5.1).
An important part of ICMUP in this context is the matching of patterns that are 'discontinuous', meaning that any given pattern may be interspersed with other information (Section 5.2).
Seven variants of ICMUP are described in Section 5.3. Amongst those seven variants, the most important is the concept of SP-multiple-alignment (SPMA) (Sections 5.3.7 and 4.4), a version that generalises the six other versions (Section 5.3).
Another important idea associated with the SP System is the concept of "Discovery Of Natural Structures Via Information Compression" ('DONSVIC') (Section 5.4). As described in Section 5.4, the DONSVIC principle seems to provide a basis for the concept of granularity in AI.
There may be a case for exploring what appears to be some common ground amongst such concepts as 'information granule', 'SP-pattern', 'information chunk', and 'entity' or 'object' in object-oriented programming (Section 5.6).
The main conclusions of this chapter are: • Transparency via audit trails. For the creation of any given SPMA, the SP System provides very full information about how, via heuristic search, that SPMA has been created, with full information about all the false trails that were followed in that search (Section 6). For any given SPMA it is possible to plot an audit trail of all its ancestors.
The fact that such an audit trail can be created confirms the existence of clear, granular structures in the system's processing. There is very full information about all the SPMAs created on the path to 'good' SPMAs, and all the SPMAs created on false trails away from 'good' SPMAs.
• Transparency via granularity. The SP Computer Model has already demonstrated the unsupervised learning of words and grammatical classes from English-like artificial language without any punctuation or spaces to mark where one words ends and the next one begins. There is clear potential for further development along these lines. There is also potential for the unsupervised learning of 3D objects.
In general, the SP System, via the DONSVIC principle, has potential to bootstrap 'natural' structures in its knowledge, and thus to bootstrap granularity in that knowledge.
• Transparency via familiarity. Owing to the organisation and workings of the SP System, the seven variants of ICMUP described in Section 5.3 will be the mainstay of how its knowledge is organised.
In view of evidence that the same principles have a role to play in brains and nervous systems [11], the kinds of structures created by the SP System as it matures are likely to be similar to structures that people use themselveschunking-with-codes, part-whole hierarchies, class-inclusion hieararchies, and more. Consequently, the kinds of structures created by the SP System are likely to be familiar to people, helping to make those structures relatively easy to interpret and to explain, and correspondingly transparent.
Many recent studies of interpretability and explainability (Section 8) suggest that, in the quest for transparency in those two areas, it is likely to prove difficult to overcome fundamental weaknesses in DNNs. It may be better to make a fresh start with the SP System for development, especially since there is evidence that the SP System provides a relatively promising foundation for the development of artificial general intelligence. (Section 4.6).
Since the SP System has potential in several areas apart from AI (Section 4.6.2), there is potential for the advantages just described to be seen in those areas as well.