0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

人工智能的兩種最基本搜索算法

汽車玩家 ? 來源:今日頭條 ? 作者:聞數(shù)起舞 ? 2020-05-03 17:45 ? 次閱讀

您所做的任何事情都從搜索開始! 人工智能可以解決這些日常問題。 讓我們了解BFS,DFS等…

縱觀歷史,人類一直在尋找東西。 搜索使我們成為今天的我們。 在遠(yuǎn)古時(shí)代,覓食者常常尋找生活必需品。 他們創(chuàng)建了一些工具來簡化搜索過程。 人腦也在這個(gè)過程中進(jìn)化。 現(xiàn)在,它可以創(chuàng)建該地區(qū)的思維導(dǎo)圖,而覓食者可以將區(qū)域映射到他們自己的頭腦中,并可以更有效地進(jìn)行搜索。 即使在現(xiàn)代,我們基本上也使用以前使用的相同策略。 但是現(xiàn)在,我們有了更先進(jìn)的工具,我們的思想也有了更多發(fā)展。 我們使用地圖來尋找方法,例如Google Maps之類的工具就是我們?nèi)绾伟l(fā)展自己以更高效地進(jìn)行搜索的最佳示例。

我們在搜索中取得的最重大進(jìn)步是由于技術(shù)的變化。 在計(jì)算機(jī)科學(xué)中,我們將此術(shù)語稱為算法。 隨著大腦能力的增強(qiáng),我們創(chuàng)建了更復(fù)雜,更高效的算法。 我們開發(fā)了這些解決方案來解決更復(fù)雜的問題。 算法可以使我們的生活更簡單,并使我們更高效。 從日常任務(wù)到創(chuàng)建世界一流的人工智能,搜索算法都是所有人類工作的基礎(chǔ)。 在此博客中,我們將看到兩種最基本的搜索算法,它們將為我們對更復(fù)雜算法的理解奠定基礎(chǔ)。

不要讓這種解釋變得平淡無奇。 我們將以真實(shí)生活(LoL)為例來了解搜索本身的發(fā)展。 好的(?)

因此,顯然我有一個(gè)女友麗莎(至少在我的想象中)。 她對所有使用的東西都很聰明,而且非常挑剔。 前幾天,她在某處丟了口紅。 這是她最喜歡的陰影。 就像我說的她非常挑剔一樣,她不會(huì)適應(yīng)其他陰影或任何其他品牌。 但是問題在于口紅非常稀有,而且嚇壞了。 現(xiàn)在,她計(jì)劃購買新的。 我們附近的商店非常寬敞; 如果他們沒有的話,他們會(huì)引導(dǎo)她去其他商店。 她可以通過幾種方法開始搜索,讓我們一一理解它們。

廣度優(yōu)先搜索(BFS)

人工智能的兩種最基本搜索算法

> fig 1. Step 1 in BFS

麗莎是一個(gè)有組織的女孩。 另外,知道她家附近的一些美容店。 她在紙上列出了他們的名字。 假設(shè)有一些商店A,商店B和商店C。她將在列表中輸入商店的名稱,并從上至下從A商店開始依次訪問A。!,A商店 沒有那種陰影,但他們建議她在其他商店購買。 她將這些名字列為Shop D和ShopE。她將緊隨其后。 下一站,商店B。他們又沒有了,但他們建議她去其他商店。 她也列出了它們,分別在F商店和G商店。接著,在C商店?,F(xiàn)在她去了C商店。他們也沒有,但是他們不能向她推薦任何商店。 最后,Lisa的清單如下所示。

人工智能的兩種最基本搜索算法

> fig 2. Step 2 in BFS

下一步,她將參觀商店A所有者建議的商店D。 如果他們沒有,他們也會(huì)建議她去其他商店。 她將這些商店添加到列表中,并繼續(xù)按順序逐個(gè)訪問商店,直到找到那該死的口紅。 她成功了。 她在商店G的老板建議的一家商店中找到了它。 那就是J店。讓我們畫一張她去過的所有這些商店的地圖。 兩個(gè)商店之間的連接表示該特定商店是另一商店建議的。 用正式術(shù)語來說,我們將此地圖稱為"圖形",在這種情況下,稱為"樹"。

人工智能的兩種最基本搜索算法

> fig 3. BFS MAP (The digits on the lines represents the sequence in which she visited those shops.)

