Jump to content

Count to 1000 in binary


zx0

Recommended Posts

1010100000

Computer scientist is someone who studies computation. Or, more specifically what can be computed and for what can be computed, what's the best way to compute it. It's the study of expanding and refining what we know what we know about computing.

Link to comment
Share on other sites

1010100100

Damn you job! That was my chance to get out of the 0's T_T.

Sorry about the grammar in that other post, I did too many edits and didn't really read what I typed after I finished. Here's a little intro to what a computer scientist would think about for the "what can be computed?" question:

Even with the most advanced mathematics/computers available now and in the future, and assuming that you have infinite time to calculate, do you think you can answer this problem: "Create something using math or computers or anything you can think of that's feasible in this world that will generate a list of ALL possible programs (doesn't matter what language) that will not ever get stuck in an endless loop."

.

.

.

.

Bonus points if you noticed that what I just said there amounts to basically, "make a computation that will return everything that can be computed."

Link to comment
Share on other sites

1010100110...

To return each possible program, there are several things to consider. What instruction set/programming language is used? If we are generating for all of them, then that leaves a lot more to compute. There are theoretically an infinite amount of programs for languages that are Turing Complete, therefore the set of all possible programs is infinite. Furthermore, since there are theoretically an infinite amount of possible inputs, that further confirms that the set of all possible computations is infinite. To generate these, given infinite computational time, a program would have to generate every program for every hardware configuration and run every input through it. Since running every input through every program and every hardware configuration will generate all possible computations, there is no need to run computations on bootstrapped configurations. With infinite memory, all possible hardware configurations can be emulated in software, so therefore with a program running a virtualization engine, a program generator and an input generator might theoretically be able to solve the problem given infinite time, infinite computing power and infinite memory.

However, it can also be noted that since there is the halting problem, certain computations will enter infinite loops. However, assuming infinite computing power and infinite time, these infinites become inconsequential. With every program in an infinite loop, given each program state is determined by the state S, one cycle of computation is represented by the function C, and the input is represented by the variable I, the state transition for the next state is Sn+1=C(Sn,In). With an infinite number of states and an infinite number of inputs, that still bounds the number of possible states to an infinite number. Using this logic, one would only need to compute all possible states. For Turing complete instruction sets, the set of all possible states is infinite. However, for non-Turing complete instruction sets, the finite set of possible states would be easily computed with the infinite computing power. The problem is discerning which of these instruction sets have infinite states. This can be simplified by using advanced math or finding instruction equivalence between instruction sets.

In the end, it is not known if this problem is computable. However, given a bounded universe, a set of all states of that universe will include all computational models within it, so I believe that the answer to the problem is every possible state of a universal simulation. With infinite time and memory, every state can be found.

Edited by boink666
Link to comment
Share on other sites

1010101000

@Boink

That problem is not Turing decidable. The set I'm asking for is basically a restatement of this: {<M, w> | M is a Turing Machine and M halts on input w}. It is however Turing recognizable. But that doesn't really let you implement it easily in the real world.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...
Please Sign In