Skip to main content

Searching Algorithm 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 — SEARCHING ALGORITHM ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/algorithms/searching-algorithm-ontology.html

FLOW SEARCHING_ALGORITHM_ONTOLOGY {

  META {
    DOMAIN = "Computing Ontologies"
    SUBDOMAIN = "Algorithms"
    ONTOLOGY = "Searching Algorithm Ontology"
    PURPOSE = "Formalise searching algorithms, search targets, search spaces, predicates, comparisons, traversal strategies, results, correctness, termination, complexity and execution evidence."
    LOCALE = "en-GB"
  }

  ENTITY_TYPES {
    SEARCHING_ALGORITHM
    SEARCH_ALGORITHM
    LINEAR_SEARCH
    SEQUENTIAL_SEARCH
    BINARY_SEARCH
    JUMP_SEARCH
    INTERPOLATION_SEARCH
    EXPONENTIAL_SEARCH
    FIBONACCI_SEARCH
    HASH_LOOKUP
    TREE_SEARCH
    BINARY_SEARCH_TREE_SEARCH
    GRAPH_SEARCH
    BREADTH_FIRST_SEARCH
    DEPTH_FIRST_SEARCH
    BEST_FIRST_SEARCH
    BIDIRECTIONAL_SEARCH
    HEURISTIC_SEARCH
    SEARCH_PROBLEM
    SEARCH_SPACE
    SEARCH_TARGET
    QUERY
    SEARCH_KEY
    KEY
    VALUE
    ELEMENT
    COLLECTION
    SEQUENCE
    SORTED_SEQUENCE
    ARRAY
    LIST
    HASH_TABLE
    TREE
    GRAPH
    NODE
    VERTEX
    EDGE
    INDEX
    POSITION
    RANGE
    LOWER_BOUND
    UPPER_BOUND
    MIDPOINT
    CANDIDATE
    CANDIDATE_SET
    PREDICATE
    COMPARATOR
    COMPARISON
    EQUALITY_TEST
    ORDERING_RELATION
    MATCH
    NONMATCH
    FOUND_RESULT
    NOT_FOUND_RESULT
    SEARCH_RESULT
    PATH
    FRONTIER
    OPEN_SET
    CLOSED_SET
    VISITED_SET
    QUEUE
    STACK
    PRIORITY_QUEUE
    HEURISTIC
    COST
    DEPTH
    BRANCHING_FACTOR
    OPERATION
    INITIALISE
    COMPARE
    VISIT
    EXPAND
    FILTER
    NARROW_RANGE
    ADVANCE
    BACKTRACK
    TERMINATE
    PRECONDITION
    POSTCONDITION
    INVARIANT
    LOOP_INVARIANT
    SEARCH_INVARIANT
    CORRECTNESS
    TERMINATION
    INPUT_SIZE
    TIME_COMPLEXITY
    SPACE_COMPLEXITY
    BEST_CASE
    AVERAGE_CASE
    WORST_CASE
    EXECUTION
    EXECUTION_TRACE
    IMPLEMENTATION
    LANGUAGE_CONTEXT
    RUNTIME_CONTEXT
    CONFIGURATION
    BENCHMARK
    PERFORMANCE_METRIC
    ERROR
    EVIDENCE
    CONFIDENCE_SCORE
    PROVENANCE_RECORD
  }

  RELATIONSHIPS {
    IS_A
    INSTANCE_OF
    SEARCHES
    SEARCHES_FOR
    SEARCHES_IN
    ACCEPTS
    PRODUCES
    HAS_QUERY
    HAS_TARGET
    HAS_KEY
    HAS_CANDIDATE
    HAS_RANGE
    HAS_LOWER_BOUND
    HAS_UPPER_BOUND
    HAS_MIDPOINT
    USES_PREDICATE
    USES_COMPARATOR
    COMPARES
    MATCHES
    VISITS
    EXPANDS
    FILTERS
    NARROWS
    ADVANCES
    BACKTRACKS
    ENQUEUES
    DEQUEUES
    PUSHES
    POPS
    PRIORITISES
    MARKS_VISITED
    DISCOVERS
    REACHES
    RETURNS
    REQUIRES
    ENSURES
    MAINTAINS
    HAS_INVARIANT
    TERMINATES_AT
    HAS_CORRECTNESS
    HAS_TIME_COMPLEXITY
    HAS_SPACE_COMPLEXITY
    IMPLEMENTED_BY
    EXECUTED_BY
    BENCHMARKED_BY
    HAS_CONFIGURATION
    DEPENDS_ON
    DERIVED_FROM
    INFERRED_FROM
    HAS_EVIDENCE
    HAS_CONFIDENCE
    HAS_PROVENANCE
    SEMANTICALLY_EQUIVALENT_TO
  }

  INPUTS {
    SEARCH_ALGORITHM_SPECIFICATIONS
    PSEUDOCODE
    SOURCE_CODE
    SEARCH_SPACE_DEFINITIONS
    TARGET_AND_QUERY_DATA
    KEY_DEFINITIONS
    PREDICATE_DEFINITIONS
    COMPARATOR_DEFINITIONS
    ORDERING_DATA
    DATA_STRUCTURE_CONTEXT
    EXECUTION_TRACES
    COMPARISON_TRACES
    VISIT_AND_EXPANSION_TRACES
    CORRECTNESS_PROOFS
    COMPLEXITY_ANALYSES
    BENCHMARK_DATA
    IMPLEMENTATION_DATA
    LANGUAGE_AND_RUNTIME_CONTEXT
    CONFIGURATION_DATA
    ONTOLOGY_TERMS
  }

  NORMALISE {
    STANDARDISE_SEARCH_ALGORITHM_IDENTIFIERS
    NORMALISE_ALGORITHM_VARIANT_NAMES
    NORMALISE_SEARCH_SPACE_IDENTIFIERS
    NORMALISE_TARGET_AND_QUERY_TYPES
    NORMALISE_KEY_TYPES
    NORMALISE_PREDICATE_SEMANTICS
    NORMALISE_COMPARATOR_SEMANTICS
    NORMALISE_ORDERING_RELATIONS
    NORMALISE_RANGE_AND_INDEX_TERMS
    NORMALISE_GRAPH_SEARCH_TERMS
    NORMALISE_COMPLEXITY_NOTATION
    NORMALISE_BENCHMARK_UNITS
    NORMALISE_LANGUAGE_AND_RUNTIME_CONTEXT
    RESOLVE_ALGORITHM_SEARCH_SPACE_AND_TARGET_IDENTITIES
    ALIGN_ONTOLOGY_TERMS
    REMOVE_DUPLICATES
    VALIDATE_METADATA
    PRESERVE_PROVENANCE
  }

  PROCESS SEARCH_REASONING_PIPELINE {
    SEARCH_REQUEST
      -> ALGORITHM_IDENTIFICATION
      -> SEARCH_SPACE_AND_TARGET_RESOLUTION
      -> PRECONDITION_CHECK
      -> SEARCH_STRATEGY_MAPPING
      -> CANDIDATE_EXAMINATION
      -> MATCH_OR_EXHAUSTION
      -> RESULT_VALIDATION
      -> COMPLEXITY_ANALYSIS
      -> VALIDATION
      -> OUTPUT
  }

  PROCESS LINEAR_SEARCH_REASONING {
    SEARCH_SEQUENCE
      -> FIRST_ELEMENT

    CURRENT_ELEMENT
      -> MATCH_TEST

    MATCH
      -> RETURN_FOUND_RESULT

    NONMATCH
      -> ADVANCE_TO_NEXT_ELEMENT

    END_OF_SEQUENCE
      -> RETURN_NOT_FOUND
  }

  PROCESS BINARY_SEARCH_REASONING {
    SORTED_SEQUENCE
      -> LOWER_BOUND + UPPER_BOUND

    WHILE LOWER_BOUND <= UPPER_BOUND
      -> MIDPOINT

    MIDPOINT_ELEMENT
      -> COMPARE_WITH_TARGET

    EQUAL
      -> RETURN_FOUND_RESULT

    TARGET_ORDERED_BEFORE_MIDPOINT
      -> UPPER_BOUND = MIDPOINT - 1

    TARGET_ORDERED_AFTER_MIDPOINT
      -> LOWER_BOUND = MIDPOINT + 1

    EMPTY_RANGE
      -> RETURN_NOT_FOUND
  }

  PROCESS HASH_LOOKUP_REASONING {
    SEARCH_KEY
      -> HASH_FUNCTION

    HASH_FUNCTION
      -> CANDIDATE_BUCKET_OR_SLOT

    COLLISION_STRATEGY
      -> CANDIDATE_ENTRIES

    CANDIDATE_ENTRY
      -> KEY_EQUALITY_TEST

    MATCH
      -> RETURN_FOUND_RESULT

    CANDIDATES_EXHAUSTED
      -> RETURN_NOT_FOUND
  }

  PROCESS TREE_SEARCH_REASONING {
    ROOT_NODE
      -> CURRENT_NODE

    CURRENT_NODE
      -> MATCH_TEST

    MATCH
      -> RETURN_FOUND_RESULT

    ORDERED_TREE
      -> SELECT_CHILD_USING_ORDERING

    UNORDERED_TREE
      -> TRAVERSAL_STRATEGY

    SEARCH_SPACE_EXHAUSTED
      -> RETURN_NOT_FOUND
  }

  PROCESS BREADTH_FIRST_SEARCH_REASONING {
    START_VERTEX
      -> QUEUE
      -> VISITED_SET

    ENQUEUE_START

    WHILE QUEUE_NOT_EMPTY
      -> DEQUEUE_VERTEX
      -> MATCH_OR_GOAL_TEST
      -> EXPAND_UNVISITED_NEIGHBOURS
      -> MARK_VISITED
      -> ENQUEUE_NEIGHBOURS

    MATCH
      -> RETURN_RESULT_OR_PATH

    FRONTIER_EMPTY
      -> NOT_FOUND
  }

  PROCESS DEPTH_FIRST_SEARCH_REASONING {
    START_VERTEX
      -> STACK_OR_RECURSION
      -> VISITED_SET

    CURRENT_VERTEX
      -> MATCH_OR_GOAL_TEST

    NONMATCH
      -> SELECT_UNVISITED_NEIGHBOUR
      -> DESCEND

    DEAD_END
      -> BACKTRACK

    MATCH
      -> RETURN_RESULT_OR_PATH

    SEARCH_EXHAUSTED
      -> NOT_FOUND
  }

  PROCESS HEURISTIC_SEARCH_REASONING {
    INITIAL_STATE
      -> FRONTIER

    FRONTIER
      -> SCORE_CANDIDATES

    SCORE_CANDIDATES
      -> SELECT_NEXT_CANDIDATE

    SELECTED_CANDIDATE
      -> GOAL_TEST

    NON_GOAL
      -> EXPAND_SUCCESSORS

    SUCCESSORS
      -> UPDATE_FRONTIER

    GOAL
      -> RETURN_RESULT_OR_PATH
  }

  PROCESS RESULT_REASONING {
    FOUND_RESULT
      -> TARGET_OR_MATCHED_ENTITY
      -> LOCATION_OR_PATH_IF_AVAILABLE

    NOT_FOUND_RESULT
      -> SEARCH_SPACE_EXHAUSTION_OR_VALID_TERMINATION

    RESULT
      -> POSTCONDITION_CHECK
  }

  PROCESS CORRECTNESS_REASONING {
    PRECONDITION
      -> VALID_SEARCH_SPACE

    SEARCH_INVARIANT
      -> TARGET_NOT_DISCARDED_WHILE_POSSIBLE

    TERMINATION
      -> FOUND_OR_EXHAUSTED_STATE

    FOUND
      -> MATCH_PREDICATE_TRUE

    NOT_FOUND
      -> NO_MATCH_EXISTS_WITHIN_DEFINED_SEARCH_SPACE

    CONDITIONS
      -> CORRECTNESS_EVIDENCE
  }

  PROCESS COMPLEXITY_REASONING {
    SEARCH_ALGORITHM + SEARCH_SPACE_SIZE + STRUCTURE
      -> OPERATION_COUNT_MODEL

    OPERATION_COUNT_MODEL
      -> COMPARISONS_VISITS_EXPANSIONS_OR_PROBES

    INPUT_DISTRIBUTION_AND_CASE
      -> BEST_AVERAGE_OR_WORST_CASE

    COST_FUNCTION
      -> TIME_COMPLEXITY

    FRONTIER_VISITED_RECURSION_OR_AUXILIARY_STATE
      -> SPACE_COMPLEXITY
  }

  RULES {
    IF BINARY_SEARCH_IS_ASSERTED
    THEN REQUIRE ORDERED_SEARCH_SPACE_AND_COMPATIBLE_COMPARATOR

    IF FOUND_RESULT_IS_ASSERTED
    THEN REQUIRE MATCH_PREDICATE_OR_EQUALITY_CONDITION

    IF NOT_FOUND_IS_ASSERTED
    THEN REQUIRE VALID_SEARCH_SPACE_EXHAUSTION_OR_LOGICALLY_EQUIVALENT_TERMINATION

    IF GRAPH_SEARCH_IS_PERFORMED
    THEN PRESERVE DIRECTION_WEIGHT_AND_VISITED_STATE_CONTEXT_WHERE_RELEVANT

    IF HEURISTIC_SEARCH_IS_USED
    THEN PRESERVE HEURISTIC_DEFINITION_AND_GOAL_CONTEXT

    IF COMPLEXITY_IS_ASSERTED
    THEN PRESERVE SEARCH_SPACE_STRUCTURE_SIZE_CASE_AND_ALGORITHM_VARIANT

    IF BENCHMARK_RESULT_IS_REPORTED
    THEN PRESERVE IMPLEMENTATION_RUNTIME_HARDWARE_DATASET_AND_CONFIGURATION

    IF SEMANTIC_IDENTIFIERS_DIFFER
    AND SEARCHING_REFERENT_IS_SAME
    THEN APPLY SEMANTIC_EQUIVALENCE
  }

  CONFIDENCE {
    CONFIDENCE_SCORE =
      WEIGHT(
        ALGORITHM_IDENTITY_CERTAINTY,
        SEARCH_SPACE_COMPLETENESS,
        TARGET_AND_PREDICATE_CERTAINTY,
        ORDERING_OR_STRUCTURE_CERTAINTY,
        EXECUTION_TRACE_COMPLETENESS,
        RESULT_VALIDATION_QUALITY,
        COMPLEXITY_ANALYSIS_QUALITY,
        PROVENANCE_COMPLETENESS
      )

    LEVELS {
      HIGH
      MODERATE
      LOW
      INSUFFICIENT
    }

    IF SEARCH_SPACE_IS_PARTIAL
    THEN REDUCE_NOT_FOUND_CONFIDENCE

    IF ORDERING_OR_COMPARATOR_IS_UNKNOWN
    THEN REDUCE_BINARY_SEARCH_CONFIDENCE

    IF COMPLETE_TRACE_AND_RESULT_VALIDATION_CONFIRM_BEHAVIOUR
    THEN INCREASE_CONFIDENCE_SCORE
  }

  SEMANTIC_EQUIVALENCE {
    EQUIVALENCE_KEY =
      NORMALISE(
        ENTITY_TYPE,
        SEARCH_ALGORITHM_IDENTIFIER,
        ALGORITHM_VARIANT,
        SEARCH_SPACE_TYPE,
        TARGET_OR_QUERY_TYPE,
        PREDICATE_OR_COMPARATOR,
        CONFIGURATION
      )

    IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
    THEN A SEMANTICALLY_EQUIVALENT_TO B

    ELSE PRESERVE_DISTINCT_ENTITIES
  }

  REASONING_CONSTRAINTS {
    SEARCHING_ALGORITHM != SEARCH_RESULT
    SEARCH_TARGET != SEARCH_KEY_IN_ALL_CONTEXTS
    MATCH != IDENTITY_IN_ALL_PREDICATE_CONTEXTS
    FOUND != UNIQUE_MATCH
    NOT_FOUND != TARGET_NONEXISTENCE_OUTSIDE_DEFINED_SEARCH_SPACE
    LINEAR_SEARCH != BINARY_SEARCH
    BINARY_SEARCH != BINARY_SEARCH_TREE_SEARCH
    BREADTH_FIRST_SEARCH != DEPTH_FIRST_SEARCH
    GRAPH_SEARCH != PATHFINDING_AS_IDENTICAL_CONCEPT
    HEURISTIC_SEARCH != GUARANTEED_OPTIMAL_SEARCH
    SEARCH_SPACE != DATA_STRUCTURE_AS_IDENTICAL_CONCEPT
    VISITED != EXPANDED_IN_ALL_ALGORITHMS
    TIME_COMPLEXITY != WALL_CLOCK_TIME
    EMPIRICAL_PERFORMANCE != FORMAL_COMPLEXITY
    COMPLEXITY_DEPENDS_ON_STRUCTURE_INPUT_DISTRIBUTION_VARIANT_AND_IMPLEMENTATION
    PROVENANCE_MUST_BE_PRESERVED
    UNCERTAINTY_MUST_NOT_BE_DISCARDED
  }

  VALIDATION {
    CHECK_ENTITY_TYPES
    CHECK_RELATION_DOMAINS_AND_RANGES
    CHECK_SEARCH_ALGORITHM_IDENTIFIER
    CHECK_ALGORITHM_VARIANT
    CHECK_SEARCH_SPACE
    CHECK_TARGET_QUERY_AND_KEY
    CHECK_PREDICATE_OR_COMPARATOR
    CHECK_PRECONDITIONS
    CHECK_ORDERING_IF_REQUIRED
    CHECK_EXECUTION_TRACE
    CHECK_VISITED_AND_FRONTIER_STATE_IF_APPLICABLE
    CHECK_FOUND_RESULT
    CHECK_NOT_FOUND_RESULT
    CHECK_CORRECTNESS_EVIDENCE
    CHECK_TERMINATION
    CHECK_COMPLEXITY_CONTEXT
    CHECK_IMPLEMENTATION
    CHECK_BENCHMARK_CONTEXT
    CHECK_LANGUAGE_RUNTIME_AND_CONFIGURATION
    CHECK_PROVENANCE
    CHECK_CONFIDENCE
    CHECK_SEMANTIC_CONSISTENCY
  }

  OUTPUTS {
    NORMALISED_SEARCHING_ALGORITHM_ENTITIES
    SEARCH_SPACE_RELATIONS
    TARGET_QUERY_AND_KEY_RELATIONS
    PREDICATE_AND_COMPARATOR_RELATIONS
    RANGE_AND_CANDIDATE_RELATIONS
    LINEAR_SEARCH_RELATIONS
    BINARY_SEARCH_RELATIONS
    HASH_LOOKUP_RELATIONS
    TREE_SEARCH_RELATIONS
    BREADTH_FIRST_SEARCH_RELATIONS
    DEPTH_FIRST_SEARCH_RELATIONS
    HEURISTIC_SEARCH_RELATIONS
    FOUND_AND_NOT_FOUND_RELATIONS
    PATH_AND_REACHABILITY_RELATIONS
    CORRECTNESS_RELATIONS
    TERMINATION_RELATIONS
    TIME_COMPLEXITY_RELATIONS
    SPACE_COMPLEXITY_RELATIONS
    IMPLEMENTATION_RELATIONS
    BENCHMARK_RELATIONS
    CONFIDENCE_SCORES
    EVIDENCE_LINKS
    PROVENANCE_RECORDS
    EXPLANATION_PATHS
  }

  UPDATE_MODEL {
    ON SEARCH_ALGORITHM_OR_CONFIGURATION_CHANGE {
      NORMALISE
      RESOLVE_ALGORITHM_SEARCH_SPACE_AND_TARGET_IDENTITIES
      UPDATE_PRECONDITIONS_AND_STRATEGY
      UPDATE_EXECUTION_MODEL
      REASSESS_CORRECTNESS_AND_TERMINATION
      REASSESS_COMPLEXITY
      UPDATE_CONFIDENCE
      PRESERVE_VERSION_HISTORY
    }

    ON NEW_EXECUTION_OR_BENCHMARK_DATA {
      LINK_EVIDENCE
      UPDATE_EXECUTION_TRACE
      UPDATE_FOUND_OR_NOT_FOUND_EVIDENCE
      UPDATE_OPERATION_COUNTS
      UPDATE_EMPIRICAL_PERFORMANCE
      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_SEARCH_ALGORITHM
      BY_ALGORITHM_VARIANT
      BY_SEARCH_SPACE
      BY_TARGET
      BY_QUERY
      BY_KEY
      BY_PREDICATE
      BY_COMPARATOR
      BY_RESULT
      BY_PATH
      BY_COMPLEXITY
      BY_EXECUTION
      BY_CONFIDENCE
    }

    REASON {
      APPLY_RELATIONSHIPS
      APPLY_RULES
      TRACE_LINEAR_SEARCH
      TRACE_BINARY_SEARCH
      TRACE_HASH_LOOKUP
      TRACE_TREE_SEARCH
      TRACE_BREADTH_FIRST_SEARCH
      TRACE_DEPTH_FIRST_SEARCH
      ANALYSE_HEURISTIC_SEARCH
      VALIDATE_SEARCH_RESULTS
      ANALYSE_CORRECTNESS
      ANALYSE_COMPLEXITY
      CHECK_SEMANTIC_EQUIVALENCE
      PRESERVE_UNCERTAINTY
      TRACE_EVIDENCE
      TRACE_PROVENANCE
      GENERATE_EXPLANATION_PATH
    }

    RESPONSE_POLICY {
      DISTINGUISH_SEARCH_ALGORITHM_FROM_SEARCH_RESULT
      DISTINGUISH_FOUND_NOT_FOUND_AND_UNRESOLVED_STATES
      PRESERVE_SEARCH_SPACE_TARGET_PREDICATE_STRUCTURE_VARIANT_IMPLEMENTATION_RUNTIME_AND_CONFIGURATION_CONTEXT
      DISTINGUISH_LINEAR_BINARY_TREE_GRAPH_AND_HEURISTIC_SEARCH
      DISTINGUISH_FORMAL_COMPLEXITY_FROM_EMPIRICAL_PERFORMANCE
      RETURN_CONFIDENCE_WHEN_AVAILABLE
      RETURN_PROVENANCE_WHEN_AVAILABLE
      AVOID_UNSUPPORTED_SEARCHING_INFERENCE
    }
  }

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

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