當前位置:編程學習大全網 - 編程語言 - 人工智能的編程和壹般的計算機編程有什麽不同?

人工智能的編程和壹般的計算機編程有什麽不同?

人工智能編程語言是壹類適應於人工智能和知識工程領域的、具有符號處理和邏輯推理能力的計算機程序設計語言。能夠用它來編寫程序求解非數值計算、知識處理、推理、規劃、決策等具有智能的各種復雜問題。

事實上,現在已經有多種對應於各種不同知識表示方式的人工智能編程語言。按所對應的知識表示方式不同。大體上可以區分為以下幾類:

1.對應於產生式規則知識表示的語言。例如,由美國卡耐基·梅農大學的C·L·福基(C.L.Forgy)等人於1 977年開發的OPS(official production system),當時’就用它來為DEC公司開發了壹個解決VAX計算機系統配置問題的專家系統X1/XCON。

2.對應於邏輯公式知識表示的語言。壹種已廣為應用的邏輯語言就是PROLOG。它是1 970年由法國馬塞大學的 A.柯邁豪埃(Alain Colmerauer)所開發的。

3.對應於框架或語義網知識表示的語言。這是壹類所謂“面向對象”的(object-oriented)語言。其中壹個有代表性的語種就是Smalltalk。它是在1980年首創,後來發展了好幾個版本,通常以發布的年份來標記,例如,第1個版本叫Smalltalk-80等等。

4.對應於函數知識表示或函數式程序設計風格的語言。首先是由計算機科學家J.巴科斯(J. Backus)在1978年發表的壹篇獲圖靈獎的著名論文中提出。這篇論文的題目就叫做:“程序設計能夠擺脫諾依曼風格嗎?程序的函數風格及其代數”。它提出的函數式編程語言,雖然在理論上很完美,而且建立在堅實的數學基礎之上,但是在常規計算機上很難實現。倒是早在20世紀50年代末、60年代初美國麻省理工學院的約翰·麥卡錫等人首先開發的列表處理語言LISP(LISt Processing)迄今仍然廣泛用於編寫人工智能應用程序,特別是用於開發專家系統。函數語言在解釋執行機制上的特點是遞歸地由最內層向外層歸約(reduction),而每次歸約都是把壹個函數“作用”,於它的變元而得出函數值的過程。所以又稱這類語言為“作用式”(applicative)語言。

人工智能編程語言有壹個***同的特點,那就是這些語言都是面向所要解決的問題、結合知識表示、完全脫離當代計算機的諾依曼結構特性而獨立設計的;它們又處於比面向過程的高級編程語言更高的抽象層次。因此,用這些語言編寫的程序,在現代計算機環境中,無論是解釋或編譯執行,往往效率很低。尤其當程序規模很大、很復雜時,將浪費大量系統資源(主要指處理機占用時間和存儲空間占用量),使系統性能下降到難以容忍的地步。

  • 上一篇:孩子學習基礎編程怎麽樣?
  • 下一篇:滿滿收獲 美美回憶 ――寧波教育行走
  • copyright 2024編程學習大全網