數(shù)學(xué)算法與其他行業(yè)的結(jié)合及發(fā)展探索_第1頁(yè)
數(shù)學(xué)算法與其他行業(yè)的結(jié)合及發(fā)展探索_第2頁(yè)
數(shù)學(xué)算法與其他行業(yè)的結(jié)合及發(fā)展探索_第3頁(yè)
數(shù)學(xué)算法與其他行業(yè)的結(jié)合及發(fā)展探索_第4頁(yè)
數(shù)學(xué)算法與其他行業(yè)的結(jié)合及發(fā)展探索_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)學(xué)算法與其他行業(yè)的結(jié)合及發(fā)展探索

摘要數(shù)學(xué)的發(fā)展歷史悠久,數(shù)學(xué)算法也在不斷發(fā)展和完善。如今,算法滲透到我們社會(huì)生活的各個(gè)領(lǐng)域。做事有一個(gè)好的方法和思維是提高效率的關(guān)鍵,而算法正是實(shí)現(xiàn)這些關(guān)鍵的一種工具。古有秦九韶算法,到神奇的外觀數(shù)列,再到如今的決策樹和向量機(jī),數(shù)學(xué)算法無(wú)時(shí)無(wú)刻都在煥發(fā)神奇的力量。本文討論數(shù)學(xué)算法在行業(yè)中的應(yīng)用,介紹各行業(yè)中的主流算法。如購(gòu)物APPAPP的推薦算法,旅行路線規(guī)劃的蟻群算法,大型角色扮演游戲中的尋路算法。推薦算法發(fā)展至今,經(jīng)歷了幾套發(fā)展模式,擁有了推薦高度個(gè)性化內(nèi)容的能力。從最初的依據(jù)歷史喜好推薦,到如今的用戶群特征推薦,相鄰愛好推薦。本文結(jié)合了京東推出的一系列APP幫助解釋新推薦系統(tǒng)的優(yōu)秀之處。蟻群算法應(yīng)用領(lǐng)域非常的廣,公交線路規(guī)劃,地圖APP的尋路功能,車輛調(diào)度問(wèn)題等,在本文,主要探索的是蟻群算法基本原理及應(yīng)用典例。算法在游戲行業(yè)的應(yīng)用也越來(lái)越廣,算法是游戲人工智能領(lǐng)域的基石,搜尋路徑是游戲的基本功能,但也是表現(xiàn)游戲制作精良的一個(gè)指標(biāo),目前主流的尋路算法是Astar算法。關(guān)鍵詞:數(shù)學(xué)算法,行業(yè),原理,推薦算法,蟻群算法,Astar

AbstractThedevelopmentofmathematicshasbeenalonghistory,andmathematicalalgorithmsaredevelopingandperfectingconstantly.Today,algorithmspermeateallareasofoursociallife.Thereisagoodwaytodothingsandthinkingisthekeytoimprovingefficiency,andalgorithmsarejustoneofthekeytoolstoachievethese.Inancienttimes,therewereQinJiuyialgorithms,tothemagicalappearanceoftheseries,andnowtothedecisiontreeandvectormachine,themathematicalalgorithmisfullofmagicalpowerallthetime.Thisarticletalksabouttheapplicationofmathematicalalgorithmsintheindustryandintroducesmainstreamalgorithmsinvariousindustries.SuchastherecommendationalgorithmofshoppingAPPAPP,theantcolonyalgorithmoftravelrouteplanning,andthepathfindingalgorithminlargerole-playinggames.Therecommendedalgorithmhasbeendevelopedsofar,andhasexperiencedseveraldevelopmentmodelsandhastheabilitytorecommendhighlypersonalizedcontent.Fromtheinitialrecommendationbasedonhistoricalpreferences,tothecurrentusergroupfeaturerecommendation,neighboringhobbiesarerecommended.ThisarticlecombinesaseriesofAPPslaunchedbyJingdongtohelpexplaintheexcellenceofthenewrecommendationsystem.Theapplicationofantcolonyalgorithmisverywide,busrouteplanning,pathfindingfunctionofmapAPP,vehicleschedulingproblem,etc.Inthisarticle,theexamplesofantcolonyprinciplesalgorithmaremainlyexplored.Theseareplayinganmoreandmoreimportantroleinsomeindustries,suchasgames.ThealgorithmbecomethecornerstoneofthegameAIfield.Thesearchpathisthebasicfunctionofthegame,butitisalsoanindicatoroftheexcellentgameproduction.ThecurrentmainstreampathfindingalgorithmistheAstaralgorithm.Keywords:Mathematicalalgorithm,industry,principle,recommendationalgorithm,antcolonyalgorithm,Astar

