方冬云,曾憲芾
(1.莆田學(xué)院 數(shù)學(xué)與金融學(xué)院, 福建 莆田 351100;2.莆田學(xué)院 機(jī)電與信息工程學(xué)院, 福建 莆田 351100)
隨著信息領(lǐng)域的不斷發(fā)展,互聯(lián)網(wǎng)、云計(jì)算、人工智能等技術(shù)不斷的改變著當(dāng)代人的生活,一階謂詞邏輯作為一種重要的知識(shí)表示方法,有著強(qiáng)大的陳述表達(dá)能力,能夠?qū)⑺季S活動(dòng)準(zhǔn)確的表達(dá)出來,它和自然語言的表述相接近,方便計(jì)算機(jī)進(jìn)行存儲(chǔ),也易于被計(jì)算機(jī)進(jìn)行處理,因此它常常被應(yīng)用于自然語言處理領(lǐng)域。謂詞邏輯就是研究自然語言的形式結(jié)構(gòu)、邏輯性質(zhì)、謂詞關(guān)系及從中導(dǎo)出的規(guī)律[1]。如:珀拉克[2]的人工推理系統(tǒng)所試圖解決的問題:“假設(shè)有一個(gè)彩票游戲,有一百萬人參加,贏家只有一個(gè)。因此,玩家能夠成為贏家的概率極低”。要解決珀拉克的問題,就需要將每句話用一階邏輯符號(hào)轉(zhuǎn)化為謂詞公式,從而利用推理規(guī)則來解決問題。
一階謂詞邏輯是通過將個(gè)體詞、謂詞、量詞根據(jù)所要表達(dá)知識(shí)的語義以邏輯聯(lián)結(jié)詞相連接,形成謂詞公式。一階謂詞邏輯的基礎(chǔ)是一階邏輯命題符號(hào)化,一階邏輯命題符號(hào)化是把自然語言用離散數(shù)學(xué)的相關(guān)符號(hào)轉(zhuǎn)化為謂詞公式。目前對(duì)一階邏輯命題符號(hào)化的研究通常是介紹一句自然語言中含有一個(gè)或兩個(gè)謂詞的一階邏輯命題符號(hào)化,且有一定的規(guī)律,而一句自然語言中含有三個(gè)或三個(gè)以上謂詞的一階邏輯符號(hào)化研究的不多,且提供的方法比較復(fù)雜不易掌握。本文重點(diǎn)分析含有三個(gè)或三個(gè)以上謂詞的自然語言的命題符號(hào)化。
個(gè)體詞:指研究對(duì)象中可以獨(dú)立存在的具體(或抽象)的客體。表示具體(或特定)的客體的個(gè)體詞稱作個(gè)體常項(xiàng),通常用小寫英文字母“a,b,c,…”符號(hào)表示;表示抽象(或泛指)的個(gè)體詞稱作個(gè)體變項(xiàng),通常用小寫英文字母“x,y,z,…”符號(hào)表示,而個(gè)體變項(xiàng)的取值范圍稱作個(gè)體域(或論域),有一個(gè)特殊的個(gè)體域是由宇宙間的一切事物組成的稱作“全總個(gè)體域”。
謂詞:用來刻畫個(gè)體詞性質(zhì)(或個(gè)體詞之間相互關(guān)系)的詞,通常用大寫字母“F(個(gè)體),G(個(gè)體),H(個(gè)體),…”表示。括號(hào)內(nèi)個(gè)體是個(gè)體常項(xiàng),相應(yīng)的謂詞也是謂詞常項(xiàng);括號(hào)內(nèi)個(gè)體是個(gè)體變項(xiàng),相應(yīng)的謂詞也是謂詞變項(xiàng)。
量詞:表示個(gè)體常項(xiàng)(或變項(xiàng))之間數(shù)量關(guān)系的詞。日常生活中常用的“一切的”“所有的”“每一個(gè)”“任意的”“凡”“都”等詞稱作全稱量詞,通常用符號(hào)“?”表示;日常生活中常用的“存在”“有一個(gè)”“有的”“至少有一個(gè)”等詞稱作存在量詞,通常用符號(hào)“?”表示。
同理這個(gè)公式?x?y(F(x)V∧G(y)→H(x,y))也可以根據(jù)上面相應(yīng)的規(guī)則變?yōu)?x(F(x)→(?y(G(y)→H(x,y)))),所以這兩個(gè)公式是等價(jià)的。
個(gè)人認(rèn)為把每句自然分解成多個(gè)復(fù)合的主謂語,按“?”量詞與“→”聯(lián)結(jié)詞搭配,“?”量詞與“∧”聯(lián)結(jié)詞搭配的規(guī)則,可以將含有個(gè)體詞多種關(guān)系的自然語言符號(hào)化,如“不存在跑得同樣快的兩只兔子”,可以這樣分解,“F(x)∶x是兔子”,G(x,y)∶x≠y,L(x,y)∶x與y跑得同樣快”,符號(hào)化為“?x(F(x)∧(?y(F(y)∧G(x,y))∧L(x,y)))”,同時(shí)可以利用等值式轉(zhuǎn)化成不同的謂詞公式:
下面再舉自然語言中含有三個(gè)以上的謂詞,如自然語言“人與同時(shí)成長(zhǎng)的某些寵物能很好相處”??梢园堰@句自然語言分解成多個(gè)復(fù)合的主謂語,如“人類”為主語,“同時(shí)成長(zhǎng)的某些寵物能很好相處”為謂語,且“同時(shí)成長(zhǎng)的某些寵物能很好相處”里還有主謂語:“寵物同時(shí)成長(zhǎng)”為主語,“很好相處”為謂語。那么這句自然語言“人與同時(shí)成長(zhǎng)的某些寵物能很好相處”可以這樣符號(hào)化“?x(F(x)→(?y(G(y)∧H(x,y)) ∧L(x,y)))”,其中F(x)∶x是人類;G(y)∶y是寵物;H(x,y):x與y同時(shí)成長(zhǎng),L(x;y)∶x與y很好相處。這樣就有一定的規(guī)則,與前面只含兩個(gè)謂詞的規(guī)則一致,即“?”量詞與“→”聯(lián)結(jié)詞搭配;“?”量詞與“∧”聯(lián)結(jié)詞搭配。可以利用等值式轉(zhuǎn)化為與之等值的其它公式,過程如下:
在生活中往往需要根據(jù)一段自然語言來判斷結(jié)果,首先要把每句自然語言進(jìn)行命題符號(hào)化,再利用相關(guān)的推理規(guī)則進(jìn)行推理得出相應(yīng)的結(jié)論。下面舉兩個(gè)例子進(jìn)行分析:“每個(gè)有理數(shù)都是實(shí)數(shù),有的有理數(shù)是整數(shù)。因此,有的實(shí)數(shù)是整數(shù)”[3]。相關(guān)謂詞“Q(x)∶x是有理數(shù),R(x)∶x是實(shí)數(shù),z(x)∶x是整數(shù)”,前提有“?x(Q(x)→R(x))”,“?x(Q(x)∧Z(x))”,結(jié)論“?x(R(x)∧Z(x))”,寫成下面的推理結(jié)構(gòu)形式:
前提:?x(Q(x)→R(x)),?x(Q(x)∧Z(x))
結(jié)論:?x(R(x)∧Z(x))
證明:利用前提引入規(guī)則得①?x(Q(x)∧Z(x)),利用存在量詞消去規(guī)則得②Q(c)∧Z(c),利用前提引入規(guī)則得③?x(Q(x)∧R(x)),利用全稱量詞消去規(guī)則得④Q(c)→R(c),利用化間規(guī)則得⑤Q(c),利用假言推理規(guī)則得⑥R(c),利用化間規(guī)則得⑦R(c),利用合取引入規(guī)則得⑧R(c)∧Z(c),利用存在量詞引入規(guī)則得結(jié)論?x(R(x)∧Z(x))。
包含三個(gè)謂詞自然語言的推理,“火車都比汽車快,汽車都比輪船快,a是火車,b是汽車,c是輪船。所以a比b快,b比c快”[4]。相關(guān)謂詞“F(x)∶x是火車,G(y)∶y是汽車,H(z)∶z是輪船,L(x,y)∶x比y快”,前提有“?x(F(x))→?y(G(y))→L(x,y)))”,“?y(G(y)→?z(H(z)→L(y,z)))”,“F(a)”,“G(b)”,“H(c)”,結(jié)論“L(a,b)∧L(b,c)”,寫成下面的推理結(jié)構(gòu)形式:
前提:?x(F(x)→?y(G(y)→L(x,y))),?y(G(y)→?z(H(z)→L(y,z))),F(a),G(b),H(c)
證明:利用前提引入規(guī)則得①?x(F(x)→?y(G(y)→L(x,y))),利用置換規(guī)則得②?x?y(F(x)∧G(y)→L(x,y)),利用全稱量詞消去規(guī)則得③?x(F(x)∧G(b)→L(x,b)),利用全稱量詞消去規(guī)則得④F(a)∧G(b)→L(a,b),利用前提引入規(guī)則得⑤F(a),利用前提引入規(guī)則得⑥G(b),利用合取引入規(guī)則得⑦F(a)∧G(b),利用假言推理規(guī)則得⑧L(a,b),利用前提引入規(guī)則得⑨?y(G(y)→?y(H(z)→L(y,z))),利用置換規(guī)則得?y?z(G(y)H(z)→L(y,z)),利用全稱量詞消去規(guī)則得?y(G(y)∧H(c)→L(y,c)),利用全稱量詞消去規(guī)則得G(b)∧H(c)→L(b,c),利用前提引入規(guī)則得H(c),利用合取引入規(guī)則得G(b)∧H(C),利用假言推理規(guī)則得L(b,c),利用合取引入規(guī)則得結(jié)論L(a,b)∧L(b,c)。
所以要判斷一段話的正確性,把相關(guān)的前提與結(jié)論構(gòu)造出來,再利用一階邏輯命題符號(hào)化把每個(gè)前提和結(jié)論轉(zhuǎn)化為謂詞公式,最后利用推理規(guī)則進(jìn)行判斷,就能得出結(jié)論的正確性。在這個(gè)過程中準(zhǔn)確地將自然語言命題符號(hào)化是關(guān)鍵環(huán)節(jié),而含有三個(gè)或三個(gè)以上謂詞的較復(fù)雜的自然語言命題符號(hào)化是其中的難點(diǎn)。
采用謂詞邏輯轉(zhuǎn)譯規(guī)范看似簡(jiǎn)單,實(shí)則涉及哲學(xué)、數(shù)學(xué)、數(shù)理邏輯、計(jì)算機(jī)科學(xué)、自然語言處理、語義學(xué)、結(jié)構(gòu)設(shè)計(jì)等領(lǐng)域,是一個(gè)多學(xué)科交叉融合且比較復(fù)雜的問題,謂詞邏輯在軟件工程、數(shù)據(jù)結(jié)構(gòu)、編譯原理、計(jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)圖形學(xué)、數(shù)據(jù)庫原理、人工智能等諸多領(lǐng)域中都有應(yīng)用[5],所以研究一階邏輯命題符號(hào)化具有一定的意義。