昭和是什么意思| 喉咙疼痛吃什么药效果最好| 宗人府是干什么的| 互卦是什么意思| 宝宝积食吃什么| 摆渡是什么意思| 西京医院什么科室最强| 天蝎属于什么象星座| 巨蟹座是什么星象| 水痘擦什么药膏好得快| 2007年属猪五行属什么| 魂牵梦绕的意思是什么| 木五行属什么| 缺锌吃什么食物和水果| 什么是同位素| 什么叫心律不齐| 包皮龟头炎用什么药膏| 刚怀孕有什么办法打掉| 大便阳性说明什么问题| 土是什么生肖| 灰蓝色是什么颜色| 吃什么助睡眠| 梦见父亲去世预示什么| 爱放屁什么原因| 做一半就软了是什么原因| 吃生蚝有什么好处| 负重是什么意思| 蒸馒头用什么面粉| 骑驴找马什么意思| 丑时属什么生肖| 车迟国的三个妖怪分别是什么| 猪心炖什么补气补血| 脆生生的什么| 相伴是什么意思| 斛是什么意思| 养阴生津是什么意思| 头晕是什么病| 中国最长的河流是什么河| 溜车是什么意思| 哪吒的武器是什么| 血压高吃什么降压药| 血小板压积偏低是什么原因| 桃皮绒是什么面料| 吃丹参有什么好处| 正月初四是什么星座| 胰岛素高是什么原因| 泡泡是什么意思| 四肢抽搐口吐白沫是什么病| 吃什么水果容易减肥| 黑色皮肤适合什么颜色的衣服| 肾火旺吃什么药| 大便带血是什么原因| 双鱼和什么星座最配对| 寒热重症是什么病| 尽善尽美是什么意思| 小孩子发烧手脚冰凉是什么原因| 人参果不能和什么一起吃| ubras是什么牌子| 吃什么能增强免疫力| 梦到怀孕生孩子是什么意思| wtf是什么意思| 六月二十四是什么日子| 夏天吃什么蔬菜好| 刮痧有什么好处和坏处| 牛肚是什么| 剑兰什么时候开花| 慢生活是什么意思| 腿毛长得快是什么原因| 铁观音是属于什么茶| 补肺养肺吃什么食物最好| 男人的魅力是什么| 宝宝拉黑色大便是什么原因| 雌二醇低吃什么补得快| 牛蹄筋炖什么好吃| 6月18日什么星座| 十一点是什么时辰| 三点水的字和什么有关| 快递已揽件是什么意思| 什么样的人容易得脑瘤| 榴莲什么时候成熟| 最后一个出场叫什么| 脉是什么意思| 吃什么能提升免疫力| ipa啤酒什么意思| 滑膜炎是什么| 荷花什么时候开| 生抽和酱油有什么区别| vivo什么牌子| 吃毛蛋有什么好处| 鸡眼长什么样| 专政是什么意思| 二月底是什么星座| 发烧酒精擦什么部位| 日落西山是什么生肖| 1996年是什么命| 白手套什么意思| 情非得已是什么生肖| 发霉的衣服用什么洗能洗掉| bzd是什么意思| 鼻子歪了是什么原因| 喉咙痛有什么好办法| 尿结石是什么症状表现| 孕妇早上吃什么早餐好| 垂体是什么| 丁克什么意思| a是什么单位| 哮喘吃什么药最好| 为什么会肛裂| 250是什么意思| 三顾茅庐的顾是什么意思| 苏打水什么牌子的好| 粉刺是什么东西| pp材质是什么材料| 朝鲜和韩国什么时候分开的| 什么瓜| 故的偏旁是什么| 第三产业是什么| 信女是什么意思| 婴幼儿湿疹用什么药膏最有效| 正正得什么| 氯雷他定片是什么药| 血常规24项能查出什么病| 龋病是什么意思| 喝酒后不能吃什么药| 乳腺增生吃什么药最好| 奖励是什么意思| 西洋参泡水喝有什么功效| 江西有什么好玩的景点| 偏执什么意思| 发烧有什么症状| 半夜口干舌燥是什么原因| 希腊人是什么人种| 灰指甲什么症状| 多囊卵巢有什么症状表现| 任正非用的什么手机| 什么原因会引起胎停| 磨牙缺什么| 骨折喝什么汤恢复得快| 宋朝之后是什么朝代| 小肠与什么相表里| sj是什么| 淋巴结核是什么病| 老人头晕挂什么科| 火靠念什么| 血氧是什么意思| 尿结石挂什么科| 小便发红是什么症状男| 蚩是什么意思| 四月份是什么星座| 儒家是什么意思| 空调自动关机什么原因| 什么食物热量高| 一花一世界一叶一菩提是什么意思| 世界上最难写的字是什么| 生理期是什么意思| 包袱什么意思| 彩排是什么意思| 花卉是什么意思| 老八是什么意思| 为什么会突发脑溢血| 流口水吃什么药最好| 考教师编制需要什么条件| 天津有什么好吃的| 女命正财代表什么| 真丝乔其纱是什么面料| 皮疹是什么原因引起的| 五月二十一号是什么星座| 僵尸肉吃了有什么危害| 豇豆不能和什么一起吃| 婴儿湿疹用什么药膏| 剖腹产吃什么下奶快| 产复欣颗粒什么时候吃| 梳子断了有什么预兆| 痛风是什么感觉| 尿液清澈透明说明什么| 喝竹叶水有什么好处| 中央空调什么牌子好| 毛骨悚然是什么意思| 白羊属于什么象星座| 内痔是什么意思| 尿频是什么原因| 营养不良会导致身体出现什么症状| 心跳太慢吃什么药| 多吃海带有什么好处和坏处| 米其林什么意思| er是什么意思| 农历五月二十四是什么日子| 家里适合养什么鱼| 哺乳期头疼可以吃什么药| 怀孕头三个月吃什么好| 喝牛奶放屁多是什么原因| lu是什么单位| 常放屁是什么原因| 什么都别说| 有期徒刑是什么意思| 安宫牛黄丸有什么作用| 肛门里面痒是什么原因| 肺炎后遗症有什么症状| 椰果是什么做的| 二椅子什么意思| 小三阳吃什么药能转阴| 国家电网需要什么专业| 干咳嗽喉咙痒是什么原因| prawn是什么意思| 腰间盘突出吃什么药好| 什么是社恐| 打边炉是什么| 倒着走路有什么好处| 豆米是什么| 煮沸除氯是什么意思| 小孩吃牛肉有什么好处| 疱疹是什么原因引起的| 30岁属什么| 七月初一是什么日子| 肉炒什么好吃| 离婚要什么手续| 白头翁是什么生肖| 晚上睡觉流口水是什么原因| 检查淋巴挂什么科| 菠萝蜜过敏什么症状| 尿崩症是什么症状| 鸡痘用什么药效果好| 解肌是什么意思| 有何指教是什么意思| 画饼什么意思| 胡子白了是什么原因| 3.25是什么星座| 肝回声密集是什么意思| 塔姆是什么动物| model什么意思| 麦粒肿吃什么消炎药| 有机可乘是什么意思| 三丧日是什么意思| 娃儿发烧用什么方法退烧快| 检查甲状腺挂什么科| 寒咳嗽吃什么药止咳效果好| 黄豆芽炒什么好吃| 肠胃感冒什么症状| 舌头发白是什么原因| 北极有什么动物| 商务专员是做什么的| 猫打什么疫苗| sage什么颜色| 诺氟沙星胶囊治什么| 金风玉露是什么意思| 今天是美国什么节日| 7.11是什么星座| 超声诊断科是做什么的| 莲蓬乳是什么| 9号来的月经什么时候是排卵期| 为什么广西女孩子好娶| 发炎是什么意思| 反复发烧吃什么药| 足癣用什么药最快好| 指鹿为马是什么生肖| 为什么转氨酶会偏高| 阿尔茨海默症是什么| 什么是阳萎| 雷尼替丁主要治什么胃病| 美国报警电话为什么是911| 骄阳是什么意思| 无名指为什么叫无名指| 植脂末是什么| 屎壳郎为什么要推粪球| 百度

