Survey of Theme One Program
• https://inquiryintoinquiry.com/2023/03/30/survey-of-theme-one-program-5/
This is a Survey of resources for the Theme One Program I worked on all through the 1980s. The aim was to develop fundamental algorithms and data structures for integrating empirical learning with logical reasoning. I had earlier developed separate programs for basic components of those tasks, namely, 2-level formal language learning and propositional constraint satisfaction, the latter using an extension of C.S. Peirce's logical graphs as a syntax for propositional logic. Thus arose the question of how well it might be possible to get “empiricist” and “rationalist” modes of operation to cooperate. The long-term vision is the design and implementation of an Automated Research Tool able to double as a platform for Inquiry Driven Education.
Please follow the above link for the full set of resources. A sample of basics are liked below.
Wiki Hub —
Theme One Program • Overview
• https://oeis.org/wiki/Theme_One_Program_%E2%80%A2_Overview
Documentation —
Theme One Program • Pascal Source Code
• https://www.academia.edu/5210987/Theme_One_Program_Pascal_Source_Code
Theme One Program • User Guide
• https://www.academia.edu/5211369/Theme_One_Program_User_Guide
Theme One Program • Exposition
• https://oeis.org/wiki/Theme_One_Program_%E2%80%A2_Exposition
Applications —
Applications of a Propositional Calculator • Constraint Satisfaction Problems
• https://www.academia.edu/4727842/Applications_of_a_Propositional_Calculator_Constraint_Satisfaction_Problems
Exploratory Qualitative Analysis of Sequential Observation Data
• https://oeis.org/wiki/User:Jon_Awbrey/Exploratory_Qualitative_Analysis_of_Sequential_Observation_Data
References —
An Architecture for Inquiry • Building Computer Platforms for Discovery
• https://www.academia.edu/1270327/An_Architecture_for_Inquiry_Building_Computer_Platforms_for_Discovery
Exploring Research Data Interactively • Theme One : A Program of Inquiry
• https://www.academia.edu/1272839/Exploring_Research_Data_Interactively._Theme_One_A_Program_of_Inquiry
#Peirce #Logic #LogicalGraphs #ThemeOneProgram #IdeaProcessor
#BooleanSatisfiability #CactusLanguage #DeclarativeProgramming
#declarativeprogramming #CactusLanguage #booleansatisfiability #ideaprocessor #ThemeOneProgram #LogicalGraphs #logic #Peirce
Theme One Program • Discussion 10
• https://inquiryintoinquiry.com/2023/04/17/theme-one-program-discussion-10/
Re: Seamus Bradley ( https://mathstodon.xyz/@Scmbradley/110198310724722597 )
❝I thought of a programming language where every function can only return one type: the return type. The return type is just a wrapper around a struct that contains the actual return value, but also a reference to the called function and arguments, and possibly an error code.❞
My flashback —
Way back in the last millennium I started work on a programming style I called an “idea processor”, where an “idea” is a pointer to a “form” and a form is a minimal type of record containing 1 character, 1 number, and 4 more ideas.
I implemented a functional style where all the main functions are transformations of one or more ideas to a return idea. The principal data type is an “idea-form flag” which serves a role analogous to a “cons cell” in Lisp.
Here's one entry point —
Theme One Program • Exposition 1
• https://inquiryintoinquiry.com/2022/06/15/theme-one-program-exposition-1-2/
#Peirce #Logic #LogicalGraphs #ThemeOneProgram #IdeaProcessor
#CactusLanguage #DeclarativeProgram #FunctionalProgramming
#functionalprogramming #declarativeprogram #CactusLanguage #ideaprocessor #ThemeOneProgram #LogicalGraphs #logic #Peirce
Theme One Program • Exposition 1.2
• https://inquiryintoinquiry.com/2022/06/15/theme-one-program-exposition-1-2/
The Idea↑Form Flag
The graph-theoretic data structures used by the program are built up from a basic data structure called an “idea-form flag”. That structure is defined as a pair of Pascal data types by means of the following specifications.
Figure 1. Type Idea = ^Form
• https://inquiryintoinquiry.files.wordpress.com/2022/06/theme-exposition-type-idea-5eform.png
Figure 2. Code Box
• 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 labeled with the other data, in this case, a letter and a number.
#ThemeOneProgram #Learning #Reasoning
#Logic #LogicalGraphs #FormalLanguages
#Algorithm #DataStructure #GraphTheory
#Peirce #PragmaticSemioticInformation
#Empiricism #Rationalism #Pragmatism
#pragmatism #rationalism #empiricism #pragmaticsemioticinformation #Peirce #graphtheory #datastructure #algorithm #formallanguages #LogicalGraphs #logic #reasoning #learning #ThemeOneProgram
Theme One Program • Exposition 1.1
• https://inquiryintoinquiry.com/2022/06/15/theme-one-program-exposition-1-2/
Theme One is a program for constructing and transforming a particular species of graph‑theoretic data structures, forms designed to support a variety of fundamental learning and reasoning tasks.
The program evolved over the course of an exploration into the integration of contrasting types of activities involved in learning and reasoning, especially the types of algorithms and data structures capable of supporting all sorts of inquiry processes, from everyday problem solving to scientific investigation. 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.
We begin by describing the class of graph-theoretic data structures used by the program, as determined by their local and global features. It will be the usual practice to shift around and 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-theoretic data structures. In their abstract form these structures are closely related to the graphs called cacti and conifers in graph theory, so we’ll generally refer to them under those names.
#ThemeOneProgram #Learning #Reasoning
#Logic #LogicalGraphs #FormalLanguages
#Algorithm #DataStructure #GraphTheory
#Peirce #PragmaticSemioticInformation
#Empiricism #Rationalism #Pragmatism
#pragmatism #rationalism #empiricism #pragmaticsemioticinformation #Peirce #graphtheory #datastructure #algorithm #formallanguages #LogicalGraphs #logic #reasoning #learning #ThemeOneProgram
Theme One Program • Motivation 6
• https://inquiryintoinquiry.com/2022/08/20/theme-one-program-motivation-6-2/
Comments I made in reply to a correspondent’s questions about delimiters and tokenizing in the Learner module may be worth sharing here.
In one of the projects I submitted toward a Master’s in psychology I used the Theme One program to analyze samples of data from my advisor’s funded research study on family dynamics. In one phase of the study observers viewed video-taped sessions of family members (parent and child) interacting in various modes (“play” or “work”) and coded qualitative features of each moment’s activity over a period of time.
The following page describes the application in more detail and reflects on its implications for the conduct of scientific inquiry in general.
Exploratory Qualitative Analysis of Sequential Observation Data
• https://oeis.org/wiki/User:Jon_Awbrey/Exploratory_Qualitative_Analysis_of_Sequential_Observation_Data
In this application a “phrase” or “string” is a fixed-length sequence of qualitative features and a “clause” or “strand” is a sequence of such phrases delimited by what the observer judges to be a significant pause in the action.
In the qualitative research phases of the study one is simply attempting to discern any significant or recurring patterns in the data one possibly can.
In this case the observers are tokenizing the observations according to a codebook that has passed enough intercoder reliability studies to afford them all a measure of confidence it captures meaningful aspects of whatever reality is passing before their eyes and ears.
#ThemeOneProgram #Learning #Reasoning
#Logic #LogicalGraphs #FormalLanguages
#Algorithm #DataStructure #GraphTheory
#Peirce #PragmaticSemioticInformation
#Empiricism #Rationalism #Pragmatism
#pragmatism #rationalism #empiricism #pragmaticsemioticinformation #Peirce #graphtheory #datastructure #algorithm #formallanguages #LogicalGraphs #logic #reasoning #learning #ThemeOneProgram
Theme One Program • Motivation 5
• https://inquiryintoinquiry.com/2022/08/20/theme-one-program-motivation-5-2/
Since I’m working from decades-old memories of first inklings I thought I might peruse the web for current information about Zipf’s Law. I see there is now something called the Zipf–Mandelbrot (and sometimes –Pareto) Law and that was interesting because my wife Susan Awbrey made use of Mandelbrot’s ideas about self-similarity in her dissertation and communicated with him about it. So there’s more to read up on.
Just off-hand, though, I think my Learner is dealing with a different problem. It has more to do with the savings in effort a learner gets by anticipating future experiences based on its record of past experiences than the savings it gets by minimizing bits of storage as far as mechanically possible. There is still a type of compression involved but it’s more like Korzybski’s “time-binding” than space-savings proper. Speaking of old memories …
The other difference I see is that Zipf’s Law applies to an established and preferably large corpus of linguistic material, while my Learner has to start from scratch, accumulating experience over time, making the best of whatever data it has at the outset and every moment thereafter.
#ThemeOneProgram #Learning #Reasoning
#Logic #LogicalGraphs #FormalLanguages
#Algorithm #DataStructure #GraphTheory
#Peirce #PragmaticSemioticInformation
#Empiricism #Rationalism #Pragmatism
#pragmatism #rationalism #empiricism #pragmaticsemioticinformation #Peirce #graphtheory #datastructure #algorithm #formallanguages #LogicalGraphs #logic #reasoning #learning #ThemeOneProgram
Theme One Program • Motivation 4
• https://inquiryintoinquiry.com/2022/08/19/theme-one-program-motivation-4-2/
From Zipf’s Law and the category of “things that vary inversely with frequency” I got my first brush with the idea that keeping track of usage frequencies is part and parcel of building efficient codes.
In its first application the environment the Learner has to learn is the usage behavior of its user, as given by finite sequences of characters from a finite alphabet, which sequences of characters might as well be called “words”, together with finite sequences of those words which might as well be called “phrases” or “sentences”. In other words, Job One for the Learner is the job of constructing a “user model”.
In that frame of mind we are not seeking anything so grand as a Universal Induction Algorithm but simply looking for any approach to give us a leg up, complexity wise, in Interactive Real Time.
#ThemeOneProgram #Learning #Reasoning
#Logic #LogicalGraphs #FormalLanguages
#Algorithm #DataStructure #GraphTheory
#Peirce #PragmaticSemioticInformation
#Empiricism #Rationalism #Pragmatism
#pragmatism #rationalism #empiricism #pragmaticsemioticinformation #Peirce #graphtheory #datastructure #algorithm #formallanguages #LogicalGraphs #logic #reasoning #learning #ThemeOneProgram
Theme One Program • Motivation 3
• https://inquiryintoinquiry.com/2022/08/18/theme-one-program-motivation-3-2/
Sometime around 1970 John B. Eulenberg came from Stanford to direct Michigan State’s Artificial Language Lab, where I would come to spend many interesting hours hanging out all through the 70s and 80s. Along with its research program the lab did a lot of work on augmentative communication technology for limited mobility users and the observations I made there prompted the first inklings of my Learner program.
Early in that period I visited John’s course in mathematical linguistics, which featured Laws of Form among its readings, along with the more standard fare of Wall, Chomsky, Jackendoff, and the Unified Science volume by Charles Morris which credited Peirce with pioneering the pragmatic theory of signs. I learned about Zipf’s Law relating the lengths of codes to their usage frequencies and I named the earliest avatar of my Learner program XyPh, partly after Zipf and playing on the xylem and phloem of its tree data structures.
#ThemeOneProgram #Learning #Reasoning
#Logic #LogicalGraphs #FormalLanguages
#Algorithm #DataStructure #GraphTheory
#Peirce #PragmaticSemioticInformation
#Empiricism #Rationalism #Pragmatism
#pragmatism #rationalism #empiricism #pragmaticsemioticinformation #Peirce #graphtheory #datastructure #algorithm #formallanguages #LogicalGraphs #logic #reasoning #learning #ThemeOneProgram
Theme One Program • Motivation 2.2
• https://inquiryintoinquiry.com/2022/08/17/theme-one-program-motivation-2-2/
As I mentioned, work on those two projects proceeded in a parallel series of fits and starts through interwoven summers for a number of years, until one day it dawned on me how the Learner, one of whose aliases was Index, could be put to work helping with sundry substitution tasks the Modeler needed to carry out.
So I began integrating the functions of the Learner and the Modeler, at first still working on the two component modules in an alternating manner, but devoting a portion of effort to amalgamating their principal data structures, bringing them into convergence with each other, and unifying them over a common basis.
Another round of seasons and many changes of mind and programming style, I arrived at a unified graph-theoretic data structure, strung like a wire through the far‑flung pearls of my programmed wit. But the pearls I polished in alternate years maintained their shine along axes of polarization whose grains remained skew in regard to each other. To put it more plainly, the strategies I imagined were the smartest tricks to pull from the standpoint of optimizing the program’s performance on the Learning task I found the next year were the dumbest moves to pull from the standpoint of its performance on the Reasoning task. I gradually came to appreciate that trade-off as a discovery.
#ThemeOneProgram #Learning #Reasoning
#Logic #LogicalGraphs #FormalLanguages
#Algorithm #DataStructure #GraphTheory
#Peirce #PragmaticSemioticInformation
#Empiricism #Rationalism #Pragmatism
#pragmatism #rationalism #empiricism #pragmaticsemioticinformation #Peirce #graphtheory #datastructure #algorithm #formallanguages #LogicalGraphs #logic #reasoning #learning #ThemeOneProgram
Theme One Program • Motivation 2.1
• https://inquiryintoinquiry.com/2022/08/17/theme-one-program-motivation-2-2/
A side-effect of working on the Theme One program over the course of a decade was the measure of insight it gave me into the reasons why empiricists and rationalists have so much trouble understanding each other, even when those two styles of thinking inhabit the very same soul.
The way it came about was this. The code from which the program is currently assembled initially came from two distinct programs, ones I developed in alternate years, at first only during the summers.
In the Learner program I sought to implement a Humean empiricist style of learning algorithm for the adaptive uptake of coded sequences of occurrences in the environment, say, as codified in a formal language. I knew all the theorems from formal language theory telling how limited any such strategy must ultimately be in terms of its generative capacity, but I wanted to explore the boundaries of that capacity in concrete computational terms.
In the Modeler program I aimed to implement a variant of Peirce’s graphical syntax for propositional logic, making use of graph-theoretic extensions I had developed over the previous decade.
#ThemeOneProgram #Learning #Reasoning
#Logic #LogicalGraphs #FormalLanguages
#Algorithm #DataStructure #GraphTheory
#Peirce #PragmaticSemioticInformation
#Empiricism #Rationalism #Pragmatism
#pragmatism #rationalism #empiricism #pragmaticsemioticinformation #Peirce #graphtheory #datastructure #algorithm #formallanguages #LogicalGraphs #logic #reasoning #learning #ThemeOneProgram
Theme One Program • Motivation 1
• https://inquiryintoinquiry.com/2022/08/16/theme-one-program-motivation-1-2/
The main idea behind the Theme One program is the efficient use of graph-theoretic data structures for the tasks of “learning” and “reasoning”.
I am thinking of learning in the sense of learning about an environment, in essence, gaining information about the nature of an environment and being able to apply the information acquired to a specific purpose.
Under the heading of reasoning I am simply lumping together all the ordinary sorts of practical activities which would probably occur to most people under that name.
There is a natural relation between the tasks. Learning the character of an environment leads to the recognition of laws which govern the environment and making full use of that recognition requires the ability to reason logically about those laws in abstract terms.
#ThemeOneProgram #Learning #Reasoning
#Logic #LogicalGraphs #FormalLanguages
#Peirce #PragmaticSemioticInformation
#Empiricism #Rationalism #Pragmatism
#pragmatism #rationalism #empiricism #pragmaticsemioticinformation #Peirce #formallanguages #LogicalGraphs #logic #reasoning #learning #ThemeOneProgram
A program I worked on all through the 80s implemented a propositional modeler based on #Peirce's #LogicalGraphs, improving the efficiency of the Alpha level through the use of #MinimalNegationOperators. There's a collection of articles, blog posts, and group discussions about that linked on the following page.
#ThemeOneProgram • #SurveyPage
• https://inquiryintoinquiry.com/2022/06/12/survey-of-theme-one-program-4/
#surveypage #ThemeOneProgram #MinimalNegationOperators #LogicalGraphs #Peirce
#ThemeOneProgram • #JetsAndSharks 3.1
• https://inquiryintoinquiry.com/2022/09/03/theme-one-program-jets-and-sharks-3/
Using #CactusGraphs or #MinimalNegations to implement pools of #MutuallyInhibitoryNeurons builds #NeuralArchitectures on substantially different foundations from current connectionist models. At a high level of abstraction, though, there is enough homology between the two orders to compare their performance on many of the same tasks. Thus I was able to try the program on several examples suggested by McClelland & Rumelhart.
#logic #neuralarchitectures #mutuallyinhibitoryneurons #minimalnegations #CactusGraphs #JetsAndSharks #ThemeOneProgram
#ThemeOneProgram • #JetsAndSharks 3
• https://inquiryintoinquiry.com/2022/09/03/theme-one-program-jets-and-sharks-3/
Given a representation of the Jets & Sharks universe in computer memory, we naturally want to see if the memory serves to supply the facts a well-constructed #DataBase should.
In their #PDPHandbook presentation of the Jets & Sharks example, #McClelland & #Rumelhart give several exercises for exploring the use of their #NeuralPool #MemoryModel on tasks of #Retrieval & #Generalization.
Exercise 2.1
• https://web.stanford.edu/group/pdplab/pdphandbook/handbookch3#x7-330001
#logic #generalization #retrieval #memorymodel #neuralpool #Rumelhart #McClelland #PDPHandbook #database #JetsAndSharks #ThemeOneProgram
#ThemeOneProgram • #JetsAndSharks 2.1
• https://inquiryintoinquiry.com/2022/08/30/theme-one-program-jets-and-sharks-2/
Our #CactusGraph bears a vocabulary of \(41\) #LogicalTerms, each denoting a #BooleanVariable, so our proposition, call it \(``q",\) is a #BooleanFunction \(q:\mathbb{B}^{41}\to\mathbb{B}.\) Since \(2^{41}=2,199,023,255,552,\) its #TruthTable has \(>\) 2 trillion rows and its #VennDiagram has that many cells. There are \(2^{2^{41}}\) functions \(f:\mathbb{B}^{41}\to\mathbb{B},\) among which \(q\) is just one.
#LogicalGraphs #logic #venndiagram #truthtable #booleanfunction #booleanvariable #logicalterms #cactusgraph #JetsAndSharks #ThemeOneProgram
#ThemeOneProgram • #JetsAndSharks 2
• https://inquiryintoinquiry.com/2022/08/30/theme-one-program-jets-and-sharks-2/
As we saw last time, Theme One reads the text file shown below and constructs a #CactusGraph #DataStructure in computer memory. The cactus graph represents a single #LogicalFormula in #PropositionalCalculus and that proposition embodies the #LogicalConstraints defining the Jets and Sharks #DataBase.
Jets and Sharks • Log File
• https://inquiryintoinquiry.files.wordpress.com/2022/08/theme-one-guide-e280a2-jets-and-sharks-e280a2-log-file.png
#logicalcacti #cactussyntax #Peirce #LogicalGraphs #logic #database #logicalconstraints #PropositionalCalculus #logicalformula #datastructure #cactusgraph #JetsAndSharks #ThemeOneProgram
#ThemeOneProgram • #JetsAndSharks 1.5
• https://inquiryintoinquiry.com/2022/08/25/theme-one-program-jets-and-sharks-1/
Reference
#McClelland, J.L. (2015),
Explorations in #ParallelDistributedProcessing :
A Handbook of Models, Programs, and Exercises,
2nd ed. (draft),
#StanfordParallelDistributedProcessingLab.
• https://web.stanford.edu/group/pdplab/
#PDPHandbook Online
•https://web.stanford.edu/group/pdplab/pdphandbook/
Section 2.3. Exercises
•https://web.stanford.edu/group/pdplab/pdphandbook/handbookch3#x7-320002.3
Figure 2.1. Jets and Sharks
• https://web.stanford.edu/group/pdplab/pdphandbook/jetsandsharkstable.png
#PDPHandbook #stanfordparalleldistributedprocessinglab #paralleldistributedprocessing #McClelland #JetsAndSharks #ThemeOneProgram
#ThemeOneProgram • #JetsAndSharks 1.4
• https://inquiryintoinquiry.com/2022/08/25/theme-one-program-jets-and-sharks-1/
Displayed below is the text expression of a #TraversalString which Theme One parses into a #CactusGraph #DataStructure in computer memory. The cactus graph represents a single #LogicalFormula in #PropositionalCalculus and this proposition embodies all the #LogicalConstraints defining the Jets and Sharks #DataBase.
#Logic #LogicalGraphs #Peirce
#CactusSyntax #LogicalCacti
#MinimalNegationOperators
#MinimalNegationOperators #logicalcacti #cactussyntax #Peirce #LogicalGraphs #logic #database #logicalconstraints #PropositionalCalculus #logicalformula #datastructure #cactusgraph #traversalstring #JetsAndSharks #ThemeOneProgram
#ThemeOneProgram • #JetsAndSharks 1.3
• https://inquiryintoinquiry.com/2022/08/25/theme-one-program-jets-and-sharks-1/
The manner of representation may be illustrated by transcribing a well-known example from the #ParallelDistributedProcessing literature (#McClelland and #Rumelhart 1988) and working through a couple of the associated exercises as translated into #LogicalGraphs.
#Logic #Peirce #Semiotics #Semiosis
#Grossberg #CompetitionCooperation
#GraphTheory #ModelTheory #ProofTheory
#LogicalCacti #MinimalNegationOperators
#MinimalNegationOperators #logicalcacti #ProofTheory #modeltheory #graphtheory #competitioncooperation #grossberg #Semiosis #semiotics #Peirce #logic #LogicalGraphs #Rumelhart #McClelland #paralleldistributedprocessing #JetsAndSharks #ThemeOneProgram
#ThemeOneProgram • #JetsAndSharks 1.2
• https://inquiryintoinquiry.com/2022/08/25/theme-one-program-jets-and-sharks-1/
One way to do this is to interpret the blank or #UnmarkedState as the #RestingState of a #NeuralPool, the bound or #MarkedState as its #ActivatedState, and to represent a mutually inhibitory pool of #Neurons \(a,b,c\) by the proposition \(\texttt{(}a\texttt{,}b\texttt{,}c\texttt{)}.\)
#Logic #LogicalGraphs #Peirce
#Grossberg #McClelland #Rumelhart
#GraphTheory #ModelTheory #ProofTheory
#LogicalCacti #MinimalNegationOperators
#MinimalNegationOperators #logicalcacti #ProofTheory #modeltheory #graphtheory #Rumelhart #McClelland #grossberg #Peirce #LogicalGraphs #logic #neurons #activatedstate #markedstate #neuralpool #restingstate #unmarkedstate #JetsAndSharks #ThemeOneProgram