JP2013041530A - Program for route calculation, and route calculation device - Google Patents

Program for route calculation, and route calculation device Download PDF

Info

Publication number
JP2013041530A
JP2013041530A JP2011179512A JP2011179512A JP2013041530A JP 2013041530 A JP2013041530 A JP 2013041530A JP 2011179512 A JP2011179512 A JP 2011179512A JP 2011179512 A JP2011179512 A JP 2011179512A JP 2013041530 A JP2013041530 A JP 2013041530A
Authority
JP
Japan
Prior art keywords
node
evaluation value
transition probability
calculation
graph
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011179512A
Other languages
Japanese (ja)
Inventor
Hiroshi Okamoto
洋 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2011179512A priority Critical patent/JP2013041530A/en
Publication of JP2013041530A publication Critical patent/JP2013041530A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To calculate a route which is traced with highest probability among routes starting at a specified node with respect to a Markov chain on a graph.SOLUTION: An initial condition setting part 106 sets an initial value of each node of a graph stored in a graph structure information storage part 202. A transition probability calculation part 108 calculates a transition probability for each node as a probability of transition from the node to each node at a link destination so that a node which has a higher evaluation value among respective nodes at link destinations has a higher probability value. An evaluation value calculation part 110 calculates an evaluation value of each node at next time through calculation of a Markov chain using the transition probability. A convergence determination and evaluation value update part 112 makes the transition probability calculation part 108 and evaluation value calculation part 110 repeat the calculations while advancing the time until a calculated evaluation value at each node converges. A highest-probability-route calculation part 114 finds a route comprising a succession of nodes whose evaluation values after convergence are not 0 as a route (highest-probability route) to be traced with high probability.

Description

本発明は、経路算出のためのプログラム及び経路算出装置に関する。   The present invention relates to a route calculation program and a route calculation device.

様々な分野で、様々な目的のために、グラフ又はネットワーク上の経路探索が行われている。   In various fields, route searching on a graph or a network is performed for various purposes.

特許文献1には、自動走行車の最適自動走行経路を探索する方法が記載されている。この方法における「最適」とは、報酬獲得に関する最適の意味である。また、この方法では、基本的に場合の数をすべて評価して、その中から最適経路を選ぶ。   Patent Document 1 describes a method for searching for an optimum automatic traveling route of an automatic traveling vehicle. “Optimum” in this method means the optimal meaning related to reward acquisition. In this method, basically, all the number of cases are evaluated, and the optimum route is selected from them.

特許文献2には、故障や輻輳に関して対応が容易なルーティングの方法が記載されている。この方法では、各ノードが、宛先となり得るアドレス毎に確率情報を有している。   Patent Document 2 describes a routing method that can easily cope with failures and congestion. In this method, each node has probability information for each address that can be a destination.

特許文献3には、ネットワークシステムにおいて輻輳発生の確率を下げ、輻輳によるフレームの到着遅れや欠落が発生する頻度を減らすための技術が記載されている。この方法では、スパニング木を適宜更新するという方法を用いている。   Patent Document 3 describes a technique for reducing the probability of occurrence of congestion in a network system, and reducing the frequency of arrival delay or omission of frames due to congestion. In this method, a method of updating the spanning tree as appropriate is used.

特許文献4には、出発地から目的地までの最適経路を求める方法が開示されている。この方法では、グラフの各リンクに対してコストに関する確率分布が付与されており、コスト最小という制約条件下で、目的値に到達する確率を最大にする経路を求めている。   Patent Document 4 discloses a method for obtaining an optimum route from a starting point to a destination. In this method, a probability distribution regarding the cost is given to each link of the graph, and a path that maximizes the probability of reaching the target value is obtained under the constraint that the cost is minimum.

特許文献5には、リンク利用率のオーバーフローを抑制し、通常時及び故障時のトポロジにおける各最大リンク利用率を低減するIP網ルーティング設計を行う技術が開示される。この技術では、オーバーフロー分をスイッチすることで、通常時及び故障時のトポロジにおける各最大リンク利用率の低減を図っている。   Patent Document 5 discloses a technique for performing IP network routing design that suppresses the overflow of the link utilization rate and reduces the maximum link utilization rate in the normal and failure topology. In this technology, the maximum link utilization rate in the normal and failure topologies is reduced by switching the overflow.

非特許文献1及び2には、ウェブページ及びハイパーリンクから構成されるグラフの構造から、個々のウェブページ(ノード)の重要度を示す「ページランク」を適切に定めるページランクアルゴリズムが示されている。概略的にいえば、ページランクアルゴリズムは、マルコフ連鎖の定常状態において各ノードに振り分けられた「確率」に応じて、各ノードのページランク値を定める。このアルゴリズムは、一人のエージェントがリンクを辿りながらノードからノードへと、グラフ上をランダムに歩き回る過程(マルコフランダムウォーク)とのアナロジーに基づいている。ノードにエージェントが存在する確率が高いほど、そのノードのページランク値が高くなる。   Non-Patent Documents 1 and 2 show a page rank algorithm that appropriately determines “page rank” indicating the importance of each web page (node) from the structure of a graph composed of web pages and hyperlinks. Yes. Generally speaking, the page rank algorithm determines the page rank value of each node in accordance with the “probability” assigned to each node in the steady state of the Markov chain. This algorithm is based on the analogy of a process in which a single agent walks randomly on a graph from one node to another following a link (Markov random walk). The higher the probability that an agent exists in a node, the higher the page rank value of that node.

非特許文献3には、グラフ状の2つのノードの間の最短経路を多項式時間で求めるためのアルゴリズムであるダイクストラ法が開示されている。   Non-Patent Document 3 discloses a Dijkstra method, which is an algorithm for obtaining a shortest path between two graph-like nodes in polynomial time.

非特許文献4には、マルコフ連鎖をサイクル(閉ループ)に分解する方法が示されている。   Non-Patent Document 4 shows a method of decomposing a Markov chain into cycles (closed loop).

特開平10−260726号公報JP-A-10-260726 特開平11−074934号公報JP-A-11-074934 特開2004−140777号公報JP 2004-140777 A 特開2008−077636号公報JP 2008-077636 A 特開2010−130382号公報JP 2010-130382 A

Page, L. et al. Stanford Digital Library Technologies Project (1998). [online]、[平成23年8月1日検索]、インターネット〈http://www-db.stanford.edu/~backrub/pageranksub.ps〉Page, L. et al. Stanford Digital Library Technologies Project (1998). [Online], [searched August 1, 2011], Internet <http://www-db.stanford.edu/~backrub/pageranksub. ps> Sergey Brin and Lawrence Page、“The Anatomy of a Large-Scale Hypertextual Web Search Engine”、[online]、Computer Science Department、 Stanford University、[平成23年8月1日検索]、インターネット〈http://infolab.stanford.edu/~backrub/google.html〉(特に“2.1.1 Description of PageRank Calculation”)Sergey Brin and Lawrence Page, “The Anatomy of a Large-Scale Hypertextual Web Search Engine”, [online], Computer Science Department, Stanford University, [August 1, 2011 search], Internet <http: // infolab. stanford.edu/~backrub/google.html> (especially “2.1.1 Description of PageRank Calculation”) Dijkstra, E.W.、“A note on two problems in connexion with graphs”、Numerische Mathematik、Volume 1、Number 1、(1959)、269-271Dijkstra, E.W., “A note on two problems in connexion with graphs”, Numerische Mathematik, Volume 1, Number 1, (1959), 269-271 Kalpazidou, S.L.、“Cycle Representations of Markov Processes”、Stochastic Modelling and Applied Probability、(米国)、第2版、Springer New York、2006年6月7日、p.17-54 (第2章および第3章)Kalpazidou, SL, “Cycle Representations of Markov Processes”, Stochastic Modeling and Applied Probability, (USA), 2nd edition, Springer New York, June 7, 2006, p. 17-54 (Chapter 2 and 3) )

本発明は、グラフ上のマルコフ連鎖において、指定されたノードを始点とする経路のうち、辿る可能性が最も高い経路を算出するための技術を提供する。   The present invention provides a technique for calculating a route that is most likely to be traced among the routes starting from a specified node in a Markov chain on a graph.

請求項1に係る発明は、コンピュータを、複数のノードと、前記複数のノード同士の間を接続する複数のリンクと、からなるグラフの構造を表すグラフ構造情報を記憶する第1の記憶手段、前記各ノードの評価値を記憶する第2の記憶手段、前記各ノードのうち、算出すべき経路の始点とするノードの指定を受け付ける始点受付手段、前記第1の記憶手段に記憶された前記グラフ構造情報と、前記第2の記憶手段に記憶された前記各ノードの評価値と、に基づき、前記ノード毎に、当該ノードからリンク先の各ノードへの遷移確率を計算する遷移確率計算手段、前記第2の記憶手段に記憶された前記各ノードの評価値と、前記遷移確率計算手段により計算された遷移確率群とに基づき、次の時刻における前記各ノードの評価値を計算する評価値計算手段、前記評価値計算手段により計算された次の時刻における前記各ノードの評価値により前記第2の記憶手段に記憶される前記各ノードの評価値を更新する評価値更新手段、前記遷移確率計算手段及び前記評価値計算手段に繰り返して計算を行わせ、その計算の繰り返しがあらかじめ定められた終了条件を満たした場合に繰り返しを終了し、その終了の時点において0でない評価値を持つノード群に基づいて、前記始点のノードを出発点として前記グラフのリンクを辿る経路のうち選ばれる可能性が最も高い経路を算出する経路算出手段、として機能させるためのプログラムであって、前記遷移確率計算手段は、前記ノード毎に、当該ノードからリンク先の各ノードへの遷移確率として、リンク先の各ノードのうち評価値が高いノードほど遷移確率の値が高くなるように遷移確率を計算する、ことを特徴とする、プログラムである。   The invention according to claim 1 is a first storage means for storing graph structure information representing a structure of a graph comprising a computer, a plurality of nodes, and a plurality of links connecting the plurality of nodes. Second storage means for storing the evaluation value of each node, start point reception means for receiving designation of a node as a start point of a route to be calculated among the nodes, and the graph stored in the first storage means Transition probability calculation means for calculating a transition probability from the node to each link destination node for each node based on the structure information and the evaluation value of each node stored in the second storage means; Evaluation that calculates the evaluation value of each node at the next time based on the evaluation value of each node stored in the second storage unit and the transition probability group calculated by the transition probability calculation unit Calculation means, evaluation value update means for updating the evaluation value of each node stored in the second storage means with the evaluation value of each node at the next time calculated by the evaluation value calculation means, and the transition probability A group of nodes having an evaluation value that is not zero at the end of the calculation when the calculation means and the evaluation value calculation means repeatedly perform the calculation and the repetition of the calculation satisfies a predetermined end condition On the basis of the starting point node, a program for functioning as a route calculating means for calculating a route that is most likely to be selected among routes that follow the link of the graph, the transition probability calculating For each node, the means is a node having a high evaluation value among the link destination nodes as the transition probability from the node to each link destination node. As the value of the transition probability to calculate the transition probabilities to be higher, and wherein the a program.

