徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
安装
比浏览器更快的访问!
 

霍恩子句

指数 霍恩子句

在数理逻辑中,霍恩子句(Horn Clause)是带有最多一个肯定文字的子句(文字的析取)。霍恩子句得名于逻辑学家 Alfred Horn,他在 1951 年首先在文章《On sentences which are true of direct unions of algebras》, Journal of Symbolic Logic, 16, 14-21 中指出这种子句的重要性。 有且只有一个肯定文字的霍恩子句叫做明确子句,没有任何肯定文字的霍恩子句叫做目标子句。霍恩子句的合取是合取范式,也叫做 霍恩公式。霍恩子句在逻辑编程中扮演基本角色并且在构造性逻辑中很重要。 下面是一个霍恩子句的例子: 它可以被等价地写为: 霍恩子句对定理证明的实用性是一阶归结提供的,两个霍恩子句的归结是一个霍恩子句。在自动定理证明中,这能导致子句的在计算机上表示得更加高效。实际上,Prolog 就是完全在霍恩子句上构造的编程语言。 霍恩子句在计算复杂性中也是关键的,在这里找到一组变量指派使霍恩子句的合取的为真的问题是一个P-完全问题,有时叫做 HORNSAT。这是布尔可满足性问题的 P 的变体,它是一个中心的NP-完全问题。.

14 关系: 合取范式子句 (逻辑)定理机器证明布尔可满足性问题归结原理直觉主义逻辑計算複雜性理論邏輯編程逻辑或NP完全P-完全Prolog文字 (数理逻辑)数理逻辑

合取范式

在布尔逻辑中,如果一个公式是子句的合取,那么它是合取范式(CNF)的。作为规范形式,它在自动定理证明中有用。它类似于在电路理论中的规范和之积形式。 所有的文字的合取和所有的文字的析取是 CNF 的,因为可以被分别看作一个文字的子句的合取和一个单一子句的合取。和析取范式(DNF)中一样,在 CNF 公式中可以包含的命题连结词是与、或和非。非算子只能用做文字的一部分,这意味着它只能在命题变量前出现。 例如,下列所有公式都是 CNF: 而下列不是: 上述三个公式分别等价于合取范式的下列三个公式: 所有命题公式都可以转换成 CNF 的等价公式。这种变换基于了关于逻辑等价的规则: 双重否定律、德·摩根定律和分配律。 因为所有逻辑公式都可以转换成合取范式的等价公式,证明经常基于所有公式都是 CNF 的假定。但是在某些情况下,这种到 CNF 的转换可能导致公式的指数性爆涨。例如,把下述非-CNF 公式转换成 CNF 生成有 2^n 个子句的公式.

新!!: 霍恩子句和合取范式 · 查看更多 »

子句 (逻辑)

在逻辑中,子句是文字的析取,在命题逻辑中,子句通常写做如下,这里的符号 l_i是文字: 在某些情况下,子句被写为文字的集合,所以上述子句将被写为 \。从上下文中得到提示把这个集合解释为它的元素的析取。子句可以为空;在这种情况下,它是文字的空集。空字句被指示为各种符号比如 \empty、\bot 或 \Box。空字句的真值求值总是 false。 在一阶逻辑中,子句是对文字的无量词析取的所有自由变量的全称量化。形式上说,一阶文字是 P(t_1,\ldots,t_n) 种类的公式,这里的 P 是 n 元谓词而每个 t_i 都是可能包含变量的一个任意的项。如果L_1,\ldots,L_m 是文字,而 x_1,\ldots,x_k 是它们的(自由)变量,则 \forall x_1,\ldots,x_k.

新!!: 霍恩子句和子句 (逻辑) · 查看更多 »

定理机器证明

定理机器证明(Automated theorem proving,簡稱ATP)目前是自动推理(Automated reasoning,簡稱AR)体系中发展最好的部分,它的目的是为使用电子计算机程序来进行数学定理的证明。对于不同的数学逻辑,它能够推论出一个定理是正确的,还是不可证明的,或者错误的。 Category:数学软件.

新!!: 霍恩子句和定理机器证明 · 查看更多 »

布尔可满足性问题

可滿足性(英語:Satisfiability)是用來解決給定的真值方程式,是否存在一组变量赋值,使問題为可满足。布爾可滿足性問題(Boolean satisfiability problem;SAT))屬於決定性問題,也是第一个被证明屬於NP完全的问题。此問題在電腦科學上許多領域的皆相當重要,包括電腦科學基礎理論、演算法、人工智慧、硬體設計等等。.

新!!: 霍恩子句和布尔可满足性问题 · 查看更多 »

归结原理

在数理逻辑和自动定理证明中(GOFAI涉及的主题),归结(resolution)是对于命题逻辑和一阶逻辑中的句子的推理规则,它导致了一种反证法的定理证明技术。.

新!!: 霍恩子句和归结原理 · 查看更多 »

直觉主义逻辑

觉主义逻辑或构造性逻辑是最初由阿蘭德·海廷开发的为鲁伊兹·布劳威尔的数学直觉主义计划提供形式基础的符号逻辑。这个系统保持跨越生成导出命题的变换的证实性而不是真理性。从实用的观点,也有使用直觉逻辑的强烈动机,因为它有存在性质,这使它还适合其他形式的数学构造主义。.

新!!: 霍恩子句和直觉主义逻辑 · 查看更多 »

