從prolog到LTN,AI的邏輯推理能力1

2021-02-10 無界社區mixlab

趁著假期快速閱讀了一些關於邏輯編程的文獻,喜歡上了邏輯編程這種編程方式。然後,順藤摸瓜,果然,神經網絡+邏輯編程,學術界的研究也有了初步的成果,例如Logic Tensor Networks 、Neural Logic Machines 等等。本文整理了邏輯編程、prolog語言快速入門、LTN的核心思想,分享給大家。01邏輯編程是什麼?只要給出事實和規則,它會自動分析其中的邏輯關係,然後給出答案。它描述了解決方案而不是計算步驟。基於該描述,計算機解決了該問題。從這點來說,描述問題的解決方案比設計解決問題的方法容易得多,在邏輯編程時,我們不需要關心尋找結果的過程,這就是邏輯編程具有吸引力的原因。在邏輯編程中,我們需要建立建立變量(未知數)和值(知識)之間的約束關係,例如:就是一條建立好的約束關係,我們只需編寫到這一步即可,剩下的邏輯程式語言會自動計算出有效的結果。而非邏輯程式語言,需要我們一步一步告訴計算機確切地做什麼,例如:
for(var x=0;x<16;x++){    for(var y=0;y<16;y++){        if(x*2+y*2==16){            console.log(x,y)        }    }}

我們需要把具體的解決方案也編寫完。是不是感覺邏輯編程很簡單?只需要把解題的約束建立好。學習邏輯編程,可以先從Prolog學起。

02Prolog 語言我們來試驗下邏輯編程,開發環境是mac,打開終端,輸入:注意,prolog的每條命令結尾需要添加一個 . 號終端會列印出Hello Mixlab的字樣,恭喜,prolog運行成功。03通過尋找兇手的例子,了解邏輯編程的核心思想如何用prolog尋找兇手呢?案件是這樣的Boddy先生死於謀殺,現有6名嫌疑犯,每個人在不同的房間,每間房間各有一件可能的兇器。我們不知道嫌疑犯、房間、兇器之間的對應關係。下面將根據每次探案獲得的線索,一步步輸入prolog,最終找出誰是兇手。這個過程是不是很像最近熱播的《輪到你了》中用AI來尋找兇手的過程,也是一次次輸入獲得的線索,然後AI來推理。三女 Barbara、Christine、Yolanda
man(george).man(john).man(robert).woman(barbara).woman(christine).woman(yolanda).

person(X):- man(X).person(X):- woman(X).

這樣,最基本的變量(未知數)X和知識person、woman,已經建立關係。我們可以把上面這幾行代碼寫成一個test.pl文件,然後終端輸入:返回的是false,因為shadow沒有錄入man裡,再試試輸入:Logic Tensor Networks(LTN)LTN邏輯張量網絡,把知識和數據都被映射到向量空間,從而使得模型具備知識推理能力。下面通過一個例子來理解它的核心思想。通過上文的簡單介紹,我們知道,需要把知識跟變量可能的值錄入,程序就具備了邏輯推理能力。例如,知識「apple」,按照邏輯編程的寫法「 apple(x)」,它將任何對象x作為參數,如果該對象是蘋果則返回true,否則返回false。
sweet(x):- apple(x),red(x)

如果apple(x)返回的不是true或者false,而是返回0到1之間的數字,這樣,我們就可以通過0-1來表達x是apple的概率。一旦我們把apple(x)的取值範圍變為0-1,我們就可以利用神經網絡進行分類,然後再使用我們的邏輯公式對其進行推理。此外,我們可以使用邏輯公式來指導學習神經網絡權重的過程。我們可以優化神經網絡的權重,使其正確地將x分類為apple。我是喜歡上了邏輯編程的方式,還可以為AI加上推理能力,https://github.com/xmonader/prolog-rands/blob/master/crime.pl2 Logic Tensor Networks: Deep Learning and Logical Reasoning from Data and Knowledgehttps://arxiv.org/abs/1606.04422

贊後➕好友

