Skip to main content
Jake's user avatar
Jake's user avatar
Jake's user avatar
Jake
  • Member for 10 years, 6 months
  • Last seen more than a month ago
comment
Populating a vector of numbers to expose an error in a function implementation
Also do you know of anything non-random? It's still highly desirable for me do narrow this down to a single input
comment
Populating a vector of numbers to expose an error in a function implementation
Both of these are strong answers, particularly polynomial identity testing. I wonder if something like arxiv.org/abs/1909.03391 exists for multilinear functions. If so you could dispense with the assumption that we've inspected the code to obviously produce a multi-linear function (that said in my original case this is a strong and often valid assumption that I've been working with, I just didn't know the right term was "multilinear").
revised
Populating a vector of numbers to expose an error in a function implementation
Removed extranious detail to clarify the question
Loading…
comment
Loading…
comment
How to prove the language of all Turing Machines that accept an undecidable language is undecidable?
The language of turing machines that accept undecidable languages is empty and therefore decidable by the Turing machine that never accepts.
Loading…
comment
Proof of the undecidability of compiler code optimization
Ah I see. Hmm, maybe that could work? It's a good question that needs a proper formalization I think. Now that I understand what you mean a bit better I think it depends on the formalization. If we use basic blocks as "states" then I suspect the answer is still "no" because you can encode undecidable problems without control flow...if we use Turing machine states then I'm not sure this enables any optimization. Also for some definitions of this I can imagine we're not able to remove branches that don't effect the final outcome which seems important to an "optimal" optimizer.
comment
Proof of the undecidability of compiler code optimization
It's still not computable if you cook up some "uneeded infinite loop oblivious" equivalence relation. Or rather such an equivalence is not a well formed idea. Consider a program that loops until it finds a solution to an instance of hilberts 10th problem and then outputs the solution. If a solution exists then it should print out the solution but otherwise it prints out nothing. The optimal program would for a solvable instance just print the solution and print nothing when there isn't a solution. So such a compiler could solve the 10th problem but optimizing and then running the program.
comment
Why is the Halting problem decidable for Goto languages limited on the highest value of constants and variables?
I really fixated on the constants part of this and missed the part where it mentioned that variables also can't go above 17. That's actually the critical part here. Even if constants could be as large as possible, as long as variables somehow can only ever by 17 at most the theorem holds.
comment
Are all Recursively Enumerable languages which are not Recursive also Undecidable?
Recursive == Decidable. They mean the same thing. So if you ask if "Are languages (of any category) which are not Recursive, also Undecidable?" the answer is "yes, definitionally"
comment
What subfields in computer sciences may one study without learning Object Oriented Programming?
I'll add another thing to this. Why do you want to avoid learning something? I spent a lot of time having a bias against certain types of mathematics that I didn't find pleasing but frankly that didn't help anyone. I also had a bias against a lot of OOP things and associated tools but that didn't help me either. You're far better off trying to leave your bias behind. Who cares if you learn something useless along the way? I've learned tons of useless things. The useless things are some of my favorites!
comment
What subfields in computer sciences may one study without learning Object Oriented Programming?
You can learn any part that isn't OOP. OOP is a tiny tiny tiny subfield. I'd call it a vouge idea in industry in the 90s and early 2000s. In industry nowadays we're seeing a movement away from that. When learning to program I understand why people think its so important but from a theory standpoint it isn't important at all and even from an industry perspective the idea is loosing ground.
comment
Efficiently storing and modifying a reorderable data structure in a database
practical answer that isn't helpful to the conceptual question here: many modern relational databases allow for array data types that would probably work for you. Better Answer: Good question! I don't know the best way to do this! You don't need a tree to do this efficiently I think. You can just use a linked list with the primary key of the node table being used like an address. Removal requires a transaction with one update and one deletion. Insertion requires a transaction with one read, one insert, and one update. Each node would have a primary key, a list id, a next key, and content
comment
A variation of the halting problem
Assuming S isn't decidable dosn't allow you to use it as an oracle. That is a separate interesting question "what sets S is T_m decidable for if we have an oracle for S" but not the one being asked.
comment
awarded
comment
Halting problem theory vs. practice
That's a strong point! Also not only do you pay the price of no verification but you also pay an additional development price of some programs being exponentially longer to write due to Blum's theorem. You better really need it for some kind of property like soundness if you take it, but in all the cases I mentioned, low and behold you do in fact need that. So it's not a red hearing unless you have a different goal in mind.
1 2 3
4
5
27