計算複雜性理論

计算复杂性理论(Computational complexity theory)是理论计算机科学和数学的一个分支,它致力于将可计算问题根据它们本身的复杂性分类,以及将这些类别联系起来。一个可计算问题被认为是一个原则上可以用计算机解决的问题,亦即这个问题可以用一系列机械的数学步骤解决,例如算法。 如果一个问题的求解需要相当多的资源(无论用什么算法),则被认为是难解的。计算复杂性理论通过引入数学计算模型来研究这些问题以及定量计算解决问题所需的资源(时间和空间),从而将资源的确定方法正式化了。其他复杂性测度同样被运用,比如通信量(应用于通信复杂性),电路中门的数量(应用于电路复杂性)以及中央处理器的数量(应用于并行计算)。计算复杂性理论的一个作用就是确定一个能或不能被计算机求解的问题的所具有的实际限制。 在理论计算机科学领域,与此相关的概念有算法分析和可计算性理论。两者之间一个关键的区别是前者致力于分析用一个确定的算法来求解一个问题所需的资源量,而后者则是在更广泛意义上研究用所有可能的算法来解决相同问题。更精确地说,它尝试将问题分成能或不能在现有的适当受限的资源条件下解决这两类。相应地,在现有资源条件下的限制正是区分计算复杂性理论和可计算性理论的一个重要指标:后者关心的是何种问题原则上可以用算法解决。.

新!!: 霍恩子句和計算複雜性理論 · 查看更多 »

邏輯編程

邏輯編程(逻辑程--序设计)是種編程典範,它設定答案須符合的規則來解決問題,而非設定步驟來解決問題。過程是 不同的方法,可以看Inductive logic programming。 邏輯編程的要點是將正規的邏輯風格帶入電腦程式設計之中。數學家和哲學家發現邏輯是有效的理論分析工具。很多問題可以自然地表示成一個理論。說需要解答一個問題,通常與解答一個新的假設是否跟現在的理論無衝突等價。邏輯提供了一個證明問題是真還是假的方法。建立證明的方法是人所皆知的,故邏輯是解答問題的可靠方法。邏輯編程系統則自動化了這個程序。人工智能在邏輯編程的發展中發揮了重要的影響。 猴子和香蕉問題是邏輯編程社群的著名問題。電腦須自行找出令猴子接觸香蕉的可行方法,取代程式設計師指定猴子接觸香蕉的路徑和方法。 邏輯編程建立了描述一個問題裏的世界的邏輯模型。邏輯編程的目標是對它的模型建立新的陳述。世界上知識不斷澎漲。傳統來說,我們會將一個問題陳述成單一的假設。邏輯編程的程式透過證明這個假設在模型裏是否為真來解決問題。 一些經常用到邏輯編程工具的範疇:.

新!!: 霍恩子句和邏輯編程 · 查看更多 »

逻辑或

逻辑或(logical or)又称逻辑析取(logical disjunction)、邏輯選言,是逻辑和数学概念中的一个二元逻辑算符。其运算方法是:如果其两个变量中有一个真值为“真”,其结果为“真”,两个变量同时为假,其结果为“假”。.

新!!: 霍恩子句和逻辑或 · 查看更多 »

NP完全

NP完全或NP完備(NP-Complete,縮寫為NP-C或NPC),是計算複雜度理論中,決定性問題的等級之一。NPC問題,是NP(非決定性多項式時間)中最難的決定性問題。因此NP完備問題應該是最不可能被化簡為P(多項式時間可決定)的決定性問題的集合。若任何NPC問題得到多項式時間的解法,那此解法就可應用在所有NP問題上。更詳細的定義容下敘述。 一個NPC問題的例子是子集合加總問題,題目為 這個問題的答案非常容易驗證,但目前沒有任何一個夠快的方法可以在合理的時間內(意即多項式時間)找到答案。只能一個個將它的子集取出來一一測試,它的時間複雜度是Ο(2n),n是此集合的元素數量。.

新!!: 霍恩子句和NP完全 · 查看更多 »

P-完全

在計算複雜度理論內,標示了P-完全的決定型問題對於分析.

新!!: 霍恩子句和P-完全 · 查看更多 »

Prolog

Prolog(Programming in Logic的缩写)是一种逻辑编程语言。它建立在逻辑学的理论基础之上, 最初被运用于自然语言等研究领域。现在它已广泛的应用在人工智能的研究中,它可以用来建造专家系统、自然语言理解、智能知识库等。.

新!!: 霍恩子句和Prolog · 查看更多 »

文字 (数理逻辑)

在数理逻辑中,文字(literal)是一个原子公式(atom)或它的否定。文字可以分为两种类型.

新!!: 霍恩子句和文字 (数理逻辑) · 查看更多 »

数理逻辑

数理逻辑是数学的一个分支,其研究对象是对证明和计算这两个直观概念进行符号化以后的形式系统。数理逻辑是数学基础的一个不可缺少的组成部分。 数理逻辑的研究范围是逻辑中可被数学模式化的部分。以前称为符号逻辑(相对于哲学逻辑),又称元数学,后者的使用现已局限于证明论的某些方面。.

新!!: 霍恩子句和数理逻辑 · 查看更多 »

重定向到这里:

Horn 子句Horn子句霍恩逻辑

传出传入
嘿!我们在Facebook上吧! »