請求項2に係る発明は、前記評価値計算手段は、前記グラフを構成する各ノードから前記始点のノードに対して0より大きいあらかじめ定められた確率でランダムに遷移するというランダム遷移を計算に入れて、前記次の時刻における前記各ノードの評価値を計算する、ことを特徴とする請求項1に記載のプログラムである。   According to a second aspect of the present invention, the evaluation value calculation means takes into account a random transition in which a random transition is made with a predetermined probability greater than 0 from each node constituting the graph to the starting node. The program according to claim 1, wherein the evaluation value of each node at the next time is calculated.

請求項3に係る発明は、前記コンピュータを、前記算出すべき経路の終点とするノードの指定を受け付ける終点受付手段、前記グラフに前記終点のノードと前記始点のノードとを結ぶリンクを追加するよう、前記第1の記憶手段に記憶される前記グラフ構造情報を変更するグラフ構造情報変更手段、として機能させると共に、前記遷移確率計算手段は、前記グラフ構造情報変更手段により変更された後の前記第1の記憶手段内の前記グラフ構造情報に基づいて、前記ノード毎に、当該ノードからリンク先の各ノードへの遷移確率を計算する、ことを特徴とする請求項1又は2に記載のプログラムである。   According to a third aspect of the present invention, the computer receives the end point accepting means for accepting designation of a node as the end point of the route to be calculated, and adds a link connecting the end point node and the start point node to the graph. , Functioning as a graph structure information changing unit for changing the graph structure information stored in the first storage unit, and the transition probability calculating unit is changed by the graph structure information changing unit. 3. The program according to claim 1, wherein, for each node, a transition probability from the node to each linked node is calculated based on the graph structure information in one storage unit. is there.

請求項4に係る発明は、前記コンピュータを、前記遷移確率計算手段及び前記評価値計算手段による計算の繰り返しを開始する前に、前記第1の記憶手段内の前記グラフ構造情報に対してページランクアルゴリズムの計算を行うことにより前記各ノードのページランク値を計算し、計算された前記各ノードのページランク値を、前記各ノードの評価値の初期値として前記第2の記憶手段に対して記憶させる初期値設定手段、として更に機能させることを特徴とする、請求項1から3のいずれか1項に記載のプログラムである。   According to a fourth aspect of the present invention, before the computer starts repeating the calculation by the transition probability calculation means and the evaluation value calculation means, the page rank is determined for the graph structure information in the first storage means. The page rank value of each node is calculated by calculating an algorithm, and the calculated page rank value of each node is stored in the second storage means as the initial value of the evaluation value of each node. The program according to any one of claims 1 to 3, further functioning as an initial value setting means.

請求項5に係る発明は、複数のノードと、前記複数のノード同士の間を接続する複数のリンクと、からなるグラフの構造を表すグラフ構造情報を記憶する第1の記憶手段と、前記各ノードの評価値を記憶する第2の記憶手段と、前記各ノードのうち、算出すべき経路の始点とするノードの指定を受け付ける始点受付手段と、前記第1の記憶手段に記憶された前記グラフ構造情報と、前記第2の記憶手段に記憶された前記各ノードの評価値と、に基づき、前記ノード毎に、当該ノードからリンク先の各ノードへの遷移確率を計算する遷移確率計算手段と、前記第2の記憶手段に記憶された前記各ノードの評価値と、前記遷移確率計算手段により計算された遷移確率群とに基づき、次の時刻における前記各ノードの評価値を計算する評価値計算手段と、前記評価値計算手段により計算された次の時刻における前記各ノードの評価値により前記第2の記憶手段に記憶される前記各ノードの評価値を更新する評価値更新手段と、前記遷移確率計算手段及び前記評価値計算手段に繰り返して計算を行わせ、その計算の繰り返しがあらかじめ定められた終了条件を満たした場合に繰り返しを終了し、その終了の時点において0でない評価値を持つノード群に基づいて、前記始点のノードを出発点として前記グラフのリンクを辿る経路のうち選ばれる可能性が最も高い経路を算出する経路算出手段と、を備え、前記遷移確率計算手段は、前記ノード毎に、当該ノードからリンク先の各ノードへの遷移確率として、リンク先の各ノードのうち評価値が高いノードほど遷移確率の値が高くなるように遷移確率を計算する、ことを特徴とする、経路算出装置である。   According to a fifth aspect of the present invention, there is provided a first storage unit that stores graph structure information representing a structure of a graph including a plurality of nodes and a plurality of links connecting the plurality of nodes; A second storage unit that stores an evaluation value of the node; a start point reception unit that receives designation of a node as a start point of a route to be calculated among the nodes; and the graph stored in the first storage unit Transition probability calculation means for calculating, for each node, a transition probability from the node to each link destination node based on the structure information and the evaluation value of each node stored in the second storage means; The evaluation value for calculating the evaluation value of each node at the next time based on the evaluation value of each node stored in the second storage means and the transition probability group calculated by the transition probability calculation means Calculator Evaluation value update means for updating the evaluation value of each node stored in the second storage means with the evaluation value of each node at the next time calculated by the evaluation value calculation means, and the transition probability A group of nodes having an evaluation value that is not zero at the end of the calculation when the calculation means and the evaluation value calculation means repeatedly perform the calculation and the repetition of the calculation satisfies a predetermined end condition And a route calculation unit that calculates a route that is most likely to be selected from routes that follow the link of the graph starting from the node of the start point, and the transition probability calculation unit includes: In addition, as the transition probability from the node to each node of the link destination, the transition probability value becomes higher as the node having the higher evaluation value among the nodes of the link destination. Calculating the probabilities, characterized in that a route calculation device.

請求項1又は5に係る発明によれば、グラフ上のマルコフ連鎖において、指定されたノードを始点とする経路のうち、辿る可能性が最も高い経路を算出することができる。   According to the invention according to claim 1 or 5, in the Markov chain on the graph, it is possible to calculate a route that is most likely to be traced among routes starting from a designated node.

請求項2に係る発明によれば、辿る可能性が最も高い経路として、指定された始点のノードを必ず通る経路を求めることができる。   According to the second aspect of the present invention, a route that always passes through the designated starting point node can be obtained as the route most likely to be traced.

請求項3に係る発明によれば、指定された始点と終点とを結ぶグラフ上の経路のうち、辿る可能性が最も高い経路を算出することができる。   According to the third aspect of the present invention, it is possible to calculate the route that is most likely to be traced among the routes on the graph connecting the designated start point and end point.

請求項4に係る発明によれば、辿る可能性が最も高い経路として算出される経路が、局所解に陥りにくくすることができる。   According to the invention of claim 4, the route calculated as the route most likely to be traced can be made difficult to fall into a local solution.

ページランクアルゴリズムにおける遷移確率の定め方を説明するための図である。It is a figure for demonstrating how to determine the transition probability in a page rank algorithm. 実施の形態における遷移確率の定め方を説明するための図である。It is a figure for demonstrating how to determine the transition probability in embodiment. 実施の形態の経路算出装置の一例を示す図である。It is a figure which shows an example of the route calculation apparatus of embodiment. グラフの具体例を示す図である。It is a figure which shows the specific example of a graph. 実施の形態の経路算出装置の別の一例を示す図である。It is a figure which shows another example of the route calculation apparatus of embodiment. グラフの具体例を示す図である。It is a figure which shows the specific example of a graph.

この実施の形態では、エージェントがグラフ(ネットワークとも呼ばれる)上でマルコフランダムウォーク(マルコフ性を持つランダムウォーク)を行う場合に、そのグラフ上の様々な経路のうち、辿る確率が最も高い経路(以下、このような経路を「最確経路」と呼ぶ)を求める。グラフ上の経路は、ノード間を結ぶリンク(エッジとも呼ばれる)の連なりである。エージェントは、グラフ上のノード間を、リンクを辿って渡り歩く「何か」であり、その「何か」は応用分野による。例えば、WWW(ワールド・ワイド・ウェブ)上でのネットサーフィンへの応用を考える場合、エージェントは、ウェブページをサーフィングする閲覧者である。また、通信ネットワークにおけるデータ又は信号の転送経路を求める場合には、エージェントはそれら転送されるデータ又は信号である。   In this embodiment, when an agent performs a Markov random walk (random walk with Markov property) on a graph (also referred to as a network), the route having the highest probability of following among the various routes on the graph (hereinafter, referred to as a Markov random walk). Such a route is called a “most probable route”). A path on the graph is a series of links (also called edges) connecting the nodes. An agent is “something” that traverses a link between nodes on the graph, and that “something” depends on the application field. For example, when considering application to surfing on the WWW (World Wide Web), an agent is a viewer who surfs a web page. Further, when obtaining a transfer path of data or signals in the communication network, the agent is the data or signals transferred.

実施の形態の処理内容について説明する前に、N個のノードからなるグラフ上で1人のエージェントが行うマルコフランダムウォークの定式化について概説する。   Before describing the processing contents of the embodiment, a general description of the Markov random walk formulation performed by one agent on a graph composed of N nodes will be given.

時刻tにおいて、当該グラフのN個のノードのうちのn番目のノード(nはノードの識別番号であり、1からNまでの整数のいずれかである。後述するmも同様)にエージェントが存在する確率をp(t)とする。この場合、単位時間「1」だけ進んだ次の時刻(t+1)において、n番目のノードにエージェントが存在する確率をp(t+1)は、次式(1)で求められる。 At time t, an agent exists in the nth node (n is an identification number of the node and is an integer from 1 to N. The same applies to m described later) among the N nodes of the graph. Let p n (t) be the probability of In this case, at the next time it advanced by a unit time "1" (t + 1), the probability that the agent is present in the n-th node p n (t + 1) is obtained by the following equation (1).

Figure 2013041530
Figure 2013041530

ここで、Tnmは、当該グラフ上のm番目のノード(以下、「ノードm」という)からn番目のノード(以下、「ノードn」という)に遷移する確率(「遷移確率」と呼ぶ)である。m及びnはそれぞれ1からNまでの整数なので、Tnmは、N×Nの行列を表す。このような行列は遷移行列又は遷移確率行列等と呼ばれる。ノードmからノードnへのリンクがグラフ状に存在しなければ、Tnmは常に0である。 Here, T nm is the probability of transition from the m-th node (hereinafter referred to as “node m”) to the n-th node (hereinafter referred to as “node n”) on the graph (referred to as “transition probability”). It is. Since m and n are each integers from 1 to N, T nm represents an N × N matrix. Such a matrix is called a transition matrix or a transition probability matrix. If the link from node m to node n does not exist in a graph, T nm is always 0.

式(1)は、単位時間を「1」とする離散的なマルコフ連鎖を表すものであるが、連続時間でのマルコフ連鎖の時間発展は、次式(2)で表される。   Equation (1) represents a discrete Markov chain with a unit time of “1”, but the time evolution of the Markov chain in continuous time is represented by the following equation (2).

