Talk:Oracle machine

message: The definition of an oracle-machine presented here is interesting, but not clearly poly-time equivalent to the standard (and historical) definition, in which the oracle-tape is read-write, and does not initially encode the characteristic function of the oracle set A, but essentially acts as an input-form for the oracle. In this standard definition, the oracle itself takes the form of a distinguished "query state" q? of the Turing machine, from which the only transitions are to distinguished "yes" or "no" states, qyes or qno, which the Turing machine transitions to depending on whether the oracle tape currently contains an element of A. My question: why is the current definition in terms of a read-only tape containing the characteristic function of A presented instead, and is it clear that these two definitions are poly-time equivalent? 92.231.228.50 (talk) 07:47, 25 August 2010 (UTC)
thread_title:  Consistency with standard definitions? 

message: :"The Oracle character in the Matrix series is clearly a reference to oracle machines.  This becomes particularly apparent in The Matrix Reloaded, with discussion of the Oracle's "intuitive" but inexplicable answers to extremely difficult problems.  The Matrix Revolutions appears to explore the idea that oracle machines are unable to answer questions about their own behaviour."
Removed this from the article. Oracle machines are a pretty obscure topic that are not widely known outside of CS circles, and Delphic oracles are not - I think it far more likely that the Matrix movies were referencing the Delphic oracles, and not an esoteric CS topic... (of course, if there is any evidence from the filmmakers which supports the CS theory, re-add this.) --Kwertii 11:29, 15 May 2004 (UTC)
replies: text: Well, the closest indication from the Wachowski brothers was that they said they were making films about "higher mathematics" (Google search). --pde 03:51, 2 Dec 2004 (UTC)
replies: text: I agree. This is almost certainly based on oracles, the people, rather than the machines. I support its removal. --Deco 00:32, 14 May 2005 (UTC)
replies: text: I don't think it's "clearly a reference" at all.  It could just as easily be a reference to the Oracle at Delphi (or any other oracle- the usage of this term is relatively common throughout history), and given the authors' obvious tendenc to name characters and places from (often mystical beings) in history, (Merovingean, Morpheus, Niobe, Nebuchadnezzar, Kali, Seraph, Persephone, etc.) then this sounds sorta naïve, silly, and irrelevant.  This is not a Matrix fanboy page.  I'm removing.  --Eliasen 14:08, 15 May 2005 (UTC)
thread_title:  References in Popular Culture 

message: I am confuse with the statement "which is able to decide certain decision problem in a single step". What "single step" means? Is it solving a decision problem in a constant time?
In the article NP-easy, it used an example about sorting a list of strings. It seems to imply that comparing two string can be solved in "a single step". I think it is because the complexity of comparing two string is independent of(independent of n, where n is the number of strings) sorting the list of strings. Therefore, we can conclude that comparing two strings can be solve in "a single step". Am I right?
Can anyone tell me what "single step" means? --wonghang
:In the context of the article, "single step" means a single step of the Turing machine.  Turing machines operate in discrete timesteps, and it may take the Turing machine many, many timesteps to solve a problem, but the attached oracle can solve arbitary problems in one timestep.
:In the sorting case, I think they're making the assumption that each string can be compared in constant time.  This can be done if the string is very short, but generally cannot be done for arbitrary length strings (because more than one machine word needs to be compared.) --Eliasen 07:26, 21 Jun 2005 (UTC)
replies: text: I think perhaps it would be better to say "a single operation" rather than step. --Maru  (talk) Contribs 20:51, 30 October 2005 (UTC)
thread_title:  Can anyone tell me what "single step" means? 

message: What is the simplest problem that can be Turing reduced to the Halting Problem? --SurrealWarrior 06:37, 1 August 2005 (UTC)
thread_title:  Reducing to Halting problems 

message: This Turing Oracle thing suddenly becomes apparent if you write Turing's first proof in the form of a play of people rather than a machine-- my example to myself is a married couple who are counselors of marriage-counselors (thus we have the opportunity to create self-reference). But their "counselor-method" is highly logical-- it follows a script of instructions. When an evil competitor asks them to write down their own method, and passes it off as his own, they get locked in a circle. If you imagine this to be the story of real (agreed: zombie-like) people, you as audience see this "from the outside in" whereas if you were one of the counselors, you would see a different "play" from "the inside out". You might not observe yourself being a zombie. In a way this is like a Turing machine watching a Turing machine, telling it it is in circle when it repeats a sequence of states. But I'm not convinced the "oracle" (the audience or watcher-machine in this example) can be sure it is truly watching a circle. But this example made clear what an oracle might provide a TM. Any thoughts about this? Thanks wvbaileyWvbailey 03:38, 11 January 2006 (UTC)
thread_title:  Strange observation re Turing's first proof 