相關焦點

  • Prolog 語言簡介與入門
    Prolog 就是"邏輯編程"(programming of Logic)的意思。只要給出事實和規則,它會自動分析其中的邏輯關係,然後允許用戶通過查詢,完成複雜的邏輯運算。本文簡單介紹如何使用 Prolog 語言,主要參考了 xmonader 的教程。
  • 測試你的邏輯推理能力高低
    邏輯推理能力測試,旨在考察掌握和運用邏輯分析方法的能力。
  • 孩子缺乏推理邏輯,數學卡在2+1
    孩子的數學能力培養,包括兩個方面:一個是計算能力,一個是推理能力。乘法口訣、加減法等是孩子的計算能力,回答類似「a比b高,b比c高,你能不能推測出a比c高?」這樣的問題,就需要靠邏輯推理能力了。努涅斯(Terezinha Nunes)和布賴恩特(Peter Bryant)——牛津大學教授——研究兒童數學能力的大神級人物,在北大的一次演講中提到:對兒童的數學能力培養來說,數學邏輯推理能力是最重要的。你可能會產生質疑,這麼小的孩子,連算數都要掰手指頭呢,有啥數學邏輯推理能力?
  • 1道公務員考試題:限時50秒,聽說答對的人邏輯推理能力堪比柯南
    邏輯推理,又稱為演繹推理,是由一般到特殊的推理方法。這是一種確實性的推理,其前提和結論有著必然性的聯繫。邏輯推理包括假言推理、選言推理以及我們熟知的三段論等。這種推理方式在教育工作中應用比較廣泛,特別是科學研究以及教學實驗中更為多見。
  • 怎樣才能擁有《唐人街探案2》中秦風的邏輯推理能力?
    這是大偵探福爾摩斯的名言,對於觀察入微,邏輯推理能力超強的人,我們往往會深深發出感嘆和崇拜,擁有一個優秀的邏輯推理能力,註定為讓你在人群中脫穎而出,你的推理能力如何?推理能力如何而來呢?面試重點考察要素:推理能力  有這樣一道面試題目:村子中有50個人,每人有一條狗。
  • prolog中文教程及語法規則
    如果你是一位prolog的新手,希望你首先閱讀這篇文章,好對prolog的全局有個了解,本文將詳細介紹prolog學習流程編程思路上以及prolog語法細節。圖b上述程序的運行是一個通過推理實現的求值過程.
  • 初中學生需要學好邏輯推理,提高數學的解題能力
    初中學生需要學好邏輯推理,提高數學的解題能力推理是從一個或幾個已知判斷推出新的判斷的思維形式,或者說,推理是一個或幾個已知命題推出新命題的思維形式,它是獲得新知識的重要方法。學習類比推理,有利於發展「舉一反三」的能力,有利於尋求知識和解答若干數學問題的線索,便於通過比較自我啟示、啟發,通過已熟悉的知識去了解尚不熟悉的知識。我們不難發現,類比推理考試的難度是在逐年上升的,如何又快又準地找出題幹中所給的兩組或者多組詞之間的具體關係是正確解答類比推理的關鍵。
  • 邏輯推理之圖形推理
    綜合素質在教師資格考試中,主要考查五方面的內容,分別是職業理念、職業道德、教育法律法規、文化素養及基本能力。而基本能力這塊考查邏輯推理能力、計算機操作能力、閱讀理解能力及寫作能力。邏輯推理在考試中一般只涉及兩道單選題,這兩道題對我們廣大考生而言,稍許有些難度,但掌握了相關解答技巧也是能夠做出來的。接下來將要介紹邏輯推理部分有關圖形推理的相關技巧。
  • 十個鍛鍊孩子邏輯推理能力的辦法,學會思考才會更聰明
    只有孩子經過思考,經過分析,總結出自己的答案,才能提升思考能力,提升邏輯推理能力。我們也可以給孩子提供一些答案參考,但一定要讓孩子參與到答案的探索過程中。3、利用文學經典很多文學經典裡,都有非常強的邏輯,我們可以讓孩子多讀書,並根據已經讀到的內容,對故事情節的發展進行預測,這既能鍛鍊孩子的閱讀能力,也能提升孩子的推理分析能力。
  • 從Bengio演講發散開來:探討邏輯推理與機器學習
    此外,所學習到的模型可以推廣到更長的方程組並適應不同的任務,這已經超出了現有的先進深度學習模型的能力。2.1.1 誘因性學習為了更自然地利用學習和推理,了解感知和推理在單個系統中如何相互影響是至關重要的,本文所引入的誘因性學習則是一種有效的聯合應用和分析的方法。
  • 在職研究生:在職聯考綜合能力邏輯之複合命題及其推理
    圖書0折還包郵 網校1元放肆購 課程直降1000元 在職研究生:邏輯是在職研究生聯考綜合能力的一部分,其中複合命題的推理是邏輯考察的重點也是難點。本文為參加在職碩士研究生考試的考生詳細講解複合命題推理的特點和解題思路。更多在職研究生報考條件信息請關注在職研究生招生信息網。
  • 思維之寶,增強數學思維能力的邏輯推理問題
    他們商定的分配原則是:(1)抽籤確定各人的分配順序號碼(1,2,3,4,5);(2)由抽到1號籤的海盜提出分配方案,然後5人進行表決,若且唯若他的方案得到超過半數的人同意,就按照他的方案進行分配,否則就將1號扔進大海餵鯊魚;(3)如果1號被扔進大海,則由2號提出分配方案,然後由剩餘的
  • 50秒破解這道題的人,邏輯推理能力直逼柯南
    他不但聰明過人,而且邏輯推理能力極強,特別是在案件推理上,他總是能夠在短時間內化腐朽為神奇,讓兇手無處遁形。當然,能有如此的實力,最主要的原因在於柯南善於邏輯推理。那麼,何為邏輯推理呢?其實,所謂的邏輯推理,就是指演繹推理,這是一種由一般到特殊的推理方法,是一個人邏輯思維能力外在的體現。通常來說,善於邏輯推理的人,思維非常嚴謹,且極具邏輯性。
  • 有趣的推理,探索邏輯推理的奧秘
    日常生活中我們常常會遇見一些問題需要運用到邏輯推理才能解決。同樣在數學中我們也需要運用到邏輯推理,三年級的孩子常用的方法是列表法。2.邏輯推理的方法:(1)直接推理法;(2)排除的方法;(3)假設法;(4)列表法;(5)圖解法3.推理方法例題演示(1)列表法(列表法就是用表格直觀地表示出已知條件或某些推出的結論,使人一目了然,理清思路。)
  • 推薦:數獨邏輯推理桌遊
    據了解,北京有80所以上的中小學已經把數獨引進了課堂,越來越多的家長也開始傾向給孩子買數獨類的玩具,主要就是因為,它不僅能鍛鍊孩子邏輯推理能力,還能從小培養「數感」,讓孩子理解什麼是數學規則,培養數學思維。
  • 華泰證券校招筆試真題:數字、邏輯推理+英文邏輯推理+英文專業知識!
    筆試形式:機考考試題型:單選題考試總分:未知考試題量:89道題1.   問卷調查題(中文) 4道2. 邏輯推理題:數字推理+圖形推理(中文) 15道3.  邏輯推理題(英文) 40道4. 專業知識題(英文) 30道(歷年真題已錄入職題庫APP中的證券公司/基金公司題庫,可下載查看)二、題型分析華泰證券的在線筆試內容分為中文和英文,主要考察候選人的邏輯推理能力。1.  問卷調查題(中文) 4道真實做答即可。2.
  • 你的邏輯推理能力到底有多強?一道題足以證明
    快下班的時候同事拿來一道題讓我看,說讓我推一下,看看我的邏輯推理能力強不強,能不能成為柯南男神。猜猜密碼是多少這是一道基礎的邏輯推理題,幾步就可以推出正確答案:第一步:以第五條沒有一個號碼正確為線索,把其餘四條線索裡所含的7、3、8全部去掉,然後在去看其他線索
  • 數字推理+圖形推理+邏輯推理+資料分析,30...
    絲芙蘭校招筆試 1. 筆試形式:在線測評 2. 筆試時間:60分鐘 3.筆試題型:大學生思維能力測驗(28題)+職業性格測評(107題) 本文只介紹思維能力測驗,最大的難度其實就是時間限制,30分鐘做完25題意味著差不多要一分鐘一題,很考驗做題的速度。 1.數字推理 跟簡單的數列推理不同,絲芙蘭的數字推理難度高一點。
  • 哈三中教師解讀高考數學:考察邏輯推理能力 重視實際應用
    人民網哈爾濱6月7日電(楊海全)今年的數學試題與2016年相比整體難度變化不大,仍然堅持對基礎知識、基本思想方法進行考查,重視通性通法,淡化特殊技巧,重點考查學生應用意識和應用所學知識分析與解決實際問題的能力。   1.
  • 快來測測你的邏輯推理能力在什麼水平!
    邏輯測試題喊你一起玩耍聽說全部能答對的邏輯推理能力堪比福爾摩斯第1彈在房裡有三盞燈,房外有三個開關,在房外看不見房內的情況,你只能進門一次,你用什麼方法來區分那個開關控制那一盞燈?D. 9月1日。 E. 9月5日。第6彈有3頂黑帽子,2頂白帽子。讓3個人從前到後站成一排,每人頭上戴一頂帽子。