目錄1緒論 緒論1.1現(xiàn)狀及問(wèn)題的提出時(shí)代變遷,很多東西都在變,技術(shù)在更新,我們的生活也發(fā)生了翻天覆地的變化?,F(xiàn)在很火的JAVA,或者有淘汰危險(xiǎn)的iOS,似乎就在說(shuō)明這個(gè)變化。但是,算法是永恒的,這一點(diǎn)沒有爭(zhēng)議。算法,就好比數(shù)據(jù)結(jié)構(gòu)、編譯原理、關(guān)系型數(shù)據(jù)庫(kù)原理、計(jì)算機(jī)體系結(jié)構(gòu)等等這些,遠(yuǎn)比日新月異的語(yǔ)言重要的多。這些都是本質(zhì),是萬(wàn)變不離其宗的東西。通俗來(lái)說(shuō)算法是數(shù)學(xué)理論和工程的結(jié)合,是一門十分十分神奇的學(xué)問(wèn),自上個(gè)世紀(jì)九十年代,全世界就流行著一種“算法競(jìng)賽”—即ACM\ICPC,一項(xiàng)以三個(gè)人為一支隊(duì)伍,在有限時(shí)間內(nèi)對(duì)題目通過(guò)編程進(jìn)行解決的同場(chǎng)競(jìng)技??上驳氖牵l(fā)展到如今,很多人加入了進(jìn)來(lái),這說(shuō)明算法已經(jīng)的到他們的重視。并且優(yōu)秀的人不光顧著自己,更是想著整個(gè)ACM的前途。但同時(shí)可悲的是,因?yàn)锳CM受到足夠的重視,這種初衷為提高自身算法功力的比賽,逐漸變得功利。到如今,計(jì)算機(jī)運(yùn)算這么快,還需要算法嗎?我們對(duì)計(jì)算機(jī)的要求一直在提高,計(jì)算機(jī)的計(jì)算能力每年都在飛快增長(zhǎng)。但同時(shí)需要處理的信息量也呈指數(shù)增長(zhǎng),現(xiàn)在每人每天都會(huì)創(chuàng)造出大量數(shù)據(jù)(視頻、錄音,圖片等等)。在量子研究領(lǐng)域,實(shí)驗(yàn)產(chǎn)生的許多數(shù)據(jù)幾乎是以TB為單位的,但硬件設(shè)施不夠先進(jìn),計(jì)算能力和存儲(chǔ)能力欠佳,導(dǎo)致科學(xué)家要將大量未經(jīng)處理過(guò)得數(shù)據(jù)舍棄。不限于此,在眾多科研領(lǐng)域,科學(xué)技術(shù)的進(jìn)步,研究方法的改進(jìn)和發(fā)展,實(shí)驗(yàn)產(chǎn)生的數(shù)據(jù)量更是達(dá)到新的高度,機(jī)器學(xué)習(xí),語(yǔ)音識(shí)別,仍只能等等,都需要極大的數(shù)據(jù)量和計(jì)算量。在其他方面,算法也逐漸成為舞臺(tái)主角。醫(yī)療方面,人類已經(jīng)探索基因治療多年,算法可能會(huì)幫助科學(xué)家發(fā)明新的治療辦法,拯救生命。在國(guó)防領(lǐng)域,恐怖事件的預(yù)防進(jìn)一步提升了成功概率。據(jù)悉,“911”事件的發(fā)生本可以預(yù)防發(fā)生,但因?yàn)槊绹?guó)情報(bào)局每天收到的消息量巨大,無(wú)法及時(shí)有效處理,遺漏了重要的“舉報(bào)郵件”,間接導(dǎo)致了襲擊事件的發(fā)生。在氣象領(lǐng)域,合理運(yùn)用算法能夠預(yù)測(cè)大自然氣象災(zāi)害,地震,海嘯,風(fēng)暴。我們需要認(rèn)識(shí)的是,創(chuàng)新對(duì)創(chuàng)造價(jià)值及提高生活水平都起到關(guān)鍵作業(yè),所以算法自大規(guī)模運(yùn)用以來(lái)的信息技術(shù)系統(tǒng)就為人們創(chuàng)造了數(shù)萬(wàn)億美元,技術(shù)的更新應(yīng)用,使得行業(yè)的規(guī)模迅速擴(kuò)大,數(shù)據(jù)爆發(fā)式增長(zhǎng)。有目的的對(duì)這些數(shù)據(jù)進(jìn)行搜集及高性能計(jì)算機(jī)技術(shù)使得算法在各個(gè)行業(yè)的應(yīng)用成為可能,且在近幾年得到快速發(fā)展。所以,把社會(huì)的發(fā)展放到數(shù)據(jù)爆發(fā)增長(zhǎng)的大環(huán)境里,算法的重要性顯而易見。1.2研究的目的和意義大數(shù)據(jù)包時(shí)代蘊(yùn)藏著巨大的深度知識(shí)和價(jià)值,我們要采取有效的技術(shù)和運(yùn)用不同的算法對(duì)數(shù)據(jù)進(jìn)行分析、處理、整理,從而發(fā)現(xiàn)數(shù)據(jù)隱藏規(guī)律即數(shù)據(jù)價(jià)值。在互聯(lián)網(wǎng)和其他行業(yè),每個(gè)推薦內(nèi)容,每位新用戶的進(jìn)入,出行的每條路線,游戲中的每次尋路都是算法在當(dāng)中搭線,研究算法,使我們?cè)诜治觥⑻幚韱?wèn)題時(shí)顯得得心應(yīng)手,高效率,搞精度,大大提高輸出價(jià)值,最終實(shí)現(xiàn)各種高附加值的增值服務(wù)和應(yīng)用,為行業(yè)帶來(lái)源源不斷的經(jīng)濟(jì)效益和社會(huì)效益。2相關(guān)理論和研究回顧2.1算法的概念簡(jiǎn)單來(lái)說(shuō),算法是計(jì)算機(jī)解決問(wèn)題的步驟。除了數(shù)據(jù)處理,在現(xiàn)實(shí)世界里,各種問(wèn)題也需要結(jié)合算法的概念來(lái)解決,最生動(dòng)的有代表性的就是烹飪中的食譜,食譜是各種料理的制作方法,需要一定步驟表示出來(lái)算法必須具備兩個(gè)重要條件,有效性和終止性。有效性,即算法必須要為給定的任務(wù)給出正確的結(jié)果,即,當(dāng)有滿足條件的輸入值,算法一定要保證正常的工作(能返回正確的輸出值)。判斷算法有的效性就是斷點(diǎn)。斷點(diǎn)在算法的任意位置上,判斷此位置是否滿足條件,即,程序能否正確運(yùn)行。終止性,算法不會(huì)永無(wú)止境的執(zhí)行,即,不會(huì)無(wú)限循環(huán),不返回答案的情況。算法的終止性需要用反復(fù)處理結(jié)束條件的判斷變量,或經(jīng)過(guò)有限次的反復(fù)后,肯定能達(dá)到結(jié)束條件等證明方法。2.2算法的發(fā)展歷程中文“算法”的概念來(lái)自古文《\t"/item/%E7%AE%97%E6%B3%95/_blank"周髀算經(jīng)》,算法意識(shí)在中國(guó)古代就存在,先輩創(chuàng)造了許多充滿智慧的數(shù)學(xué)運(yùn)算法,如秦九韶算法,可以描述一組特殊序列的外觀數(shù)列...西方數(shù)學(xué)界第一次出現(xiàn)算法概念是在9世紀(jì),由al-Khwarizmi提出。對(duì)當(dāng)今世界算法發(fā)展起推動(dòng)作用的主要是在西方科學(xué)界,阿拉伯語(yǔ)中,“算法”是運(yùn)算法則的意思,世界上第一個(gè)算法是歐幾里得算法,AdaByron編寫了第一個(gè)程序,用來(lái)解決伯努利問(wèn)題。在20世紀(jì),著名數(shù)學(xué)家圖靈提出了一個(gè)著名的理論——“圖靈理論”,是用來(lái)描述宇宙中存在的自相似性的。圖靈還提出了一種計(jì)算機(jī)假象模型——“圖靈機(jī)”,這解決了算法定義難的問(wèn)題,對(duì)算法的發(fā)展起了巨大的推動(dòng)作用2.3算法的特點(diǎn)和要素2.3.1特點(diǎn)首先,一個(gè)算法是有限的,也就是它的步驟是有限的,只執(zhí)行有限次運(yùn)算。然后,算法的任一步驟都要有嚴(yán)格地定義,執(zhí)行時(shí)不能出現(xiàn)歧義。再者,在運(yùn)行算法之前,要給變量賦值,也可以在運(yùn)行過(guò)程中動(dòng)態(tài)地賦給變量值。除此三個(gè)特點(diǎn),還有兩個(gè)簡(jiǎn)單但必要的點(diǎn),一是算法運(yùn)行結(jié)束的時(shí)候可以輸出結(jié)果,而是算法所有的步驟可以在人工用紙和筆,在有限時(shí)間內(nèi)正確運(yùn)算出結(jié)果有效性。即五個(gè)特點(diǎn):有限性,確定性,輸入,輸出,有效性。2.3.2要素算法的要素包括兩大點(diǎn),數(shù)據(jù)對(duì)象的運(yùn)算和操作,和算法的控制結(jié)構(gòu)。前者包括四個(gè)點(diǎn),“加、減、乘、除”的算術(shù)運(yùn)算,“或、且、非”等邏輯運(yùn),“大于,小于、等于”等關(guān)系運(yùn)算,“輸出和輸出、賦值”等數(shù)據(jù)傳輸。后者決定了算法的各操作之間的執(zhí)行順序[1]2.4算法應(yīng)用概述算法在互聯(lián)網(wǎng)行業(yè)的應(yīng)用可謂是十分火熱,各種閱讀APP使用的推薦算法,購(gòu)物APP的分類聚類算法等等。除了互聯(lián)網(wǎng),公共生活的方方面面也有算法的存在,比如公交線路的分配的遺傳算法,信息檢索當(dāng)中的語(yǔ)義分析算法...在游戲行業(yè),算法也是一個(gè)游戲的生命源泉,算法界流傳著這樣一句話,“沒有算法,就沒有馬化騰的游戲帝國(guó)”。接下來(lái)本文將介紹目前交流性的幾類算法,及游戲行業(yè)中十分重要的幾類算法。3推薦算法在互聯(lián)網(wǎng)行業(yè)的應(yīng)用傳統(tǒng)互聯(lián)網(wǎng)分為上半場(chǎng)和下半場(chǎng),上半場(chǎng)是在競(jìng)爭(zhēng)消費(fèi)互聯(lián)網(wǎng),互聯(lián)網(wǎng)大頭們都在爭(zhēng)奪C(costume消費(fèi)者)端的用戶,用戶的生活信息具有極高的價(jià)值。人們用手機(jī)打車、購(gòu)物、看新聞、聊天BATJTMD互聯(lián)網(wǎng)公司一躍成為獨(dú)角獸,在1、2級(jí)市場(chǎng)收貨資本的紅利?;ヂ?lián)網(wǎng)大頭肆無(wú)忌憚地消耗著C端人口紅利,消費(fèi)互聯(lián)網(wǎng)的高利益期將成為過(guò)去產(chǎn)業(yè)互聯(lián)網(wǎng)即將接手。未來(lái)的紅利將來(lái)自產(chǎn)業(yè)互聯(lián)網(wǎng),它的體量是消費(fèi)互聯(lián)網(wǎng)的百倍之多,縱觀互聯(lián)網(wǎng)發(fā)展歷史,無(wú)論是消費(fèi)互聯(lián)網(wǎng),還是產(chǎn)業(yè)互聯(lián)網(wǎng),說(shuō)到底,都是企業(yè)、廠家在找人,連接人,服務(wù)人。消費(fèi)互聯(lián)網(wǎng)問(wèn)世之前,倘若沒有產(chǎn)業(yè)互聯(lián)網(wǎng)做好了鋪墊,消費(fèi)互聯(lián)網(wǎng)也只能是浮云,始終是幻想的東西。在互聯(lián)網(wǎng)戰(zhàn)爭(zhēng)的上半部分,互聯(lián)網(wǎng)公司是主角,他們主導(dǎo)發(fā)展的趨勢(shì),人們的口味,他們身上的標(biāo)簽是顛覆者。但在下半場(chǎng)。服務(wù)者成為了互聯(lián)網(wǎng)公司的角色,不限于互聯(lián)網(wǎng)公司,各種企業(yè),無(wú)論新型企業(yè)還是傳統(tǒng)企業(yè),都將自己置于互聯(lián)網(wǎng)的根基之上,運(yùn)用數(shù)字化完成轉(zhuǎn)型,形成新的競(jìng)爭(zhēng)力。[2]互聯(lián)網(wǎng)企業(yè)要有競(jìng)爭(zhēng)力,現(xiàn)階段的有力武器,就是算法!微博在2017年率先加入發(fā)現(xiàn)流,內(nèi)容分發(fā)邏輯大變天。正因?yàn)榭吹剿惴悆?nèi)容的強(qiáng)勢(shì)崛起,網(wǎng)易、騰訊、京東、虎撲都推出信息流產(chǎn)品。將推薦算法實(shí)際運(yùn)用的第一人是豆瓣,在PC時(shí)代,它的推薦內(nèi)容已經(jīng)是以算法為基礎(chǔ)形成的內(nèi)容劉,虎撲APP也在2017年首頁(yè)改版后實(shí)行了以關(guān)注內(nèi)容為基礎(chǔ)的推薦分發(fā)。但局限于當(dāng)時(shí)的技術(shù),特別是深度學(xué)習(xí)這方面,內(nèi)容的個(gè)性化和推薦精度備受網(wǎng)友批評(píng)。隨著算法的發(fā)張,AI也逐漸成熟起來(lái),將之應(yīng)用于推薦系統(tǒng)也越來(lái)越熟練,推薦效率高,精準(zhǔn)度高,實(shí)現(xiàn)網(wǎng)友千人千面,比網(wǎng)友更懂網(wǎng)友。3.1主流的推薦算法目前行業(yè)內(nèi)主流的推薦算法有兩種,一個(gè)是基于內(nèi)容推薦,另一個(gè)是協(xié)同過(guò)濾推薦,前者以產(chǎn)品關(guān)聯(lián)度作為基礎(chǔ),將歷史購(gòu)買商品作為規(guī)則的前提,通過(guò)大數(shù)據(jù)挖掘?qū)ふ矣脩舻臐撛陉P(guān)系而進(jìn)行的規(guī)則推薦;后者通過(guò)收錄后臺(tái)用戶交易歷史記錄和挖掘用戶評(píng)論,對(duì)其做語(yǔ)義分析的,得出用戶的興趣特征,將這作為用戶未來(lái)的購(gòu)物趨勢(shì),同時(shí),可以得到用戶歷史購(gòu)買商品的特征,通過(guò)商品的特征匹配度和最鄰近用戶匹配機(jī)制,向用戶推薦內(nèi)容。[3]3.1.1基于內(nèi)容的推薦算法(CB)以用戶歷史喜好商品,向用戶推薦相似的商品,是CB算法的思想,這種思想的關(guān)鍵是得到物品相似性。原理分為三步:構(gòu)建物品的屬性資料,然后是用戶的喜好資料,最后是計(jì)算屬性資料和喜好資料相似度,值越高,說(shuō)明物品與用戶的匹配度越高。現(xiàn)在,選擇用戶U,遍歷用戶,計(jì)算每個(gè)物品的屬性資料和用戶U的喜好資料的相似度并排序,將相似度最高的K個(gè)物品推薦給用戶U第一步:Itemprofile推薦的物品(Item,一本書)和要推薦物品出版時(shí)間等等的屬性(itemprofile,它必須是詳細(xì)和具體的,如作者,出版機(jī)構(gòu),書的類別)第二步:RepresentingItemProfile例如一本書,ABCbook,假設(shè)itemprofile里只有作者,這樣itemprofile就可以表示為{A,B,C}(作者A,B,C);再將itemprofile映射為程序能讀懂的數(shù)據(jù)結(jié)構(gòu),此時(shí)將itemprofile轉(zhuǎn)換為0,1矩陣,1)構(gòu)建一個(gè)1位矩陣,n表示全部作者,將所有元素設(shè)置為0,[0,0,0,0],一共有n個(gè)02)假設(shè)0號(hào)元素代表作者A,1號(hào)元素代表B,2號(hào)元素代表C,3號(hào)元素代表D,等等3)將itemsprofile里的內(nèi)容對(duì)應(yīng)到1個(gè)一維矩陣,如果作者名是A,B,C,那么ABCbook的0,1矩陣是[1,1,1,0,0,0,0,0,0,0,0],那么可以看出,ABCbook的作者是0,1,2號(hào)元素,即作者。第三步:UserProfile模型建立完成后,要為構(gòu)造UserProfile,即用戶建模,這相當(dāng)于用戶的偏好,偏好可以設(shè)定為對(duì)作者的喜好程度。例如,一個(gè)評(píng)分?jǐn)?shù)據(jù)(滿分5分,對(duì)每本書的評(píng)價(jià),空的表示沒有評(píng)分)。[4]《JAVA設(shè)計(jì)》《操作系統(tǒng)》《算法分析》小力453小森14可以看出,小力更喜歡《算法分析》和《操作系統(tǒng)》這兩本書,假設(shè)兩本書的作者都包含A,那我們可以推出小力更喜歡作者A的書。然后,構(gòu)建小力的UserProfile,如下所示:算出小力的平均分,ACG=(3+5+4)/3=4利用公式求出小力對(duì)作者A的喜好程度,Xi是涉及作者A的所有因素,也是小力評(píng)過(guò)書的分?jǐn)?shù),AVG是平均分,n是所有涉及作者A的且是小力評(píng)過(guò)分的書的數(shù)量:(4-4+5-4)/2=0.5,即小力對(duì)作者A的喜好程度可以用值0.5來(lái)表示同樣可以建立1個(gè)矩陣,其中的元素表示每個(gè)演員的喜好程度[0.5,x,y,,z],首個(gè)元素“0.5”表示小力對(duì)作者A的喜好度第四步:計(jì)算推薦依據(jù)利用余弦相似度公式計(jì)算用戶U和ItemL之間的距離:相似度越大,U越可能喜歡L,公式如下:其中,Ai為Ui,表示U對(duì)作者i的喜好度(即UserProfile矩陣的作者A對(duì)應(yīng)值,0.5)Bi表示書本的作者里是否包含i(即1為ItemProfile矩陣中作者a的對(duì)應(yīng)值)第五步:推薦計(jì)算余弦相似度,即小力與每位作者之間的余弦相似度,將值最高的前K個(gè)本書推薦給小力。這種推薦算法的優(yōu)點(diǎn)是具有用戶獨(dú)立性,推薦結(jié)果只和當(dāng)前用戶的興趣模型有關(guān),與其他用戶無(wú)關(guān),可避免惡意作弊行為;二是推薦具有解釋性,推薦給用戶的內(nèi)容是根據(jù)用戶之前的行為產(chǎn)生的;三是可以推薦特征與用戶興趣匹配的物品。但缺點(diǎn)也很明顯。首先,項(xiàng)目特征是難獲取的,電影和網(wǎng)絡(luò)中的人的特征不好抽?。黄浯?,推薦內(nèi)容只根據(jù)用戶的歷史喜好產(chǎn)生,缺乏新意;最后,這種算法無(wú)法為新用戶作推薦,因?yàn)樾掠脩魶]有喜好歷史,不能建立興趣模型。[4]3.1.2協(xié)同過(guò)濾推薦協(xié)同過(guò)濾推薦算法(?CF)是推薦系統(tǒng)中應(yīng)用最成功和應(yīng)用范圍最廣的一種算法,它假設(shè)前提是用戶A與用戶B均感興趣與相同的一系列物品,那么A很有可能也喜歡B用戶喜好的物品。該算法的思想:用戶先為每個(gè)項(xiàng)目打分,通過(guò)計(jì)算不同用戶的評(píng)分之間的相似度(評(píng)分結(jié)果相似的),找到最鄰近的評(píng)分,產(chǎn)生推薦。下面舉例說(shuō)明。一種有4位用戶,7本書,每位用戶對(duì)每本書的評(píng)價(jià)矩陣如下(滿分為5分)book1book2book3book4book5book6book7小力451小森55442小張2154小趙33第一步:尋找與小力品味最接近的用戶即分?jǐn)?shù)最接近的用戶,如上表,小力對(duì)book1和book4兩本書的評(píng)價(jià)極高,book5極低,通過(guò)觀察可以發(fā)現(xiàn),小森對(duì)book1和book4評(píng)價(jià)也很高,對(duì)book5評(píng)價(jià)也較低,因此,小力和小森的品味較為接近,小森就是小力的最鄰近用戶。當(dāng)用戶數(shù)量多起來(lái)時(shí),就不能簡(jiǎn)單地找到小力的鄰居用戶了,所以建立一個(gè)模型來(lái)尋找小力的鄰居用戶,如果把表格中每一行看作是一個(gè)向量,這個(gè)向量就用來(lái)表示用戶的喜好,此時(shí)可以繼續(xù)用余弦相似度來(lái)衡量?jī)蓚€(gè)用戶的喜好相似度。此時(shí)得分公式為:R為評(píng)定矩陣,用來(lái)表示用戶對(duì)書的評(píng)分,ui和y表示某用戶對(duì)某本書的評(píng)分,cos表示u1和u2的相似度。分母的y表示u1和u2各自的評(píng)價(jià)集合,分子中的y表示u1與u2評(píng)分的交集。第二步:以最近鄰居用戶為依據(jù)來(lái)預(yù)測(cè)小力的評(píng)分制遍歷所有的用戶,小力與每個(gè)用戶都計(jì)算出一個(gè)相似度,排序后選擇前10個(gè)最高的用戶來(lái)作為小力的鄰近用戶,并用這10個(gè)鄰居用戶的評(píng)分來(lái)給小力作推薦。公式如下:Predict(u,i)表示用u對(duì)音樂(lè)i的分?jǐn)?shù)預(yù)測(cè)值,U就是用戶u的最鄰近用戶集合(如前10個(gè)最鄰近用戶集合),R是評(píng)定矩陣;Rv,i表示鄰近用戶v對(duì)書i的評(píng)分,cos(u,v)就表示用戶u對(duì)v的余弦相似度第三步:推薦將一些小力從未聽過(guò)的書本(小力未評(píng)過(guò)分的書),利用Predict(u,i)排序,選擇前1個(gè)P值高的書本推薦給小力。這種推薦算法的優(yōu)點(diǎn),一是能過(guò)濾掉及其難以自動(dòng)分析的信息,藝術(shù)品,音樂(lè);二是參考了他人的喜好,能夠過(guò)濾掉感性方面的因素;三是可推薦新信息,挖掘潛在愛好;四是推薦個(gè)性化搞,能有效利用其他相似用戶的反饋信息,加速個(gè)性化學(xué)習(xí)進(jìn)程。但這種算法同樣存在缺點(diǎn)。首先,推薦的初期,因?yàn)槿鄙僮銐虻挠脩?,系統(tǒng)推薦質(zhì)量差;其次,它也受限于歷史數(shù)據(jù)。[5]3.2互聯(lián)網(wǎng)的智能推薦系統(tǒng)挖掘用戶潛在價(jià)值,增加用戶對(duì)商品的體驗(yàn),縮短用戶與商品間的距離,是電商領(lǐng)域關(guān)注的重點(diǎn)。京東可以作為這一領(lǐng)域的代表,京東起步于2012年,它的購(gòu)物APP頁(yè)面里的推薦內(nèi)容是基于規(guī)則匹配的。內(nèi)容松散,沒有依據(jù),沒有算法發(fā)揮作用。2013,大數(shù)據(jù)算法應(yīng)用快速普及,飛速發(fā)展,京東的業(yè)務(wù)也上升迅速,推薦團(tuán)隊(duì)為應(yīng)對(duì)此大環(huán)境,設(shè)計(jì)了全新的、專門的推薦系統(tǒng)。[6]互聯(lián)網(wǎng)時(shí)代來(lái)臨,多屏互通(app,PC商城,微信小程序),推薦內(nèi)容從商品推薦慢慢轉(zhuǎn)向其他類型的推薦,如分類、活動(dòng)、優(yōu)惠券、文章、好貨等等?;诖髷?shù)據(jù),向不同用戶展示不同內(nèi)容。16年“雙11”期間個(gè)性化推薦大放異彩,特別是“個(gè)性化賣場(chǎng)”,實(shí)現(xiàn)活動(dòng)會(huì)場(chǎng)的智能分發(fā),不僅降低了人工成本,商家從中獲利,用戶的購(gòu)物體驗(yàn)和流量分配效率也極大的增強(qiáng)和提高。另外,此產(chǎn)品也獲得了集團(tuán)2016年優(yōu)秀產(chǎn)品稱號(hào)。推薦產(chǎn)品的發(fā)展歷程主要經(jīng)歷了幾個(gè)階段。費(fèi)費(fèi)首頁(yè)猜你喜歡購(gòu)物車拆你喜歡免運(yùn)費(fèi)湊單2016京東秒殺智能賣場(chǎng)東家校園看了還看買了還買看相似找搭配LOREMIPSUM3.2.1多屏互通產(chǎn)品多屏互通是非常流行的推薦類型,包括了各種類型的推薦。在互聯(lián)網(wǎng)時(shí)代,特別是移動(dòng)端互聯(lián)網(wǎng)發(fā)展迅速的年代,多屏互通場(chǎng)景應(yīng)用非常普遍,不同用戶在多屏中產(chǎn)生的信息,被后臺(tái)收集,使推薦內(nèi)容更加精確,更有個(gè)性化。多屏互通的技術(shù)基礎(chǔ)是在前端記錄用戶觸發(fā)的隱藏點(diǎn),用戶觸發(fā)了這些隱藏點(diǎn),也可稱為隱藏事件,觸摸系統(tǒng)會(huì)反饋這些信息。這些行為數(shù)據(jù)在實(shí)時(shí)流量計(jì)算平臺(tái)用標(biāo)簽記為行為偏好,從而根據(jù)用戶的行為偏好對(duì)推薦內(nèi)容重排序,達(dá)到個(gè)性化推薦的目的。京東多屏終端如下展示。3.2.2推薦系統(tǒng)架構(gòu) 通過(guò)全面精準(zhǔn)的數(shù)據(jù)分析用戶未來(lái)的購(gòu)買傾向,設(shè)計(jì)并推薦用戶有購(gòu)買意圖的項(xiàng)目,吸引用戶的注意力,提高訂單的成功率,增強(qiáng)用戶的粘性。推薦系統(tǒng)的業(yè)務(wù)體系結(jié)構(gòu)如下。在開發(fā)的初始階段,推薦系統(tǒng)相對(duì)簡(jiǎn)單,每個(gè)推薦產(chǎn)品都是獨(dú)立服務(wù)的實(shí)現(xiàn)。設(shè)計(jì)新的推薦系統(tǒng)是系統(tǒng)工程,需要算法和人機(jī)交互及數(shù)據(jù)結(jié)構(gòu)架構(gòu)的幫助。它的目標(biāo),是通過(guò)特殊的數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí),將千人一面變?yōu)榍饲?,提高用戶的依賴度和用戶體驗(yàn),提高用戶購(gòu)物的效率,提升網(wǎng)站關(guān)聯(lián)銷售能力,減小用戶購(gòu)物復(fù)雜度。最新的個(gè)性化推薦系統(tǒng)支持多種類型,不再限于商店和優(yōu)惠券,還包括關(guān)聯(lián)喜好品牌,活動(dòng)和歷史購(gòu)買的定制服務(wù)。新版推薦系統(tǒng)的架構(gòu)如下。[7] 上圖中的不同顏色代表不同的業(yè)務(wù)場(chǎng)景:數(shù)據(jù)處理(低級(jí)綠色),包括數(shù)據(jù)預(yù)處理,機(jī)器學(xué)習(xí),在線實(shí)時(shí)數(shù)據(jù)訪問(wèn),實(shí)時(shí)特征計(jì)算。推薦平臺(tái)(藍(lán)色)反映了推薦系統(tǒng)的模塊之間為響應(yīng)用戶請(qǐng)求而建立的關(guān)系。推薦系統(tǒng)需要做到以下幾點(diǎn)才能稱之為優(yōu)秀,支持產(chǎn)品快速迭代、推薦引擎計(jì)算和解耦、存儲(chǔ)資源和解耦、系統(tǒng)架構(gòu)算法和解耦、自定義隱藏事件設(shè)立和埋點(diǎn)。解耦即為將運(yùn)動(dòng)分離開,再進(jìn)行分析和處理。3.2.3數(shù)據(jù)收集與處理用戶數(shù)據(jù)得收集與處理要用到一個(gè)重要的數(shù)據(jù)平臺(tái)BPRCSS,數(shù)據(jù)得采集一般與平臺(tái)應(yīng)用有關(guān),在京東方面,京東PC端,移動(dòng)端的用戶操作都和數(shù)據(jù)采集有關(guān)。觸摸流收到請(qǐng)求后,會(huì)定期自動(dòng)發(fā)送實(shí)時(shí)消息和本地日志到大數(shù)據(jù)平臺(tái),實(shí)時(shí)消息用于業(yè)務(wù)實(shí)時(shí)計(jì)算,本地日志用于計(jì)算離線模型。平臺(tái)仲裁員使用機(jī)器學(xué)習(xí)的方法訓(xùn)練模型,并將之用于推薦系統(tǒng)。系統(tǒng)會(huì)根據(jù)之前的訓(xùn)練影響用戶的購(gòu)物決定,幫助用戶做決策,用戶完成購(gòu)物后,購(gòu)物的行為數(shù)據(jù)將會(huì)發(fā)回觸控流,實(shí)現(xiàn)環(huán)繞式數(shù)據(jù)收集。離線模型和功能,用戶和產(chǎn)品肖像,用戶行為比較多的結(jié)合搭配離線計(jì)算平臺(tái),Hadoop的MapReduce是主要的運(yùn)算工具,也有一些是在Spark上進(jìn)行的,計(jì)算的結(jié)果利用共享衍生工具傳入數(shù)據(jù)庫(kù)中??紤]到各種業(yè)務(wù)類型,復(fù)雜類型和多種存儲(chǔ)類型,該團(tuán)隊(duì)開發(fā)了插件衍生工具,以降低離線數(shù)據(jù)開發(fā)和維護(hù)的成本。數(shù)據(jù)離線計(jì)算架構(gòu)如下圖所示。與離線計(jì)算相比,在線計(jì)算的應(yīng)用對(duì)象主要是實(shí)時(shí)數(shù)據(jù),包括用戶實(shí)時(shí)行為,畫像,反饋,產(chǎn)品的人機(jī)交互特征計(jì)算等。由業(yè)務(wù)需求獲取用戶感興趣的產(chǎn)品和,在線計(jì)算可以實(shí)時(shí)反饋用戶的建議和排名,為用戶設(shè)計(jì)獨(dú)特的個(gè)性化服務(wù),并推到redis集群和hbase集群進(jìn)行儲(chǔ)存。Kafka和JMQ的消息訂閱是在線計(jì)算主要的實(shí)時(shí)信息來(lái)源。3.2.4推薦引擎?zhèn)€化推薦的關(guān)鍵是推薦引擎,引擎的常規(guī)處理過(guò)程是召回候選集,過(guò)濾,使用算法模型評(píng)分,模型融合排序,結(jié)果多樣化展示。主要使用的技術(shù)是機(jī)器學(xué)習(xí)模型,挖掘商品間的關(guān)系,按用戶場(chǎng)景,計(jì)算高維特征,大量排序模型,進(jìn)行個(gè)性化推薦,提升排序效果,給用戶良好的購(gòu)物感受。推薦引擎的技術(shù)架構(gòu)如下。3.2.5合并在用戶肖像信息和用戶對(duì)應(yīng)最年輕行為的相應(yīng)反饋之后并且,選擇過(guò)濾器的各種提醒,規(guī)則,商品候選,商品特征,用戶和交叉特征,算法根據(jù)這些特征在每個(gè)商品之后計(jì)算候選人得分。關(guān)于商品分類的結(jié)果和豐富的理由是建議的,考慮到用戶體驗(yàn),推薦的最終結(jié)果順序-適應(yīng)性,如多樣性展示。3.2.6用戶畫像與其他制造商不同,京東擁有最長(zhǎng)的價(jià)值鏈和數(shù)據(jù)積累的整個(gè)過(guò)程。京東數(shù)據(jù)的特點(diǎn)非常全面。數(shù)據(jù)鏈接記錄每個(gè)用戶操作的每一步:從登錄到搜索,瀏覽,選擇商品,頁(yè)面停留時(shí)間,閱讀閱讀,是否關(guān)注促銷,以及添加購(gòu)物車,下訂單,付款,分發(fā)方法,是否有售后和維修。記錄整個(gè)用戶購(gòu)物行為的完整數(shù)據(jù)。通過(guò)對(duì)這些用戶行為和相關(guān)場(chǎng)景的分析,構(gòu)建了京東的用戶肖像。如下圖所示。其中,不僅有用戶的性格,性別,購(gòu)物習(xí)慣,還有大量基于購(gòu)物行為的數(shù)據(jù),如是否結(jié)婚,是否有孩子,是否對(duì)促銷敏感等等。此外,實(shí)時(shí)用戶肖像可以在幾秒鐘內(nèi)分析用戶的購(gòu)買意圖和實(shí)時(shí)興趣偏好。用戶肖像廣泛應(yīng)用于北京和華東地區(qū)各種終端的推薦產(chǎn)品。在618中推出的智能商店是用戶肖像的典型應(yīng)用場(chǎng)景。智能商店的產(chǎn)品包括尋找好產(chǎn)品,個(gè)性化地板,秒殺,活動(dòng),優(yōu)惠券,分類,標(biāo)簽等。以secondkill為例,推薦結(jié)果將根據(jù)當(dāng)前用戶肖像的肖像模型(性別,年齡,促銷敏感度,類別偏好,購(gòu)買力)進(jìn)行加權(quán),以便用戶最有趣的產(chǎn)品排名第一。用戶肖像也是場(chǎng)景推薦的核心基礎(chǔ)。以業(yè)主庭院為例,根據(jù)用戶的歷史行為聚合了許多場(chǎng)景標(biāo)簽,并根據(jù)當(dāng)前用戶的肖像模型調(diào)整場(chǎng)景標(biāo)簽的順序。如果用戶選擇“治愈所有疾病”的標(biāo)簽,推薦的產(chǎn)品將根據(jù)用戶肖像中的性別,年齡,類別和促銷敏感度的肖像模型進(jìn)行重新排序。特征是推薦系統(tǒng)是否體現(xiàn)個(gè)性化的基礎(chǔ),其中,共同特征是重要的一點(diǎn),它分為單邊和多邊特征,多變特征一般是雙邊特征。前者指對(duì)象屬性的描述,如顏色;后者描述兩個(gè)對(duì)象的交互程度,例如用戶在歷史記錄瀏覽過(guò)的品牌與候選集中的品牌之間的匹配程度。而生成特征的場(chǎng)景里,可以分為離線和實(shí)時(shí)特征。無(wú)論是離線特征還是實(shí)時(shí)特征,推薦內(nèi)容的效果和特征玩哪個(gè)計(jì)算能力都受到特征的直接影響,也影響個(gè)性化推薦的處理能力。此外,共享和重用特征可以提高迭代速度并節(jié)省人力成本。特征數(shù)據(jù)的計(jì)算是服務(wù)管理平臺(tái)的職能,平臺(tái)有效地進(jìn)行聲明和管理數(shù)據(jù),實(shí)現(xiàn)特征資源的共享和重用。特色服務(wù)平臺(tái)可以快速滿足有效申報(bào),在線,測(cè)試和A/B實(shí)驗(yàn)效果比較的不同特征要求,使特征得以維護(hù),解釋和驗(yàn)證。特征服務(wù)平臺(tái)的主要特征如下:離線特征的定制使用,在線特征的自定義使用,定制特征生成的新功能,一些特征和模型的在線申報(bào),不同特征的快速A/B。建議的一般處理邏輯是在每個(gè)請(qǐng)求時(shí)調(diào)用一批貨物,然后根據(jù)用戶的行為數(shù)據(jù)和用戶模型計(jì)算每個(gè)產(chǎn)品的特征。由特征計(jì)算得到商品得分,算法模型根據(jù)每種商品的得分,選擇得分最高的幾種商品推薦給用戶。在線計(jì)算特征是一次性行為,不會(huì)被記錄。因此,如果我們想在離線培訓(xùn)模型中使用上述特征,我們需要在離線機(jī)器上再次計(jì)算這些特征。不幸的是,離線計(jì)算的特征通常與在線計(jì)算的特征不同,這導(dǎo)致模型訓(xùn)練效果不佳。推薦服務(wù)呼叫推薦引擎。推薦引擎通過(guò)功能回放服務(wù)記錄方案功能,并將它們輸入到大數(shù)據(jù)平臺(tái)。機(jī)器學(xué)習(xí)模型會(huì)根據(jù)特征數(shù)據(jù)訓(xùn)練新的算法模型,對(duì)推薦內(nèi)容進(jìn)行重排序,形成場(chǎng)景的閉環(huán)推薦,以實(shí)現(xiàn)更準(zhǔn)確的個(gè)性化推薦。場(chǎng)景特征回放技術(shù)的實(shí)現(xiàn)過(guò)程如下。在線功能通常是一系列數(shù)值。我們根據(jù)某些規(guī)則將這些功能組合成一個(gè)字符串,然后使用HTTP的POST方法將這些功能異步發(fā)送到服務(wù)器。 隨著企業(yè)的進(jìn)步和發(fā)展和人們生活方式的變化,推薦系統(tǒng)的更新?lián)Q代一直在進(jìn)行中。在個(gè)人電腦時(shí)代到手機(jī)移動(dòng)端的過(guò)度,從固化的推薦相關(guān)內(nèi)容到個(gè)性推薦,由純商品推薦到多種推薦,個(gè)性化推薦系統(tǒng)已經(jīng)實(shí)現(xiàn)了數(shù)千人。實(shí)際上,個(gè)性化的效果需要提高,經(jīng)驗(yàn)類型的一些問(wèn)題逐漸得到改善。目前,還有很多方面需要改進(jìn),如:豐富的知識(shí)地圖和深入學(xué)習(xí)算法的廣泛應(yīng)用;更好地支持推薦系統(tǒng)中的大規(guī)模召回,高維特征計(jì)算和在線學(xué)習(xí);更實(shí)時(shí),更準(zhǔn)確的推薦;產(chǎn)品已朝著“全屏智能推薦”的方向發(fā)展。最后,我希望個(gè)性化推薦系統(tǒng)可以使購(gòu)物更簡(jiǎn)單,更人性化,更豐富,更好。[8]4公共生活中的蟻群算法4.1蟻群算法(ACO)蟻群算法源自觀察大自然中螞蟻種群的工作行為,如移穴和覓食行為,單只螞蟻的工作效率極低,只能通過(guò)漫無(wú)目的的搜索來(lái)尋找目標(biāo),而螞蟻群體卻可以在巢穴和目標(biāo)之間找到最優(yōu)路徑。學(xué)者在對(duì)自然狀態(tài)下的蟻群做了大量觀察和研究之后,發(fā)現(xiàn)螞蟻可以產(chǎn)生一種名為信息素的物質(zhì),這種物質(zhì)是螞蟻個(gè)體間信息交流的載體。螞蟻會(huì)在通過(guò)的路徑留下這種物質(zhì),其他螞蟻可以感受和追蹤這種物質(zhì)。在蟻群行進(jìn)道路上的信息素越多,其他螞蟻在該道路通過(guò)的概率越大。正是通過(guò)這種間接溝通機(jī)制,螞蟻種群可以實(shí)現(xiàn)搜尋目標(biāo)的最優(yōu)化路線。4.1.1旅行商(TSP)路徑規(guī)劃問(wèn)題