没有奶水怎么办吃什么能下奶

(Redirected from Oracle (computability))
百度   既往飞行数据显示,MH17由乌克兰西北部进入,斜穿整个乌克兰版图。

In complexity theory and computability theory, an oracle machine is an abstract machine used to study decision problems. It can be visualized as a black box, called an oracle, which is able to solve certain problems in a single operation. The problem can be of any complexity class. Even undecidable problems, such as the halting problem, can be used.

Black box systems
System
Black box, Oracle machine
Methods and techniques
Black-box testing, Blackboxing
Related techniques
Feed forward, Obfuscation, Pattern recognition, White box, White-box testing, Gray-box testing, System identification
Fundamentals
A priori information, Control systems, Open systems, Operations research, Thermodynamic systems

Oracles

edit

An oracle machine can be conceived as a Turing machine connected to an oracle. The oracle, in this context, is an entity capable of solving some problem, which for example may be a decision problem or a function problem. The problem does not have to be computable; the oracle is not assumed to be a Turing machine or computer program. The oracle is simply a "black box" that is able to produce a solution for any instance of a given computational problem:

  • A decision problem is represented as a set A of natural numbers (or strings). An instance of the problem is an arbitrary natural number (or string). The solution to the instance is "YES" if the number (string) is in the set, and "NO" otherwise.
  • A function problem is represented by a function f from natural numbers (or strings) to natural numbers (or strings). An instance of the problem is an input x for f. The solution is the value f(x).