這不是一件容易的事,但她得到了她最喜歡的口紅。 您可以觀察到,Lisa按順序依次去了同一位店主建議的商店。 我們將這種方法稱為廣度優(yōu)先搜索(BFS)算法,因?yàn)槲覀兪紫人阉飨惹耙阎乃锌捎眠x項(xiàng),并添加新選項(xiàng)以供日后使用。 但是這種方法的問題在于它會(huì)產(chǎn)生冗余。 觀察商店K的情況,可以同時(shí)從商店F和商店G到達(dá)商店。而且她兩次拜訪商店的時(shí)間(請考慮自己是啞巴)。 BFS具有此規(guī)則以訪問方式訪問所有節(jié)點(diǎn)。 是否已經(jīng)訪問過它們都沒關(guān)系。

深度優(yōu)先搜索(DFS)

在我們以前的方法中,麗莎不得不走近10家商店才能獲得口紅。 讓我們看看是否可以使Lisa的搜索更加高效。 讓我們嘗試另一種方法。這次,Lisa將以不同于以往的方式列出建議的商店。 這次,當(dāng)她從某個(gè)商店獲得建議時(shí),會(huì)將其添加到列表的頂部。 最初的清單將有3家商店,與BFS相同。 參觀商店A后,她的清單如下所示。

人工智能的兩種最基本搜索算法

> fig 4. step 1 in DFS

她將標(biāo)記已經(jīng)去過的商店。 她將遵循相同的自上而下的方法。 因此,她的下一站將是D商店。她將在頂部添加D商店和E商店。 商店D的老板告訴她去我的商店。她去了那里,但找不到唇膏,而我的老板的商店沒有告訴她任何其他商店。 麗莎參觀了E店上方的所有商店。現(xiàn)在她的清單看起來像這樣。

人工智能的兩種最基本搜索算法

> fig 5. Step 2 in DFS

回到商店A的建議的過程正式稱為回溯。 商店E的所有者會(huì)告訴她去商店J(在列表頂部添加)和賓果游戲! 她找到了她最喜歡的口紅。

讓我們再次放置該圖。

人工智能的兩種最基本搜索算法

> fig 6. DFS MAP (The digits on the lines represents the sequence in which she visited those shops.)

麗莎走進(jìn)了搜索樹的深處,而不是去同一層的商店。 我們稱這種方法為深度優(yōu)先搜索算法。 從圖中可以看出,Lisa只需要拜訪5家商店,比我們的BFS方法要少得多。 因此,可以說我們的DFS方法比BFS更好。 另外,如果她本來要通過商店F訪問商店K,那么她就不會(huì)通過商店G訪問它。因?yàn)樗呀?jīng)標(biāo)記了它。 因此,通過這種方法,她在那里不會(huì)多次訪問同一家商店。

Stack和Queue

讓我們關(guān)注麗莎的清單。 僅通過更改輸入新條目的方式,她就大大改善了搜索范圍。 我們將此列表稱為數(shù)據(jù)結(jié)構(gòu)。 數(shù)據(jù)結(jié)構(gòu)是一種將數(shù)據(jù)存儲(chǔ)在計(jì)算機(jī)內(nèi)存中某處的方法。 就麗莎而言,她將其存儲(chǔ)在紙上。 但是,對于BFS和DFS,這種數(shù)據(jù)存儲(chǔ)方式是不同的。

在BFS中,她在列表的末尾添加了新元素,并以自上而下的方式遵循了列表。 在之前的列表(即先進(jìn)先出(FIFO))之后,將訪問在她的列表中新添加的商店。 我們稱這種數(shù)據(jù)結(jié)構(gòu)為隊(duì)列。 它的工作原理與我們在機(jī)場進(jìn)行的排隊(duì)相同。 第一位客戶首先獲得服務(wù)。 在隊(duì)列中,從后面添加了新元素,而從前面刪除了舊元素,這正是Lisa在BFS中所做的。

在DFS中,Lisa在列表頂部添加了新元素。 她沒有更改自上而下的順序。 在這種方法中,較新的元素要先訪問較舊的元素,即后進(jìn)先出(LIFO)。 我們將此數(shù)據(jù)結(jié)構(gòu)稱為堆棧。 在堆棧中,從一端開始添加元素,然后從同一端刪除元素,就麗莎而言,這是她列表的頂部,在那里她添加了新商店并順序訪問了這些商店。

結(jié)論

