① 基本演算法——深度優先搜索(DFS)和廣度優先搜索(BFS)
深度優先搜索和廣度優先搜索,都是圖形搜索演算法,它兩相似,又卻不同,在應用上也被用到不同的地方。這里拿一起討論,方便比較。
一、深度優先搜索
深度優先搜索屬於圖演算法的一種,是一個針對圖和樹的遍歷演算法,英文縮寫為DFS即Depth First Search。深度優先搜索是圖論中的經典演算法,利用深度優先搜索演算法可以產生目標圖的相應拓撲排序表,利用拓撲排序表可以方便的解決很多相關的圖論問題,如最大路徑問題等等。一般用堆數據結構來輔助實現DFS演算法。其過程簡要來說是對每一個可能的分支路徑深入到不能再深入為止,而且每個節點只能訪問一次。
基本步奏
(1)對於下面的樹而言,DFS方法首先從根節點1開始,其搜索節點順序是1,2,3,4,5,6,7,8(假定左分枝和右分枝中優先選擇左分枝)。
(2)從stack中訪問棧頂的點;
(3)找出與此點鄰接的且尚未遍歷的點,進行標記,然後放入stack中,依次進行;
(4)如果此點沒有尚未遍歷的鄰接點,則將此點從stack中彈出,再按照(3)依次進行;
(5)直到遍歷完整個樹,stack里的元素都將彈出,最後棧為空,DFS遍歷完成。
二、廣度優先搜索
廣度優先搜索(也稱寬度優先搜索,縮寫BFS,以下採用廣度來描述)是連通圖的一種遍歷演算法這一演算法也是很多重要的圖的演算法的原型。Dijkstra單源最短路徑演算法和Prim最小生成樹演算法都採用了和寬度優先搜索類似的思想。其別名又叫BFS,屬於一種盲目搜尋法,目的是系統地展開並檢查圖中的所有節點,以找尋結果。換句話說,它並不考慮結果的可能位置,徹底地搜索整張圖,直到找到結果為止。基本過程,BFS是從根節點開始,沿著樹(圖)的寬度遍歷樹(圖)的節點。如果所有節點均被訪問,則演算法中止。一般用隊列數據結構來輔助實現BFS演算法。
基本步奏
(1)給出一連通圖,如圖,初始化全是白色(未訪問);
(2)搜索起點V1(灰色);
(3)已搜索V1(黑色),即將搜索V2,V3,V4(標灰);
(4)對V2,V3,V4重復以上操作;
(5)直到終點V7被染灰,終止;
(6)最短路徑為V1,V4,V7.
② 談談幾種接觸搜索演算法的比較麻煩告訴我
接觸分析計算主要是接觸界面的搜尋方法和法向接觸力的計算問題.
常見的有主從面法、級域法和一體化演算法 是接觸點的搜索演算法,這三種演算法中,最早的是主從面法,主從面法中從節點不允許穿透主動面,但主動面上的接觸點可以穿透從動面。故主從面法只需搜尋與主動面接觸的節點。主從面法的一個缺陷是——不能處理同一個接觸面內發生的情況,比如子接觸問題。與其他兩種方法相比,主從面法只考慮接觸體中一半的接觸點,所以其計算工作量是比較小的。級域法在相互靠近的接觸塊中尋找接觸對;一體化演算法總是在所有的接觸塊中尋找。由於計算方法的不同,這三種方法計算時間依賴於接觸面的大小。另一方面主從法之所以被廣泛採用,是他的缺桐演算法很成熟,編程也容易,而級域法需要從高到低逐級進行,編程就很困難,而且其矢量化運算能凳扮凱力也不行。
所以總體來說,一體化演算法是最優越的。
除了這三種演算法,還有一些別的演算法:比如 BCM,邊界搜索,近些年一些智能演算法也被廣泛引入進來!
除了接觸點的搜尋演算法,常用的接觸力演算法為:拉格朗日乘子法和罰函數法。拉格朗日乘子法不允許接觸邊界的互相穿透,能准確描述幾何約束條件,是一種精確的接觸力演算法,但它與顯式演算法不相容,要求特殊的數值處理。但該方法在棗喚每個接觸點處要求引入乘子,導致系統自由度的增加,使計算效率降低。而罰函數法允許接觸面之間的互相穿透,並通過罰子將接觸力大小和接觸邊界的穿透量聯系起來,接觸力正比於邊界穿透量。此方法比較簡單單也適合於顯式演算法,能在系統自由度不增加的情況下進行數值求解。但它影響顯式演算法中的臨界時間步長。罰因子的好壞還影響計算結果的可靠性。
③ 深度優先搜索和廣度優先搜索、A星演算法三種演算法的區別和聯系
1、何謂啟發式搜索演算法
在說它之前先提提狀態空間搜索.狀態空間搜索,如果按專業點的說法就是將問題求解過程表現為從初始狀態到目標狀態尋找這個路徑的過程.通俗點說,就是 在解一個問題時,找到一條解題的過程可以從求解的開始到問題的結果(好象並不通俗哦).由於求解問題的過程中分枝有很多,定性,不完備性造成的,使得求解的路徑很多這就構成了一個圖,我們說這個圖就是狀態空間.問題的求解實際上就是在這個圖中找到一條路徑可以從開始到結果.這個尋找的過程就是狀態空間搜索.
常用的狀態空間搜索有深度優先和廣度優先.廣度優先是從初始狀態一層一層向下找,直到找到目標為止.深度優先是按照一定的順序前查找完一個分支,再查找另一個分支,以至找到目標為止.這兩種演算法在數據結構書中都有描述,可以參看這些書得到更詳細的解釋.
前面說的廣度和深度優先搜索有一個很大的缺陷就是他們都是在一個給定的狀態空間中窮舉.這在狀態空間不大的情況下是很合適的演算法,可是當狀態空間十分大,且不預測的情況下就不可取了.他的效率實在太低,甚至不可完成.在這里就要用到啟發式搜索了.
啟發式搜索就是在狀態空間中的搜索對每一個搜索的位置進行評估,得到最好的位置,再從這個位置進行搜索直到目標.這樣可以省略大量無畏的搜索路徑,提 到了效率.在啟發式搜索中,對位置的估價是十分重要的.採用了不同的估價可以有不同的效果.我們先看看估價是如何表示的.
啟發中的估價是用估價函數表示的,如:
f(n) = g(n) + h(n)
其中f(n) 是節點n的估價函數,g(n)實在狀態空間中從初始節點到n節點的實際代價,h(n)是從n到目標節點最佳路徑的估計代價.在這里主要是h(n)體現了搜 索的啟發信息,因為g(n)是已知的.如果說詳細點,g(n)代表了搜索的廣度的優先趨勢.但是當h(n) >> g(n)時,可以省略g(n),而提高效率.這些就深了,不懂也不影響啦!我們繼續看看何謂A*演算法.
2、初識A*演算法
啟發式搜索其實有很多的演算法,比如:局部擇優搜索法、最好優先搜索法等等.當然A*也是.這些演算法都使用了啟發函數,但在具體的選取最佳搜索節點時的 策略不同.象局部擇優搜索法,就是在搜索的過程中選取「最佳節點」後舍棄其他的兄弟節點,父親節點,而一直得搜索下去.這種搜索的結果很明顯,由於舍棄了 其他的節點,可能也把最好的節點都舍棄了,因為求解的最佳節點只是在該階段的最佳並不一定是全局的最佳.最好優先就聰明多了,他在搜索時,便沒有舍棄節點 (除非該節點是死節點),在每一步的估價中都把當前的節點和以前的節點的估價值比較得到一個「最佳的節點」.這樣可以有效的防止「最佳節點」的丟失.那麼 A*演算法又是一種什麼樣的演算法呢?其實A*演算法也是一種最好優先的演算法.只不過要加上一些約束條件罷了.由於在一些問題求解時,我們希望能夠求解出狀態空 間搜索的最短路徑,也就是用最快的方法求解問題,A*就是干這種事情的!我們先下個定義,如果一個估價函數可以找出最短的路徑,我們稱之為可採納性.A* 演算法是一個可採納的最好優先演算法.A*演算法的估價函數可表示為:
f'(n) = g'(n) + h'(n)
這里,f'(n)是估價函數,g'(n)是起點到終點的最短路徑值,h'(n)是n到目標的最斷路經的啟發值.由於這個f'(n)其實是無法預先知道 的,所以我們用前面的估價函數f(n)做近似.g(n)代替g'(n),但 g(n)>=g'(n)才可(大多數情況下都是滿足的,可以不用考慮),h(n)代替h'(n),但h(n)
④ 百度和Google的搜索演算法,技術有何差異
網路是中國的,谷歌是美國的。各有側重不能不可比較。技術都是一樣的側重不同罷了。網路側重的是中國民俗,谷歌是側重美國民俗。因為國情國法不同所以無可能比較量級。【搜索引擎技術是硬體加軟體。硬體是實際使用的機器,軟體是程序編程】搜索產品搜索引擎產品其實包括很多種類,並不限於我們最熟悉的全網搜索引擎。簡單分類羅列一下:*全網搜索:包括市場份額最高的幾大搜索引擎巨頭,Google,Yahoo,Bing。*中文搜索:在中文搜索市場中,網路一家獨大,其它幾家如搜狗、搜搜、有道,市場份額相對還比較小。*垂直搜索:在各自的垂直領域成為搜索入口的,購物的淘寶,美食的大眾點評,旅遊的去哪兒,等等。*問答搜索:專注於為問句式提供有效的答案,比如Ask.com;其它的如問答社區像Quora和國內的知乎,應該也會往這方面發展。*知識搜索:典型代表就是WolframAlpha,區別於提供搜索結果列表,它會針對查詢提供更詳細的整合信息。*雲搜索平台:為其它產品和應用提供搜索服務託管平台(SaaS或是PaaS),Amazon剛剛推出它的CloudSearch,IndexTank在被Linkedin收購之前也是做這項服務。*其它:比始DuckDuckGo,主打隱私保護,也有部分用戶買帳。各種搜索產品在各自領域都需要解決特定的技術和業務問題,所以也可以建立相對通用搜索的優勢,來得到自己的市場和用戶。搜索技術搜索引擎所涉及和涵蓋的技術范圍非常廣,涉及到了系統架構和演算法設計等許多方面。可以說由於搜索引擎的出現,把互聯網產品的技術水平提高到了一個新的高度;搜索引擎無論是在數據和系統規模,還是演算法技術的研究應用深度上,都遠超之前的簡單互聯網產品。列舉一些搜索引擎所涉及到的技術點:*爬蟲(Crawling)*索引結構(InvertedIndex)*檢索模型(VSM&TF-IDF)*搜索排序(RelevanceRanking&Evaluation)*鏈接分析(LinkAnalysis)*分類(Document&QueryClassification)*自然語言處理(NLP:Tokenization,Lemmatization,POSTagging,NER,etc.)*分布式系統(DistributedProcessing&Storage)*等等雖然搜索引擎涉及的技術方方面面,但歸結起來最關鍵的幾點在於:*系統:大規模分布式系統,支撐大規模的數據處理容量和在線查詢負載*數據:數據處理和挖掘能力*演算法:搜索相關性排序,查詢分析,分類,等等系統搜索引擎系統是一個由許多模塊組成的復雜系統。核心模塊通常包括:爬蟲,索引,檢索,排序。除了必需的核心模塊之外,通常還需要一些支持輔助模塊,常見的有鏈接分析,去重,反垃圾,查詢分析,等等。[附圖:搜索系統架構概念模型]*爬蟲從互聯網爬取原始網頁數據,存儲於文檔伺服器。*文檔伺服器存儲原始網頁數據,通宵是分布式Key-Value資料庫,能根據URL/UID快速獲取網頁內容。*索引讀取原始網頁數據,解析網頁,抽取有效欄位,生成索引數據。索引數據的生成方式通常是增量的,分塊/分片的,並會進行索引合並、優化和刪除。生成的索引數據通常包括:字典數據,倒排表,正排表,文檔屬性等。生成的索引存儲於索引伺服器。*索引伺服器存儲索引數據,主要是倒排表。通常是分塊、分片存儲,並支持增量更新和刪除。數據內容量非常大時,還根據類別、主題、時間、網頁質量劃分數據分區和分布,更好地服務在線查詢。*檢索讀取倒排表索引,響應前端查詢請求,返回相關文檔列表數據。*排序對檢索器返回的文檔列表進行排序,基於文檔和查詢的相關性、文檔的鏈接權重等屬性。*鏈接分析收集各網頁的鏈接數據和錨文本(AnchorText),以此計算各網頁鏈接評分,最終會作為網頁屬性參與返回結果排序。*去重提取各網頁的相關特徵屬性,計算相似網頁組,提供離線索引和在線查詢的去重服務。*反垃圾收集各網頁和網站歷史信息,提取垃圾網頁特徵,從而對在線索引中的網頁進行判定,去除垃圾網頁。*查詢分析分析用戶查詢,生成結構化查詢請求,指派到相應的類別、主題數據伺服器進行查詢。*頁面描述/摘要為檢索和排序完成的網頁列表提供相應的描述和摘要。*前端接受用戶請求,分發至相應伺服器,返回查詢結果[附圖:爬蟲系統架構]爬蟲系統也是由多個模塊構成:*URLScheler存儲和高度待爬取的網頁地址。*Downloader根據指定的網頁列表爬取網頁內容,存儲至文檔伺服器。*Processer對網頁內容進行簡單處理,提取一些原始屬性,為爬取的後續操作服務。*TrafficController爬取流量控制,防止對目標網站在短時間內造成過大負載[附圖:搜索系統架構實例:Google這是Google早期的一張系統架構圖,可以看出Google系統的各模塊基本和前面概念模型一致。所以一個完整的全網搜索系統的大致系統架構是類似的,區別和競爭力體現在細節實現和優化上。數據除了搜索引擎系統提供了系統支撐外,搜索結果質量很大程度上依賴於源數據的數量和質量,以及數據處理的能力。全網數據的主要來源通常是從互聯網上進行自動爬取,從一些高質量的種子站點開始,並沿網頁鏈接不斷,收集巨量的網頁數據;這通常能達到數據在數量的要求,但也不可避免混入了大量的低質量網頁。除了自動爬取來的數據外,搜索引擎的數據來源還可以來自人工收集、合作夥伴提供、第三方數據源和API、以及購買;這些來源通常會有更好的質量保證,但在數量規模和覆蓋率上會相對少一些,可以和爬取的數據形成有效的互補。收集到足量的原始數據後,需要進行各種數據處理操作,把原始數據轉換成在線檢索需要的數據。這個過程通常包括:網頁分析,數據抽取,文本處理和分詞,索引及合並;最終生成的數據會包括:詞典,倒排表,正排表,文檔權重和各種屬性。最終生成的數據要布署上相應的在線檢索伺服器上,通常會進行數據分區和分片布署,數據內容更豐富時還可能根據內容分類和主題進行分別布署,比如新聞時效類的網頁可能就會獨立布署,針對性地響應時效類的查詢[附圖:索引數據:字典、倒排表、正排表]這張圖來源於Google早期的索引數據結構,包括詞典、倒排表、正排表。演算法有了相當數量的高質量數據之後,搜索結果的質量改進就取決於搜索演算法的准確性上。現在的搜索引擎通常通過向量空間模型(VSM=VectorSpaceModel)來計算查詢和各文檔之間的文本相似性;即把查詢或文檔抽象成一個詞向量,然後再計算向量在向量空間中的夾角,可以用餘弦公式得出,作為文本相似度的度量值。在基本的向量空間模型基礎上通常會進一步加入詞的權重值進行改進,通過經典的TF-IDF公式得出,即詞頻(TF)乘上逆文檔頻率(IDF);其中TF=TermFrequency,即該詞在所在文檔中的出現次數;IDF=InvertDocumentFrequency,即包含該詞的文檔數除以總文檔數,再取反,通常還會取對數來降維,這個值值越大表示這個詞越能代表文檔特徵。除了通過向量空間模型得出的文本匹配評分外,每個文檔還會有自己本身的質量評分,通常由網頁鏈接數據計算得出,代表了該網頁本身的流行度權重。最終的評分會以文本匹配的查詢時動態評分和文檔靜態評分為基礎計算得出;搜索引擎的評分計算都會考慮很多因素,但這兩項通常是評分計算的基礎。有了確定的排序演算法後,另一個重要的任務就是評估搜索結果的質量。由於搜索結果的好與壞是一個比較主觀的過程,所以進行定量的評估並不容易。常見的做法是通過事先選定一批查詢,通過人工評估或是預先設定標准值的方式,逐個評估每個設定查詢搜索結果,最終得到一個統計結果,作為搜索演算法的評估度量。另一類做法是直接通過線上的用戶點擊數據來統計評估搜索結果質量,或是通過A/B測試來比較兩種排序演算法的點擊效果來衡量。合理而有效的評估方法,是搜索演算法可以不斷改進和比較的前提。查詢分析是另一個對搜索結果影響很大的方面,主要任務是把用戶的查詢文本轉換成內部的結構化的搜索請求。涉及的處理可能包括基本的分詞處理,專有名詞的識別和提取,或是查詢模式的識別,或是查詢分類的識別。這些處理的准確性將能極大地改進搜索請求的方式,進一步影響搜索結果的相關性和質量。開源方案近年來在搜索公司內部搜索系統和技術的改進和發展的同時,一批開源的搜索系統和解決方案也逐漸發展和成熟起來。當然開源系統在功能全面性、復雜性和規模上都不能與專業的搜索引擎系統相比,但對於中小企業的搜索應用來說應該已經能很好地滿足需求,而且也成功應用到了一些大規模的產品系統中(比如Twitter的搜索就使用和改進了Lucene)。現在比較常見的開源搜索解決方案有:*LuceneLucene自然是現在最流行,使用度最高的搜索開源方案。它用Java開發,以索引和檢索庫的方式提供,可以很容易地嵌入需要的應用中。*Solr&SolrCloudSolr是Lucene的子項目,同屬Apache軟體基金會項目;它是基於Lucene之上實的一個完整的搜索服務應用,提供了大量的搜索定製功能,可以滿足大部分的搜索產品需求。SolrCloud是Solr為了加強其分布式服務能力而開發的功能,目前還在開發階段,將在Solr4.0發布。*Zoie&Sensei(Linkedin)Zoie是Linkedin公司在Lucene基礎上實現的准實時索引庫,通過加入額外的內存索引,來達到准實時索引的效果。Sensei是Linkedin公司在Zoie基礎上實現的分布式搜索服務,通過索引分區來實現分布式搜索服務。*ElasticSearchElasticSearch也是剛推出不久的一個基於Lucene實現的分布式搜索服務,據說在分布式支持和易用性上都有不錯的表現。因為還比較年輕,真實的應用應該還不多,需要觀察。因為也是基於Lucene的分布式開源搜索框架,基本上會與SolrCloud和Sensei形成正面競爭關系。*其它開源產品除了Lucene家族以外,還有一些其它的開源產品,比如Sphinx和Xapian,也有不少的應用;但近年來的更新頻率和社區活躍度都不太能和Lucene系的產品相比。*託管平台除了開源產品外,現在還出現了一些基於雲計算和雲服務的搜索服務,比如Amazon新近推了的CloudSearch,還有更早一些的IndexTank(已被Linkedin收購)。這類服務無需自己布置搜索系統,直接使用在線服務,按需付費,所以也將是開源產品的替代方案和競爭對手。附幾張上面提到的開源系統的概念模型和架構圖:[附圖:Lucene概念模型][附圖:Lucene工作流程][附圖:Sensei系統架構][附圖:SolrCloud系統架構]現狀與未來:傳統的搜索引擎經過了十幾年的發展,目前在技術和產品上都已走向逐漸穩定和成熟,通用搜索的市場也基本進入飽和,不像早些年一直呈現高增長率。同時,在各個垂直領域,也出現了很多和產品結合的很好的垂直搜索產品,比如淘寶的購物搜索,大眾點評的美食搜索,去哪兒和酷訊的旅遊搜索等,也都在各自領域占據了相當大的市場,成為除了通用搜索引擎之外的重要的用戶入口。在開源領域,各種開源產品和解決方案也逐漸發展成熟,通用搜索技術不再為大公司所專有,中小企業能夠以較低的成本實現自己的搜索應用。現在搜索引擎產品之間的競爭的在數據、應用方式和產品形態上,在系統架構和基本演算法上區分並不大。搜索引擎在未來發展上,一是搜索將不僅僅以獨立產品的形式出現,的會作為搜索功能整合到的產品和應用中。在產品形態上,基於傳統的搜索引擎,會演化出像推薦引擎,知識引擎,決策引擎等形式的產品,更好地滿足和服務用戶需求。而搜索引擎所涉及和發展起來的各種技術,會更廣泛地應用到各種基它產品上,比如自然語言處理,推薦和廣告,數據挖掘,等等。總之,搜索引擎對互聯網技術和產品帶來的影響是巨大的,未來也仍將有很大的發展和應用空間。
⑤ 幾種搜索引擎演算法研究
2.1Google和PageRank演算法
搜索引擎Google最初是斯坦福大學的博士研究生Sergey Brin和Lawrence Page實現的一個原型系統[2],現在已經發展成為WWW上最好的搜索引擎之一。Google的體系結構類似於傳統的搜索引擎,它與傳統的搜索引擎最大的不同處在於對網頁進行了基於權威值的排序處理,使最重要的網頁出現在結果的最前面。Google通過PageRank元演算法計算出網頁的PageRank值,從而決定網頁在結果集中的出現位置,PageRank值越高的網頁,在結果中出現的位置越前。
2.1.1PageRank演算法
PageRank演算法基於下面2個前提:
前提1:一個網頁被多次引用,則它可能是很重要的;一個網頁雖然沒有被多次引用,但是被重要的網頁引用,則它也可能是很重要的;一個網頁的重要性被平均的傳遞到它所引用的網頁。這種重要的網頁稱為權威(Authoritive)網頁。
前提2:假定用戶一開始隨機的訪問網頁集合中的一個網頁,以後跟隨網頁的向外鏈接向前瀏覽網頁,不回退瀏覽,瀏覽下一個網頁的概率就是被瀏覽網頁的PageRank值。
⑥ 禁忌搜索演算法與傳統優化演算法的區別
背景:禁忌搜索演算法(Tabu Search)是由美國科羅拉多州大學的Fred Glover教授在1986年左右提出來的,是一個用來跳出局部最優的搜尋方法。在解決最優問題上,一般區分為兩種方式:一種是傳統的方法,另一種方法則是一些啟發式搜索演算法。
使用傳統的方法,我們必須對每一個問題都去設計一套演算法,相當不方便,缺乏廣泛性,優點在於我們可以證明演算法的正確性,我們可以保證找到的答案是最優的;而對於啟發式演算法,針對不同的問題,我們可以套用同一個架構來尋找答案,在這個過程中,我們只需要設計評價函數以及如何找到下一個可能解的函數等,所以啟發式演算法的廣泛性比較高,但相對在准確度上就不一定能夠達到最優,但是在實際問題中啟發式演算法那有著更廣泛的應用
⑦ 百度和Google的搜索演算法,技術有何差異
我們直接分析博百優在網路和谷歌首頁排名情況,就可以知道,網路與谷歌的排名演算法有較大的出入,不過隨著時間的推移,這種差異會越來越小,畢竟搜索引擎排名的核心思想都是差不多的,都是給用戶提供最實用的信息。
一、分析谷歌與網路的細節異同
1、從這次比賽看來,谷歌對新站有特別照顧機會,前期會獲得不錯的排名,不過,慢慢的又會降下來,網路雖然對新站也有特別照顧機會,不過和老網站比起來,這些機會幾乎看不到了。
2、網路的老站權重繼承
很明顯,這次比賽,大部分人都是通過修改標題形式參賽,所以在短時間內都在網路獲得不錯的排名,這都利益於老站權重的繼承,看誰原站的權重高,在前期就排的最前面,谷歌似乎這種情況不太明顯,改了標題後,就會從新對你考察,考察你的相關內容是否豐富,是否相關性很強,在決定你的排名情況,而不考慮以前權重有多高。
3、雖然網路和谷歌對外鏈的數量和質量影響網站權重的重要因素,但谷歌更注重外鏈的質量上,如果你的站外鏈質量非常多,一般都能獲得不錯的排名。
4、對原創文章的分析上,谷歌分析水平比網路更高,對原創質量要求更高,偽原創分辯能力更強。這一點不得不承認谷歌技術的先進。
5、谷歌對主域名排名更具有優先權,博百優官方網子論壇,雖然外鏈和內容上都遠遠超過其它參賽站點,但在谷歌前幾頁都找不到博百優官方網子論壇,期重要原因是谷歌對主域名具有更高的權重。
二、分析以下幾個重要因素的異同
1、原創方面
網路和谷歌對原創都非常看重,內容為王,這是永久的真理,不過谷歌對原創文章質量分析能力更強。
2、外鏈方面
無論是網路和谷歌,外鏈絕對是影響排名的重要因素,質量比數量更重要,但谷歌更看重高質量的外鏈,對排名的作用會更大一些。
3、內容相關性方面
無論哪個搜索引擎,內容與主題越相關,排名肯定更有優勢,,但放在一起對比,發現,谷歌對內容高度相關的站點,更具有排名優先權。而網路可能還會去考察其它因素。
4、快照方面
這一點二者都一樣,快照越新,相應權重會越高一些,但要在其它重要因素的前提下才能發揮作用。這個分析並不是很權威,有些可能和大家所想的有出入,不過沒關系,這個分析是初版,以後會總結和分析出更完美版,請關注!
⑧ 搜索演算法中,A演算法A*演算法的區別(急)
a*演算法:a*(a-star)演算法是一種靜態路網中求解最短路徑最有效的直接搜索方法。估價值與實際值越接近,估價函數取得就越好
a*
(a-star)演算法是一種靜態路網中求解最短路最有效的直接搜索方法。
注意是最有效的直接搜索演算法。之後涌現了很多預處理演算法(alt,ch,hl等等),在線查詢效率是a*演算法的數千甚至上萬倍。
公式表示為:
f(n)=g(n)+h(n),
其中
f(n)
是從初始點經由節點n到目標點的估價函數,
g(n)
是在狀態空間中從初始節點到n節點的實際代價,
h(n)
是從n到目標節點最佳路徑的估計代價。
保證找到最短路徑(最優解的)條件,關鍵在於估價函數f(n)的選取:
估價值h(n)<=
n到目標節點的距離實際值,這種情況下,搜索的點數多,搜索范圍大,效率低。但能得到最優解。並且如果h(n)=d(n),即距離估計h(n)等於最短距離,那麼搜索將嚴格沿著最短路徑進行,
此時的搜索效率是最高的。
如果
估價值>實際值,搜索的點數少,搜索范圍小,效率高,但不能保證得到最優解。