message: What does "solvable by an algorithm in class A with an oracle for a problem in class B is written AB" mean. I think it needs to be re-worded for clarity. Does it mean "solvable by an oracle-assisted algorithm in class A, for a problem in class B, is written AB"? Does it mean "solvable by an algorithm in class A, with an Class B problem capable oracle, is written AB"? —The preceding unsigned comment was added by 64.180.7.253 (talk) 04:25, 7 February 2007 (UTC)
thread_title:  Rewording please? 

message: Hello
As a new student in the field of computer science I am very interested in Turing machines and related "machines" like the Oracle machine. I think this article would be a lot easier to understand for those unfamiliar with the subject if there was a visual example of and Oracle machine solving a problem, a picture (step-by-step pictures or an animated GIF). I'd be glad and grateful should someone provide this. 88.112.51.212 (talk) 13:07, 5 December 2010 (UTC)
replies: text: An infinite piece of paper with the answer to an uncomputable function written out on it... I'm not sure what kind of useful animation could be created. OrangeDog (τ • ε) 17:21, 5 December 2010 (UTC)
replies: text: Well, I have seen sample demonstrations of normal Turing machines, why not oracle machines as well? 88.112.51.212 (talk) 14:13, 6 December 2010 (UTC)
replies: text: It's the same, except for the aforementioned magic tape. OrangeDog (τ • ε) 18:45, 6 December 2010 (UTC)
thread_title:  Example needed 

message: As observed on math.se, the definition of oracle machines given in this article is dead wrong. The oracle tape does not contain the characteristic function of the oracle. When the machine needs to access the oracle, it writes the query string to the oracle tape, and enters a query state. In the next step, it continues in one of two states corresponding to whether or not the query string belongs to the oracle. The version given in this article instead forces the machine to use exponential time for each oracle query, which destroys usual oracle complexity classes like NPA.—Emil J. 18:28, 1 September 2011 (UTC)
replies: text: The definition here is the one on p. 47 of Soare's book Recursively enumerable sets and degrees, which is the standard textbook for computability theory these days. It may be that people in complexity theory need a different definition, but the one here is not "dead wrong". — Carl (CBM · talk) 20:35, 1 September 2011 (UTC)

text: What does seem to be wrong is that (1) the article doesn't point out the other definition and (2) the section on complexity theory needs to emphasize that the more efficient definition is needed for the purposes of complexity theory. — Carl (CBM · talk) 20:44, 1 September 2011 (UTC)
thread_title:  Wrong definition 

message: In the section "Complexity classes of oracle machines" the terms "P" and "NP" seem to be used to refer to both classes of algorithms and the classes of problems solvable by those algorithms, I guess playing fast and loose in this way is embedded in the conventional terminology, but it should still be clarified because people might wonder how f(x)!=(y) does not imply x!=y. (the answer being that the 'x' and 'y' in the two equations are actually referring to different, but closely related, things by the same name). This led to confusion above in this talk page, but the issue has not been clarified in the article, and I initially came to this talk page over the same confusion. I really think there should be something in the article explaining this. Or even better, change the language to use non-ambiguous terminology, assuming there exists some such alternative convention that is reasonably often used in computer science. 173.227.48.5 (talk) 16:48, 29 June 2012 (UTC)
thread_title:  Ambiguity in Terminology 

message: Two sections above concern the definition in the article:
* Talk:Oracle_machine#Rewrote_definition_of_oracle_machine
* Talk:Oracle_machine#Wrong_definition
The definition that was here (I didn't write it) was correct, but useless for computational complexity.
I have completely rewritten the section to try to give a more complexity-appropriate definition first, and then give the alternatives later. It took some work to find a reference for a definition that was general enough to cover function problems as well as decision problems, and which could handle multiple symbols on the work tape. But I found at least "some" reference for each definition, which should help with any verifiability concerns. 
Please feel free to fix any errors I made or improve the text further. — Carl (CBM · talk) 21:45, 20 December 2012 (UTC)
thread_title:  Definition 

message: Please clarify what is meant by "the query tape" in van Melkebeek's definition?  It remains unclear to any reader not versed in the jargon exactly which of the two tapes is meant.  One approach might be to clarify the notion of "query" - which part of the machine is querying the other?  I'm guessing that one approaches an oracle with a question one wants an answer to - but am unsure that's what this means here.  yoyo (talk) 17:39, 16 December 2016 (UTC)
thread_title:  The "query tape" needs clarification