本發(fā)明涉及數(shù)據(jù)密集化操作技術(shù)領(lǐng)域,尤其涉及一種使用多維化技術(shù)構(gòu)建空間多維度搜索樹(shù)的方法。
背景技術(shù):
雖然當(dāng)今計(jì)算機(jī)硬件技術(shù)的發(fā)展日新月異,但是軟件基礎(chǔ)算法的發(fā)展卻始終停滯不前,難以取得關(guān)鍵性的突破。這一方面是因?yàn)閭鹘y(tǒng)以數(shù)學(xué)算法和二維度設(shè)計(jì)方式為基礎(chǔ)的系統(tǒng)結(jié)構(gòu)已經(jīng)基本完善,再難以取得重大突破,另一方面也是因?yàn)樵O(shè)計(jì)者的思維方式已經(jīng)趨于定式,特別是在投資回報(bào)周期日漸縮短的現(xiàn)實(shí)要求下,基礎(chǔ)算法的研究已經(jīng)變得不再重要,而如何使用成熟技術(shù)快速取得最大市場(chǎng)回報(bào)才是大多數(shù)產(chǎn)品的核心設(shè)計(jì)理念。
正因如此,市面上常見(jiàn)的軟硬件同質(zhì)化現(xiàn)象日趨嚴(yán)重,不同廠商的產(chǎn)品幾乎完全基于相同的核心算法庫(kù)進(jìn)行訂制,無(wú)論是運(yùn)行效率、資源占用,還是穩(wěn)定性、功能性上的差異都越發(fā)減小,所不同的往往僅剩下UI設(shè)計(jì)和對(duì)第三方工具的訂制上,由此所導(dǎo)致的結(jié)果就是產(chǎn)品間的競(jìng)爭(zhēng)激烈,軟件產(chǎn)業(yè)的利潤(rùn)率逐年遞減。
而且,由于軟件行業(yè)的停滯不前,導(dǎo)致硬件性能嚴(yán)重過(guò)剩,整個(gè)計(jì)算機(jī)行業(yè)的發(fā)展都受到了嚴(yán)重影響,以智能化、人性化為賣點(diǎn)的新技術(shù)因?yàn)榛A(chǔ)理論的缺失而進(jìn)展緩慢,大數(shù)據(jù)、云計(jì)算等成規(guī)模的應(yīng)用難以發(fā)揮出其真正的潛力。
以傳統(tǒng)的基礎(chǔ)二叉樹(shù)相關(guān)算法為例,雖然其中大多數(shù)算法具備結(jié)構(gòu)簡(jiǎn)單、搜索速度快等特性,但是在構(gòu)建復(fù)雜系統(tǒng),特別是在智能化應(yīng)用與機(jī)器學(xué)習(xí)等模塊的實(shí)現(xiàn)上,其結(jié)構(gòu)簡(jiǎn)單的特性就導(dǎo)致了搜索深度的大幅增加,從而抵消了其在性能上的優(yōu)勢(shì)。但是在多叉樹(shù)的構(gòu)建上,傳統(tǒng)的二維度多叉樹(shù)也同樣無(wú)法有效解決遍歷方式單一、搜索算法難以優(yōu)化的缺陷,因此其樹(shù)狀結(jié)構(gòu)在構(gòu)建神經(jīng)元算法的過(guò)程中難以起到應(yīng)有的作用,由此種方式所構(gòu)建出的算法往往具有搜索深度大、靈活性不足、難以維護(hù)、運(yùn)算效率低下等特征,因而極大的限制了數(shù)據(jù)的規(guī)模與處理速度。
技術(shù)實(shí)現(xiàn)要素:
為了解決以上技術(shù)問(wèn)題,本發(fā)明提出了一種便于動(dòng)態(tài)維護(hù)、易于管理、檢索效率高,并且適用于大規(guī)模數(shù)據(jù)處理的空間多維度搜索樹(shù)構(gòu)建方法, 通過(guò)該方法不但可以有效提升復(fù)雜數(shù)據(jù)的查詢效率,而且可以通過(guò)多維度的方式完美詮釋智能化計(jì)算機(jī)所特有的關(guān)聯(lián)信息群落化概念,并具備維度信息管理、過(guò)濾能力、信息網(wǎng)絡(luò)聯(lián)想能力等。
本發(fā)明的技術(shù)方案包括如下步驟:
步驟1:創(chuàng)建并初始化一個(gè)數(shù)據(jù)空間,并根據(jù)需要設(shè)定數(shù)個(gè)相應(yīng)的訪問(wèn)維度,如:三維空間訪問(wèn)維度、四維時(shí)間訪問(wèn)維度等,更高的維度可以訪問(wèn)更加豐富的信息。
步驟2:根據(jù)需要?jiǎng)?chuàng)建一個(gè)以上的搜索樹(shù)區(qū)域,如:數(shù)據(jù)處理區(qū)(進(jìn)行排序等算法處理)、邏輯處理區(qū)、信息存儲(chǔ)區(qū)等。
步驟3:在區(qū)域中心創(chuàng)建一個(gè)節(jié)點(diǎn),作為多維搜索樹(shù)的原始節(jié)點(diǎn),再依次在分支節(jié)點(diǎn)中填充數(shù)據(jù)。
步驟4:為各區(qū)域創(chuàng)建索引節(jié)點(diǎn)列表(存儲(chǔ)節(jié)點(diǎn)數(shù)據(jù)分類信息和空間坐標(biāo)范圍、多維坐標(biāo)范圍等索引內(nèi)容),將各區(qū)域整體作為一個(gè)節(jié)點(diǎn)(該節(jié)點(diǎn)之下即為索引節(jié)點(diǎn))關(guān)聯(lián)為一個(gè)更高級(jí)別的多維搜索樹(shù)結(jié)構(gòu),稱之為功能索引樹(shù)。
步驟5:當(dāng)需要進(jìn)行遍歷訪問(wèn)時(shí),系統(tǒng)首先在功能索引樹(shù)中找到相匹配的區(qū)域空間方位,然后再通過(guò)該區(qū)域中索引信息遍歷到匹配的數(shù)據(jù)分類。
步驟6:在數(shù)據(jù)分類中查詢是否存在符合搜索條件的最優(yōu)索引路徑,如存在則通過(guò)該路徑快速搜索必要數(shù)據(jù),如不存在則發(fā)出遍歷訪問(wèn)請(qǐng)求。
步驟7:返回搜索結(jié)果。
本發(fā)明所創(chuàng)建的是一種基于空間節(jié)點(diǎn)的樹(shù)形網(wǎng)絡(luò)結(jié)構(gòu),不同的信息之間通過(guò)某一特定的屬性實(shí)現(xiàn)互聯(lián),其具備如下幾個(gè)基本特征:
不但根節(jié)點(diǎn)可以隨機(jī)指定,查詢起始點(diǎn)、遍歷方向等都可以予以控制
空間樹(shù)狀結(jié)構(gòu)并不存在嚴(yán)格意義上的方向定義,也就不存在固定的從上到下的依次遍歷規(guī)則。因此,在空間樹(shù)狀結(jié)構(gòu)創(chuàng)建之后,任何一次遍歷請(qǐng)求都可以自定義指定一個(gè)最可能存在預(yù)期結(jié)果的遍歷點(diǎn),再以此點(diǎn)為圓心,依次向外遍歷搜索。
具有可逆性特征,父節(jié)點(diǎn)與子節(jié)點(diǎn)可以根據(jù)需要相互轉(zhuǎn)換
因?yàn)榭臻g樹(shù)狀結(jié)構(gòu)并不存在特定意義下的父子節(jié)點(diǎn)定義,因此在指定某一節(jié)點(diǎn)為搜索起始節(jié)點(diǎn)之后,該節(jié)點(diǎn)就自然成為該次搜索的根節(jié)點(diǎn),其后以此點(diǎn)為圓心依次遍歷的節(jié)點(diǎn)便成為了子節(jié)點(diǎn)。
通過(guò)多維度的方式對(duì)樹(shù)狀結(jié)構(gòu)的可見(jiàn)性予以控制
當(dāng)以多維度的方式處理上述空間樹(shù)狀結(jié)構(gòu)時(shí),我們可以為不同的維度設(shè)定其獨(dú)立的可見(jiàn)內(nèi)容。比如當(dāng)我們要檢索某個(gè)30歲的人18歲時(shí)的身高數(shù)據(jù)時(shí),這時(shí)候就可以用到時(shí)間維度的概念。正如大腦的工作模式一樣,空間樹(shù)狀結(jié)構(gòu)只會(huì)將當(dāng)下最常用的數(shù)據(jù)加入該結(jié)構(gòu)之中,其他非常用數(shù)據(jù)(如多年前數(shù)據(jù)),就可以存入其他維度,以便減少當(dāng)前樹(shù)結(jié)構(gòu)的數(shù)據(jù)量,以便提升遍歷效率、節(jié)約系統(tǒng)資源。
允許子節(jié)點(diǎn)回聯(lián)到根節(jié)點(diǎn),最終形成閉合回路
同樣因?yàn)榭臻g樹(shù)狀結(jié)構(gòu)不存在固定的根節(jié)點(diǎn)、不存在固定方向的特性,因而其內(nèi)所有的節(jié)點(diǎn)都可能會(huì)存在一種關(guān)聯(lián)方式,最終由不同的連接路徑再回到該出發(fā)點(diǎn)。由于該特性的存在,空間樹(shù)狀結(jié)構(gòu)的遍歷請(qǐng)求往往是以多線程的方式予以實(shí)現(xiàn),從一個(gè)指定的節(jié)點(diǎn)開(kāi)始,向每一個(gè)相鄰節(jié)點(diǎn)同時(shí)開(kāi)始搜索進(jìn)程,直到進(jìn)程交匯,并不再存在新的節(jié)點(diǎn)為止。通過(guò)該方式,可以大幅提升該算法的相關(guān)效率。
通過(guò)空間方向信息進(jìn)行智能化預(yù)判
空間多維搜索樹(shù)與二維搜索樹(shù)最大的差異在于其包含了空間方向?qū)傩裕闅v搜索在到達(dá)每一個(gè)空間節(jié)點(diǎn)之后都會(huì)面臨一個(gè)方向選擇的問(wèn)題,這時(shí)候除了通常的依次遍歷方法之外,還存在各種方式的優(yōu)化選擇,而這些選擇方法就為智能化快速遍歷的算法實(shí)現(xiàn)提供了必要的條件。
重復(fù)選擇優(yōu)化
系統(tǒng)自動(dòng)記錄遍歷搜索的時(shí)候,在某些特定條件下被重復(fù)選擇為正確結(jié)果的節(jié)點(diǎn)選擇過(guò)程,通過(guò)將這些節(jié)點(diǎn)關(guān)聯(lián)為一種相對(duì)固定的空間軌跡,在之后滿足條件的搜索請(qǐng)求時(shí),快速找到正確結(jié)果,從而為智能化設(shè)計(jì),特別是機(jī)器學(xué)習(xí)行為提供自助矯正類的相關(guān)算法支持。
方向選擇優(yōu)化
通過(guò)控制遍歷方向(左、右、上、下等)來(lái)控制遍歷的優(yōu)先選擇行為,當(dāng)搜索請(qǐng)求符合某種特定條件時(shí),優(yōu)先選擇某一遍歷方向。
反推過(guò)程優(yōu)化
不經(jīng)過(guò)樹(shù)狀結(jié)構(gòu),而由最末端節(jié)點(diǎn),直接搜索到需要的結(jié)果,然后通過(guò)該結(jié)果反向搜索最優(yōu)路徑的方法,我們稱之為逆向思維搜索法。
聯(lián)想模式優(yōu)化
通過(guò)某一種通用屬性,關(guān)聯(lián)到相似節(jié)點(diǎn),如該節(jié)點(diǎn)保留有最優(yōu)化搜索路徑記錄,則經(jīng)由相似節(jié)點(diǎn)快速找到搜索結(jié)果的過(guò)程,我們稱之為聯(lián)想模式搜索法。
空間維度優(yōu)化
多維搜索樹(shù)包含了已知的所有相關(guān)搜索樹(shù)算法,如二叉樹(shù)算法等。這些算法作為二維度索引算法,可以被兼容應(yīng)用在每一個(gè)三維或更高維度的搜索樹(shù)算法之中。同樣的,如冒泡排序等單維度的相關(guān)算法也可以被兼容使用。因此,在多維度搜索樹(shù)算法的實(shí)現(xiàn)過(guò)程中,并不會(huì)排斥現(xiàn)存的搜索樹(shù)優(yōu)化算法,相反,更高維度的算法實(shí)現(xiàn)意味著其可以兼容更低維度下的任意一種算法。
具體實(shí)施方式
下面對(duì)本發(fā)明的內(nèi)容進(jìn)行更加詳細(xì)的闡述:
步驟1:創(chuàng)建并初始化一個(gè)數(shù)據(jù)空間,并根據(jù)需要設(shè)定多個(gè)相應(yīng)的訪問(wèn)維度,如:三維空間訪問(wèn)維度、四維時(shí)間訪問(wèn)維度。
步驟2:根據(jù)需要?jiǎng)?chuàng)建一個(gè)或多個(gè)搜索樹(shù)區(qū)域,如:數(shù)據(jù)處理區(qū)、邏輯處理區(qū)、信息存儲(chǔ)區(qū)。
步驟3:在區(qū)域中心創(chuàng)建一個(gè)節(jié)點(diǎn),作為多維搜索樹(shù)的原始節(jié)點(diǎn),再依次在分支節(jié)點(diǎn)中填充數(shù)據(jù)。
步驟4:為各區(qū)域創(chuàng)建索引節(jié)點(diǎn)列表,將各區(qū)域整體作為一個(gè)節(jié)點(diǎn)關(guān)聯(lián)為一個(gè)更高級(jí)別的多維搜索樹(shù)結(jié)構(gòu),稱之為功能索引樹(shù)。
步驟5:當(dāng)需要進(jìn)行遍歷訪問(wèn)時(shí),系統(tǒng)首先在功能索引樹(shù)中找到相匹配的區(qū)域空間方位,然后再通過(guò)該區(qū)域中索引信息遍歷到匹配的數(shù)據(jù)分類。
步驟6:在數(shù)據(jù)分類中查詢是否存在符合搜索條件的最優(yōu)索引路徑,如存在則通過(guò)該路徑快速搜索必要數(shù)據(jù),如不存在則發(fā)出遍歷訪問(wèn)請(qǐng)求。
步驟7:返回搜索結(jié)果。