An oracle machine can perform all of the usual operations of a Turing machine, and can also query the oracle to obtain a solution to any instance of the computational problem for that oracle. For example, if the problem is a decision problem for a set A of natural numbers, the oracle machine supplies the oracle with a natural number, and the oracle responds with "yes" or "no" stating whether that number is an element of A.

Definitions

edit

There are many equivalent definitions of oracle Turing machines, as discussed below. The one presented here is from van Melkebeek (2003, p. 43).

An oracle machine, like a Turing machine, includes:

  • a work tape: a sequence of cells without beginning or end, each of which may contain a B (for blank) or a symbol from the tape alphabet;
  • a read/write head, which rests on a single cell of the work tape and can read the data there, write new data, and increment or decrement its position along the tape;
  • a control mechanism, which can be in one of a finite number of states, and which will perform different actions (reading data, writing data, moving the control mechanism, and changing states) depending on the current state and the data being read.

In addition to these components, an oracle machine also includes:

  • an oracle tape, which is a semi-infinite tape separate from the work tape. The alphabet for the oracle tape may be different from the alphabet for the work tape.
  • an oracle head which, like the read/write head, can move left or right along the oracle tape reading and writing symbols;
  • two special states: the ASK state and the RESPONSE state.

From time to time, the oracle machine may enter the ASK state. When this happens, the following actions are performed in a single computational step:

  • the contents of the oracle tape are viewed as an instance of the oracle's computational problem;
  • the oracle is consulted, and the contents of the oracle tape are replaced with the solution to that instance of the problem;
  • the oracle head is moved to the first square on the oracle tape;
  • the state of the oracle machine is changed to RESPONSE.

The effect of changing to the ASK state is thus to receive, in a single step, a solution to the problem instance that is written on the oracle tape.

Alternative definitions

edit

There are many alternative definitions to the one presented above. Many of these are specialized for the case where the oracle solves a decision problem. In this case:

  • Some definitions, instead of writing the answer to the oracle tape, have two special states YES and NO in addition to the ASK state. When the oracle is consulted, the next state is chosen to be YES if the contents of the oracle tape are in the oracle set, and chosen to the NO if the contents are not in the oracle set.[1]
  • Some definitions eschew the separate oracle tape. When the oracle state is entered, a tape symbol is specified. The oracle is queried with the number of times that this tape symbol appears on the work tape. If that number is in the oracle set, the next state is the YES state; if it is not, the next state is the NO state.[2]
  • Another alternative definition makes the oracle tape read-only, and eliminates the ASK and RESPONSE states entirely. Before the machine is started, the indicator function of the oracle set is written on the oracle tape using symbols 0 and 1. The machine is then able to query the oracle by scanning to the correct square on the oracle tape and reading the value located there.[3]

These definitions are equivalent from the point of view of Turing computability: a function is oracle-computable from a given oracle under all of these definitions if it is oracle-computable under any of them. The definitions are not equivalent, however, from the point of view of computational complexity. A definition such as the one by van Melkebeek, using an oracle tape which may have its own alphabet, is required in general.

Complexity classes of oracle machines

edit

The complexity class of decision problems solvable by an algorithm in class A with an oracle for a language L is called AL. For example, PSAT is the class of problems solvable in polynomial time by a deterministic Turing machine with an oracle for the Boolean satisfiability problem. The notation AB can be extended to a set of languages B (or a complexity class B), by using the following definition:

 

When a language L is complete for some class B, then AL=AB provided that machines in A can execute reductions used in the completeness definition of class B. In particular, since SAT is NP-complete with respect to polynomial time reductions, PSAT=PNP. However, if A = DLOGTIME, then ASAT may not equal ANP (The definition of   given above is not completely standard. In some contexts, such as the proof of the time and space hierarchy theorems, it is more useful to assume that the abstract machine defining class   only has access to a single oracle for one language. In this context,   is not defined if the complexity class   does not have any complete problems with respect to the reductions available to  ).