由于兩個(gè)原因,DFS比BFS是更好的算法。

· 它不會(huì)在數(shù)據(jù)結(jié)構(gòu)中創(chuàng)建冗余,因此不會(huì)訪問已經(jīng)訪問過的同一節(jié)點(diǎn)。

· 它在計(jì)算上比BFS更輕松,更高效。

雖然,這兩種算法都存在一些問題。 如果我們有一個(gè)包含數(shù)千個(gè)節(jié)點(diǎn)(商店)的較大地圖,則這些算法無法高效地找到目標(biāo)節(jié)點(diǎn)。 看一下DFS映射,如果我們將車間L作為目標(biāo)節(jié)點(diǎn),則DFS的性能不會(huì)比BFS好得多。 盡管BFS存在搜索所有節(jié)點(diǎn)的問題,但DFS可能會(huì)浪費(fèi)時(shí)間在錯(cuò)誤的方向上進(jìn)行搜索。

為了解決這些問題,我們有更好的算法,例如AI系統(tǒng)中實(shí)際使用的啟發(fā)式算法。 但這是另一天的博客。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4552

    瀏覽量

    92024
  • 人工智能
    +關(guān)注

    關(guān)注

    1787

    文章

    46061

    瀏覽量

    235024
收藏 人收藏

    評論

    相關(guān)推薦

    生成式人工智能的概念_生成式人工智能主要應(yīng)用場景

    生成式人工智能(Generative Artificial Intelligence,簡稱GAI)是一先進(jìn)的人工智能技術(shù),其核心在于利用計(jì)算機(jī)算法和大量數(shù)據(jù)來生成新的、具有實(shí)際價(jià)值的
    的頭像 發(fā)表于 09-16 16:05 ?132次閱讀

    人工智能ai4s試讀申請

    目前人工智能在繪畫對話等大模型領(lǐng)域應(yīng)用廣闊,ai4s也是方興未艾。但是如何有效利用ai4s工具助力科研是個(gè)需要研究的課題,本書對ai4s基本原理和原則,方法進(jìn)行描訴,有利于總結(jié)經(jīng)驗(yàn),擬按照要求準(zhǔn)備相關(guān)體會(huì)材料??茨芊裼兄谌腴T和提高ss
    發(fā)表于 09-09 15:36

    【書籍評測活動(dòng)NO.44】AI for Science:人工智能驅(qū)動(dòng)科學(xué)創(chuàng)新

    ,以及大力發(fā)展AI for Science的原因。 第2章從科學(xué)研究底層的理論模式與主要困境,以及人工智能三要素(數(shù)據(jù)、算法、算力)出發(fā),對AI for Science的技術(shù)支撐進(jìn)行解讀。 第3章介紹
    發(fā)表于 09-09 13:54

    報(bào)名開啟!深圳(國際)通用人工智能大會(huì)將啟幕,國內(nèi)外大咖齊聚話AI

    8月28日至30日,2024深圳(國際)通用人工智能大會(huì)暨深圳(國際)通用人工智能產(chǎn)業(yè)博覽會(huì)將在深圳國際會(huì)展中心(寶安)舉辦。大會(huì)以“魅力AI·無限未來”為主題,致力于打造全球通用人工智能領(lǐng)域集產(chǎn)品
    發(fā)表于 08-22 15:00

    FPGA在人工智能中的應(yīng)用有哪些?

    FPGA(現(xiàn)場可編程門陣列)在人工智能領(lǐng)域的應(yīng)用非常廣泛,主要體現(xiàn)在以下幾個(gè)方面: 一、深度學(xué)習(xí)加速 訓(xùn)練和推理過程加速:FPGA可以用來加速深度學(xué)習(xí)的訓(xùn)練和推理過程。由于其高并行性和低延遲特性
    發(fā)表于 07-29 17:05

    揭秘谷歌搜索算法工作原理,與官方聲明存在矛盾

    有著十多年搜索引擎優(yōu)化經(jīng)驗(yàn)的蘭德·菲什金,近日透露他收到一份長達(dá)2500頁的文件,據(jù)稱這是對谷歌搜索算法工作原理的真實(shí)揭示,而非谷歌官方所聲稱的那樣。
    的頭像 發(fā)表于 05-29 16:00 ?480次閱讀

    5G智能物聯(lián)網(wǎng)課程之Aidlux下人工智能開發(fā)(SC171開發(fā)套件V2)

    5G智能物聯(lián)網(wǎng)課程之Aidlux下人工智能開發(fā)(SC171開發(fā)套件V2) 課程類別 課程名稱 視頻課程時(shí)長 視頻課程鏈接 課件鏈接 人工智能 參賽基礎(chǔ)知識指引 14分50秒 https
    發(fā)表于 05-10 16:46

    5G智能物聯(lián)網(wǎng)課程之Aidlux下人工智能開發(fā)(SC171開發(fā)套件V1)

    課程類別 課程名稱 視頻課程時(shí)長 視頻課程鏈接 課件鏈接 人工智能 參賽基礎(chǔ)知識指引 14分50秒 https://t.elecfans.com/v/25508.html *附件:參賽基礎(chǔ)知識指引
    發(fā)表于 04-01 10:40

    直流斬波電路中最基本兩種電路是什么和什么

    。 最基本兩種直流斬波電路是托馬斯回路和巴克三極管振蕩器。 托馬斯回路 托馬斯回路是用于將直流電壓削波的一基本直流斬波電路。它包括一個(gè)能夠控制開關(guān)狀態(tài)的晶體管、一個(gè)電感和一個(gè)電容。當(dāng)晶體管導(dǎo)通時(shí),電流會(huì)通
    的頭像 發(fā)表于 03-11 14:36 ?766次閱讀

    嵌入式人工智能的就業(yè)方向有哪些?

    嵌入式人工智能的就業(yè)方向有哪些? 在新一輪科技革命與產(chǎn)業(yè)變革的時(shí)代背景下,嵌入式人工智能成為國家新型基礎(chǔ)建設(shè)與傳統(tǒng)產(chǎn)業(yè)升級的核心驅(qū)動(dòng)力。同時(shí)在此背景驅(qū)動(dòng)下,眾多名企也紛紛在嵌入式人工智能領(lǐng)域布局
    發(fā)表于 02-26 10:17

    生成式人工智能和感知式人工智能的區(qū)別

    生成式人工智能和感知式人工智能人工智能領(lǐng)域中兩種重要的研究方向。本文將探討這兩種人工智能的區(qū)別。 生成式
    的頭像 發(fā)表于 02-19 16:43 ?1177次閱讀

    深度學(xué)習(xí)在人工智能中的 8 常見應(yīng)用

    深度學(xué)習(xí)簡介深度學(xué)習(xí)是人工智能(AI)的一個(gè)分支,它教神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)和推理。近年來,它解決復(fù)雜問題并在各個(gè)領(lǐng)域提供尖端性能的能力引起了極大的興趣和吸引力。深度學(xué)習(xí)算法通過允許機(jī)器處理和理解大量數(shù)據(jù)
    的頭像 發(fā)表于 12-01 08:27 ?2966次閱讀
    深度學(xué)習(xí)在<b class='flag-5'>人工智能</b>中的 8 <b class='flag-5'>種</b>常見應(yīng)用

    基于人工智能算法的推薦系統(tǒng)原理及優(yōu)勢

    推薦系統(tǒng)是一人工智能人工智能算法,通常與機(jī)器學(xué)習(xí)相關(guān),使用大數(shù)據(jù)向消費(fèi)者建議或推薦其他產(chǎn)品。這些推薦可以基于各種標(biāo)準(zhǔn),包括過去的購買、搜索歷史記錄、人口統(tǒng)計(jì)信息和其他因素。推薦系統(tǒng)
    發(fā)表于 11-20 11:40 ?2021次閱讀
    基于<b class='flag-5'>人工智能算法</b>的推薦系統(tǒng)原理及優(yōu)勢

    人工智能大模型、應(yīng)用場景、應(yīng)用部署教程超詳細(xì)資料

    人工智能是IC行業(yè)近幾年的熱詞,目前此技術(shù)已經(jīng)有很多成熟的模型和落地案例。在此跟大家做個(gè)分享,更多詳細(xì)資料,請自行搜索:【展銳坦克邦】,坦克邦-智算天地集算法模型、部署說明于一體,為廣大客戶提供了
    發(fā)表于 11-13 14:49

    如何使單片機(jī)與無線供電結(jié)合,從而使人工智能脫離電池和線路?

    如何使單片機(jī)與無線供電結(jié)合,從而使人工智能脫離電池和線路
    發(fā)表于 10-31 06:34