• Re: Preliminary sumarization of 'computation' for review.

    From Richard Damon@21:1/5 to wij on Sun Jul 13 08:17:47 2025
    On 7/12/25 6:53 AM, wij wrote:
    This is my preliminary sumarization of 'computation' for review.
    Quantum computing is not considered, but related commnents are also welcome.

    The nature of computation - constructing functions The process of computing functions Correct/clear concepts help understanding

    Function::= f:A->B, function f is a 1-1 or multi-1 mapping from set A to set B

    It should be noted that some branches of the field allow functions to
    map input to multiple answers (and thus the result is a SET of elements
    of set B. For instance the square root of 4 can be considered to be the
    set { 2, -2 }. More basic branches only work with the "principle" answer
    for this sort of case.


    Mapping::= Let f(a)=b, 'a' is called the input, argument or parameter of f, and
    the pair of a,b <a,b> is called a mapping of f.

    Mapping pairs can express many things, such as stimulus-response records,
    test-result records, input-output records, iff X then Y records...descriptions
    of reasoning/association/connection/projection, etc. Moreover, a function can
    also be defined by a set of mappings.

    Computation::= The process of computing from the deterministic operation of
    basic parts to the overall performance. (Non-parallel) computation is
    step-by-step, deterministic operation process from the input of a model to the
    output (solution). Input and output are composed of fixed and finite [parts].
    [Parts] are things that can be objectively operated, usually referring to text
    symbols. Each [part] has a location and value attribute.

    [Note] Computation is related to theoretical reasoning in mathematics/logic.
    If the [part] is discrete, it can be considered that the [part] can be
    described/composed by "circuit logic". Circuit logic has the concept of
    time sequence, input/output, and stable/non-stable state. Traditional
    logic is less suitable for temporal propositional statements.

    (Computer) Problem Statement::= Describes the input (known, conditions, etc.)
    and required output data that the computer can process. 'Problems' must be
    presented in a narrative, but 'problems' can be described in different ways.
    Just like 'mathematical problems'-- they must eventually be converted into
    narratives that can be processed in a 'mathematical' way. So, in short, the
    final form of computer problem statements is the problem handled by
    algorithms.

    "Problems" in Computation theory are always about a Mapping to be
    computed, or about families of mapping. They need not be presented as a Narrative, but mappings defined by more direct means (like formulas)
    tend to be easy to solve.

    Note, "Mathematics" isn't a process on Narratives, but on mathematical
    objects.


    Instructions::= A command statement for basic computer [part] operations, such
    as basic instructions: write read/compare branch,.. move/convert, etc. The
    basic [part] operation (i.e., instruction) function is deterministic and its
    object is fixed.

    Note, the "object" of an instruction need not be "fixed", just defined.
    An instruction can take in a value to determine which object it is to manipulate.


    Algorithm::= A sequence of instructions (similar to CPU instructions) that
    describes the process of completing a [part] of a certain operation step by
    step (or called instruction statement, flow statement, program, or simply
    algorithm). In particular, the flow statement can contain conditional
    branches, which can conditionally execute or repeat instructions.

    Algorithmic problem (category)::= Algorithmic problem (category) usually refers
    to problems that contain substitute for an unlimited number of objects in the
    problem statement (such as values/numbers, arrays, sets,.. variable-length
    data, etc.).

    Since the statement contains substitute for an unlimited number of objects,
    the algorithm must use loops to repeat instructions accordingly, and must use
    "pointers" or indirect addressing (or index addressing) type instructions to
    achieve the ability to read and write ranges of variable as [parts] with fixed
    instructions.

    Discrete continuity::= If a function f:A->B, has a certain number of n mappings
    <x1,f(x1)>, <x2,f(x2)>,...,<xn,f(xn)> are called minmax points or regional
    minmax points, so that ∀a,b∈minmax point, ∀x,a<=x<=b<=n, f(a)<=f(x)<=f(b)
    or f(a)>=f(x)>=f(b) holds.



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to wij on Tue Jul 15 07:54:21 2025
    On 7/13/25 11:22 AM, wij wrote:
    On Sun, 2025-07-13 at 08:17 -0400, Richard Damon wrote:
    On 7/12/25 6:53 AM, wij wrote:
    This is my preliminary sumarization of 'computation' for review.
    Quantum computing is not considered, but related commnents are also welcome.

    The nature of computation - constructing functions The process of computing >>> functions Correct/clear concepts help understanding

    Function::= f:A->B, function f is a 1-1 or multi-1 mapping from set A to set B

    It should be noted that some branches of the field allow functions to
    map input to multiple answers (and thus the result is a SET of elements
    of set B. For instance the square root of 4 can be considered to be the
    set { 2, -2 }. More basic branches only work with the "principle" answer
    for this sort of case.


    Mapping::= Let f(a)=b, 'a' is called the input, argument or parameter of f, and
       the pair of a,b <a,b> is called a mapping of f.

       Mapping pairs can express many things, such as stimulus-response records,
       test-result records, input-output records, iff X then Y records...descriptions
       of reasoning/association/connection/projection, etc. Moreover, a function can
       also be defined by a set of mappings.

    Computation::= The process of computing from the deterministic operation of >>>    basic parts to the overall performance. (Non-parallel) computation is >>>    step-by-step, deterministic operation process from the input of a model to the
       output (solution). Input and output are composed of fixed and finite [parts].
       [Parts] are things that can be objectively operated, usually referring to text
       symbols. Each [part] has a location and value attribute.

       [Note] Computation is related to theoretical reasoning in mathematics/logic.
              If the [part] is discrete, it can be considered that the [part] can be
              described/composed by "circuit logic". Circuit logic has the concept of
              time sequence, input/output, and stable/non-stable state. Traditional
              logic is less suitable for temporal propositional statements.

    (Computer) Problem Statement::= Describes the input (known, conditions, etc.)
        and required output data that the computer can process. 'Problems' must be
        presented in a narrative, but 'problems' can be described in different ways.
        Just like 'mathematical problems'-- they must eventually be converted into
        narratives that can be processed in a 'mathematical' way. So, in short, the
        final form of computer problem statements is the problem handled by >>>     algorithms.

    "Problems" in Computation theory are always about a Mapping to be
    computed, or about families of mapping.

    By 'mapping' I mean exactly xxx-yyy. Obvious not what you mean.


    but xxx -> {yy1, yy2, yy3 } is just another form of that mapping.

    They need not be presented as a
    Narrative, but mappings defined by more direct means (like formulas)
    tend to be easy to solve.

    'narrative' is given by google translate, the original term reads not much different from 'description' or 'statement'. This time, no 'narrative' appears,
    I am not good at controlling the output of google translate.

    Then why do you use it?


    Note, "Mathematics" isn't a process on Narratives, but on mathematical
    objects.

    But, what is "mathematical objects"?
    Computers can only deal with input made of 0s and 1s.

    Right, and so tend to only work on REPRESENTATIONS of things.

    Note that "Computing" is by its nature, an activity based on
    representations. We establish a way to represent our "Mathematical
    Objects" in a symbolic way that the computer can handle, and then
    interpret the symbolic output back to the Mathematical field.



    Instructions::= A command statement for basic computer [part] operations, such
        as basic instructions: write read/compare branch,.. move/convert, etc. The
        basic [part] operation (i.e., instruction) function is deterministic and its
        object is fixed.

    Note, the "object" of an instruction need not be "fixed", just defined.

    If not "fixed", nothing can be (computablly) certain, even in abstract theory.

    My point is that the instruction can use indirection, we can access x[i]
    or *p. There are machines with only direct accessing of memory with the
    memory address as part of the instructions, but those need to be allowed
    to use "self-modifying" code, like is typically done with the RASP model.


    An instruction can take in a value to determine which object it is to
    manipulate.

    It is still a 'value', whose meaning is something else.

    This is probably just a language issue, but when you say its "object is
    fixed" that means that it can only access one given object.

    That isn't the way most computers work.



    Algorithm::= A sequence of instructions (similar to CPU instructions) that >>>     describes the process of completing a [part] of a certain operation step by
        step (or called instruction statement, flow statement, program, or simply
        algorithm). In particular, the flow statement can contain conditional
        branches, which can conditionally execute or repeat instructions. >>>
    Algorithmic problem (category)::= Algorithmic problem (category) usually refers
        to problems that contain substitute for an unlimited number of objects in the
        problem statement (such as values/numbers, arrays, sets,.. variable-length
        data, etc.).

       Since the statement contains substitute for an unlimited number of objects,
       the algorithm must use loops to repeat instructions accordingly, and must use
       "pointers" or indirect addressing (or index addressing) type instructions to
       achieve the ability to read and write ranges of variable as [parts] with fixed
       instructions.

    Discrete continuity::= If a function f:A->B, has a certain number of n mappings
       <x1,f(x1)>, <x2,f(x2)>,...,<xn,f(xn)> are called minmax points or regional
       minmax points, so that ∀a,b∈minmax point, ∀x,a<=x<=b<=n, f(a)<=f(x)<=f(b)
       or f(a)>=f(x)>=f(b) holds.


    One good thing is that the definitions shown can be immediately applied to POOP.

    Take POO Halt for example:

    Problem description: POOP (or POOH) problem is difficult to convert to a description
    of algorithm (so far, at least, no one is sure what POO Halt really is, part of
    the reason is it keeps changing).
    Computation: POOH cannot be broken down to computable [part]
    ([part] must be fixed and computable), so the 'whole'.

    So, I think, the first one is enough -- Problem description is not well defined to
    be computable, all you are talking Your Own Problem.


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)