Ask HN: What is not going to change in future?
71–80 of 99 posts
Re: Ask HN: What is not going to change in future?
#72Re: Ask HN: What is not going to change in future?
#73Re: Ask HN: What is not going to change in future?
#74Phones will probably look the same in 10 years. Not the exact same, but it'll still have a touchscreen and fit in your pocket.
unless you were being sarcastic.
Re: Ask HN: What is not going to change in future?
#75Theoretical CS fundamentals are not going to change. Practically, that means among other things: - Unless somebody finds a polynomial algorithm for an NP-complete problem (which is a taller order than just proving P=NP), several interesting problems will continue to be infeasible to solve exactly in the general case with large data. - If, in addition, quantum computers don't prove to be viable, commonly used cryptosy…
I think this is misleading. There are many exact static analyses---proof-checking in theorem provers like Coq is an exact static analysis. More generally, type checking can be an exact static analysis that guarantees semantic properties of your programs, like termination.
If you can force your programs to be in a certain form (e.g., statically rejecting type incorrect programs), you can sufficiently restrict the class of programs (Turing machines) that you're considering that you can indeed determine non-trivial computational properties of your programs.
Re: Ask HN: What is not going to change in future?
#76- people give the orders
- people approve implementations (e.g., implementations handed over by an AI)
- people who approve implementations need to save face when the implementation turns out buggy
Even if AI reaches a level at which it can do all of the points above, it would dimishis its own value. Example: if I could launch an Spotify alternative with a few prompts using ChatGPT version 10, then so a million guys like can do it as well... meaning, no one will be doing it.
Re: Ask HN: What is not going to change in future?
#77Earlier quoted context omitted.
The handwavy explanation is you can enumerate a list of all the turing machines. You run the first one for one step, then you run the first two for two steps, then the first three for three steps, etc, until one of them halts. If P=NP, this will happen in polynomial time, which gives you the algorithm you need.
I'm not sure I understand. How would a list of all Turing machines possibly help when trying to solve a specific problem in P time? Are they built in a way that is relevant to the problem you're trying to solve (if so, how?).
Imagine your problem is to write Hamlet by Shakespeare. One way to write Hamlet by Shakespeare is to enlist many monkeys who then type at random (but with the property that no two monkeys type the same thing). Each monkey also has a special "done" button that they press when they're done writing. Some monkeys never press it and write forever.
So you instruct each monkey to type one key and then you check each monkey to see if they pressed "done". If they pressed "done", you check if they wrote Hamlet. Otherwise, you continue and have the monkeys each press another key.
Since there are infinitely many different monkeys, so you can't enlist them all at once, because then checking after each key press would take you infinitely long! This is why you play that game with at the first step you enlist one monkey, then two, then three, etc; it ensures at each step there are finitely many monkeys to check.
Of all the possible monkeys, one monkey will write Hamlet exactly and then press "done". This scheme finds that monkey. Similarly, for Turing machines, there will be at least one (technically, infinitely many) that solves your problem. You just have to figure out which one it is by doing the enumeration that stephencanon detailed. If P = NP, that enumeration process can happen in P time. Keep in mind that all problems in NP have polynomial time verifiers. So you can always check a solution (i.e., checking if the monkey actually wrote Hamlet) in polynomial time.
Re: Ask HN: What is not going to change in future?
#78And of course, maths. I graduated in maths decades ago, and I always find it amusing when I see some tutorials on linear algebras making it to the top of HN, like if it was some fashionable new cool technologies. That being said, my math knowledge hasn't transferred in software engineering skills.
Re: Ask HN: What is not going to change in future?
#79Re: Ask HN: What is not going to change in future?
#80Earlier quoted context omitted.
I'm not sure I understand. How would a list of all Turing machines possibly help when trying to solve a specific problem in P time? Are they built in a way that is relevant to the problem you're trying to solve (if so, how?).
Disclaimer: I didn't know about universal search until I read stephencanon's comment. I just thought it was fun to think about and I think the answer is what follows, but it could be wrong! Imagine your problem is to write Hamlet by Shakespeare. One way to write Hamlet by Shakespeare is to enlist many monkeys who then type at random (but with the property that no two monkeys type the same thing). Each monkey also has…
I understand why verifying can happen in time P for each machine, but I'm still confused on how you're sure that you hit on the right machine in P time.
For writing Hamlet, you have way more than "P" options for machines, if you're typing at random (I'm not sure how you'd define the input in this case, maybe the length of the work you want them to write?). So even if you can verify in time P, you'll still need to go through way-more-than-P machines before one solves your problem.
Maybe there is a way to use universal search or something to make this happen faster, but I'm not sure how a non-constructive P=NP proof actually gives you the algorithm.
(I tried looking a bit into this and I didn't yet find something that shows otherwise, but I didn't have time to look much.)