# Theme One Program • Exposition

22 views

### Jon Awbrey

Jun 9, 2018, 4:36:54 PM6/9/18
to Structural Modeling
Theme One Exposition • 1
http://inquiryintoinquiry.com/2018/06/08/theme-one-exposition-%e2%80%a2-1/

Structural Modeling Group,

It looks like the right moment to go back and pick up the first parts of
the Theme One Program Exposition I shared with several Ontology, Peirce,
and Systems related groups a decade and a half ago.

Note. I'll eventually get around to redoing the ascii graphics as jpegs,
but for now see the blog post linked above for better formatted versions.

Theme One is a program for building and transforming a particular species
of graph-theoretical data structures in memory, structures that have been
designed to support a variety of fundamental learning and reasoning tasks.

The program was developed as a part of an exploration into the implementation
and integration of different types of learning and reasoning procedures, concerned
especially with the types of algorithms and data structures that might work in support
of inquiry. In its current state, Theme One integrates over a common data structure
fundamental algorithms for one type of inductive learning and one type of deductive
reasoning.

The first order of business is to describe the general class of graph-theoretical
data structures that are used by the program, as they are determined in their local
and their global aspects.

It will be the usual practice to shift around and to view these graphs at many
different levels of detail, from their abstract definition to their concrete
implementation, and many points in between.

The main work of the Theme One program is achieved by building and transforming
a single species of graph-theoretical data structures. In their abstract form
these structures are most closely related to the graphs that are called “cacti”
and “conifers” in graph theory, so I will generally refer to them under those
names.

The graph-theoretical data structures used by the program are built up from
a basic data structure called an “idea-form flag”. This structure is defined
as a pair of Pascal data types by means of the following specifications:

type idea = ^form;
form = record
sign: char;
as, up, on, by: idea;
code: numb
end;

• An “idea” is a pointer to a “form”.

• A “form” is a record consisting of:
• A “sign” of type “char”;
• Four pointers, “as”, “up”, “on”, “by”, of type “idea”;
• A “code” of type “numb”, that is, an integer in [0, max integer].

Represented in terms of digraphs, or directed graphs, the combination of
an idea pointer and a form record is most easily pictured as an arc, or
directed edge, leading to a node that is labeled with the other data,
in this case, a letter and a number.

At the roughest but quickest level of detail, an idea of a form can be drawn like this:

o a 1
^
|
@

When it is necessary to fill in more detail, the following schematic pattern can be used:

^ ^ ^
as\|up on|
o-----o by
| a 1 |--->
o-----o
^
|
@

The idea-form type definition determines the local structure of the whole host
of graphs used by the program, including a motley array of ephemeral buffers,
temporary scratch lists, and other graph-theoretical data structures used for
their transient utilities at specific points in the program.

I will put off discussing these more incidental graph structures until the
points where they actually arise, focusing here on the particular varieties
and the specific variants of cactoid graphs that constitute the main formal
media of the program's operation.

Resources
=========

• Theme One Program • Documentation
http://intersci.ss.uci.edu/wiki/index.php/Theme_One_Program

• Theme One Program • Exposition
http://intersci.ss.uci.edu/wiki/index.php/Theme_One_Program_%E2%80%A2_Exposition

• Theme One Program • User Guide

inquiry into inquiry: https://inquiryintoinquiry.com/
oeiswiki: https://www.oeis.org/wiki/User:Jon_Awbrey
isw: http://intersci.ss.uci.edu/wiki/index.php/JLA

### joseph simpson

Jun 9, 2018, 4:45:49 PM6/9/18
to structura...@googlegroups.com, Sys Sci, Kevin Dye, Peter D Tuddenham, mjs...@gmail.com
Jon:

Great!  Thanks for your efforts in this area.

I have been reading the background material and working the code base as I have time.

My time will free-up more in a few weeks..

In a few weeks my plan is to:
-- Create a set of tests for the Theme One code base
-- Document the Theme One code with comments
-- Determine if Theme One is a good fit for the next phase of our structural modeling work.

Take care, be good to yourself and have fun,

