Unifying Claims and Theories in CTP Theory

Mar 09, 2020

In CTP Theory, there are two basic types of ideas (not including problems, which are treated as separate entities): claims and theories. Claims are simply instances of some kind of data structure that represent some proposition about the world, while theories are functions that take in one or more claims as inputs and return a claim as an output. I think this framework is productive in that it allows for a very rigorous explanation of how the implications of ideas can be explored: If using a set of claims C as an input to a theory T produces a new claim N, N is an implication of T and C (in other words, N can be derived from C and T). Read More

The Case for Score Systems in Single-Player Strategy Games

Jan 23, 2020

I have argued for a long time that score systems are superior to win/loss systems as endgame feedback mechanisms in single-player strategy games. I believe that there are significant advantages to score systems, and no significant disadvantages, so all single-player strategy games, going forward, should adopt score systems. Read More

Plan Disruption

Jan 16, 2020

The strategic thinking that happens in strategy games can be thought of as a process of forming plans. The player takes in information, and then forms a plan based on that information and their understanding of the game. When a player’s plan is interrupted, they are forced to adapt, and the process of adapting can also be thought of as forming a new plan. The process of forming plans and then learning which types of plans are better or worse at accomplishing the goal of the game is what makes games fun. Thus, it is important to understand how the structure of a game affects the player’s plans. Read More

CTP Theory: Automatic Routine Extraction

Dec 07, 2019

In CTP Theory, new theories are created by an algorithm, called the "conjecture algorithm", that randomly varies the code of an old theory to create a new one. One obvious way to implement the conjecture algorithm is to make it randomly delete or insert new instructions into the code. This approach, however, has at least one serious issue: the only functions it can insert into the code are those that are built into the language as basic instructions. To solve this issue, I've developed an approach I call "Routine Extraction", which automatically finds repeated chunks of code and moves them into a function. I call functions created in this manner "routines". Once routines have been found, the conjecture algorithm can insert references to these routines into new theories, rather than only inserting basic instructions. Read More

Does CTP Theory Need a new Type of Problem?

Nov 15, 2019

In CTP Theory as it is now, a problem is created whenever there are two directly contradictory claims, and the set of theories involved in a problem includes every theory involved in either of the claim's lineage. This framework is good for capturing factual contradictions (more specifically, contradictions between two statements of fact), and tracking exactly which theories are involved in the contradiction. However, I worry that not all problems can be boiled down to factual contradictions. Read More

See more blog posts


Woven Rays

Jun 18, 2020


Dec 29, 2019


Nov 16, 2019