Skip to main content

Backtracking Ontology

Algorithms
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 01 October 2026
Audio Overview
AI SEARCH

FLOW ALGEBRA — BACKTRACKING ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/algorithms/backtracking-ontology.html

FLOW BACKTRACKING_ONTOLOGY {

  META {
    DOMAIN = "Computing Ontologies"
    SUBDOMAIN = "Algorithms"
    ONTOLOGY = "Backtracking Ontology"
    PURPOSE = "Formalise backtracking algorithms, search spaces, partial solutions, candidate choices, constraints, pruning, recursion, state restoration, solutions, correctness and complexity."
    LOCALE = "en-GB"
  }

  ENTITY_TYPES {
    BACKTRACKING
    BACKTRACKING_ALGORITHM
    SEARCH_PROBLEM
    SEARCH_SPACE
    STATE_SPACE
    SEARCH_TREE
    SEARCH_NODE
    ROOT_STATE
    STATE
    PARTIAL_SOLUTION
    COMPLETE_SOLUTION
    CANDIDATE
    CANDIDATE_SET
    CHOICE
    DECISION
    DECISION_POINT
    VARIABLE
    DOMAIN
    ASSIGNMENT
    CONSTRAINT
    CONSTRAINT_SET
    FEASIBLE_STATE
    INFEASIBLE_STATE
    VALID_PARTIAL_SOLUTION
    INVALID_PARTIAL_SOLUTION
    GOAL_STATE
    DEAD_END
    FAILURE_STATE
    SUCCESS_STATE
    RECURSIVE_CALL
    CALL_STACK
    STACK_FRAME
    DEPTH
    BRANCHING_FACTOR
    EXPANSION
    DESCENT
    BACKTRACK_STEP
    STATE_RESTORATION
    UNDO_OPERATION
    PRUNING
    CONSTRAINT_PRUNING
    FORWARD_CHECKING
    BOUND
    BRANCH_AND_BOUND
    HEURISTIC
    VARIABLE_ORDERING
    VALUE_ORDERING
    SYMMETRY_BREAKING
    N_QUEENS
    SUDOKU
    GRAPH_COLOURING
    HAMILTONIAN_PATH
    KNIGHT_TOUR
    SUBSET_SUM
    PERMUTATION_GENERATION
    COMBINATION_GENERATION
    MAZE_SEARCH
    CONSTRAINT_SATISFACTION_PROBLEM
    SATISFIABILITY_PROBLEM
    PRECONDITION
    POSTCONDITION
    INVARIANT
    CORRECTNESS
    COMPLETENESS
    TERMINATION
    INPUT_SIZE
    NODE_COUNT
    TIME_COMPLEXITY
    SPACE_COMPLEXITY
    WORST_CASE
    EXECUTION
    EXECUTION_TRACE
    IMPLEMENTATION
    CONFIGURATION
    ERROR
    EVIDENCE
    CONFIDENCE_SCORE
    PROVENANCE_RECORD
  }

  RELATIONSHIPS {
    IS_A
    INSTANCE_OF
    SOLVES
    SEARCHES
    SEARCHES_IN
    HAS_STATE
    HAS_ROOT
    HAS_CHILD
    HAS_PARENT
    HAS_PARTIAL_SOLUTION
    HAS_CANDIDATE
    HAS_CHOICE
    HAS_DECISION
    HAS_VARIABLE
    HAS_DOMAIN
    ASSIGNS
    HAS_CONSTRAINT
    SATISFIES
    VIOLATES
    EXTENDS
    EXPANDS
    DESCENDS_TO
    BACKTRACKS_TO
    RESTORES
    UNDOS
    PRUNES
    REJECTS
    ACCEPTS
    HAS_GOAL
    REACHES
    HAS_DEAD_END
    HAS_DEPTH
    HAS_BRANCHING_FACTOR
    USES_HEURISTIC
    ORDERS_VARIABLE
    ORDERS_VALUE
    BREAKS_SYMMETRY
    REQUIRES
    ENSURES
    MAINTAINS
    HAS_INVARIANT
    HAS_CORRECTNESS
    HAS_COMPLETENESS
    HAS_TERMINATION
    HAS_TIME_COMPLEXITY
    HAS_SPACE_COMPLEXITY
    IMPLEMENTED_BY
    EXECUTED_BY
    HAS_CONFIGURATION
    DEPENDS_ON
    DERIVED_FROM
    INFERRED_FROM
    HAS_EVIDENCE
    HAS_CONFIDENCE
    HAS_PROVENANCE
    SEMANTICALLY_EQUIVALENT_TO
  }

  INPUTS {
    BACKTRACKING_ALGORITHM_SPECIFICATIONS
    PROBLEM_DEFINITIONS
    PSEUDOCODE
    SOURCE_CODE
    STATE_SPACE_DEFINITIONS
    VARIABLE_AND_DOMAIN_DATA
    CANDIDATE_GENERATION_RULES
    CONSTRAINT_DEFINITIONS
    GOAL_TESTS
    PRUNING_RULES
    HEURISTIC_DEFINITIONS
    SEARCH_TREE_DATA
    EXECUTION_TRACES
    STATE_RESTORATION_TRACES
    SOLUTION_DATA
    CORRECTNESS_PROOFS
    COMPLETENESS_PROOFS
    COMPLEXITY_ANALYSES
    IMPLEMENTATION_DATA
    CONFIGURATION_DATA
    ONTOLOGY_TERMS
  }

  NORMALISE {
    STANDARDISE_BACKTRACKING_IDENTIFIERS
    NORMALISE_PROBLEM_IDENTIFIERS
    NORMALISE_STATE_IDENTIFIERS
    NORMALISE_VARIABLE_AND_DOMAIN_IDENTIFIERS
    NORMALISE_CANDIDATE_AND_CHOICE_IDENTIFIERS
    NORMALISE_CONSTRAINTS
    NORMALISE_GOAL_TESTS
    NORMALISE_PRUNING_RULES
    NORMALISE_HEURISTIC_NAMES
    NORMALISE_SEARCH_TREE_NODES
    NORMALISE_DEPTH_AND_BRANCHING_FACTOR
    NORMALISE_COMPLEXITY_NOTATION
    RESOLVE_ALGORITHM_STATE_AND_SOLUTION_IDENTITIES
    ALIGN_ONTOLOGY_TERMS
    REMOVE_DUPLICATES
    VALIDATE_METADATA
    PRESERVE_PROVENANCE
  }

  PROCESS BACKTRACKING_PIPELINE {
    SEARCH_PROBLEM
      -> INITIAL_STATE
      -> CANDIDATE_GENERATION
      -> CHOICE_SELECTION
      -> STATE_EXTENSION
      -> CONSTRAINT_CHECK
      -> ACCEPT_OR_REJECT
      -> GOAL_TEST
      -> RECURSE_OR_BACKTRACK
      -> SOLUTION_OR_SEARCH_EXHAUSTION
      -> VALIDATION
  }

  PROCESS CANDIDATE_REASONING {
    CURRENT_STATE
      -> UNRESOLVED_VARIABLE_OR_DECISION

    DECISION
      -> CANDIDATE_SET

    CANDIDATE_SET
      -> ORDERING_HEURISTIC_IF_ANY

    ORDERED_CANDIDATES
      -> NEXT_CHOICE
  }

  PROCESS EXTENSION_REASONING {
    PARTIAL_SOLUTION
      + CHOICE
      -> EXTENDED_STATE

    EXTENDED_STATE
      -> CONSTRAINT_CHECK

    CONSTRAINTS_SATISFIED
      -> VALID_PARTIAL_SOLUTION

    CONSTRAINT_VIOLATED
      -> INVALID_PARTIAL_SOLUTION
  }

  PROCESS RECURSIVE_SEARCH_REASONING {
    VALID_PARTIAL_SOLUTION
      -> GOAL_TEST

    GOAL_TRUE
      -> COMPLETE_SOLUTION

    GOAL_FALSE
      -> NEXT_DECISION
      -> RECURSIVE_CALL

    RECURSIVE_FAILURE
      -> BACKTRACK_STEP
  }

  PROCESS BACKTRACK_REASONING {
    DEAD_END_OR_FAILED_DESCENDANT
      -> CURRENT_DECISION_POINT

    CURRENT_DECISION_POINT
      -> UNDO_LAST_CHOICE

    UNDO_LAST_CHOICE
      -> RESTORE_PREVIOUS_STATE

    RESTORED_STATE
      -> NEXT_UNTRIED_CANDIDATE

    NO_UNTRIED_CANDIDATE
      -> BACKTRACK_TO_PARENT_DECISION
  }

  PROCESS PRUNING_REASONING {
    PARTIAL_STATE
      -> FEASIBILITY_ANALYSIS

    DEFINITE_CONSTRAINT_VIOLATION
      -> PRUNE_SUBTREE

    FORWARD_CHECKING
      -> FUTURE_DOMAIN_ANALYSIS

    EMPTY_REQUIRED_DOMAIN
      -> PRUNE_SUBTREE

    SAFE_PRUNING_RULE
      -> PRESERVE_ALL_VALID_SOLUTIONS
  }

  PROCESS HEURISTIC_REASONING {
    SEARCH_STATE
      -> VARIABLE_ORDERING_HEURISTIC

    SELECTED_VARIABLE
      -> VALUE_ORDERING_HEURISTIC

    ORDERED_CHOICES
      -> SEARCH_ORDER

    SEARCH_ORDER
      -> PERFORMANCE_EFFECT_WITHOUT_CHANGING_SOLUTION_SET_IF_HEURISTIC_IS_COMPLETE
  }

  PROCESS SYMMETRY_REASONING {
    SEARCH_PROBLEM
      -> SYMMETRIC_STATES_OR_CHOICES

    SYMMETRY_BREAKING_CONSTRAINT
      -> CANONICAL_REPRESENTATIVE

    CANONICAL_REPRESENTATIVE
      -> REDUCED_SEARCH_SPACE

    REQUIRE
      -> PRESERVE_AT_LEAST_ONE_REPRESENTATIVE_OF_EACH_SOLUTION_CLASS
  }

  PROCESS SOLUTION_REASONING {
    COMPLETE_STATE
      -> GOAL_TEST

    GOAL_TRUE
      -> SOLUTION

    FIRST_SOLUTION_MODE
      -> TERMINATE_ON_FIRST_SOLUTION

    ALL_SOLUTIONS_MODE
      -> RECORD_SOLUTION
      -> BACKTRACK_FOR_ADDITIONAL_SOLUTIONS
  }

  PROCESS CORRECTNESS_REASONING {
    INITIAL_STATE
      -> VALID_START

    EACH_ACCEPTED_EXTENSION
      -> CONSTRAINTS_PRESERVED

    COMPLETE_GOAL_STATE
      -> VALID_SOLUTION

    STATE_RESTORATION
      -> PREVIOUS_STATE_SEMANTICS_PRESERVED

    RESULT
      -> SOUNDNESS_EVIDENCE
  }

  PROCESS COMPLETENESS_REASONING {
    FINITE_SEARCH_SPACE
      + COMPLETE_CANDIDATE_GENERATION
      + SAFE_PRUNING
      -> ALL_RELEVANT_BRANCHES_EXPLORED_OR_PRUNED_SAFELY

    SEARCH_EXHAUSTION
      -> NO_SOLUTION_IF_NO_GOAL_STATE_FOUND

    CONDITIONS
      -> COMPLETENESS_EVIDENCE
  }

  PROCESS COMPLEXITY_REASONING {
    SEARCH_TREE
      -> BRANCHING_FACTOR + DEPTH

    EXPLORED_NODES
      -> TIME_COST

    PRUNING_AND_HEURISTICS
      -> EFFECTIVE_SEARCH_TREE_SIZE

    ACTIVE_RECURSION_DEPTH + STATE_STORAGE
      -> SPACE_COMPLEXITY

    UNPRUNED_WORST_CASE
      -> EXPONENTIAL_OR_COMBINATORIAL_SEARCH_COST_WHERE_APPLICABLE
  }

  RULES {
    IF BACKTRACKING_IS_ASSERTED
    THEN REQUIRE CHOICE_EXTENSION_FAILURE_AND_STATE_RESTORATION_OR_EQUIVALENT_SEARCH_BEHAVIOUR

    IF PARTIAL_STATE_VIOLATES_HARD_CONSTRAINT
    THEN BRANCH_MAY_BE_PRUNED

    IF PRUNING_RULE_IS_USED
    THEN REQUIRE IT_DOES_NOT_REMOVE_REQUIRED_VALID_SOLUTIONS_FOR_COMPLETENESS_CLAIM

    IF STATE_IS_RESTORED
    THEN RESTORE_ALL_MUTATED_STATE_RELEVANT_TO_PARENT_SEARCH_CONTEXT

    IF FIRST_SOLUTION_MODE_IS_USED
    THEN DO_NOT ASSERT ALL_SOLUTIONS_ENUMERATED

    IF HEURISTIC_CHANGES_SEARCH_ORDER_ONLY
    THEN DO_NOT ASSERT IT_CHANGES_SOLUTION_VALIDITY

    IF BRANCH_AND_BOUND_IS_USED
    THEN DISTINGUISH FEASIBILITY_PRUNING_FROM_OBJECTIVE_BOUND_PRUNING

    IF SEMANTIC_IDENTIFIERS_DIFFER
    AND BACKTRACKING_REFERENT_IS_SAME
    THEN APPLY SEMANTIC_EQUIVALENCE
  }

  CONFIDENCE {
    CONFIDENCE_SCORE =
      WEIGHT(
        ALGORITHM_IDENTITY_CERTAINTY,
        STATE_SPACE_COMPLETENESS,
        CANDIDATE_GENERATION_COMPLETENESS,
        CONSTRAINT_CERTAINTY,
        STATE_RESTORATION_CERTAINTY,
        PRUNING_SAFETY_EVIDENCE,
        CORRECTNESS_AND_COMPLETENESS_EVIDENCE,
        PROVENANCE_COMPLETENESS
      )

    LEVELS {
      HIGH
      MODERATE
      LOW
      INSUFFICIENT
    }

    IF CANDIDATE_GENERATION_IS_INCOMPLETE
    THEN REDUCE_COMPLETENESS_CONFIDENCE

    IF STATE_RESTORATION_IS_PARTIAL_OR_UNKNOWN
    THEN REDUCE_CORRECTNESS_CONFIDENCE

    IF PRUNING_SAFETY_IS_UNPROVEN
    THEN REDUCE_COMPLETENESS_CONFIDENCE

    IF EXECUTION_TRACE_AND_FORMAL_EVIDENCE_CONVERGE
    THEN INCREASE_CONFIDENCE_SCORE
  }

  SEMANTIC_EQUIVALENCE {
    EQUIVALENCE_KEY =
      NORMALISE(
        ENTITY_TYPE,
        BACKTRACKING_ALGORITHM_IDENTIFIER,
        PROBLEM_DEFINITION,
        STATE_REPRESENTATION,
        CANDIDATE_GENERATION_RULE,
        CONSTRAINT_SET,
        CONFIGURATION
      )

    IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
    THEN A SEMANTICALLY_EQUIVALENT_TO B
    ELSE PRESERVE_DISTINCT_ENTITIES
  }

  REASONING_CONSTRAINTS {
    BACKTRACKING != BRUTE_FORCE_AS_IDENTICAL_CONCEPT
    BACKTRACKING != BRANCH_AND_BOUND_AS_IDENTICAL_CONCEPT
    BACKTRACKING != DYNAMIC_PROGRAMMING
    PARTIAL_SOLUTION != COMPLETE_SOLUTION
    CANDIDATE != CHOICE_AS_IDENTICAL_CONTEXT
    INFEASIBLE_STATE != DEAD_END_IN_ALL_CONTEXTS
    PRUNING != BACKTRACKING
    HEURISTIC != CONSTRAINT
    VARIABLE_ORDERING != VALUE_ORDERING
    STATE_RESTORATION != NEW_STATE_CREATION
    SOUNDNESS != COMPLETENESS
    FIRST_SOLUTION != ALL_SOLUTIONS
    SAFE_PRUNING != ARBITRARY_BRANCH_REMOVAL
    SEARCH_TREE_SIZE != INPUT_SIZE
    WORST_CASE_COMPLEXITY_MAY_REMAIN_EXPONENTIAL_DESPITE_EFFECTIVE_HEURISTICS
    PERFORMANCE_DEPENDS_ON_SEARCH_ORDER_CONSTRAINT_PROPAGATION_AND_INSTANCE_STRUCTURE
    PROVENANCE_MUST_BE_PRESERVED
    UNCERTAINTY_MUST_NOT_BE_DISCARDED
  }

  VALIDATION {
    CHECK_ENTITY_TYPES
    CHECK_RELATION_DOMAINS_AND_RANGES
    CHECK_BACKTRACKING_ALGORITHM_IDENTIFIER
    CHECK_PROBLEM_DEFINITION
    CHECK_INITIAL_STATE
    CHECK_STATE_REPRESENTATION
    CHECK_VARIABLES_AND_DOMAINS
    CHECK_CANDIDATE_GENERATION
    CHECK_CONSTRAINTS
    CHECK_GOAL_TEST
    CHECK_STATE_EXTENSION
    CHECK_STATE_RESTORATION
    CHECK_PRUNING_RULES
    CHECK_HEURISTICS_IF_APPLICABLE
    CHECK_SYMMETRY_BREAKING_IF_APPLICABLE
    CHECK_SOLUTION_MODE
    CHECK_CORRECTNESS_EVIDENCE
    CHECK_COMPLETENESS_EVIDENCE
    CHECK_TERMINATION
    CHECK_COMPLEXITY_CONTEXT
    CHECK_IMPLEMENTATION
    CHECK_PROVENANCE
    CHECK_CONFIDENCE
    CHECK_SEMANTIC_CONSISTENCY
  }

  OUTPUTS {
    NORMALISED_BACKTRACKING_ENTITIES
    SEARCH_SPACE_RELATIONS
    STATE_AND_DECISION_RELATIONS
    CANDIDATE_RELATIONS
    CONSTRAINT_RELATIONS
    PARTIAL_SOLUTION_RELATIONS
    STATE_EXTENSION_RELATIONS
    BACKTRACK_AND_RESTORATION_RELATIONS
    PRUNING_RELATIONS
    HEURISTIC_RELATIONS
    SYMMETRY_BREAKING_RELATIONS
    SOLUTION_RELATIONS
    CORRECTNESS_RELATIONS
    COMPLETENESS_RELATIONS
    TERMINATION_RELATIONS
    TIME_COMPLEXITY_RELATIONS
    SPACE_COMPLEXITY_RELATIONS
    IMPLEMENTATION_RELATIONS
    CONFIDENCE_SCORES
    EVIDENCE_LINKS
    PROVENANCE_RECORDS
    EXPLANATION_PATHS
  }

  UPDATE_MODEL {
    ON PROBLEM_CONSTRAINT_OR_SEARCH_RULE_CHANGE {
      NORMALISE
      RESOLVE_ALGORITHM_STATE_AND_SOLUTION_IDENTITIES
      UPDATE_STATE_SPACE
      UPDATE_CANDIDATE_GENERATION
      UPDATE_CONSTRAINTS_AND_GOAL_TESTS
      UPDATE_PRUNING_AND_HEURISTICS
      REASSESS_CORRECTNESS_COMPLETENESS_AND_COMPLEXITY
      UPDATE_CONFIDENCE
      PRESERVE_VERSION_HISTORY
    }

    ON NEW_EXECUTION_OR_SOLUTION_DATA {
      LINK_EVIDENCE
      UPDATE_SEARCH_TREE
      UPDATE_STATE_TRANSITIONS
      UPDATE_BACKTRACK_AND_RESTORATION_RELATIONS
      UPDATE_SOLUTION_SET
      REASSESS_PRUNING_EFFECTS
      UPDATE_CONFIDENCE
      RECORD_PROVENANCE
    }

    ON ONTOLOGY_REVISION {
      REMAP_TERMS
      CHECK_SEMANTIC_EQUIVALENCE
      IDENTIFY_DEPRECATED_TERMS
      MIGRATE_RELATIONSHIPS
      PRESERVE_PRIOR_VERSION_REFERENCES
    }
  }

  FLOW_HASH {
    HASH_INPUT =
      CANONICALISE(
        ENTITY_TYPES,
        RELATIONSHIPS,
        RULES,
        CONFIDENCE,
        SEMANTIC_EQUIVALENCE,
        REASONING_CONSTRAINTS,
        UPDATE_MODEL
      )

    FLOW_HASH = SHA256(HASH_INPUT)
  }

  AI_CONSUMPTION {
    INDEX {
      ONTOLOGY
      ENTITY_TYPES
      RELATIONSHIPS
      RULES
      OUTPUTS
    }

    RETRIEVE {
      BY_BACKTRACKING_ALGORITHM
      BY_SEARCH_PROBLEM
      BY_STATE
      BY_VARIABLE
      BY_CANDIDATE
      BY_CONSTRAINT
      BY_PARTIAL_SOLUTION
      BY_PRUNING_RULE
      BY_HEURISTIC
      BY_SOLUTION
      BY_COMPLEXITY
      BY_CONFIDENCE
    }

    REASON {
      APPLY_RELATIONSHIPS
      APPLY_RULES
      GENERATE_CANDIDATES
      ANALYSE_STATE_EXTENSIONS
      CHECK_CONSTRAINTS
      TRACE_RECURSIVE_SEARCH
      TRACE_BACKTRACKING
      ANALYSE_PRUNING
      ANALYSE_HEURISTICS
      ANALYSE_SYMMETRY_BREAKING
      VALIDATE_SOLUTIONS
      ANALYSE_CORRECTNESS
      ANALYSE_COMPLETENESS
      ANALYSE_COMPLEXITY
      CHECK_SEMANTIC_EQUIVALENCE
      PRESERVE_UNCERTAINTY
      TRACE_EVIDENCE
      TRACE_PROVENANCE
      GENERATE_EXPLANATION_PATH
    }

    RESPONSE_POLICY {
      DISTINGUISH_BACKTRACKING_FROM_BRUTE_FORCE_BRANCH_AND_BOUND_AND_DYNAMIC_PROGRAMMING
      DISTINGUISH_PARTIAL_FROM_COMPLETE_SOLUTIONS
      PRESERVE_STATE_CANDIDATE_CONSTRAINT_PRUNING_HEURISTIC_IMPLEMENTATION_AND_CONFIGURATION_CONTEXT
      DISTINGUISH_SOUNDNESS_FROM_COMPLETENESS
      PRESERVE_STATE_RESTORATION_AND_SEARCH_MODE
      RETURN_CONFIDENCE_WHEN_AVAILABLE
      RETURN_PROVENANCE_WHEN_AVAILABLE
      AVOID_UNSUPPORTED_BACKTRACKING_INFERENCE
    }
  }

  TERMINAL {
    RESULT =
      VALIDATED(
        SEMANTICALLY_NORMALISED(
          EVIDENCE_LINKED(
            CONFIDENCE_AWARE(
              BACKTRACKING_KNOWLEDGE
            )
          )
        )
      )
  }
}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