Figure 2013041530
Figure 2013041530

ページランク(PageRank(登録商標))アルゴリズムは、このようなグラフ上でのマルコフランダムウォークの定常状態(例えば、時刻が無限大になった極限)において各ノードにエージェントが存在する確率、に基づいてページランク値を定めている。   The page rank (PageRank (registered trademark)) algorithm is based on the probability that an agent is present at each node in the steady state of Markov random walk on such a graph (for example, the limit where the time is infinite). The page rank value is set.

ここで、ページランクアルゴリズムは、遷移確率Tnmとして、グラフにおけるリンクの構造に基づき定められる固定的な値(すなわち時間が経過しても変化しない値)を用いている。より具体的には、ノードmに存在するエージェントは、ノードmから出る1以上のリンクを等確率で選択し、選択したリンクの先にあるノードへと遷移するものと仮定している。すなわち、ノードmからQ本のリンクが出ている場合、ノードmに存在するエージェントがそれらリンクのそれぞれを選択する確率は、すべて等しく1/Qである。例えば、図1に示す例では、グラフ上の特定のノードAから出る有向リンクは3本のみであり、それぞれノードB,C,Dに繋がっている。このようなリンク構造の場合、ノードAからノードB,C,Dに遷移する確率は、共に1/3となる。 Here, the page rank algorithm uses, as the transition probability T nm , a fixed value (that is, a value that does not change over time) determined based on the link structure in the graph. More specifically, it is assumed that the agent existing in the node m selects one or more links coming out from the node m with equal probability and transitions to a node ahead of the selected link. That is, when Q links are output from the node m, the probabilities that the agents existing at the node m select each of these links are all equal to 1 / Q. For example, in the example shown in FIG. 1, there are only three directed links from a specific node A on the graph, which are connected to nodes B, C, and D, respectively. In the case of such a link structure, the probability of transition from node A to nodes B, C, and D is 1/3.

なお、ページランクアルゴリズムの具体的な内容については、前掲の非特許文献1及び2や、WWW上に存在するページランクアルゴリズムに関する様々な解説記事に詳しいので、ここでは説明を省略する。   The specific contents of the page rank algorithm are detailed in the above-mentioned Non-Patent Documents 1 and 2 and various explanatory articles related to the page rank algorithm existing on the WWW, and thus the description thereof is omitted here.

以上、マルコフ連鎖と、ページランクアルゴリズムにおける遷移確率の仮定について概説した。   The outline of the Markov chain and the assumption of transition probability in the page rank algorithm has been described above.

次に、この実施の形態における処理の特徴について説明する。   Next, features of the processing in this embodiment will be described.

この実施の形態では、あるノードにいるエージェントがそのノードから出る各リンクを選ぶ確率(すなわち遷移確率)を、それら各リンクの先のノードの評価値に応じて定める。すなわち、リンクの先のノードの評価値が高いほど、そのリンクが選ばれる確率が高くなるようにする。ここでいうノードの「評価値」は、ノードの重要度を表す値であり、グラフ上をマルコフランダムウォークするエージェントが当該ノードに居る確率(存在確率)に応じた値である。例えば、存在確率そのものを評価値として用いてもよいし、存在確率を変数とする単調増加関数を評価値としてもよい。例えば、多数のエージェントがグラフをマルコフランダムウォークする場合において、ある時点で各ノードに存在するエージェントの人数を評価値としてもよい。図2では、個々のエージェントをそれぞれ人型のマークで表しており、各ノードを示す円の中のマークの数(すなわち人口)が、当該ノードの評価値を示している。   In this embodiment, the probability that an agent at a certain node selects each link exiting from that node (ie, transition probability) is determined according to the evaluation value of the previous node of each link. That is, the higher the evaluation value of the node ahead of the link, the higher the probability that the link will be selected. The “evaluation value” of a node here is a value representing the importance of the node, and is a value according to the probability (existence probability) that an agent who performs a Markov random walk on the graph is present in the node. For example, the existence probability itself may be used as the evaluation value, or a monotonically increasing function having the existence probability as a variable may be used as the evaluation value. For example, when a large number of agents perform a Markov random walk on the graph, the number of agents existing at each node at a certain time may be used as the evaluation value. In FIG. 2, each agent is represented by a human mark, and the number of marks (that is, population) in a circle indicating each node indicates the evaluation value of the node.

図2は、この実施の形態における遷移確率の考え方を説明するための図である。図2を用いて、ある時刻tにグラフ上のノードAに居るエージェントが、次の時刻(t+Δt)(Δtは単位時間)にノードAのリンク先であるノードB,C,Dのそれぞれに遷移する遷移確率を説明する。図2の例では、図1の場合と同様、ノードAから出る有向リンクは、ノードB,C,Dにそれぞれ繋がる3本しか存在しないものとする。図2は、時刻tにおけるノードA,B,C,Dの評価値(エージェントの人口)分布を示している。   FIG. 2 is a diagram for explaining the concept of transition probability in this embodiment. Using FIG. 2, an agent at node A on the graph at a certain time t transitions to each of nodes B, C, and D that are linked to node A at the next time (t + Δt) (Δt is a unit time). The transition probability to be explained. In the example of FIG. 2, it is assumed that there are only three directional links that are connected to the nodes B, C, and D, as in the case of FIG. FIG. 2 shows the distribution of evaluation values (agent population) of nodes A, B, C, and D at time t.

図2では、時刻tにおけるノードB,C,Dの各々の評価値をp,p,pとしている。そして、ある時刻tにグラフ上のノードAに居るエージェントが、次の時刻(t+Δt)にノードBに遷移する確率は、図示のように、
F(p)/(F(p)+F(p)+F(p))
と規定される。同様に、次の時刻(t+Δt)にノードC,Dに遷移する確率は、それぞれ、
F(p)/(F(p)+F(p)+F(p))
F(p)/(F(p)+F(p)+F(p))
と規定される。ここで、関数F()は、評価値pを変数とする単調増加関数である。
In FIG. 2, the evaluation values of the nodes B, C, and D at time t are p B , p C , and p D , respectively. Then, the probability that an agent at node A on the graph at a certain time t transitions to node B at the next time (t + Δt) is as shown in the figure:
F (p B ) / (F (p B ) + F (p C ) + F (p D ))
It is prescribed. Similarly, the probabilities of transition to nodes C and D at the next time (t + Δt) are respectively
F (p C ) / (F (p B ) + F (p C ) + F (p D ))
F (p D ) / (F (p B ) + F (p C ) + F (p D ))
It is prescribed. Here, the function F () is a monotonically increasing function with the evaluation value p as a variable.

遷移確率の計算式から分かるように、図2の例では、ある時刻tにノードAに居るエージェントは、次の時刻(t+Δt)には必ずリンク先のノードA,B,Cのいずれかに移動するものとしている(すなわち次の時刻にノードB,C,Dの各々に存在する確率の総和が1)。すなわち、この方式では、グラフ上の評価値の総和は、時間が変化しても一定に保存される。   As can be seen from the calculation formula of the transition probability, in the example of FIG. 2, the agent who is at the node A at a certain time t always moves to one of the linked nodes A, B, and C at the next time (t + Δt). (That is, the sum of the probabilities existing in each of the nodes B, C, and D at the next time is 1). That is, in this method, the sum of the evaluation values on the graph is kept constant even if the time changes.

図2の例では、時刻tにおいて遷移確率が最高となるのは最も評価値の高いノードCであり、次位はノードD、最下位はノードBである。したがって、次の時刻(t+Δt)では、もともと評価値(人口)が最高であったノードCの評価値が更に高まり、評価値が最低であったノードBの評価値は更に低くなる。したがって、時間を進めていくと、最終的には、ノードAから外に出るエージェントは、リンク先のノードB,C,Dのうちで評価値が最高であるノードCにすべて集まり、ノードD及びBに遷移するものは0になる。したがって、ノードAからノードCに向かう1つのリンクが、最も確からしいリンクとして残ることになる。   In the example of FIG. 2, the transition probability having the highest transition probability at time t is the node C with the highest evaluation value, the next rank is the node D, and the lowest rank is the node B. Therefore, at the next time (t + Δt), the evaluation value of node C, which originally had the highest evaluation value (population), further increases, and the evaluation value of node B, which has the lowest evaluation value, further decreases. Therefore, as time progresses, the agents that leave the node A eventually gather at the node C having the highest evaluation value among the linked nodes B, C, and D, and the nodes D and The transition to B is 0. Therefore, one link from node A to node C remains as the most probable link.

このように、この実施の形態の遷移確率の求め方を用いると、あるノードから出るリンク群(及びそれら各リンクの先にある各ノード)の中でWTA(Winner−Takes−All:勝者全獲得)のメカニズムが働く。   As described above, when the transition probability calculation method of this embodiment is used, WTA (Winner-Takes-All: winning all winners) in a link group (and each node ahead of each link) from a certain node. ) Mechanism works.

以上は、1つのノードからエージェントが出て行くところに着目した説明であるが、逆に1つの注目ノードに対して他の1以上のノード(「リンク元ノード」と呼ぶ)からエージェントが入ってくる場合を考えると、ある時刻における注目ノードの評価値(エージェントの人口)は、1つ前の時刻の(リンク元ノードの評価値×リンク元ノード・注目ノード間の遷移確率)をリンク元ノード全体で総和した値となる。したがって、例えばグラフ上のすべてのノードの評価値が等しいという条件から計算を開始すると、時間発展の初期の間は、ページランクアルゴリズムの場合と同様、他のノードからのリンクが多いノードほど高い評価値を得るという流れになる。このようにして高い評価値を得たノードは、この実施の形態のWTAのメカニズムに従って評価値を集めていき、最終的に残って最確経路の一部となる。   The above is an explanation focusing on where an agent goes out from one node, but conversely, an agent enters from one or more other nodes (referred to as “link source nodes”) for one node of interest. Considering the case of coming, the evaluation value (agent population) of the node of interest at a certain time is the link node of the previous time (evaluation value of the link source node × transition probability between the link source node and the node of interest). The total is the total value. Therefore, for example, if the calculation is started from the condition that the evaluation values of all the nodes on the graph are equal, during the initial stage of time evolution, as in the case of the page rank algorithm, a node with a higher number of links from other nodes has a higher evaluation. The flow is to get the value. A node that has obtained a high evaluation value in this manner collects evaluation values according to the WTA mechanism of this embodiment, and finally remains to become a part of the most probable route.

グラフ上のすべてのノードについてそのノードから出る各リンクを選ぶ遷移確率を図2の例と同様の方法で求めるようにし、グラフ上のノードの評価値分布の時間発展を計算していくと、最終的には、グラフ上でエージェントが辿る確率の最も高い経路に沿ったノード群の評価値のみが正の値となり、その他のノードの評価値は0となる。   The transition probabilities for selecting each link coming out of each node on the graph are obtained by the same method as in the example of FIG. 2, and the time evolution of the evaluation value distribution of the nodes on the graph is calculated. Specifically, only the evaluation value of the node group along the path with the highest probability that the agent follows on the graph is a positive value, and the evaluation values of the other nodes are zero.