旅行商路徑規(guī)劃問(wèn)題屬于車輛調(diào)度問(wèn)題,也可以稱為推銷員問(wèn)題。該問(wèn)題是選定一個(gè)起點(diǎn),通過(guò)需要駐留或其他進(jìn)行活動(dòng)的需求點(diǎn),再返回原點(diǎn)(起點(diǎn)),目標(biāo)是尋求完成改路徑活動(dòng)的最小成本。如公交線路運(yùn)營(yíng)調(diào)度問(wèn)題就是典型的TSP問(wèn)題4.1.2基本原理A是初始狀態(tài),螞蟻從A出發(fā)。想要到達(dá)E,需要繞過(guò)路上的障礙才能到達(dá)那里。圍繞障礙的兩條路線BC和BH。已校準(zhǔn)每條路徑的距離D.B圖是t=0時(shí)的螞蟻狀態(tài),假設(shè)它是15,每側(cè)有相同的信息素濃度。C圖是在t=1時(shí)刻螞蟻的狀態(tài),信息素濃度發(fā)生變化。從螞蟻覓食的原理可以看出,個(gè)體螞蟻的行為非常簡(jiǎn)單。螞蟻只知道跟蹤信息素爬行和釋放信息素,但組合的群體智能非常高。在復(fù)雜的地理分布下,螞蟻可以很容易地找到螞蟻的食物和食物來(lái)源之間的最短路徑。路徑長(zhǎng)度和信息素濃度成反比例關(guān)系,長(zhǎng)度越短,濃度越高,螞蟻會(huì)更大概率的選擇更短的路徑到達(dá)目的地。在螞蟻種群大量的路徑訓(xùn)練后,巢穴到目標(biāo)的最優(yōu)路徑被找到。整個(gè)過(guò)程可以概括如為,選擇路徑的概率與信息素濃度相關(guān);路徑越短,信息素更新速度越快,即濃度增加越快;螞蟻通過(guò)群體協(xié)同工作傳遞信息。蟻群算法是對(duì)這種自然現(xiàn)象的模仿和改進(jìn),自然螞蟻被人工螞蟻取代。4.2基本步驟在抽取螞蟻路徑之前,根據(jù)每個(gè)時(shí)期的客流量,應(yīng)該進(jìn)行整天。所有時(shí)段均根據(jù)客流的峰值,平峰和低峰進(jìn)行分類。根據(jù)經(jīng)驗(yàn)每個(gè)好班級(jí)都定義了一個(gè)離職研討會(huì)間隔。每個(gè)相應(yīng)的時(shí)間段都很方便。對(duì)應(yīng)一個(gè)可供選擇的發(fā)車間隔區(qū)間。在編程過(guò)程中,為了方便的計(jì)算,有必要將每個(gè)周期中的備選間隔數(shù)設(shè)置為相同,這是不夠的。部分由大量補(bǔ)充。假設(shè)每個(gè)間隔內(nèi)的可選出發(fā)間隔元素的數(shù)量是6,并且第k個(gè)周期的離開研討會(huì)間隔中的元素的數(shù)量由delta表示。選擇性元素校正構(gòu)建了下圖所示的人工智能螞蟻搜索。通過(guò)上面構(gòu)建的總線運(yùn)行調(diào)度網(wǎng)絡(luò)圖,完成了總線運(yùn)行調(diào)度。將該問(wèn)題轉(zhuǎn)化為“TSP”問(wèn)題,建立了總線調(diào)度的蟻群算法模型。公共交通運(yùn)營(yíng)調(diào)度及相關(guān)業(yè)務(wù)和公共交通的蟻群算法中的變量已經(jīng)付諸實(shí)踐。[9]4.3應(yīng)用案例車輛路徑問(wèn)題。限制每一個(gè)客戶點(diǎn)上的需求量,保證車輛路線上的載量在一定程度之內(nèi),將每條路線上的總好時(shí)間設(shè)定在一定范圍之內(nèi)。當(dāng)車輛到達(dá)時(shí)間限制的范圍之內(nèi)時(shí),應(yīng)該滿足客戶對(duì)于供應(yīng)的特殊要求,保障求解算法的繼續(xù)提出。在實(shí)際的應(yīng)用中,利用精確算法可以有效地獲得邏輯模型,并且可以建立一些數(shù)學(xué)表達(dá)式,得出數(shù)目眾多的限制條件。選用基本的蟻群算法模型,可以保證每條路徑上的信息素不會(huì)相差過(guò)多,同時(shí)也不會(huì)影響對(duì)應(yīng)的搜索能力于每條路徑上的信息素濃度受到了限制,在一定程度上就會(huì)導(dǎo)致信息濃度造成算法能力下降,為了可以保證在有效時(shí)間內(nèi)做出判斷,必須要兌現(xiàn)的策略進(jìn)行適當(dāng)?shù)男薷?。每一只螞蟻必須要?jīng)歷所有路徑的節(jié)點(diǎn),這樣才可以確保每一只螞蟻移動(dòng)的次數(shù)是在一定步數(shù)之內(nèi)。以四個(gè)城市間的TSP問(wèn)題為例,用蟻群算法解決問(wèn)題。距離矩陣和城市圖示如下:設(shè)共有3只螞蟻,記為1、2、3號(hào),參數(shù)分別為:信息啟發(fā)式因子α=1,期望啟發(fā)式因子β=2,信息素強(qiáng)度θ=0.5。首先,使用貪心算法求得路徑的(ACDBA),Cnn=1+2+4+3+=10,求得T0=m/Cnn=0.3T(0)=(Tij(0))=然后,為每只螞蟻隨機(jī)地選擇出發(fā)點(diǎn),設(shè)一號(hào)選擇A作為出發(fā)點(diǎn),2號(hào)選擇B作為出發(fā)點(diǎn),3號(hào)選擇D作為出發(fā)點(diǎn)。為使每個(gè)螞蟻訪問(wèn)下一個(gè)城市,以1號(hào)為例,當(dāng)前城市i=A,可以訪問(wèn)城市有B,C,D。計(jì)算1號(hào)訪問(wèn)各個(gè)城市的概率:用輪盤法選擇下一個(gè)訪問(wèn)城市。假設(shè)產(chǎn)生的隨機(jī)數(shù)q=0.05,則1號(hào)會(huì)選擇城市B,2號(hào)選擇城市D,三號(hào)選擇城市A。同理,隨機(jī)數(shù)q=0.68,則1號(hào)會(huì)選擇城市D,2號(hào)選擇城市C,3號(hào)選擇城市D。此時(shí)所有螞蟻都已經(jīng)選擇好路徑。1號(hào):A-B-D-C-A2號(hào):B-D-C-A-B3號(hào):D-A-C-B-D接著計(jì)算每號(hào)螞蟻的路徑,更新每條邊上的信息素。C1=3+4+2+1=10C2=4+2+1+3=10C3=3+2+5+4=12最后,如果滿足結(jié)束條件,則輸出全局最優(yōu)路徑。否則,回到第二部繼續(xù)搜尋。在實(shí)際操作調(diào)度中,調(diào)度員可以首先結(jié)合每個(gè)時(shí)段的經(jīng)驗(yàn)。設(shè)置一定數(shù)量的備用出發(fā)間隔,然后根據(jù)調(diào)查數(shù)據(jù)使用該紙張。采用的方法是根據(jù)乘客的要求,在全天路線上生成公交時(shí)刻表。通過(guò)滾動(dòng)更新流量和交通流量。[10]5數(shù)學(xué)算法的新應(yīng)用領(lǐng)域5.游戲中的算法作為一名魔獸爭(zhēng)霸等MMOARPG游戲的資深玩家,我發(fā)現(xiàn)人們走路很有趣。為了模仿人們行走的真實(shí)體驗(yàn),他們將選擇最近的路線到達(dá)目的地,避開山脈或湖泊,繞過(guò)箱子或樹木直到他們到達(dá)目的地。這個(gè)看似普通的路徑需要一定的路由算法來(lái)解決程序何時(shí)實(shí)現(xiàn)。如何在最短時(shí)間內(nèi)找到最短路徑是路由算法的首要考慮因素。游戲中,玩家可以自己編輯游戲地圖和資源分配,而開發(fā)者需要將地圖轉(zhuǎn)換為數(shù)據(jù)對(duì)象。數(shù)據(jù)結(jié)構(gòu)圖是我們算法運(yùn)算的基礎(chǔ)。從某種意義上說(shuō),網(wǎng)格也是圖形的演變,但圖形已經(jīng)發(fā)生了變化。5.1搜索算法在游戲開發(fā)初期,深度優(yōu)先、寬度優(yōu)先和Dijkstra算法是三種應(yīng)用較廣泛的算法,第一種用于遍歷樹或圖的算法,第二種是圖形搜索算法,常用語(yǔ)探索最短路徑,第三種是有第一種改進(jìn)得來(lái)的,使用貪婪算法計(jì)算,最后生成最短路徑。這三種算法在游戲?qū)ぢ分羞€需要改進(jìn),綜合這些算法的優(yōu)點(diǎn),形成現(xiàn)在游戲行業(yè)地圖尋路使用最廣的A*尋路算法.5.2Astar算法A*的基本原理為,當(dāng)角色要從A地移動(dòng)到B地,B地被墻阻攔。如下圖所示,藍(lán)色部分為墻,紅色方塊為終點(diǎn)。首先,簡(jiǎn)化搜索區(qū)域是尋路的第一步。整個(gè)搜索區(qū)域?yàn)榫仃?,矩陣由正方形方塊組成,這些正方形分成兩種,開通過(guò)和不可通過(guò)。從A點(diǎn)到達(dá)B點(diǎn)經(jīng)過(guò)的方塊記為路徑,只要存在這種路徑,角色就可以從A點(diǎn)到達(dá)B點(diǎn),換言之,游戲中角色就可以從一個(gè)NPC(電腦控制的角色)到達(dá)另一個(gè)NPC處。[11]5.2.1開始搜索接下來(lái)尋找最短路徑。檢查A點(diǎn)塊附近的方塊:記A為“打開列表中”處理的點(diǎn),通過(guò)情況為會(huì)通過(guò)或不會(huì)通過(guò)。尋找A附近的所有方塊,忽略墻壁與河流等無(wú)法通過(guò)的地方,并添加到“打開列表”中。以上所有的方塊都是父方塊。綠色是起點(diǎn),周圍每個(gè)方塊都有指針指向父方塊。5.2.2路徑評(píng)分選擇路徑中要通過(guò)的正方形的關(guān)鍵是以下方程式:F=G+HG=從起點(diǎn)A沿路徑移動(dòng)到網(wǎng)格上的正方形。H=從指定的正方形到B端的預(yù)計(jì)移動(dòng)成本。路徑是由最小的f值平方生成的。選擇十個(gè)方塊作移動(dòng),十四個(gè)方塊作對(duì)角線,g表示從起點(diǎn)到當(dāng)前位置的成本。設(shè)定一條指向g的路線,用父節(jié)點(diǎn)的g值計(jì)算,相對(duì)于父節(jié)點(diǎn)的對(duì)角線或直角分別增加14和10。求解h值,當(dāng)前網(wǎng)格到目標(biāo)網(wǎng)格的水平和垂直平方和。得到的結(jié)果擴(kuò)大十倍。這類似與計(jì)算角色從一個(gè)NPC到另一個(gè)NPC的方塊數(shù),角色是斜插過(guò)區(qū)域的。f的值等于g+h,首次搜索結(jié)果如下圖顯示,f,g,h的值分別位于每個(gè)方塊中。在字母框中,G=10.這是因?yàn)樗谒椒较蛏蟽H偏離起始點(diǎn)陣一個(gè)空格。在初始晶格的頂部旁邊,左下方和左方的G值等于10.對(duì)角線方向的G值為14。H值是通過(guò)求解紅色目標(biāo)點(diǎn)陣的曼哈頓距離獲得的,該距離僅水平和垂直移動(dòng),并忽略中間墻。這樣,起點(diǎn)附近的正方形距離紅色正方形3個(gè)方格,H值為30.該正方形上方的正方形有四個(gè)網(wǎng)格距離(記住,它只能水平和垂直移動(dòng)),H值為40。通過(guò)添加G和H簡(jiǎn)單地獲得每個(gè)晶格的F值。5.2.3繼續(xù)搜索按以下程序處理選定的網(wǎng)格,將其從打開列表轉(zhuǎn)移到關(guān)閉列表中,打開列表中最低的f值。1.對(duì)所有的臨近網(wǎng)格進(jìn)行檢查。越過(guò)已關(guān)閉列表中或無(wú)法訪問(wèn)的內(nèi)容(墻,水或其他無(wú)法訪問(wèn)的地形)并將其補(bǔ)充到打開列表中。如果不存在,使用所選網(wǎng)格作為新網(wǎng)格的父節(jié)點(diǎn)。中式2.如果相鄰單元格已在打開列表中,請(qǐng)檢查當(dāng)前路徑是否更好。如果新G值較低,將之前相鄰網(wǎng)格的父節(jié)點(diǎn)更改為選定的網(wǎng)格,再重新計(jì)算F和G的值。在前9個(gè)方格中,在起點(diǎn)切換到關(guān)閉列表后,打開列表中剩下8個(gè)。在這種情況下,F(xiàn)的最低值是40,位于父方塊右側(cè)的相鄰方塊。故將該方塊當(dāng)作下一個(gè)移動(dòng)方塊。如下圖的藍(lán)色邊框方塊。首先,我們將它從開放列表中取出并將其放入封閉列表中,然后檢查相鄰的網(wǎng)格。跳過(guò)右邊的網(wǎng)格和左邊的晶格其他四個(gè)單元格已經(jīng)在打開列表中,檢查g值判斷角色能否搞笑通過(guò)網(wǎng)格。它的值為14,使g值增加到20,此時(shí)g值超過(guò)14,不是更好的路徑。再檢查有所臨近網(wǎng)格,移動(dòng)下一塊網(wǎng)格。在打開列表中檢索,現(xiàn)在只有7個(gè)網(wǎng)格,仍選擇其中f值最低的方塊。這一次,有兩個(gè)格子,值為54.考慮到速度,選擇要添加到列表的最后一個(gè)網(wǎng)格會(huì)更快。這導(dǎo)致優(yōu)選在接近目標(biāo)時(shí)首先使用新發(fā)現(xiàn)的晶格。然后我們選擇起始網(wǎng)格右下角的點(diǎn)陣。檢查相鄰的細(xì)胞,會(huì)發(fā)現(xiàn)右側(cè)的墻壁并跳過(guò)它。這樣,剩下五個(gè)其他方格。當(dāng)前晶格下的其他兩個(gè)晶格當(dāng)前不在開放列表中,因此我們添加它們并將當(dāng)前晶格指定為其父節(jié)點(diǎn)。其余三個(gè)單元格,有兩個(gè)存在與關(guān)閉列表中(起始網(wǎng)格和當(dāng)前網(wǎng)格,用藍(lán)色在表格突出顯示)會(huì)被跳過(guò)。將檢查當(dāng)前網(wǎng)格左側(cè)的最后一個(gè)網(wǎng)格,以查看此路徑中的G值是否較低。起始網(wǎng)格下方的網(wǎng)格的父節(jié)點(diǎn)與前一個(gè)網(wǎng)格不同。之前,G值為28,并指向右上方的網(wǎng)格。現(xiàn)在G值為20,指向上面的點(diǎn)陣。應(yīng)用新路徑時(shí),檢查G值,并重新分配父節(jié)點(diǎn)且重新計(jì)算G和F的值。簡(jiǎn)單地說(shuō),從紅色目標(biāo)細(xì)胞開始,沿箭頭方向向父節(jié)點(diǎn)移動(dòng),最終會(huì)回到起跑線。從起始點(diǎn)A移動(dòng)到目標(biāo)點(diǎn)陣B只是從每

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論