• Shawn
    13.2k
    Again, one of my rare entries into the Logic and Philosophy of Mathematics section.

    Given that everything in Turing Computability is decidable, and hence deterministic, then past states will elucidate future states of a process given enough time. Now, it doesn't seem too hard to post process all the past states of a computable algorithm to have a copy on a hard drive simply reading out what would have to be done by a Central Processing Unit.

    Why would one do this? Due to the repetition of large data tasks on something like a mainframe or server, then by post-processing all the information states needed to solve tasks, then I suppose this would drastically shorten the amount of time at solvability of certain tasks. One would in an old concept of computing, be able to parse all the functions needed to process a task on a Post-Turing Processor with such a bedrock of already post-processed information. The only purpose would seem to be a drastically shorter time needed to parallelization of processed tasks with such a file of post-processed information. I doubt you could mount terabytes of information on the cache of the processor; but, maybe an analog chip could do most of the groundwork with such a post-processed file.

    My other thoughts are to utilize with such a file a parser on the CPU to read out what tasks would need to the parser to label already computed tasks and by doing this accelerate through tasks in time.

    What are your thoughts about this?
  • fishfry
    3.4k
    ... have a copy on a hard drive ...Shawn

    Are you perhaps talking about memoization?

    In computing, memoization or memoisation is an optimization technique used primarily to speed up computer programs by storing the results of expensive function calls to pure functions and returning the cached result when the same inputs occur again. — Wiki

    and

    A memoized function "remembers" the results corresponding to some set of specific inputs. Subsequent calls with remembered inputs return the remembered result rather than recalculating it, thus eliminating the primary cost of a call with given parameters from all but the first call made to the function with those parameters. — Wiki
  • Shawn
    13.2k


    Yes, then there's nothing much to further discuss. I did some work on Godel coding for compression algorithms with countable denumerable alphabets, such as color encoding like RGB for satellite TV to deliver true 4,8,12K video. It was a fun task that led me to believe that every denumerable ordered task can be sped up or optimized by actually archiving the read to the CPU with already post-processed information, and thus labeling it as if a "brick" to every further task to be done on similar logic. Eventually, with so many bricks, you could compile the task on the CPU, to just be read out to the memory. To process the information wouldn't be anything too far-fetched; but, the archive file might be quite big to cache. The optimization might be quite profound in my mind.

    Is this something that is done already on hardware, or only on software to this day?
  • fishfry
    3.4k
    Yes, then there's nothing much to further discuss. I did some work on Godel coding for compression algorithms with countable denumerable alphabets, such as color encoding like RGB for satellite TV to deliver true 4,8,12K video. It was a fun task that led me to believe that every denumerable ordered task can be sped up or optimized by actually archiving the read to the CPU with already post-processed information, and thus labeling it as if a "brick" to every further task to be done on similar logic. Eventually, with so many bricks, you could compile the task on the CPU, to just be read out to the memory. To process the information wouldn't be anything too far-fetched; but, the archive file might be quite big to cache. The optimization might be quite profound in my mind.Shawn

    I'm not an expert on this topic. As I understand it, memoization is just used to store results of calculations and things like that. I could be wrong because my knowledge is from some years ago.

    Your idea seems much more extensive. I would not want my little comment to end this interesting discussion! Your concept seems to go further.

    Is this something that is done already on hardware, or only on software to this day?Shawn

    I know it as a software technique, but I'm not up to speed on the state of the art.
  • wonderer1
    2.2k
    Is this something that is done already on hardware, or only on software to this day?Shawn

    At least to an extent, though likely not the extent that you have in mind, a math coprocessor to A CPU provides 'canned math optimization' to CPUs. Although often this is 'hidden' from a programmer, in that the compiler 'knows' how to make use of the coprocessor, and the programmer doesn't need to concern himself with it. (Aside from perhaps understanding that, for example, the combination of hardware and software will be able to produce 32 bit multiplication results in one clock cycle.)

    Similar can be pairing a CPU with an FPGA. With such a hardware setup, a wide variety of processes can be designed into the logic fabric of the FPGA (for example a Fast Fourier Transform) so that what would otherwise require a lot of CPU clock cycles can be done much more quickly within the FPGA.

    On the technological horizon, are hardware instantiations of artificial neural networks, which will allow memory and processor to be entertwined within each artifical neuron, in such a way that very powerful information processing can occur within the neural network as a whole, which can be faster and much more energy efficient than today's AIs like Chat-GPT.
  • ssu
    8.6k
    Given that everything in Turing Computability is decidable, and hence deterministic, then past states will elucidate future states of a process given enough time.

    - What are your thoughts about this?
    Shawn
    Do remember that Turing's paper is an undecidability result. Not everything is Turing Computable, which would be very useful for us. Hence you are really stretching it when you conclude that "then past states will elucidate future states of a process given enough time".

    But how to use already done work on algorithms and not to repeat the work, which @fishfry referred to, is obviously useful.
  • Carlo Roosen
    243
    You asked me to give my thoughts. Others have already confirmed, yes it is possible and it has a name. Also it has applications, the
    math coprocessorwonderer1
    being the most recognizable for me.

    The pragmatic challenge seems to me to find these tasks that can be separated out, that can be defined independently of the rest. The math coprocessor is useful because these math functions have these cut-out function calls and they happen relatively often.

    I am planning a follow-up on my topic "conceptual reality versus fundamental reality" where I will use the Game of Life as an example (the 2D cellular automaton). Here I'll describe something that resembles what describe, in an accesible form. I have a formal description of 2 objects in the GoL, a "glider" and the "Gosper Glider Gun". Basically, if you know the start states, you do not have to meticulously calculate all the pixels at each step. You can just calculate the state at any moment in time. Except when there is a collison. You can add a collison detection, and continue on a pixel by pixel basis after that. The trick is to find those patterns in the first place.

    I had to think about this becasue I've been working on it recently. I am not sure if it helps.

    The most general feedback on your post is, what is your interest in this topic, and where does this interest lie on a scale from theoretical to practical?

    [edit] Reading your post again, you want to store the complete state? But in a 1kB memory, there are 2^(1kB) possible states. So in any new state, you want to search your harddisk to see if you have done this already? This explodes.
  • Shawn
    13.2k
    [edit] Reading your post again, you want to store the complete state? But in a 1kB memory, there are 2^(1kB) possible states. So in any new state, you want to search your harddisk to see if you have done this already? This explodes.Carlo Roosen

    Yes, it's possible to do so; but, would it not be easier to map the logical operators for the possible states in computability they could exist in - instead of the readout to the disk of the states? This is done according to the logic of the programming language itself with respect to the mapping of computability, instead of mathematical or informational states...
  • Carlo Roosen
    243
    Next step is to work it out in a table, a diagram or in pseudocode, with the number of bits for each step. Maybe you found some magical loophole, but I believe you made a logical error somewhere. I am unable to give more feedback without more details.

    Also, please comment on the rest of my answer because you leave a lot of things unclear. Do you want to capture the full memory state of a computer at every clock cycle? If not, what do you select and based on what?
  • Shawn
    13.2k
    Next step is to work it out in a table, a diagram or in pseudocode, with the number of bits for each step. Maybe you found some magical loophole, but I believe you made a logical error somewhere. I am unable to give more feedback without more details.Carlo Roosen

    I think you are alluding to the problem of discovering relations in the information of the mapping of programming code processed on the CPU. I actually think inference models via data analytics could do this. You could mine quite a lot of relations from the data stream in my mind.

    Also, please comment on the rest of my answer because you leave a lot of things unclear. Do you want to capture the full memory state of a computer at every clock cycle? If not, what do you select and based on what?Carlo Roosen

    I am not really adept enough to comment on the rest. But, yes you could retain the memory state of the logicality of various programming languages to discover complexity of the code to the data presenting the logicality of the respective languages.

    Anyway, thanks.
  • Shawn
    13.2k
    Maybe you can do something with this conjecturing about processing. My own thoughts are to utilize the very same LLM's to do this with, once they are sophisticated enough...

    Maybe OpenAI could potentially do this. Doesn't seem like their methodology wouldn't be applicable to object oriented languages in terms of coding... They already do some coding tasks at the moment. Who knows, seems trivial, so I wouldn't be surprised if they actually attempt to do this. Seems like a lot of money could be involved.

    Kudos.
  • Carlo Roosen
    243
    My point is that you are not specific enough. You'll need to define more precisely what you are doing. Including some calculations of the processing time and memory demands.

    Now it sounds a bit like "could we use a generator to stop a truck instead of normal breaks, and reuse the energy?" - probably yes, but why aren't they doing it everywhere?

    LLM's for instance require a randomizer. In fact, after reading this remark I'll change "My point is that you are not specific enough." to "You seem to be dreaming"
  • Shawn
    13.2k
    My point is that you are not specific enough. You'll need to define more precisely what you are doing. Including some calculations of the processing time and memory demands.Carlo Roosen

    My apologies for not specifying the technicalities. I am not a comsci major or a programmer. Sorry for wasting your time if you didn't find anything of interest in this thread.

    Now it sounds a bit like "could we use a generator to stop a truck instead of normal breaks, and reuse the energy?" - probably yes, but why aren't they doing it everywhere?Carlo Roosen

    It is actually called KERS.

    LLM's for instance require a randomizer. In fact, after reading this remark I'll change "My point is that you are not specific enough." to "You seem to be dreaming"Carlo Roosen

    Sure, I'll go back to dreaming in that case. Thanks for your input.
  • Carlo Roosen
    243
    It is actually called KERS.Shawn

    I should have stayed in my own domain.

    Sorry for wasting your time if you didn't find anything of interest in this thread.Shawn

    No worries, I enjoyed it. It just takes time to see where a person is coming from.
  • kazan
    150
    @Shawn,
    "from dreams, changed futures may occur". Don't stop dreaming,who knows what connections of value may occur.
    @Carlo Roosen,
    "I should......own domain."
    Disagree.
    Venturing out of your own field, learning from other realms and synthesizing/grafting back into and between the fields/realms may produce logjam busting advances.

    For you both, this is just an well meant opinion.
    And as an aside, with near zero relationship to/understanding of the terminology used in this OP, watching the different approach by each participant was very interesting in furthering philosophic interest.
    leaving understanding terminology aside smile
bold
italic
underline
strike
code
quote
ulist
image
url
mention
reveal
youtube
tweet
Add a Comment

Welcome to The Philosophy Forum!

Get involved in philosophical discussions about knowledge, truth, language, consciousness, science, politics, religion, logic and mathematics, art, history, and lots more. No ads, no clutter, and very little agreement — just fascinating conversations.