例えば、初期条件として始点とするノードに全エージェントを集中(すなわち始点ノードの評価値はある正の値、その他のノードの評価値は0)させ、この実施の形態の方法に従って評価値分布の時間発展を計算していくと、その始点から始まる最確経路が求められる。   For example, as an initial condition, all agents are concentrated on the node that is the start point (that is, the evaluation value of the start point node is a positive value and the evaluation values of the other nodes are 0), and the evaluation value distribution time is set according to the method of this embodiment. When the evolution is calculated, the most probable path starting from the starting point is obtained.

以上、この実施の形態の処理の原理について説明した。次に、図3を参照して、このような原理に従った経路算出装置の具体例を説明する。図3の例は、ユーザから、グラフ上のノードのうち始点と終点の指定を受け付け、始点から始まってグラフ上の1以上のリンクを通って終点へと至る経路のうちの最確経路を求めるための装置構成の例である。   The principle of the processing according to this embodiment has been described above. Next, with reference to FIG. 3, a specific example of a route calculation apparatus according to such a principle will be described. In the example of FIG. 3, the specification of the start point and the end point among the nodes on the graph is received from the user, and the most probable route among the routes starting from the start point and passing through one or more links on the graph to the end point is obtained. It is an example of the apparatus structure for.

この実施の形態の経路算出装置は、一例として、CPU(中央演算装置)等のプロセッサ100と、RAM(ランダムアクセスメモリ)又は不揮発性記憶装置などの記憶装置200とを備えたコンピュータを用いて実現される。プロセッサ100は、以下に説明する各モジュール、すなわちグラフ構造情報入力部102、グラフ構造変更部104、初期条件設定部106、遷移確率計算部108、評価値計算部110、収束判定・評価値更新部112、最確経路算出部114の機能を記述したプログラムを実行する。   The path calculation apparatus according to this embodiment is realized by using, for example, a computer including a processor 100 such as a CPU (Central Processing Unit) and a storage device 200 such as a RAM (Random Access Memory) or a nonvolatile storage device. Is done. The processor 100 includes modules described below, that is, a graph structure information input unit 102, a graph structure change unit 104, an initial condition setting unit 106, a transition probability calculation unit 108, an evaluation value calculation unit 110, a convergence determination / evaluation value update unit. 112, a program describing the function of the most probable route calculation unit 114 is executed.

グラフ構造情報入力部102は、経路算出処理の対象とするグラフの構造を表すグラフ構造情報の入力を受け、入力されたグラフ構造情報を記憶装置200のグラフ構造情報記憶部202に記憶させる。グラフ構造情報としては、例えば、隣接行列(Anm)の形のデータを用いてもよい。隣接行列(Anm)は、ノードmからノードnにリンクがあればAnm=1、なければAnm=0となる成分からなるN行N列の行列(Nはグラフを構成するノードの総数)である。隣接行列はノード間のリンク構造を表すものであるが、グラフ構造情報には、この他に各ノードの名前その他の属性(例えば、ウェブページをノードとする場合、ウェブページのタイトルやURL(Uniform Resource Locator)等)、又はリンクの属性などが含まれていてもよい。なお、グラフのリンク構造を表す情報の形式には、隣接行列以外にも様々なものがあり、この実施の形態ではそのような情報形式のいずれを用いてもよい。例えば、クローラーで収集したウェブページ間のハイパーリンクが構成するグラフを対象とする場合、それら収集したハイパーリンクの情報から、公知のソフトウエアを用いることでグラフ構造情報を生成し、生成されたグラフ構造情報をグラフ構造情報入力部102によりグラフ構造情報記憶部202に格納すればよい。 The graph structure information input unit 102 receives input of graph structure information representing the structure of the graph to be subjected to the route calculation process, and stores the input graph structure information in the graph structure information storage unit 202 of the storage device 200. As graph structure information, for example, data in the form of an adjacency matrix (A nm ) may be used. The adjacency matrix (A nm ) is an N-row N-column matrix composed of components such that A nm = 1 if there is a link from node m to node n, and A nm = 0 if there is a link (N is the total number of nodes constituting the graph) ). The adjacency matrix represents the link structure between nodes, but the graph structure information includes the name of each node and other attributes (for example, when a web page is a node, the title or URL (Uniform Resource Locator)) or link attributes may be included. There are various types of information representing the link structure of the graph in addition to the adjacency matrix. In this embodiment, any of such information formats may be used. For example, when targeting a graph composed of hyperlinks between web pages collected by a crawler, graph structure information is generated from the collected hyperlink information using known software, and the generated graph The structure information may be stored in the graph structure information storage unit 202 by the graph structure information input unit 102.

始点・終点指定受付部120は、最確経路を求めたい始点と終点の指定を受け付ける。始点、終点の指定の受け付け方は特に限定されない。例えば、始点・終点指定受付部120は、グラフ構造情報記憶部202に記憶されたグラフ構造情報に基づいて当該経路算出装置の表示画面上にグラフを表示し、そのグラフ上から、ポインティングデバイス等を介して始点と終点のノードの指定を受け付けてもよい。また、ノードの属性等に関する検索を受け付け、検索結果の中から始点及び終点の選択を受け付けてもよい。   The start point / end point designation receiving unit 120 receives designation of a start point and an end point for which the most probable route is desired. The method of accepting the designation of the start point and end point is not particularly limited. For example, the start point / end point designation receiving unit 120 displays a graph on the display screen of the route calculation device based on the graph structure information stored in the graph structure information storage unit 202, and a pointing device or the like is displayed on the graph. The specification of the start and end nodes may be accepted via Alternatively, a search related to node attributes or the like may be accepted, and selection of the start point and end point from the search results may be accepted.

グラフ構造変更部104は、グラフ構造情報記憶部202に記憶されているグラフ構造情報に対して、指定された終点から始点へのリンクを追加する変更を行う。すなわち、例えば、グラフの元の構造を表す隣接行列(Anm)に対し、終点ノードfから始点ノードiへのリンクを表わす別の隣接行列(Bnm)(すなわちBif=1、それ以外の成分は0の行列)を加算する。この加算の結果得られた行列を改めて、経路探索の対象のグラフを表す隣接行列(Anm)とみなす。 The graph structure changing unit 104 changes the graph structure information stored in the graph structure information storage unit 202 to add a link from the designated end point to the start point. That is, for example, for the adjacency matrix (A nm ) representing the original structure of the graph, another adjacency matrix (B nm ) representing the link from the end node f to the start node i (ie, B if = 1, The component is a matrix of 0). The matrix obtained as a result of this addition is again regarded as an adjacency matrix (A nm ) that represents a target graph for route search.

この終点から始点へのリンクの追加により、終点ノードに達したエージェントは始点ノードに戻る経路が必ずあるので、始点から終点へと移動していったエージェントが始点に戻らず他のノード群に移ってしまう可能性が低くなる。これにより、指定された始点及び終点の評価値(エージェントの存在確率又は人口に応じた値)が非ゼロになる可能性が高まる。このため、後述する遷移確率計算部108及び評価値計算部110によるノード群の評価値分布の時間発展の計算におけるWTA(勝者全獲得)において、指定された始点から指定された終点に至る経路が残りやすくなる。   By adding a link from the end point to the start point, the agent that has reached the end point node always has a route back to the start point node, so the agent that moved from the start point to the end point does not return to the start point and moves to another node group. Is less likely to occur. Thereby, the possibility that the evaluation values (values according to the existence probability of the agent or the population) of the designated start point and end point become non-zero increases. For this reason, in the WTA (total winner acquisition) in the time evolution calculation of the evaluation value distribution of the node group by the transition probability calculation unit 108 and the evaluation value calculation unit 110, which will be described later, there is a path from the specified start point to the specified end point. It becomes easy to remain.

初期条件設定部106は、時間発展の初期条件として、グラフの各ノードに対して評価値の初期値を設定する。1つの例では、指定された始点ノードのみに正の評価値を与え(例えばエージェントの存在確率を評価値とする場合、評価値「1」を与えるなど)、他のノードの評価値は0とするという初期条件を設定する。この初期条件を採用した場合、時間発展の初期の段階では、始点ノードから流出する評価値(エージェントの人口)が、ページランクアルゴリズムと同様、入ってくるリンクが多いノードほど多く集まるような形で、各ノード間を伝搬していくことになる。また、別の例では、初期条件として、グラフ上の全ノードに対して等しい評価値を設定してもよい。   The initial condition setting unit 106 sets an initial value of an evaluation value for each node of the graph as an initial condition for time development. In one example, a positive evaluation value is given only to the designated start node (for example, an evaluation value “1” is given when the agent existence probability is an evaluation value), and the evaluation values of other nodes are 0. Set the initial condition to do. When this initial condition is adopted, in the early stage of time development, the evaluation value (agent population) that flows out from the start node gathers as the number of incoming links increases as in the page rank algorithm. , It will propagate between each node. In another example, an equal evaluation value may be set as an initial condition for all nodes on the graph.

更に別の例では、初期条件設定部106は、ページランクアルゴリズムにより各ノードのページランク値を求め、それら各ページランク値を各ノードの評価値の初期値として設定する。ページランク値は、グラフ構造情報記憶部202に記憶されたグラフ構造情報が示すリンク構造(すなわち終点から始点へのリンクを追加した後の隣接行列)に対し、周知のページランクアルゴリズム(非特許文献1及び2等を参照)を適用することにより求めればよい。各ノードの評価値の初期値としてページランク値を採用することで、局所解(ローカルミニマム解)に陥ることが回避され、大局的に見た最確経路が求められることとなる。   In yet another example, the initial condition setting unit 106 obtains the page rank value of each node by the page rank algorithm, and sets each page rank value as the initial value of the evaluation value of each node. The page rank value is a well-known page rank algorithm (non-patent document) for the link structure indicated by the graph structure information stored in the graph structure information storage unit 202 (that is, the adjacency matrix after adding the link from the end point to the start point). (See 1 and 2 etc.). By adopting the page rank value as the initial value of the evaluation value of each node, it is avoided to fall into a local solution (local minimum solution), and the most probable route viewed globally is obtained.

初期条件設定部106は、上述のように定めた各ノードの評価値の初期値を、評価値記憶部204に記憶させる。   The initial condition setting unit 106 causes the evaluation value storage unit 204 to store the initial value of the evaluation value of each node determined as described above.

評価値記憶部204は、ノード毎に、そのノードの評価値を記憶する。なお、評価値記憶部204に記憶される各ノードの評価値は、後述する遷移確率計算部108及び評価値計算部110による評価値分布の時間発展の計算の繰り返しの中で、繰り返しステップ毎に更新されていく。   The evaluation value storage unit 204 stores the evaluation value of each node for each node. Note that the evaluation value of each node stored in the evaluation value storage unit 204 is repeated for each iteration step in the iteration calculation of the evaluation value distribution by the transition probability calculation unit 108 and the evaluation value calculation unit 110 described later. It will be updated.

