專利名稱:數(shù)據(jù)結(jié)構(gòu)和管理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)庫(kù)管理的領(lǐng)域,尤其涉及用于產(chǎn)生和處理關(guān)系(relational)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)結(jié)構(gòu)的新組織協(xié)議。
背景技術(shù):
在把計(jì)算機(jī)引入商務(wù)主流時(shí),沒有可利用的數(shù)據(jù)庫(kù)程序。用戶把其紙質(zhì)文件拷貝到計(jì)算機(jī)的內(nèi)存中,而未改變他們所存儲(chǔ)的數(shù)據(jù)的結(jié)構(gòu)。最終,數(shù)據(jù)庫(kù)程序變得可廣泛使用。每個(gè)程序都有它自己構(gòu)造數(shù)據(jù)庫(kù)的一組規(guī)則。用戶根據(jù)他們的需要使用這些程序的規(guī)則來構(gòu)造數(shù)據(jù)。許多用戶沿用已存儲(chǔ)在紙質(zhì)文件中的方法來構(gòu)造數(shù)據(jù)。其它用戶使用數(shù)據(jù)庫(kù)的供應(yīng)商所建議的模型或程序。
最終,數(shù)據(jù)庫(kù)程序發(fā)展到關(guān)系數(shù)據(jù)庫(kù)模型中。此模型具有構(gòu)造數(shù)據(jù)的特定規(guī)則??赏ㄟ^確定關(guān)系數(shù)據(jù)庫(kù)與關(guān)系數(shù)據(jù)庫(kù)模型規(guī)則如何緊密聯(lián)系來判定每個(gè)關(guān)系數(shù)據(jù)庫(kù)程序的相關(guān)程度。最新的數(shù)據(jù)庫(kù)創(chuàng)新是面向?qū)ο蟮臄?shù)據(jù)庫(kù)模型。面向?qū)ο蟮木幊檀鎯?chǔ)函數(shù)、子程序和作為可重新使用對(duì)象的數(shù)據(jù)。
所有不同類型的數(shù)據(jù)模型都曾嘗試以它們自己獨(dú)有的方式來解決目前可獲得的所有數(shù)據(jù)庫(kù)系統(tǒng)中固有的相同主要問題。這些問題是(1)幾乎所有的數(shù)據(jù)庫(kù)都是異類(heterogeneous)的,而且也不可能自動(dòng)結(jié)合成單個(gè)數(shù)據(jù)庫(kù)。幾乎總是需要重新編程把在兩個(gè)或多個(gè)異類數(shù)據(jù)庫(kù)中的關(guān)系完全結(jié)合起來。由于重新編程通常太貴或太費(fèi)時(shí),所以幾乎所有具有一個(gè)以上數(shù)據(jù)庫(kù)的組織都未盡可能高效地進(jìn)行操作。(2)所有的關(guān)系不可能在所有的時(shí)刻都保持在線(on line)。現(xiàn)有的數(shù)據(jù)庫(kù)模型受到可在任何時(shí)刻保持在線的關(guān)系數(shù)目的限制。這限制了目前的數(shù)據(jù)庫(kù)在諸如對(duì)所有關(guān)系的全面搜索等領(lǐng)域的操作能力。(3)通常以存儲(chǔ)在多個(gè)位置的相同數(shù)據(jù)元素來復(fù)制數(shù)據(jù)。這不必要地增大了數(shù)據(jù)庫(kù)的尺寸,并阻礙了搜索進(jìn)程?;谝粋€(gè)數(shù)據(jù)元素的一個(gè)位置的搜索通常會(huì)錯(cuò)過所需的結(jié)果,這是因?yàn)檫@種搜索通常會(huì)錯(cuò)過同一數(shù)據(jù)元素的其它位置。
人腦不會(huì)受到這些問題中任一個(gè)的困擾。人腦自動(dòng)地把異類數(shù)據(jù)結(jié)合起來,繼而下意識(shí)地以單個(gè)同類數(shù)據(jù)庫(kù)進(jìn)行工作。對(duì)此的證據(jù)基于以下事實(shí),即編程人員用他們的大腦把多個(gè)異類數(shù)據(jù)庫(kù)重新編程為單個(gè)同類數(shù)據(jù)庫(kù)。人腦在所有的時(shí)刻保持所有的關(guān)系在線。除了記憶力的缺陷外,我們?cè)?jīng)存儲(chǔ)的所有知識(shí)總是可同時(shí)獲得。人腦對(duì)于所有的數(shù)據(jù)元素只存儲(chǔ)一次,或者人腦的確對(duì)同一數(shù)據(jù)元素存儲(chǔ)了不止一次,但它把同一數(shù)據(jù)元素的多個(gè)存儲(chǔ)位置都鏈接起來,就象一個(gè)數(shù)據(jù)元素只存儲(chǔ)一次一樣。否則,我們必須有意識(shí)地搜索同一數(shù)據(jù)元素的不同存儲(chǔ)位置,但我們無需這樣做。
發(fā)明內(nèi)容
由于人腦是唯一知道解決這些問題的事物,所以人腦在開發(fā)這里所述的創(chuàng)造性配置中提供了重要的線索。研究表明,人腦使用神經(jīng)原-突觸-神經(jīng)原來發(fā)送信號(hào)和構(gòu)造關(guān)系。當(dāng)一個(gè)神經(jīng)原在突觸上激發(fā)到特定行為程度時(shí),可引起接受(receptor)神經(jīng)原進(jìn)行到特定行為程度。接受神經(jīng)原的行為隨著發(fā)送到突觸上的改變信號(hào)而改變。本創(chuàng)造性配置利用神經(jīng)原-突觸-神經(jīng)原模型來構(gòu)造新數(shù)據(jù)庫(kù)結(jié)構(gòu)中所有數(shù)據(jù)元素的關(guān)系。因而,這里所述的數(shù)據(jù)庫(kù)系統(tǒng)叫做MINDBASE(腦庫(kù))數(shù)據(jù)系統(tǒng)。依據(jù)MINDBASE數(shù)據(jù)系統(tǒng)所創(chuàng)造的數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)結(jié)構(gòu)叫做MINDBASE數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)結(jié)構(gòu)。在任何其它數(shù)據(jù)庫(kù)系統(tǒng)中還未發(fā)現(xiàn)這種獨(dú)特的數(shù)據(jù)關(guān)系構(gòu)造方法。
目前可獲得的數(shù)據(jù)庫(kù)未按照規(guī)律把數(shù)據(jù)元素分類成為特定的類別以存儲(chǔ)和操縱每種類型的數(shù)據(jù)元素。本創(chuàng)造性配置把所有的MINDBASE數(shù)據(jù)元素分類為有形(tangible)數(shù)據(jù)元素或無形數(shù)據(jù)元素。有形數(shù)據(jù)元素是具有重量的實(shí)體數(shù)據(jù)元素。有形數(shù)據(jù)元素被定義為“原因(cause)”數(shù)據(jù)元素。無形數(shù)據(jù)元素是其它所有的數(shù)據(jù)元素。無形數(shù)據(jù)元素被進(jìn)一步分類成作為“效果(effect)”數(shù)據(jù)元素的動(dòng)詞和作為“描述符”的描述性數(shù)據(jù)元素。使用描述符來描述有形數(shù)據(jù)元素和有形數(shù)據(jù)元素的行為程度。
如這里詳細(xì)所述,原因、效果和描述符在本創(chuàng)造性配置的數(shù)據(jù)庫(kù)結(jié)構(gòu)和方法中具有特定用法。任何其它數(shù)據(jù)庫(kù)系統(tǒng)未遵循原因、效果和描述性數(shù)據(jù)元素及其特定用法的獨(dú)特分類。
目前可獲得的數(shù)據(jù)庫(kù)管理系統(tǒng)使用戶把他們的數(shù)據(jù)輸入他們?nèi)我膺x擇的計(jì)算機(jī)。本創(chuàng)造性配置使用單個(gè)獨(dú)有格式來存儲(chǔ)所有的數(shù)據(jù)。當(dāng)使用本創(chuàng)造性配置時(shí),所有的用戶使他們的不同數(shù)據(jù)結(jié)構(gòu)進(jìn)入此獨(dú)有的格式。雖然用戶可構(gòu)造他們?nèi)我膺x擇的數(shù)據(jù),但計(jì)算機(jī)在每個(gè)數(shù)據(jù)庫(kù)中只看到依據(jù)本創(chuàng)造性配置的同一獨(dú)有格式。這使得可對(duì)MINDBASE格式進(jìn)行預(yù)編程來實(shí)現(xiàn)在使用其它數(shù)據(jù)庫(kù)系統(tǒng)時(shí)必須重復(fù)編程的許多功能。綜合例程是一個(gè)非常重要的功能,它可被預(yù)編程以自動(dòng)地綜合無限數(shù)目的異類數(shù)據(jù)庫(kù)。任何其它數(shù)據(jù)庫(kù)系統(tǒng)都未把MINDBASE的單個(gè)獨(dú)有數(shù)據(jù)格式用于所有的數(shù)據(jù)。
MINDBASE格式基于人腦所具有的十分詳盡的信息,而不是人們通常在說話或?qū)懽鲿r(shí)所使用的“詞語(yǔ)簡(jiǎn)寫(verbal shorthand)”。
圖1是此過程的圖示描述。由于大多數(shù)人有相同的背景信息,所以詞語(yǔ)簡(jiǎn)寫在日常的交流中運(yùn)轉(zhuǎn)良好。當(dāng)人們說話或?qū)懽鲿r(shí),他們假定其它人知道具有與他們相同的詞語(yǔ)聯(lián)系知識(shí)。因此,他們可忽略描述性細(xì)節(jié),因?yàn)樗麄兗俣牨娀蜃x者知道和記得缺少的關(guān)系。
一個(gè)例子是這樣的語(yǔ)句,“我有一輛紅色的雪弗萊”。說話人指的是車輛的類型,在此情況下為轎車。轎車的制造商是雪弗萊。此外,轎車被漆成一種顏色,在此情況下為紅色。由于所有人預(yù)先把車輛與轎車聯(lián)系起來,把轎車與雪弗萊聯(lián)系起來,把油漆與顏色相聯(lián)系,把顏色與紅色聯(lián)系起來,所以可忽略某些描述性細(xì)節(jié)的交流。由于交流各方都具有相同的背景信息,所以全部含義都被傳達(dá)。
為了使計(jì)算機(jī)系統(tǒng)模擬人們交流的方式,必須有一種存儲(chǔ)人們通常在交流時(shí)通常忽略的所有的描述性細(xì)節(jié)和聯(lián)系的方法。MINDBASE系統(tǒng)具有存儲(chǔ)在詞語(yǔ)簡(jiǎn)寫和所有其它數(shù)據(jù)庫(kù)系統(tǒng)中通常忽略的所有的可能關(guān)系的獨(dú)特能力。MINDBASE系統(tǒng)把每個(gè)單詞分類成為原因、效果或描述符。MINDBASE系統(tǒng)還可區(qū)分同一單詞對(duì)不同語(yǔ)句部分的多種用法。例如,象“book(書)”等某些單詞可以是名詞、動(dòng)詞或形容詞。MINDBASE系統(tǒng)可有利地提供非常詳盡的字典例程,該例程把所有的單詞分類成為原因、效果或描述符。此例程還區(qū)分同一單詞對(duì)不同語(yǔ)句部分的用法。
當(dāng)用戶把一單詞輸入MINDBASE數(shù)據(jù)庫(kù)結(jié)構(gòu)中時(shí),該系統(tǒng)比較該單詞的類別和關(guān)系,以確定它是原因、效果還是描述符。如果輸入的單詞與詳盡字典之間有一些不明確,則該例程將向用戶詢問該單詞的意向性用法。MINDBASE系統(tǒng)有利地接受詞語(yǔ)簡(jiǎn)寫并可識(shí)別因詞語(yǔ)簡(jiǎn)寫而在用戶輸入中忽略的任何缺少的單詞關(guān)系。這樣,MINDBASE系統(tǒng)與用戶實(shí)行雙向聯(lián)系。
MINDBASE系統(tǒng)可有利地以人們正常表達(dá)自己的方式來接受信息,并可在必要時(shí)與用戶交流,把用戶的詞語(yǔ)簡(jiǎn)寫信息擴(kuò)展或解釋成為人們?cè)谙乱庾R(shí)里記住信息的更詳盡方式。然后,MINDBASE系統(tǒng)可運(yùn)用這些信息,并把這些信息以從用戶處接收到的詞語(yǔ)簡(jiǎn)寫的方式返還用戶。這些過程是MINDBASE系統(tǒng)所獨(dú)有的。
這里所創(chuàng)造的MINDBASE系統(tǒng)和數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)結(jié)構(gòu)幾乎解決了目前可獲得的數(shù)據(jù)庫(kù)系統(tǒng)中所固有的所有問題。MINDBASE系統(tǒng)所解決的大多數(shù)重要問題是(1)自動(dòng)地把無限數(shù)目的異類數(shù)據(jù)庫(kù)綜合成為單個(gè)數(shù)據(jù)庫(kù);(2)不論什么時(shí)候都存儲(chǔ)在線的所有關(guān)系;以及(3)所有的數(shù)據(jù)元素只存儲(chǔ)一次。
依據(jù)一創(chuàng)造性配置,一種存儲(chǔ)在一固定媒體(medium)中的信息的數(shù)據(jù)庫(kù)包括有形數(shù)據(jù)元素的集合,這些有形數(shù)據(jù)元素代表具有實(shí)際重量并可產(chǎn)生效果的事物;無形數(shù)據(jù)元素的集合,這些無形數(shù)據(jù)元素代表沒有實(shí)際重量且不能稱量的單詞和概念;此無形數(shù)據(jù)元素集合包括效果數(shù)據(jù)元素的第一子集,這些效果數(shù)據(jù)元素代表獨(dú)立的以及與其它單詞相結(jié)合的動(dòng)詞,效果數(shù)據(jù)元素描述動(dòng)作、目標(biāo)、結(jié)果、任務(wù)、過程和處理;以及,此無形數(shù)據(jù)元素集合包括描述性數(shù)據(jù)元素的第二子集,這些描述性數(shù)據(jù)元素描述有形數(shù)據(jù)元素、效果數(shù)據(jù)元素和有形數(shù)據(jù)元素的行為程度。
在上述結(jié)構(gòu)內(nèi),每個(gè)有形數(shù)據(jù)元素鏈接到部分或全部由有形數(shù)據(jù)元素引起的每個(gè)效果數(shù)據(jù)元素;每個(gè)效果元素連接到該效果發(fā)生所需的的每個(gè)有形數(shù)據(jù)元素;以及,所有的數(shù)據(jù)元素存儲(chǔ)在具有父子關(guān)系的分層結(jié)構(gòu)中。
依據(jù)另一個(gè)創(chuàng)造性配置,一種數(shù)據(jù)庫(kù)系統(tǒng)包括存儲(chǔ)在固定媒體中的數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)具有代表有實(shí)際重量并可產(chǎn)生效果的事物的有形數(shù)據(jù)元素的集合以及代表沒有實(shí)際重量且不能稱量的單詞和概念的無形數(shù)據(jù)元素的集合;該無形數(shù)據(jù)元素集合包括代表獨(dú)立的以及與其它單詞相結(jié)合的動(dòng)詞的效果數(shù)據(jù)元素的第一子集以及描述有形數(shù)據(jù)元素、效果數(shù)據(jù)元素和有形數(shù)據(jù)元素的行為程度的描述性數(shù)據(jù)元素的第二子集;效果數(shù)據(jù)元素描述動(dòng)作、目標(biāo)、結(jié)果、任務(wù)、過程和處理;以及,依據(jù)這些數(shù)據(jù)元素的集合和子集對(duì)輸入數(shù)據(jù)庫(kù)的單詞自動(dòng)地分類并存儲(chǔ)的字典例程。
字典例程可把每個(gè)單詞歸類成為有形數(shù)據(jù)、效果數(shù)據(jù)、描述符數(shù)據(jù)和其它數(shù)據(jù)之一。
依據(jù)另一個(gè)創(chuàng)造性配置,一種用于產(chǎn)生存儲(chǔ)在固定媒體中的信息數(shù)據(jù)庫(kù)的方法包括以下步驟識(shí)別信息的有形數(shù)據(jù)元素,這些有形數(shù)據(jù)元素代表具有實(shí)際重量并可產(chǎn)生效果的事物;把信息的有形數(shù)據(jù)元素作為第一集合存儲(chǔ)在固定媒體中;識(shí)別信息的無形數(shù)據(jù)元素,這些無形數(shù)據(jù)元素代表沒有實(shí)際重量且不能稱量的單詞和概念;識(shí)別無形數(shù)據(jù)元素內(nèi)的效果數(shù)據(jù)元素,這些效果數(shù)據(jù)元素代表獨(dú)立的以及與其它單詞相結(jié)合的動(dòng)詞,效果數(shù)據(jù)元素描述動(dòng)作、目標(biāo)、結(jié)果、任務(wù)、過程和處理;把信息的效果數(shù)據(jù)元素作為第二集合存儲(chǔ)在固定媒體中;識(shí)別無形數(shù)據(jù)元素內(nèi)的描述性數(shù)據(jù)元素,描述性數(shù)據(jù)元素描述有形數(shù)據(jù)元素、效果數(shù)據(jù)元素以及有形數(shù)據(jù)元素的行為程度;以及把信息的描述性數(shù)據(jù)元素作為第三集合存儲(chǔ)在固定媒體中。
該方法還可包括以下步驟把每個(gè)有形數(shù)據(jù)元素鏈接到部分或全部由該有形數(shù)據(jù)元素引起的每個(gè)效果數(shù)據(jù)元素;以及,把每個(gè)效果元素鏈接到該效果發(fā)生所需的每個(gè)有形數(shù)據(jù)元素。
該方法還進(jìn)一步包括把所有的數(shù)據(jù)元素存儲(chǔ)在具有父子關(guān)系的分層結(jié)構(gòu)中。
依據(jù)再一個(gè)創(chuàng)造性配置,一種用于建立和管理數(shù)據(jù)庫(kù)的方法包括以下步驟把一數(shù)據(jù)庫(kù)存儲(chǔ)在固定媒體中;把該數(shù)據(jù)庫(kù)分成代表具有實(shí)際重量并可產(chǎn)生效果的事物的有形數(shù)據(jù)元素集合以及代表沒有實(shí)際重量且不能稱量的單詞和概念的無形數(shù)據(jù)元素;把無形數(shù)據(jù)元素集合分成代表獨(dú)立的以及與其它單詞相結(jié)合的動(dòng)詞的效果數(shù)據(jù)元素的第一集合以及描述有形數(shù)據(jù)元素、效果數(shù)據(jù)元素和有形數(shù)據(jù)元素的行為程度的描述性數(shù)據(jù)元素的第二集合,效果數(shù)據(jù)元素描述動(dòng)作、目標(biāo)、結(jié)果、任務(wù)、過程和處理;以及,依據(jù)這些數(shù)據(jù)元素集合和子集對(duì)輸入數(shù)據(jù)庫(kù)的單詞自動(dòng)地分類并存儲(chǔ)。
該方法還包括包括把這些單詞自動(dòng)地歸類成為有形數(shù)據(jù)、效果數(shù)據(jù)、描述符數(shù)據(jù)和其它數(shù)據(jù)之一的步驟。
依據(jù)又一個(gè)創(chuàng)造性配置,一種把如上所述不同構(gòu)造的數(shù)據(jù)庫(kù)相關(guān)聯(lián)的方法包括以下步驟對(duì)于每一個(gè)數(shù)據(jù)庫(kù),按任意順序規(guī)范(normalize)在不同數(shù)據(jù)庫(kù)中具有不同名稱的相同數(shù)據(jù)元素的名稱并規(guī)范在不同數(shù)據(jù)庫(kù)中具有相同名稱的不同數(shù)據(jù)元素的名稱;規(guī)范在任一數(shù)據(jù)庫(kù)中分離而在任何其它數(shù)據(jù)庫(kù)中組合在一起成為單個(gè)數(shù)據(jù)元素的數(shù)據(jù)元素;把每個(gè)被規(guī)范的數(shù)據(jù)庫(kù)與其它任一被規(guī)范的數(shù)據(jù)庫(kù)相比較;記錄在每個(gè)比較步驟期間找到的所有共同的數(shù)據(jù)元素;以及記錄每個(gè)共同的數(shù)據(jù)元素在每個(gè)數(shù)據(jù)庫(kù)中的位置。
依據(jù)還有一個(gè)創(chuàng)造性配置,一種綜合對(duì)應(yīng)于上述分層形式的數(shù)據(jù)庫(kù)的異類數(shù)據(jù)庫(kù)結(jié)構(gòu)的方法包括以下步驟如果異類數(shù)據(jù)庫(kù)及其部分中的各個(gè)頂層數(shù)據(jù)元素基本上相同或者僅僅是描述符不同,則開始綜合;對(duì)于每一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu),按任意順序規(guī)范在不同數(shù)據(jù)庫(kù)中具有不同名稱的相同數(shù)據(jù)元素的名稱并規(guī)范在不同數(shù)據(jù)庫(kù)中具有相同名稱的不同數(shù)據(jù)元素的名稱;規(guī)范在任一數(shù)據(jù)庫(kù)結(jié)構(gòu)中分離而在任何其它數(shù)據(jù)庫(kù)中組合在一起成為單個(gè)數(shù)據(jù)庫(kù)元素的數(shù)據(jù)元素;選擇其中的一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)作為綜合數(shù)據(jù)庫(kù)結(jié)構(gòu);把其余數(shù)據(jù)庫(kù)結(jié)構(gòu)的所有子結(jié)構(gòu)中的所有數(shù)據(jù)元素在綜合數(shù)據(jù)結(jié)構(gòu)中以分層的形式向下一層層重新定位;以及,記錄每個(gè)重新定位的數(shù)據(jù)元素的新老地址作為相互對(duì)照。
附圖概述以下特別參考附圖來描述這些創(chuàng)造性配置的較佳實(shí)施例。
圖1(a)和1(b)用于說明MINDBASE系統(tǒng)如何成為計(jì)算機(jī)的擴(kuò)展。
圖2(a)、2(b)和2(c)用于說明原因數(shù)據(jù)元素、效果數(shù)據(jù)元素和描述符數(shù)據(jù)元素之間的不同。
圖3(a)、3(b)和3(c)示出三種類型的分層結(jié)構(gòu)。
圖4示出原因和效果結(jié)構(gòu)的例子及原因和效果數(shù)據(jù)元素之間的關(guān)系。
圖5示出原因數(shù)據(jù)元素、效果數(shù)據(jù)元素和描述符之間的不同并示出它們?cè)谠?、效果和原?效果結(jié)構(gòu)中的位置。
圖6(a)和6(b)示出包括描述符片(slice)時(shí)原因和效果結(jié)構(gòu)的三維視圖;圖7示出使用和未使用的描述符。
圖8示出原因-效果結(jié)構(gòu)的例子。
圖9(a)、9(b)和9(c)示出編碼技術(shù)。
圖10(a)和10(b)示出將要被綜合的結(jié)構(gòu)。
圖11示出在綜合技術(shù)#1的步驟6后被部分綜合的圖10(a)和10(b)的結(jié)構(gòu)。
圖12示出在綜合技術(shù)#1的步驟9后被部分綜合的圖10(a)和10(b)的結(jié)構(gòu)。
圖13示出綜合技術(shù)#1已完成綜合圖10(a)和10(b)的MINDBASE結(jié)構(gòu)后完整地綜合的MINDBASE結(jié)構(gòu)。
圖14示出用于說明MINDBASE的逐層搜索過程的示例矩陣。
圖15示出用于說明專用MINDBASE的逐層搜索過程的示例矩陣。
圖16示出MINDBASE相關(guān)聯(lián)技術(shù)的流程圖。
圖17示出MINDBASE綜合技術(shù)#1的流程圖。
圖18(a)和18(b)示出MINDBASE綜合技術(shù)#2的流程圖。
圖19示出MINDBASE綜合技術(shù)#3的流程圖。
圖20(a)和20(b)示出MINDBASE綜合技術(shù)#4的流程圖。
圖21(a)和21(b)示出用于排列樹狀結(jié)構(gòu)以顯示的MINDBASE技術(shù)的流程圖。
圖22示出用于在顯示器件上滾動(dòng)不能確定的大型樹狀結(jié)構(gòu)的MINDBASE技術(shù)的流程圖。
圖23示出MINDBASE的一層接一層搜索過程的流程圖。
本發(fā)明的較佳實(shí)施方式為了方便,把對(duì)這些創(chuàng)造性配置的描述分成幾部分。這些部分包括MINDBASE數(shù)據(jù)庫(kù)規(guī)則(Rules)、術(shù)語(yǔ)的描述、示例原因和效果結(jié)構(gòu)、原因和效果結(jié)構(gòu)中的描述符顯示、示例原因-效果結(jié)構(gòu)、編碼技術(shù)、多用途數(shù)據(jù)元素存儲(chǔ)、字典結(jié)構(gòu)、字典技術(shù)、建立組織結(jié)構(gòu)、綜合不同語(yǔ)言的異類數(shù)據(jù)庫(kù)、互相關(guān)技術(shù)、第一綜合技術(shù)、第二綜合技術(shù)、第三綜合技術(shù)、第四綜合技術(shù)、安排樹狀結(jié)構(gòu)顯示、滾動(dòng)大型樹狀結(jié)構(gòu)以及逐層搜索過程。
MINDBASE規(guī)則用附圖來幫助描述以下的一組MINDBASE數(shù)據(jù)庫(kù)規(guī)則。圖中規(guī)則的圖示只是為了說明和舉例,而不代表顯示、解釋或使用這些規(guī)律的唯一方式。
MINDBASE系統(tǒng)是一個(gè)完整的數(shù)據(jù)庫(kù)管理系統(tǒng),它包括對(duì)數(shù)據(jù)元素分類的技術(shù)、存儲(chǔ)數(shù)據(jù)元素的格式、自動(dòng)使用MINDBASE的MINDBASE字典技術(shù)、把數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)和綜合的例程、搜索MINDBASE結(jié)構(gòu)的例程以及在顯示器件上顯示和滾動(dòng)MINDBASE結(jié)構(gòu)的例程。
如圖2(a)中的樹狀結(jié)構(gòu)10所示,MINDBASE系統(tǒng)把所有的數(shù)據(jù)元素分成兩類,有形和無形。分支12上的有形數(shù)據(jù)元素被定義為指示具有重量并可在圖2(b)所示的秤盤上稱量的事物的那些數(shù)據(jù)元素。分支12上的有形數(shù)據(jù)元素叫做“原因”數(shù)據(jù)元素。無形數(shù)據(jù)元素是指示如圖2(c)中的秤盤所示沒有重量的事物的所有其它數(shù)據(jù)元素。無形數(shù)據(jù)元素再分成兩類,分支16上的“效果”數(shù)據(jù)元素和分支18上的“描述符”。原因數(shù)據(jù)元素叫做“原因.”,效果數(shù)據(jù)元素叫做“效果.”。效果是獨(dú)立的或與其它單詞相結(jié)合的動(dòng)詞。效果描述了動(dòng)作、目的、結(jié)果、任務(wù)、過程或處理。描述符用于描述原因元素、效果元素或原因元素的行為程度。
所有的數(shù)據(jù)都存儲(chǔ)在分層結(jié)構(gòu)中,為了組織和顯示,這些分層結(jié)構(gòu)可采取許多形式。圖3(a)示出樹狀結(jié)構(gòu)30。圖3(b)示出輪廓結(jié)構(gòu)32。圖3(c)示出表格結(jié)構(gòu)34。還可利用其它結(jié)構(gòu)。
每種類型的層次或分層結(jié)構(gòu)存儲(chǔ)相同的分層信息。存儲(chǔ)原因和效果數(shù)據(jù)元素的一種方式是存儲(chǔ)在分離的分層結(jié)構(gòu)中。這些結(jié)構(gòu)根據(jù)它們所包含的元素類型標(biāo)識(shí)為“原因結(jié)構(gòu)”或“效果結(jié)構(gòu)”。原因數(shù)據(jù)元素存儲(chǔ)在原因結(jié)構(gòu)中。使用動(dòng)詞與其它單詞來識(shí)別效果結(jié)構(gòu)中的效果數(shù)據(jù)元素。可把描述符附加到原因結(jié)構(gòu)中的原因元素來描述原因數(shù)據(jù)元素。可把描述符附加到原因-效果鏈來描述原因元素在原因-效果關(guān)系中的行為程度。描述符可以附加到附屬于原因元素的效果上,描述該描述符如何識(shí)別該原因元素。在名為“原因和效果結(jié)構(gòu)中的描述符顯示”部分中更完整地描述了描述符存儲(chǔ)。存儲(chǔ)原因和效果的第二方式是把它們存儲(chǔ)在叫做“原因-效果”結(jié)構(gòu)的同一結(jié)構(gòu)中。只把動(dòng)詞用作原因-效果結(jié)構(gòu)中的效果。在名為“示例原因-效果結(jié)構(gòu)”的部分中描述了原因結(jié)構(gòu)和效果結(jié)構(gòu)。在名為“示例原因-效果結(jié)構(gòu)”一部分中描述了原因-效果結(jié)構(gòu)。
把所有的原因元素鏈接到它們部分或全部發(fā)生的效果元素。所有的效果元素都鏈接到使它發(fā)生所需要的原因元素。每個(gè)原因元素必須在其每個(gè)原因-效果關(guān)系中完成特定程度的行為??梢圆煌姆绞絹碛涗洿诵袨槌潭?。記錄行為程度的一個(gè)方式是使它成為原因元素所鏈接的效果元素的一個(gè)描述符。存儲(chǔ)它的另一個(gè)方式是把它附加到原因和效果之間的鏈接上。一個(gè)例子是“那個(gè)高個(gè)子男人以每小時(shí)50英里駕駛轎車”?!澳腥恕焙汀稗I車”是有形原因元素,因?yàn)樗鼈兙哂兄亓?。效果可以是“駕駛”或“駕駛轎車”?!案邆€(gè)子”是描述“男人”的描述符。“每小時(shí)50英里”是可描述“駕駛”的描述符。“每小時(shí)50英里”還可描述原因元素“男人”和“轎車”在“男人”、“轎車”和“駕駛”(或“駕駛轎車”)之間的原因-效果關(guān)系中的行為程度。
可以按照以下方式存儲(chǔ)的描述符來構(gòu)造MINDBASE數(shù)據(jù)庫(kù)??砂衙枋龇郊拥皆?效果鏈上,也可附加到原因上??砂衙枋龇郊拥皆?效果鏈上,也可附加在附加到原因的效果上。在后一用法中,效果描述了描述符如何識(shí)別原因??芍话衙枋龇郊拥皆?效果鏈。
所有的原因和效果數(shù)據(jù)元素及描述符在MINDBASE中只存儲(chǔ)一次,而不管它們?cè)谠颉⑿Ч驮?效果結(jié)構(gòu)中出現(xiàn)了幾次或者它們?cè)诓煌恢玫拿枋龇绾尾煌?。例如,原因元素“蛋糕”可在一個(gè)結(jié)構(gòu)中定位兩次,描述符把一個(gè)位置描述為“圓形巧克力蛋糕”以及把另一個(gè)位置描述為“方形松糕”?!暗案狻边€可能作為“圓形香味蛋糕”位于另一個(gè)結(jié)構(gòu)中。計(jì)算機(jī)只存儲(chǔ)原因元素“蛋糕”的一個(gè)位置。“蛋糕”在這兩個(gè)結(jié)構(gòu)中的其它位置被連接到存儲(chǔ)有“蛋糕”的單個(gè)位置。計(jì)算機(jī)只存儲(chǔ)描述符“圓形”的一個(gè)位置?!皥A形”蛋糕的這兩個(gè)位置都連接到該位置。此規(guī)律應(yīng)用于用戶或如下所述MINDBASE綜合技術(shù)的構(gòu)造的所有MINDBASE結(jié)構(gòu)。所有的MINDBASE結(jié)構(gòu)都出現(xiàn)在顯示器件上,這些結(jié)構(gòu)具有被用戶或MINDBASE綜合技術(shù)定位的數(shù)據(jù)元素的多個(gè)位置。然而,MINDBASE內(nèi)部只把所有的原因和效果數(shù)據(jù)元素及其描述符的多個(gè)位置存儲(chǔ)一次。
如果原因數(shù)元素有子數(shù)據(jù)元素,則它所具有的子數(shù)據(jù)元素不可能少于兩個(gè)。父效果元素可具有任意數(shù)目的子數(shù)據(jù)元素。
MINDBASE規(guī)律還包含相關(guān)聯(lián)技術(shù)、第一綜合技術(shù)、第二綜合技術(shù)、第三綜合技術(shù)、第四綜合技術(shù)、排列樹狀結(jié)構(gòu)以顯示、在顯示器件上滾動(dòng)不能確定的大型樹狀結(jié)構(gòu)以及逐層的搜索過程,這些都將在以下進(jìn)行詳細(xì)說明。
對(duì)在別處未描述的術(shù)語(yǔ)所進(jìn)行的描述眾所周知,連接到上一層上的數(shù)據(jù)元素的數(shù)據(jù)元素為它們所連接到的上一層的數(shù)據(jù)元素的“兒子”。在圖3(a)、3(b)和3(c)每一張圖中,數(shù)據(jù)元素B和C是數(shù)據(jù)元素A的兒子。數(shù)據(jù)元素D和E是數(shù)據(jù)元素B的兒子。數(shù)據(jù)元素A是數(shù)據(jù)元素B和C的“父親”。數(shù)據(jù)元素B是數(shù)據(jù)元素D和E的父親。眾所周知,位于同一級(jí)上且連接到同一父親的數(shù)據(jù)元素為“兄弟”數(shù)據(jù)元素。數(shù)據(jù)元素B和C是兄弟數(shù)據(jù)元素,數(shù)據(jù)D和E是兄弟數(shù)據(jù)元素。
用術(shù)語(yǔ)“層次”來描述一數(shù)據(jù)元素及位于該數(shù)據(jù)元素以下的系族(lineage)中直到該數(shù)據(jù)元素的系族的最低一層的所有數(shù)據(jù)元素。數(shù)據(jù)元素B的層次包括數(shù)據(jù)元素B、D、E、H和I?!霸?qū)哟巍敝荒茉谠蚪Y(jié)構(gòu)中找到,“效果層次”只能在效果結(jié)構(gòu)中找到。用術(shù)語(yǔ)“子結(jié)構(gòu)”來描述位于一特定數(shù)據(jù)元素以下的系族中直到該數(shù)據(jù)元素的系族的最低一層的所有數(shù)據(jù)元素。這包括一數(shù)據(jù)元素的所有子數(shù)據(jù)元素、子數(shù)據(jù)元素的所有子數(shù)據(jù)元素以及以同樣方式繼續(xù)到該數(shù)據(jù)元素的系族的最低一層的所有的數(shù)據(jù)元素。數(shù)據(jù)元素B的子結(jié)構(gòu)包括數(shù)據(jù)元素D、E、H和I。
示例原因和效果結(jié)構(gòu)示例原因和效果結(jié)構(gòu)如圖4所示。原因結(jié)構(gòu)#1、#2和#3鏈接到同一效果結(jié)構(gòu)。原因結(jié)構(gòu)中的所有數(shù)據(jù)元素指具有重量的事物。效果結(jié)構(gòu)中的所有數(shù)據(jù)元素是與它們鏈接到的原因元素的名稱相結(jié)合的效果動(dòng)詞??衫靡蛔R(shí)別技術(shù)來區(qū)分效果動(dòng)詞和原因數(shù)據(jù)元素。例如,效果動(dòng)詞可用大寫字符,它們所鏈接的原因元素的名稱可用小寫字符。為了帶來特定的效果需要使鏈接到該效果元素的所有的原因元素完成特定程度的行為。原因或效果結(jié)構(gòu)中的任何數(shù)據(jù)元素可具有無限數(shù)目的鏈接。由加到效果元素的描述符來描述行為程度。在下一部分中敘述描述符。
在圖4中,繪出效果數(shù)據(jù)結(jié)構(gòu)的“切片面包”層次中每個(gè)數(shù)據(jù)元素的鏈接。為了清楚,未示出其它原因-效果關(guān)系的鏈接。通過把效果元素“和制面團(tuán)”鏈接到原因元素“廚師Smith”、“面粉”、“水”和“酵母”來表示和制面包的面團(tuán)的過程。通過把效果元素“烘烤面包的面團(tuán)”鏈接到原因元素“面包的面團(tuán)”和“烤箱”來表示烘烤面包的面團(tuán)的過程。通過把效果元素“切片面包”與原因元素“廚師Smith”、“刀”和“面包”來表示面包切片的過程。
可遵循原因數(shù)據(jù)元素的鏈接后確定它們可能發(fā)生什么效果數(shù)據(jù)元素。還可遵循效果數(shù)據(jù)元素的鏈接后確定使它們發(fā)生需要什么原因元素。也可遵循從原因與效果層次中的任何元素到該原因與效果層次中任何其他數(shù)據(jù)元素的鏈接和層次線。
原因和效果結(jié)構(gòu)中的描述符顯示描述符是無形元素,用于(1)描述原因數(shù)據(jù)元素;(2)描述效果數(shù)據(jù)元素;(3)描述原因-效果鏈中原因元素的行為程度。
從視覺上顯示描述原因和效果視覺元素的描述符的一個(gè)方式是把第三維(dimension)加到原因和效果結(jié)構(gòu)。這可通過把原因和效果結(jié)構(gòu)的相同拷貝置于原始結(jié)構(gòu)后來進(jìn)行。這樣的配置在附圖中示出,其中圖5樹狀結(jié)構(gòu)40由圖6(a)所示的原因結(jié)構(gòu)片和圖6(b)所示的效果結(jié)構(gòu)片來表示。每個(gè)拷貝及原始原因和效果結(jié)構(gòu)叫做“片(slice)”。原始原因和效果結(jié)構(gòu)是其各自結(jié)構(gòu)中的第一片。第一片后的每一片表示單個(gè)描述符?,F(xiàn)在其各自結(jié)構(gòu)的第一片中的每個(gè)原因和效果數(shù)據(jù)元素具有直接位于其后的每個(gè)描述符片中的數(shù)據(jù)元素位置。每一個(gè)描述符片代表把該描述符加到第一片中的每一個(gè)原因或效果數(shù)據(jù)元素的可能性。
如果第一片的描述符需要描述一原因或效果數(shù)據(jù)元素,則把該描述符置于直接位于該原因或效果元素后的第一片的數(shù)據(jù)元素盒(box)中。只有當(dāng)一原因或效果數(shù)據(jù)元素需要特定描述符來描述它時(shí),在直接位于該原因或效果數(shù)據(jù)元素后的描述符片的數(shù)據(jù)元素盒中才會(huì)有該描述符。在圖6(a)中,描述符片把單詞“左”和“前”加到原因元素“火爐”。描述符片還把“350”和“程度”加到圖6(b)中的效果元素“烤蛋糕”。
可考慮把第一片中的任何原因或效果元素及其后的描述符數(shù)據(jù)元素表示為可從三維MINDBASE結(jié)構(gòu)中拉出的文件匣(file drawer)。文件匣中的第一文件是第一片中原因或效果數(shù)據(jù)元素的名稱。第一片后每一片中的數(shù)據(jù)元素位置是文件匣中的相同文件。如果把一描述符加到第一片中的原因或效果,則代表該描述符的文件包含此描述符。如果不把描述符加到第一片中的原因或效果,則代表該描述符的文件為空。在圖7中,原因元素“爐子(stove)”變?yōu)榘咨?。因此,來自“褐色”描述符片的?shù)據(jù)元素盒或文件為空,來自“白色”描述符片的數(shù)據(jù)元素盒或文件包含單詞“白色”。
把片用作顯示描述符如何具有加到所有原因和效果數(shù)據(jù)元素的可能性的圖示。可使用實(shí)現(xiàn)此可能性用法的編程過程。
可把一描述符加到原因數(shù)據(jù)元素和效果數(shù)據(jù)元素之間的原因-效果鏈,而不是加到效果數(shù)據(jù)元素。在以上例子中,原因元素“烤箱”和“蛋糕”單獨(dú)地鏈接到效果元素“烤蛋糕”,以形成代表“在烤箱中烤蛋糕”的完整原因-效果鏈接關(guān)系??砂衙枋龇?50”和“度”附加到“烤箱”和“烤蛋糕”之間的鏈上來描述“烤箱”的行為程度。
各個(gè)原因數(shù)據(jù)元素將總是具有相同的描述符。“紅色”的轎車總是“紅色”?!案邆€(gè)子”男人總是“高的”,“矮個(gè)子”男人總是“矮的”。然而,效果數(shù)據(jù)元素在不同的原因-效果關(guān)系中可具有不同的描述符。在原因-效果關(guān)系“那個(gè)高個(gè)子男人以30mph駕駛紅色轎車”中,描述效果“駕駛”的行為程度是“30mph”。在原因-效果關(guān)系“那個(gè)高個(gè)子男人以50mph駕駛紅色轎車”中,描述效果“駕駛”的行為程度是“50mph”。在這兩個(gè)關(guān)系中,描述效果數(shù)據(jù)元素“駕駛”的描述符是不同的,然而在這兩個(gè)原因-效果關(guān)系中,相同的描述符“高個(gè)子”和“紅色”分別描述原因數(shù)據(jù)元素“男人”和“轎車”。還可把“30mph”和“50mph”加到“男人”和“駕駛”之間的原因-效果鏈。
一效果、其描述符和這些描述符用作其行為程度的所有原因元素以某一關(guān)系鏈接。當(dāng)把一效果元素的描述符在一顯示器件上列出或打印出來,則必須能對(duì)每一描述符列出與這些描述符有某一關(guān)系的所有原因元素。
上述MINDBASE字典例程有助于把所有的單詞分類成為原因、效果、描述符和其他。此例程自動(dòng)地保證用戶準(zhǔn)確地輸入單詞。它還有助于在用戶忽略必須的描述性信息時(shí)準(zhǔn)確地建立MINDBASE結(jié)構(gòu)。MINDBASE系統(tǒng)能避免“詞語(yǔ)簡(jiǎn)寫”的問題,從而用戶在其交流中忽略描述性細(xì)節(jié)。
示例原因-效果結(jié)構(gòu)顯示原因-效果結(jié)構(gòu)的一個(gè)方法是用第一片以后的片來表示描述符和用作效果的動(dòng)詞。如果效果動(dòng)詞與原因元素有某一關(guān)系,則把該效果動(dòng)詞置于直接位于該原因元素后的效果動(dòng)詞片的數(shù)據(jù)元素盒中。把加到原因或效果元素的描述符置于直接位于該原因或效果元素后的描述符片的數(shù)據(jù)元素盒中。
可考慮把第一片中的任意原因元素及其后的效果元素和描述符表示為可從三維MINDBASE結(jié)構(gòu)中拉出的文件匣。圖8表示關(guān)系“廚師Smith用鋸齒刀把白面包薄薄地切片”。由于圖示的限制,在圖8中未顯示“廚師Smith”和“刀”。原因元素顯示為“面包”。描述符元素“白”描述面包。效果元素為“切片”。描述符元素“薄薄地”描述效果“切片”。如果原因元素“廚師Smith”和“刀”在圖8中示出,則它們?cè)谄浜蟮母髌羞€具有效果元素“切片”及其描述符“薄薄地”。在“刀”后的一片中還具有描述符“鋸齒”。通過把原因元素“廚師Smith”、“刀”和“面包”鏈接到效果元素“切片”來形成完整的原因-效果關(guān)系。
必須把“薄薄地”鏈接到“切片”,因?yàn)樗恰扒衅钡拿枋龇_€必須把“薄薄地”鏈接到原因元素“廚師Smith”、“面包”和“刀”,因?yàn)樗沁@些原因元素的行為程度。鏈接到這些原因元素的“薄薄地”必須具有某一原因-效果關(guān)系。以某一關(guān)系來鏈接效果描述符及對(duì)其用作行為程度的所有原因元素。當(dāng)把一效果元素的描述符在顯示器件上列出或打印出來時(shí),則必須對(duì)每一描述符列出以某一關(guān)系鏈接到該描述符的所有原因元素。
把片用作顯示描述符如何具有加到所有原因和效果數(shù)據(jù)元素的可能性的圖示。可使用實(shí)現(xiàn)此可能性用法的編程過程。
編碼技術(shù)MINDBASE編碼技術(shù)是識(shí)別和顯示存儲(chǔ)在計(jì)算機(jī)內(nèi)存中的尺寸無限的任意MINDBASE結(jié)構(gòu)的過程。MINDBASE系統(tǒng)的通用性使得可選擇字父、數(shù)字或其他類型的符號(hào)來實(shí)現(xiàn)這個(gè)任務(wù)。MINDBASE編碼技術(shù)包含MINDBASE結(jié)構(gòu)的第一片中的每個(gè)數(shù)據(jù)元素所需的以下信息(1)其中存儲(chǔ)有該數(shù)據(jù)元素的MINDBASE結(jié)構(gòu)的標(biāo)識(shí)符;(2)MINDBASE結(jié)構(gòu)內(nèi)該數(shù)據(jù)元素所在的層;(3)該數(shù)據(jù)元素在其層上的位置;(4)從此數(shù)據(jù)元素向上延伸到頂層數(shù)據(jù)元素的該數(shù)據(jù)元素的層次;以及(5)當(dāng)已把描述符分配給原因或效果數(shù)據(jù)元素時(shí),這些描述符還可包含在每個(gè)數(shù)據(jù)的代碼中。各個(gè)原因數(shù)據(jù)元素將總是具有相同的描述符。然而,各個(gè)效果數(shù)據(jù)元素對(duì)于它們所在的每個(gè)原因-效果關(guān)系中可具有不同的描述符。效果數(shù)據(jù)元素的描述符代表每個(gè)獨(dú)立的原因-效果關(guān)系中原因元素的行為程度。
MINDBASE編碼技術(shù)的一個(gè)實(shí)施例是對(duì)原因、效果或原因-效果結(jié)構(gòu)的第一片的每個(gè)獨(dú)立數(shù)據(jù)元素使用一個(gè)代碼組。本實(shí)施例中的MINDBASE代碼組在原因和效果結(jié)構(gòu)中有兩部分。一個(gè)部分包含原因和效果結(jié)構(gòu)的第一片中每個(gè)數(shù)據(jù)元素的上述需求的前四個(gè)。另一部分包含以上列出的第五個(gè)需求。
本實(shí)施例中的MINDBASE代碼組在原因-效果結(jié)構(gòu)中有幾個(gè)部分。一個(gè)部分包含原因-效果幾個(gè)的第一片中每個(gè)數(shù)據(jù)元素的上述需求的前四個(gè)。另一部分包含第一片中的原因元素的第五個(gè)需求。當(dāng)把第一片中的原因元素鏈接到另一片的一效果元素時(shí),該效果片的代碼包含在MINDBASE代碼組的另一部分中。加到與該原因元素鏈接的效果的描述符包含在MINDBASE代碼組的另一部分中。
本實(shí)施例的MINDBASE代碼組中的每一部分包含無限數(shù)目的數(shù)據(jù)字段(field)。用戶在應(yīng)用MINDBASE編碼技術(shù)的本實(shí)施例時(shí)有以下選擇(1)用戶可選擇哪一部分包含MINDBASE代碼的前四個(gè)需求以及哪一部分MINDBASE代碼的第五個(gè)需求;(2)用戶可選擇把什么信息存儲(chǔ)在每個(gè)數(shù)據(jù)字段中;(3)用戶可選擇從左到右還是從右到左對(duì)數(shù)據(jù)字段進(jìn)行編號(hào);(4)如以下在步驟4中計(jì)算得到的每個(gè)數(shù)據(jù)元素的號(hào)碼可從左到右或從右到左;以及(5)以上四個(gè)選擇中的每一個(gè)必須在任意單個(gè)MINDBASE結(jié)構(gòu)以及互相關(guān)或綜合的所有MINDBASE結(jié)構(gòu)中一致。
在本實(shí)施例中,通過以下編號(hào)的過程來構(gòu)造包含MINDBASE編碼技術(shù)的前四個(gè)需求的MINDBASE代碼組部分。在以下過程中,依據(jù)以上五個(gè)選擇的清單來進(jìn)行選擇。依據(jù)以上清單所進(jìn)行的選擇只用于以下例子,而不是對(duì)各個(gè)用戶的選擇加以限制。(1)第一數(shù)據(jù)字段識(shí)別該數(shù)據(jù)元素所在的MINDBASE結(jié)構(gòu)。(2)第二數(shù)據(jù)字段識(shí)別該數(shù)據(jù)元素所在的MINDBASE結(jié)構(gòu)的水平層次。從上到下對(duì)MINDBASE結(jié)構(gòu)的水平層進(jìn)行編號(hào),頂層為層一。(3)識(shí)別該數(shù)據(jù)元素的層次。層次從該數(shù)據(jù)元素上升到父親,然后到其父親的父親,它以同一方式延續(xù)到其系族,直到達(dá)到第一層上的單個(gè)數(shù)據(jù)元素。(4)通過對(duì)數(shù)據(jù)元素及其所有的兄弟進(jìn)行從左到右的編號(hào)以對(duì)數(shù)據(jù)元素的層次中的每一個(gè)數(shù)據(jù)元素給出一個(gè)號(hào)碼。(5)每個(gè)數(shù)據(jù)元素的代碼包括該數(shù)據(jù)元素本身的數(shù)據(jù)元素號(hào)碼及在其層次中位于它以上的所有數(shù)據(jù)元素。(6)第三數(shù)據(jù)字段包含數(shù)據(jù)元素的層次中層1數(shù)據(jù)元素的數(shù)據(jù)元素號(hào)碼。第三數(shù)據(jù)字段中的信息是任選的,因?yàn)樗鼘?duì)于每一個(gè)數(shù)據(jù)元素都是相同的。如果省略它,則每個(gè)隨后的數(shù)據(jù)字段上升一個(gè)號(hào)碼。第四數(shù)據(jù)字段包含數(shù)據(jù)元素的層次中層2數(shù)據(jù)元素的數(shù)據(jù)元素號(hào)碼。每個(gè)隨后的數(shù)據(jù)字段包含數(shù)據(jù)元素的層次中下一較低層數(shù)據(jù)元素的數(shù)據(jù)元素號(hào)碼。最后一個(gè)數(shù)據(jù)字段包含其代碼被構(gòu)造的數(shù)據(jù)元素的數(shù)據(jù)元素號(hào)碼。圖9(a)示出原因結(jié)構(gòu)50。在圖9(b)中示出對(duì)應(yīng)的示例數(shù)據(jù)元素層次的表格,在圖9(c)中示出代碼的對(duì)應(yīng)表格。
包含一數(shù)據(jù)元素的描述符的MINDBASE代碼組部分具有加到數(shù)據(jù)元素的每個(gè)描述符的數(shù)據(jù)字段。每個(gè)描述符的數(shù)據(jù)字段包含特定描述符的標(biāo)志。
可通過效果元素的MINDBASE代碼組與鏈接到該效果元素的原因元素的MINDBASE代碼組的組合來顯示原因和效果數(shù)據(jù)結(jié)構(gòu)之間的原因-效果關(guān)系??赏ㄟ^鏈接到單個(gè)效果元素的所有原因元素的MINDBASE代碼組的組合來顯示原因-效果結(jié)構(gòu)內(nèi)的一原因-效果關(guān)系。
多用途數(shù)據(jù)元素存儲(chǔ)MINDBASE系統(tǒng)把一數(shù)據(jù)元素在計(jì)算機(jī)內(nèi)存中只自動(dòng)地存儲(chǔ)一次,而不管該數(shù)據(jù)元素在MINDBASE數(shù)據(jù)結(jié)構(gòu)中占據(jù)了多少個(gè)位置。使用特定的規(guī)則來確定使用一數(shù)據(jù)元素的多個(gè)位置中的哪一個(gè)來存儲(chǔ)該數(shù)據(jù)元素。這種規(guī)則的一個(gè)例子是把一數(shù)據(jù)元素存儲(chǔ)在最高層上的最左位置。這種規(guī)則的另一個(gè)例子是把它存儲(chǔ)在其最低層的最左位置。用戶自由地選擇這些規(guī)則之一或創(chuàng)造其它規(guī)則來確定一數(shù)據(jù)元素的存儲(chǔ)位置。然而,此規(guī)則必須在一MINDBASE結(jié)構(gòu)及互相關(guān)或綜合的所有MINDBASE結(jié)構(gòu)中一致。
把單個(gè)數(shù)據(jù)元素的所有其它位置連接到其單個(gè)存儲(chǔ)位置。可通過字父-數(shù)字編碼、目標(biāo)指針或任何其它方式來構(gòu)造這些連接。此過程自動(dòng)地應(yīng)用于所有的數(shù)據(jù)結(jié)構(gòu)。
把每個(gè)數(shù)據(jù)元素直接存儲(chǔ)于它在MINDBASE結(jié)構(gòu)中的位置之一的另一個(gè)方法是把所有的數(shù)據(jù)元素存儲(chǔ)在所有的MINDBASE結(jié)構(gòu)外部。指針可從此存儲(chǔ)位置中的數(shù)據(jù)元素進(jìn)到MINDBASE結(jié)構(gòu)內(nèi)該數(shù)據(jù)元素的每個(gè)使用。
字典結(jié)構(gòu)依據(jù)以下步驟或判據(jù)來構(gòu)造MINDBASE字典(1)把MINDBASE字典中的每一個(gè)單詞分類成為以下四個(gè)類別之一;原因、效果、描述符或其它;(2)也把MINDBASE字典中的每一個(gè)單詞與具有相同含義或表達(dá)相同的思想的所有同義詞或單詞相關(guān)聯(lián)。(即,fast對(duì)rapidly);(3)識(shí)別MINDBASE字典中具有兩個(gè)或多個(gè)不同含義的每一個(gè)單詞。(即,表明時(shí)間的“clock”對(duì)表明賽馬的“Clock”);以及(4)把由用戶創(chuàng)造的所有原因-效果關(guān)系存儲(chǔ)在MINDBASE字典中。
用戶可獲得MINDBASE字典中的所有信息,以用于信息的目的和支持單詞選擇和數(shù)據(jù)輸入。
字典技術(shù)MINDBASE字典技術(shù)或方法把輸入MINDBASE結(jié)構(gòu)的每一個(gè)單詞與MINDBASE字典中的同一單詞相比較。該技術(shù)確定與輸入單詞有關(guān)的以下信息(1)每個(gè)輸入的單詞被歸類成為“原因”、“效果”、“描述符”還是“其它”單詞;(2)識(shí)別未分別輸入原因、效果或描述符位置的任何原因、效果或描述符;(3)識(shí)別屬于不止一個(gè)以上類別的任何輸入的單詞;(4)識(shí)別具有一個(gè)或多個(gè)同義詞的任何輸入的單詞;以及(5)確定輸入的單詞或任何同義詞是否已在同一組織的任何其它MINDBASE結(jié)構(gòu)中使用。
如果用戶作出2號(hào)錯(cuò),則將把錯(cuò)誤告訴用戶并要求他進(jìn)行另一次輸入。有些單詞在MINDBASE字典的不止一個(gè)類別中出現(xiàn),有些單詞在同一類別內(nèi)有不止一個(gè)明顯不同的含義。當(dāng)把這些單詞輸入MINDBASE結(jié)構(gòu)或當(dāng)輸入的單詞具有已位于MINDBASE結(jié)構(gòu)中的同義詞時(shí),向用戶進(jìn)行詢問來確定用戶所需的類別和含義。通過按一下鍵、點(diǎn)擊鼠標(biāo)器或類似的響應(yīng)來回答這些問題。
這些問題實(shí)現(xiàn)以下任務(wù)。(1)如果輸入的單詞位于原因、效果、描述符或其它類別中的不止一個(gè)類別中,則該方法向用戶示出不同的類別。用戶選擇正確的類別。(2)如果輸入的單詞在同一類別內(nèi)具有不止一個(gè)明顯不同的含義,則該方法向用戶示出不同的含義。用戶選擇正確的含義。(3)如果輸入的單詞具有已位于該MINDBASE結(jié)構(gòu)中的同義詞,則該方法向用戶示出這個(gè)已位于該MINDBASE結(jié)構(gòu)中的同義詞,并詢問用戶是否想要使用該同義詞而不是輸入的單詞。如果用戶接受該同義詞,則替換輸入的單詞。如果用戶拒絕使用該同義詞,則該方法保留該同義詞并接受用戶新輸入的單詞。該方法聯(lián)系最初輸入該同義詞的用戶并詢問該用戶是否接受新輸入的單詞作為該同義詞的替代品。如果該用戶接受新輸入的單詞,則此方法以新輸入的單詞來替換該同義詞。如果該用戶拒絕新輸入的單詞,則該方法允許使用新輸入的單詞和該同義詞。字典進(jìn)行記錄,該記錄把新輸入的單詞及其同義詞與輸入它們的用戶聯(lián)系起來。(4)該技術(shù)把最早輸入的同義詞作為有關(guān)同義詞的所有數(shù)據(jù)搜索的關(guān)鍵搜索單詞(Key Search Word)。如果輸入該關(guān)鍵字的用戶后來接受替換的同義詞,則可改變同義詞組中的這個(gè)關(guān)鍵字。MINDBASE結(jié)構(gòu)中的所有搜索都以同義詞組中的關(guān)鍵字來進(jìn)行。不總是搜索非關(guān)鍵字的同義詞。
該字典和以該字典來表示的方法能自動(dòng)地糾正不正確的原因數(shù)據(jù)元素輸入。一個(gè)例子是輸入“紅色轎車”作為原因元素。字典認(rèn)為“轎車”是一原因元素。字典還認(rèn)為“紅色”是名為“顏色”的描述符類別中的一個(gè)描述符。字典知道“顏色”類別中的描述符是通過“油漆”、“噴涂”、“浸涂”、“未知的”或“其它”效果來添加的。字典自動(dòng)地接受“轎車”作為原因元素并自動(dòng)地從“顏色”描述符類別中輸入“紅色”作為描述符。字典要求用戶從清單“油漆”、“噴涂”、“浸涂”、“未知的”或“其它”顏色添加方法中選擇效果。如果用戶選擇“其它”,則用戶需要輸入另一個(gè)效果。然后,把此另一個(gè)效果自動(dòng)地加到顏色添加方法的效果清單中。
建立組織結(jié)構(gòu)幾乎所有的組織都已記錄了有關(guān)其雇員、實(shí)際資產(chǎn)和工作流程。可利用此信息以及MINDBASE字典來構(gòu)造一個(gè)或多個(gè)基礎(chǔ)的組織MINDBASE數(shù)據(jù)庫(kù)。幾乎每一個(gè)組織都具有它自己獨(dú)有的詞匯表和單詞用法。為整個(gè)組織所構(gòu)造的MINDBASE數(shù)據(jù)庫(kù)將包括此獨(dú)有的詞匯表和單詞用法。這使得該組織的所有成員在構(gòu)造部門或辦公室專用MINDBASE結(jié)構(gòu)時(shí)可獲得這些獨(dú)有的詞匯表和單詞用法。這還保證了整個(gè)組織使用相同的詞匯表和單詞用法。
一個(gè)組織的大多數(shù)獨(dú)有詞匯表和單詞用法都是描述符。當(dāng)為整個(gè)組織的使用而構(gòu)造描述符表時(shí),該組織中的所有MINDBASE數(shù)據(jù)庫(kù)結(jié)構(gòu)將使用相同的描述符表。這非常有利于未來構(gòu)造的MINDBASE數(shù)據(jù)庫(kù)的自動(dòng)綜合。
如果只要在多部門組織的一個(gè)部門內(nèi)實(shí)行MINDBASE系統(tǒng),則可能不需要以整個(gè)組織的所有獨(dú)有詞匯表和單詞用法來構(gòu)造基礎(chǔ)的組織MINDBASE數(shù)據(jù)庫(kù)。相反,將不使用整個(gè)組織的所有獨(dú)有詞匯表和單詞用法來構(gòu)造部門的MINBASE數(shù)據(jù)庫(kù)。將來,如果組織決定對(duì)整個(gè)組織采用該MINDBASE系統(tǒng),則仍可綜合該部門的MINDBASE數(shù)據(jù)庫(kù)與其它部門的MINDBASE數(shù)據(jù)庫(kù)來創(chuàng)造整個(gè)組織的MINDBASE數(shù)據(jù)庫(kù)。將把整個(gè)組織獨(dú)有的詞匯表和單詞用法裝入完整地綜合的組織MINDBASE數(shù)據(jù)庫(kù)。當(dāng)最初在該組織內(nèi)的任何地方實(shí)行MINDBASE系統(tǒng)時(shí),是否對(duì)整個(gè)組織實(shí)行MINDBASE系統(tǒng)的決定基于該組織的預(yù)期需求。
綜合不同語(yǔ)言的異類數(shù)據(jù)庫(kù)可使用MINDBASE系統(tǒng)來綜合不同語(yǔ)言以及諸如Oracle和Sybase等不同數(shù)據(jù)庫(kù)技術(shù)的異類數(shù)據(jù)庫(kù)。兩個(gè)不同的過程將實(shí)現(xiàn)此任務(wù)。
如下實(shí)行第一個(gè)過程。(1)以其現(xiàn)有的語(yǔ)言把現(xiàn)有的數(shù)據(jù)庫(kù)輸入MINDBASE系統(tǒng)。MINDBASE系統(tǒng)可使用MINDBASE系統(tǒng)與其它數(shù)據(jù)庫(kù)技術(shù)之間的接口并使用包括語(yǔ)言翻譯器(translator)的MINDBASE字典技術(shù)來自動(dòng)地進(jìn)行此步驟。(2)選擇綜合異類數(shù)據(jù)庫(kù)的語(yǔ)言。(3)把現(xiàn)有的外來語(yǔ)言MINDBASE數(shù)據(jù)庫(kù)翻譯成為所選的語(yǔ)言。MINDBASE語(yǔ)言翻譯器可自動(dòng)地進(jìn)行此步驟。(4)把所選語(yǔ)言的MINDBASE數(shù)據(jù)庫(kù)綜合成為單個(gè)MINDBASE數(shù)據(jù)庫(kù)。
可如下實(shí)行第二個(gè)過程。(1)選擇綜合異類數(shù)據(jù)庫(kù)的語(yǔ)言。(2)把現(xiàn)有的數(shù)據(jù)庫(kù)翻譯成為所選的語(yǔ)言。MINDBASE語(yǔ)言翻譯器可自動(dòng)地進(jìn)行此步驟。(3)將以現(xiàn)在所選語(yǔ)言的現(xiàn)有數(shù)據(jù)庫(kù)輸入MINDBASE。MINDBASE可使用MINDBASE與其它數(shù)據(jù)庫(kù)技術(shù)之間的接口以及使用MINDBASE字典技術(shù)來自動(dòng)地進(jìn)行此步驟。(5)把所選語(yǔ)言的MINDBASE數(shù)據(jù)庫(kù)綜合成為單個(gè)MINDBASE數(shù)據(jù)庫(kù)。
第一個(gè)過程允許現(xiàn)有數(shù)據(jù)庫(kù)的創(chuàng)造者以其自己的語(yǔ)言進(jìn)行工作同時(shí)把其數(shù)據(jù)庫(kù)輸入MINDBASE系統(tǒng)。因此,第一個(gè)過程通常是較佳的過程。
互相關(guān)技術(shù)MINDBASE系統(tǒng)可把無限數(shù)目的MINDBASE數(shù)據(jù)結(jié)構(gòu)互相關(guān)聯(lián),只要每一個(gè)MINDBASE數(shù)據(jù)結(jié)構(gòu)與其它MINDBASE數(shù)據(jù)結(jié)構(gòu)中的任一個(gè)共享至少一個(gè)公共的數(shù)據(jù)元素。通過共有數(shù)據(jù)元素來鏈接多個(gè)MINDBASE數(shù)據(jù)結(jié)構(gòu)。可從互相關(guān)聯(lián)的結(jié)構(gòu)之一中的任何“起始”數(shù)據(jù)元素到其它互相關(guān)聯(lián)的結(jié)構(gòu)中任一個(gè)的任何所需“目標(biāo)”數(shù)據(jù)元素進(jìn)行全面查閱(traverse)。從一個(gè)結(jié)構(gòu)中的起始數(shù)據(jù)元素沿其分層結(jié)構(gòu)的豎直線以及沿其水平層次查閱到也位于該目的數(shù)據(jù)元素的結(jié)構(gòu)中的數(shù)據(jù)元素。從起始結(jié)構(gòu)交叉查閱到目的數(shù)據(jù)元素的結(jié)構(gòu),其中通過在這兩個(gè)結(jié)構(gòu)中的公共數(shù)據(jù)元素。然后,從第二結(jié)構(gòu)中的公共數(shù)據(jù)元素沿其分層結(jié)構(gòu)的豎直線以及沿其水平層次進(jìn)行查閱,直到到達(dá)該目的數(shù)據(jù)元素。
如果目的數(shù)據(jù)元素的數(shù)據(jù)結(jié)構(gòu)與起始數(shù)據(jù)結(jié)構(gòu)沒有公共的數(shù)據(jù)元素,則查閱必須利用與兩個(gè)或多個(gè)互相關(guān)數(shù)據(jù)結(jié)構(gòu)公共的數(shù)據(jù)元素,而經(jīng)過中間數(shù)據(jù)結(jié)構(gòu),直到到達(dá)目的地?cái)?shù)據(jù)結(jié)構(gòu)。然后,沿目的數(shù)據(jù)元素的分層結(jié)構(gòu)的豎直線以及沿目的地?cái)?shù)據(jù)元素的水平層次進(jìn)行查閱,直到到達(dá)該目的數(shù)據(jù)元素。查閱過程被優(yōu)化到盡可能使用最少的中間數(shù)據(jù)結(jié)構(gòu)。
查閱還可沿原因和效果結(jié)構(gòu)之間的鏈接來進(jìn)行,就象沿原因和效果結(jié)構(gòu)的層次線來進(jìn)行。因此,可從一個(gè)互相關(guān)結(jié)構(gòu)中的任何原因數(shù)據(jù)元素到另一互相關(guān)結(jié)構(gòu)中的任何效果數(shù)據(jù)元素進(jìn)行查閱。
在圖16的流程圖中示出MINDBASE互相關(guān)技術(shù)。該流程圖中的步驟對(duì)應(yīng)于以下步驟??梢匀魏雾樞騺磉M(jìn)行步驟1和2。
(1)檢查互相關(guān)的所有MINDBASE結(jié)構(gòu),以確定不同結(jié)構(gòu)中的相同數(shù)據(jù)元素是否在不同結(jié)構(gòu)中具有不同的名稱。即使數(shù)據(jù)元素因描述符而不同,但仍可考慮這些數(shù)據(jù)元素是相同的。它的一個(gè)例子是在一個(gè)結(jié)構(gòu)中叫做紅色汽車而在另一個(gè)結(jié)構(gòu)中叫做綠色轎車的汽車。計(jì)算機(jī)必須把同一數(shù)據(jù)元素的不同名稱記錄在例如字典的翻譯表中或通過某些其它技術(shù)進(jìn)行記錄,因此計(jì)算機(jī)認(rèn)為不同結(jié)構(gòu)中不同名稱的數(shù)據(jù)元素實(shí)際上是相同的數(shù)據(jù)元素。這叫做對(duì)相同數(shù)據(jù)元素的名稱的規(guī)范。
(2)檢查被互相關(guān)的所有MINDBASE結(jié)構(gòu),以確定不同結(jié)構(gòu)中的不同數(shù)據(jù)元素是否在不同結(jié)構(gòu)中具有同一名稱。一個(gè)例子是把單詞“汽車”用作在一個(gè)數(shù)據(jù)結(jié)構(gòu)中為轎車的數(shù)據(jù)元素的名稱,還把“汽車”用作在另一個(gè)數(shù)據(jù)結(jié)構(gòu)中為卡車的數(shù)據(jù)元素的名稱。計(jì)算機(jī)必須把在不同數(shù)據(jù)結(jié)構(gòu)中具有同一名稱的不同數(shù)據(jù)元素記錄在翻譯表中或通過某些其它技術(shù)進(jìn)行記錄,因此計(jì)算機(jī)認(rèn)為不同結(jié)構(gòu)中相同名稱的數(shù)據(jù)元素實(shí)際上是不同的數(shù)據(jù)元素。這叫做對(duì)不同數(shù)據(jù)元素的名稱的規(guī)范。
(3)檢查互相關(guān)的所有MINDBASE結(jié)構(gòu),以確定一個(gè)數(shù)據(jù)結(jié)構(gòu)中的兩個(gè)或多個(gè)分離的數(shù)據(jù)元素是否在其它結(jié)構(gòu)中組成單個(gè)數(shù)據(jù)元素。一個(gè)例子是,在一個(gè)結(jié)構(gòu)中的數(shù)據(jù)元素“A”和“B”在另一個(gè)結(jié)構(gòu)中組合在一起成為數(shù)據(jù)元素“C”。在此發(fā)生時(shí),此過程不認(rèn)為“A”和“B”與“C”相同。如果用戶想要認(rèn)為A和B與C相同,則用戶必須在C的數(shù)據(jù)結(jié)構(gòu)中把C分離成為A和B,或者在A和B的數(shù)據(jù)結(jié)構(gòu)中結(jié)合A和B來形成C。這叫做對(duì)復(fù)合的單個(gè)數(shù)據(jù)元素的規(guī)范。
(4)按照任何順序選擇待互相關(guān)聯(lián)的每個(gè)MINDBASE數(shù)據(jù)結(jié)構(gòu)并把它命名為“選中”的結(jié)構(gòu)。由以下的步驟5和6來處理每個(gè)“選中”的結(jié)構(gòu)。在已把待互相關(guān)聯(lián)的所有MINDBASE數(shù)據(jù)結(jié)構(gòu)處理成為“選中”結(jié)構(gòu)后,完成互相關(guān)技術(shù)。
(5)按照任何順序選擇待互相關(guān)聯(lián)的每個(gè)其它MINDBASE數(shù)據(jù)結(jié)構(gòu)并把它命名為“其它”結(jié)構(gòu)。通過以下步驟6來處理每個(gè)“其它”結(jié)構(gòu)。在以下步驟6中已處理了所有的其它結(jié)構(gòu)后,進(jìn)到步驟4。在把第二到第n個(gè)數(shù)據(jù)結(jié)構(gòu)處理成為“選中”結(jié)構(gòu)時(shí),如果已在先前步驟4的迭代中預(yù)先把該結(jié)構(gòu)和一“其它”結(jié)構(gòu)處理成為“選中”和“其它”結(jié)構(gòu),則不用一個(gè)“其它”結(jié)構(gòu)處理它。
(6)通過把“選中”結(jié)構(gòu)中的每個(gè)數(shù)據(jù)元素與“其它”結(jié)構(gòu)中的每個(gè)數(shù)據(jù)元素相比較來處理“選中”結(jié)構(gòu)和“其它”結(jié)構(gòu),以確定“選中”結(jié)構(gòu)中的每個(gè)數(shù)據(jù)元素是否也在“其它”結(jié)構(gòu)中??梢匀魏雾樞騺肀容^這兩個(gè)結(jié)構(gòu)中的數(shù)據(jù)元素。如果一數(shù)據(jù)元素在選中數(shù)據(jù)結(jié)構(gòu)中有多個(gè)位置,則只處理這些位置中的一個(gè)。在處理每個(gè)數(shù)據(jù)元素時(shí),在上述步驟一和二中使用翻譯表來識(shí)別具有不同名稱的同一數(shù)據(jù)元素和具有同一名稱的不同數(shù)據(jù)元素。對(duì)于在兩個(gè)數(shù)據(jù)結(jié)構(gòu)中都找到的每個(gè)數(shù)據(jù)元素,把該數(shù)據(jù)元素在每個(gè)結(jié)構(gòu)中的名稱和位置記錄在“互相關(guān)”表中或通過某些其它技術(shù)進(jìn)行記錄。如果選中結(jié)構(gòu)中的一個(gè)數(shù)據(jù)元素在其它結(jié)構(gòu)中有多個(gè)位置,則只記錄該數(shù)據(jù)元素在該其它結(jié)構(gòu)中的單個(gè)位置。由于MINDBASE系統(tǒng)自動(dòng)地鏈接相同的數(shù)據(jù)元素在每個(gè)MINDBASE結(jié)構(gòu)中的所有位置,記錄一數(shù)據(jù)元素在每個(gè)結(jié)構(gòu)中的單個(gè)位置使得對(duì)該數(shù)據(jù)元素的搜索進(jìn)到該數(shù)據(jù)元素在兩個(gè)結(jié)構(gòu)中的所有其它位置。
對(duì)于單個(gè)父數(shù)據(jù)元素綜合技術(shù)#1MINDBASE系統(tǒng)可把兩個(gè)異類MINDBASE結(jié)構(gòu)完整地綜合成為單個(gè)MINDBASE結(jié)構(gòu),只要每個(gè)結(jié)構(gòu)中的頂層數(shù)據(jù)元素基本上相同或僅僅是描述符有所不同。例如,汽車與拖拉機(jī)基本上不同,但汽車與跑車基本上相同。
如果一大結(jié)構(gòu)的子結(jié)構(gòu)具有與其它結(jié)構(gòu)相同的父結(jié)構(gòu)或者與其它結(jié)構(gòu)中的子結(jié)構(gòu)具有相同的父結(jié)構(gòu),則可把該子結(jié)構(gòu)與另一結(jié)構(gòu)或另一結(jié)構(gòu)中的子結(jié)構(gòu)綜合起來。被綜合的結(jié)構(gòu)或子結(jié)構(gòu)保留了這兩個(gè)分別的結(jié)構(gòu)或子結(jié)構(gòu)中所具有的數(shù)據(jù)元素的所有父子關(guān)系。被綜合的結(jié)構(gòu)或子結(jié)構(gòu)還保留了這兩個(gè)分別的結(jié)構(gòu)或子結(jié)構(gòu)中所有的原因-效果關(guān)系。通過連續(xù)地進(jìn)行兩個(gè)結(jié)構(gòu)或子結(jié)構(gòu)的綜合,則可綜合無限數(shù)目的異類結(jié)構(gòu)或子結(jié)構(gòu)。
在圖17的流程圖70中示出用于綜合兩個(gè)異類數(shù)據(jù)結(jié)構(gòu)的MINDBASE綜合技術(shù)#1。該流程圖中的步驟對(duì)應(yīng)于以下步驟??梢匀魏雾樞騺磉M(jìn)行步驟2和3。
(1)證實(shí)待綜合的兩個(gè)MINDBASE結(jié)構(gòu)之一的頂層數(shù)據(jù)元素位于另一數(shù)據(jù)結(jié)構(gòu)中。
(2)檢查被綜合的MINDBASE結(jié)構(gòu),以確定這些結(jié)構(gòu)中的任何數(shù)據(jù)元素是否相同但在不同結(jié)構(gòu)中具有不同的名稱。即使這些數(shù)據(jù)元素的描述符不同,也可認(rèn)為這些數(shù)據(jù)元素相同。對(duì)待綜合的結(jié)構(gòu)中的同一數(shù)據(jù)元素的所有位置給出相同的名稱。它的一個(gè)例子是在被綜合的結(jié)構(gòu)中叫做紅色汽車而在第二結(jié)構(gòu)中叫做綠色轎車的汽車。對(duì)數(shù)據(jù)元素“汽車”和“轎車”選擇一個(gè)名稱,把該名稱提供給被綜合的結(jié)構(gòu)中的汽車和轎車的所有位置。如果一數(shù)據(jù)元素的名稱在被綜合的任意結(jié)構(gòu)中有變化,則把該變化的名稱與它在原始結(jié)構(gòu)中的原始名稱前后對(duì)照。
(3)檢查被綜合的MINDBASE結(jié)構(gòu),以確定不同結(jié)構(gòu)中的不同數(shù)據(jù)元素在不同的結(jié)構(gòu)中是否具有同一名稱。一個(gè)例子是,把單詞“車輛”用作在一數(shù)據(jù)結(jié)構(gòu)中為轎車的數(shù)據(jù)元素的名稱,并把“車輛”用作在另一數(shù)據(jù)結(jié)構(gòu)中為卡車的數(shù)據(jù)元素的名稱。必須對(duì)不同結(jié)構(gòu)中的兩個(gè)不同數(shù)據(jù)元素之一給出不同的名稱。如果一個(gè)數(shù)據(jù)元素的名稱在被綜合的任意結(jié)構(gòu)中有變化,則把該變化的名稱與它在原始結(jié)構(gòu)中的原始名稱前后對(duì)照。
(4)檢查被綜合的MINDBASE結(jié)構(gòu),以確定一數(shù)據(jù)結(jié)構(gòu)中的兩個(gè)或多個(gè)分離的數(shù)據(jù)元素是否組成其它結(jié)構(gòu)中的單個(gè)數(shù)據(jù)元素。一個(gè)例子是,一結(jié)構(gòu)中的數(shù)據(jù)元素“A”和“B”組合在一起成為另一結(jié)構(gòu)中的數(shù)據(jù)元素“C”。在此發(fā)生時(shí),此過程認(rèn)為“A”和“B”與“C”不相同。如果用戶想要認(rèn)為A和B與C相同,則用戶必須在C的數(shù)據(jù)結(jié)構(gòu)中把C分離成為A和B或者在A和B的數(shù)據(jù)結(jié)構(gòu)中結(jié)合A和B而形成C。必須把分離的數(shù)據(jù)元素與原始結(jié)構(gòu)中的組合數(shù)據(jù)元素前后對(duì)照,且必須把結(jié)合的數(shù)據(jù)元素與原始結(jié)構(gòu)中分離的數(shù)據(jù)元素前后對(duì)照。
(5)拷貝待綜合的這兩個(gè)MINDBASE結(jié)構(gòu)。如果這兩個(gè)結(jié)構(gòu)的頂層數(shù)據(jù)元素相同,則把任一個(gè)拷貝命名為“綜合”結(jié)構(gòu)并把另一拷貝命名為“第二”結(jié)構(gòu)。如果這兩個(gè)結(jié)構(gòu)的頂層數(shù)據(jù)元素不相同,則把其頂層數(shù)據(jù)元素位于另一結(jié)構(gòu)的頂層數(shù)據(jù)元素以下的MINDBASE結(jié)構(gòu)的拷貝叫做“第二”結(jié)構(gòu)。把另一MINDBASE結(jié)構(gòu)的拷貝叫做“綜合”結(jié)構(gòu)。
(6)對(duì)與第二結(jié)構(gòu)中的頂層數(shù)據(jù)元素相同的綜合結(jié)構(gòu)中的所有數(shù)據(jù)元素進(jìn)行定位。把綜合結(jié)構(gòu)中的這些數(shù)據(jù)元素位置命名為“頂層數(shù)據(jù)元素位置”。
(7)在綜合結(jié)構(gòu)中的每個(gè)“頂層數(shù)據(jù)元素位置”下放置第二結(jié)構(gòu)的頂層數(shù)據(jù)元素的子結(jié)構(gòu)。記錄移動(dòng)到綜合結(jié)構(gòu)的每個(gè)數(shù)據(jù)元素的交叉引用。此交叉引用必須把該數(shù)據(jù)元素在綜合結(jié)構(gòu)中的新位置與其在第二結(jié)構(gòu)中的先前位置相關(guān)聯(lián)。
(8)通過步驟9到12來處理綜合結(jié)構(gòu)中的所有“頂層數(shù)據(jù)元素位置”。
(9)選擇綜合結(jié)構(gòu)中的“頂層數(shù)據(jù)元素位置”以下的第一層上的任何數(shù)據(jù)元素。把該數(shù)據(jù)元素作為選中數(shù)據(jù)元素并把其位置命名為“選中數(shù)據(jù)元素的第一位置”。如果選中數(shù)據(jù)元素出現(xiàn)在“頂層數(shù)據(jù)元素位置”的子結(jié)構(gòu)中的其它位置,則把“選中數(shù)據(jù)元素的第一位置”的子結(jié)構(gòu)置于選中數(shù)據(jù)元素的其它位置下。無論選中數(shù)據(jù)元素的第一位置是否具有子結(jié)構(gòu),如果選中數(shù)據(jù)元素出現(xiàn)在“頂層數(shù)據(jù)元素位置”的子結(jié)構(gòu)中的其它位置,則從此綜合處理步驟中獲得的結(jié)構(gòu)中除去“選中數(shù)據(jù)元素的第一位置”。記錄在此步驟中移動(dòng)的每個(gè)數(shù)據(jù)元素的交叉引用。此交叉引用必須把該數(shù)據(jù)元素移動(dòng)后的位置與其移動(dòng)前的位置相關(guān)聯(lián)。
(10)通過以上步驟9中的過程來處理頂層數(shù)據(jù)元素位置以下的第一層上的所有其它數(shù)據(jù)元素。
(11)通過以上步驟9和10中的過程來處理頂層數(shù)據(jù)元素位置以下的每一后續(xù)層上的所有數(shù)據(jù)元素。只為了此步驟的目的,以“下一后續(xù)層”來替換步驟9和10的第一個(gè)句子中的單詞“第一層”。在進(jìn)到下一后續(xù)層前處理每一層上的所有數(shù)據(jù)元素。
(12)在所有的先前步驟中使用中間交叉引用,以產(chǎn)生把綜合過程最后一個(gè)步驟中的每個(gè)數(shù)據(jù)元素與其在其原始層次中的位置相關(guān)聯(lián)的最后一個(gè)引用。
可連續(xù)使用以上的步驟1-12來綜合無限數(shù)目的異類MINDBASE數(shù)據(jù)結(jié)構(gòu),只要在前一綜合的結(jié)構(gòu)中的任何地方找到每個(gè)后續(xù)數(shù)據(jù)結(jié)構(gòu)的頂層數(shù)據(jù)元素。可使用綜合結(jié)構(gòu)來完整地綜合被綜合的各個(gè)異類結(jié)構(gòu)的所有動(dòng)作。當(dāng)在被綜合的結(jié)構(gòu)之一中進(jìn)行動(dòng)作時(shí),可使用綜合的結(jié)構(gòu)把這些動(dòng)作綜合到被綜合的所有其它結(jié)構(gòu)中。由于綜合結(jié)構(gòu)具有各個(gè)結(jié)構(gòu)的所有父子關(guān)系和原因-效果關(guān)系,所以能用于代替原始結(jié)構(gòu)。
把通過綜合兩個(gè)或多個(gè)異類數(shù)據(jù)結(jié)構(gòu)獲得的綜合結(jié)構(gòu)自動(dòng)地視為任何其它MINDBASE結(jié)構(gòu)。如在MINDBASE規(guī)則的步驟6中所述,MINDBASE將自動(dòng)地把同一數(shù)據(jù)元素的多個(gè)位置存儲(chǔ)在單個(gè)位置上。MINDBASE將把綜合結(jié)構(gòu)編碼成為任何其它MINDBASE結(jié)構(gòu)。
圖10(a)和10(b)分別示出綜合前的兩個(gè)效果MINDBASE結(jié)構(gòu)52和54。代表效果的單詞用大寫字符,而代表該效果鏈接到的原因的單詞用小寫字符。在全文中遵循此大小寫表示法的慣例。圖11示出在如上所述的綜合技術(shù)#1的步驟7后的被綜合結(jié)構(gòu)56。來自結(jié)構(gòu)54的數(shù)據(jù)元素用雙線框出。在此例中,第二結(jié)構(gòu)的頂層數(shù)據(jù)元素也是綜合結(jié)構(gòu)的頂層數(shù)據(jù)元素。圖12示出步驟10后的綜合結(jié)構(gòu)56A。圖13示出在綜合技術(shù)#1的步驟12后的最終綜合結(jié)構(gòu)56B。在使用MINDBASE綜合技術(shù)時(shí)保持了所有的父/子關(guān)系。然而,此過程允許在父子之間加層。注意,在“準(zhǔn)備膳食”與膳食的五個(gè)部分之間已放置了“烘烤項(xiàng)目”和“非烘烤項(xiàng)目”。
用于單個(gè)父數(shù)據(jù)元素的綜合技術(shù)#2使用MINDBASE綜合技術(shù)#2而使MINDBASE綜合技術(shù)#1計(jì)算機(jī)化。MINDBASE系統(tǒng)能把兩個(gè)異類MINDBASE結(jié)構(gòu)完整地綜合成為單個(gè)MINDBASE結(jié)構(gòu),只要每個(gè)結(jié)構(gòu)中的頂層數(shù)據(jù)元素基本上相同或僅僅是描述符不同。例如,汽車與拖拉機(jī)基本上不同,但汽車與跑車基本上相同。
如果一大結(jié)構(gòu)的子結(jié)構(gòu)具有與其它結(jié)構(gòu)相同的父結(jié)構(gòu)或者與其它結(jié)構(gòu)中的子結(jié)構(gòu)具有相同的父結(jié)構(gòu),則可把該子結(jié)構(gòu)與另一結(jié)構(gòu)或另一結(jié)構(gòu)中的子結(jié)構(gòu)綜合起來。被綜合的結(jié)構(gòu)或子結(jié)構(gòu)保留了這兩個(gè)分別的結(jié)構(gòu)或子結(jié)構(gòu)中所有的父子關(guān)系。被綜合的結(jié)構(gòu)或子結(jié)構(gòu)還保留了這兩個(gè)分別的結(jié)構(gòu)或子結(jié)構(gòu)中所具有的數(shù)據(jù)元素的所有原因-效果關(guān)系。通過連續(xù)地進(jìn)行兩個(gè)結(jié)構(gòu)或子結(jié)構(gòu)的綜合,可綜合無限數(shù)目的異類結(jié)構(gòu)或子結(jié)構(gòu)。
這里使用的術(shù)語(yǔ)“結(jié)構(gòu)”、“子結(jié)構(gòu)”、“層次”和“樹狀結(jié)構(gòu)”為同義詞。本技術(shù)綜合作為計(jì)算機(jī)科學(xué)文獻(xiàn)中所使用的術(shù)語(yǔ)的兩個(gè)“結(jié)構(gòu)”、“子結(jié)構(gòu)”、“層次”或“樹狀結(jié)構(gòu)”。從視覺上來看,樹狀結(jié)構(gòu)由通過線連接的節(jié)點(diǎn)或框(box)(也叫做數(shù)據(jù)元素)構(gòu)成。樹狀結(jié)構(gòu)的每個(gè)節(jié)點(diǎn)或框可具有一個(gè)或多個(gè)“子”節(jié)點(diǎn)或框。把樹狀結(jié)構(gòu)中的頂節(jié)點(diǎn)或框叫做“根(root)”節(jié)點(diǎn)或框。它沒有“父”節(jié)點(diǎn)或框。除頂節(jié)點(diǎn)或框以外的所有節(jié)點(diǎn)或框都具有一個(gè)父節(jié)點(diǎn)或框。連接節(jié)點(diǎn)或框的唯一可視的線把每個(gè)父節(jié)點(diǎn)或框連接到其每個(gè)子節(jié)點(diǎn)或框。如果一節(jié)點(diǎn)的父節(jié)點(diǎn)有其它子節(jié)點(diǎn),則這些其它子節(jié)點(diǎn)對(duì)于所述節(jié)點(diǎn)或框來說是“兄弟”。本技術(shù)在以下用術(shù)語(yǔ)“向上”來表示根節(jié)點(diǎn)或框的方向,而右、左、豎直、水平和向下這些其它術(shù)語(yǔ)則相對(duì)“向上”方向而言。
本技術(shù)把兩個(gè)結(jié)構(gòu)、子結(jié)構(gòu)、層次或樹狀結(jié)構(gòu)(叫做當(dāng)前結(jié)構(gòu)和其它結(jié)構(gòu))綜合成為一個(gè)或多個(gè)“綜合結(jié)構(gòu)”。如果本技術(shù)中的起始節(jié)點(diǎn)為樹狀結(jié)構(gòu)的根節(jié)點(diǎn),則將把整個(gè)樹狀結(jié)構(gòu)綜合到可能的程度。如果起始節(jié)點(diǎn)是樹狀結(jié)構(gòu)的其它節(jié)點(diǎn),則僅將樹狀結(jié)構(gòu)的一部分綜合到可能的程度。
如果一結(jié)構(gòu)中的一個(gè)節(jié)點(diǎn)或框及另一結(jié)構(gòu)中的一個(gè)節(jié)點(diǎn)或框都對(duì)照同一個(gè)原因或效果數(shù)據(jù)元素,則我們說這一個(gè)節(jié)點(diǎn)“對(duì)應(yīng)于”這另一個(gè)節(jié)點(diǎn),反之亦然。這兩個(gè)節(jié)點(diǎn)或框可具有相同的標(biāo)識(shí)符或名稱,或者可具有不同的標(biāo)識(shí)符。如果兩個(gè)對(duì)應(yīng)的節(jié)點(diǎn)或框具有不同的標(biāo)識(shí)符,則計(jì)算機(jī)必須把對(duì)應(yīng)節(jié)點(diǎn)或框的不同標(biāo)識(shí)符記錄在翻譯表中或者通過其它技術(shù)來記錄,從而它可識(shí)別不同結(jié)構(gòu)中標(biāo)識(shí)不同的節(jié)點(diǎn)或框?qū)嶋H上是對(duì)應(yīng)的節(jié)點(diǎn)或框。
一結(jié)構(gòu)中的一節(jié)點(diǎn)或框可與另一結(jié)構(gòu)中的一節(jié)點(diǎn)或框(但不對(duì)應(yīng))具有相同的標(biāo)識(shí)符。在此情況下,計(jì)算機(jī)必須把兩個(gè)節(jié)點(diǎn)或框及其標(biāo)識(shí)符記錄在翻譯表中或者通過其它技術(shù)進(jìn)行記錄,從而它可識(shí)別不同結(jié)構(gòu)中標(biāo)識(shí)類似的節(jié)點(diǎn)或框?qū)嶋H上不是對(duì)應(yīng)的節(jié)點(diǎn)或框。
如果一結(jié)構(gòu)中有一個(gè)節(jié)點(diǎn)或框與另一結(jié)構(gòu)中的一個(gè)節(jié)點(diǎn)或框?qū)?yīng),則在綜合結(jié)構(gòu)中產(chǎn)生一新的節(jié)點(diǎn)或框參照兩個(gè)原始節(jié)點(diǎn)或框的同一原因或效果數(shù)據(jù)元素,則我們說兩個(gè)原始結(jié)構(gòu)中的這兩個(gè)節(jié)點(diǎn)或框中的每一個(gè)“對(duì)應(yīng)于”綜合結(jié)構(gòu)中的新節(jié)點(diǎn),反之亦然。
根節(jié)點(diǎn)在樹狀結(jié)構(gòu)中具有最低的層號(hào)。根節(jié)點(diǎn)的子節(jié)點(diǎn)都具有次最低層號(hào)。根節(jié)點(diǎn)的子節(jié)點(diǎn)的子節(jié)點(diǎn)都具有再下一個(gè)最低層號(hào)等。
圖18(a)和18(b)中的流程圖80示出綜合技術(shù)#2。為了使該流程圖容納在僅兩頁(yè)圖的面積中,只以步驟號(hào)來標(biāo)注流程圖的方框(極少數(shù)例外),它們對(duì)應(yīng)于以下列舉的步驟。
(1)記錄“當(dāng)前結(jié)構(gòu)”為兩個(gè)中的任一個(gè)。記錄“其它結(jié)構(gòu)”為另一結(jié)構(gòu)。產(chǎn)生叫做保留節(jié)點(diǎn)(Held Out Node)清單的兩個(gè)節(jié)點(diǎn)清單。記錄兩個(gè)清單都為空。把每個(gè)清單與兩個(gè)結(jié)構(gòu)之一相關(guān)聯(lián)。在把一特定結(jié)構(gòu)指定為當(dāng)前結(jié)構(gòu)時(shí),則把該結(jié)構(gòu)的保留節(jié)點(diǎn)清單指定為當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單。產(chǎn)生丟棄節(jié)點(diǎn)清單。記錄該清單為空。在當(dāng)前結(jié)構(gòu)中選擇一起始節(jié)點(diǎn)。在另一結(jié)構(gòu)中選擇一起始節(jié)點(diǎn)。進(jìn)到步驟3。
(2)交換當(dāng)前結(jié)構(gòu)和另一結(jié)構(gòu)。因此,記錄當(dāng)前結(jié)構(gòu)為另一結(jié)構(gòu),并記錄另一結(jié)構(gòu)為先前的當(dāng)前結(jié)構(gòu)。
(3)使當(dāng)前節(jié)點(diǎn)清單具有與當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單相同的內(nèi)容。如果當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單為空,則當(dāng)前節(jié)點(diǎn)清單將為空。把當(dāng)前結(jié)構(gòu)中下一層以下作為起始節(jié)點(diǎn)或起始節(jié)點(diǎn)的后代的所有的節(jié)點(diǎn)加到當(dāng)前節(jié)點(diǎn)清單中。對(duì)一結(jié)構(gòu)第一次執(zhí)行此步驟,下一層以下為起始節(jié)點(diǎn)層。
(4)如果當(dāng)前節(jié)點(diǎn)清單包含任何節(jié)點(diǎn),則進(jìn)到步驟8。
(5)交換當(dāng)前結(jié)構(gòu)和另一結(jié)構(gòu)。因此,記錄當(dāng)前結(jié)構(gòu)為另一結(jié)構(gòu),并記錄另一結(jié)構(gòu)為先前的當(dāng)前結(jié)構(gòu)。
(6)使當(dāng)前節(jié)點(diǎn)清單具有與當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單相同的內(nèi)容。如果當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單為空,則當(dāng)前節(jié)點(diǎn)清單將為空。把當(dāng)前結(jié)構(gòu)中下一層以下作為起始節(jié)點(diǎn)或起始節(jié)點(diǎn)的后代的所有的節(jié)點(diǎn)加到當(dāng)前節(jié)點(diǎn)清單中。對(duì)一結(jié)構(gòu)第一次執(zhí)行此步驟,下一層以下為起始節(jié)點(diǎn)層。
(7)如果當(dāng)前節(jié)點(diǎn)清單包含任何節(jié)點(diǎn),則進(jìn)到步驟8。否則本技術(shù)結(jié)束。
(8)記錄當(dāng)前節(jié)點(diǎn)為來自當(dāng)前節(jié)點(diǎn)清單的下一節(jié)點(diǎn)。因而,對(duì)包含一特定節(jié)點(diǎn)組的一特定清單第一次執(zhí)行此步驟,來自該清單的下一節(jié)點(diǎn)為該清單中的第一個(gè)節(jié)點(diǎn)。
(9)如果沒有當(dāng)前節(jié)點(diǎn),則進(jìn)到步驟2。
(10)如果當(dāng)前節(jié)點(diǎn)在綜合結(jié)構(gòu)中具有對(duì)應(yīng)的節(jié)點(diǎn),則進(jìn)到步驟8。
(11)記錄伙伴(partner)節(jié)點(diǎn)為另一結(jié)構(gòu)中與當(dāng)前節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)。如果在另一結(jié)構(gòu)中沒有對(duì)應(yīng)節(jié)點(diǎn),則記錄沒有伙伴節(jié)點(diǎn)。記錄綜合當(dāng)前父節(jié)點(diǎn)為綜合結(jié)構(gòu)中與當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)。如果當(dāng)前節(jié)點(diǎn)沒有父節(jié)點(diǎn)或者如果當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)在綜合結(jié)構(gòu)中沒有對(duì)應(yīng)節(jié)點(diǎn),則記錄沒有綜合當(dāng)前父節(jié)點(diǎn)。
(12)如果存在伙伴節(jié)點(diǎn),則進(jìn)到步驟18。
(13)如果沒有綜合當(dāng)前目節(jié)點(diǎn),則進(jìn)到步驟15。
(14)記錄預(yù)期綜合父節(jié)點(diǎn)為綜合當(dāng)前父節(jié)點(diǎn)。進(jìn)到步驟26。
(15)如果當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)未在當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單中,則進(jìn)到步驟17。
(16)如果當(dāng)前節(jié)點(diǎn)未在當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單中,則把當(dāng)前節(jié)點(diǎn)加到當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單中。在任一種情況下進(jìn)到步驟8。
(17)把當(dāng)前節(jié)點(diǎn)加到丟棄節(jié)點(diǎn)清單中。進(jìn)到步驟8。
(18)記錄綜合伙伴父節(jié)點(diǎn)為綜合結(jié)構(gòu)中與伙伴節(jié)點(diǎn)的父節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)。如果伙伴節(jié)點(diǎn)沒有父節(jié)點(diǎn)或如果伙伴節(jié)點(diǎn)的父節(jié)點(diǎn)在綜合結(jié)構(gòu)中沒有對(duì)應(yīng)節(jié)點(diǎn),則記錄沒有綜合伙伴父節(jié)點(diǎn)。
(19)如果當(dāng)前節(jié)點(diǎn)有父節(jié)點(diǎn)且伙伴節(jié)點(diǎn)有父節(jié)點(diǎn),則進(jìn)到步驟21。
(20)記錄沒有預(yù)期綜合父節(jié)點(diǎn)。進(jìn)到步驟26。
(21)如果沒有綜合當(dāng)前父節(jié)點(diǎn)或如果沒有綜合伙伴父節(jié)點(diǎn),則進(jìn)到步驟23。
(22)如果綜合當(dāng)前父節(jié)點(diǎn)的層號(hào)大于或等于綜合伙伴父節(jié)點(diǎn)的層號(hào),則記錄預(yù)期綜合父節(jié)點(diǎn)為綜合當(dāng)前父節(jié)點(diǎn),否則記錄預(yù)期綜合父節(jié)點(diǎn)為綜合伙伴父節(jié)點(diǎn)。進(jìn)到步驟26。
(23)如果當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)不在丟棄節(jié)點(diǎn)清單中或者如果伙伴節(jié)點(diǎn)的父節(jié)點(diǎn)不在丟棄節(jié)點(diǎn)清單中,則進(jìn)到步驟25。
(24)記錄沒有預(yù)期綜合父節(jié)點(diǎn)。進(jìn)到步驟26。
(25)如果當(dāng)前節(jié)點(diǎn)還未在當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單中,則把它加到該清單中。進(jìn)到步驟8。
(26)產(chǎn)生一新的節(jié)點(diǎn)。對(duì)此新節(jié)點(diǎn)給出與當(dāng)前節(jié)點(diǎn)或伙伴節(jié)點(diǎn)(如果有的話)相同的名稱。記錄此新的節(jié)點(diǎn)對(duì)應(yīng)于當(dāng)前節(jié)點(diǎn),反之亦然。如果存在伙伴節(jié)點(diǎn),則記錄此新的節(jié)點(diǎn)對(duì)應(yīng)于伙伴節(jié)點(diǎn),反之亦然。
(27)如果存在預(yù)期綜合父節(jié)點(diǎn),則進(jìn)到步驟29。
(28)產(chǎn)生一新的綜合結(jié)構(gòu)。對(duì)此新結(jié)構(gòu)給出與當(dāng)前節(jié)點(diǎn)或伙伴節(jié)點(diǎn)相同的名稱。記錄在步驟26中產(chǎn)生的新節(jié)點(diǎn)在此新的綜合結(jié)構(gòu)中。記錄此新的節(jié)點(diǎn)為該新綜合結(jié)構(gòu)的根節(jié)點(diǎn)。記錄此新節(jié)點(diǎn)沒有父節(jié)點(diǎn)。進(jìn)到步驟30。
(29)記錄此新節(jié)點(diǎn)為預(yù)期綜合父節(jié)點(diǎn)的子節(jié)點(diǎn),并在與預(yù)期綜合父節(jié)點(diǎn)相同的綜合結(jié)構(gòu)中。
(30)如果當(dāng)前節(jié)點(diǎn)在當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單中,則從該清單中除去該節(jié)點(diǎn)。在任一種情況下,進(jìn)到步驟8。
用于多個(gè)父數(shù)據(jù)元素的綜合技術(shù)#3MINDBASE系統(tǒng)能把兩個(gè)異類MINDBASE結(jié)構(gòu)完整地綜合成為單個(gè)MINDBASE結(jié)構(gòu),只要每個(gè)結(jié)構(gòu)中的頂層數(shù)據(jù)元素基本上相同或僅僅是描述符不同。例如,汽車與拖拉機(jī)基本上不同,但汽車與跑車基本上相同。
如果一大結(jié)構(gòu)的子結(jié)構(gòu)具有與其它結(jié)構(gòu)相同的父節(jié)點(diǎn)或者與其它結(jié)構(gòu)中的子結(jié)構(gòu)具有相同的父節(jié)點(diǎn),則可把該子結(jié)構(gòu)與另一結(jié)構(gòu)或另一結(jié)構(gòu)中的子結(jié)構(gòu)綜合起來。被綜合的結(jié)構(gòu)或子結(jié)構(gòu)保留了這兩個(gè)分別的結(jié)構(gòu)或子結(jié)構(gòu)中所有的父子關(guān)系。被綜合的結(jié)構(gòu)或子結(jié)構(gòu)還保留了這兩個(gè)分別的結(jié)構(gòu)或子結(jié)構(gòu)中所具有的數(shù)據(jù)元素的所有原因-效果關(guān)系。通過連續(xù)地進(jìn)行兩個(gè)結(jié)構(gòu)或子結(jié)構(gòu)的綜合,可綜合無限數(shù)目的異類結(jié)構(gòu)或子結(jié)構(gòu)。
在圖19的流程圖90中示出利用MINDBASE綜合技術(shù)來綜合兩個(gè)異類數(shù)據(jù)結(jié)構(gòu)。該流程圖中的步驟對(duì)應(yīng)于以下步驟??梢匀魏雾樞蜻M(jìn)行步驟2和3。
(1)證實(shí)待綜合的兩個(gè)MINDBASE之一的頂層數(shù)據(jù)元素位于另一MINDBASE結(jié)構(gòu)中。
(2)檢查被綜合的MINDBASE結(jié)構(gòu),以確定這些結(jié)構(gòu)中的任何數(shù)據(jù)元素是否相同但在不同結(jié)構(gòu)中具有不同的名稱。即使這些數(shù)據(jù)元素的描述符不同,也可認(rèn)為這些數(shù)據(jù)元素相同。對(duì)待綜合的結(jié)構(gòu)中的同一數(shù)據(jù)元素的所有位置給出相同的名稱。它的一個(gè)例子是在被綜合的結(jié)構(gòu)中叫做紅色汽車而在第二結(jié)構(gòu)中叫做綠色轎車的汽車。對(duì)數(shù)據(jù)元素“汽車”和“轎車”選擇一個(gè)名稱,把該名稱提供給被綜合的結(jié)構(gòu)中的汽車和轎車的所有位置。如果一數(shù)據(jù)元素的名稱在被綜合的任意結(jié)構(gòu)中有變化,則把該變化的名稱與它在原始結(jié)構(gòu)中的原始名稱前后對(duì)照。
(3)檢查被綜合的MINDBASE結(jié)構(gòu),以確定不同結(jié)構(gòu)中的不同數(shù)據(jù)元素在不同的結(jié)構(gòu)中是否具有同一名稱。一個(gè)例子是,把單詞“車輛”在一數(shù)據(jù)結(jié)構(gòu)中用作為轎車的數(shù)據(jù)元素的名稱,并把“車輛”在另一數(shù)據(jù)結(jié)構(gòu)中用作為卡車的數(shù)據(jù)元素的名稱。必須對(duì)不同結(jié)構(gòu)中的兩個(gè)不同數(shù)據(jù)元素之一給出不同的名稱。如果一個(gè)數(shù)據(jù)元素的名稱在被綜合的任意結(jié)構(gòu)中有變化,則把該變化的名稱與它在原始結(jié)構(gòu)中的原始名稱前后對(duì)照。
(4)檢查被綜合的MINDBASE結(jié)構(gòu),以確定一數(shù)據(jù)結(jié)構(gòu)中的兩個(gè)或多個(gè)分別的數(shù)據(jù)元素是否組成其它結(jié)構(gòu)中的單個(gè)數(shù)據(jù)元素。一個(gè)例子是,一結(jié)構(gòu)中的數(shù)據(jù)元素“A”和“B”組合在一起成為另一結(jié)構(gòu)中的數(shù)據(jù)元素“C”。在此發(fā)生時(shí),此過程認(rèn)為“A”和“B”與“C”不相同。如果用戶想要認(rèn)為A和B與C相同,則用戶必須在C的數(shù)據(jù)結(jié)構(gòu)中把C分離成為A和B或者在A和B的數(shù)據(jù)結(jié)構(gòu)中結(jié)合A和B而形成C。必須把分別的數(shù)據(jù)元素與原始結(jié)構(gòu)中組合的數(shù)據(jù)元素前后對(duì)照,且必須把結(jié)合的數(shù)據(jù)元素與原始結(jié)構(gòu)中分別的數(shù)據(jù)元素前后對(duì)照。
(5)拷貝待綜合的這兩個(gè)MINDBASE結(jié)構(gòu)。如果這兩個(gè)結(jié)構(gòu)的頂層數(shù)據(jù)元素相同,則把任一個(gè)拷貝命名為“綜合”結(jié)構(gòu)并把另一拷貝命名為“第二”結(jié)構(gòu)。如果這兩個(gè)結(jié)構(gòu)的頂層數(shù)據(jù)元素不相同,則把其頂層數(shù)據(jù)元素位于另一結(jié)構(gòu)的頂層數(shù)據(jù)元素以下的MINDBASE結(jié)構(gòu)的拷貝叫做“第二”結(jié)構(gòu)。把另一MINDBASE結(jié)構(gòu)的拷貝叫做“綜合”結(jié)構(gòu)。
(6)對(duì)與第二結(jié)構(gòu)中的頂層數(shù)據(jù)元素相同的綜合結(jié)構(gòu)中的所有數(shù)據(jù)元素進(jìn)行定位。把綜合結(jié)構(gòu)中的這些數(shù)據(jù)元素位置命名為“頂層數(shù)據(jù)元素位置”。
(7)在綜合結(jié)構(gòu)中的每個(gè)“頂層數(shù)據(jù)元素位置”下放置第二結(jié)構(gòu)的頂層數(shù)據(jù)元素的子結(jié)構(gòu)。記錄移動(dòng)到綜合結(jié)構(gòu)的每個(gè)數(shù)據(jù)元素的交叉引用。此交叉引用必須把該數(shù)據(jù)元素在綜合結(jié)構(gòu)中的新位置與其在第二結(jié)構(gòu)中的先前位置相關(guān)聯(lián)。
(8)通過步驟9到13來處理綜合結(jié)構(gòu)中的所有“頂層數(shù)據(jù)元素位置”。
(9)選擇綜合結(jié)構(gòu)中的“頂層數(shù)據(jù)元素位置”以下的第一層上的任何數(shù)據(jù)元素。把該數(shù)據(jù)元素作為選中數(shù)據(jù)元素并把其位置命名為“選中數(shù)據(jù)元素的第一位置”。如果選中數(shù)據(jù)元素出現(xiàn)在“頂層數(shù)據(jù)元素位置”的子結(jié)構(gòu)中的其它位置,則把“選中數(shù)據(jù)元素的第一位置”的子結(jié)構(gòu)置于選中數(shù)據(jù)元素的其它位置以下。除了“選中數(shù)據(jù)元素的第一位置”的子位置不保留“選中數(shù)據(jù)元素的第一位置”作為父位置以外,在此步驟中移動(dòng)的任何數(shù)據(jù)元素都保留所有的父位置。無論選中數(shù)據(jù)元素的第一位置是否具有子結(jié)構(gòu),如果選中數(shù)據(jù)元素出現(xiàn)在“頂層數(shù)據(jù)元素位置”的子結(jié)構(gòu)中的其它位置,則從此綜合處理步驟中獲得的結(jié)構(gòu)中除去“選中數(shù)據(jù)元素的第一位置”。應(yīng)使被除去的“選中數(shù)據(jù)元素的第一位置”的所有父位置都成為任何其余選中數(shù)據(jù)元素位置的父位置。記錄在此步驟中移動(dòng)的每個(gè)數(shù)據(jù)元素的交叉引用。此交叉引用必須把該數(shù)據(jù)元素移動(dòng)后的位置與其移動(dòng)前的位置相關(guān)聯(lián)。
(10)通過以上步驟9中的過程來處理頂層數(shù)據(jù)元素位置以下的第一層上的所有其它數(shù)據(jù)元素。
(11)通過以上步驟9和10中的過程來處理頂層數(shù)據(jù)元素位置以下的每一后續(xù)層上的所有數(shù)據(jù)元素。只為了此步驟的目的,以“下一后續(xù)層”來替換步驟9和10的第一個(gè)句子中的單詞“第一層”。在進(jìn)到下一后續(xù)層前處理每一層上的所有數(shù)據(jù)元素。
(12)如果同一數(shù)據(jù)元素出現(xiàn)在從步驟11獲得的結(jié)構(gòu)的多個(gè)位置中,則除去除最低層上的單個(gè)位置以外的所有位置。如果該數(shù)據(jù)元素在最低層上出現(xiàn)了不止一次,則可隨意地選擇保留最低層上的任一個(gè)位置。把其余的位置鏈接到被除去位置的所有父位置。
(13)在所有的先前步驟中使用中間交叉引用,以產(chǎn)生把綜合過程最后一個(gè)步驟中的每個(gè)數(shù)據(jù)元素與其在其原始層次中的位置相關(guān)聯(lián)的最后一個(gè)引用。
可連續(xù)使用綜合技術(shù)#3來綜合無限數(shù)目的異類MINDBASE數(shù)據(jù)結(jié)構(gòu),只要在前一綜合結(jié)構(gòu)中的任何地方找到每個(gè)后續(xù)數(shù)據(jù)結(jié)構(gòu)的頂層數(shù)據(jù)元素??墒褂镁C合結(jié)構(gòu)來完整地綜合被綜合的各個(gè)異類結(jié)構(gòu)的所有動(dòng)作。當(dāng)在被綜合的結(jié)構(gòu)之一中進(jìn)行動(dòng)作時(shí),可使用綜合的結(jié)構(gòu)把這些動(dòng)作綜合到被綜合的所有其它結(jié)構(gòu)中。由于綜合結(jié)構(gòu)具有各個(gè)結(jié)構(gòu)的所有父子關(guān)系和原因-效果關(guān)系,所以代替原始結(jié)構(gòu)而使用綜合結(jié)構(gòu)。
把通過綜合兩個(gè)或多個(gè)異類數(shù)據(jù)結(jié)構(gòu)獲得的綜合結(jié)構(gòu)自動(dòng)地視為任何其它MINDBASE結(jié)構(gòu)。如在MINDBASE規(guī)則的步驟6中所述,MINDBASE將自動(dòng)地把同一數(shù)據(jù)元素的多個(gè)位置存儲(chǔ)在單個(gè)位置上。MINDBASE將把綜合結(jié)構(gòu)和層次編碼成為任何其它MINDBASE結(jié)構(gòu)。
用于單個(gè)父數(shù)據(jù)元素的綜合技術(shù)#4使用綜合技術(shù)#4而使MINDBASE綜合技術(shù)#3計(jì)算機(jī)化。MINDBASE系統(tǒng)能把兩個(gè)異類MINDBASE結(jié)構(gòu)完整地綜合成為單個(gè)MINDBASE結(jié)構(gòu),只要每個(gè)結(jié)構(gòu)中的頂層數(shù)據(jù)元素基本上相同或僅僅是描述符不同。例如,汽車與拖拉機(jī)基本上不同,但汽車與跑車基本上相同。
如果一大結(jié)構(gòu)的子結(jié)構(gòu)具有與其它結(jié)構(gòu)相同的父節(jié)點(diǎn)或者與其它結(jié)構(gòu)中的子結(jié)構(gòu)具有相同的父節(jié)點(diǎn),則可把該子結(jié)構(gòu)與另一結(jié)構(gòu)或另一結(jié)構(gòu)中的子結(jié)構(gòu)綜合起來。被綜合的結(jié)構(gòu)或子結(jié)構(gòu)保留了這兩個(gè)分別的結(jié)構(gòu)或子結(jié)構(gòu)中所有的父子關(guān)系。被綜合的結(jié)構(gòu)或子結(jié)構(gòu)還保留了這兩個(gè)分別的結(jié)構(gòu)或子結(jié)構(gòu)中所具有的數(shù)據(jù)元素的所有原因-效果關(guān)系。通過連續(xù)地進(jìn)行兩個(gè)結(jié)構(gòu)或子結(jié)構(gòu)的綜合,可綜合無限數(shù)目的異類結(jié)構(gòu)或子結(jié)構(gòu)。
這里使用的術(shù)語(yǔ)“結(jié)構(gòu)”、“子結(jié)構(gòu)”、“層次”和“樹狀結(jié)構(gòu)”為同義詞。本技術(shù)綜合作為計(jì)算機(jī)科學(xué)文獻(xiàn)中所使用的術(shù)語(yǔ)的兩個(gè)“結(jié)構(gòu)”、“子結(jié)構(gòu)”、“層次”或“樹狀結(jié)構(gòu)”。從視覺上來看,樹狀結(jié)構(gòu)由通過線連接的節(jié)點(diǎn)或框(box)(也叫做數(shù)據(jù)元素)構(gòu)成。樹狀結(jié)構(gòu)的每個(gè)節(jié)點(diǎn)或框可具有一個(gè)或多個(gè)“子”節(jié)點(diǎn)或框。把樹狀結(jié)構(gòu)中的頂節(jié)點(diǎn)或框叫做“根(root)”節(jié)點(diǎn)或框。它沒有“父”節(jié)點(diǎn)或框。除頂節(jié)點(diǎn)或框以外的所有節(jié)點(diǎn)或框都具有一個(gè)父節(jié)點(diǎn)或框。連接節(jié)點(diǎn)或框的唯一可視的線把每個(gè)父節(jié)點(diǎn)或框連接到其每個(gè)子節(jié)點(diǎn)或框。如果一節(jié)點(diǎn)的父節(jié)點(diǎn)有其它子節(jié)點(diǎn),則這些其它子節(jié)點(diǎn)對(duì)于所述節(jié)點(diǎn)或框來說是“兄弟”。本技術(shù)在以下用術(shù)語(yǔ)“向上”來表示根節(jié)點(diǎn)或框的方向,而右、左、豎直、水平和向下這些其它術(shù)語(yǔ)則相對(duì)“向上”方向而言。
本技術(shù)把兩個(gè)結(jié)構(gòu)、子結(jié)構(gòu)、層次或樹狀結(jié)構(gòu)(叫做當(dāng)前結(jié)構(gòu)和其它結(jié)構(gòu))綜合成為一個(gè)或多個(gè)“綜合結(jié)構(gòu)”。如果本技術(shù)中的起始節(jié)點(diǎn)為樹狀結(jié)構(gòu)的根節(jié)點(diǎn),則將把整個(gè)樹狀結(jié)構(gòu)綜合到可能的程度。如果起始節(jié)點(diǎn)是樹狀結(jié)構(gòu)的其它節(jié)點(diǎn),則將把樹狀結(jié)構(gòu)的一部分綜合到可能的程度。
如果一結(jié)構(gòu)中的一個(gè)節(jié)點(diǎn)或框及另一結(jié)構(gòu)中的一個(gè)節(jié)點(diǎn)或框都涉及同一個(gè)原因或效果數(shù)據(jù)元素,則我們說這一個(gè)節(jié)點(diǎn)“對(duì)應(yīng)于”這另一個(gè)節(jié)點(diǎn),反之亦然。這兩個(gè)節(jié)點(diǎn)或框可具有相同的標(biāo)識(shí)符或名稱,或者可具有不同的標(biāo)識(shí)符。如果兩個(gè)對(duì)應(yīng)的節(jié)點(diǎn)或框具有不同的標(biāo)識(shí)符,則計(jì)算機(jī)必須把對(duì)應(yīng)節(jié)點(diǎn)或框的不同標(biāo)識(shí)符記錄在翻譯表中或者通過其它技術(shù)來記錄,從而它可確認(rèn)不同結(jié)構(gòu)中標(biāo)識(shí)不同的節(jié)點(diǎn)或框?qū)嶋H上是對(duì)應(yīng)的節(jié)點(diǎn)或框。
一結(jié)構(gòu)中的一節(jié)點(diǎn)或框可與另一結(jié)構(gòu)中并不對(duì)應(yīng)的一節(jié)點(diǎn)或框具有相同的標(biāo)識(shí)符。在此情況下,計(jì)算機(jī)必須把兩個(gè)節(jié)點(diǎn)或框及其標(biāo)識(shí)符記錄在翻譯表中或者通過其它技術(shù)進(jìn)行記錄,從而它可確認(rèn)不同結(jié)構(gòu)中標(biāo)識(shí)類似的節(jié)點(diǎn)或框?qū)嶋H上不是對(duì)應(yīng)的節(jié)點(diǎn)或框。
如果一結(jié)構(gòu)中有一個(gè)節(jié)點(diǎn)或框與另一結(jié)構(gòu)中的一個(gè)節(jié)點(diǎn)或框?qū)?yīng),且在綜合結(jié)構(gòu)中產(chǎn)生一新的節(jié)點(diǎn)或框涉及作為兩個(gè)原始節(jié)點(diǎn)或框的同一原因或效果數(shù)據(jù)元素,則我們說兩個(gè)原始結(jié)構(gòu)中的這兩個(gè)節(jié)點(diǎn)或框中的每一個(gè)“對(duì)應(yīng)于”綜合結(jié)構(gòu)中的新節(jié)點(diǎn),反之亦然。
根節(jié)點(diǎn)在樹狀結(jié)構(gòu)中具有最低的層號(hào)。根節(jié)點(diǎn)的子節(jié)點(diǎn)都具有次最低層號(hào)。根節(jié)點(diǎn)的子節(jié)點(diǎn)的子節(jié)點(diǎn)都具有再下一個(gè)最低層號(hào)等。
圖20(a)和20(b)中的流程圖100示出綜合技術(shù)#4。為了使該流程圖容納在僅兩頁(yè)圖的面積中,只以步驟號(hào)來標(biāo)注流程圖的方框(極少數(shù)例外),它們對(duì)應(yīng)于以下列舉的步驟。
(1)記錄“當(dāng)前結(jié)構(gòu)”為兩個(gè)中的任一個(gè)。記錄“其它結(jié)構(gòu)”為另一結(jié)構(gòu)。產(chǎn)生叫做保留節(jié)點(diǎn)(Held Out Node)清單的兩個(gè)節(jié)點(diǎn)清單。記錄兩個(gè)清單都為空。把每個(gè)清單與兩個(gè)結(jié)構(gòu)之一相關(guān)聯(lián)。在把一特定結(jié)構(gòu)指定為當(dāng)前結(jié)構(gòu)時(shí),則把該結(jié)構(gòu)的保留節(jié)點(diǎn)清單指定為當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單。產(chǎn)生丟棄節(jié)點(diǎn)清單。記錄該清單為空。在當(dāng)前結(jié)構(gòu)中選擇一起始節(jié)點(diǎn)。在另一結(jié)構(gòu)中選擇一起始節(jié)點(diǎn)。進(jìn)到步驟3。
(2)交換當(dāng)前結(jié)構(gòu)和另一結(jié)構(gòu)。因此,記錄當(dāng)前結(jié)構(gòu)為另一結(jié)構(gòu),并記錄另一結(jié)構(gòu)為先前的當(dāng)前結(jié)構(gòu)。
(3)使當(dāng)前節(jié)點(diǎn)清單具有與當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單相同的內(nèi)容。如果當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單為空,則當(dāng)前節(jié)點(diǎn)清單將為空。把當(dāng)前結(jié)構(gòu)中下一層以下作為起始節(jié)點(diǎn)或起始節(jié)點(diǎn)的后代的所有的節(jié)點(diǎn)加到當(dāng)前節(jié)點(diǎn)清單中。對(duì)一結(jié)構(gòu)第一次執(zhí)行此步驟,下一層為起始節(jié)點(diǎn)層。
(4)如果當(dāng)前節(jié)點(diǎn)清單包含任何節(jié)點(diǎn),則進(jìn)到步驟8。
(5)交換當(dāng)前結(jié)構(gòu)和另一結(jié)構(gòu)。因此,記錄當(dāng)前結(jié)構(gòu)為另一結(jié)構(gòu),并記錄另一結(jié)構(gòu)為先前的當(dāng)前結(jié)構(gòu)。
(6)使當(dāng)前節(jié)點(diǎn)清單具有與當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單相同的內(nèi)容。如果當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單為空,則當(dāng)前節(jié)點(diǎn)清單將為空。把當(dāng)前結(jié)構(gòu)中下一層作為起始節(jié)點(diǎn)或起始節(jié)點(diǎn)的后代的所有的節(jié)點(diǎn)加到當(dāng)前節(jié)點(diǎn)清單中。對(duì)一結(jié)構(gòu)第一次執(zhí)行此步驟,下一層為起始節(jié)點(diǎn)層。
(7)如果當(dāng)前節(jié)點(diǎn)清單包含任何節(jié)點(diǎn),則進(jìn)到步驟8。否則本技術(shù)結(jié)束。
(8)記錄當(dāng)前節(jié)點(diǎn)為來自當(dāng)前節(jié)點(diǎn)清單的下一節(jié)點(diǎn)。因而,對(duì)包含一特定節(jié)點(diǎn)組的一特定清單第一次執(zhí)行此步驟,來自該清單的下一節(jié)點(diǎn)為該清單中的第一個(gè)節(jié)點(diǎn)。
(9)如果沒有當(dāng)前節(jié)點(diǎn),則進(jìn)到步驟2。
(10)如果當(dāng)前節(jié)點(diǎn)在綜合結(jié)構(gòu)中具有對(duì)應(yīng)的節(jié)點(diǎn),則進(jìn)到步驟8。
(11)記錄伙伴(partner)節(jié)點(diǎn)為另一結(jié)構(gòu)中與當(dāng)前節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)。如果在另一結(jié)構(gòu)中沒有對(duì)應(yīng)節(jié)點(diǎn),則記錄沒有伙伴節(jié)點(diǎn)。記錄綜合當(dāng)前父節(jié)點(diǎn)為綜合結(jié)構(gòu)中與當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)。如果當(dāng)前節(jié)點(diǎn)沒有父節(jié)點(diǎn)或者如果當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)在綜合結(jié)構(gòu)中沒有對(duì)應(yīng)節(jié)點(diǎn),則記錄沒有綜合當(dāng)前父節(jié)點(diǎn)。
(12)如果存在伙伴節(jié)點(diǎn),則進(jìn)到步驟18。
(13)如果沒有綜合當(dāng)前父節(jié)點(diǎn),則進(jìn)到步驟15。
(14)記錄預(yù)期綜合父節(jié)點(diǎn)為綜合當(dāng)前父節(jié)點(diǎn)。進(jìn)到步驟26。
(15)如果當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)未在當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單中,則進(jìn)到步驟17。
(16)如果當(dāng)前節(jié)點(diǎn)未在當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單中,則把當(dāng)前節(jié)點(diǎn)加到當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單中。在任一種情況下進(jìn)到步驟8。
(17)把當(dāng)前節(jié)點(diǎn)加到丟棄節(jié)點(diǎn)清單中。進(jìn)到步驟8。
(18)記錄綜合伙伴父節(jié)點(diǎn)為綜合結(jié)構(gòu)中與伙伴節(jié)點(diǎn)的父節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)。如果伙伴節(jié)點(diǎn)沒有父節(jié)點(diǎn)或如果伙伴節(jié)點(diǎn)的父節(jié)點(diǎn)在綜合結(jié)構(gòu)中沒有對(duì)應(yīng)節(jié)點(diǎn),則記錄沒有綜合伙伴父節(jié)點(diǎn)。
(19)如果當(dāng)前節(jié)點(diǎn)有父節(jié)點(diǎn)且伙伴節(jié)點(diǎn)有父節(jié)點(diǎn),則進(jìn)到步驟21。
(20)記錄沒有預(yù)期綜合父節(jié)點(diǎn)。進(jìn)到步驟26。
(21)如果沒有綜合當(dāng)前父節(jié)點(diǎn)或如果沒有綜合伙伴父節(jié)點(diǎn),則進(jìn)到步驟23。
(22)確定任何綜合當(dāng)前父節(jié)點(diǎn)或綜合父親節(jié)點(diǎn)的最高層號(hào)。記錄預(yù)期綜合父節(jié)點(diǎn)為在此最高層上的綜合當(dāng)前父節(jié)點(diǎn)和綜合伙伴父節(jié)點(diǎn)。進(jìn)到步驟26。
(23)如果當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)不在丟棄節(jié)點(diǎn)清單中或者如果伙伴節(jié)點(diǎn)的父節(jié)點(diǎn)不在丟棄節(jié)點(diǎn)清單中,則進(jìn)到步驟25。
(24)記錄沒有預(yù)期綜合父節(jié)點(diǎn)。進(jìn)到步驟26。
(25)如果當(dāng)前節(jié)點(diǎn)還未在當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單中,則把它加到該清單中。進(jìn)到步驟8。
(26)產(chǎn)生一新的節(jié)點(diǎn)。對(duì)此新節(jié)點(diǎn)給于與當(dāng)前節(jié)點(diǎn)或伙伴節(jié)點(diǎn)(如果有的話)相同的名稱。記錄此新的節(jié)點(diǎn)對(duì)應(yīng)于當(dāng)前節(jié)點(diǎn),反之亦然。如果存在伙伴節(jié)點(diǎn),則記錄此新的節(jié)點(diǎn)對(duì)應(yīng)于伙伴節(jié)點(diǎn),反之亦然。
(27)如果存在預(yù)期綜合父節(jié)點(diǎn),則進(jìn)到步驟29。
(28)產(chǎn)生一新的綜合結(jié)構(gòu)。對(duì)此新結(jié)構(gòu)給出與當(dāng)前節(jié)點(diǎn)或伙伴節(jié)點(diǎn)相同的名稱。記錄在步驟26中產(chǎn)生的新節(jié)點(diǎn)在此新的綜合結(jié)構(gòu)中。記錄此新的節(jié)點(diǎn)為新綜合結(jié)構(gòu)的根節(jié)點(diǎn)。記錄此新節(jié)點(diǎn)沒有父節(jié)點(diǎn)。進(jìn)到步驟30。
(29)記錄此新節(jié)點(diǎn)為預(yù)期綜合父節(jié)點(diǎn)的子節(jié)點(diǎn),且在與預(yù)期綜合父節(jié)點(diǎn)系統(tǒng)的同一綜合結(jié)構(gòu)中。也使新節(jié)點(diǎn)成為所有其它節(jié)點(diǎn)(它們是綜合當(dāng)前父節(jié)點(diǎn)或綜合伙伴父節(jié)點(diǎn))的子節(jié)點(diǎn),除非這些其它節(jié)點(diǎn)在預(yù)期綜合父節(jié)點(diǎn)和根節(jié)點(diǎn)之間的預(yù)期綜合父節(jié)點(diǎn)層中。
(30)如果當(dāng)前節(jié)點(diǎn)在當(dāng)前結(jié)構(gòu)的保留節(jié)點(diǎn)清單中,則從該清單中除去該節(jié)點(diǎn)。在任一種情況下,進(jìn)到步驟8。
安排樹狀結(jié)構(gòu)顯示此技術(shù)排列作為計(jì)算機(jī)科學(xué)文獻(xiàn)中所使用的術(shù)語(yǔ)的“樹狀結(jié)構(gòu)”。該樹狀結(jié)構(gòu)中的每個(gè)節(jié)點(diǎn)或框可具有一個(gè)或多個(gè)“子”節(jié)點(diǎn)或框。這些子節(jié)點(diǎn)或框保持順序。以數(shù)字一開始從左到右對(duì)它們進(jìn)行編號(hào)。這些編號(hào)叫做“子編號(hào)”。數(shù)字結(jié)構(gòu)中的頂節(jié)點(diǎn)或框叫做“根”節(jié)點(diǎn)或框。它沒有“父”節(jié)點(diǎn)或框。除頂節(jié)點(diǎn)或框以外的所有節(jié)點(diǎn)或框都有一個(gè)父節(jié)點(diǎn)或框。連接節(jié)點(diǎn)或框的唯一可視的線把每個(gè)父節(jié)點(diǎn)或框連接到其每個(gè)子節(jié)點(diǎn)或框。如果一節(jié)點(diǎn)的父節(jié)點(diǎn)有其它子節(jié)點(diǎn),則這些其它子節(jié)點(diǎn)對(duì)于所述節(jié)點(diǎn)或框來說是“兄弟”。本技術(shù)對(duì)數(shù)字結(jié)構(gòu)進(jìn)行排列,從而根節(jié)點(diǎn)或框位于顯示器的頂部,且把一節(jié)點(diǎn)或框的子節(jié)點(diǎn)或框置于其下。
還可使用本技術(shù)來排列樹狀結(jié)構(gòu),使根節(jié)點(diǎn)或框在顯示器件的任一側(cè)或底部而該節(jié)點(diǎn)或框的子節(jié)點(diǎn)或框向顯示器件的反方向延伸。例如,如果把樹狀結(jié)構(gòu)的根節(jié)點(diǎn)或框置于顯示器件的左則,則將把該節(jié)點(diǎn)或框的子節(jié)點(diǎn)或框置于該節(jié)點(diǎn)的右側(cè)。
在本說明書中使用術(shù)語(yǔ)“方向”和“路徑”?!胺较颉钡倪x擇為“向上”或“向下”。所沿的“路徑”具有值“中央”、“左”或“右”?!跋蛏稀敝父?jié)點(diǎn)或框的方向?!跋蛳隆薄ⅰ爸醒搿?、“左”和“右”是相對(duì)于“向上”方向而言。被作為單個(gè)單元的步驟7(7)和8(8)的位置可與也被作為單個(gè)單元的步驟9(9)和10(10)的位置對(duì)換,而不改變本技術(shù)的效果或目的。
用圖21(a)和21(b)的流程圖110示出安排顯示樹狀結(jié)構(gòu)的方法。為了使該流程圖容納在僅兩頁(yè)圖的面積中,只以步驟號(hào)來標(biāo)注流程圖的方框(極少數(shù)例外),它們對(duì)應(yīng)于以下列舉的步驟。
(1)通過把顯示器件的尺寸記錄在計(jì)算機(jī)編程中或檢索位于內(nèi)存中的所需的數(shù)據(jù)來確定顯示器件的尺寸。還確定樹狀結(jié)構(gòu)的一水平層所需的顯示器件上的垂直空間的尺寸。一層為從一父節(jié)點(diǎn)或框到其任何子節(jié)點(diǎn)或框的垂直距離。
(2)任意地選擇一節(jié)點(diǎn)或框作為中央節(jié)點(diǎn)。把中央節(jié)點(diǎn)置于顯示器件的中央。
(3)記錄所沿的路徑為“中央”?,F(xiàn)在把該中央節(jié)點(diǎn)記錄為當(dāng)前節(jié)點(diǎn)。把要移動(dòng)的方向記錄為“向下”。記錄不必檢查父節(jié)點(diǎn)。
(4)如果所要沿行的路徑為“中央”,則進(jìn)到步驟5。否則進(jìn)到步驟12。
(5)如果要移動(dòng)的方向?yàn)椤跋蛳隆?,而且如果?dāng)前節(jié)點(diǎn)有一子節(jié)點(diǎn)以及沿向下方向有足夠的空間來顯示另一層,則進(jìn)到步驟6。否則進(jìn)到步驟7。
(6)識(shí)別當(dāng)前節(jié)點(diǎn)的中央子節(jié)點(diǎn)。如果當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)目為奇數(shù),則通過把當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)總數(shù)除以二并把此答案增加二分之一而得到中央子節(jié)點(diǎn)的子節(jié)點(diǎn)編號(hào)來識(shí)別中央子節(jié)點(diǎn)。如果當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)目為偶數(shù),則通過把當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)目除以二而得到中央子節(jié)點(diǎn)的子節(jié)點(diǎn)編號(hào)來識(shí)別中央子節(jié)點(diǎn)。把中央子節(jié)點(diǎn)置于下一層且直接位于當(dāng)前節(jié)點(diǎn)下。為了美觀,中央子節(jié)點(diǎn)可稍稍偏離當(dāng)前節(jié)點(diǎn)?,F(xiàn)在把中央子節(jié)點(diǎn)記錄為當(dāng)前節(jié)點(diǎn)。把該層頂節(jié)點(diǎn)的最右的位置記錄為中央子節(jié)點(diǎn)的右邊緣。把該層頂節(jié)點(diǎn)的最左位置記錄為中央子節(jié)點(diǎn)的左邊緣。把當(dāng)前節(jié)點(diǎn)記錄為前一個(gè)中央父節(jié)點(diǎn)。進(jìn)到步驟23。
(7)如果當(dāng)前節(jié)點(diǎn)具有一兄弟且此兄弟的子節(jié)點(diǎn)數(shù)目比此當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)目大一,而且如果沿向右方向有足夠的空間來顯示另一節(jié)點(diǎn),則現(xiàn)在記錄該兄弟為兄弟節(jié)點(diǎn)并進(jìn)到步驟8,否則進(jìn)到步驟9。
(8)把兄弟節(jié)點(diǎn)置于與當(dāng)前節(jié)點(diǎn)相同的水平層上,并從當(dāng)前節(jié)點(diǎn)向右偏某一距離。把該層頂節(jié)點(diǎn)的最右位置記錄為兄弟節(jié)點(diǎn)的右邊緣?,F(xiàn)在把此兄弟節(jié)點(diǎn)記錄為當(dāng)前節(jié)點(diǎn)。把所沿的路徑記錄為“左”。把要移動(dòng)的方向記錄為“向下”。進(jìn)到步驟21。
(9)如果當(dāng)前節(jié)點(diǎn)具有一兄弟且此兄弟的子節(jié)點(diǎn)數(shù)目比此當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)目小一,而且如果沿向左方向有足夠的空間來顯示另一節(jié)點(diǎn),則現(xiàn)在把該兄弟記錄為兄弟節(jié)點(diǎn)并進(jìn)到步驟10,否則進(jìn)到步驟11。
(10)把兄弟節(jié)點(diǎn)置于與當(dāng)前節(jié)點(diǎn)相同的水平層上,并從當(dāng)前節(jié)點(diǎn)向左偏某一距離。把該層頂節(jié)點(diǎn)的最左位置記錄為兄弟節(jié)點(diǎn)的左邊緣。現(xiàn)在把此兄弟節(jié)點(diǎn)記錄為當(dāng)前節(jié)點(diǎn)。把所沿的路徑記錄為“右”。把要移動(dòng)的方向記錄為“向下”。進(jìn)到步驟23。
(11)記錄必須檢查父節(jié)點(diǎn)。進(jìn)到步驟23。
(12)如果所要沿行的路徑為“左”,則進(jìn)到步驟13。否則進(jìn)到步驟18。
(13)如果所要移動(dòng)的方向?yàn)椤跋蛳隆?,而且如果?dāng)前節(jié)點(diǎn)具有子節(jié)點(diǎn)以及沿向下方向有足夠的空間來顯示另一層,則進(jìn)到步驟14。否則,進(jìn)到步驟15。
(14)把當(dāng)前節(jié)點(diǎn)的最左子節(jié)點(diǎn)作為子節(jié)點(diǎn)編號(hào)最低的當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)。把最左子節(jié)點(diǎn)置于當(dāng)前節(jié)點(diǎn)以下的一層。把最左子節(jié)點(diǎn)置于先前記錄的該層頂節(jié)點(diǎn)的最右位置向右偏某一距離。如果在該層上沒有先前記錄的節(jié)點(diǎn),或者如果先前記錄的該層頂節(jié)點(diǎn)的最右位置遠(yuǎn)離當(dāng)前節(jié)點(diǎn)的左邊,則把最左子節(jié)點(diǎn)直接置于當(dāng)前節(jié)點(diǎn)之下并向左偏以下距離的一半最左子節(jié)點(diǎn)的所有兄弟的寬度加上每?jī)蓚€(gè)兄弟之間的空隙。把該層頂節(jié)點(diǎn)的最右位置記錄為最左子節(jié)點(diǎn)的右邊緣。如果在該層上沒有先前記錄的節(jié)點(diǎn),則把該層頂節(jié)點(diǎn)的最左位置記錄為最左子節(jié)點(diǎn)的左邊緣。把當(dāng)前節(jié)點(diǎn)記錄為先前的非中央父節(jié)點(diǎn)?,F(xiàn)在把此最左子節(jié)點(diǎn)記錄為當(dāng)前節(jié)點(diǎn)。進(jìn)到步驟23。
(15)如果當(dāng)前節(jié)點(diǎn)有一兄弟且此兄弟的子節(jié)點(diǎn)編號(hào)比當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)編號(hào)大一且如果沿向右方向有足夠的空間來顯示另一節(jié)點(diǎn),則現(xiàn)在把該兄弟記錄為兄弟節(jié)點(diǎn)并進(jìn)到步驟16,否則進(jìn)到步驟17。
(16)把兄弟節(jié)點(diǎn)置于與當(dāng)前節(jié)點(diǎn)相同的水平層上,并從當(dāng)前節(jié)點(diǎn)向右偏某一距離。把該層頂節(jié)點(diǎn)的最右位置記錄為兄弟節(jié)點(diǎn)的右邊緣?,F(xiàn)在把此兄弟節(jié)點(diǎn)記錄為當(dāng)前節(jié)點(diǎn)。把所沿的路徑記錄為“左”。把要移動(dòng)的方向記錄為“向下”。進(jìn)到步驟23。
(17)記錄必須檢查父節(jié)點(diǎn)。進(jìn)到步驟23。
(18)如果所要移動(dòng)的方向?yàn)椤跋蛳隆?,而且如果?dāng)前節(jié)點(diǎn)具有子節(jié)點(diǎn)以及沿向下方向有足夠的空間來顯示另一層,則進(jìn)到步驟19。否則,進(jìn)到步驟20。
(19)把當(dāng)前節(jié)點(diǎn)的最右子節(jié)點(diǎn)作為子節(jié)點(diǎn)編號(hào)最高的當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)。把最右子節(jié)點(diǎn)置于當(dāng)前節(jié)點(diǎn)的下一層。把最右子節(jié)點(diǎn)置于先前記錄的該層頂節(jié)點(diǎn)的最左位置向左偏某一距離。如果在該層上沒有先前記錄的節(jié)點(diǎn),或者如果先前記錄的該層頂節(jié)點(diǎn)的最左位置遠(yuǎn)離當(dāng)前節(jié)點(diǎn)的右邊,則把最右子節(jié)點(diǎn)直接置于當(dāng)前節(jié)點(diǎn)之下并向右偏以下距離的一半最右子節(jié)點(diǎn)的所有兄弟的寬度加上每?jī)蓚€(gè)兄弟之間的空隙。把該層頂節(jié)點(diǎn)的最左位置記錄為最右子節(jié)點(diǎn)的左邊緣。如果在該層上沒有先前記錄的節(jié)點(diǎn),則把該層頂節(jié)點(diǎn)的最右位置記錄為最右子節(jié)點(diǎn)的右邊緣。把當(dāng)前節(jié)點(diǎn)記錄為先前的非中央父節(jié)點(diǎn)?,F(xiàn)在把此最右子節(jié)點(diǎn)記錄為當(dāng)前節(jié)點(diǎn)。進(jìn)到步驟23。
(20)如果當(dāng)前節(jié)點(diǎn)具有一兄弟,且此兄弟的子節(jié)點(diǎn)編號(hào)比此當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)編號(hào)小一,而且如果沿左方向有足夠的空間來顯示另一節(jié)點(diǎn),則現(xiàn)在把該兄弟記錄為兄弟節(jié)點(diǎn)并進(jìn)到步驟21,否則進(jìn)到步驟22。
(21)把兄弟節(jié)點(diǎn)置于與當(dāng)前節(jié)點(diǎn)相同的水平層上,并從當(dāng)前節(jié)點(diǎn)向左偏某一距離。把該層頂節(jié)點(diǎn)的最左位置記錄為兄弟節(jié)點(diǎn)的左邊緣?,F(xiàn)在把此兄弟節(jié)點(diǎn)記錄為當(dāng)前節(jié)點(diǎn)。把所沿的路徑記錄為“右”。把要移動(dòng)的方向記錄為“向下”。進(jìn)到步驟23。
(22)記錄必須檢查父節(jié)點(diǎn)。
(23)如果必須檢查父節(jié)點(diǎn),則繼續(xù)以下步驟。否則進(jìn)到步驟4。
(24)現(xiàn)在把當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)記錄為父節(jié)點(diǎn)。
(25)如果存在父節(jié)點(diǎn)或者如果從當(dāng)前節(jié)點(diǎn)沿向上方向有足夠的空間來顯示另一節(jié)點(diǎn)層,則進(jìn)到步驟26。否則樹狀結(jié)構(gòu)已被安排,且本技術(shù)也結(jié)束。
(26)如果沿的路徑為“左”,且如果未把父節(jié)點(diǎn)記錄為先前的非中央父節(jié)點(diǎn),且如果該父節(jié)點(diǎn)的中央子節(jié)點(diǎn)有一兄弟且該兄弟的子節(jié)點(diǎn)編號(hào)比該中央子節(jié)點(diǎn)的子節(jié)點(diǎn)編號(hào)小一,以及如果沿左方向有足夠的空間來顯示另一節(jié)點(diǎn),則記錄該兄弟為兄弟節(jié)點(diǎn)并進(jìn)到步驟27,否則進(jìn)到步驟28。
(27)把兄弟節(jié)點(diǎn)置于與該父節(jié)點(diǎn)的中央子節(jié)點(diǎn)的相同的水平層上,并從該父節(jié)點(diǎn)的中央子節(jié)點(diǎn)向左偏某一距離。把該層頂節(jié)點(diǎn)的最左位置記錄為兄弟節(jié)點(diǎn)的左邊緣?,F(xiàn)在把此兄弟節(jié)點(diǎn)記錄為當(dāng)前節(jié)點(diǎn)。把所要沿行的路徑記錄為“右”。把要移動(dòng)的方向記錄為“向下”。記錄不必檢查父節(jié)點(diǎn)。進(jìn)到步驟4。
(28)如果已把父節(jié)點(diǎn)記錄為先前的中央父節(jié)點(diǎn)或者如果已把父節(jié)點(diǎn)記錄為先前的非中央父節(jié)點(diǎn),則進(jìn)到步驟30,否則進(jìn)到步驟29。
(29)把父節(jié)點(diǎn)置于當(dāng)前節(jié)點(diǎn)的上一層并直接位于當(dāng)前節(jié)點(diǎn)上方。
(30)如果已把父節(jié)點(diǎn)記錄為先前的非中央父節(jié)點(diǎn),則進(jìn)到步驟32,否則進(jìn)到步驟31。
(31)記錄要沿行的路徑為“中央”。進(jìn)到步驟33。
(32)擦除父節(jié)點(diǎn)為先前的非中央父節(jié)點(diǎn)的記錄。
(33)把父節(jié)點(diǎn)留在它先前所在的同一水平層上,但使它在已置于顯示器件上的其所有子節(jié)點(diǎn)上方居中。為了美觀,此父節(jié)點(diǎn)可稍稍偏向一側(cè)或另一側(cè)。從此父節(jié)點(diǎn)到已置于顯示器件上的其每個(gè)子節(jié)點(diǎn)劃線?,F(xiàn)在記錄該父節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn)。記錄要移動(dòng)的方向?yàn)椤跋蛏稀?。記錄不必檢查該父節(jié)點(diǎn)。進(jìn)到步驟4。
在一顯示器上滾不能確定的大型樹狀結(jié)構(gòu)在圖22的流程圖120中示出在顯示器件上滾動(dòng)不能確定的大型樹狀結(jié)構(gòu)的方法。方框中的步驟標(biāo)號(hào)對(duì)應(yīng)于以下步驟。
(1)以樹狀結(jié)構(gòu)的所有節(jié)點(diǎn)開始。使每個(gè)節(jié)點(diǎn)存儲(chǔ)其父節(jié)點(diǎn)和子節(jié)點(diǎn)及緊靠其左右的節(jié)點(diǎn)的標(biāo)識(shí)符。把樹狀結(jié)構(gòu)的頂節(jié)點(diǎn)送入隨機(jī)存取存儲(chǔ)器。使樹狀結(jié)構(gòu)的頂節(jié)點(diǎn)成為中央節(jié)點(diǎn)。在“安排樹狀結(jié)構(gòu)顯示”中已描述了中央節(jié)點(diǎn)。
(2)使用安排樹狀結(jié)構(gòu)顯示的技術(shù)在顯示器件上安排樹狀結(jié)構(gòu)。在安排技術(shù)識(shí)別一新的節(jié)點(diǎn)時(shí),把此新節(jié)點(diǎn)送入計(jì)算機(jī)的隨機(jī)存取存儲(chǔ)器。
(3)樹狀結(jié)構(gòu)的所有滾動(dòng)以樹狀結(jié)構(gòu)節(jié)點(diǎn)命名。使整個(gè)屏幕或頁(yè)面的尺寸在屏幕上沿向左、向右、向上或向下這些請(qǐng)求的維度移動(dòng)可視節(jié)點(diǎn)數(shù)目。當(dāng)用戶向計(jì)算機(jī)程序指示他或她想要滾動(dòng)樹狀結(jié)構(gòu)時(shí),把該請(qǐng)求翻譯成為沿某一方向移動(dòng)一定數(shù)目的節(jié)點(diǎn)的請(qǐng)求。
(4)沿被請(qǐng)求方向查閱樹狀結(jié)構(gòu)的被請(qǐng)求數(shù)目的節(jié)點(diǎn),或者直到達(dá)到樹狀結(jié)構(gòu)的邊緣。如果請(qǐng)求沿向上方向滾動(dòng)樹狀結(jié)構(gòu),則使用當(dāng)前中央節(jié)點(diǎn)來識(shí)別父節(jié)點(diǎn)和父節(jié)點(diǎn)的父節(jié)點(diǎn)等,直到識(shí)別到新的中央節(jié)點(diǎn)。如果請(qǐng)求沿向下方向滾動(dòng)樹狀結(jié)構(gòu),則使用當(dāng)前中央節(jié)點(diǎn)來識(shí)別顯示安排技術(shù)中所定義的中央子節(jié)點(diǎn)和中央子節(jié)點(diǎn)的中央子節(jié)點(diǎn)等,直到識(shí)別到新的中央節(jié)點(diǎn)。如果請(qǐng)求沿向右方向滾動(dòng)樹狀結(jié)構(gòu),則使用當(dāng)前中央節(jié)點(diǎn)來識(shí)別右邊的節(jié)點(diǎn)及右邊節(jié)點(diǎn)的右邊節(jié)點(diǎn)等,直到識(shí)別到新的中央節(jié)點(diǎn)。如果請(qǐng)求沿向左方向滾動(dòng)樹狀結(jié)構(gòu),則使用當(dāng)前中央節(jié)點(diǎn)來識(shí)別左邊的節(jié)點(diǎn)及左邊節(jié)點(diǎn)的左邊節(jié)點(diǎn)等,直到識(shí)別到新的中央節(jié)點(diǎn)。在查閱樹狀結(jié)構(gòu)的過程中,在識(shí)別到新節(jié)點(diǎn)時(shí)把該節(jié)點(diǎn)送入計(jì)算機(jī)的隨機(jī)存取存儲(chǔ)器。
(5)當(dāng)已識(shí)別到新節(jié)點(diǎn)時(shí),使用“安排樹狀結(jié)構(gòu)顯示的技術(shù)”。
逐層搜索過程可使用逐層搜索過程來設(shè)計(jì)MINDBASE層次中的每個(gè)數(shù)據(jù)元素??稍趯哟蔚捻攲娱_始并前進(jìn)到底層或在層次的底層開始并進(jìn)行到頂層。逐層的搜索過程使用圖14所示的一系列矩陣132、134和136。行列值來自于給出原因和效果數(shù)據(jù)元素的特定值或行為程度的描述符。因此,不同的行列值給出不同的原因和效果數(shù)據(jù)元素的不同值或行為程度,導(dǎo)致不同的設(shè)計(jì)。逐層的搜索過程一層層地通過原因結(jié)構(gòu)和效果結(jié)構(gòu),并在把一層上的每個(gè)原因和效果數(shù)據(jù)元素移至下一層前設(shè)計(jì)這些原因和效果數(shù)據(jù)元素。為了設(shè)計(jì)一給定層上的特定數(shù)據(jù)元素,本過程確定加到該特定數(shù)據(jù)元素上的每個(gè)描述符的值。
在圖23的流程圖130中示出逐層搜索過程的步驟,它們對(duì)應(yīng)于以下步驟。
(1)確定用于描述一數(shù)據(jù)元素的變量對(duì)及其序列。可把這些變量對(duì)描述為公式(formulas)。該序列中的每一對(duì)導(dǎo)致一個(gè)值,該值用作該序列中下一對(duì)變量中一個(gè)變量的值。從MINDBASE結(jié)構(gòu)中的描述符中取得這些變量的值。
(2)把每一對(duì)變量指定給一兩維矩陣。一個(gè)變量給出矩陣的行的值,另一個(gè)變量給出矩陣的列的值。對(duì)每個(gè)矩陣的行或列給出固定值。允許另一個(gè)變量隨設(shè)計(jì)過程中的每個(gè)迭代(iteration)而變化。為了進(jìn)行描述,對(duì)列給出固定值,而行的值將變化。然而,在正常使用中,可對(duì)行給出固定值,而列的值將改變。
(3)對(duì)隨每個(gè)迭代變化的第一矩陣的變量(在此情況下為行)給出一原始的“起始值”。此原始起始值是對(duì)第一矩陣中非固定變量的最終值的最佳估計(jì)。
(4)對(duì)第一矩陣中的這對(duì)變量的原始起始值和固定值確定了第一矩陣的輸出值。此輸出值變?yōu)榫仃囅盗兄械诙仃嚨姆枪潭ㄗ兞康闹?。在此情況下,來自第一矩陣的輸出值變?yōu)榈诙仃囍行械闹怠?br>
(5)第二矩陣中的行的值和第二矩陣中的列的固定值確定了第二矩陣的輸出值。該輸出值變?yōu)榈谌仃囍械男械闹?。繼續(xù)此過程,直到確定系列中最后一個(gè)矩陣的最終輸出。
(6)把此最終輸出與設(shè)計(jì)規(guī)格相比較。如果此最終輸出在設(shè)計(jì)規(guī)格的可接受范圍內(nèi),則此過程結(jié)束。使用每個(gè)矩陣中的變量的值來確定被設(shè)計(jì)的特定數(shù)據(jù)元素的設(shè)計(jì)特性。
(7)如果此最終輸出不在可接受的范圍內(nèi),則選擇第一矩陣中非固定變量(在此情況下為行變量)的新起始值,重復(fù)以上步驟4-6中所述的過程。用戶選擇每個(gè)迭代中所使用的起始值的變化增量以及沿每個(gè)非固定變量的原始起始值的每個(gè)方向的最大變化。
(8)如果迭代的最終結(jié)果比上一次迭代更遠(yuǎn)離可接受的值,則將自動(dòng)地反轉(zhuǎn)第一矩陣中非固定變量的起始值的變化方向。將自動(dòng)地繼續(xù)這些迭代,直到已確定最終輸出的最可接受值。
(9)如果搜索例程不能找到可接受的最終輸出,則可改變矩陣中的一個(gè)或多個(gè)固定變量。用戶還可交換每一對(duì)中的變量,從而非固定變量變?yōu)楣潭ㄗ兞?,而固定變量變?yōu)榉枪潭ㄗ兞?。這允許一組完全新的迭代。
(10)在已使用以上過程設(shè)計(jì)了位于MINDBASE結(jié)構(gòu)的一層上的所有數(shù)據(jù)元素后,設(shè)計(jì)下一層的數(shù)據(jù)元素。繼續(xù)此過程,直到已設(shè)計(jì)了位于MINDBASE結(jié)構(gòu)的所有層上的數(shù)據(jù)元素。
(11)此過程可以從該結(jié)構(gòu)的頂層上的數(shù)據(jù)元素開始并向下進(jìn)到最低層,或者也可以該結(jié)構(gòu)的最低層上的數(shù)據(jù)元素開始并向上進(jìn)到該結(jié)構(gòu)頂層上的數(shù)據(jù)元素。
此過程的一個(gè)例子是設(shè)計(jì)其重量在一特定設(shè)計(jì)規(guī)格內(nèi)的柱體。在此設(shè)計(jì)過程中可使用圖15所示的三個(gè)矩陣138、140和142,每個(gè)矩陣代表一個(gè)公式。第一矩陣138代表該柱體的剖面面積的公式(長(zhǎng)度×寬度=面積)。第二矩陣140代表該柱體的體積的公式(面積×高度=體積)。第三矩陣142代表該柱體的重量(體積×柱體的特定比重=重量)。固定變量將是柱體變量。
對(duì)第一矩陣138中的長(zhǎng)度變量給出一起始值。第一矩陣的輸出值為面積,該面積變?yōu)榈诙仃?40中行的值。第二矩陣的輸出值為體積,該體積變?yōu)榈谌仃?42中行的值。第三矩陣142的輸出值為重量。使用上述迭代過程來設(shè)計(jì)一柱體,其長(zhǎng)度、寬度、固定、重量在可接受的設(shè)計(jì)規(guī)格內(nèi)。
為了便于未知數(shù)的計(jì)算,MINDBASE結(jié)構(gòu)可包含許多算術(shù)公式和盡可能多的工程數(shù)據(jù)??梢灶A(yù)定的矩陣的形式來存儲(chǔ)這些公式。用戶將快速地掃描被存儲(chǔ)公式的索引來選擇所需的公式。如果未存儲(chǔ)所需的公式,則用戶可加上這些公式。
已進(jìn)行每一次努力來說明一種全新的數(shù)據(jù)庫(kù)系統(tǒng)及依據(jù)此新系統(tǒng)創(chuàng)造、互相關(guān)、綜合、搜索、顯示和利用數(shù)據(jù)庫(kù)結(jié)構(gòu)所需的所有方法。
權(quán)利要求
1.一種存儲(chǔ)在固定媒體中的信息的數(shù)據(jù)庫(kù),其特征在于所述數(shù)據(jù)庫(kù)包括一有形數(shù)據(jù)元素集合,所述有形數(shù)據(jù)元素代表具有實(shí)際重量并可產(chǎn)生一效果的事物;一無形數(shù)據(jù)元素集合,所述無形數(shù)據(jù)元素代表沒有實(shí)際重量且不能稱量的單詞和概念;所述無形數(shù)據(jù)元素集合包括效果數(shù)據(jù)元素的第一子集,所述效果數(shù)據(jù)元素代表獨(dú)立的以及與其它單詞相結(jié)合的動(dòng)詞,這些效果數(shù)據(jù)元素描述動(dòng)作、目標(biāo)、結(jié)果、任務(wù)、過程和處理;以及所述無形數(shù)據(jù)元素的集合包括描述性數(shù)據(jù)元素的第二子集,所述描述性數(shù)據(jù)元素描述所述有形數(shù)據(jù)元素、所述效果數(shù)據(jù)元素和所述有形數(shù)據(jù)元素的行為程度。
2.如權(quán)利要求1所述的數(shù)據(jù)庫(kù),其特征在于每個(gè)所述有形數(shù)據(jù)元素被鏈接到部分或全部由所述有形數(shù)據(jù)元素產(chǎn)生的每個(gè)所述效果數(shù)據(jù)元素;以及每個(gè)所述效果元素被鏈接到所述效果發(fā)生所需的每個(gè)所述有形數(shù)據(jù)元素。
3.如權(quán)利要求1所述的數(shù)據(jù)庫(kù),其特征在于把所有的所述數(shù)據(jù)元素都存儲(chǔ)在父子關(guān)系的分層結(jié)構(gòu)中。
4.如權(quán)利要求3所述的數(shù)據(jù)庫(kù),其特征在于在所述分層結(jié)構(gòu)中具有任何子數(shù)據(jù)元素的每個(gè)所述有形數(shù)據(jù)必須具有至少兩個(gè)所述子數(shù)據(jù)元素。
5.如權(quán)利要求3所述的數(shù)據(jù)庫(kù),其特征在于每個(gè)所述效果數(shù)據(jù)元素在所述分層結(jié)構(gòu)中可具有任意數(shù)目的子數(shù)據(jù)元素。
6.如權(quán)利要求3所述的數(shù)據(jù)庫(kù),其特征在于所述分層結(jié)構(gòu)為樹。
7.如權(quán)利要求3所述的數(shù)據(jù)庫(kù),其特征在于所述分層結(jié)構(gòu)為輪廓。
8.如權(quán)利要求3所述的數(shù)據(jù)庫(kù),其特征在于所述分層結(jié)構(gòu)為表格。
9.如權(quán)利要求1所述的數(shù)據(jù)庫(kù),其特征在于每個(gè)所述數(shù)據(jù)元素只存儲(chǔ)一次。
10.如權(quán)利要求3所述的數(shù)據(jù)庫(kù),其特征在于每個(gè)所述數(shù)據(jù)元素只存儲(chǔ)一次且只存在單個(gè)位置;以及所述分層結(jié)構(gòu)中的任一個(gè)所述數(shù)據(jù)元素的每個(gè)再次發(fā)生體現(xiàn)為回到所述單個(gè)位置的鏈接。
11.如權(quán)利要求10所述的數(shù)據(jù)庫(kù),其特征在于回到每個(gè)所述單個(gè)位置的每個(gè)所述鏈接使得所述數(shù)據(jù)元素的每個(gè)所述再次發(fā)生出現(xiàn)在顯示器和所述數(shù)據(jù)庫(kù)的其它實(shí)際表示中。
12.如權(quán)利要求2所述的數(shù)據(jù)庫(kù),其特征在于每個(gè)被鏈接的數(shù)據(jù)元素代表來自不同的數(shù)據(jù)元素集合或子集的被鏈接單詞,每個(gè)所述被鏈接單詞都具有識(shí)別起源集合或子集的各自可顯示并可分類的特性。
13.如權(quán)利要求2所述的數(shù)據(jù)庫(kù),其特征在于有形數(shù)據(jù)元素與無形數(shù)據(jù)元素之間的每個(gè)所述鏈接中的至少一個(gè)被鏈接到至少一個(gè)特定行為程度,所述行為程度更詳細(xì)地描述由有形數(shù)據(jù)元素和無形數(shù)據(jù)元素之間的所述至少一個(gè)鏈接所建立的所述原因-效果關(guān)系。
14.一種數(shù)據(jù)庫(kù)系統(tǒng),其特征在于包括存儲(chǔ)在固定媒體中的數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)具有代表具有實(shí)際重量并可產(chǎn)生一效果的事物的有形數(shù)據(jù)元素集合以及代表沒有實(shí)際重量且不能稱量的單詞和概念的無形數(shù)據(jù)元素集合;所述無形數(shù)據(jù)元素集合包括代表獨(dú)立的以及與其它單詞相結(jié)合的動(dòng)詞的效果數(shù)據(jù)元素的第一子集,這些效果數(shù)據(jù)元素描述動(dòng)作、目標(biāo)、結(jié)果、任務(wù)、過程和處理;以及包括描述所述有形數(shù)據(jù)元素、所述效果數(shù)據(jù)元素和所述有形數(shù)據(jù)元素的行為程度的描述性數(shù)據(jù)元素的第二子集;以及依據(jù)所述數(shù)據(jù)元素集合和子集對(duì)輸入所述數(shù)據(jù)庫(kù)的單詞自動(dòng)地分類并存儲(chǔ)的字典例程。
15.如權(quán)利要求14所述的數(shù)據(jù)庫(kù)系統(tǒng),其特征在于所述字典例程把每個(gè)所述單詞分類成為有形數(shù)據(jù)、效果數(shù)據(jù)、描述符數(shù)據(jù)和其它數(shù)據(jù)之一。
16.如權(quán)利要求14所述的數(shù)據(jù)庫(kù)系統(tǒng),其特征在于所述字典例程把所述單詞的所有同義詞集合與具有同樣含義或傳達(dá)同樣思想的所有其它所述單詞鏈接起來。
17.如權(quán)利要求14所述的數(shù)據(jù)庫(kù)系統(tǒng),其特征在于所述字典例程識(shí)別具有至少兩個(gè)不同含義的每個(gè)所述單詞。
18.如權(quán)利要求14所述的數(shù)據(jù)庫(kù)系統(tǒng),其特征在于所述字典例程存儲(chǔ)所述數(shù)據(jù)庫(kù)系統(tǒng)的用戶所建立的所有原因-效果關(guān)系。
19.如權(quán)利要求14所述的數(shù)據(jù)庫(kù)系統(tǒng),其特征在于所述字典例程把每個(gè)所述單詞分類成為有形數(shù)據(jù)、效果數(shù)據(jù)、描述符數(shù)據(jù)和其它數(shù)據(jù)之一;所述字典例程把所述單詞的所有同義詞集合與具有同樣含義或傳達(dá)同樣思想的所有其它所述單詞鏈接起來;所述字典例程識(shí)別具有至少兩個(gè)不同含義的每個(gè)所述單詞;以及所述字典例程存儲(chǔ)所述數(shù)據(jù)庫(kù)系統(tǒng)的用戶所建立的所有原因-效果關(guān)系。
20.一種用于建立固定媒體中的信息數(shù)據(jù)庫(kù)的方法,其特征在于包括以下步驟識(shí)別所述信息的有形數(shù)據(jù)元素,所述有形數(shù)據(jù)元素代表具有實(shí)際重量并可產(chǎn)生一效果的事物;把所述信息的所述有形數(shù)據(jù)元素作為第一集合存儲(chǔ)在所述固定媒體中;識(shí)別所述信息的無形數(shù)據(jù)元素,所述無形數(shù)據(jù)元素代表沒有實(shí)際重量且不能稱量的單詞和概念;識(shí)別所述無形數(shù)據(jù)元素內(nèi)的效果數(shù)據(jù)元素,所述效果數(shù)據(jù)元素代表獨(dú)立的以及與其它單詞相結(jié)合的動(dòng)詞,這些效果數(shù)據(jù)元素描述動(dòng)作、目標(biāo)、結(jié)果、任務(wù)、過程和處理;把所述信息的所述效果數(shù)據(jù)元素作為第二集合存儲(chǔ)在所述固定媒體中;識(shí)別所述無形數(shù)據(jù)元素內(nèi)的描述性數(shù)據(jù)元素,所述描述性數(shù)據(jù)元素描述所述有形數(shù)據(jù)元素、所述效果數(shù)據(jù)元素和所述有形數(shù)據(jù)元素的行為程度;以及把所述信息的所述描述性數(shù)據(jù)元素作為第三集合存儲(chǔ)在所述固定媒體中。
21.如權(quán)利要求20所述的方法,其特征在于還包括以下步驟把每個(gè)所述有形數(shù)據(jù)元素鏈接到部分或全部由所述有形數(shù)據(jù)元素產(chǎn)生的每個(gè)所述效果數(shù)據(jù)元素;以及把每個(gè)所述效果元素鏈接到所述效果發(fā)生所需的每個(gè)所述有形數(shù)據(jù)元素。
22.如權(quán)利要求20所述的方法,其特征在于還包括把所有的所述數(shù)據(jù)元素都存儲(chǔ)在父子關(guān)系的分層結(jié)構(gòu)中的步驟。
23.如權(quán)利要求22所述的方法,其特征在于還包括給在所述分層結(jié)構(gòu)中具有任何子數(shù)據(jù)元素的每個(gè)所述有形數(shù)據(jù)元素提供至少兩個(gè)所述子數(shù)據(jù)元素。
24.如權(quán)利要求22所述的方法,其特征在于每個(gè)所述效果數(shù)據(jù)元素在所述分層結(jié)構(gòu)中可具有任意數(shù)目的子數(shù)據(jù)元素。
25.如權(quán)利要求22所述的方法,其特征在于還包括把所有的所述數(shù)據(jù)元素存儲(chǔ)在分層樹狀結(jié)構(gòu)中的步驟。
26.如權(quán)利要求22所述的方法,其特征在于還包括把所有的所述數(shù)據(jù)元素存儲(chǔ)在分層輪廓結(jié)構(gòu)中的步驟。
27.如權(quán)利要求22所述的方法,其特征在于還包括把所有的所述數(shù)據(jù)元素存儲(chǔ)在分層表格結(jié)構(gòu)中的步驟。
28.如權(quán)利要求20所述的方法,其特征在于包括把每個(gè)所述數(shù)據(jù)元素只存儲(chǔ)一次。
29.如權(quán)利要求22所述的方法,其特征在于還包括以下步驟把每個(gè)所述數(shù)據(jù)元素只存儲(chǔ)一次,且只存在單個(gè)位置;以及把所述分層結(jié)構(gòu)中的任一個(gè)所述數(shù)據(jù)元素的每個(gè)再次發(fā)生體現(xiàn)為回到所述單個(gè)位置的鏈接。
30.如權(quán)利要求29所述的方法,其特征在于還包括涉及每個(gè)到所述單個(gè)位置的每個(gè)所述鏈接使得所述數(shù)據(jù)元素的每個(gè)所述再次發(fā)生出現(xiàn)在顯示器和所述數(shù)據(jù)庫(kù)的其它實(shí)際表示中的步驟。
31.如權(quán)利要求21所述的方法,其特征在于還包括識(shí)別所述起源集合的各個(gè)可顯示并可分類的特性唯一地識(shí)別由所述被鏈接數(shù)據(jù)元素所代表的在不同的所述數(shù)據(jù)元素集合中原發(fā)的單詞的步驟。
32.如權(quán)利要求21所述的方法,其特征在于還包括把有形數(shù)據(jù)元素與無形數(shù)據(jù)元素之間的每個(gè)所述鏈接中的至少一個(gè)鏈接到至少一個(gè)特定行為程度的步驟,所述行為程度更詳細(xì)地描述由有形數(shù)據(jù)元素和無形數(shù)據(jù)元素之間的所述至少一個(gè)鏈接所建立的所述原因-效果關(guān)系。
33.一種用于建立和管理數(shù)據(jù)庫(kù)的方法,其特征在于包括以下步驟把一數(shù)據(jù)庫(kù)存儲(chǔ)在固定媒體中;把所述數(shù)據(jù)庫(kù)分成代表具有實(shí)際重量并可產(chǎn)生一效果的事物的有形數(shù)據(jù)元素集合以及代表沒有實(shí)際重量且不能稱量的單詞和概念的無形數(shù)據(jù)元素集合;把所述無形數(shù)據(jù)元素集合分成代表獨(dú)立的以及與其它單詞相結(jié)合的動(dòng)詞的效果數(shù)據(jù)元素的第一集合,這些效果數(shù)據(jù)元素描述動(dòng)作、目標(biāo)、結(jié)果、任務(wù)、過程和處理;以及描述所述有形數(shù)據(jù)元素、所述效果數(shù)據(jù)元素和所述有形數(shù)據(jù)元素的行為程度的描述性數(shù)據(jù)元素的第二集合;以及依據(jù)所述數(shù)據(jù)元素集合和子集對(duì)輸入所述數(shù)據(jù)庫(kù)的單詞進(jìn)行自動(dòng)分類和存儲(chǔ)。
34.如權(quán)利要求33所述的方法,其特征在于還包括把每個(gè)所述單詞自動(dòng)地分類成為有形數(shù)據(jù)、效果數(shù)據(jù)、描述符數(shù)據(jù)和其它數(shù)據(jù)之一的步驟。
35.如權(quán)利要求33所述的方法,其特征在于還包括把所述單詞的所有同義詞集合與具有同樣含義或傳達(dá)同樣思想的所有其它所述單詞自動(dòng)地鏈接起來的步驟。
36.如權(quán)利要求33所述的方法,其特征在于還包括自動(dòng)地識(shí)別具有至少兩個(gè)不同含義的每個(gè)所述單詞的步驟。
37.如權(quán)利要求32所述的方法,其特征在于還包括存儲(chǔ)所述數(shù)據(jù)庫(kù)系統(tǒng)的用戶所建立的所有原因-效果關(guān)系的步驟。
38.如權(quán)利要求15所述的方法,其特征在于還包括以下步驟把每個(gè)所述單詞自動(dòng)地分類成為有形數(shù)據(jù)、效果數(shù)據(jù)、描述符數(shù)據(jù)和其它數(shù)據(jù)之一的步驟;把所述單詞的所有同義詞集合與具有同樣含義或傳達(dá)同樣思想的所有其它所述單詞自動(dòng)地鏈接起來;自動(dòng)地識(shí)別具有至少兩個(gè)不同含義的每個(gè)所述單詞的步驟;以及自動(dòng)地存儲(chǔ)所述數(shù)據(jù)庫(kù)系統(tǒng)的用戶所建立的所有原因-效果關(guān)系的步驟。
39.如權(quán)利要求37所述的方法,其特征在于還包括產(chǎn)生一字典的步驟,所述字典的所述產(chǎn)生實(shí)行對(duì)單詞分類、鏈接同義詞集合、識(shí)別具有不同含義的所述單詞以及存儲(chǔ)所有原因-效果關(guān)系的所述步驟。
40.如權(quán)利要求33所述的方法,其特征在于還包括產(chǎn)生一字典,所述字典的所述產(chǎn)生實(shí)行對(duì)輸入所述數(shù)據(jù)庫(kù)的單詞進(jìn)行自動(dòng)分類和存儲(chǔ)的所述步驟。
41.一種存儲(chǔ)在固定媒體中的信息的數(shù)據(jù)庫(kù),其特征在于所述數(shù)據(jù)庫(kù)包括一有形數(shù)據(jù)元素集合,所述有形數(shù)據(jù)元素代表具有實(shí)際重量并可產(chǎn)生一效果的事物;一無形數(shù)據(jù)元素集合,所述無形數(shù)據(jù)元素代表沒有實(shí)際重量且不能稱量的單詞和概念;所述無形數(shù)據(jù)元素集合包括效果數(shù)據(jù)元素的第一子集,所述效果數(shù)據(jù)元素代表獨(dú)立的以及與其它單詞相結(jié)合的動(dòng)詞,這些效果數(shù)據(jù)元素描述動(dòng)作、目標(biāo)、結(jié)果、任務(wù)、過程和處理;以及所述無形數(shù)據(jù)元素的集合包括描述性數(shù)據(jù)元素的第二子集,所述描述性數(shù)據(jù)元素描述所述有形數(shù)據(jù)元素、所述效果數(shù)據(jù)元素和所述有形數(shù)據(jù)元素的行為程度;每個(gè)所述有形數(shù)據(jù)元素被鏈接到部分或全部由所述有形數(shù)據(jù)元素產(chǎn)生的每個(gè)所述效果數(shù)據(jù)元素;每個(gè)所述效果元素被鏈接到所述效果發(fā)生所需的每個(gè)所述有形數(shù)據(jù)元素;以及所有的所述數(shù)據(jù)元素都被存儲(chǔ)在父子關(guān)系的分層結(jié)構(gòu)中,所述分層結(jié)構(gòu)定義了垂直線和水平層。
42.如權(quán)利要求41所述的數(shù)據(jù)庫(kù),其特征在于有形數(shù)據(jù)元素與無形數(shù)據(jù)元素之間的每個(gè)所述鏈接中的至少一個(gè)被鏈接到至少一個(gè)特定行為程度,所述行為程度更詳細(xì)地描述由有形數(shù)據(jù)元素和無形數(shù)據(jù)元素之間的所述至少一個(gè)鏈接所建立的所述原因-效果關(guān)系。
43.一種用于把如權(quán)利要求41所述的不同數(shù)據(jù)庫(kù)結(jié)構(gòu)互相關(guān)的方法,其特征在于包括以下步驟對(duì)于每個(gè)所述數(shù)據(jù)庫(kù),以任何順序規(guī)范在所述不同數(shù)據(jù)庫(kù)中具有不同名稱的相同數(shù)據(jù)元素的名稱并規(guī)范在所述不同數(shù)據(jù)庫(kù)中具有相同名稱的不同數(shù)據(jù)元素的名稱;規(guī)范在任一個(gè)所述數(shù)據(jù)庫(kù)中分離而在任何其它所述數(shù)據(jù)庫(kù)中組合在一起成為單個(gè)數(shù)據(jù)元素的數(shù)據(jù)元素;把每個(gè)所述被規(guī)范的數(shù)據(jù)庫(kù)與每個(gè)其它所述被規(guī)范的數(shù)據(jù)庫(kù)進(jìn)行比較;記錄在每個(gè)所述比較步驟中找到的所有公共數(shù)據(jù)元素;以及記錄每個(gè)所述公共數(shù)據(jù)元素在每個(gè)所述數(shù)據(jù)庫(kù)中的一個(gè)位置。
44.一種對(duì)應(yīng)于如權(quán)利要求41中所述的數(shù)據(jù)庫(kù)的分層形式用于綜合異類數(shù)據(jù)庫(kù)結(jié)構(gòu)的方法,其特征在于包括以下步驟只要各所述異類數(shù)據(jù)庫(kù)與其所述部分中的各頂層數(shù)據(jù)元素基本上相同或僅僅是描述符的不同,則進(jìn)行所述的綜合;對(duì)于每個(gè)所述數(shù)據(jù)庫(kù)結(jié)構(gòu),以任何順序規(guī)范在所述不同數(shù)據(jù)庫(kù)中具有不同名稱的相同數(shù)據(jù)元素的名稱并規(guī)范在所述不同數(shù)據(jù)庫(kù)中具有相同名稱的不同數(shù)據(jù)元素的名稱;規(guī)范在任一個(gè)所述數(shù)據(jù)庫(kù)中分離而在任何其它所述數(shù)據(jù)庫(kù)中組合在一起成為單個(gè)數(shù)據(jù)元素的數(shù)據(jù)元素;選擇所述數(shù)據(jù)庫(kù)結(jié)構(gòu)之一成為綜合數(shù)據(jù)庫(kù)結(jié)構(gòu);把其余數(shù)據(jù)庫(kù)結(jié)構(gòu)的所有子結(jié)構(gòu)中的所有數(shù)據(jù)元素以所述分層形式在所述綜合數(shù)據(jù)庫(kù)結(jié)構(gòu)中向下逐層重新定位;以及記錄每個(gè)所述重新定位的數(shù)據(jù)元素的每個(gè)新舊地址作為交叉引用。
45.如權(quán)利要求44所述的方法,其特征在于在所述綜合數(shù)據(jù)庫(kù)結(jié)構(gòu)中保留所述數(shù)據(jù)庫(kù)結(jié)構(gòu)中的所有父子關(guān)系。
46.如權(quán)利要求45所述的方法,其特征在于還包括在各個(gè)父元素和子元素之間加上中間數(shù)據(jù)元素的步驟。
全文摘要
一種存儲(chǔ)在固定媒體中的信息的數(shù)據(jù)庫(kù)及一種用于建立和管理這種數(shù)據(jù)庫(kù)的方法,該數(shù)據(jù)庫(kù)包括:有形數(shù)據(jù)元素集合,此有形數(shù)據(jù)元素代表具有實(shí)際重量并可產(chǎn)生一效果的事物;無形數(shù)據(jù)元素集合,此無形數(shù)據(jù)元素代表沒有實(shí)際重量且不能稱量的單詞和概念;此無形數(shù)據(jù)元素集合包括效果數(shù)據(jù)元素的第一子集(16),所述效果數(shù)據(jù)元素代表獨(dú)立的以及與其它單詞相結(jié)合的動(dòng)詞,這些效果數(shù)據(jù)元素描述動(dòng)作、目標(biāo)、結(jié)果、任務(wù)、過程和處理;以及此無形數(shù)據(jù)元素的集合包括描述性數(shù)據(jù)元素的第二子集,所述描述性數(shù)據(jù)元素描述所述有形數(shù)據(jù)元素、所述效果數(shù)據(jù)元素和所述有形數(shù)據(jù)元素的行為程度。
文檔編號(hào)G06N5/04GK1254428SQ98804034
公開日2000年5月24日 申請(qǐng)日期1998年6月1日 優(yōu)先權(quán)日1997年6月4日
發(fā)明者蓋瑞·L·夏普, 查爾斯·K·西蒙 申請(qǐng)人:蓋瑞·L·夏普, 蓮恩·N·西蒙