Joe

--
You received this message because you are subscribed to the Google Groups "Structural Modeling" group.
To unsubscribe from this group and stop receiving emails from it, send an email to structural-modeling+unsubscribe...@googlegroups.com.
To post to this group, send email to structural-modeling@googlegroups.com.

--
Joe Simpson

# All progress, therefore, depends on unreasonable people.”

George Bernard Shaw

### Jon Awbrey

Jun 9, 2018, 10:20:25 PM6/9/18
to SysSciWG, Structural Modeling
Theme One Exposition • 2
http://inquiryintoinquiry.com/2018/06/09/theme-one-exposition-%e2%80%a2-2/

Systems Science, Structural Modeling Groups ...

The previous post described the elementary data structure
used to represent nodes of graphs in the Theme One program.
This post describes the specific family of graphs employed
by the program.

Figure 1 shows a typical example of a “painted and rooted cactus”.

o
a | d
o---o o
\ / b c |
o----o----o b e
\ /
\ /
\ /
\ /
@ a c e

Figure 1. Painted And Rooted Cactus

The graph itself is a mathematical object and does not inhabit the page
or other medium before our eyes, and it must not be confused with any
picture or other representation of it, anymore than we’d want someone
to confuse us with a picture of ourselves, but it’s a fair enough picture,
once we understand the conventions of representation involved.

Let V(G) be the set of nodes in a graph G and let L be a set of identifiers.
We often find ourselves in situations where we have to consider many different
ways of associating the nodes of G with the identifiers in L. Various manners
of associating nodes with identifiers have been given conventional names by
different schools of graph theorists. I will give one way of describing
a few of the most common patterns of association.

• A graph is “painted” if there is a relation between its node set
and a set of identifiers, in which case the relation is called
a painting and the identifiers are called paints.

• A graph is “colored” if there is a function from its node set
to a set of identifiers, in which case the function is called
a coloring and the identifiers are called colors.

• A graph is “labeled” if there is a one-to-one mapping between its node set
and a set of identifiers, in which case the mapping is called a labeling
and the identifiers are called labels.

• A graph is said to be “rooted” if it has a unique distinguished node,
in which case the distinguished node is called the root of the graph.
The graph in Figure 1 has a root node marked by the “at” sign or
amphora symbol “@”.

The graph in Figure 1 has eight nodes plus the five paints in the set
{a, b, c, d, e}. The painting of nodes is indicated by drawing the
paints of each node next to the node they paint. Observe that some
nodes may be painted with an empty set of paints.

The structure of a painted and rooted cactus can be encoded in the form
of a character string called a “painted and rooted cactus expression”.
For the remainder of this discussion the terms cactus and cactus expression
will be used to mean the painted and rooted varieties. A cactus expression
is formed on an alphabet consisting of the relevant set of identifiers,
the paints, together with three punctuation marks: the left parenthesis,
the comma, and the right parenthesis.

Resources
=========

• Theme One Program • Documentation
http://intersci.ss.uci.edu/wiki/index.php/Theme_One_Program

• Theme One Program • Exposition
http://intersci.ss.uci.edu/wiki/index.php/Theme_One_Program_%E2%80%A2_Exposition

• Theme One Program • User Guide

--

### joseph simpson

Jun 9, 2018, 11:37:15 PM6/9/18
Jon:

Very interesting as usual.

A functional definition of a system is:

"A system is a constraint on variation."

Your work on differential logic states:

"Differential logic is the component of logic whose object is the description of variation.."

From:

It seems to me that differential logic plays a strong role in describing functional systems.

It will be interesting to see how this all works out...

Many systems folks focus on the construction rule definition of a system:

"A system is a relationship associated with an collection of objects."

Take care and have fun,

Joe

--
You received this message because you are subscribed to the Google Groups "Structural Modeling" group.
To unsubscribe from this group and stop receiving emails from it, send an email to structural-modeling+unsubscribe...@googlegroups.com.
To post to this group, send email to structural-modeling@googlegroups.com.

### Jon Awbrey

