N知識處理語言 - N Knowledge Manipulate Language


「N語言」的全稱為「N Knowledge Manipulate Language」,即為「N知識處理語言」,在相關文件當中,我們一律採用「N語言」作為標準詞彙。

「N語言」為法則基礎的語言(Rule-Based Language),專門設計用來處理「擬人智能技術」當中的「知識處理」,利用「法則庫」的替換,「N語言」理論上可以混合任何「程式語言」及「人類自 然語言」來進行「知識處理」。

「N語言」的內定規則是「N知識規則」,「N知識規則」可以指定所使用的「人類自然語言」,內定的人類自然語言是英文,不同的語言均可以指定出含 意空間、賦意域、法則庫及行動反應鏈。亦即,使用英文、俄語或中文等等語言,均可以進行「知識處理」或「程式設計」。

「N語言」的構思及細節與所有的傳統程式語言完全不相同,專門為「擬人智能」時代訂製,全新打造的新種類程式語言。

例如:英文當中的「Who the hell are you?」這個問句,在N語言當中,實際上是真的可以執行的語法。

Push answer into Variable YOURNAME from question: Who the hell are you?

這一整句在N語言當中是真的可以執行的,但是,機器不同,環境設定不同,實際的執行項目就不一樣,這是N語言相對其他程式語言特殊的地方,實際執 行項目是一個被稱為「行動列表」的序列,不同的映射,實際執行不同內容。

「N語言」的最大特徵就是以「人腦直覺思考模式」作為設計基礎原則,是一種以「含意→行動」為基礎的程式設計方式。「N語言」設計師通常必須「解 釋」各種理由,讓機器主動「自主行動」。

與其他程式語言混用


改變所使用的法則庫,通用的語法如下:

Rule set C

在一個原訂為*.c檔(或*.n檔案)當中,使用者可以使用:

/*#!Rule set C */

來指定為C語言規則,強迫N語言編譯器使用C語言。

Rule set C++

在一個原訂為*.cpp檔(或*.n檔案)當中,使用者可以使用:

/*#!Rule set C++ */
//#!Rule set C++

來指定為C++語言規則,強迫N語言編譯器使用C++語言。

Rule set bash

在一個原訂為*.sh檔(或*.n檔案)當中,使用者可以使用:

#!Rule set bash

來指定為bash腳本規則,強迫N語言編譯器使用bash腳本。

Rule set FORTRAN

在一個原訂為*.f檔(或*.n檔案)當中,使用者可以使用:

!#!Rule set FORTRAN

來指定為FORTRAN語言規則,強迫N語言編譯器使用FORTRAN語言。


N知識規則


Rule set N

則將規則設置為「N知識規則」。

Rule language 1819.

Rule language English.

規則 語言 英文(中文規則下的語法,必須單行)

英文語言規則(必須單行)

切換成中文則如下:

Rule language 4871
Rule language Chinese Traditional
規則 語言 中文 正體
規則 語言 中文 繁體
繁體中文語言規則
正體中文語言規則


同時使用多種人類自然語言的語法

Rule language addition 7523 priority 2
Rule language addition Chinese Simplified priority 2
規則 語言 附加 中文 簡體 優先權 第二
附加簡體中文語言規則第二優先權


請記住,N語言當中是允許失效語法的,失效語法會直接被忽略掉,跳到下一個可執行的語法。

N語言的自我修改功能


例如一個about.n檔案中,about.n的N語言程式,可以自己修改about.n的內容,編譯的方式分成直譯階段、行動碼階段、JIT編 譯階段及執行碼階段,每一個階段都是可以執行的程式。

使用人類自然語言、自我修正的功能,都只有「N知識規則」才允許,被混合的程式語言本身是不允許自我修改程序的。

特有的法則庫


中文語言方程

Rule set CLF

如此即可設定中文語言方程表達式。

例如:「天龍人」組合字。

Assign OpDragonJunkie equals CLF ( 5 , 亻 , CLF ( 9 , 天 , 龍 ) )
Append OpDragonJunkie with CLF ( 9 , 王 , 八 )

這樣,就可以透過中文語言方程表達式,「天龍人王八」兩個漢字到OpDragonJunkie,其中「天龍人」是個自由組字的漢字。


諺文構字式

Rule set KLF

如此即可設定諺文構字表達式。