胡松杰 宋佳偉
摘要:隨著信息技術的廣泛應用,導游系統能實現的功能也愈加豐富。在現有文獻和已開發系統的基礎上,文章擬站在游客角度,將游客需求作為設計的出發點,結合“排隊”、“距離”等游樂場如今存在的熱點問題,挖掘系統空白和市場需求,創新系統功能,利用數據結構相關知識,以歡樂谷作為案例設計背景,確定出“最短距離”、“用戶偏好”、“實時排隊人數”三個影響因素及其權重,運用C語言設計出一個基于多權重分析的導游系統,以節省游客的游玩時間和成本,從而提高顧客的滿意度,另一方面也在一定程度上使得管理方的管理更加便捷化,提高其效益。
關鍵詞:偏好;距離;排隊;權重;歡樂谷;C語言
中圖分類號:TP302.1 文獻標識碼:A 文章編號:1007-9599(2013)01-0185-02
1 引言
目前存在的各種導游系統大多是為游客提供相關景點信息的查詢,并能依據游客指定的起始和終止的景點輸出一條最短的簡單路徑。實際就是將問題抽象成為一個無向帶權圖,以圖中各頂點表示景點,存放景點的名稱、簡介等信息;以邊表示路徑,邊上的權值表示兩地之間的距離。采用鄰接多重表作圖的存儲結構和按路徑長度遞增的次序產生最短路徑的Dijkstra算法即單源點最短路徑算法。還有比較新興的模型,如:蟻群算法模型,解決了游客在游樂園體驗多組項目時最佳游覽路線的選擇問題,從而解決了傳統算法很難有效地解決的游客對游覽路線不熟悉,經常出現錯走冤枉路和浪費時間等比較困難的組合優化問題。導游系統不僅涉及到城市、大型游樂場,而且還有面積較大的校園,總的來說,它有向更加人性化發展、以游客為本,提供更加全方位的導游服務的趨勢。
2 問題的提出
如今比較大型的游樂場,如迪斯尼樂園、歡樂谷等,游客在游玩時有時會因為園區太大,即使拿著紙質版的地圖也確定不了方位而導致迷路,有時甚至誤選了距離當前位置較遠的游玩項目而浪費時間,有時即便找到了想玩的項目也會因為排隊人數過多,等待時間過長而不得不為節約時間而選擇其他的項目,這樣看來,游玩成本幾乎都在尋找與等待中產生。因此在目前一些導游系統的基礎上,解決現存問題,找到突破口和創新點,進一步完善系統功能,使系統更加合理化、便捷化,并盡可能滿足用戶需求。結合數據結構相關所學的知識以歡樂谷為例基于多權重分析的對其導游系統進行開發與設計,這是現階段我們需要研究的重點。
3 需求分析
系統是以方便游客游玩為目的針對游客所設計的,但是不管是游客還是游樂場管理者均是受益的。分析如下:
3.1 游客方面
(1)游客在游玩時首先需對園內各項目的基本信息有一個大概的了解,從而形成一個初步印象,特別是對于首次游玩的游客來說。
(2)導游系統需具備推薦項目的功能,其中需考慮三大因素:游客喜好、與游客所選擇的當前項目的距離、排隊人數(或排隊等待時間)。這樣直接減少了游客的游玩成本,游玩過程更加方便和愉快。
(3)了解項目之間的最短距離的走法,方便游客合理計劃行程。
(4)游客可利用系統查詢智能推薦出的項目站點有無始發車及過路車,合理計劃旅程,這樣在游玩時更省時間,增加游客滿意度。
3.2 游樂場管理者方面
導游系統實現的推薦功能使得排隊人數在一定程度上可以得到控制,方便游樂場管理,同時保障人員安全。直接體現了游樂園的人性化管理和便捷式服務。從而為游樂園贏得更多游客的青睞,增加收益。
4 方案設計
理論基礎
圖:一個圖G是由兩個集合V和E組成,V是有限的非空頂點集,E是V上的頂點對所構成的邊集,分別用V(G)和E(G)來表示圖中的頂點集和邊集。用二元組G=(V,E)來表示圖G。
連通圖:在無向圖G中,若兩個頂點vi和vj之間有路徑存在,則稱vi 和vj 是連通的。若G中任意兩個頂點都是連通的,則稱G為連通圖。
圖的鄰接矩陣存儲表示:用兩個數組分別存儲頂點信息和鄰接矩陣信息。
Floyd算法:又稱為弗洛伊德算法,插點法,是一種用于尋找給定的加權圖中頂點間最短路徑的算法。核心思路是通過一個圖的權值矩陣求出它的每兩點間的最短路徑矩陣。
Dijkstra算法:Dijkstra算法是典型的單源最短路徑算法,用于計算一個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。
5 程序設計
(1)主菜單,即選擇菜單,供游客選擇相應服務。
(2)功能函數
1)信息說明的函數。查詢各游玩項目(包括天地雙雄、水晶神翼、極速飛車、X戰車、特洛伊木馬、奧德賽之旅、太陽神車七大項目)的基本信息。
2)智能項目推薦。自主偏好排序函數。游客在閱讀完各熱點項目的基本信息后可進行自主排序,并根據選擇順序對其進行賦分,并存入數組s[0];距離排序函數。游客先選擇起點,采用Dijkstra和Floyd算法,且系統可根據與當前位置的距離長短自動對游玩項目進行排序,由近及遠對其進行賦分,存入數組s[1];排隊時間排序函數。系統可根據模擬隨機實時排隊人數對游玩項目進行排序,由短到長對項目進行賦分,并存入數組s[2]。
3)根據各因素的得分情況,游客再對各因素權重(所占比例)進行主觀賦予,然后系統計算出綜合得分,最后推薦項目給游客。
4)查詢各游玩項目之間的最短距離,即完成智能線路(找到最優路線)的判定和選擇。
5)查詢最后推薦項目的公車車號。
6 方案實現
部分重要代碼
(1)定義結構體變量
7 結束語
就系統而言,智能推薦項目是本系統最大的功能亮點,它除了將項目間最短距離作為圖的權重外,還加上了游客個人喜好和排隊時間這兩個因素,在現有的導游系統上做了較大的創新,使得導游系統為游客推薦游玩項目更加具有可信性,從而提升游客的滿意度。另外,在推薦項目的基礎上,游客還可查詢項目之間的最短距離,路過此項目的園內公車,使系統更加人性化和全面化。當然,園內項目信息簡介、附近餐廳推薦等信息也在系統中有所體現。
參考文獻:
[1]任競穎,李杰.從數據結構角度設計導游系統[J].西南民族大學學報·自然科學報,2005,31(2):299-301.
[2]方志剛,王軍,湯益君.導游系統的發展及其人性化趨勢[J].人類工效學,2008,14(2):48-51.
[3]王暉,陳麗,陳墾,薛漫清.多指標綜合評價方法及權重系數的選擇[J].廣東藥學院學報,2007,23(5):583-589.
[4]喬麗,朱敬鵬.高校校園導游系統設計[J].商丘師范學院學報,2004,20(2):89-91.
[5]劉垣.數據結構中圖的一種應用[J].孝感學院學報,2001,21(6):20-22.
[6]馮佳,張曉晞.蟻群算法在游園最優路徑選擇上的應用[J].北京聯合大學學報,2010,24(2):40-42.
[7]嚴蔚敏,吳偉民編著.數據結構:C語言版[M].北京:清華大學出版社,1997.4.
計算機光盤軟件與應用2013年1期