遷移確率計算部108は、評価値分布の時間発展の計算の繰り返しステップ毎に、そのステップの計算で用いるノード間の遷移確率の行列を計算する。この実施の形態では、遷移確率行列Tnmを次式(3)に従って計算する。 The transition probability calculation unit 108 calculates a matrix of transition probabilities between nodes to be used for the calculation of the step for each repetition step of the time evolution calculation of the evaluation value distribution. In this embodiment, the transition probability matrix T nm is calculated according to the following equation (3).

Figure 2013041530
Figure 2013041530

式(3)は、エージェントがノードmからノードnへのリンクを通る遷移確率を示している。関数F()は、図2の例の場合と同様、評価値pを変数とする単調増加関数である。式(3)に含まれる定数εは、式(3)の分母の計算に現れる各ノードn’の評価値がすべて0である場合でもゼロで除する除算が生じないようにするための微小値である。εを除けば、式(3)は、図2に示した例と同様、分子はリンク先のノードnの時刻tにおける評価値であり、分母は、リンク元のノードmから出るすべてのリンクの先にあるノードの時刻tにおける評価値の総和となっている。すなわち、図2のリンク構造に式(3)を適用した場合、微小値εを除き、図に示した各リンクの遷移確率と同じ結果が得られる。   Equation (3) shows the transition probability that the agent passes through the link from node m to node n. The function F () is a monotonically increasing function with the evaluation value p as a variable, as in the example of FIG. The constant ε included in the equation (3) is a minute value for preventing division by dividing by zero even when the evaluation values of the respective nodes n ′ appearing in the calculation of the denominator of the equation (3) are all zero. It is. Except for ε, as in the example shown in FIG. 2, the numerator is the evaluation value of the link destination node n at the time t, and the denominator is the denominator of all the links coming from the link source node m. This is the sum of the evaluation values of the previous node at time t. That is, when the formula (3) is applied to the link structure of FIG. 2, the same result as the transition probability of each link shown in the figure is obtained except for the minute value ε.

なお、ノードmから出るリンクの先にある各ノードの評価値がすべて0の場合、式(3)から得られる遷移確率は、それらすべてのリンクについて、1/(それらリンクの総数)という同じ値となる。この値は、ページランクアルゴリズムにおけるノード間の遷移確率と同じ値である。例えば、指定された始点ノードのみに正の評価値を与え、他のノードの評価値は0とするという初期条件を採用した場合の時間発展の初期段階では、式(3)により、ページランクアルゴリズムと同じ仮定の下で評価値分布が変化していくことになる。その後、各ノードの評価値が正の値になれば、微小値であるεの影響はほとんど無視できるものとなり、図2に例示したのと同様、リンク元のノードの評価値が、リンク先の各ノードに対してそれら各ノードの評価値の大きさに応じて配分されていくことになる。   When the evaluation values of the nodes ahead of the link coming from the node m are all 0, the transition probability obtained from the equation (3) is the same value of 1 / (total number of those links) for all the links. It becomes. This value is the same value as the transition probability between nodes in the page rank algorithm. For example, in the initial stage of the time development when the initial condition that a positive evaluation value is given only to the designated start node and the evaluation value of other nodes is 0 is adopted, the page rank algorithm is expressed by the equation (3). The evaluation value distribution will change under the same assumption. After that, if the evaluation value of each node becomes a positive value, the influence of ε, which is a minute value, is almost negligible, and the evaluation value of the link source node is similar to that illustrated in FIG. Each node is distributed according to the evaluation value of each node.

遷移確率計算部108における遷移確率の計算は、以上のようにして、評価値記憶部204に記憶されている各ノードの最新(時刻t)の評価値p(t)と、グラフ構造情報記憶部202に記憶されたグラフ構造情報(隣接行列(Anm))とに基づいて行われる。遷移確率計算部108は、式(3)の計算を、グラフ上のすべてのノードmとnのペアについて行う。 As described above, the transition probability calculation unit 108 calculates the transition probability by storing the latest evaluation value p n (t) of each node stored in the evaluation value storage unit 204 and the graph structure information. This is performed based on the graph structure information (adjacency matrix (A nm )) stored in the unit 202. The transition probability calculation unit 108 performs the calculation of Expression (3) for all pairs of nodes m and n on the graph.

評価値計算部110は、遷移確率計算部108で計算された時刻tにおける遷移確率行列(式(3))と、評価値記憶部204に記憶されている時刻tにおける各ノードの評価値p(t)と、に基づき、微小な単位時刻Δtだけ進んだ次の時刻(t+Δt)におけるそれら各ノードの評価値p(t+Δt)を計算する。 Evaluation value calculation unit 110 includes a transition probability matrix in calculated time t in the transition probability calculation unit 108 (equation (3)), the evaluation value p n of each node at time t stored in the evaluation value storage unit 204 Based on (t), the evaluation value p n (t + Δt) of each node at the next time (t + Δt) advanced by a minute unit time Δt is calculated.

この計算は、上述したマルコフ連鎖の時間発展の計算式(2)に従って行う。式(2)に、この実施の形態の遷移確率を示す式(3)を代入すると、次の式(4)が得られる。   This calculation is performed according to the above-described calculation formula (2) of the Markov chain time evolution. Substituting equation (3) indicating the transition probability of this embodiment into equation (2), the following equation (4) is obtained.

Figure 2013041530
Figure 2013041530

評価値計算部110は、式(4)を、初期条件設定部106で設定された初期条件の下で解く。ただし、評価値計算部110は、コンピュータによる離散時間での数値計算を行うので、式(4)を差分形式に書き換えた次の式(5)に従ってp(t+Δt)を計算する。 The evaluation value calculation unit 110 solves the equation (4) under the initial conditions set by the initial condition setting unit 106. However, since the evaluation value calculation unit 110 performs numerical calculation in discrete time by a computer, it calculates p n (t + Δt) according to the following equation (5) in which equation (4) is rewritten into a differential format.

Figure 2013041530
Figure 2013041530

収束判定・評価値更新部112は、評価値計算部110により計算されたp(t+Δt)が収束したかを判定し、収束したと判定した場合、その時点で時間発展の繰り返し計算を打ち切る。例えば、計算された各ノードの評価値p(t+Δt)と、評価値記憶部204に記憶されている評価値p(t)との距離があらかじめ定めた閾値以下になった場合に、収束したと判定すればよい。なお、ここでの「距離」は、例えば、グラフ上のN個のノードの評価値の列をN次元空間の座標としたときの、時刻(t+Δt)での座標と時刻tでの座標とのユークリッド距離等を用いればよい。 The convergence determination / evaluation value update unit 112 determines whether or not pn (t + Δt) calculated by the evaluation value calculation unit 110 has converged. If it is determined that the convergence has occurred, the convergence calculation / evaluation value update unit 112 terminates the time evolution repeated calculation. For example, the evaluation value p n of the calculated respective nodes (t + Δt), when the distance between the evaluation value p n, which is stored (t) is below a predetermined threshold in the evaluation value storage unit 204, the convergence What is necessary is just to determine that it was. The “distance” here is, for example, the coordinate at time (t + Δt) and the coordinate at time t when the sequence of evaluation values of N nodes on the graph is the coordinates of the N-dimensional space. Euclidean distance or the like may be used.

収束判定・評価値更新部112は、収束していないと判定した場合は、各ノードnについて計算されたp(t+Δt)を、最新の評価値として評価値記憶部204に書き込むことで、評価値記憶部204の記憶内容を更新する。そして、遷移確率計算部108及び評価値計算部110に対して、時刻をΔtだけ進め、次の繰り返しステップの計算を行わせる。言い換えれば、計算されたp(t+Δt)をp(t)に置き換え、再び式(4)及び式(5)の計算を実行する。 When the convergence determination / evaluation value update unit 112 determines that the convergence has not occurred, the convergence determination / evaluation value update unit 112 writes pn (t + Δt) calculated for each node n to the evaluation value storage unit 204 as the latest evaluation value. The stored contents of the value storage unit 204 are updated. Then, the transition probability calculation unit 108 and the evaluation value calculation unit 110 advance the time by Δt, and calculate the next iteration step. In other words, the calculated pn (t + Δt) is replaced with pn (t), and the calculations of equations (4) and (5) are executed again.

なお、収束判定・評価値更新部112は、評価値分布p(t+Δt)が収束しない場合でも、時間発展の繰り返しステップの回数があらかじめ定めた上限値に達した時点で、繰り返し計算を打ち切るようにしてもよい。 Note that the convergence determination / evaluation value update unit 112 cancels the repetitive calculation when the number of repeated time development steps reaches a predetermined upper limit value even when the evaluation value distribution p n (t + Δt) does not converge. It may be.

最確経路算出部114は、収束判定・評価値更新部112から収束と判定された時(あるいは繰り返し計算を打ち切った時)の評価値分布p(t+Δt)のデータを受け取り、受け取ったデータに基づいて最確経路を算出する。ここで、最確経路算出部114は、受け取った評価値分布p(t+Δt)のデータから、評価値が0でない(非ゼロ)のノードを特定し、それら「非ゼロ」のノード群から、指定された始点から終点への最確経路を求める。評価値分布p(t+Δt)が収束した場合は、上述した遷移確率の定め方によるWTA(勝者全獲得)の性質から、評価値分布p(t+Δt)のうち、最確経路上のノード以外のすべてのノードの評価値は0となっている。また、収束後の定常状態では、最確経路上の各ノードの評価値は、すべて等しい値となる。したがって、典型的には、受け取った評価値分布p(t+Δt)において評価値が非ゼロのノード群を、グラフ構造情報記憶部202内のグラフ構造情報が表すリンクを介して始点から終点まで連ねた系列が、最確経路となる。 The most probable route calculation unit 114 receives data of the evaluation value distribution p n (t + Δt) when the convergence determination / evaluation value update unit 112 determines convergence (or when the repeated calculation is terminated), and the received data Based on this, the most probable route is calculated. Here, the most probable route calculation unit 114 identifies nodes whose evaluation values are not 0 (non-zero) from the received evaluation value distribution p n (t + Δt), and from these “non-zero” node groups, Find the most probable route from the specified start point to the end point. When the evaluation value distribution p n (t + Δt) has converged, the nodes other than the nodes on the most probable route in the evaluation value distribution p n (t + Δt) from the property of WTA (all winners acquisition) based on the above-described transition probability determination The evaluation values of all the nodes are 0. Further, in the steady state after convergence, the evaluation values of the nodes on the most probable route are all equal. Therefore, typically, a node group having a non-zero evaluation value in the received evaluation value distribution p n (t + Δt) is connected from the start point to the end point via the link represented by the graph structure information in the graph structure information storage unit 202. The sequence is the most probable route.

