~/tedtes/writing/math-foundations-for-reasoning-models

~/writing/math-foundations-for-reasoning-models $ ls

Computation as State Transition

Non-Deterministic Computation

Non-deterministic computation means one current configuration may allow multiple valid next configurations.

~/writing/math-foundations-for-reasoning-models $ cat topic.md

What Is Non-Deterministic Computation?

Definition

Non-deterministic computation means one current configuration may allow more than one valid next configuration.

Simple form:

current configuration -> possible next configuration 1
current configuration -> possible next configuration 2

The system is not moving without rules.

The rules still define which moves are valid.

Non-deterministic computation = multiple valid next steps may exist


Not Random

Non-deterministic does not mean random.

Random means a choice is made by chance.

Non-deterministic means the model allows multiple possible next steps.

Example:

Current state: x = 5

Allowed:
5 -> 6
5 -> 4

This says both moves are possible.

It does not say one is chosen by probability.

Non-determinism is about possible paths, not chance.


Still Rule-Based

Non-deterministic computation still has rules.

Example:

Rule 1: if x > 0, x -> x - 1
Rule 2: if x > 0, x -> x + 1

Current state:

x = 3

Both rules apply:

3 -> 2
3 -> 4

The next state is not arbitrary.

Only the states allowed by the rules are possible.

Non-deterministic does not mean unconstrained.


Branching Execution

In deterministic execution, the trace is a single path.

In non-deterministic execution, the trace may branch.

Example:

        5
       / \
      4   6
     /     \
    3       7

From one state, more than one path may continue.

So instead of one execution trace, we may need to think about a tree of possible traces.

Non-deterministic execution can form a branching structure.


Configuration Branching

The branching happens from a full configuration, not just from a value.

Example:

Tape: [1] [0] [1]
          ^
Control state: scanning

Read symbol:

0

Two rules may apply:

(scanning, 0) -> (write 1, move right, next state returning)
(scanning, 0) -> (write 0, move left, next state scanning)

The same current configuration allows two valid next configurations.

Non-determinism is defined at the level of possible configuration transitions.


Same Input, Multiple Possible Traces

With non-deterministic computation, the same input can lead to more than one possible trace.

Example:

Input: 2

Allowed rules:
if x > 0, x -> x - 1
if x > 0, x -> x + 1

Possible trace:

2 -> 1 -> 0 -> stop

Another possible trace:

2 -> 3 -> 4 -> 5 -> ...

Same input.

Same rules.

Different possible paths.

Non-deterministic computation describes a set of possible traces.


Possible Does Not Mean Actual

When we list possible next configurations, we are describing what the rules permit.

Example:

current configuration -> move left
current configuration -> move right

This does not mean both movements happen as one physical action.

It means both are valid continuations in the model.

Non-determinism describes possible continuations, not simultaneous physical motion.


Why Use Non-Deterministic Models?

Non-deterministic computation is useful when we want to describe possibility.

It lets us ask:

  • what paths are allowed?
  • does at least one path reach a desired result?
  • do all paths avoid an invalid result?
  • where can execution branch?

This is useful even before thinking about implementation.

It gives a clean way to reason about possible behavior.

Non-determinism is a tool for analyzing possible computational paths.


Non-Deterministic Does Not Mean Confused

A non-deterministic system can be precisely defined.

Example:

From x = 5, allowed next states are {4, 6}.

This is clear.

What is not specified is which path is selected as the actual continuation.

The possible continuations are still exact.

Non-determinism can be precise even when the next path is not unique.


Deterministic As A Special Case

Deterministic computation is the case where each configuration has at most one next configuration.

Non-deterministic computation allows more than one.

Comparison:

Deterministic:
current configuration -> one next configuration

Non-deterministic:
current configuration -> possible next configuration 1
current configuration -> possible next configuration 2

The difference is the number of valid next steps.

The key distinction is uniqueness of the next configuration.


Final Summary

  • Non-deterministic computation allows multiple valid next configurations.
  • It is not the same as randomness.
  • It is still rule-based and constrained.
  • The same input may produce multiple possible traces.
  • Branching happens from full configurations.
  • Possible paths are allowed continuations, not necessarily simultaneous physical actions.
  • Non-determinism is useful for reasoning about possible computational behavior.
  • Determinism is the special case where each configuration has at most one next configuration.

~/writing/math-foundations-for-reasoning-models $ open

Continue the series.

Turing Machine