It is understood that NP ? PNP, but the question of whether NPNP, PNP, NP, and P are equal remains tentative at best. It is believed they are different, and this leads to the definition of the polynomial hierarchy.

Oracle machines are useful for investigating the relationship between complexity classes P and NP, by considering the relationship between PA and NPA for an oracle A. In particular, it has been shown there exist languages A and B such that PA=NPA and PB≠NPB.[4] The fact the P = NP question relativizes both ways is taken as evidence that answering this question is difficult, because a proof technique that relativizes (i.e., unaffected by the addition of an oracle) will not answer the P = NP question.[5] Most proof techniques relativize.[6]

One may consider the case where an oracle is chosen randomly from among all possible oracles (an infinite set). It has been shown in this case, that with probability 1, PA≠NPA.[7] When a question is true for almost all oracles, it is said to be true for a random oracle. This choice of terminology is justified by the fact that random oracles support a statement with probability 0 or 1 only. (This follows from Kolmogorov's zero–one law.) This is only weak evidence that P≠NP, since a statement may be true for a random oracle but false for ordinary Turing machines;[original research?] for example, IPA≠PSPACEA for a random oracle A but IP = PSPACE.[8]

Oracles and halting problems

edit

A machine with an oracle for the halting problem can determine whether particular Turing machines will halt on particular inputs, but it cannot determine, in general, whether machines equivalent to itself will halt. This creates a hierarchy of machines, each with a more powerful halting oracle and an even harder halting problem. This hierarchy of machines can be used to define the arithmetical hierarchy.[9]

Applications to cryptography

edit

In cryptography, oracles are used to make arguments for the security of cryptographic protocols where a hash function is used. A security reduction (proof of security) for the protocol is given in the case where, instead of a hash function, a random oracle answers each query randomly but consistently; the oracle is assumed to be available to all parties including the attacker, as the hash function is. Such a proof shows that unless the attacker solves the hard problem at the heart of the security reduction, they must make use of some interesting property of the hash function to break the protocol; they cannot treat the hash function as a black box (i.e., as a random oracle).

See also

edit

References

edit

Footnotes

edit
  1. ^ Adachi 1990, p. 111.
  2. ^ Rogers 1967, p. 129.
  3. ^ Soare 1987, p. 47; Rogers 1967, p. 130.
  4. ^ Baker, Gill & Solovay 1975, p. 431.
  5. ^ Trevisan 2014, p. 2.
  6. ^ Trevisan 2014, p. 1.
  7. ^ Bennett & Gill 1981, p. 96.
  8. ^ Chang et al. 1994, p. 29.
  9. ^ B?rger 1989, p. 141.

Sources

edit
肝胆湿热吃什么中成药最好 周二右眼皮跳是什么预兆 桑叶茶有什么好处 开心果是什么树的果实 晨尿浑浊是什么原因
桑黄长在什么树上 喉咙有烧灼感吃什么药 肝囊肿有什么危害 汤姆福特属于什么档次 孕妇胃痛可以吃什么药
地球是什么 羽立读什么 财多身弱什么意思 ab型和b型生的孩子是什么血型 眼睛经常长麦粒肿是什么原因
小孩半夜哭闹是什么原因 丝状疣挂什么科 热狗为什么叫热狗 左侧卵巢显示不清是什么意思 种植什么最赚钱农村
血管狭窄吃什么食物好hcv7jop5ns6r.cn 肛门口瘙痒涂什么药膏hcv8jop8ns1r.cn 10月11日是什么星座hcv8jop9ns8r.cn 高血压会引起什么并发症inbungee.com 脑供血不足用什么药好hebeidezhi.com
阻生智齿是什么意思zhongyiyatai.com 冷宫是什么意思hcv9jop6ns6r.cn 一进大门看见什么最好hcv8jop5ns8r.cn 糖尿病为什么治不好hcv8jop1ns0r.cn 梦见杀人是什么意思hcv9jop0ns9r.cn
金刚藤有什么功效hcv8jop5ns6r.cn 狼藉是什么意思hcv8jop7ns3r.cn 久视伤血是什么意思hcv9jop6ns2r.cn 什么叫脑梗hcv9jop1ns1r.cn 春宵一刻值千金什么意思hcv7jop9ns5r.cn
产妇月子吃什么下奶多xjhesheng.com 什么是紫癜hcv9jop3ns8r.cn 罗姓男孩取什么名字好hcv8jop4ns0r.cn 异常脑电图说明什么hcv7jop6ns3r.cn 苹果跟什么榨汁好喝hcv8jop4ns0r.cn
百度