最確経路算出部114における「非ゼロ」の判定は、評価値が厳密に0であるか否かという判定でもよいが、実際の数値計算では最確経路上のノード以外のノードの評価値が0より大きい微小値として残る可能性もあるので、あらかじめ定めた正の閾値よりも評価値が大きいノードを「非ゼロ」のノードと判定するようにしてもよい。   The determination of “non-zero” in the most probable route calculation unit 114 may be a determination of whether or not the evaluation value is strictly 0, but in the actual numerical calculation, the evaluation values of nodes other than the node on the most probable route are Since there is a possibility of remaining as a minute value larger than 0, a node having an evaluation value larger than a predetermined positive threshold value may be determined as a “non-zero” node.

なお、評価値分布p(t+Δt)が収束せずに計算を打ち切った場合も、最確経路上のノード以外のノードの大部分は評価値が0となっているはずである。ただし、この場合は、最確経路上のノード以外のノードの中にも、評価値が非ゼロのノードが存在する場合があり得る。この場合でも、正の閾値より評価値が大きいノードを「非ゼロ」のノードと判定する方式で対応すればよい。 Even when the calculation is terminated without the evaluation value distribution pn (t + Δt) converging, the evaluation value should be 0 for most of the nodes other than the node on the most probable route. However, in this case, there may be a node whose evaluation value is non-zero among nodes other than the node on the most probable route. Even in this case, it is only necessary to deal with a method in which a node having an evaluation value larger than the positive threshold is determined as a “non-zero” node.

最確経路算出部114は、このようにして求められた最確経路の情報をユーザに提示する。例えば、最確経路上のノードの系列をグラフの画像上で強調表示したものを最確経路算出装置の表示画面上に表示する。   The most probable route calculation unit 114 presents information on the most probable route obtained in this way to the user. For example, a series of nodes on the most probable route highlighted on a graph image is displayed on the display screen of the most probable route calculation device.

図3の装置による最確経路算出の具体例を、図4を参照して説明する。対象のグラフとして図4に示す、10個のノード1〜10が実線矢印の有向リンクで結ばれたグラフが入力されたとする。そして、ユーザがこのグラフのノード1を始点に、ノード2を終点に指定したとする。この場合、図3の装置のグラフ構造変更部104は、終点ノード2から始点ノード1へのリンク(破線矢印で示した)を追加する。そして、初期条件設定部106は、各ノード1〜10に対して、ページランクアルゴリズムにより求めたページランク値を評価値の初期値として設定する。ここで、時間発展の単位時間Δt=0.1として、その初期条件から出発して上述の式(5)を繰り返し計算し、評価値分布p(t+Δt)が収束するまで計算を繰り返す。この例では、単調増加関数F()として、F(x)=xを用いる(ただし、これはあくまで一例に過ぎない)。繰り返し計算の収束時点では、各ノードnの評価値pは、p=p=p=p=p10=p≠0、p=p=p=p=0となる。これにより、1→5→8→9→10→2という経路が最確経路として求められることになる。 A specific example of the most probable route calculation by the apparatus of FIG. 3 will be described with reference to FIG. Assume that a graph in which 10 nodes 1 to 10 shown in FIG. 4 are connected by a directed link indicated by a solid line arrow is input as a target graph. Assume that the user designates node 1 of this graph as the start point and node 2 as the end point. In this case, the graph structure changing unit 104 of the apparatus in FIG. 3 adds a link (indicated by a dashed arrow) from the end node 2 to the start node 1. Then, the initial condition setting unit 106 sets the page rank value obtained by the page rank algorithm for each of the nodes 1 to 10 as the initial value of the evaluation value. Here, assuming that the unit time Δt = 0.1 of time evolution, starting from the initial condition, the above formula (5) is repeatedly calculated, and the calculation is repeated until the evaluation value distribution p n (t + Δt) converges. In this example, F (x) = x 4 is used as the monotonically increasing function F () (however, this is only an example). The convergence time of repeated calculations, the evaluation value p n of each node n, p 1 = p 5 = p 8 = p 9 = p 10 = p 2 ≠ 0, p 3 = p 4 = p 6 = p 7 = 0 It becomes. As a result, a route of 1 → 5 → 8 → 9 → 10 → 2 is obtained as the most probable route.

ちなみに、図4のグラフでの始点ノード1から終点ノード2までの最短経路は1→3→4→2である。この例から分かるように、最確経路は、ダイクストラ法等により求められる最短経路とは一般には一致しない。   Incidentally, the shortest path from the start point node 1 to the end point node 2 in the graph of FIG. 4 is 1 → 3 → 4 → 2. As can be seen from this example, the most probable route generally does not match the shortest route obtained by the Dijkstra method or the like.

次に、図5を参照して、実施の形態の経路算出装置の別の例を説明する。図3の例では指定された始点と終点を結ぶ最確経路を求めたのに対し、図5の例では、終点の指定は受けず、指定された始点から出発する経路のうちの最確経路を求める。図5において、図3に示した要素と同様の要素には同一符号を付す。   Next, another example of the route calculation apparatus according to the embodiment will be described with reference to FIG. In the example of FIG. 3, the most probable route connecting the specified start point and the end point is obtained. In the example of FIG. 5, the end point is not specified, and the most probable route among the routes starting from the specified start point. Ask for. In FIG. 5, the same elements as those shown in FIG.

図5の例が図3の例と異なる点は、始点・終点指定受付部120の代わりに始点指定受付部122を有する点、グラフ構造変更部104を有しない点と、評価値計算部110aでの評価値計算の内容である。   The example of FIG. 5 is different from the example of FIG. 3 in that it has a start point designation receiving unit 122 instead of the start point / end point designation receiving unit 120, a point having no graph structure changing unit 104, and an evaluation value calculation unit 110a. This is the content of the evaluation value calculation.

すなわち、まず、図5の例では、始点指定受付部122により始点のみの指定を受け付ける。終点が指定されないので、終点から始点へのリンクを追加するグラフ構造変更部104は不要である。   That is, first, in the example of FIG. 5, the start point designation accepting unit 122 accepts designation of only the start point. Since the end point is not specified, the graph structure changing unit 104 for adding a link from the end point to the start point is unnecessary.

図5の例における評価値計算部110aは、評価値分布の時間発展を、原理的には次の式(6)に従って計算する。   The evaluation value calculation unit 110a in the example of FIG. 5 calculates the time evolution of the evaluation value distribution according to the following equation (6) in principle.

Figure 2013041530
Figure 2013041530

実際の数値計算では、式(6)を差分形式に変換した次の式(7)を用いる。   In actual numerical calculation, the following equation (7) obtained by converting equation (6) into a differential format is used.

Figure 2013041530
Figure 2013041530

式(6)及び(7)は、指定された始点ノードに対して、他の各ノードから(リンクの有無にかかわらず)あらかじめ定められた非負の確率λでランダムにエージェントが遷移するという「ランダムジャンプ」を組み込んだ点が、式(4)及び(5)とは異なる。式(6)及び(7)において、添え字iは、始点ノードiを表す。また、「δ」はクロネッカーのΔである。すなわち、項「λδni」は始点ノードiについては値λとなる。これは、始点ノードiには常にいずれかのノードから確率λでエージェント(評価値)の流入があることを示している。そして、全確率1からランダムジャンプによる確率λの部分を除いた残りの(1−λ)については、図3の例の場合と同様の遷移確率に従ってリンク元の各ノードからエージェントが流入してくるものとしている。また、始点ノードi以外のノードnについては、項「λδni」が0となり、この分だけ図3の例よりはエージェントの流入が減ることになるが、その減った分は始点ノードiにランダムジャンプで流入することになる。なお、λの具体的な値は、シミュレーションなどにより求めておけばよい。 Expressions (6) and (7) indicate that the agent randomly changes with a predetermined non-negative probability λ from each other node (regardless of the presence or absence of a link) with respect to the designated start point node. The point of incorporating “jump” is different from the formulas (4) and (5). In equations (6) and (7), the subscript i represents the start node i. “Δ” is Δ of Kronecker. That is, the term “λδ ni ” is the value λ for the starting node i. This indicates that the start point node i always has an inflow of an agent (evaluation value) from any node with a probability λ. Then, with respect to the remaining (1-λ) obtained by excluding the part of the probability λ due to random jump from the total probability 1, the agent flows from each link source node according to the same transition probability as in the example of FIG. It is supposed to be. In addition, the term “λδ ni ” is 0 for the node n other than the starting point node i, and the inflow of the agent is reduced by this amount compared to the example of FIG. 3, but the reduced amount is random to the starting point node i. It will flow in by jump. The specific value of λ may be obtained by simulation or the like.

このような始点ノードiへのランダムジャンプを導入することで、始点ノードiの評価値は必ず非ゼロとなる。したがって、繰り返し計算の結果求められる評価値が非ゼロのノードの集合には、始点ノードiが必ず残ることになる。これにより、最終的に求められる最確経路は、始点ノードを通るものとなる。   By introducing such a random jump to the starting point node i, the evaluation value of the starting point node i is always non-zero. Therefore, the starting point node i always remains in a set of nodes whose evaluation values obtained as a result of the repeated calculation are non-zero. Thereby, the most probable route finally obtained passes through the start point node.

図5に示した要素のうち以上に説明した要素以外のものは、図3の例の場合と同様でよい。   Of the elements shown in FIG. 5, the elements other than those described above may be the same as those in the example of FIG.

図5の装置による最確経路算出の具体例を、図6を参照して説明する。対象のグラフとして図6に示す、15個のノード1〜15が実線矢印の有向リンクで結ばれたグラフが入力されたとする。そして、ユーザがこのグラフのノード1を始点に指定したとする。この場合、図5の装置の初期条件設定部106は、各ノード1〜15に対して、ページランクアルゴリズムにより求めたページランク値を評価値の初期値として設定する。ここで、時間発展の単位時間Δt=0.1として、その初期条件から出発して上述の式(7)を繰り返し計算し、評価値分布p(t+Δt)が収束するまで計算を繰り返す。この例では、単調増加関数F()として、F(x)=xを用いる(ただし、これはあくまで一例に過ぎない)。繰り返し計算の収束時点では、各ノードnの評価値pは、p=p=p10=p≠0、p=p=p=p=p=p=p11=p12=p13=p14=p15=0となる。これにより、1→4→10→2という経路が最確経路として求められることになる。 A specific example of calculating the most probable route by the apparatus of FIG. 5 will be described with reference to FIG. It is assumed that a graph in which 15 nodes 1 to 15 shown in FIG. 6 are connected by a directed link indicated by a solid line arrow is input as a target graph. Then, assume that the user designates node 1 of this graph as the starting point. In this case, the initial condition setting unit 106 of the apparatus in FIG. 5 sets the page rank value obtained by the page rank algorithm as the initial value of the evaluation value for each of the nodes 1 to 15. Here, assuming that the unit time Δt = 0.1 of the time evolution, starting from the initial condition, the above formula (7) is repeatedly calculated, and the calculation is repeated until the evaluation value distribution p n (t + Δt) converges. In this example, F (x) = x 4 is used as the monotonically increasing function F () (however, this is only an example). The convergence time of repeated calculations, the evaluation value p n of each node n, p 1 = p 4 = p 10 = p 2 ≠ 0, p 3 = p 5 = p 6 = p 7 = p 8 = p 9 = p 11 = p 12 = p 13 = p 14 = p 15 = 0 and becomes. As a result, a route of 1 → 4 → 10 → 2 is obtained as the most probable route.

