(57)【要約】      （修正有）【課題】ウォーキングツアーを生成するシステム及び方法を提供する。【解決手段】方法は、ネットワークを通じてユーザーデバイスからクエリを受信する。クエリは、ウォーキングツアーに対する要請を示し、位置及びウォーキングツアーに対する目標の長さを含む選好度を含む。ユーザーデバイスの位置周辺の地理的領域のグラフを取得する。グラフは、経路の交差点を示すノード及び上記ノードのペアを連結する経路を示すアークを含む。アーク夫々の特性及び選好度に基づいてアークに対するスコアを決定する。アークのうち連結アークを選択する。該連結アークを選択することは、連結アークのスコア、選択された連結アークの長さ及び目標の長さに基づく。ウォーキングツアーの初期設定のために、アークのうち選択された連結アークをウォーキングツアーに追加する及び表示のために、ウォーキングツアーをネットワークを通じてユーザーデバイスに送信する。【選択図】図４
2020165974.tif 000002
【特許請求の範囲】
【請求項１】
ウォーキングツアーを生成するコンピュータで実行可能な方法であって、
１つ以上のプロセッサによって、ネットワークを通じてユーザーデバイスからクエリ（ｑｕｅｒｙ）を受信するステップであって、上記クエリは、ウォーキングツアーに対する要請を示し、（ａ）位置及び（ｂ）上記ウォーキングツアーに対する目標の長さを含む選好度を含む、ステップ;
上記１つ以上のプロセッサによって、上記ユーザーデバイスの位置周辺の地理的領域のグラフを取得するステップであって、上記グラフは、経路の交差点を示すノード及び上記ノードのペアを連結する経路を示すアーク（ａｒｃ）を含む、ステップ;
上記１つ以上のプロセッサによって、上記アークそれぞれの特性及び上記選好度に基づいて上記アークに対するスコアを決定するステップ;
上記１つ以上のプロセッサによって、上記アークのうち連結アークを選択するステップであって、上記アークのうち連結アークを選択することは、上記アークのうち上記連結アークのスコア、上記アークのうち選択された連結アークの長さ及び上記目標の長さに基づく、ステップ;
上記１つ以上のプロセッサによって、上記ウォーキングツアーの初期設定（ｉｎｉｔｉａｌｉｚｅ）のために、上記アークのうち上記選択された連結アークを上記ウォーキングツアーに追加するステップ;及び
上記１つ以上のプロセッサによって、ユーザーインターフェース上の表示のために上記ウォーキングツアーを、上記ネットワークを通じて上記ユーザーデバイスに送信するステップを含む、コンピュータで実行可能な方法。
【請求項２】
上記アークのうち連結アークを選択するステップは、
上記１つ以上のプロセッサによって、上記ウォーキングツアーがある１つの位置で開始し、上記ある１つの位置で終了するように、上記アークのうち上記連結アークを選択するステップ
を含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項３】
上記アークに対するスコアを決定するステップは、
上記１つ以上のプロセッサによって、上記アークの中で、オープンストリートマップ（Ｏｐｅｎ  Ｓｔｒｅｅｔ  Ｍａｐ、ＯＳＭ）データベースで識別された歩行経路（ｆｏｏｔ  ｐａｔｈ）、住居経路（ｒｅｓｉｄｅｎｔｉａｌ  ｐａｔｈ）及び徒歩経路（ｐｅｄｅｓｔｒｉａｎ  ｐａｔｈ）のうち少なくとも１つに対応するアークのスコアを増加させるステップ
を含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項４】
上記アークに対するスコアを決定するステップは、
上記１つ以上のプロセッサによって、上記アークの中で、上記選好度に含まれたユーザー定義経路類型と同一な経路類型を有するアークのスコアを増加させるステップ
を含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項５】
上記アークに対するスコアを決定するステップは、
上記１つ以上のプロセッサによって、上記アークの中で、上記選好度に含まれた上記ユーザー定義経路類型と異なる経路類型を有するアークのスコアを減少させるステップ
を含む、請求項４に記載のコンピュータで実行可能な方法。
【請求項６】
上記アークに対する上記スコアを決定するステップは、
上記１つ以上のプロセッサによって、上記アークの中で、オープンストリートマップ（ＯＳＭ）データベースで識別された公園、オープンスペース（ｏｐｅｎ  ｓｐａｃｅｓ）、景観の良い関心地域（ｓｃｅｎｉｃ  ｐｏｉｎｔｓ  ｏｆ  ｉｎｔｅｒｅｓｔ）及び地理的形態のうち少なくとも１つと予め決定された距離内に位置するアークのスコアを増加させるステップ
を含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項７】
上記アークに対するスコアを決定するステップは、上記１つ以上のプロセッサによって、上記アークの中で、オープンストリートマップ（ＯＳＭ）データベースで識別された川、山及びハイキング登山路のうち少なくとも１つと予め決定された距離内に位置するアークのスコアを増加させるステップ
を含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項８】
上記アークに対するスコアを決定するステップは、
上記１つ以上のプロセッサによって、上記アークの中で、オープンストリートマップ（ＯＳＭ）データベースで識別された車両道路と予め決定された距離内に位置するアークのスコアを減少させるステップ
を含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項９】
上記アークに対するスコアを決定するステップは、
上記１つ以上のプロセッサによって、上記アークの中で、オープンストリートマップ（ＯＳＭ）データベースで識別された関心地点を通過するアークのスコアを増加させるステップ
を含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項１０】
上記アークに対するスコアを決定するステップは、
上記１つ以上のプロセッサによって、上記アークの中で、２つのアークの間の交差角に基づいて上記２つのアークのスコアを選択的に減少させるステップ
を含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項１１】
上記アークに対するスコアを決定するステップは、
上記１つ以上のプロセッサによって、上記ツアーが、上記アークの中で１つのアークを２回以上含むことに基づいて上記１つのアークのスコアを減少させるステップ
を含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項１２】
上記アークに対するスコアを決定するステップは、
上記１つ以上のプロセッサによって、上記ツアーが、２つのノードの中で１つを２回以上通過することに基づいて、上記２つのノードの間の上記アークのうち１つのアークのスコアを減少させるステップ
を含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項１３】
上記アークのうち連結アークを選択するステップは、上記１つ以上のプロセッサによって：
（ａ）第１の位置から開始して、上記第１の位置と異なる第Ｎの位置で終了される第１のアークを選択するステップ;
（ｂ）上記第Ｎの位置と距離ｄ内にあるノードを識別するステップ;
（ｃ）上記第Ｎの位置から開始して、上記ノードで終了されるアークをそれぞれ識別するステップ;
（ｄ）上記識別されたアークのスコアに基づいて、上記識別されたアークのうち１つのアークを選択するステップであって、上記アークのうち上記選択された連結アークを追加するステップは、上記識別されたアークのうち上記１つの選択されたアークを上記ウォーキングツアーに追加するステップを含む、ステップ;及び
（ｅ）上記ウォーキングツアーの長さが上記選好度に含まれた上記目標の長さの予め決定された範囲内に入るまで（ｂ）〜（ｄ）を反復するステップ
を含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項１４】
上記１つ以上のプロセッサによって、上記距離ｄをランダムに選択するステップ
をさらに含む、請求項１３に記載のコンピュータで実行可能な方法。
【請求項１５】
上記１つ以上のプロセッサによって、上記第Ｎの位置と上記距離ｄ内に０個のノードが位置するとき、上記距離ｄを増加させるステップ
をさらに含む、請求項１３に記載のコンピュータで実行可能な方法。
【請求項１６】
（ｄ）上記識別されたアークのうち１つのアークを選択するステップは、
上記１つ以上のプロセッサによって：
上記識別されたアークのうち、ｋ個の最も高いスコアを有するｋ個のアークを識別するステップであって、ここでｋは１より大きい整数である、ステップ;及び
上記識別されたアークのうち上記ｋ個のアークから上記識別されたアークの中で、上記１つのアークをランダムに選択するステップ
を含む、請求項１３に記載のコンピュータで実行可能な方法。
【請求項１７】
（ｄ）上記識別されたアークのうち１つのアークを選択するステップは、
上記１つ以上のプロセッサによって、上記識別されたアークのうち最も高いスコアを有する上記１つのアークを選択するステップ
を含む、請求項１３に記載のコンピュータで実行可能な方法。
【請求項１８】
上記ウォーキングツアーを、上記ネットワークを通じて上記ユーザーデバイスに送信するステップ以前に、上記１つ以上のプロセッサによって：
上記アークのうち、上記選択された連結アークの中で１つのアークを選択するステップ;
上記アークのうち、上記選択された連結アークの中で上記１つのアークを代替するための１つ以上の代替アークを識別するステップ;及び
上記ウォーキングツアー内で上記アークのうち、上記選択された連結アークの中で上記１つのアークを上記１つ以上の代替アークに代替するステップ
を含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項１９】
上記１つ以上の代替アークを識別するステップは、
上記１つ以上の代替アークのスコアに基づいて上記１つ以上の代替アークを識別するステップ
を含む、請求項１８に記載のコンピュータで実行可能な方法。
【請求項２０】
上記ウォーキングツアーを、上記ネットワークを通じて上記ユーザーデバイスに送信するステップ以前に、上記１つ以上のプロセッサによって：
第１のノードと第２のノードの間の経路セグメントを選択するステップであって、上記経路セグメントは、上記アークのうち上記選択された連結アークの中で１つ以上のアークを含む、ステップ;及び
（ａ）と（ｂ）の比較に基づいて、上記経路セグメントを上記第１のノードと上記第２のノードの間の最短経路セグメントに選択的に代替するステップ
を含み、
（ａ）は、上記最短経路セグメントの第１のスコアを、上記最短経路セグメントの第１の長さで割った値であり、
（ｂ）は、上記経路セグメントの第２のスコアを、上記経路セグメントの第２の長さで割った値である、請求項１に記載のコンピュータで実行可能な方法。
【請求項２１】
上記経路セグメントを上記第１のノードと上記第２のノードの間の最短経路セグメントに選択的に代替するステップは、
上記経路セグメントの上記第２の長さが上記最短経路セグメントの上記第１の長さの２倍より長く、
上記経路セグメントの上記第２のスコアが第１の予め決定された値*（上記経路セグメントの上記アークのうち、上記選択された連結アークの中で上記１つ以上のアークのスコアの第１の和）*（上記経路セグメントの上記アークのうち、上記選択された連結アークの中で上記１つ以上のアークの数）より少なく、
（ａ）が第２の予め決定された値と（ｂ）を乗じたものよりも大きい場合、
上記経路セグメントを上記第１のノードと上記第２のノードの間の上記最短経路セグメントに代替するステップ
を含む、請求項２０に記載のコンピュータで実行可能な方法。
【請求項２２】
上記選好度は、目標獲得高度をさらに含み;
上記スコアを決定するステップは、
上記１つ以上のプロセッサによって、上記アークの獲得高度及び上記目標獲得高度に基づいて上記アークに対するスコアを決定するステップ
を含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項２３】
上記選好度は、最大傾斜度（ｓｔｅｅｐｎｅｓｓ）をさらに含み、
上記スコアを決定する上記ステップは、
上記１つ以上のプロセッサによって、上記アークの傾斜度及び上記最大傾斜度に基づいて上記アークに対する上記スコアを決定するステップ
を含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項２４】
上記ウォーキングツアーを、上記ネットワークを通じて上記ユーザーデバイスに送信した後：
上記１つ以上のプロセッサによって、ネットワークを通じて上記ウォーキングツアーの上記目標の長さを調整するための要請を上記ユーザーデバイスから受信するステップ;
上記要請の受信に応答して、上記調整された目標の長さに基づいて：
上記アークのうち、上記選択された連結アークの中で少なくとも１つのアークを選択するステップ;
上記アークのうち、上記選択された連結アークの中で上記少なくとも１つのアークを代替するための１つ以上の代替アークを識別するステップ;
上記アークのうち、上記選択された連結アークの中で上記少なくとも１つのアークを上記１つ以上の代替アークで代替して、アップデートされたウォーキングツアーを生成するステップ;及び
上記ユーザーインターフェース上の表示のために、上記アップデートされたウォーキングツアーを、上記ネットワークを通じて上記ユーザーデバイスに送信するステップ
をさらに含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項２５】
上記要請を受信するステップは、
上記ユーザーデバイスが上記ウォーキングツアーの少なくとも一部に付いて行った後に、上記要請を受信するステップ
を含む、請求項２４に記載のコンピュータで実行可能な方法。
【請求項２６】
上記要請は、上記目標の長さの増加と減少のうち１つに対する要請を含む、請求項２４に記載のコンピュータで実行可能な方法。
【請求項２７】
上記アークのうち連結アークを選択するステップは、
以前に付いて行ったウォーキングツアーに関するユーザーデータなしに、上記アークのうち連結アークを選択するステップ
を含む、請求項２４に記載のコンピュータで実行可能な方法。
【請求項２８】
上記１つ以上のプロセッサによって、上記アークのうち、上記選択された連結アークの中で１つを代替するための少なくとも１つの代案的なアークを決定するステップ;及び
上記ユーザーインターフェース上の上記ウォーキングツアーのディスプレイのために、上記少なくとも１つの代案的なアークを上記ユーザーデバイスに送信するステップ
をさらに含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項２９】
上記少なくとも１つの代案的なアークを決定するステップは、
上記ウォーキングツアーの開始前に、上記少なくとも１つの代案的なアークを決定するステップ
を含む、請求項２８に記載のコンピュータで実行可能な方法。
【請求項３０】
上記少なくとも１つの代案的なアークを決定するステップは、
上記ウォーキングツアーの横断の間、受信された上記ウォーキングツアーの目的の長さの調整を所望する要請を表すユーザー入力の受信に応答して、上記少なくとも１つの代案的なアークを決定するステップ
を含む、請求項２８に記載のコンピュータで実行可能な方法。
【請求項３１】
上記ユーザーデバイスが上記少なくとも１つの代案的なアークに進入すること;及び
上記ユーザーデバイスが上記少なくとも１つの代案的なアークを抜けていくこと
のうち少なくとも１つに応答して、上記ユーザーデバイスによって、視覚、聴覚またはハプティック出力のうち１つの不在または存在を利用してシグナリングするステップ
をさらに含む、請求項２８に記載のコンピュータで実行可能な方法。
【請求項３２】
上記１つ以上のプロセッサによって、上記ウォーキングツアーに沿って上記ユーザーデバイスのユーザーを案内するために、感覚識別可能（ｓｅｎｓｏｒｙ  ｄｉｓｃｅｒｎａｂｌｅ）出力デバイスを使用してナビゲーション関連感覚識別可能フィードバックを提供するステップ
をさらに含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項３３】
ウォーキングツアーを生成するためのシステムであって、
１つ以上のプロセッサ;及び
コードを含むメモリ
を含み、
上記コードは、上記１つ以上のプロセッサによって実行されるとき：
ネットワークを通じてユーザーデバイスからクエリを受信する機能であって、上記クエリは、ウォーキングツアーに対する要請を示し、（ａ）位置及び（ｂ）上記ウォーキングツアーに対する目標の長さを含む選好度を含む、機能;
上記ユーザーデバイスの位置周辺の地理的領域のグラフを取得する機能であって、上記グラフは、経路の交差点を示すノード及び上記ノードのペアを連結する経路を示すアークを含む、機能;
上記アークそれぞれの特性及び上記選好度に基づいて上記アークに対するスコアを決定する機能;
上記アークのうち連結アークを選択する機能であって、上記アークのうち連結アークを選択することは、上記アークのうち上記連結アークのスコア、上記アークのうち選択された連結アークの長さ及び上記目標の長さに基づく、機能;
上記ウォーキングツアーの初期設定のために、上記アークのうち上記選択された連結アークを上記ウォーキングツアーに追加する機能;及び
ユーザーインターフェース上の表示のために、上記ウォーキングツアーを、上記ネットワークを通じて上記ユーザーデバイスに送信する機能
を含む機能を遂行する、システム。
【請求項３４】
ウォーキングツアーを生成するためのシステムであって、
ネットワークを通じてユーザーデバイスからクエリを受信するための手段であって、上記クエリは、ウォーキングツアーに対する要請を示し、（ａ）位置及び（ｂ）上記ウォーキングツアーに対する目標の長さを含む選好度を含む、手段;
上記ユーザーデバイスの位置周辺の地理的領域のグラフを取得するための手段であって、上記グラフは、経路の交差点を示すノード及び上記ノードのペアを連結する経路を示すアークを含む、手段;
上記アークそれぞれの特性及び上記選好度に基づいて上記アークに対するスコアを決定するための手段;
上記アークのうち連結アークを選択するための手段であって、上記アークのうち連結アークを選択することは、上記アークのうち上記連結アークのスコア、上記アークのうち選択された連結アークの長さ及び上記目標の長さに基づく、手段;
上記ウォーキングツアーの初期設定のために、上記アークのうち上記選択された連結アークを上記ウォーキングツアーに追加するための手段;及び
ユーザーインターフェース上の表示のために、上記ウォーキングツアーを、上記ネットワークを通じて上記ユーザーデバイスに送信するための手段
を含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１９年３月２９日に出願された欧州出願番号ＥＰ１９３０５４２５.１の優先権を主張する。参照された出願の全体開示内容は、参照として本願に含まれる。
【０００２】
技術分野
本開示内容は、ウォーキングツアーのためのルートを決定し、提供するためのシステム及び方法に関するものであって、より具体的には、同じ位置で開始して終了され、高度を考慮することができ、長さを動的に調整可能であって、ユーザーがツアーに付いていく方式に柔軟性を付与することができる快適な循環型ツアー（ｃｌｏｓｅｄ  ｔｏｕｒ）を決定し、提供するためのシステム及び方法に関するものである。
【背景技術】
【０００３】
本明細書において提供される発明の背景となる技術の説明は、本開示内容の文脈を一般的に提示するためのものである。本発明の背景となる技術項目に記述された範囲内で、本発明の発明者の研究だけでなく、出願当時に従来技術として限定され得ない発明を実施するための具体的な内容の態様は、本開示内容の先行技術として明示的にもまたは暗示的にも認められない。
【０００４】
循環型ツアーの生成は、収益と関連するルート設定の問題として見ることができる。ルート設定の問題の一例は、車両が多数の顧客にサービスを提供する必要がある場合である。収益と関連するルート設定の問題の分類において、サービスを提供する顧客は、それぞれの収益と関連する潜在顧客のセットから選択されなければならない。顧客をグラフのノードで見ることができる場合、問題はノードのルート設定の問題として要約されることができ、顧客がアーク（ａｒｃ）上にいると、それはアークルート設定の問題となる。
【０００５】
与えられた位置から最も快適な循環型ツアーを決定することは、それぞれの道路セグメントの魅力を示すスコアを定義し、最大スコアの循環型ツアーを計算するために最適化アルゴリズムを適用することに基づくことができる。スコアは、オープンストリートマップ（Ｏｐｅｎ  Ｓｔｒｅｅｔ  Ｍａｐ、ＯＳＭ）データに基づいて計算されることができ、環境を評価するために多角形の交差地点の計算のような複雑な計算方法に依存することができる。スコアは、外部制約式プログラミングソルバー（ＯｓｃａＲ）を使用して最適化されることができる。しかし、これは相当な計算リソースが必要となる可能性があり、非効率的になる可能性がある。
【０００６】
循環型ツアーを生成する他の方法は、特定の幾何学的形状に対応する循環型ツアーを生成するために中間ウェイポイント（ｗａｙｐｏｉｎｔ）を選択することによって、与えられた目標距離を遵守する（ｒｅｓｐｅｃｔ）ことを伴う。しかし、目標距離を満たすことは、循環型ツアーを生成するために使用されたスコアにツアーの品質基準を含めること伴わない。
【０００７】
ツアーに対するユーザーの経験は、そのプロファイルが何であってもツアーの高度プロファイルによって大きく変動される可能性がある。例えば、典型的な旅行者のプロファイルは、ツアーの難易度を最小限にすること、すなわち、傾き（または傾斜度（ｓｔｅｅｐｎｅｓｓ））及び/または全体獲得高度を最小化するのを選好する可能性がある。一方、走者は自分の能力を向上させるために訓練することを望む可能性があり、挑戦的なレベルの獲得高度を有するツアーを選好する可能性があり、最小の傾き（または傾斜度）を登ったり全般的な獲得高度を有するツアーを選好する可能性がある。
【発明の概要】
【０００８】
一特徴において、方法は、例えば、公園、川及び/または風景のある領域を通過して旅行し、密集された交通及びそれに伴う汚染のある領域は回避する、快適で、展望の良いまたは展望が良くて興味深い道路及び/または経路を有するツアー（つまり、旅行または旅程）を決定する。方法は、主要道路及び高速道路にペナルティを付与することによってツアーを決定するステップを含む。
【０００９】
追加の特徴において、方法は、相当な計算リソースに対する必要性を最小化するために効率的に動作する。
【００１０】
追加の特徴において、方法は、ツアーの長さ、ツアーに沿って見ることになる関心地域または風景、経路の優先される類型（例えば、徒歩（pedestrian）または住居（residential））、公園との近接性及びツアーの高度プロファイル（傾き（または傾斜度）、及び/または全体獲得高度）のようなツアーに対するユーザーの選好度（すなわち、ユーザー選好度）を考慮する。
【００１１】
追加の特徴において、方法は、プロセッサによって、同じ場所で開始し、その場所に復帰するツアーを生成するステップを含み、ツアーは、ユーザー選好度に基づいてパーソナライズされ、これは特定の長さを含み、交差点及び交差点の間の道路のセットが含まれた地理的マップがグラフで配列されるように含まれ、交差点は、ノードで表現され、交差点の間の道路は、アークで表現され、データプロセッサは、下記のようにグラフを使用してツアーを計算する：ユーザー選好度に基づいて、グラフのアークをスコアリング（scoring）し;１つ以上の経路セグメントを追加することによってツアーを初期化（initializing）し;ツアーの経路セグメントの一部を、ユーザー選好度を増進させる経路セグメントを示す経路セグメントスコアを有する経路セグメントに代替することによって、（例えば、与えられたマージン内で特定された長さに達することによって）、ツアーを最適化し;ツアーをユーザーインターフェース上の表示のために出力する。
【００１２】
追加の特徴において、方法は、直観的であって、より良いツアーの生成を許容し、第1循環型ツアーに対する改善点を提供する。
【００１３】
追加の特徴において、方法は、アークの近傍に対して多角形のような複雑な表現の使用を避ける。
【００１４】
追加の特徴において、方法は、相当なコンピューティングリソースを必要とせずに、ユーザーにとって意味のある循環型ツアーを提供する。
【００１５】
追加の特徴において、方法は、開始点を離れる第1のアーク及び最短経路セグメントを有する開始点に入る第2のアークのリンクを初期化するステップ、及び現在のノードをツアーの開始点に初期化及び設定するステップを含む。最適化することは、ツアーの合計長さが特定された長さ及び許容可能なマージンによって決定された、その与えられたしきい値より低い間、下記のステップを反復的に遂行することをさらに含む：与えられたパラメータのセットを有する連続確率分布からツアーに追加する次のアーク上で移動ランダム距離（d）を導出するステップ;現在のノードから与えられた距離内のグラフ内のノードのセットを計算するステップ;以前のステップにおいて計算されたノードのセットが空である場合、ステップa）に戻り、究極的にパラメータのセットを修正、または下記のステップを継続して遂行するステップ;ノードのセットのそれぞれのノード（p）に対して、下記のステップを反復的に遂行するステップ：最短経路セグメントのような、現在のノードからノード（p）まで計算された経路セグメントのスコアを計算するステップ;ツアーの合計長さが経路セグメントの特定された長さを超えないように、ノード（p）からツアーの開始点まで戻る経路セグメントが存在することを検証するステップ;計算された経路セグメントのスコアを計算するステップ;候補ノードの関連する計算された経路のスコアに基づいて、そのリストを整列するステップ;及び最高スコアを有する経路セグメントと関連するノードを選択、または最適のk個の経路のうち１つをランダムに選択するステップを含み、kは、本方法のパラメータである。
【００１６】
追加の特徴において、方法は、ツアー内の迂回（detour）を避けることを目的とする後処理ステップ;与えられた因数（factor）によって、経路セグメントの開始ノードから経路セグメントの終了ノードまでの最短経路セグメントよりも長いツアーの経路セグメントを発見することによって、非適合迂回のリストを生成するステップ;非適合迂回のリストを与えられたしきい値より低いスコアを有するツアーの経路セグメントに制限するステップ;及び/または非適合迂回のリスト内の経路セグメントを関連する最短経路セグメントに代替するステップをさらに含む。
【００１７】
追加の特徴において、方法は、初期ルートをツアーのアークのサブセットとして定義するステップ及び与えられた反復回数に対して、下記のステップを遂行するステップを含む：ルート内の連続的なアークの（ABとEF）のそれぞれのペアに対して（A、B、E及びFは、グラフのノードである）、下記のステップを反復的に遂行するステップ：すべての実現可能なツアーを列挙するステップであって、BからEへの以前に選択された経路セグメントが次を含むシーケンス：新しいアーク（CD）;BからCまでの最短経路セグメント;DからEまでの最短経路セグメントに代替される、ステップ;BからEまでの新しい経路セグメントのそれぞれに対して、下記のステップを反復的に遂行するステップ：それぞれの新しいツアーのスコアを評価するステップ;新しいツアーのリストをそのスコアによって整列するステップ;最高スコアを有する新しいツアーを選択、または最適のk個のツアーのうち１つをランダムに選択するステップであって、kは与えられた整数である、ステップ;及び現在のツアーのいくつかのアークを選択してルートをアップデートするステップを含む。
【００１８】
追加の特徴において、方法は、循環型ツアー内の迂回を避けることを目的とする後処理ステップ、与えられた因数により、経路セグメントの開始ノードから経路セグメントの終了ノードまでの最短経路セグメントよりも長いツアーの経路セグメントを発見することによって、非適合迂回のリストを生成するステップ、非適合迂回のリストを与えられたしきい値より低いスコアを有するツアーの経路セグメントに制限するステップ、及び/または非適合迂回のリストの経路セグメントを関連する最短経路セグメントに代替するステップを含むことができる。
【００１９】
追加の特徴において、ユーザー選好度のセットは、高度選好度を含む。
【００２０】
追加の特徴において、高度選好度は希望獲得高度インターバル（獲得高度は、ツアーのアークの間のすべての正（positive）の高度の合計である）;及び/または希望最大傾斜度を含む。
【００２１】
追加の特徴において、グラフのアークの長さは：アークの長さ;ユーザーの希望最大傾斜度より高い傾斜度を有するアークにペナルティを付与するためのペナルティ項目を含む加重値項目に代替されることができる。
【００２２】
追加の特徴において、方法は、第1の目標は、希望獲得高度を達成するものであって、第2の目標は、獲得高度を制約条件に維持しながら、スコアを最大化する階層的最適化の方法を含むことができる。
【００２３】
追加の特徴において、第1のツアーを構成する前に、方法は、開始点からの獲得高度が与えられたマージン内で希望獲得高度である中間点を選択するステップを含むことができる。
【００２４】
追加の特徴において、コンピュータプログラム製品は、方法を実行するためのコード命令、及び方法を実行するためのコード命令を含むコンピュータプログラム製品が格納されたコンピュータで読み取り可能な媒体を含む。
【００２５】
一特徴において、コンピュータプログラムウォーキングツアーを生成するコンピュータで実行可能な方法は:１つ以上のプロセッサによって、ネットワークを通じてユーザーデバイスからクエリ（ｑｕｅｒｙ）を受信するステップであって、クエリは、ウォーキングツアーに対する要請を示し、（ａ）位置及び（ｂ）ウォーキングツアーに対する目標の長さを含む選好度を含む、ステップ;１つ以上のプロセッサによって、ユーザーデバイスの位置周辺の地理的領域のグラフを取得するステップであって、グラフは、経路の交差点を示すノード及びノードのペアを連結する経路を示すアーク（ａｒｃ）を含む、ステップ;１つ以上のプロセッサによって、アークそれぞれの特性（例えば、長さ、傾斜度、高度など）及び選好度に基づいてアークに対するスコアを決定するステップ;１つ以上のプロセッサによって、アークのうち連結アークを選択するステップであって、アークのうち連結アークを選択することは、アークのうち連結アークのスコア、アークのうち選択された連結アークの長さ及び目標の長さに基づく、ステップ;１つ以上のプロセッサによって、ウォーキングツアーの初期設定（ｉｎｉｔｉａｌｉｚｅ）のために、アークのうち選択された連結アークをウォーキングツアーに追加するステップ;及び１つ以上のプロセッサによって、ユーザーインターフェース上の表示のためにウォーキングツアーを、ネットワークを通じてユーザーデバイスに送信するステップを含む。
【００２６】
追加の特徴において、アークのうち連結アークを選択するステップは、１つ以上のプロセッサによって、ウォーキングツアーがある１つの位置で開始し、ある１つの位置で終了するように、アークのうち連結アークを選択するステップを含む。
【００２７】
追加の特徴において、アークに対するスコアを決定するステップは、１つ以上のプロセッサによって、アークの中で、オープンストリートマップ（Ｏｐｅｎ  Ｓｔｒｅｅｔ  Ｍａｐ、ＯＳＭ）データベースで識別された歩行経路（ｆｏｏｔ  ｐａｔｈ）、住居経路（ｒｅｓｉｄｅｎｔｉａｌ  ｐａｔｈ）及び徒歩経路（ｐｅｄｅｓｔｒｉａｎ  ｐａｔｈ）のうち少なくとも１つに対応するアークのスコアを増加させるステップを含む。
【００２８】
追加の特徴において、アークに対するスコアを決定するステップは、１つ以上のプロセッサによって、アークの中で、選好度に含まれたユーザー定義経路類型と同一な経路類型を有するアークのスコアを増加させるステップを含む。
【００２９】
追加の特徴において、アークに対するスコアを決定するステップは、１つ以上のプロセッサによって、アークの中で、選好度に含まれたユーザー定義経路類型と異なる経路類型を有するアークのスコアを減少させるステップを含む。
【００３０】
アークに対するスコアを決定するステップは、１つ以上のプロセッサによって、アークの中で、オープンストリートマップ（ＯＳＭ）データベースで識別された公園、オープンスペース（ｏｐｅｎ  ｓｐａｃｅｓ）、景観の良い関心地域（ｓｃｅｎｉｃ  ｐｏｉｎｔｓ  ｏｆ  ｉｎｔｅｒｅｓｔ）及び地理的形態のうち少なくとも１つと予め決定された距離内に位置するアークのスコアを増加させるステップを含む。
【００３１】
追加の特徴において、アークに対するスコアを決定するステップは、１つ以上のプロセッサによって、アークの中で、オープンストリートマップ（ＯＳＭ）データベースで識別された川、山及びハイキング登山路のうち少なくとも１つと予め決定された距離内に位置するアークのスコアを増加させるステップを含む。
【００３２】
追加の特徴において、アークに対するスコアを決定するステップは、１つ以上のプロセッサによって、アークの中で、オープンストリートマップ（ＯＳＭ）データベースで識別された車両道路と予め決定された距離内に位置するアークのスコアを減少させるステップを含む。
【００３３】
追加の特徴において、アークに対するスコアを決定するステップは、１つ以上のプロセッサによって、アークの中で、オープンストリートマップ（ＯＳＭ）データベースで識別された関心地点を通過するアークのスコアを増加させるステップを含む。
【００３４】
追加の特徴において、アークに対するスコアを決定するステップは、１つ以上のプロセッサによって、アークの中で２つのアークの間の交差角に基づいて２つのアークのスコアを選択的に減少させるステップを含む。
【００３５】
追加の特徴において、アークに対するスコアを決定するステップは、１つ以上のプロセッサによって、ツアーが、アークの中で１つのアークを２回以上含むことに基づいて、１つのアークのスコアを減少させるステップを含む。
【００３６】
追加の特徴において、アークに対するスコアを決定するステップは、１つ以上のプロセッサによって、ツアーが、２つのノードの中で１つを２回以上通過することに基づいて、２つのノードの間のアークのうち１つのアークのスコアを減少させるステップを含む。
【００３７】
追加の特徴において、アークのうち連結アークを選択するステップは、１つ以上のプロセッサによって：（ａ）第１の位置から開始して、第１の位置と異なる第Ｎの位置で終了される第１のアークを選択するステップ;（ｂ）第Ｎの位置と距離ｄ内にあるノードを識別するステップ;（ｃ）第Ｎの位置から開始して、ノードで終了されるアークをそれぞれ識別するステップ;（ｄ）識別されたアークのスコアに基づいて識別されたアークのうち１つのアークを選択するステップであって、アークのうち選択された連結アークを追加するステップは、識別されたアークのうち１つの選択されたアークをウォーキングツアーに追加するステップを含む、ステップ;及び（ｅ）ウォーキングツアーの長さが選好度に含まれた目標の長さの予め決定された範囲内に入るまで（ｂ）〜（ｄ）を反復するステップを含む。
【００３８】
追加の特徴において、１つ以上のプロセッサによって、距離ｄをランダムに選択するステップを含む。
【００３９】
追加の特徴において、１つ以上のプロセッサによって、第Ｎの位置と距離ｄ内に０個のノードが位置するとき、距離ｄを増加させるステップを含む。
【００４０】
追加の特徴において、（ｄ）識別されたアークのうち１つのアークを選択するステップは、１つ以上のプロセッサによって：識別されたアークのうち、ｋ個の最も高いスコアを有するｋ個のアークを識別するステップであって、ここでｋは１より大きい整数である、ステップ;及び識別されたアークのうちｋ個のアークから識別されたアークの中で、１つのアークをランダムに選択するステップを含む。
【００４１】
追加の特徴において、（ｄ）識別されたアークのうち１つのアークを選択するステップは、１つ以上のプロセッサによって、識別されたアークのうち最も高いスコアを有する１つのアークを選択するステップを含む。
【００４２】
追加の特徴において、ウォーキングツアーを、ネットワークを通じてユーザーデバイスに送信するステップ以前に、１つ以上のプロセッサによって：アークのうち、選択された連結アークの中で１つのアークを選択するステップ;アークのうち、選択された連結アークの中で１つのアークを代替するための１つ以上の代替アークを識別するステップ;及びウォーキングツアー内でアークのうち、選択された連結アークの中で１つのアークを１つ以上の代替アークに代替するステップを含む。
【００４３】
追加の特徴において、１つ以上の代替アークを識別するためのステップは、１つ以上の代替アークのスコアに基づいて１つ以上の代替アークを識別するステップを含む。
【００４４】
追加の特徴において、ウォーキングツアーを、ネットワークを通じてユーザーデバイスに送信するステップ以前に、１つ以上のプロセッサによって：第１のノードと第２のノードの間の経路セグメントを選択するステップであって、経路セグメントは、アークのうち選択された連結アークの中で１つ以上のアークを含む、ステップ;及び（ａ）と（ｂ）の比較に基づいて、経路セグメントを第１のノードと第２のノードの間の最短経路セグメントに選択的に代替するステップを含み、（ａ）は、最短経路セグメントの第１のスコアを、最短経路セグメントの第１の長さで割った値であり、（ｂ）は、経路セグメントの第２のスコアを、経路セグメントの第２の長さで割った値である。
【００４５】
追加の特徴において、経路セグメントを第１のノードと第２のノードの間の最短経路セグメントに選択的に代替するステップは、経路セグメントの第２の長さが最短経路セグメントの第１の長さの２倍より長く、経路セグメントの第２のスコアが第１の予め決定された値*（経路セグメントのアークのうち選択された連結アークの中で１つ以上のアークのスコアの第１の和）*（経路セグメントのアークのうち選択された連結アークの中で１つ以上のアークの数）より少なく、（ａ）が第２の予め決定された値と（ｂ）を乗じたものより大きい場合、経路セグメントを第１のノードと第２のノードの間の最短経路セグメントに代替するステップを含む。
【００４６】
追加の特徴において、選好度は、目標獲得高度をさらに含み;スコアを決定するステップは、
１つ以上のプロセッサによって、アークの獲得高度及び目標獲得高度に基づいてアークに対するスコアを決定するステップを含む。
【００４７】
追加の特徴において、選好度は、最大傾斜度（ｓｔｅｅｐｎｅｓｓ）をさらに含み、スコアを決定するステップは、１つ以上のプロセッサによって、アークの傾斜度及び最大傾斜度に基づいてアークに対するスコアを決定するステップを含む。
【００４８】
追加の特徴において、ウォーキングツアーを、ネットワークを通じてユーザーデバイスに送信した後：１つ以上のプロセッサによって、ネットワークを通じてウォーキングツアーの目標の長さを調整するための要請をユーザーデバイスから受信するステップ;要請の受信に応答して、調整された目標の長さに基づいて：アークのうち、選択された連結アークの中で少なくとも１つのアークを選択するステップ;アークのうち、選択された連結アークの中で少なくとも１つのアークを代替するための１つ以上の代替アークを識別するステップ;アークのうち、選択された連結アークの中で少なくとも１つのアークを１つ以上の代替アークで代替して、アップデートされたウォーキングツアーを生成するステップ;及びユーザーインターフェース上の表示のために、アップデートされたウォーキングツアーを、ネットワークを通じてユーザーデバイスに送信するステップをさらに含む。
【００４９】
追加の特徴において、要請を受信するステップは、ユーザーデバイスがウォーキングツアーの少なくとも一部に付いて行った後に、要請を受信するステップを含む。
【００５０】
追加の特徴において、要請は、目標の長さの増加及び減少のうち１つに対する要請を含む。
【００５１】
追加の特徴において、アークのうち連結アークを選択するステップは、以前に付いて行ったウォーキングツアーに関するユーザーデータなしに、アークのうち連結アークを選択するステップを含む。
【００５２】
追加の特徴において、１つ以上のプロセッサによって、アークのうち、選択された連結アークの中で１つを代替するための少なくとも１つの代案的なアークを決定するステップ;及びユーザーインターフェース上のウォーキングツアーのディスプレイのために、少なくとも１つの代案的なアークをユーザーデバイスに送信するステップをさらに含む。
【００５３】
追加の特徴において、少なくとも１つの代案的なアークを決定するステップは、ウォーキングツアーの開始前に、少なくとも１つの代案的なアークを決定するステップを含む。
【００５４】
追加の特徴において、少なくとも１つの代案的なアークを決定するステップは、ウォーキングツアーの横断の間、受信されたウォーキングツアーの目的の長さの調整を所望する要請を表すユーザー入力の受信に応答して、少なくとも１つの代案的なアークを決定するステップ
を含む。
【００５５】
追加の特徴において、ユーザーデバイスが少なくとも１つの代案的なアークに進入すること;及びユーザーデバイスが少なくとも１つの代案的なアークを抜けていくことのうち少なくとも１つに応答して、ユーザーデバイスによって、視覚、聴覚またはハプティック出力のうち１つの不在または存在を利用してシグナリングするステップをさらに含む。
【００５６】
追加の特徴において、１つ以上のプロセッサによって、ウォーキングツアーに沿ってユーザーデバイスのユーザーを案内するために、感覚識別可能（ｓｅｎｓｏｒｙ  ｄｉｓｃｅｒｎａｂｌｅ）出力デバイスを使用してナビゲーション関連感覚識別可能フィードバックを提供するステップをさらに含む。
【００５７】
一特徴において、ウォーキングツアーを生成するためのシステムは、１つ以上のプロセッサ;及びコードを含むメモリを含み、コードは、１つ以上のプロセッサによって実行されるとき：ネットワークを通じてユーザーデバイスからクエリを受信する機能であって、クエリは、ウォーキングツアーに対する要請を示し、（ａ）位置及び（ｂ）ウォーキングツアーに対する目標の長さを含む選好度を含む、機能;ユーザーデバイスの位置周辺の地理的領域のグラフを取得する機能であって、グラフは、経路の交差点を示すノード及びノードのペアを連結する経路を示すアークを含む、機能;アークそれぞれの特性及び選好度に基づいてアークに対するスコアを決定する機能;アークのうち連結アークを選択する機能であって、アークのうち連結アークを選択することは、アークのうち連結アークのスコア、アークのうち選択された連結アークの長さ及び目標の長さに基づく、機能;ウォーキングツアーの初期設定のために、アークのうち選択された連結アークをウォーキングツアーに追加する機能;及びユーザーインターフェース上の表示のために、ウォーキングツアーを、ネットワークを通じてユーザーデバイスに送信する機能を含む機能を遂行する。
【００５８】
一特徴において、ウォーキングツアーを生成するためのシステムは、ネットワークを通じてユーザーデバイスからクエリを受信するための手段（例えば、受信機）であって、クエリは、ウォーキングツアーに対する要請を示し、（ａ）位置及び（ｂ）ウォーキングツアーに対する目標の長さを含む選好度を含む、手段;ユーザーデバイスの位置周辺の地理的領域のグラフを取得し、グラフは、経路の交差点を示すノード及び上記ノードのペアを連結する経路を示すアークを含み;アークそれぞれの特性及び選好度に基づいてアークに対するスコアを決定し;アークのうち連結アークを選択し、アークのうち連結アークを選択することは、アークのうち連結アークのスコア、アークのうち選択された連結アークの長さ及び目標の長さに基づき;ウォーキングツアーの初期設定のために、アークのうち選択された連結アークをウォーキングツアーに追加するための手段（例えば、１つ以上のプロセッサ及びコード）;及びユーザーインターフェース上の表示のために、ウォーキングツアーを、ネットワークを通じてユーザーデバイスに送信するための手段（例えば、転送機）を含む。
【００５９】
本開示の追加の適用分野は、発明を実施するための具体的な内容、請求の範囲及び図面から明らかになるはずである。発明を実施するための具体的な内容及び特定の例は、単に例示のためのものであって、本開示の範囲を制限しようとするものではない。
【図面の簡単な説明】
【００６０】
本開示は、発明を実施するための具体的な内容及び以下の添付図面に基づいてより完全に理解されることができる。
【図１ａ】例示的なウォーキングツアーシステムの機能ブロック図である。
【図１ｂ】ウォーキングツアーを生成する方法が遂行されるシステムアーキテクチャの例示である。
【図２】ウォーキングツアーを生成する例示的な方法を図示したフローチャートである。
【図３】図２の例示に基づいて生成された１０ｋｍ循環型ウォーキングツアーの例である。
【図４】ウォーキングツアーを生成する例示的な方法を図示したフローチャートである。
【図５】図４の例示に基づいて生成された７ｋｍ循環型ウォーキングツアーの例示である。
【図６】例示的な後処理方法を図示したフローチャートである。
【図７】アークの傾斜度に基づいてペナルティを決定する例示的な方法を図示したフローチャートである。
【図８】同一な選好度に基づくが、異なるツアー生成基準で生成された２つの循環型ウォーキングツアーの例示である。
【図９】中間点を使用して生成された循環型ウォーキングツアーの例示である。
【図１０】スコアによってセグメント化されたウォーキングツアーの例示である。
【図１１】都市（都心地域）内の最初のツアーのセグメント内に、代案の経路が挿入されて生成されたウォーキングツアーの例示的なグラフを含む。
【図１２】都市（都心地域）内の最初のツアーのセグメント内に、代案の経路が挿入されて生成されたウォーキングツアーの例示的なグラフを含む。
【図１３】都市（都心地域）内の最初のツアーのセグメント内に、代案の経路が挿入されて生成されたウォーキングツアーの例示的なグラフを含む。
【図１４】都市（都心地域）内の最初のツアーのセグメント内に、代案の経路が挿入されて生成されたウォーキングツアーの例示的なグラフを含む。
【図１５】住居地域内の最初のツアーのセグメント内に、代案の経路が挿入されて生成されたツアーの例示的なグラフを含む。
【図１６】住居地域内の最初のツアーのセグメント内に、代案の経路が挿入されて生成されたツアーの例示的なグラフを含む。
【図１７】住居地域内の最初のツアーのセグメント内に、代案の経路が挿入されて生成されたツアーの例示的なグラフを含む。
【図１８】住居地域内の最初のツアーのセグメント内に、代案の経路が挿入されて生成されたツアーの例示的なグラフを含む。
【図１９】例示的な最初のツアー及び代案の経路を含むグラフを含む。
【図２０】すでに完成されたセクション及び完成されていないセクションを含む例示的な初期ツアーの例示である。
【図２１】ユーザー入力の受信に応答して、図２０の例示の初期ツアーのまだ完成されていないセクションの残りに対して生成された新しい経路である。
【図２２】すでに完成されたセクション及びまだ完成されていないセクションを有する初期ツアーの例示である。
【図２３】ユーザー入力の受信に応答して、図２２の例示の初期ツアーのまだ完成されていないセクションの残りに対して生成された新しい経路である。
【図２４】すでに完成されたセクション及びまだ完成されていないセクションを有する初期ツアーの例示である。
【図２５】図２４の例示的なツアーの長さを減少させるためのユーザー入力の受信に応答して生成された新しい経路である。
【図２６】すでに完成されたセクション及びまだ完成されていないセクションを有する初期ツアーの例示である。
【図２７】図２６の例示的なツアーの長さを減少させるためのユーザー入力の受信に応答して生成された新しい経路である。
【図２８】ツアーをアップデートする例示的な方法を図示したフローチャートである。  図面において、類似または同一な要素を識別するために参照番号が再利用されることができる。
【発明を実施するための形態】
【００６１】
システムアーキテクチャ
図１ａは、ウォーキングツアーに対するルートに関するクエリに応答するように構成されたツアー生成システム（１０）を含む機能ブロック図を含む。ツアー生成システム（１０）は、ネットワーク（１６）を通じて１つ以上のユーザーのコンピューティングデバイス（１４）からウォーキングツアーに対するクエリを受信するように構成される。
【００６２】
ツアー生成システム（１０）は、クエリに基づいてウォーキングツアーのためのルートをそれぞれ決定する。ツアー生成システム（１０）は、ウォーキングツアーに対するルートに関する応答を、クエリを送信したユーザーデバイス（１４）にそれぞれ再度送信する。
【００６３】
ユーザーデバイス（１４）は、ウォーキングツアーに対するルートをユーザーデバイス（１４）のディスプレイ上にそれぞれ表示する。ユーザーデバイス（１４）は、ユーザーがユーザーデバイス（１４）を持ってルートを横断する間、ルートに付いて行くための命令も（聴覚的に及び/または可視的に）出力することができる。例えば、ユーザーデバイス（１４）は、ユーザーがユーザーデバイス（１４）を持ってルートを横断する間、例えば、その全体開示内容が本明細書に参照として含まれるタイトル「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｃｏｍｍｕｎｉｃａｔｉｎｇ  Ｐｏｓｓｉｂｌｅ  Ｔｒａｖｅｌ  ｐａｔｈｓ  Ｔｈｒｏｕｇｈ  Ｈｅａｄ  Ｓｃａｎｎｉｎｇ  ａｎｄ  Ｓｏｕｎｄ  Ｍｏｄｕｌａｔｉｏｎ」の米国特許出願番号第１６/５９２,９４３号に開示された装置及び方法を使用して、いつ/どこで方向を変えるべきか、どちら側に方向を変えるべきかなどに関する命令を出力することができる。ユーザーデバイス（１４）は、他の情報をユーザーに表示することもできる。例えば、ユーザーデバイス（１４）は、ルートに沿った関心地域（ｐｏｉｎｔ  ｏｆ  ｉｎｔｅｒｅｓｔ、ＰＯＩ）それぞれに関する追加情報及びルートと関連した情報などをそれぞれ表示することができる。ツアー生成システム（１０）及びユーザーデバイス（１４）は、ネットワーク（１６）を通じて通信する。
【００６４】
複数の異なるタイプのユーザーデバイス（１４）が図１ａに図示されている。個別のユーザーのコンピューティングデバイスは、本明細書においてユーザーデバイス（１４）と称されることもできる。ユーザーデバイス（１４）は、ウォーキングツアーに対するクエリを生成し、ネットワーク（１６）を通じてツアー生成システム（１０）に送信するように構成された任意のタイプのコンピューティングデバイスを含む。ユーザーデバイス（１４）の例は、図１ａに図示されたように、スマート（セルラー）フォン、パーソナルメディアデバイス（例えば、アイポッドなど）、タブレットコンピュータ及びラップトップコンピュータを含むが、これらに限定されない。ユーザーデバイス（１４）は、モバイルゲームデバイス、モバイルテレビ、コンソール、ナビゲーションデバイス、ウェアラブルデバイス（例えば、スマートウォッチ、拡張現実メガネ、仮想現実メガネ）などのような異なるフォームファクタを有する他のコンピューティングデバイスも含むことができる。
【００６５】
ユーザーデバイス（１４）は、様々な異なるオペレーティングシステムを使用することができる。ユーザーデバイス（１４）がモバイルデバイスである例示において、ユーザーデバイス（１４）は、アンドロイド、アップル社（Ａｐｐｌｅ  Ｉｎｃ.）によって開発されたｉＯＳ、またはマイクロソフト社（Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ）によって開発されたウィンドウズフォンを含むオペレーティングシステムを実行することができるが、これに限定されない。ユーザーデバイス（１４）がラップトップまたはデスクトップデバイスである例示において、ユーザーデバイス（１４）は、マイクロソフトウィンドウズ、Ｍａｃ  ＯＳ、またはリナックスを含むオペレーティングシステムを実行することができるが、これに限定されない。ユーザーデバイス（１４）は、現在利用可能なものや将来開発されるものに関係なく、前述したオペレーティングシステム以外のオペレーティングシステムを実行しながらツアー生成システム（１０）にアクセスすることもできる。
【００６６】
一部の例示において、ユーザーデバイス（１４）は、ユーザーデバイス（１４）上に設置されたアプリケーションを使用してツアー生成システム（１０）と通信することができる。一般的に、ユーザーデバイス（１４）は、ツアー生成システム（１０）からの応答を受信できるように、クエリをツアー生成システム（１０）に送信することができる任意のアプリケーションを使用してツアー生成システム（１０）と通信することができる。一部の例示において、ユーザーデバイス（１４）は、ウォーキングツアー生成専用アプリケーションのような、ツアー生成システム（１０）とインタフェーシングするのに専用のアプリケーションを実行することができる。一部の例示において、ユーザーデバイス（１４）は、ウェブブラウザアプリケーションのような、より一般的なアプリケーションを使用してツアー生成システム（１０）と通信することができる。ツアー生成システム（１０）と通信するためにユーザーデバイス（１４）によって実行されるアプリケーションは、グラフィックユーザーインターフェース（ＧＵＩ）上にユーザーが質問を入力することができる検索フィールドを表示することができる。ユーザーは、タッチスクリーンまたは物理的キーボード、音声-テキストプログラムまたは他の形態のユーザー入力を使用して質問を入力することができる。
【００６７】
ユーザーデバイス（１４）上のＧＵＩに入力されたクエリは、単語、数字、文字、文章符号及び/または記号を含むことができる。一般的に、クエリはツアー生成システム（１０）からウォーキングツアーに対するルートに関する要請であることができ、ここでウォーキングツアーの開始点と終了点は同じである。ウォーキングツアーの開始点と終了点は、例えば、ユーザーデバイス（１４）の（例えば、ユーザーデバイス（１４）のグローバルポジショニングシステムからの）現在位置であることができる。ユーザーデバイス（１４）の現在位置は、ユーザー選好度、ツアーの長さ、高度の変化及び他の情報のような他の情報と共にクエリに含まれることができる。
【００６８】
ユーザーデバイス（１４）は、ツアー生成システム（１０）に送信されたクエリに応答するツアー生成システム（１０）からの応答を受信することができる。多様な具現において、ツアー生成システム（１０）は、１つより多くの異なる、可能なルートを送信することができ、ユーザーデバイス（１４）はそれらを受信することができる。多数のルートを提供するツアー生成システム（１０）の例示において、ユーザーは、ユーザーデバイス（１４）を通じてルートのうち１つを付いて行くルートとして選択することができる。
【００６９】
ユーザーデバイス（１４）は、ツアー生成システム（１０）からのルートを表示するＧＵＩを含むアプリケーションを実行していることができる。前述したように、ウォーキングツアーのためのルートをユーザーに提示するアプリケーションは、一部の例示においてツアー生成システム（１０）とインタフェーシングするための専用アプリケーションであることができる。他の例示において、アプリケーションは、ウェブブラウザアプリケーションのようなより一般的なアプリケーションであることができる。
【００７０】
一部の例示において、ツアー生成システム（１０）または他のコンピューティングシステムは、制限するものではないが、ウォーキングツアーのルートに沿った関心地域及び/またはウォーキングツアーのルートに関連する他の情報のような追加情報をユーザーデバイス（１４）に送信することができる。一部の例示において、この追加情報はデータの保存領域に格納されることができ、ツアー生成システム（１０）によってユーザーデバイス（１４）に送信されることができる。ユーザーデバイス（１４）が追加情報を受信する例示において、ＧＵＩは、ルートと共に追加情報を表示することができる。
【００７１】
一部の例示において、ユーザーデバイス（１４）は、パートナーコンピューティングシステムを通じてツアー生成システム（１０）と通信することができる。パートナーコンピューティングシステムは、ツアー生成システム（１０）の機能をレバレッジ（ｌｅｖｅｒａｇｅ）することができる第３者コンピューティングシステムを含むことができる。パートナーコンピューティングシステムは、ツアー生成システム（１０）を動作させる会社またはその他の組織に属することができる。ツアー生成システム（１０）の機能をレバレッジすることができる例示的な第３者は、インターネット検索プロバイダー及び無線通信サービスプロバイダーを含むことができるが、これに限定されない。ユーザーデバイス（１４）は、パートナーコンピューティングシステムを通じてツアー生成システム（１０）にクエリを送信することができる。ユーザーデバイス（１４）はまた、パートナーコンピューティングシステムを通じてツアー生成システム（１０）からの応答を受信することができる。パートナーコンピューティングシステムは、一部の例示において、ユーザーデバイス（１４）にユーザーインターフェースを提供し/したり、ユーザーデバイス（１４）に提供されたユーザー経験を修正することができる。
【００７２】
ツアー生成システム（１０）は、データソース（２０）からウォーキングツアーに対するルートを生成するためのマッピング情報を取得することができる。データソース（２０）は、１つ以上のマッピング情報提供者を含むことができる。
【００７３】
ユーザーデバイス（１４）、ツアー生成システム（１０）及びデータソース（２０）は、ネットワーク（１６）を通じて互いに通信することができる。ネットワーク（１６）は、広域ネットワーク（ＷＡＮ）及び/またはインターネットのような多様なタイプのネットワークを含むことができる。ネットワーク（１６）は、長距離ネットワーク（例えば、インターネットまたはＷＡＮ）を意味することができるが、一部の具現においてネットワーク（１６）は、近距離通信網（ＬＡＮ）のような近距離ネットワークを含むことができる。一実施例において、ネットワーク（１６）は、標準通信技術及び/またはプロトコルを使用する。したがって、ネットワーク（１６）は、イーサネット、ＷｉＦｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）（例えば、８０２.１１）、ＷＩＭＡＸ（Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）、３Ｇ、４Ｇ、５Ｇ、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、ＤＳＬ（Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）、ＩｎｆｉｎｉＢａｎｄ、ＰＣＩ  Ｅｘｐｒｅｓｓ  Ａｄｖａｎｃｅｄ  Ｓｗｉｔｃｈｉｎｇなどのような技術を使用するリンクを含むことができる。同様に、ネットワーク（１６）上で使用されるネットワーキングプロトコルは、ＭＰＬＳ（ＭｕｌｔｉＰｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）、ＴＣＰ/ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ/Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などを含むことができる。ネットワーク（１６）を通じて交換されるデータは、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などを含む技術及び/またはフォーマットを使用して表現されることができる。また、すべてのリンクまたは一部のリンクが、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋｓ）、ＩＰｓｅｃ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｉｔｙ）などのような従来の暗号化技術を使用して暗号化されることができる。他の例示において、ネットワーク（１６）は、前述したものの代わりに、またはそれに付加してカスタム及び/または専用のデータ通信技術を使用することができる。
【００７４】
本明細書に提示されたツアー生成方法は、図１ｂに図示されたようなシステムアーキテクチャ内で具現されることができ、システムは、ネットワーク（１６）を通じて通信する２つのサーバー（５５、６０）及びユーザーデバイス（１４）を含む。２つのサーバー（５５、６０）は、ツアー生成システム（１０）の一部であることができる。それぞれのサーバー（５５、６０）及びユーザーデバイス（１４）は、データプロセッサ（それぞれ、６１ａ、６１ｃ、６１ｂ）及びハードディスクのようなメモリ（それぞれ、７２ａ、７２ｃ、７２ｂ）を含む。
【００７５】
サーバー（５５）は、マップサーバーであることができ、例えば、オープンストリートマップ（ＯＳＭ）のようなＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）によってアクセス可能な外部サービスであることができる。
【００７６】
サーバー（６０）は、高度データサーバーであることができ、例えば、フランス国立地理及び林業情報研究所（ＩＧＮ;  Ｆｒｅｎｃｈ  Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｇｅｏｇｒａｐｈｉｃ  ａｎｄ  Ｆｏｒｅｓｔｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ）からのＢＤ  ＡＬＴＩ（登録商標）のようなＡＰＩによってアクセス可能な外部サービスであることができる。
【００７７】
ユーザーデバイス（１４）は、そのユーザーインターフェース（例えば、ディスプレイ及び/またはスピーカー）上に、ユーザー（８０）に循環型ウォーキングツアーを提示するのに使用される。循環型ウォーキングツアーは、同じ位置で開始して終了するウォーキングツアーを称することができる。
【００７８】
一実施例において、本明細書に提示されたツアー生成方法は、サーバー（５５）、サーバー（６０）及び/またはユーザーデバイス（１４）上で動作する。また、ツアー生成方法は、サーバー（５５）、サーバー（６０）及び/またはユーザーデバイス（１４）と通信する独立サーバー上で動作することができる。
【００７９】
他の実施例において、サーバー（５５、６０）は併合されることができる。他の実施例において、２つのサーバー（５５、６０）のうち１つまたは両方の機能は、独立型（ｓｔａｎｄａｌｏｎｅ）ユーザーデバイス（１４）に併合されることができる。
【００８０】
マップ表現及び用語
マップは、ツアー生成方法によって、徒歩経路（道路、登山路（ｔｒａｉｌ）、歩道、経路など）交差点（つまり、交差地点）がノードで表現されるグラフ（例えば、方向性グラフ（ｄｉｒｅｃｔｅｄ  ｇｒａｐｈ））として表現される。２つの交差点の間のすべての経路は、エッジまたは関連する方向を有するアーク（有向エッジ）によって表現される。有向エッジは、２つのノードの間に関連する方向を有するエッジである。エッジは、それぞれの方向ごとに１つずつ、２つの有向アークに代替されることができ、また、それぞれのアークの方向に対する知識が要求されない限り、２つのアークはエッジに代替されることができる。
【００８１】
経路は、両方向に見做されることができる。したがって、エッジは、経路上の歩行者の方向を考慮するために、反対方向の２つのアークに代替されることができる。
【００８２】
経路セグメントは、連続的なエッジまたはアークのリストである。経路セグメントは、１つ以上のエッジまたはアークを含むことができる。ルートは、原点ノードで開始して終点ノードで終了するエッジまたはアーク（必ずしも隣接する必要はない）の順序化されたリストである。連結経路（ｌｉｎｋｉｎｇ  ｐａｔｈ）は、ルートの２つのアークを連結する経路セグメントである。与えられたルートと関連するツアーは、ルートから取得されたアーク及びその間の連結経路を含む（例えば、循環）経路である。
【００８３】
マップの表現をグラフ（例えば、方向性グラフ）で使用し、ツアー生成方法は、２つのＮＰ-ハード組み合わせの問題（ＮＰ-ｈａｒｄ  ｃｏｍｂｉｎａｔｏｒｉａｌ  ｐｒｏｂｌｅｍ）：（１）予算の制約内で（ユーザー選好度に基づいて）最も高い価値をユーザーにもたらす経路セグメントをマップ上で選択することが目標である第１の（ナップサック（ｋｎａｐｓａｃｋ））問題;及び（２）そのような経路セグメントを訪問する最短ルートを見つけるのが目標である第２の（旅行するセールスマン（ｔｒａｖｅｌｉｎｇ  ｓａｌｅｓｍａｎ））問題を解決することによって、快適な循環型ウォーキングツアーを生成する。
【００８４】
ツアーの生成
与えられた経路に対するスコア関数
ツアー生成方法は、下記の情報を受信する：ウォーキングツアーが開始されて終了される位置;及び地域（地域のマップ形態内にウォーキングツアーが位置される）。さまざまな具現において、位置は、ツアー要請が受信されたユーザーデバイス（１４）の位置であることができる。
【００８５】
ツアー生成方法によって選択された、与えられた経路セグメントに対して、ツアー生成方法は、標準ＯＳＭデータを使用して経路セグメントスコアを決定するステップ、及びスコアを経路セグメントにそれぞれ割り当てるステップを含む。経路セグメントに割り当てられた経路セグメントスコアは、例えば、サーバー（５５）のデータプロセッサ（６１ａ、６１ｂ）及び/またはユーザーデバイス（１４）によって決定されることができる。経路セグメントに割り当てられた経路セグメントスコアは、経路セグメントがそれぞれツアーにもたらす価値を示す。経路セグメントのスコアは、ツアーに対する経路セグメントの価値が増加することによって増加することができ、その逆も同様である。与えられた経路セグメントに対して、ツアー生成方法は、報酬及びペナルティの項目を通じて経路セグメントスコアを決定するステップを含む。
【００８６】
例えば、スコアリング加重値（ｗｅｉｇｈｔ（ｅ））は、与えられた経路セグメントのそれぞれの有向エッジｅ（つまり、アークｅ）に対して、その有向エッジに対して決定された報酬及びペナルティを合算することによって決定することができる。例えば、与えられた有向エッジｅに対するツアー生成方法の決定は、下記の通りであることができる：
１.ＯＳＭタイプの経路を使用する。
【００８７】
ツアー生成方法は、ＯＳＭデータ内のそれぞれの有向エッジを下記のカテゴリー、すなわち、「徒歩（ｐｅｄｅｓｔｒｉａｎ）」、「徒歩_トラック（ｆｏｏｔ_ｔｒａｃｋ）」または「住居（ｒｅｓｉｄｅｎｔｉａｌ）」のうち１つのような経路情報の類型と関連させる。
【００８８】
ツアー生成方法は、ユーザーによって選好されるタイプの経路に対応するＯＳＭデータから抽出された、有向エッジに報酬を割り当てる。ツアー生成方法は、有向エッジが希望しない（ユーザーが好まない）タイプの経路に属する場合、報酬（そしてペナルティ）を割り当てない。例えば、ツアー生成方法は、主要（車両）道路より歩行者道路により高いスコアを割り当てることができる。
【００８９】
２.公園及び土地の用途情報を使用する。
【００９０】
ツアー生成方法は、公園、オープンスペース、過去の景観の良い風景（ｐａｓｔ  ｓｃｅｎｉｃ  ｖｉｓｔａｓ）及びその他の地理的形態（例えば、川、山など）内に、または付近に位置するＯＳＭデータから抽出された、有向エッジに報酬を割り当てる。例えば、ツアー生成方法は、川に沿った有向エッジ及びハイキング登山路に属する有向エッジに報酬を割り当てることができる。
【００９１】
３.主要道路情報を使用する。
【００９２】
ツアー生成方法は、車両の道路に対応するＯＳＭデータから抽出された、有向エッジにペナルティを割り当てる。ツアー生成方法は、また、車両の道路の横の有向エッジにペナルティを割り当てることができる。可能な車両混雑、騒音及び/または汚染によって車両道路の横に有向エッジにペナルティが割り当てられることができ、これは全体のウォーキングツアーに対する上記有向エッジの価値を減少させることになる。
【００９３】
４.観光関心地域を使用する。
【００９４】
ツアー生成方法は、観光関心地域に沿って、またはその付近に位置されたＯＳＭデータから抽出された、有向エッジに報酬を割り当てる。観光関心地域の例としては、芸術作品（ＯＳＭデータから："Ｔｏｕｒｉｓｍ=ａｒｔｗｏｒｋ"）、宗教的建築物（ＯＳＭデータから："ａｍｅｎｉｔｙ=ｐｌａｃｅ  ｏｆ_ｗｏｒｓｈｉｐ"）及びアーキテクチャ名所（ＯＳＭデータから："ｈｉｓｔｏｒｉｃ=*"）、及び都市内の集結場所（例えば、広場）を含む。
【００９５】
連続的な有向エッジのそれぞれのペアに対して、ツアー生成方法は、また、追加のペナルティ項目を計算して経路セグメントスコアに追加する。追加ペナルティ項目は、ｔｕｒｎ（ｅｉｅｉ+１）で表示されることができ、急カーブを有するツアーにペナルティを与えるように、２つの連続する有向エッジに対応するマップ上の２つの経路の間の実際の角度の関数として計算されることができる。したがって、追加ペナルティ項目は、ウォーキングツアーが複雑な幾何学的形状を有することを防止することができる。例えば、予め決められた角度（例えば、９０度）よりも大きいクロス角を有する２つの経路にペナルティが付与されることができる。予め決められた角度よりも小さいクロス角を有する２つの経路には、ペナルティが付与されないことができる。
【００９６】
また、ツアー生成方法は、経路セグメントに対する２つのペナルティ項目を計算することができる。これら２つのペナルティ項目は、有向エッジに対してｅｖｐｅｎａｌｔｙ（ｅ）として表示されることができ、ノードに対してｎｖｐｅｎａｌｔｙ（ｎ）として表示されることができる。ツアー生成方法は、ウォーキングツアーを歩く歩行者によって与えられた、有向エッジまたは与えられたノードが横断される回数の関数として、２つのペナルティの項目を決定することができる。したがって、これらの２つのペナルティ項目は、ウォーキングツアー中にウォーキングツアーが同一経路セグメント及び/またはノードを２回以上横断するのを防止するように助ける。
【００９７】
ツアー生成方法は、下記の式を使用して、有向エッジｅｉで構成された与えられた経路セグメントｐ（例えば、ルート）の経路セグメントスコアを決定することができる：
【００９８】
【数１】
2020165974.tif 000003
ここで、スコアは、経路セグメントｐのスコアであり、μ及びγは、ウォーキングツアーに対するユーザー選好度に合うように適応された乗算引数である。様々な具現において、上記提示された例の代わりに、またはそれに加えて、他の報酬及びペナルティが追加で考慮されることができる。例えば、ツアー生成方法は、ユーザー選好度に対するルート（またはループ）の形状及び/またはツアーの幾何学的単純性に基づいて、報酬またはペナルティを決定し追加することができる。追加的にまたは代案的に、ツアー生成方法は、複数の連続的な良好な有向エッジを含むシーケンスを有するルートに基づいて、報酬を決定し追加することができる。この例示において、良好な有向エッジは、予め決定された値（しきい値）よりも大きい加重値を有する有向エッジを含むことができる。
【００９９】
第１の方法（グリーディアプローチ（Ｇｒｅｅｄｙ  ａｐｐｒｏａｃｈ））
例示として前述した経路セグメントスコアの計算を使用して、第１のループ経路が以下のように生成されることができる。
【０１００】
図２は、循環型ウォーキングツアーを生成する（第１の）例示的な方法を図示したフローチャートを含む。図２に例示されたアルゴリズムは、快適な循環型ウォーキングツアーを生成する方法である。方法は、１つ以上のプロセッサ（６１ａ〜６１ｃ）のような１つ以上のプロセッサによって遂行されることができる。方法は、目標開始位置から開始して、目標距離（ユーザー選好度によって定義される）が到達するまでツアーに新しい有向エッジを反復的に追加する。
【０１０１】
１０１において、ユーザーデバイス（１４）のデータプロセッサ（６１ｂ）は、サーバー（５５）と通信して、ウォーキングツアーが開始して終了される目標開始位置周辺領域の与えられたマップに対するＯＳＭマップデータを取得する。データプロセッサ（６１ｂ）は、また、入力として、ユーザーの選好度（つまり、ユーザー選好度）を表す変数のセットを検索する。
【０１０２】
ユーザー選好度は、例えば、循環型ツアーの目標距離（ｄｉｓｔＭａｘ）、及び他のパラメータ、例えば、ユーザーの選好類型の経路、循環型ツアーに沿って見ることのできる希望関心地域または位置（例えば、風景）、公園及び風景に対する希望近接性を示す希望経路類型（例えば、徒歩型または居住型）を含む。ユーザー選好度は、また、循環型ウォーキングツアーの目標高度プロファイルを含むことができる。目標高度プロファイルは、例えば、循環型ウォーキングツアーに対する傾き（または傾斜度）及び/または全体獲得高度を含むことができる。
【０１０３】
ユーザー選好度は、ユーザー（８０）がユーザー選好度を入力するために相互作用するユーザーデバイス（１４）のユーザーインターフェースを通じて、リアルタイムで取得されることができる。追加的にまたは代案的に、ユーザー選好度は、ユーザーデバイス（１４）のメモリ（７２ｂ）からデータプロセッサ（６１ｂ）によって検索されることができる。
【０１０４】
１０２において、循環型ツアーに対する現在ノードは目標開始位置（ｐｓｔａｒｔ）に対応する値に初期化され、ツアーはシングルトン（ｓｉｎｇｌｅｔｏｎ）{ｐｓｔａｒｔ}に初期化され、ツアーの長さｃｕｒｒｅｎｔ_ｃｏｓｔは０に初期化される。
【０１０５】
１０３において、ツアーの長さ（ｃｕｒｒｅｎｔ_ｃｏｓｔ）が目標の長さよりも小さいか否かを判定する。ツアーの長さが予め決定された量だけ目標の長さよりも小さく、もしくは大きくなるように、予め決定された値が目標の長さにまた適用されることもできる。多様な具現において、予め決定された値は、ツアーの長さが目標の長さの±１０％になるように１.１であることができる。１０３が偽であれば、ツアーは完成され、制御は１０５に移動する。１０３が真であれば、下記のステップが反復される：
-１０４において、距離（ｄ）（例えば、任意の距離）は、パラメータ（θ）のセットを有する確率分布（Ｐ（ｄ|θ））から導出される。
【０１０６】
-１０６において、現在ノードからおおよそ距離（ｄ）内にある（例えば、ｄ±２００ｍ）すべてのノードを含む交差点のセット（Ｃ）が生成される。
【０１０７】
-１０７において、交差点のセット（Ｃ）が空いているか否かを判定する。１０７が真であれば、１０８において、方法は分布のパラメータ（θ）を変更するステップ及び新しい距離（ｄ）を導出するように１０４に戻るステップを含む。１０７が偽であれば、方法は１０９に続く。
【０１０８】
-１０９において、方法は、セット（Ｃ）のそれぞれの交差点（ｐｉに表記される）に対して反復するステップ及び下記のテストを遂行するステップを含む：
-１１０において、経路セグメントの最後のノードから交差点（ｐｉ）までの最短経路セグメントが現在のツアーに追加されると、ツアーの合計長さとｐｉからｐｓｔａｒｔまでの最短経路セグメントの長さの合計がツアーの目標の長さ（ｄｉｓｔＭａｘ）以下であるかを検証する。そうでない場合には、交差点のセット（Ｃ）からｐｉを除去する。
【０１０９】
-１１１において、方法は、ｐｓｔａｒｔからセット（Ｃ）のそれぞれのｐｉまでの関連する経路セグメントのスコアに基づいて交差点のセット（Ｃ）を整列するステップを含む。
【０１１０】
-１１２において、方法は、セット（Ｃ）の最適交差点または以前の整列によるセット（Ｃ）のｋ個の最適道路交差点から（例えば、ランダムに）選択されてルートに追加された交差点を選択するステップを含み、現在ノードから選択されたノードへの最短経路セグメントは、現在のツアーに追加され、この経路セグメントの長さは、ツアーの長さ（ｃｕｒｒｅｎｔ_ｃｏｓｔ）に追加され、現在ノードは、この選択されたノードにアップデートされる。続いて、制御は１０３に戻って反復される。
【０１１１】
-１０５において、方法は、完成された循環型ウォーキングツアーを出力するステップを含む。例えば、完成されたツアーは、ユーザーデバイス（１４）のユーザーインターフェース上に表示されることができる。循環型ツアーが遠隔で生成される場合、循環型ツアーはまた、ユーザーデバイス（１４）に通信される。
【０１１２】
図３は、図２の方法によって生成された例示的な１０キロメートル（ｋｍ）循環型ツアーの例示的なマップを含む。このようなマップは、ユーザーデバイス（１４）のディスプレイ上に表示されることができる。ユーザーデバイス（１４）の現在位置は、また、ユーザーデバイス（１４）上に同時に表示されることができる。ユーザーデバイス（１４）は、また、ユーザーデバイス（１４）がツアーを横断することによって、ツアーに付いて行く方向を提供することができる。図２の方法（１００）は、下記の擬似コード（ｐｓｅｕｄｏｃｏｄｅ）を使用して説明されることができる。
ＧｒｅｅｄｙＳＰ（１００）：
ユーザー選好度とマップを示すグラフＧ=Ｖ、Ａ）を入力として取る（１０１）
ｃｕｒｒｅｎｔ_ｎｏｄｅ<-ｓｔａｒｔｉｎｇ_ｐｏｉｎｔ（１０２）
ｗｈｉｌｅ  ｃｕｒｒｅｎｔ_ｃｏｓｔ<１.１*ｄｉｓｔＭａｘ：（１０３）
１）Ｐ（ｄ|θ）（例えば、ガンマ分布から）からｄを導出（１０４）
２）ｄｉｓｔａｎｃｅ（ｃｕｒｒｅｎｔ_ｎｏｄｅ、ｐ）=ｄ±２００ｍとなるように、ノード（ｐ）のセットに対する加重された最短経路セグメントを計算（１０６）
３）ノードのセットが空いている場合、θをアップデートして平均距離を減らし、距離（ｄ）を再導出する（１０７、１０８）
４）ノード（ｐ）のそれぞれに対して：（１０９）
ｉ）最短経路セグメントのスコアを計算：ｓｃｏｒｅ（ｐａｔｈ（ｐ））
ｉｉ）ｐに行く場合、ｔｏｔａｌ  ｄｉｓｔａｎｃｅＭａｘを超えずに開始点に戻ることができるかを確認（１１０）
ｉｉｉ）距離及び/または角度に基づいて、ｐに行く経路セグメントと既に完成された経路セグメントの間の所定ペナルティまたは距離を計算（１１１）
５）Ｃｒｉｔｅｒｉａ（ｐ）<-ｓｃｏｒｅ（ｐａｔｈ（ｐ））+αｐｅｎａｌｔｙ（ｐａｔｈ（ｐ））
６）整列して、可能であればリストの最上位を無作為化し、１つのノード（ｐ'）を選択
７）ｃｕｒｒｅｎｔ_ｎｏｄｅ<-ｐ'（１１２）
８）ｃｕｒｒｅｎｔ_ｃｏｓｔ+=ｃｏｓｔ（ｐａｔｈ（ｐ））（１１２）
ｆｉｎａｌ  ｓｃｏｒｅ（ｐａｔｈ（ｐ））を計算、
結果経路セグメントを後処理して不要な有向エッジを除去し、さらに最適化する。（１０５）
第２の方法（ダイナミックアークオリエンテーリング（ｏｒｉｅｎｔｅｅｒｉｎｇ））
以下において、ＳＰ（Ａ、Ｂ）は、グラフ内でノード（Ａ）からノード（Ｂ）までの最短経路セグメントを示す。図４は、循環型ウォーキングツアーを生成する例示的な（第２の）方法を図示したフローチャートを含む。方法は、１つ以上のプロセッサ（６１ａ〜６１ｃ）のような１つ以上のプロセッサによって遂行されることができる。
【０１１３】
方法（２００）は、例えば、前述した図２の例示に基づいて初期循環型ツアーが取得される２０１から開始する。
【０１１４】
１つ以上のプロセッサは、ツアーを最適化するために利用可能なプロセッシング時間（２０２）に基づいて与えられた反復回数（現在の反復がｉで表示される）に対して反復される下記のステップを遂行する：
-２０３において、ツアー内の連続アーク（有向エッジ）（ＡＢ、ＥＦ）のそれぞれのペアに対して反復する：
-２０４において、ＢからＥへの連結経路を{ＳＰ（Ｂ、Ｃ）、ＣＤ、ＳＰ（Ｄ、Ｅ）}に代替するために、ツアーに対する新しいアーク（有向エッジ）（ＣＤ）の可能なすべての挿入を列挙することによって、実現可能な新しいツアーのリストを生成（ステップ２０４）;
-２０５において、列挙された実現可能な新しいツアーの中で、それらのスコアによって最適なツアーを選択するか、最適なｋ個のツアーのうち１つを（例えば、ランダムに）選択し、
-２０６において、現在の反復により、ツアーからアーク（有向エッジ）の与えられた数（Ｎ（ｉ））のサブセットを選択することによって、新しいルート（ユーザー選好度を増進させるスコアを有する）を定義し、これはアルゴリズムの次の反復に対して固定される。
【０１１５】
-方法は、２０７において、完成された循環型ウォーキングツアーを出力するステップを含む。例えば、完成されたツアーは、ユーザーデバイス（１４）のユーザーインターフェース上に表示されることができる。循環型ツアーが遠隔で生成される場合、循環型ツアーはまた、ユーザーデバイス（１４）に通信される。
【０１１６】
図５は、図４の方法によって生成された例示的な７ｋｍ循環型ツアーの例示的なマップを含む。このようなマップは、ユーザーデバイス（１４）のディスプレイ上に表示されることができる。ユーザーデバイス（１４）の現在位置は、また、ユーザーデバイス（１４）上に同時に表示されることができる。ユーザーデバイス（１４）は、また、ユーザーデバイス（１４）がツアーを横断することによって、ツアーに付いて行く方向を提供することができる。図４の方法（２００）は、下記の擬似コードを使用して説明されることができる。
ダイナミックアークオリエンテーリング（２００）：
初期実現可能な経路セグメントを入力として取得（２０１）
それぞれの反復ｉに対して：（２０２）
-ルート内の連続的な（しかし、必ずしも隣接する必要はない）アーク（ＡＢ及びＥＦ）のそれぞれのペアに対して：（２０３）
ＢからＥへの連結経路をシーケンスＳＰ（Ｂ、Ｃ）、ＣＤ、ＳＰ（Ｄ、Ｅ）によって定義された経路セグメントに代替し、新しいアーク（ＣＤ）をルートに挿入することができる可能性を探索（２０４）
-実現可能な新しいツアー（つまり、どのノードも２回以上訪問されず、総距離がＤｍａｘより小さいツアー）の中で、最高のスコアを有するｋ個のツアーのうち１つをランダムに選択（２０５）
-最高のスコアを有するか、または現在のツアーからランダムにサンプリングされたＮ（ｉ）個のアークを選択して、ルートをアップデート（２０６）
-最大反復回数に達する場合、またはそれ以上挿入が可能でない場合、中止して現在のツアーを返還（２０７）
反復（Ｉ）で固定されたツアーのアークまたはエッジの数を表す関数Ｎ（ｉ）及び/またはアークを選択する方式を定義するために、他の戦略が使用されることができる。ツアーがとても良好だったが、最短経路セグメントの一部であるアークを含む場合、これらは以降の挿入によって廃棄されることができる。方法は、以前に訪問したアークのうち、最も良いアークを維持した状態で拡張が完成されるように、ルートアークを動的に固定することができる。しかし、最適のアークを選択することは、局所最小値（ｌｏｃａｌ  ｍｉｎｉｍｕｍ）につながることができる。これが発生するのを防止するために、方法は、それぞれの反復ごとにアークをランダムに選択して、生成されたツアーを向上させることができる。
【０１１７】
後処理
図６は、図２の例示または図４の例示から生成されるツアーのような完成されたツアーに対して遂行されることができる、後処理の例示的な方法（３００）を図示するフローチャートを含む。方法（３００）は、１つ以上のプロセッサ（６１ａ〜６１ｃ）のような１つ以上のプロセッサによって遂行されることができる。
【０１１８】
３０１において、方法は、前述されたように生成された循環型ツアーを入力データとして受信する。ツアーの形状を改善するために、下記のステップがツアーで遂行される：
-３０２において、方法は、下記の手続きを適用してツアーのノード（Ａ）からノード（Ｂ）までのそれぞれの経路セグメントに対して反復する。
【０１１９】
３０３において、ツアーでＡからＢまでの経路セグメントとＡからＢまでの最短経路セグメントを比較する。経路セグメントが最短経路セグメントよりはるかに長い場合には、その経路セグメントを迂回として考慮し、経路セグメントに対するスコアが良い場合にのみ、その経路セグメントを関心対象として考慮する。この場合、経路セグメントのスコア/長さの比は、図６に図示されたように、最短経路セグメント及びそれの最大スコアと比較される;
以前の比較により、経路セグメントが迂回として見える場合は、３０４において、ＡからＢまでの経路セグメントをＡとＢの間の最短経路セグメントに代替する。例えば、３０４は、経路セグメントの長さが最短経路セグメントの長さの２倍よりも長く、経路セグメントのスコアが予め決定された値（例えば、０.５）*経路セグメントのすべてのアークの（累積）スコア*経路セグメントのアークの数より小さく、最短経路セグメントのスコアを最短経路セグメントの長さ（コスト）で割った値が、第２の予め決定された値（例えば、０.３）*経路セグメントの（累積）スコアを経路セグメントの長さ（コスト）で割った値より大きい場合には、ＡからＢまでの経路セグメントをＡとＢの間の最短経路セグメントに代替することができる。
【０１２０】
-それぞれの経路セグメントが評価されると、ツアーは完成され、この手続きの終わりで取得された、完成されたツアーは、３０５においてユーザーに出力される。例えば、完成されたツアーは、ユーザーデバイス（１４）のユーザーインターフェース上に表示されることができる。循環型ツアーが遠隔で生成される場合には、循環型ツアーは、また、ユーザーデバイス（１４）に通信される。
【０１２１】
３０３及び３０４は、下記の論理テストで公式化できる。
仮に（ｌｅｎｇｔｈ（ＳＥＧ）>２*ｌｅｎｇｔｈ（ＳＰ））であり、
（ｓｃｏｒｅ（ＳＥＧ）<０.５*（ｍａｘ_ｓｃｏｒｅ（ＳＥＧ）*ｎｂ_ａｒｃｓ（ＳＥＧ）））であり、
（ｓｐ_ｓｃｏｒｅ/ｓｐ_ｃｏｓｔ>=０.３*ｓｅｇ_ｓｃｏｒｅ/ｓｅｇ_ｃｏｓｔ）である場合、
ＳＥＧをＳＰに代替する
後処理は、ただ目標距離を達成するために、一部アーティファクトと迂回のような人工迂回を除去することができる。これはツアーの他の部分に再投資されることができるコスト（距離）を節約し、ツアーの全体価値を高めることになる。１つのオプションは、良いスコアを有するツアー（例えば、セグメント）を貪欲に（ｇｒｅｅｄｉｌｙ）拡張することである。例えば、前述されたグリーディアプローチを適用することによって、１つのオプションは、短縮ルートに対してダイナミックアークオリエンテーリングアプローチを再実行してルートを拡張し、スコアを最大化することである。
【０１２２】
多様な具現において、１つ以上のプロセッサは、複数の解決（ツアー）を並列に生成することができる。多数のツアーのうち、１つ以上のツアーがユーザーデバイス（１４）を通じてユーザーに提示されることができる。しかし、提案された経路セグメントのセットの多様性を増進させるために代案的な後処理が遂行されることができる。例えば、最大限界関連性（Ｍａｘｉｍｕｍ  Ｍａｒｇｉｎａｌ  Ｒｅｌｅｖａｎｃｅ）技術が使用されることができる。多様な具現において、１つ以上のプロセッサは、最高スコアを有する循環型ツアーの中で、最適の幾何学的形態または形状を有するツアーを選択することができる。例えば、１つ以上のプロセッサは、循環型ツアーによって限定された表面を比較することによって、最も大きい多角形を形成する循環型ツアーを選択すること、または交差地点の数を比較することによって最も簡単な多角形を選択することができる。
【０１２３】
高度
１つ以上のプロセッサは、例えば、ユーザー選好度に含まれた高度目標を達成するために、高度データにさらに基づいてツアーを生成することができる。これに関連し、１つ以上のプロセッサは、グラフ内のすべてのアークに対する高度データを取得することができる。１つ以上のプロセッサは、ＯＳＭ及び/または高度データベースのような他の適切なデータベースから高度データを得ることができる。
【０１２４】
ルーティンググラフ（ｒｏｕｔｉｎｇ  ｇｒａｐｈ）のすべての交差点またはノードの高度のような漏れた高度データを得るために、トポロジデータベースが使用されることができる。例えば、高度データは、ＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ）を使用してサーバー（６０）から取得されることができる。サーバー（６０）は、例えば、予め決定された領域（例えば、２５メートルｘ２５メートル）の四角形で構成された、ＤＥＭ（ｄｉｇｉｔａｌ  ｅｌｅｖａｔｉｏｎ  ｍｏｄｅｌ）規格を遵守するデジタル標高モデル（ＤＥＭ）に基づいて高度データを提供するトポロジデータベースを含むことができる。
【０１２５】
ツアーを生成するとき、このような精度のレベルは低すぎることがある。それぞれのノードに対して該当する位置にある四角形の平均高さを使用すると、短い長さ（例えば、数メートル）の様々なノードを連結するアークでツアーが生成されることができる。選択された経路セグメントの各々は、四角形のうち１つの四角形内に位置することができるので、完全に平らなものとして、または両四角形の境界に位置するものとして誤って推定されることができ、両四角形が異なる平均高度値を有する場合、急すぎるものとして誤って推定されることができる。
【０１２６】
１つ以上のプロセッサ（例えば、ユーザーデバイス（１４）のプロセッサ（６１ｂ））は、例えば、４つの最近接四角形の高度データから逆距離加重を使用して、ノードのそれぞれの高度を推定する。グリッドのそれぞれの四角形は、その中央の位置に表現されることができる。１つ以上のプロセッサは、それぞれのノードの高度を４つの最近接周辺中心位置の高度の加重合計で決定する。この合計において、ノードが中心位置に近いほど、合計の計算に及ぼす影響または加重値が高くなる。
【０１２７】
合計の加重値は、ノードと重心位置の間の距離の逆数に比例する：
【０１２８】
【数２】
2020165974.tif 000004
ここで、Ｓは高度が決定されるべき位置であり、Ｓｉは知られた高度を有する位置、
【０１２９】
【数３】
2020165974.tif 000005
は位置ｘでの高度であり、
【数４】
2020165974.tif 000006
はｐ-ｎｏｒｍを表し、ｎは考慮された最近接周辺中心位置の数である。特に、本方法は、ｐ=１及びｎ=４のとき、合理的な結果を提供する。
【０１３０】
高度プロファイル選好度
高度は、獲得高度及び傾斜度（または傾き）の２つの態様を含む。獲得高度と傾斜度の両方ともにツアーの難易度に影響を及ぼす。獲得高度は、全体のツアーの総累積獲得高度、すなわち、連続セグメントの獲得高度の合計である。ツアーの獲得高度は、ツアーの難易度の尺度であることができる。傾斜度は、ツアーの最も急な部分と関連して表現されることができる。
【０１３１】
ウォーキング（またはハイキング）において、ネイスミスのルール（Ｎａｉｓｍｉｔｈ'ｓ  ｒｕｌｅ）は、歩き（上り坂）において高度が及ぼす影響を定義することができる。獲得高度によって引き起こされる追加の努力は、ルートに/ルートから距離を足したり引いたりすることに変換されることができる。時間と努力の観点から、１００メートル（ｍ）の高さの差（Ｄ+）は、水平に１ｋｍを走るのと同じである。例えば、３００ｍのＤ+を有して１０ｋｍを走るのは、１３ｋｍを水平に走るのと同じである。
【０１３２】
獲得高度は、速力にも影響を及ぼす。例えば、上向傾斜（上り坂）の傾きパーセントごとに歩行者の速度をキロメートル当たり７〜９秒ずつ遅らせることができる。下向傾斜（下り坂）の傾きパーセントごとに歩行者の速度をキロメートル当たり５秒ずつ高めることができる。
【０１３３】
ユーザー選好度は、例えば、３つの連続分類または難易度レベルである平地、丘及び高山（ａｌｐｈｉｎｅ）のうち１つのような、高度プロファイルのセットのうち１つを含むことができる。高度プロファイルのそれぞれは、ツアーに対して互いに異なる許容可能な範囲の累積獲得高度及び傾斜度に対応する。例えば、高度プロファイルは：（１）例えば、累積獲得高度が距離の１％未満（例えば、１０ｋｍに対して１００ｍ未満）であり、最大傾斜度は５％である、第１の（例えば、平地）プロファイル;（２）例えば、累積獲得高度が距離の１％と３％の間（例えば、１０ｋｍに対して１００〜３００ｍ）であり、最大傾斜度は１０％である第２の（例えば、丘）プロファイル;及び（３）例えば、累積獲得高度が距離の３％超（例えば、１０ｋｍに対して３００ｍ超）であり、最大傾斜度は１５％である第３の（例えば、高山）プロファイルであることができる。第２のプロファイルの累積獲得高度及び最大傾斜度は、第１のプロファイルの累積獲得高度及び最大傾斜度より大きい。第３のプロファイルの累積獲得高度及び最大傾斜度は、第２のプロファイルの累積獲得高度及び最大傾斜度より大きい。
【０１３４】
３つの高度プロファイルの例示が提供されるが、可能な高度プロファイルの数は３、もしくは３より大きいことや、３より小さいことができる。高度プロファイルは、予め決定されることができ、高度プロファイルの１つ以上の属性（例えば、累積獲得高度及び/または最大傾斜度）は、ユーザーデバイス（１４）に対するユーザー入力に基づいて調整されることができる。
【０１３５】
多様な具現において、高度データは、また、目標インターバル（期間）を含むことができる。獲得高度を経験する目標インターバルは、ユーザー入力であることができ、また、予め決定された目標インターバルが高度プロファイルと関連させることができる。
【０１３６】
傾斜度の場合、一致させるべき全体目標傾斜度は定義されないことができる。代わりに、避けるべき傾斜度の値を含むのが有利であることができる。１つ以上のプロセッサが常に同じ許容可能な傾斜度を有するツアーを生成するわけではないことができる。代わりに、１つ以上のプロセッサは、プロファイルと関連する最大傾斜度に制限される傾斜度を有するかもしくは有さないことができる平らで急なセグメントを含むツアーを生成するように構成されることができる。獲得高度目標は全体ツアーに適用される一方（これが、それぞれのセグメントの獲得高度の合計で構成されるため）、傾斜度制限条件はツアーのほとんどのセグメントに適用されることができるが、必ずしもツアーのすべてのセグメントに適用される必要はない。例えば、セグメントが歩行者にとってツアー内でとても快適な地域または経路に到達できるようにしてくれれば、一部のユーザーは、ツアー内の非常に短い急なセグメントを含むツアーを選好し、受諾することができる。
【０１３７】
ツアー生成方法は、高度プロファイルと関連する最大傾斜度よりも大きい傾斜度を有するセグメントを排除しないことができる。代わりに、ツアー生成方法は、単に非常に急なセグメントにペナルティを付与することができる。他の例示において、ツアー生成方法は、ツアーに過度に多くの難しいセグメントを含むことを避けるために、最大傾斜度を超える後続セグメントの累積長さを制限することができる。
【０１３８】
与えられた総距離に対する平地プロファイルを利用して全体獲得高度が既に制限されている点で、獲得高度はすでに傾斜度に対する自然的な限界を提供する。したがって、生成されたツアーは、高い傾斜度を少ない比率または累積距離のみで含むことができ、また、より低い傾斜度をより高い比率または累積距離のみで含むことができる。
【０１３９】
高度プロファイルに基づいたツアー生成
１つ以上のプロセッサは、例えば、獲得高度及び/または最大傾斜度制限条件を具現することによって、選択された高度プロファイル及びユーザー選好度を満足するツアーを生成することができる。
【０１４０】
例えば、傾斜度制限条件を施行するために、１つ以上のプロセッサは、ペナルティを決定し、ユーザー選好度の高度プロファイルと関連する予め決定された最大傾斜度より大きい傾斜度を有する経路セグメントの経路セグメントスコアにペナルティを追加することができる。１つ以上のプロセッサは、予め決定された最大傾斜度よりも小さい傾斜度を有する経路セグメントの経路セグメントスコアにペナルティを追加しないことができる。
【０１４１】
目標獲得高度を達成するために、１つ以上のプロセッサは、下記のように（１）及び（２）のうち一方または両方を遂行することができる：
-（１）（Ａ）現在のソリューションが目標獲得高度を達成するときまで、獲得高度を第１の目標として考慮し、快適度スコア（前述済み）を第２の目標として考慮する階層的最適化（ｈｉｅｒａｒｃｈｉｃａｌ  ｏｐｔｉｍｉｚａｔｉｏｎ）を適用する。（Ｂ）獲得高度が目標範囲にあるとき、高度範囲を制限条件に維持しながら、快適度を最大化する。
-（２）中間点を探す。適切な高度に位置された中間点を選択する（例えば、全体グラフの平均高度+/-予め決定された量）。この中間点で、開始点から中間点までの経路セグメントを含むツアー生成を開始する。
【０１４２】
急な経路セグメントに対して追加されたペナルティは、最大傾斜度を制限するために使用される。しかし、最大傾斜度より大きい傾斜度を有するセグメントが常にツアーから除外されるようにペナルティが設定されることができる。与えられた目的地に到達するために急な直接経路を選択するのを避けるために、ユーザーは、より多くの距離をカバーするが、急なセグメントは避ける迂回をすることを受諾することができる。追加されたペナルティを含む加重された最短経路セグメントは、この選好度を具現することができる。
【０１４３】
したがって、ツアー生成方法は、急な経路セグメントにペナルティを付与することができる。ペナルティは、経路セグメントの傾斜度が高度プロファイルの最大傾斜度と同じ時に追加されはじめることができ、傾斜度が最大傾斜度を超過して増加するにつれて増加することができる。
【０１４４】
図７は、ペナルティ計算の例示的な方法（４００）を図示したフローチャートを含む。
【０１４５】
４０１において、１つ以上のプロセッサは、ユーザー選好度、そしてより詳細には、高度プロファイルを検索する。１つ以上のプロセッサは、高度プロファイルが第１の（平地）プロファイル、第２の（丘）プロファイルまたは第３の（高山）プロファイルであるかを決定する。高度プロファイルが第１の（平地）プロファイルに設定される場合、方法は、４０２ｆに継続される。高度プロファイルが第２の（丘）プロファイルに設定される場合、方法は、４０２ｈに継続される。高度プロファイルが第３の（高山）プロファイルに設定される場合、方法は、４０２ａに継続される。
【０１４６】
高度プロファイルが第１のプロファイルに設定される場合、４０２ｆにおいて、１つ以上のプロセッサは、経路セグメントの傾斜度（例えば、傾斜度の絶対値（ａｂｓ））が第１のプロファイルと関連する予め決定された最大傾斜度（例えば、５％）より小さいか否かを決定する。４０２ｆが偽であれば、１つ以上のプロセッサは４０３ｆにおいて、経路セグメントに対するペナルティを２０×（ａｂｓ（ｓｔｅｅｐｎｅｓｓ）-０.０５）に基づいて、またはそれと同一に設定することができる。４０２ｆが真であれば、１つ以上のプロセッサは４０４において、セグメントに対するペナルティを０に基づいて、またはそれと同一に設定することができる。
【０１４７】
高度プロファイルが第２の（丘）プロファイルに設定される場合、４０２ｈにおいて、１つ以上のプロセッサは、経路セグメントの傾斜度（例えば、傾斜度の絶対値（ａｂｓ））が第２のプロファイルと関連する予め決定された最大傾斜度（例えば、１０％）より小さいか否かを決定する。４０２ｈが偽であれば、１つ以上のプロセッサは４０３ｈにおいて、経路セグメントに対するペナルティを（ａｂｓ（ｓｔｅｅｐｎｅｓｓ）-０.１０）に基づいて、またはそれと同一に設定することができる。４０２ｈが真であれば、１つ以上のプロセッサは４０４において、セグメントに対するペナルティを０に基づいて、またはそれと同一に設定することができる。
【０１４８】
高度プロファイルが第３の（高山）プロファイルに設定される場合、４０２ａにおいて、１つ以上のプロセッサは、経路セグメントの傾斜度（例えば、傾斜度の絶対値（ａｂｓ））が第３のプロファイルと関連する予め決定された最大傾斜度（例えば、２０％）より小さいか否かを決定する。４０２ａが偽であれば、１つ以上のプロセッサは４０３ａにおいて、経路セグメントに対するペナルティを２０×（ａｂｓ（ｓｔｅｅｐｎｅｓｓ）-０.０５）に基づいて、またはそれと同一に設定することができる。４０２ａが真であれば、１つ以上のプロセッサは４０４において、セグメントに対するペナルティを０に基づいて、またはそれと同一に設定することができる。
【０１４９】
最短経路セグメントの計算のために、それぞれのアークの加重値は、下記に基づいて、または下記のように修正される：
Ｗｅｉｇｈｔ＝ｄｉｓｔａｎｃｅ×（１＋ｐｅｎａｌｔｙ）
上記式の例示において、１の因数だけペナルティを増加させることは、急なセグメントを避けるために許容される距離をそのセグメントの長さだけ増加させることと同一である。例えば、第１のプロファイルが選択される場合、１５％の傾斜度及び長さ（ｄ）を有する経路セグメントにペナルティが付与されて、アルゴリズムは、１５％の傾斜度を有する経路セグメントよりも最大３倍より長い（平地）経路を選択することを好むはずである。
【０１５０】
加重値が計算されると、１つ以上のプロセッサは、階層的最適化を遂行することができ、これは経路セグメントスコアを最大化する前に達成する第１の目標が獲得高度になるようにする。これはそれぞれの反復において、選択された挿入（経路セグメント）が累積獲得高度を維持することや、累積獲得高度を目標獲得高度により近く移動させることであることを意味することができる。挿入（ツアーへの追加）のための複数の可能な経路のセグメントが累積獲得高度に同じ影響を及ぼす場合、１つ以上のプロセッサは、複数の可能な経路セグメントのうち、経路セグメントスコアを最大化する１つを選択する。一度ツアーの獲得高度が目標獲得高度の予め決定された範囲内にあれば、１つ以上のプロセッサは、累積獲得高度を予め決められた目標獲得高度の範囲に依然として維持しながら経路セグメントスコアを最大化するための、挿入すべき以後経路セグメントを選択する。
【０１５１】
しかし、適切な高度の地域が十分近くにないと、階層的最適化は、目標高度プロファイルを達成できないことができる。より正確には、上述したように、互いにカットオフ距離（ｃｕｔｏｆｆ  ｄｉｓｔａｎｃｅ）内にある地点を連結する前処理された加重された最短経路セグメントが使用される。それぞれの反復において新しい挿入を考慮するとき、可能性の数は、ツアーに最短経路セグメントで連結されたアークの数に依存する。したがって、カットオフ距離が大きいほど、より多くの代案が可能であり、累積獲得高度を目標獲得高度に調整する経路セグメントを探す可能性が高くなる。
【０１５２】
図８は、同一なユーザー選好度を使用するが、最短経路セグメントの前処理において異なるカットオフ距離を使用して生成された２つのツアーの例示を図示する。青色線で図示されたツアーは、赤色線で表示された経路よりも大きいカットオフ距離を使用して生成されたものである。より大きいカットオフ距離（青色線で表示される）で生成されたツアーは、目標獲得高度の予め決定された範囲内にある獲得高度を提供し、ツアーは相対的に良いスコアを有する。しかし、より小さいカットオフ距離（赤色線で表示される）で生成されたツアーは、目標獲得高度の予め決定された範囲内にある獲得高度を提供しない。代わりに、より小さいカットオフ距離を有するツアーは、複数のより小さいアークを含んで獲得高度がほとんどない。このようなツアーは、ユーザー選好度の獲得高度部分を満たさずに、比較的不十分な（ｐｏｏｒ）幾何学的形状を有する。したがって、このようなツアーは、より大きいカットオフ距離を使用して生成されたツアーよりも低いスコアを有することになる。
【０１５３】
しかし、カットオフ距離が大きいほど遂行される前処理が大きくなる。適切な最小高度にある中間点の選択と開始点から該当地点に到達するための最短経路セグメントを含むようにツアーを生成するのは、より望ましいツアーを提供することができ、これはまた、目標獲得高度を達成する。図９は、前述されたように、中間点を選択することによって生成されたツアーを含む例示的なグラフを含む。この場合、ツアーは、開始点と中間点の間の同じアクセス経路で始まり、終わるようになる。
【０１５４】
柔軟な経路
１つ以上のプロセッサは、ユーザーが、ユーザーデバイス（１４）を持って生成されたツアーを横断する間、１つ以上の変更が行われるように許容することができる。例えば、１つ以上のプロセッサは、ツアーの間にツアーの長さを増加させたりツアーの長さを減少させるための、ユーザーデバイス（１４）に対するユーザー入力に応答して、ツアーの長さを増加させたりツアーの長さを減少させるためにツアー（例えば、持続時間及び/または距離）を調整することができる。追加的または代案的に、１つ以上のプロセッサは、ユーザーがツアーから逸脱して代案的なツアーに付いて行く場合、代案的なツアーの経路に付いて行くようにツアーを調整することができる。付加的または代替的に、１つ以上のプロセッサは、ツアーの間にユーザーデバイス（１４）に対するユーザー入力、例えば、緊急事態の表示に応答してユーザーに開始位置に戻ることが可能な最短ルートを提供するようにツアーを調整することができる。
【０１５５】
１つ以上のプロセッサは、ユーザーが、ユーザーデバイス（１４）を持って生成されたツアーを横断する間、１つ以上の変更を提案する時に地理的柔軟性及び時間柔軟性を許容する。地理的柔軟性は、１つ以上のプロセッサが、ユーザー選好度と一致し、元のツアーの経路と（スコア的に）ほぼ同じ品質である初期ツアー周辺の領域及び/または代案の経路を識別するのを伴うことができる。領域及び/または代案の経路は、ユーザーが元のツアーを厳密に付いて行かずに周辺を探索するように許容することができる。時間柔軟性は、ツアーの間にツアーの長さ及び/または全体期間（時間）の変化に関するユーザー入力に応答してツアーを調整することを伴うことができる。１つ以上のプロセッサは、ツアーの間に要請されたそのような変更に応答してツアーの長さを増加させるために、またはツアーの長さを減少させるためにツアーをアップデートする。これは、例えば、天気の変化に基づいて、またはツアーの間にユーザーの気持ち（例えば、疲労またはエネルギー）に基づいた柔軟性を許容する。
【０１５６】
生成された（最初の）ツアーをより柔軟にするために、１つ以上のプロセッサは、ツアーから分岐され、最初のツアーの経路セグメントを代替するために使用されることができる１つ以上の代案経路（アーク）を決定する。可能なすべての代案経路のうち、１つ以上のプロセッサは、最初のツアーから除去された経路セグメントのスコアと類似するスコアを有する代案経路を選択する。
【０１５７】
上述されたように、１つ以上のプロセッサは、それの平均スコア、すなわちそれの距離に対するそれのスコアに基づいて、経路のスコアを決定する。１つ以上のプロセッサは、経路の総スコアをその総距離で割ることによって、それぞれの経路の平均スコアを個別化（ｄｉｓｃｒｅｔｉｚｅ）する。１つ以上のプロセッサは、スコアに基づいて、それぞれの経路に品質カテゴリーを割り当てる。例えば、１つ以上のプロセッサは、予め決定された第１のスコアの範囲内にあるスコアを有する経路に第１の品質カテゴリーを割り当て、予め決定された第２のスコアの範囲内にあるスコアを有する経路に第２の品質カテゴリーを割り当て、予め決定された第３のスコアの範囲内にあるスコアを有する経路に第３の品質カテゴリーを割り当て、及び予め決定された第４のスコアの範囲内にあるスコアを有する経路に第４の品質カテゴリーを割り当てることができる。４つの品質カテゴリーの例示が提供されるが、より多いもしくは少ない数の品質カテゴリーが使用されることができる。第１の品質カテゴリーは、最小品質を有する経路（例えば、車両通行がある道路）に対応することができる。第２の品質カテゴリーは、合理的な品質、第１の品質カテゴリーの経路よりも良い品質を有する経路（例えば、徒歩経路）に対応することができる。第３の品質カテゴリーは、良い品質、第２の品質カテゴリーの経路よりも良い品質を有する経路（例えば、公園の境界などのような自然に近い徒歩経路）に対応することができる。第４の品質カテゴリーは、優れた品質、第３の品質カテゴリーの経路よりも良い品質を有する経路（例えば、公園内の徒歩経路または自然を通過する徒歩経路）に対応することができる。図１０は、スコアに応じてセグメント化された例示的なウォーキングツアーを含む。品質カテゴリーの例示が提供されるが、本出願はまた、柔軟な経路を識別する他の方法にも適用可能である。
【０１５８】
１つ以上のプロセッサは、（１）代案経路に代替することができる最初のツアーの一部を選択し、（２）最初のツアーの一部を代替する許容可能な代替を探すことによって経路のスコアを決定する。
【０１５９】
１つ以上のプロセッサは、（１）スライディングウィンドウアプローチまたはセグメント化アプローチを使用して、最初のツアーの代替される一部を選択することができる。スライディングウィンドウアプローチの場合、１つ以上のプロセッサは、固定された予め決定された距離（Ｄ）を有するスライディングウィンドウを定義する。１つ以上のプロセッサは、最初のツアーの第１のノード（開始位置）から開始して、元のツアーの後続ノードを通じてウィンドウをノードからノードへ移動させる。それぞれのステップにおいて、１つ以上のプロセッサは、距離（Ｄ）内に置かれていてツアーの終了ノード（終了位置）前にあるツアーのすべての後続ノードをカバーするために、次のノードを開始ノードとしてスライディングウィンドウを移動させる。それぞれのステップにおいて、１つ以上のプロセッサは、スライディングウィンドウの第１のノード（Ｎ０）とスライディングウィンドウ内のそれぞれの後続ノード（Ｎｉ）との間の周辺領域内の可能な挿入を決定する。
【０１６０】
セグメント化アプローチの場合、１つ以上のプロセッサは、最初のツアーをその構成アークのスコアに基づいてセグメント化する。言い換えると、１つ以上のプロセッサは、スコアの観点から類似する最初のツアーの分離された（ｄｉｓｊｏｉｎｔｅｄ）サブシーケンスを識別する。１つ以上のプロセッサは、例えば、ｒｕｐｔｕｒｅ  １  ｐｙｔｈｏｎ  ｌｉｂｒａｒｙからのアルゴリズムのような、セグメントを検出するための変更点（ｃｈａｎｇｅ  ｐｏｉｎｔ）アルゴリズムを使用して、上述された４つの品質カテゴリーに応じてスコアを個別化することができる。図１０は、例示的なセグメントにセグメント化されたツアーを含む例示的なグラフを含む。マーカーは、それぞれのセグメントの始まりと終了を示す一方、色は、セグメントの品質（例えば、カテゴリー）を表す。最適（例えば、第４）のカテゴリーに属するセグメントは、緑色で図示され、最悪（例えば、第１）のカテゴリーに属するセグメントは、赤色で図示される。中間カテゴリー（例えば、第２または第３）に属するセグメントは、黄色のような他の色で図示されることができる。それぞれのセグメント内において、１つ以上のプロセッサは、セグメント内のノードの（例えば、それぞれの）ペアの間の可能な挿入を決定する。
【０１６１】
１つ以上のプロセッサは、（２）下記のように最初のツアーの代替される部分に対する許容可能な代替を識別することができる。それぞれのサブセクション（セグメント）は、代替されるノードのペアを連結する元のツアーの一部分を表すノード（Ｎｓｔａｒｔ、Ｎｅｎｄ）のペアによって定義される。１つ以上のプロセッサは、可能な挿入が許容可能な代案であるか否かを決定するために可能な挿入の特性を検証する。それぞれの可能な挿入に対して、１つ以上のプロセッサは、可能な挿入を有する代案的なツアーがツアー内に任意の重複ノードを含まないように検証する。これはツアーの品質を向上させ、２つのノード間でツアーが前後で進行されることを防止する。１つ以上のプロセッサは、可能な挿入の品質カテゴリーを決定し、そのカテゴリーに基づいて、１つ以上のプロセッサは、最初のツアーに対する可能な挿入によって導入された平均スコア及び距離の変化に対する追加的な制限条件を検証することができる。可能な挿入がすべての追加的な制限条件を満たす場合に、１つ以上のプロセッサは、可能な挿入を可能な代案経路として維持する。代案経路の決定は、下記の擬似コードによって説明されることができる。
ａｌｔｅｒｎａｔｉｖｅ_ｐａｔｈｓ=[]
それぞれのノードのペア（Ｎｓｔａｒｔ、Ｎｅｎｄ）に対して：
周辺グラフのそれぞれのアーク（ａ１、ａ２）に対して：
-最短経路（Ｎｓｔａｒｔ、ａ１）及び（ａ２、Ｎｅｎｄ）を連結経路に使用してＮｓｔａｒｔとＮｅｎｄの間にアーク（ａ１、ａ２）の挿入を決定する。結果的に挿入される経路（Ｎｓｔａｒｔ、ａ１）（ａ１、ａ２）（ａ２、Ｎｅｎｄ）は、下記においてｉｎｓｅｒｔｅｄ_ｐａｔｈと称され、下記においてｒｅｐｌａｃｅｄ_ｐａｔｈと称される最初のツアー経路で（Ｎｓｔａｒｔ、Ｎｅｎｄ）を連結する経路に対する可能な代替である。
【０１６２】
-ｒｅｐｌａｃｅｄ_ｐａｔｈをｉｎｓｅｒｔｅｄ_ｐａｔｈに代替する代案的なツアーは、任意の重複ノードを含まないように検証する。任意の重複ノードがあると、挿入を拒否する。
【０１６３】
-ｉｎｓｅｒｔｅｄ_ｐａｔｈの品質のカテゴリーを決定する。例えば、前述されたように、ｉｎｓｅｒｔｅｄ_ｐａｔｈに品質カテゴリー１、２、３または４のうち１つを割り当てる。
【０１６４】
-ｉｎｓｅｒｔｅｄ_ｐａｔｈのカテゴリーに応じて、対応するｃｏｓｔ_ｔｈｒｅｓｈｏｌｄ及びｓｃｏｒｅ_ｔｈｒｅｓｈｏｌｄ（以下で説明される）を決定し、ｒｅｐｌａｃｅｄ_ｐａｔｈと比較してｉｎｓｅｒｔｅｄ_ｐａｔｈが下記の制限条件を満たすか否かを検証する：
Ｃｏｓｔ（ｉｎｓｅｒｔｅｄ_ｐａｔｈ）≦ｃｏｓｔ_ｔｈｒｅｓｈｏｌｄ*Ｃｏｓｔ（ｒｅｐｌａｃｅｄ_ｐａｔｈ）、及び
Ｓｃｏｒｅ（ｉｎｓｅｒｔｅｄ_ｐａｔｈ）/Ｃｏｓｔ（ｉｎｓｅｒｔｅｄ_ｐａｔｈ）≧ｓｃｏｒｅ_ｔｈｒｅｓｈｏｌｄ*Ｓｃｏｒｅ（ｒｅｐｌａｃｅｄ_ｐａｔｈ）/Ｃｏｓｔ（ｒｅｐｌａｃｅｄ_ｐａｔｈ）
ｉｎｓｅｒｔｅｄ_ｐａｔｈが制限条件を満たさない場合、ｉｎｓｅｒｔｅｄ_ｐａｔｈを拒否する。ｉｎｓｅｒｔｅｄ_ｐａｔｈがすべての制限条件を満たす場合、最初のツアー内のｒｅｐｌａｃｅｄ_ｐａｔｈと比較して、それがコスト及びスコアの観点から導入する変更事項に関する情報と一緒にｉｎｓｅｒｔｅｄ_ｐａｔｈをａｌｔｅｒｎａｔｉｖｅ_ｐａｔｈｓに追加する。
【０１６５】
経路のコストは、経路がカバーする距離及び経路の快適度（品質）に対するスコアに対応する。前述されたように、経路のコスト及び経路のスコアは、経路アークから計算される。ｓｃｏｒｅ_ｔｈｒｅｓｈｏｌｄ及びｃｏｓｔ_ｔｈｅｓｈｏｌｄｓに関連する例示は、下記の通りである：
【０１６６】
【表１】
2020165974.tif 000007
コスト及びスコアしきい値の例が提供されるが、他のしきい値が使用されることができる。
【０１６７】
図１１〜図１４は、都市（都心地域）内の最初のツアー（図１１）のセグメント内に代案経路（青色）が挿入されて生成されたツアー（図１２〜図１４）の例示的なグラフを含む。図１５〜図１８は、住居地域内の最初のツアー（図１５）のセグメント内に代案経路（青色）が挿入されて生成されたツアー（図１６〜図１８）の例示的なグラフを含む。図１１〜図１８の例は、５００〜１０００ｍのウィンドウサイズと１０００〜３０００ｍのカットオフ値に基づいて生成された。
【０１６８】
１つ以上のプロセッサは、快適な代案経路を挿入する。挿入のスコアが高いほど、許容可能なコストの増加及び許容可能なスコアの減少の両方すべてに対する制限条件の遵守を決定するときのしきい値がより緩和されることができる。しきい値は、それぞれの品質カテゴリーと関連し固定された、予め決定された個別の値であることができる。多様な具現において、１つ以上のプロセッサは、例えば、平均スコアをコスト及びスコアのしきい値と関連させる関数及びルックアップテーブルのうち１つを使用して、しきい値を経路の平均スコアの関数として決定することができる。多様な具現において、１つ以上のプロセッサは、また、獲得高度及び/または傾斜度のような１つ以上の他の特性を考慮することができる。
【０１６９】
使用されたウィンドウサイズまたは発見されたセグメントの長さは、代案経路との代替のために考慮されるノードのペアの数に影響を及ぼす。前述したウィンドウサイズとカットオフパラメータ（考慮された最短経路を決定するのに使用される）は、考慮された可能な挿入の総数に影響を及ぼす。コストしきい値に付加してこれらのパラメータは、代案経路がカバーできる距離を制限することができ、したがって、代案経路が最初のツアーからどれくらい逸脱することができるかを制限することができる。５００〜１０００ｍの例示的なウィンドウサイズ及び１０００〜３０００ｍの例示的なカットオフ値の例示が図示されているが、他のウィンドウサイズ及び/またはカットオフ値が使用されることができる。多様な具現において、１つ以上のプロセッサは、ツアーの周辺に基づいてウィンドウサイズ及びカットオフ値を設定することができる。例えば、１つ以上のプロセッサは、都市（都心地域）付近または内部ツアーに対してウィンドウサイズ及びカットオフ値を第１の予め決定された値（例えば、それぞれ５００ｍ及び１０００ｍ）に設定し、田園（ｒｕｒａｌ）地域付近または内部ツアーの場合は、第２の予め決定された値（例えば、それぞれ１０００ｍ及び３０００ｍ）に設定することができる。第２の予め決定された値は、それぞれ、第１の予め決定された値よりも大きい。
【０１７０】
多様な具現において、１つ以上のプロセッサは、セグメント内で考慮するノードのペアの間の最大距離を制限することができる。これは、最初のツアーからの長すぎる逸脱を避けるのを助けることができる。
【０１７１】
図１９は、前述されたように生成された例示的な最初のツアー及び代案経路（青色）を含むグラフを含む。多様な具現において、１つ以上のプロセッサは、ディスプレイ上に最も快適な代案経路及び/または最も興味深い代案経路のみを、例えば、予め決定された値よりも大きいスコアを有する代替経路または最高スコアを有するＸ個の代案経路のみを視覚的に示すことができ、ここでＸは０より大きい整数である。図１９の例示に図示されたように、１つ以上のプロセッサは、ディスプレイ上にユーザーがツアーを開始する前に、及び/またはユーザーがツアーのルートを横断する間に、柔軟な/代案経路を付いて行くことができるツアーの代案経路及び/またはセクションを表示することができる。１つ以上のプロセッサは、ユーザーがツアーから代案経路に入るときや離れるときに出力（可聴、視覚及び/またはハプティック）を生成すること、または生成しないことができる。多様な具現において（例えば、図２１、図２３、図２５及び図２７の例示のように）、１つ以上のプロセッサは、ツアーの目標の長さを調整するためのユーザー入力に応答して、ディスプレイ上に、１つ以上のプロセッサによって提供される新しいツアーと一緒に柔軟な/代案経路を付いて行くことができるツアーの代案経路及び/またはセクションを表示することができる。
【０１７２】
それぞれの許容可能な代案経路に対して、１つ以上のプロセッサは、最初のツアー内に導入されたスコア及び距離の変更に対するデータを格納する。それぞれの代案経路は、代替されたセグメントとほぼ同じであったり、初期ツアーの費用及び/または距離を増加させたり、減少させることができる。格納されたデータに基づいて、１つ以上のプロセッサは、ツアーの横断の間にユーザーデバイス（１４）を通じて（例えば、聴覚的に及び/または視覚的に）ユーザーに通知することができる。これは、ユーザーに対して可能な代案の中から動的に選択するように許容することができる。
【０１７３】
多様な具現において、１つ以上のプロセッサは、ユーザー入力に応答してしきい値を設定することができる。例えば、ユーザーは、ユーザーとしてツアーが目標距離を有することを望むのか（代案経路を犠牲にする）、または、ユーザーとしてより多くの経路（例えば、快適な経路）を探索するように許容しながら、ツアーがもっと柔軟な目標距離を有することを望むのかに対する選好度をユーザーデバイス（１４）に入力することができる。ユーザー入力に基づいて、１つ以上のプロセッサは、ユーザー選好度を最もよく達成するようにスコアしきい値及びコストしきい値を設定することができる。例えば、図１３及び図１７は、目標距離に対する厳守（ａｄｈｅｒｅｎｃｅ）及びより少ない探索柔軟性を図示する。図１２、図１４、図１６及び図１８は、目標距離に対するより緩和された厳守及びより多くの探索柔軟性を図示する。
【０１７４】
動的経路アップデート
前述されたように、１つ以上のプロセッサは、ユーザーが、生成したツアーをユーザーデバイス（１４）を持って横断する間に、１つ以上の変更が行われるように許容することができる。初期のツアーを考慮すると、そして初期のツアーの一部が完成されたと考慮すると、１つ以上のプロセッサは、ユーザーデバイス（１４）のユーザー入力に応答して、ツアーの目標距離及び/または目標期間（時間）を変更するためにツアーをアップデートすることができる。例えば、目標距離及び目標期間のうち少なくとも１つを増加させるためのユーザー入力に応答して、１つ以上のプロセッサは、ツアーの長さを増加させ、アップデートされた（長さが増加された）ツアーをユーザーデバイス（１４）上に表示するために、ユーザーデバイス（１４）に送信することができる。目標距離及び目標期間のうち少なくとも１つを減少させるためのユーザー入力に応答して、１つ以上のプロセッサは、ツアーの長さを減少させ、アップデートされた（長さが減少された）ツアーをユーザーデバイス（１４）上に表示するために、ユーザーデバイス（１４）に送信することができる。
【０１７５】
１つ以上のプロセッサは、また、ユーザーデバイス（１４）からのユーザー入力を通じて提供されたアップデートされた終了位置に基づいてツアーをアップデートすることができる。
【０１７６】
例えば、１つ以上のプロセッサは、（ａ）目標距離が初期目標距離より長い場合は、初期の残留経路を、または（ｂ）目標距離が初期目標距離より短い場合は、現在の位置と終点の間の最短経路を利用してｃｕｒｒｅｎｔ_ｐａｔｈを初期化することができる。１つ以上のプロセッサは、下記を反復することができる：
ａ.変更するＲ（ｃｕｒｒｅｎｔ_ｐａｔｈ）アークのセットを（例えば、ランダムに）選択することによって、ルートを定義し;
ｂ.ルートの連続的な（そして必ずしも隣接する必要はない）アーク（ＡＢ及びＥＦ）のそれぞれのペアの間で：
ｉ.ＢからＥまでの現在のセグメントをシーケンスＳＰ（Ｂ、Ｃ）、ＣＤ、ＳＰ（Ｄ、Ｅ）-ＳＰは最短経路（ＳＰ）である-に代替してｃｕｒｒｅｎｔ_ｐａｔｈ内に新しいアーク（ＣＤ）の可能な挿入を決定し、
ｉｉ.距離及び高度制限条件を満たし、既に訪問されたノードを含まない可能な挿入のみを維持し、
ｃ.最高のスコアを有するＫ個の可能な挿入から１つの可能な挿入を（例えば、ランダムに）挿入することによって、ｃｕｒｒｅｎｔ_ｐａｔｈをアップデートする。
【０１７７】
上記において、Ｒは、現在経路の長さと事前に計算された最短経路の最大の長さの関数である。挿入のために考慮するアークの数は、計算された最短経路の最大の長さによって制限される。Ｋ（１以上の整数）は、根本的な（ｕｎｄｅｒｌｙｉｎｇ）ローカル検索アルゴリズムの戦略を定義する。Ｋが小さいほど、アルゴリズムがよりグリーディである。例えば、Ｋが１のとき、最適の可能な挿入が（最高のスコアを有する）最適の可能な挿入になる。Ｋが大きいほど（可能な挿入のプール（ｐｏｏｌ）が大きくなるため）、検索はより探索的であることができる。
【０１７８】
ｃｕｒｒｅｎｔ_ｐａｔｈの距離（または期間）が目標距離（または期間）の予め決定された範囲内にあるとき、１つ以上のプロセッサは中止し、ｃｕｒｒｅｎｔ_ｐａｔｈ（現在のツアー）をユーザーデバイス（１４）に返還することができる。代案的に、反復または計算時間制限が達成されると、１つ以上のプロセッサは中止し、ｃｕｒｒｅｎｔ_ｐａｔｈ（現在のツアー）をユーザーデバイス（１４）に返還することができる。
【０１７９】
図２０は、すでに完成されたセクションが青色で図示され、まだ完成されていないセクションが赤色で図示された例示的な初期のツアーを含む。図２１は、ユーザー入力の受信に応答して、図２０の初期のツアーのまだ完成されていないセクションの残りに対して生成された黒色の新しい経路を含む。
【０１８０】
図２２は、すでに完成されたセクションが青色で図示され、まだ完成されていないセクションが赤色で図示された例示的な初期のツアーを含む。図２３は、ユーザー入力の受信に応答して、図２２の初期のツアーのまだ完成されていないセクションの残りに対して生成された黒色の新しい経路を含む。
【０１８１】
ユーザー入力がツアーの長さ（目標距離または期間）の減少を表す場合、１つ以上のプロセッサは、ユーザー入力（目標距離または期間）を達成するために、ツアーから最小の快適なセグメント（１つ以上の最低スコアを有する）のうち１つ以上を識別し、ツアーから除去することができる。
【０１８２】
図２４は、すでに完成されたセクションが青色（４ｋｍ）で図示され、まだ完成されていないセクションが赤色（６ｋｍ）で図示された例示的な初期のツアー（１０ｋｍ）を含む。図２５は、ツアーの長さを減少させるためのユーザー入力の受信に応答して生成された黒色の新しい経路（３ｋｍ）を含む。
【０１８３】
図２６は、すでに完成されたセクションが青色（４ｋｍ）で図示され、まだ完成されていないセクションが赤色（６ｋｍ）で図示された例示的な初期のツアー（１０ｋｍ）を含む。図２７は、ツアーの長さを減少させるためのユーザー入力の受信に応答して生成された黒色の新しい経路（３ｋｍ）を含む。
【０１８４】
多様な具現において、ユーザー入力は、目標距離をすでに完成されたツアーの距離よりも小さく減少させることや、できる限り早く開始位置に復帰する標識を含むことができる。この例示において、１つ以上のプロセッサは、開始位置に復帰する可能な最短経路を決定し、その経路をユーザーデバイス（１４）に送信する。多数の経路が最短距離を有する場合、１つ以上のプロセッサは、最高のスコアを有する最短経路をユーザーデバイス（１４）に返還することができる。
【０１８５】
図２８は、ツアーをアップデートする例示的な方法を図示したフローチャートを含む。２８０４において、１つ以上のプロセッサ（例えば、６１ａ及び６１ｃのうち少なくとも１つ）は、ユーザーデバイス（１４）に提供された現在のツアーを取得する。２８０８において、１つ以上のプロセッサは、ユーザーデバイス（１４）に提供された現在のツアーが開始されたか否かを判定する。つまり、１つ以上のプロセッサは、ユーザーデバイス（１４）が、ユーザーデバイス（１４）に提供された現在のツアーに付いて行くことを開始したか否かを判定する。
【０１８６】
２８１２において、１つ以上のプロセッサは、目標距離の変化または目標期間の変化のような現在のツアーの長さの変更に関する要請を表すユーザー入力が受信されたか否かを判定する。２８１２が偽である場合、１つ以上のプロセッサは、２８１６において現在のツアーを維持し、制御は２８１２に戻る。２８１２が真である場合、制御は２８２０に継続される。
【０１８７】
２８２０において、１つ以上のプロセッサは、前述されたように代替のための現在のツアーの一部を選択する。２８２４において、１つ以上のプロセッサは、前述されたように現在のツアーの一部の代わりに可能な挿入を識別する。２８２８において、１つ以上のプロセッサは、識別された可能な挿入から選択するが、例えば、最高のスコアを有し、（変更された）目標距離及び/または目標期間を達成するようにツアーの長さを最も近接に調整する可能な挿入を選択する。
【０１８８】
２８３２において、１つ以上のプロセッサは、選択された挿入を含むアップデートされたツアーを生成する。２８３６において、１つ以上のプロセッサは、選択された挿入を含むアップデートされたツアーをユーザーデバイス（１４）に送信する。ユーザーデバイス（１４）は、例えば、ディスプレイを通じて、アップデートされたツアーをユーザーに出力する。図２８の例示は、終了と図示されているが、制御は２８０４に戻ることができる。
【０１８９】
上記を考慮して、１つ以上のプロセッサは、ユーザーによって以前に遂行された他のウォーキングツアーに関する以前に収集されたユーザーデータ（例えば、要請するユーザーまたは他のユーザーによって遂行された以前の走行または歩行の跡）を使用せずにウォーキングツアーを生成する。これは、ユーザーの個人情報を保護し、同一または類似のウォーキングツアーが数回生成されることを防止する。また、以前に収集されたユーザーデータは、ユーザーデータの収集及び/または使用を制限する地理的領域のような一部位置では利用できないことがある。
【０１９０】
本明細書で使用される用語、「ウォーキング（ｐｅｄｅｓｔｒｉａｎ）」は、歩いたり走ったりして足で（ｏｎ  ｆｏｏｔ）旅行する人、人間動力車両（例えば、自転車、スケートボードなど）を使用して旅行する人及び非人間動力車両（例えば、電気-駆動スクーターまたはガス-駆動スクーター、オートバイ、カート、自動車など）を使用して旅行する人を含む。歩行者は、彼らが旅行する方式によって、道路、経路またはオフロード（例えば、登山路、経路など）またはこれらの組み合わせ（すべて共に、一般的に経路類型に称される）に沿って移動することができる。
【０１９１】
前述した説明は、本質的に単に例示的なものであり、本開示内容、その応用、または使用を制限しようとするものではない。本開示内容の幅広い教示は、様々な形態で具現されることができる。したがって、本開示内容は、特定の例を含むが、本開示内容の真の範囲はそれらに限定されてはならない。これは、図面、明細書及び下記請求の範囲の研究によって、他の変形が明らかになるからである。方法内の１つ以上のステップは、本開示内容の原則を変更せずに異なる順序で（または同時に）実行されることができることを理解すべきである。また、それぞれの実施例は、所定の特徴を有するものとして前述されたが、本開示内容の任意の実施例に関連して説明されたこれらの特徴のうち任意の１つ以上は、たとえその組み合わせが明示的に説明されてはいないが、任意の他の実施例の特徴として具現されることができ、また、それらと組み合わせられることができる。言い換えると、説明された実施例は、相互排他的ではなく、１つ以上の実施例の互いの置換は、本開示内容の範囲内にある。
【０１９２】
要素（例えば、モジュール、回路素子、半導体層など）の間の空間及び機能的関係は、「連結された」、「連携された」、「結合された」、「隣接した」、「近接した」、「上部に」、「上に」、「下に」及び「配置された」を含む多様な用語を使用して説明される。第１及び第２の要素の間の関係が上記開示内容において説明されるとき、「直接的な」ものとして明示的に言及されない限り、その関係は、他の中間要素が第１及び第２の要素の間に存在しない直接的な関係であることができるが、また、１つ以上の介在要素が第１の要素と第２の要素の間に（空間的にまたは機能的に）存在する間接的な関係であることもできる。本願において使用されたように、語句Ａ、Ｂ及びＣのうち少なくとも１つは、非排他的論理ＯＲを使用して論理（Ａ  ＯＲ  Ｂ  ＯＲ  Ｃ）を意味するものと解釈されるべきであり、「Ａのうち少なくとも１つ、Ｂのうち少なくとも１つ及びＣのうち少なくとも１つ」を意味するものと解釈されてはならない。
【０１９３】
図面において、矢印で表した矢印の方向は、一般的に例示において関連性のある（ｏｆ  ｉｎｔｅｒｅｓｔ）情報（例えば、データまたは命令）の流れを示す。例えば、要素Ａと要素Ｂが様々な情報を交換するが、要素Ａから要素Ｂに送信される情報が例示と関連がある場合には、矢印は、要素Ａから要素Ｂに向かって指すことができる。これらの一方向の矢印は、他の情報は一切要素Ｂから要素Ａに送信されないと暗示するものではない。また、要素Ａから要素Ｂに送信された情報に対して、要素Ｂは情報の要請または受信応答確認を要素Ａに送信することができる。
【０１９４】
下の定義を含め、本出願において、用語「モジュール」または用語「コントローラ」は、用語「回路」に代替されることができる。用語「モジュール」は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）;デジタル、アナログまたは混合アナログ/デジタル離散回路;デジタル、アナログ、または混合アナログ/デジタル集積回路;組み合わせ論理回路;ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）;コードを実行するプロセッサ回路（共有、専用またはグループ）;プロセッサ回路によって実行されるコードを格納するメモリ回路（共有、専用またはグループ）;説明された機能を提供する他の適切なハードウェアコンポーネント;またはシステム-オン-チップのように上記の一部または全部の組み合わせを称したり、その一部であったり、またはそれを含むことができる。
【０１９５】
モジュールは、１つ以上のインターフェース回路を含むことができる。一部の例示において、インターフェース回路は、近距離通信網（ＬＡＮ）、インターネット、広域通信網（ＷＡＮ）、またはこれらの組み合わせに連結された有線または無線インターフェースを含むことができる。本開示内容の任意の与えられたモジュールの機能は、インターフェース回路を通じて連結された多数のモジュールに分散されることができる。例えば、多数のモジュールが負荷分散（ｌｏａｄ  ｂａｌａｎｃｉｎｇ）を許容することができる。他の例示において、サーバー（遠隔またはクラウドとも知られている）モジュールは、クライアントモジュールの代わりに一部の機能を達成することができる。
【０１９６】
上記において使用された用語、コードは、ソフトウェア、ファームウェア、及び/またはマイクロコードを含むことができ、プログラム、ルーチン、機能、クラス、データ構造及び/またはオブジェクトを称することができる。用語、共有プロセッサ回路は、多数のモジュールから一部またはすべてのコードを実行する単一プロセッサ回路を含む。用語、グループプロセッサ回路は、追加プロセッサ回路と結合し、１つ以上のモジュールから一部またはすべてのコードを実行するプロセッサ回路を含む。多重プロセッサ回路に対する言及は、個別ダイ上の多重プロセッサ回路、単一ダイ上の多重プロセッサ回路、単一プロセッサ回路の多重コア、単一プロセッサ回路の多重スレッドまたはこれらの組み合わせを含む。用語、共有メモリ回路は、多数のモジュールの一部またはすべてのコードを格納する単一メモリ回路を含む。用語、グループメモリ回路は、追加メモリと結合し、１つ以上のモジュールからの一部またはすべてのコードを格納するメモリ回路を含む。
【０１９７】
用語、メモリ回路は、用語、コンピュータで読み取り可能な媒体のサブセットである。本明細書において使用される用語、コンピュータで読み取り可能な媒体は、（例えば、搬送波上で）媒体を通じて伝播される一時的な電気または電磁気信号を含まず;したがって用語、コンピュータ読み取り可能な媒体は、類型（ｔａｎｇｉｂｌｅ）であって、非一時的なものとみなされることができる。非一時的、類型のコンピュータで読み取り可能な媒体の非限定的例は、不揮発性メモリ回路（例えば、フラッシュメモリ回路、消去可能プログラム可能読み取り専用メモリ回路またはマスク読み出し専用メモリ回路）、揮発性メモリ回路（例えば、静的ランダムアクセスメモリ回路または動的ランダムアクセスメモリ回路）、磁気格納媒体（例えば、アナログまたはデジタル磁気テープまたはハードディスクドライブ）、光学格納媒体（例えば、ＣＤ、ＤＶＤまたはＢｌｕ-ｒａｙディスク）である。
【０１９８】
本出願において説明されたデバイス及び方法は、コンピュータプログラムで具現された１つ以上の特定の機能を実行するように汎用コンピュータを構成することによって生成された、特殊目的コンピュータによって部分的にまたは完全に具現されることができる。前述した機能ブロック、フローチャートコンポーネント及びその他の要素は、熟練した技術者またはプログラマーの日常的な作業によってコンピュータプログラムに変換されることができるソフトウェアの仕様としての役割を有する。
【０１９９】
コンピュータプログラムは、少なくとも１つの非一時的、類型のコンピュータで読み取り可能な媒体に格納されたプロセッサ実行可能命令を含む。コンピュータプログラムはまた、格納されたデータを含むことができ、また、それに依存することができる。コンピュータプログラムは、特殊目的コンピュータのハードウェアと相互作用する基本入力/出力システム（ＢＩＯＳ）、特殊目的コンピュータの特定デバイスと相互作用するデバイスドライバ、１つ以上のオペレーティングシステム、ユーザーアプリケーション、バックグラウンドサービス、バックグラウンドアプリケーションなどを含むことができる。
【０２００】
コンピュータプログラムは、以下を含むことができる：（ｉ）ハイパーテキストマークアップランゲージ（ＨＴＭＬ）、エクステンシブルマークアップランゲージ（ＸＭＬ）またはＪａｖａＳｃｒｉｐｔオブジェクト表記法（ＪＳＯＮ）のようなパーシングされる（ｐａｒｓｅｄ）説明テキスト、（ｉｉ）アセンブリコード、（ｉｉｉ）コンパイラによってソースコードから生成されたオブジェクトコード、（ｉｖ）インタプリタによる実行のためのソースコード、（ｖ）ＪＩＴ（ｊｕｓｔ-ｉｎ-ｔｉｍｅ）コンパイラによるコンパイリング及び実行のためのソースコードなど。例えば、ソースコードは、Ｃ、Ｃ++、Ｃ＃、Ｏｂｊｅｃｔｉｖｅ-Ｃ、Ｓｗｉｆｔ、Ｈａｓｋｅｌｌ、Ｇｏ、ＳＱＬ、Ｒ、Ｌｉｓｐ、Ｊａｖａ（登録商標）、Ｆｏｒｔｒａｎ、Ｐｅｒｌ、Ｐａｓｃａｌ、Ｃｕｒｌ、ＯＣａｍｌ、Ｊａｖａｓｃｒｉｐｔ（登録商標）、ＨＴＭＬ５（ハイパーテキストマークアップランゲージ５次改正）、Ａｄａ、ＡＳＰ（Ａｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ）、ＰＨＰ（ＰＨＰ：Ｈｙｐｅｒｔｅｘｔ  Ｐｒｅｐｒｏｃｅｓｓｏｒ）、Ｓｃａｌａ、Ｅｉｆｆｅｌ、Ｓｍａｌｌｔａｌｋ、Ｅｒｌａｎｇ、Ｒｕｂｙ、Ｆｌａｓｈ（登録商標）、Ｖｉｓｕａｌ  Ｂａｓｉｃ（登録商標）、Ｌｕａ、ＭＡＴＬＡＢ、ＳＩＭＵＬＩＮＫ及びＰｙｔｈｏｎ（登録商標）を含む言語の構文を使用して作成されることができる。
【符号の説明】
【０２０１】
１０  ツアー生成システム
１４  ユーザーデバイス
１６  ネットワーク
２０  データソース
【図１ａ】
2020165974.tif 000008
【図１ｂ】
2020165974.tif 000009
【図２】
2020165974.tif 000010
【図３】
2020165974.tif 000011
【図４】
2020165974.tif 000012
【図５】
2020165974.tif 000013
【図６】
2020165974.tif 000014
【図７】
2020165974.tif 000015
【図８】
2020165974.tif 000016
【図９】
2020165974.tif 000017
【図１０】
2020165974.tif 000018
【図１１】
2020165974.tif 000019
【図１２】
2020165974.tif 000020
【図１３】
2020165974.tif 000021
【図１４】
2020165974.tif 000022
【図１５】
2020165974.tif 000023
【図１６】
2020165974.tif 000024
【図１７】
2020165974.tif 000025
【図１８】
2020165974.tif 000026
【図１９】
2020165974.tif 000027
【図２０】
2020165974.tif 000028
【図２１】
2020165974.tif 000029
【図２２】
2020165974.tif 000030
【図２３】
2020165974.tif 000031
【図２４】
2020165974.tif 000032
【図２５】
2020165974.tif 000033
【図２６】
2020165974.tif 000034
【図２７】
2020165974.tif 000035
【図２８】
2020165974.tif 000036
【外国語明細書】
2020165974000001.pdf