Jun 10, 2018, 5:50:44 PM6/10/18
to SysSciWG, Structural Modeling
Theme One Exposition • 3
http://inquiryintoinquiry.com/2018/06/10/theme-one-exposition-%e2%80%a2-3/

Systems Science, Structural Modeling Groups ...

My earliest experiments with coding logical graphs as pointer data structures
taught me that conceptual and computational efficiencies of a critical sort
could be achieved by generalizing their abstract graphs from trees to the
variety graph theorists call cacti. The genesis of that generalization
is a tale worth telling another time, but for now it’s best to jump
right in and proceed by way of generic examples.

Figure 1 shows a typical example of a painted and rooted cactus.

o
a | d
o---o o
\ / b c |
o----o----o b e
\ /
\ /
\ /
\ /
@ a c e

Figure 1. Painted And Rooted Cactus

Figure 2 shows a way to visualize the correspondence between cactus graphs and
cactus strings, demonstrated on the cactus from Figure 1. By way of convenient
terminology, the polygons of a cactus graph are called its lobes. An edge not
a part of a larger polygon is called a 2-gon or a bi-gon. A terminal bi-gon
is called a spike.

o
a (|) d
o---o o
(\ /) b c (|)
o--,--o--,--o b e
\ /
\ /
( \ / )
\ /
\ /
@ a c e

( ( a , ( ) ) , b c , ( d ) b e ) a c e

Figure 2. Cactus Graph and Cactus Expression

The correspondence between a cactus graph and a cactus string is
obtained by an operation called traversing the graph in question.

• One traverses a cactus graph by beginning at the left hand side of the root node,
reading off the list of paints one encounters at that point. Since the order of
elements at any node is not significant, one may start the cactus string with that
list of paints or save them for the end. We have done the latter in this case.

• One continues by climbing up the left hand side of the leftmost lobe, marking the
ascent by means of a left parenthesis, traversing whatever cactus one happens to
reach at the first node above the root, that done, proceeding from left to right
along the top side of the lobe, marking each interlobal span by means of a comma,
traversing each cactus in turn one meets along the way, on completing the last of
them climbing down the right hand side of the lobe, marking the descent by means
of a right parenthesis, and then traversing each cactus in turn, in left to right
order, that is incident with the root node.

The string of letters, parentheses, and commas one obtains by this procedure
is called the traversal string of the graph, in this case, a cactus string.

Resources
=========

• Theme One Program • Documentation
http://intersci.ss.uci.edu/wiki/index.php/Theme_One_Program

• Theme One Program • Exposition
http://intersci.ss.uci.edu/wiki/index.php/Theme_One_Program_%E2%80%A2_Exposition

• Theme One Program • User Guide

Regards,

Jon

### joseph simpson

Jun 11, 2018, 12:49:51 AM6/11/18
Jon:

Our structural modeling work (Mary and I) identified two general types (categories) of natural language relationships.

Type One: Global natural language relationships. (bigger than, happens before, is heavier than.)

Type Two: Local natural language relationships. (impacts, causes, influences.)

Global natural language relationships generate a strict order of the system objects of interest.  A global relationship creates a single threaded graph.  The 2-path graph, 3-path graph and 4-path graph shown at the following link:

As we move toward the further analysis of local natural language relationships, we will engage other types of cactus graphs.  At this time cycles are not allowed in the basic structural modeling graphs.  If a cycle is created the cycle is either condensed, compressed or otherwise reduced to a single node. When cycles are transformed into a single node there is a context dependent natural language transform applied.

Our current structural modeling software addresses only global and clustering natural language relationships.

Cactus graphs appear to be a great candidate for this more detailed work in local relationship types because cactus graphs already address the global types.  One kind of graph family for structural modeling will make things simpler than two or more different graphic approaches.

Take care and have fun,

Joe

--
You received this message because you are subscribed to the Google Groups "Structural Modeling" group.
To unsubscribe from this group and stop receiving emails from it, send an email to structural-modeling+unsubscribe...@googlegroups.com.
To post to this group, send email to structural-modeling@googlegroups.com.