ちなみに、図6のグラフの各ノードをページランク値の大きい順に並べると1,5,4,9,10,2,12,6,15,14,8,7,13,11の順になる。ここで、始点ノード1から順に、「カレントのノードからリンク先のノードのうちページランク値が最大のノードに移動する」という遷移規則を繰り返すことにより得られる経路は、1→5→9→2である。このように、ページランク値が最大のリンク先を選ぶという方式で求められる経路は、この実施の形態により求められる最確経路とは一般には一致しない。   By the way, when the nodes in the graph of FIG. 6 are arranged in descending order of the page rank value, the order is 1, 5, 4, 9, 10, 2, 12, 6, 15, 14, 8, 7, 13, 11. Here, in order from the start node 1, the route obtained by repeating the transition rule “move from the current node to the node with the highest page rank value among the linked nodes” is 1 → 5 → 9 → 2 It is. As described above, the route obtained by the method of selecting the link destination having the maximum page rank value generally does not coincide with the most probable route obtained by this embodiment.

図5において破線の円で示したノードは、当該ノードから出る有向リンクを持たないノード(いわゆるダングリングノード)である。式(6)及び(7)におけるランダムジャンプ成分は、ダングリングノードに評価値が滞留することを防止する意義も有している。   A node indicated by a broken-line circle in FIG. 5 is a node (a so-called dangling node) that does not have a directed link that goes out of the node. The random jump component in the equations (6) and (7) also has a significance of preventing the evaluation value from staying at the dangling node.

なお、図5の例における始点ノードへのランダムジャンプを考慮した評価値計算は、始点から終点への最確経路を求める図3の装置に適用してよい。始点へのランダムジャンプを導入することで、図3の装置により求められる最確経路は必ず始点を通るものとなる。また、図3の例において、始点へのランダムジャンプと同じ方式で終点へのランダムジャンプを組み込んだ計算式を用いてよい。これにより、図3の装置により求められる最確経路は必ず始点と終点を通るものとなる。   Note that the evaluation value calculation considering the random jump to the start point node in the example of FIG. 5 may be applied to the apparatus of FIG. 3 for obtaining the most probable route from the start point to the end point. By introducing a random jump to the starting point, the most probable route required by the apparatus of FIG. 3 always passes through the starting point. In the example of FIG. 3, a calculation formula incorporating a random jump to the end point in the same manner as the random jump to the start point may be used. Thereby, the most probable route obtained by the apparatus of FIG. 3 always passes through the start point and the end point.

以上に説明した実施の形態の評価値計算(式(4)〜(7))は、(ア)あるノードにいるエージェントがそのノードから出るリンクの各々を選ぶ遷移確率は、それら各リンクの先のノードの評価値が高いほど高くなる、(イ)時間の変化によらず評価値の総和が保存される、(ウ)評価値は常に非負である、という条件を満たすものである。このような条件を満たすものであれば、式(4)〜(7)に例示したものと異なる計算式を用いてもよい。   The evaluation value calculation (formulas (4) to (7)) of the embodiment described above is as follows. (A) The transition probability that an agent at a certain node selects each link exiting from that node is determined by the destination of each link. The higher the evaluation value of the node is, the higher the value is (a) the sum of the evaluation values is stored regardless of the change in time, and (c) the evaluation value is always nonnegative. As long as these conditions are satisfied, a calculation formula different from those exemplified in the formulas (4) to (7) may be used.

以上に例示した経路算出装置は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)等のメモリ(一次記憶)、HDD(ハードディスクドライブ)を制御するHDDコントローラ、各種I/O(入出力)インタフェース、ローカル・エリア・ネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit、特定用途向け集積回路)又はFPGA(Field Programmable Gate Array)等のハードウエア回路として構成してもよい。   The route calculation apparatus exemplified above is realized, for example, by causing a general-purpose computer to execute a program representing the processing of each functional module described above. Here, the computer includes, as hardware, a microprocessor such as a CPU, a memory (primary storage) such as a random access memory (RAM) and a read only memory (ROM), an HDD controller that controls an HDD (hard disk drive), Various I / O (input / output) interfaces, network interfaces that perform control for connection to a network such as a local area network, and the like have a circuit configuration connected via a bus, for example. Also, portable non-volatile recording of various standards such as a disk drive and a flash memory for reading and / or writing to a portable disk recording medium such as a CD or a DVD via the I / O interface, for example. A memory reader / writer for reading from and / or writing to a medium may be connected. A program in which the processing contents of each functional module exemplified above are described is stored in a fixed storage device such as a hard disk drive via a recording medium such as a CD or DVD, or via a communication means such as a network, and stored in a computer. Installed. The program stored in the fixed storage device is read into the RAM and executed by a microprocessor such as a CPU, thereby realizing the functional module group exemplified above. Some or all of these functional module groups are used as hardware circuits such as dedicated LSI (Large Scale Integration), ASIC (Application Specific Integrated Circuit), or FPGA (Field Programmable Gate Array). It may be configured.

上述の実施の形態の経路算出装置、又はその経路算出装置が実行する方法は、グラフ構造において、ページランクアルゴリズムが定めるところの、「点」としてのノードの重要度だけでなく、ノードがリンクで一列に結ばれて構成される「経路」の重要度を定めることが求められる場合一般に利用され得る。例えば、引用関係により構成される文書のネットワークにおいて、文書Aから出発して、Aの次に読むべき文書B、Bの次に読むべき文書C、Cの次に読むべき文書D、…という具合に、一連の文書B、C、D、…の系列を推薦する場合である。一般に、Aからは複数の文書に引用のリンクが張られており、その一つ一つからもさらに複数の文書に引用のリンクが張られている。従って一般には、Aを始点とする非常に多くの経路がある。それらの中から一つを選ぶために、個々の経路の重要度、あるいは、どれが最も重要な経路か、ということを定める必要がある。したがって、文書間の引用関係を表す有向グラフのデータが与えられ、その中から始点とする文書の指定をユーザから受け付ければ、その有向グラフのデータに対して上記実施の形態の処理を実行することにより、その始点からみて最も重要と考えられる引用の経路(すなわち引用の経路として最も確からしい経路)が求められることになる。   The route calculation device of the above-described embodiment or the method executed by the route calculation device is not limited to the importance of a node as a “point” as defined by the page rank algorithm in the graph structure. It can be generally used when it is required to determine the importance of “routes” configured in a line. For example, in a network of documents constituted by citation relationships, starting from document A, document B to be read next to A, document C to be read next to B, document D to be read next to C, etc. In this case, a series of documents B, C, D,... Is recommended. In general, from A, a citation link is set to a plurality of documents, and from each of them, a citation link is set to a plurality of documents. Therefore, in general, there are a large number of routes starting from A. In order to choose one of them, it is necessary to define the importance of each route or which is the most important route. Therefore, if data of a directed graph representing a citation relationship between documents is given and the specification of the document as the starting point is accepted from the user, the processing of the above embodiment is performed on the data of the directed graph. The citation route that is considered to be the most important from the start point (that is, the most likely route as the citation route) is obtained.

また、上記実施の形態の手法は、ウェブページの閲覧順序の推薦にも利用し得る。例えば、ウェブページAから出発して、Aの次に閲覧すべきページB、Bの次に閲覧すべきページC、Cの次に閲覧すべきページD、…という具合に、ウェブページの閲覧順B、C、D、…を推薦する場合である。この場合も引用のときと同様、非常に多くの閲覧経路があり、それらの中から一つを選ぶために、個々の経路の重要度、あるいは、どれが最も重要な経路か、ということを定める必要がある。処理の適用対象であるウェブページのリンク構造がなすグラフの情報は、例えば、周知のクローラー技術等を用いて収集すればよい。ユーザが始点とするウェブページを指定すると、そのグラフに対して上記実施の形態の処理を実行することにより、その始点からみて最もユーザが辿りやすいと考えられるウェブページの順序系列が求められる。   Moreover, the technique of the said embodiment can be utilized also for recommendation of the browsing order of a web page. For example, starting from the web page A, the page B to be browsed next to A, the page C to be browsed next to B, the page D to be browsed after C, and so on. In this case, B, C, D,. Again, as with the quote, there are so many browsing routes, and in order to choose one of them, define the importance of each route or which is the most important route There is a need. Information of the graph formed by the link structure of the web page to which the process is applied may be collected using, for example, a well-known crawler technique. When the user designates a web page as a starting point, the sequence of web pages that the user is most likely to follow from the starting point is obtained by executing the processing of the above embodiment on the graph.

100 プロセッサ、102 グラフ構造情報入力部、104 グラフ構造変更部、106 初期条件設定部、108 遷移確率計算部、110 評価値計算部、112 収束判定・評価値更新部、114 最確経路算出部、120 始点・終点指定受付部、122 始点指定受付部、200 記憶装置、202 グラフ構造情報記憶部、204 評価値記憶部。   DESCRIPTION OF SYMBOLS 100 Processor, 102 Graph structure information input part, 104 Graph structure change part, 106 Initial condition setting part, 108 Transition probability calculation part, 110 Evaluation value calculation part, 112 Convergence determination / evaluation value update part, 114 Most probable path calculation part, 120 start point / end point designation receiving unit, 122 start point designation receiving unit, 200 storage device, 202 graph structure information storage unit, 204 evaluation value storage unit.

Claims (5)

コンピュータを、
複数のノードと、前記複数のノード同士の間を接続する複数のリンクと、からなるグラフの構造を表すグラフ構造情報を記憶する第1の記憶手段、
前記各ノードの評価値を記憶する第2の記憶手段、
前記各ノードのうち、算出すべき経路の始点とするノードの指定を受け付ける始点受付手段、
前記第1の記憶手段に記憶された前記グラフ構造情報と、前記第2の記憶手段に記憶された前記各ノードの評価値と、に基づき、前記ノード毎に、当該ノードからリンク先の各ノードへの遷移確率を計算する遷移確率計算手段、
前記第2の記憶手段に記憶された前記各ノードの評価値と、前記遷移確率計算手段により計算された遷移確率群とに基づき、次の時刻における前記各ノードの評価値を計算する評価値計算手段、
前記評価値計算手段により計算された次の時刻における前記各ノードの評価値により前記第2の記憶手段に記憶される前記各ノードの評価値を更新する評価値更新手段、
前記遷移確率計算手段及び前記評価値計算手段に繰り返して計算を行わせ、その計算の繰り返しがあらかじめ定められた終了条件を満たした場合に繰り返しを終了し、その終了の時点において0でない評価値を持つノード群に基づいて、前記始点のノードを出発点として前記グラフのリンクを辿る経路のうち選ばれる可能性が最も高い経路を算出する経路算出手段、
として機能させるためのプログラムであって、
前記遷移確率計算手段は、前記ノード毎に、当該ノードからリンク先の各ノードへの遷移確率として、リンク先の各ノードのうち評価値が高いノードほど遷移確率の値が高くなるように遷移確率を計算する、
ことを特徴とする、プログラム。
Computer
First storage means for storing graph structure information representing a structure of a graph comprising a plurality of nodes and a plurality of links connecting the plurality of nodes;
Second storage means for storing an evaluation value of each node;
A starting point receiving means for receiving designation of a node as a starting point of a route to be calculated among the nodes;
Based on the graph structure information stored in the first storage unit and the evaluation value of each node stored in the second storage unit, for each node, each node linked from the node to the link destination Transition probability calculation means for calculating the transition probability to
Evaluation value calculation for calculating the evaluation value of each node at the next time based on the evaluation value of each node stored in the second storage means and the transition probability group calculated by the transition probability calculation means means,
Evaluation value update means for updating the evaluation value of each node stored in the second storage means with the evaluation value of each node at the next time calculated by the evaluation value calculation means;
The transition probability calculating means and the evaluation value calculating means repeatedly perform the calculation, and the repetition ends when the repetition of the calculation satisfies a predetermined end condition, and an evaluation value that is not 0 at the time of the end A route calculating means for calculating a route that is most likely to be selected from the routes that follow the link of the graph based on the node of the starting point based on the node of the starting point;
Is a program for functioning as
The transition probability calculation means, for each node, as a transition probability from the node to each link destination node, the transition probability is such that the higher the evaluation value of the nodes of the link destination, the higher the transition probability value. Calculate
A program characterized by that.
前記評価値計算手段は、前記グラフを構成する各ノードから前記始点のノードに対して0より大きいあらかじめ定められた確率でランダムに遷移するというランダム遷移を計算に入れて、前記次の時刻における前記各ノードの評価値を計算する、
ことを特徴とする請求項1に記載のプログラム。
The evaluation value calculation means calculates a random transition that randomly changes with a predetermined probability greater than 0 from each node constituting the graph to the starting point node, and the evaluation value at the next time Calculate the evaluation value of each node,
The program according to claim 1.
前記コンピュータを、
前記算出すべき経路の終点とするノードの指定を受け付ける終点受付手段、
前記グラフに前記終点のノードと前記始点のノードとを結ぶリンクを追加するよう、前記第1の記憶手段に記憶される前記グラフ構造情報を変更するグラフ構造情報変更手段、
として機能させると共に、
前記遷移確率計算手段は、前記グラフ構造情報変更手段により変更された後の前記第1の記憶手段内の前記グラフ構造情報に基づいて、前記ノード毎に、当該ノードからリンク先の各ノードへの遷移確率を計算する、
ことを特徴とする請求項1又は2に記載のプログラム。
The computer,
End point accepting means for accepting designation of a node as an end point of the route to be calculated;
Graph structure information changing means for changing the graph structure information stored in the first storage means so as to add a link connecting the end point node and the start point node to the graph;
As well as
Based on the graph structure information in the first storage means after being changed by the graph structure information changing means, the transition probability calculating means, for each node, from the node to each link destination node Calculate transition probabilities,
The program according to claim 1 or 2, characterized by the above-mentioned.
前記コンピュータを、
前記遷移確率計算手段及び前記評価値計算手段による計算の繰り返しを開始する前に、前記第1の記憶手段内の前記グラフ構造情報に対してページランクアルゴリズムの計算を行うことにより前記各ノードのページランク値を計算し、計算された前記各ノードのページランク値を、前記各ノードの評価値の初期値として前記第2の記憶手段に対して記憶させる初期値設定手段、
として更に機能させることを特徴とする、請求項1から3のいずれか1項に記載のプログラム。
The computer,
Before starting the repetition of the calculation by the transition probability calculation means and the evaluation value calculation means, a page rank algorithm is calculated for the graph structure information in the first storage means, so that the page of each node An initial value setting means for calculating a rank value, and storing the calculated page rank value of each node in the second storage means as an initial value of the evaluation value of each node;
The program according to any one of claims 1 to 3, further functioning as:
複数のノードと、前記複数のノード同士の間を接続する複数のリンクと、からなるグラフの構造を表すグラフ構造情報を記憶する第1の記憶手段と、
前記各ノードの評価値を記憶する第2の記憶手段と、
前記各ノードのうち、算出すべき経路の始点とするノードの指定を受け付ける始点受付手段と、
前記第1の記憶手段に記憶された前記グラフ構造情報と、前記第2の記憶手段に記憶された前記各ノードの評価値と、に基づき、前記ノード毎に、当該ノードからリンク先の各ノードへの遷移確率を計算する遷移確率計算手段と、
前記第2の記憶手段に記憶された前記各ノードの評価値と、前記遷移確率計算手段により計算された遷移確率群とに基づき、次の時刻における前記各ノードの評価値を計算する評価値計算手段と、
前記評価値計算手段により計算された次の時刻における前記各ノードの評価値により前記第2の記憶手段に記憶される前記各ノードの評価値を更新する評価値更新手段と、
前記遷移確率計算手段及び前記評価値計算手段に繰り返して計算を行わせ、その計算の繰り返しがあらかじめ定められた終了条件を満たした場合に繰り返しを終了し、その終了の時点において0でない評価値を持つノード群に基づいて、前記始点のノードを出発点として前記グラフのリンクを辿る経路のうち選ばれる可能性が最も高い経路を算出する経路算出手段と、
を備え、
前記遷移確率計算手段は、前記ノード毎に、当該ノードからリンク先の各ノードへの遷移確率として、リンク先の各ノードのうち評価値が高いノードほど遷移確率の値が高くなるように遷移確率を計算する、
ことを特徴とする、経路算出装置。
First storage means for storing graph structure information representing a structure of a graph comprising a plurality of nodes and a plurality of links connecting the plurality of nodes;
Second storage means for storing an evaluation value of each node;
A starting point receiving means for receiving designation of a node as a starting point of a route to be calculated among the nodes;
Based on the graph structure information stored in the first storage unit and the evaluation value of each node stored in the second storage unit, for each node, each node linked from the node to the link destination A transition probability calculating means for calculating a transition probability to
Evaluation value calculation for calculating the evaluation value of each node at the next time based on the evaluation value of each node stored in the second storage means and the transition probability group calculated by the transition probability calculation means Means,
Evaluation value update means for updating the evaluation value of each node stored in the second storage means with the evaluation value of each node at the next time calculated by the evaluation value calculation means;
The transition probability calculating means and the evaluation value calculating means repeatedly perform the calculation, and the repetition ends when the repetition of the calculation satisfies a predetermined end condition, and an evaluation value that is not 0 at the time of the end A route calculation means for calculating a route that is most likely to be selected from routes that follow the link of the graph based on a node group having the start point as a starting point;
With
The transition probability calculation means, for each node, as a transition probability from the node to each link destination node, the transition probability is such that the higher the evaluation value of the nodes of the link destination, the higher the transition probability value. Calculate
A route calculation apparatus characterized by the above.
JP2011179512A 2011-08-19 2011-08-19 Program for route calculation, and route calculation device Withdrawn JP2013041530A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011179512A JP2013041530A (en) 2011-08-19 2011-08-19 Program for route calculation, and route calculation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011179512A JP2013041530A (en) 2011-08-19 2011-08-19 Program for route calculation, and route calculation device

Publications (1)

Publication Number Publication Date
JP2013041530A true JP2013041530A (en) 2013-02-28

Family

ID=47889838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011179512A Withdrawn JP2013041530A (en) 2011-08-19 2011-08-19 Program for route calculation, and route calculation device

Country Status (1)

Country Link
JP (1) JP2013041530A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014225117A (en) * 2013-05-16 2014-12-04 富士通株式会社 Transmission information fluctuation detection method, transmission information fluctuation detection apparatus, and transmission information fluctuation detection program
JP2015018377A (en) * 2013-07-10 2015-01-29 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Estimation device, estimation method, and program
WO2015173854A1 (en) * 2014-05-12 2015-11-19 株式会社 日立製作所 Information processing system and information processing method
CN109407660A (en) * 2017-08-18 2019-03-01 通用汽车环球科技运作有限责任公司 It is controlled using strategy triggering and the independent behaviour executed
CN115766589A (en) * 2023-01-10 2023-03-07 长沙学院 Virtual network mapping system based on high fault tolerance

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014225117A (en) * 2013-05-16 2014-12-04 富士通株式会社 Transmission information fluctuation detection method, transmission information fluctuation detection apparatus, and transmission information fluctuation detection program
JP2015018377A (en) * 2013-07-10 2015-01-29 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Estimation device, estimation method, and program
WO2015173854A1 (en) * 2014-05-12 2015-11-19 株式会社 日立製作所 Information processing system and information processing method
JPWO2015173854A1 (en) * 2014-05-12 2017-04-20 株式会社日立製作所 Information processing system and information processing method
CN109407660A (en) * 2017-08-18 2019-03-01 通用汽车环球科技运作有限责任公司 It is controlled using strategy triggering and the independent behaviour executed
CN115766589A (en) * 2023-01-10 2023-03-07 长沙学院 Virtual network mapping system based on high fault tolerance
CN115766589B (en) * 2023-01-10 2023-07-14 长沙学院 Virtual network mapping system based on high fault tolerance

Similar Documents

Publication Publication Date Title
US11010527B2 (en) Optimization of a quantum circuit by inserting swap gates
CN113544711B (en) Hybrid algorithm system and method for using cluster contraction
Pozzi et al. Using reinforcement learning to perform qubit routing in quantum compilers
Shi et al. Nested partitions method for stochastic optimization
US7672919B2 (en) Determination of graph connectivity metrics using bit-vectors
CN105765576B (en) Processing search queries using data structures
JP2013041530A (en) Program for route calculation, and route calculation device
Rodriguez-Tello et al. An improved simulated annealing algorithm for bandwidth minimization
CN101261634B (en) Studying method and system based on increment Q-Learning
US8069167B2 (en) Calculating web page importance
JP2015225371A (en) Method of searching for relevant node, computer therefor and computer program
US9253012B2 (en) Path selection device, program and method
JP2017059205A (en) Subject estimation system, subject estimation method, and program
JP2015161557A5 (en)
US9674083B2 (en) Path calculation order deciding method, program and calculating apparatus
CN116319518B (en) Information acquisition method and device based on shortest path of knowledge graph
Verstraete et al. Consistent iterative algorithm for stochastic dynamic traffic assignment with a stable route set
Zheng Adaptation of network simplex for the traffic assignment problem
Liu Rank-based ant colony optimization applied to dynamic traveling salesman problems
JP5271817B2 (en) Route search method, apparatus and program
Zhang et al. Reclaiming over-the-IP-block routing resources with buffering-aware rectilinear Steiner minimum tree construction
Ni et al. Models and algorithm for the orienteering problem in a fuzzy environment
Li et al. ANN: a heuristic search algorithm based on artificial neural networks
Hentschke et al. Maze routing steiner trees with effective critical sink optimization
JP5545063B2 (en) Program and information analyzer

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141104