(57)【要約】  オンラインオンデマンドサービスを最適化するためのシステムおよび方法が、提供される。方法は、複数の履歴的発注に対応する複数の履歴的ドライバーに関連するドライバー情報を取得するステップと、時間の所定の期間中の各履歴的ドライバーに関して、意思決定プロセスによって発注情報およびドライバー情報に基づいて複数のレコードを決定するステップであって、各レコードが、ドライバーの空間-時間ステータス、ドライバーの行為、ドライバーの収入、およびドライバーのその後の空間-時間ステータスを含む、ステップと、強化学習アルゴリズムによって各履歴的ドライバーの複数のレコードに基づいて価値関数を決定するステップとを含む可能性がある。
2020532787.tif 000002
【特許請求の範囲】
【請求項１】
オンラインオンデマンドサービスを最適化するように構成されたシステムであって、
オンラインオンデマンドサービスにおいて価値関数を決定するための1組の命令を含む少なくとも1つのストレージ媒体と、
前記ストレージ媒体と通信する少なくとも1つのプロセッサであって、前記1組の命令を実行するときに、
複数の履歴的発注に関連する発注情報を取得すること、
前記複数の履歴的発注に対応する複数の履歴的ドライバーに関連するドライバー情報を取得すること、
時間の所定の期間中の各履歴的ドライバーに関して、意思決定プロセスモデルによって前記発注情報および前記ドライバー情報に基づいて複数のレコードを決定することであって、各レコードが、ドライバーの空間-時間ステータス、ドライバーの行為、ドライバーの収入、およびドライバーのその後の空間-時間ステータスを含む、決定すること、ならびに
強化学習アルゴリズムによって各履歴的ドライバーの前記複数のレコードに基づいて価値関数を決定することを行うように指示される、少なくとも1つのプロセッサとを含む、システム。
【請求項２】
前記意思決定プロセスモデルが、マルコフ決定過程(MDP)モデルである請求項1に記載のシステム。
【請求項３】
前記強化学習アルゴリズムが、時間的差分学習アルゴリズムまたは動的計画法アルゴリズムである請求項1に記載のシステム。
【請求項４】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定するために、前記少なくとも1つのプロセッサが、
履歴的発注にそれぞれが対応する1つまたは複数の発注レコードを決定し、
いかなる履歴的発注にも関連しないアイドル時間の期間にそれぞれが対応する1つまたは複数の空き時間レコードを決定するようにさらに指示される請求項1に記載のシステム。
【請求項５】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定するために、前記少なくとも1つのプロセッサが、
履歴的発注にそれぞれが対応する1つまたは複数の発注レコードを決定し、
前記ドライバー情報に基づいて時間の前記所定の期間内の前記履歴的ドライバーのオンラインの時点およびオフラインの時点を取得し、
前記オンラインの時点と最初の履歴的発注を受け付ける時点との間のアイドル時間の期間に対応する空き時間レコードのうちの少なくとも1つを決定し、
最後の履歴的発注を終える時点と前記オフラインの時点との間のアイドル時間の期間に対応する空き時間レコードのうちの少なくとも別の1つを決定するようにさらに指示される請求項1に記載のシステム。
【請求項６】
前記複数のレコードが、少なくとも1つの発注レコードおよび少なくとも1つの空き時間レコードを含み、
発注レコードが、履歴的発注に対応し、
前記履歴的発注を受け付けたときの前記履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、
前記履歴的発注を受け付けることを含むドライバーの行為、
前記履歴的発注の価格を含むドライバーの収入、または
前記履歴的発注を終えたときの前記履歴的ドライバーの時間および位置を含むドライバーのその後の空間-時間ステータスのうちの少なくとも1つを含み、
空き時間レコードが、いかなる履歴的発注にも関連しないアイドル時間の期間に対応し、
アイドル時間の前記期間中の前記履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、
アイドル時間の前記期間中仕事をせずにいることを含むドライバーの行為、
ゼロを含むドライバーの収入、または
アイドル時間の前記期間の終わりの前記履歴的ドライバーのその後の時間およびその後の位置を含むドライバーのその後の空間-時間ステータスのうちの少なくとも1つを含み、
アイドル時間の前記期間が、前記アイドル時間内の所定の継続時間である請求項1に記載のシステム。
【請求項７】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定するために、前記少なくとも1つのプロセッサが、
前記発注情報に基づいてその後の発注の発注タイプを特定し、
前記その後の発注が予約の発注であると特定することに応じて、前記予約の発注の開始時点から予め設定された緩衝時間の前の基準時点を決定し、
前記履歴的発注を終わらせる時点と前記基準時点との間のアイドル時間の期間に対応する少なくとも1つの空き時間レコードを決定するようにさらに指示される請求項6に記載のシステム。
【請求項８】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定するために、前記少なくとも1つのプロセッサが、
前記履歴的ドライバーのサービスタイプを特定し、
前記発注情報に基づいてその後の発注の発注タイプを特定し、
前記その後の発注が前記履歴的ドライバーに関するアップグレードの発注であると特定することに応じて、前記履歴的ドライバーが同じサービスタイプに関連する通常の発注を受け取るための開始時点を特定し、
前記履歴的発注を終わらせることと前記開始時点との間のアイドル時間の期間に対応する少なくとも1つの空き時間レコードを決定するようにさらに指示される請求項6に記載のシステム。
【請求項９】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定するために、前記少なくとも1つのプロセッサが、
前記履歴的発注に対応する前記発注レコードを決定するようにさらに指示され、前記履歴的発注が、同じ経路IDを有する複数の相乗りの発注を組み合わせる包括的な相乗りの発注であり、
前記履歴的ドライバーの前記時間および前記位置が、それぞれ、前記包括的な相乗りの発注を最初に受け付けたときの前記履歴的ドライバーの時間および位置であり、
前記履歴的発注の前記価格が、前記相乗りの発注の価格の合計である請求項6に記載のシステム。
【請求項１０】
前記1組の命令を実行するとき、前記少なくとも1つのプロセッサが、
前記価値関数に基づいて入来する発注へのドライバーの割り当てを最適化するようにさらに指示される請求項1に記載のシステム。
【請求項１１】
少なくとも1つのプロセッサ、少なくとも1つのストレージ媒体、およびネットワークに接続された通信プラットフォームを有するコンピューティングデバイス上で実施されるオンラインオンデマンドサービスを最適化するための方法であって、
前記複数の履歴的発注に対応する複数の履歴的ドライバーに関連するドライバー情報を取得するステップと、
時間の所定の期間中の各履歴的ドライバーに関して、意思決定プロセスモデルによって前記発注情報および前記ドライバー情報に基づいて複数のレコードを決定するステップであって、各レコードが、ドライバーの空間-時間ステータス、ドライバーの行為、ドライバーの収入、およびドライバーのその後の空間-時間ステータスを含む、ステップと、
強化学習アルゴリズムによって各履歴的ドライバーの前記複数のレコードに基づいて価値関数を決定するステップとを含む、方法。
【請求項１２】
前記意思決定プロセスモデルが、マルコフ決定過程(MDP)モデルである請求項11に記載の方法。
【請求項１３】
前記強化学習アルゴリズムが、時間的差分学習アルゴリズムまたは動的計画法アルゴリズムである請求項11に記載の方法。
【請求項１４】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定する前記ステップが、
履歴的発注にそれぞれが対応する1つまたは複数の発注レコードを決定することと、
いかなる履歴的発注にも関連しないアイドル時間の期間にそれぞれが対応する1つまたは複数の空き時間レコードを決定することとを含む請求項11に記載の方法。
【請求項１５】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定する前記ステップが、
履歴的発注にそれぞれが対応する1つまたは複数の発注レコードを決定することと、
前記ドライバー情報に基づいて時間の前記所定の期間内の前記履歴的ドライバーのオンラインの時点およびオフラインの時点を取得することと、
前記オンラインの時点と最初の履歴的発注を受け付ける時点との間のアイドル時間の期間に対応する空き時間レコードのうちの少なくとも1つを決定することと、
最後の履歴的発注を終える時点と前記オフラインの時点との間のアイドル時間の期間に対応する空き時間レコードのうちの少なくとも別の1つを決定することとを含む請求項11に記載の方法。
【請求項１６】
前記複数のレコードが、少なくとも1つの発注レコードおよび少なくとも1つの空き時間レコードを含み、
発注レコードが、履歴的発注に対応し、
前記履歴的発注を受け付けたときの前記履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、
前記履歴的発注を受け付けることを含むドライバーの行為、
前記履歴的発注の価格を含むドライバーの収入、ならびに
前記履歴的発注を終えたときの前記履歴的ドライバーの時間および位置を含むドライバーのその後の空間-時間ステータスのうちの少なくとも1つを含み、または
空き時間レコードが、いかなる履歴的発注にも関連しないアイドル時間の期間に対応し、
アイドル時間の前記期間中の前記履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、
アイドル時間の前記期間中仕事をせずにいることを含むドライバーの行為、
ゼロを含むドライバーの収入、もしくは
アイドル時間の前記期間の終わりの前記履歴的ドライバーのその後の時間およびその後の位置を含むドライバーのその後の空間-時間ステータスのうちの少なくとも1つを含み、
アイドル時間の前記期間が、前記アイドル時間内の所定の継続時間である請求項11に記載の方法。
【請求項１７】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定する前記ステップが、
前記発注情報に基づいてその後の発注の発注タイプを特定することと、
前記その後の発注が予約の発注であると特定することに応じて、前記予約の発注の開始時点から予め設定された緩衝時間の前の基準時点を決定することと、
前記履歴的発注を終わらせる時点と前記基準時点との間のアイドル時間の期間に対応する少なくとも1つの空き時間レコードを決定するようこととを含む請求項16に記載の方法。
【請求項１８】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定する前記ステップが、
前記履歴的ドライバーのサービスタイプを特定することと、
前記発注情報に基づいてその後の発注の発注タイプを特定することと、
前記その後の発注が前記履歴的ドライバーに関するアップグレードの発注であると特定することに応じて、前記履歴的ドライバーが同じサービスタイプに関連する通常の発注を受け取るための開始時点を特定することと、
前記履歴的発注を終わらせることと前記開始時点との間のアイドル時間の期間に対応する少なくとも1つの空き時間レコードを決定することとを含む請求項16に記載の方法。
【請求項１９】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定する前記ステップが、
前記履歴的発注に対応する前記発注レコードを決定することを含み、
前記履歴的発注が、同じ経路IDを有する複数の相乗りの発注を組み合わせる包括的な相乗りの発注であり、
前記履歴的ドライバーの前記時間および前記位置が、それぞれ、前記包括的な相乗りの発注を最初に受け付けたときの前記履歴的ドライバーの時間および位置であり、
前記履歴的発注の前記価格が、前記相乗りの発注の価格の合計である請求項16に記載の方法。
【請求項２０】
オンラインオンデマンドサービスを最適化するための少なくとも1組の命令を含む非一時的コンピュータ可読媒体であって、前記1組の命令を実行するとき、前記少なくとも1組の命令が、前記少なくとも1つのプロセッサに、
複数の履歴的発注に関連する発注情報を取得すること、
前記複数の履歴的発注に対応する複数の履歴的ドライバーに関連するドライバー情報を取得すること、
時間の所定の期間中の各履歴的ドライバーに関して、意思決定プロセスモデルによって前記発注情報および前記ドライバー情報に基づいて複数のレコードを決定することであって、各レコードが、ドライバーの空間-時間ステータス、ドライバーの行為、ドライバーの収入、およびドライバーのその後の空間-時間ステータスを含む、決定すること、ならびに
強化学習アルゴリズムによって各履歴的ドライバーの前記複数のレコードに基づいて価値関数を決定することを行うように指示する、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、オンラインオンデマンドサービスを最適化するためのシステムおよび方法に関し、特に、オンラインオンデマンドサービスにおいて入来する発注(order)へのドライバーの割り当てを最適化するためのシステムおよび方法に関する。
【背景技術】
【０００２】
オンデマンド輸送サービス、特に、オンライン配車依頼(car hailing)サービスが、ますます広まってきた。サービス要求者(たとえば、乗客)がオンライン配車要求サービスプラットフォームにサービス要求を送信するとき、プラットフォームは、割り当てをより効率的で収益が上がるようにすることを意図する人為的な規則に従ってサービス要求者のためにサービスプロバイダ(たとえば、ドライバー)を割り当てる可能性がある。しかし、サービス要求者にサービスプロバイダを割り当てるための既存のテクノロジーの問題は、人為的な規則がサービスの発展への適合においてそれらの規則の制限を有し、またときには、異なる業務シナリオ(たとえば、ドライバーのオンラインおよびオフラインの振る舞い、相乗りの発注、予約の発注、アップグレードの発注など)において正確性を欠くことである。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
したがって、オンラインオンデマンドサービスを最適化するために入来する発注へのドライバーの割り当てを最適化するためのシステムおよび方法を提供することが、望ましい。
【課題を解決するための手段】
【０００４】
本開示の態様によれば、システムが、オンラインオンデマンドサービスにおいて発注を割り当てるための1組の命令を含む少なくとも1つのストレージ媒体と、ストレージ媒体と通信する少なくとも1つのプロセッサとを含む可能性があり、1組の命令を実行するときに、少なくとも1つのプロセッサは、複数の履歴的発注(historical order)に関連する発注情報を取得すること、複数の履歴的発注に対応する複数の履歴的ドライバー(historical driver)に関連するドライバー情報を取得すること、時間の所定の期間中の各履歴的ドライバーに関して、意思決定プロセスモデルによって発注情報およびドライバー情報に基づいて複数のレコードを決定すること、ならびに強化学習アルゴリズムによって各履歴的ドライバーの複数のレコードに基づいて価値関数を決定することを行うように指示される可能性がある。一部の実施形態において、意思決定プロセスモデルは、マルコフ決定過程(MDP)モデルである。一部の実施形態において、各レコードは、ドライバーの空間-時間ステータス、ドライバーの行為、ドライバーの収入、およびドライバーのその後の空間-時間ステータスを含む。
【０００５】
一部の実施形態において、強化学習アルゴリズムは、時間的差分(temporal-difference)学習アルゴリズムである。
【０００６】
一部の実施形態において、強化学習アルゴリズムは、動的計画法(dynamic programming)アルゴリズムである。
【０００７】
一部の実施形態において、時間の所定の期間中の各履歴的ドライバーに関して、複数のレコードを決定するために、少なくとも1つのプロセッサが、履歴的発注にそれぞれが対応する1つまたは複数の発注レコードを決定し、いかなる履歴的発注にも関連しないアイドル時間(idle time)の期間にそれぞれが対応する1つまたは複数の空き時間レコードを決定するようにさらに指示される可能性がある。
【０００８】
一部の実施形態において、時間の所定の期間中の各履歴的ドライバーに関して、複数のレコードを決定するために、少なくとも1つのプロセッサが、履歴的発注にそれぞれが対応する1つまたは複数の発注レコードを決定し、ドライバー情報に基づいて時間の所定の期間内の履歴的ドライバーのオンラインの時点およびオフラインの時点を取得し、オンラインの時点と最初の履歴的発注を受け付ける時点との間のアイドル時間の期間に対応する空き時間レコードのうちの少なくとも1つを決定し、最後の履歴的発注を終える時点とオフラインの時点との間のアイドル時間の期間に対応する空き時間レコードのうちの少なくとも別の1つを決定するようにさらに指示される。
【０００９】
一部の実施形態において、複数のレコードは、少なくとも1つの発注レコードおよび少なくとも1つの空き時間レコードを含む可能性があり、発注レコードは、履歴的発注に対応し、履歴的発注を受け付けたときの履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、履歴的発注を受け付けることを含むドライバーの行為、履歴的発注の価格を含むドライバーの収入、ならびに履歴的発注を終えたときの履歴的ドライバーの時間および位置を含むドライバーのその後の空間-時間ステータスのうちの少なくとも1つを含み、または空き時間レコードは、いかなる履歴的発注にも関連しないアイドル時間の期間に対応し、アイドル時間の期間中の履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、アイドル時間の期間中仕事をせずにいることを含むドライバーの行為、ゼロを含むドライバーの収入、もしくはアイドル時間の期間の終わりの履歴的ドライバーのその後の時間およびその後の位置を含むドライバーのその後の空間-時間ステータスのうちの少なくとも1つを含む。一部の実施形態において、アイドル時間の期間は、アイドル時間内の所定の継続時間である。
【００１０】
一部の実施形態において、時間の所定の期間中の各履歴的ドライバーに関して、複数のレコードを決定するために、少なくとも1つのプロセッサが、発注情報に基づいてその後の発注の発注タイプを特定し、その後の発注が予約の発注であると特定することに応じて、予約の発注の開始時点から予め設定された緩衝時間(buffer time)の前の基準時点を決定し、履歴的発注を終わらせる時点と基準時点との間のアイドル時間の期間に対応する少なくとも1つの空き時間レコードを決定するようにさらに指示される。
【００１１】
一部の実施形態において、時間の所定の期間中の各履歴的ドライバーに関して、複数のレコードを決定するために、少なくとも1つのプロセッサが、履歴的ドライバーのサービスタイプを特定し、発注情報に基づいてその後の発注の発注タイプを特定し、その後の発注が履歴的ドライバーに関するアップグレードの発注であると特定することに応じて、履歴的ドライバーが同じサービスタイプに関連する通常の発注を受け取るための開始時点を特定し、履歴的発注を終わらせることと開始時点との間のアイドル時間の期間に対応する少なくとも1つの空き時間レコードを決定するようにさらに指示される。
【００１２】
一部の実施形態において、時間の所定の期間中の各履歴的ドライバーに関して、複数のレコードを決定するために、少なくとも1つのプロセッサが、履歴的発注に対応する発注レコードをさらに対象とし、履歴的発注は、同じ経路IDを有する複数の相乗りの発注を組み合わせる包括的な相乗りの発注であり、履歴的ドライバーの時間および位置は、それぞれ、包括的な相乗りの発注を最初に受け付けたときの履歴的ドライバーの時間および位置であり、履歴的発注の価格は、相乗りの発注の価格の合計である。
【００１３】
一部の実施形態において、1組の命令を実行するとき、少なくとも1つのプロセッサが、価値関数に基づいて入来する発注へのドライバーの割り当てを最適化するようにさらに指示される。
【００１４】
本開示の別の態様によれば、オンラインオンデマンドサービスにおいて発注を割り当てるための方法が、少なくとも1つのプロセッサ、少なくとも1つのストレージ媒体、およびネットワークに接続された通信プラットフォームを有するコンピューティングデバイス上で実施される可能性がある。方法は、1つまたは複数の以下の動作、すなわち、複数の履歴的発注に対応する複数の履歴的ドライバーに関連するドライバー情報を取得する動作と、時間の所定の期間中の各履歴的ドライバーに関して、意思決定プロセスモデルによって発注情報およびドライバー情報に基づいて複数のレコードを決定する動作と、強化学習アルゴリズムによって各履歴的ドライバーの複数のレコードに基づいて価値関数を決定する動作とを含む可能性がある。一部の実施形態において、意思決定プロセスモデルは、マルコフ決定過程(MDP)モデルである。一部の実施形態において、各レコードは、ドライバーの空間-時間ステータス、ドライバーの行為、ドライバーの収入、およびドライバーのその後の空間-時間ステータスを含む。
【００１５】
一部の実施形態において、強化学習アルゴリズムは、時間的差分学習アルゴリズムである。
【００１６】
一部の実施形態において、強化学習アルゴリズムは、動的計画法アルゴリズムである。
【００１７】
一部の実施形態において、時間の所定の期間中の各履歴的ドライバーに関して、複数のレコードを決定する動作は、1つまたは複数の以下の動作、すなわち、履歴的発注にそれぞれが対応する1つまたは複数の発注レコードを決定する動作と、いかなる履歴的発注にも関連しないアイドル時間の期間にそれぞれが対応する1つまたは複数の空き時間レコードを決定する動作とを含む可能性がある。
【００１８】
一部の実施形態において、時間の所定の期間中の各履歴的ドライバーに関して、複数のレコードを決定する動作は、1つまたは複数の以下の動作、すなわち、履歴的発注にそれぞれが対応する1つまたは複数の発注レコードを決定する動作と、ドライバー情報に基づいて時間の所定の期間内の履歴的ドライバーのオンラインの時点およびオフラインの時点を取得する動作と、オンラインの時点と最初の履歴的発注を受け付ける時点との間のアイドル時間の期間に対応する空き時間レコードのうちの少なくとも1つを決定する動作と、最後の履歴的発注を終える時点とオフラインの時点との間のアイドル時間の期間に対応する空き時間レコードのうちの少なくとも別の1つを決定する動作とを含む可能性がある。
【００１９】
一部の実施形態において、複数のレコードは、少なくとも1つの発注レコードおよび少なくとも1つの空き時間レコードを含み、発注レコードは、履歴的発注に対応し、履歴的発注を受け付けたときの履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、履歴的発注を受け付けることおよび履歴的発注のためにサービスを提供すること(運転すること)を含むドライバーの行為、履歴的発注の価格を含むドライバーの収入、または履歴的発注を終えたときの履歴的ドライバーの時間および位置を含むドライバーのその後の空間-時間ステータスのうちの少なくとも1つを含む可能性があり、空き時間レコードは、いかなる履歴的発注にも関連しないアイドル時間の期間に対応し、アイドル時間の期間中の履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、アイドル時間の期間中仕事をせずにいることを含むドライバーの行為、ゼロを含むドライバーの収入、またはアイドル時間の期間の終わりの履歴的ドライバーのその後の時間およびその後の位置を含むドライバーのその後の空間-時間ステータスのうちの少なくとも1つを含む可能性がある。一部の実施形態において、アイドル時間の期間は、アイドル時間内の所定の継続時間である。
【００２０】
一部の実施形態において、時間の所定の期間中の各履歴的ドライバーに関して、複数のレコードを決定する動作は、1つまたは複数の以下の動作、すなわち、発注情報に基づいてその後の発注の発注タイプを特定する動作と、その後の発注が予約の発注であると特定することに応じて、予約の発注の開始時点から予め設定された緩衝時間の前の基準時点を決定する動作と、履歴的発注を終わらせる時点と基準時点との間のアイドル時間の期間に対応する少なくとも1つの空き時間レコードを決定する動作とを含む可能性がある。
【００２１】
一部の実施形態において、時間の所定の期間中の各履歴的ドライバーに関して、複数のレコードを決定する動作は、1つまたは複数の以下の動作、すなわち、履歴的ドライバーのサービスタイプを特定する動作と、発注情報に基づいてその後の発注の発注タイプを特定する動作と、その後の発注が履歴的ドライバーに関するアップグレードの発注であると特定することに応じて、履歴的ドライバーが同じサービスタイプに関連する通常の発注を受け取るための開始時点を特定する動作と、履歴的発注を終わらせることと開始時点との間のアイドル時間の期間に対応する少なくとも1つの空き時間レコードを決定する動作とを含む可能性がある。
【００２２】
一部の実施形態において、時間の所定の期間中の各履歴的ドライバーに関して、複数のレコードを決定する動作は、1つまたは複数の以下の動作、すなわち、履歴的発注に対応する発注レコードを決定する動作を含む可能性があり、履歴的発注は、同じ経路IDを有する複数の相乗りの発注を組み合わせる包括的な相乗りの発注であり、履歴的ドライバーの時間および位置は、それぞれ、包括的な相乗りの発注を最初に受け付けたときの履歴的ドライバーの時間および位置であり、履歴的発注の価格は、相乗りの発注の価格の合計である。
【００２３】
本開示のさらに別の態様によれば、非一時的コンピュータ可読媒体が、オンラインオンデマンドサービスにおいて発注を割り当てるための少なくとも1組の命令を含み、コンピュータデバイスの少なくとも1つのプロセッサによって実行されるとき、少なくとも1組の命令は、少なくとも1つのプロセッサに、複数の履歴的発注に関連する発注情報を取得すること、複数の履歴的発注に対応する複数の履歴的ドライバーに関連するドライバー情報を取得すること、時間の所定の期間中の各履歴的ドライバーに関して、意思決定プロセス(たとえば、MDP)モデルによって発注情報およびドライバー情報に基づいて複数のレコードを決定することであって、各レコードが、ドライバーの空間-時間ステータス、ドライバーの行為、ドライバーの収入、およびドライバーのその後の空間-時間ステータスを含む、決定すること、ならびに強化学習アルゴリズムによって各履歴的ドライバーの複数のレコードに基づいて価値関数を決定することを行うように指示する。
【００２４】
本開示が、例示的な実施形態に関してさらに説明される。本開示の実施形態の上述のおよびその他の態様は、添付の図と合わせて読まれるときに下の詳細な説明においてより明らかにされる。
【図面の簡単な説明】
【００２５】
【図１】本開示の一部の実施形態によるオンラインオンデマンドサービスを最適化するための例示的なシステムのブロック図である。
【図２】本開示の一部の実施形態によるコンピューティングデバイスの例示的なハードウェアおよび/またはソフトウェア構成要素を示す概略図である。
【図３】本開示の一部の実施形態によるモバイルデバイスの例示的なハードウェアおよび/またはソフトウェア構成要素を示す概略図である。
【図４】本開示の一部の実施形態による例示的な処理エンジンを示すブロック図である。
【図５】本開示の一部の実施形態によるオンラインオンデマンドサービスを最適化するための例示的なプロセスおよび/または方法を示す流れ図である。
【図６−Ａ】本開示の一部の実施形態による例示的なステータスを示す概略図である。
【図６−Ｂ】本開示の一部の実施形態による例示的なステータスを示す概略図である。
【図７】本開示の一部の実施形態による動的計画法アルゴリズムの例示的なプロセスを示す概略図である。
【図８】本開示の一部の実施形態による複数のレコードを取得するための例示的なプロセスおよび/または方法を示す流れ図である。
【図９】本開示の一部の実施形態による複数のレコードを決定するための例示的なプロセスおよび/または方法を示す流れ図である。
【図１０】本開示の一部の実施形態による複数のレコードを決定するための例示的なプロセスおよび/または方法を示す流れ図である。
【図１１】本開示の一部の実施形態による複数のレコードを決定するための例示的なプロセスおよび/または方法を示す流れ図である。
【発明を実施するための形態】
【００２６】
以下の説明は、当業者が本開示を作製し、使用することを可能にするために提示され、特定の用途およびその要件の文脈で提供される。開示される実施形態に対する種々の修正が当業者には容易に明らかとなり、本明細書において定義される一般的な原理は、本開示の精神または範囲を逸脱することなくその他の実施形態および用途に適用される可能性がある。したがって、本開示は、示される実施形態に限定されず、請求項に合致する最も広い範囲を与えられるべきである。
【００２７】
本明細書において使用される用語は、特定の例示的な実施形態を説明することのみを目的としており、限定的であるように意図されていない。本明細書において使用されるとき、単数形「a」、「an」、および「the」は、文脈がそうでないことをはっきりと示さない限り複数形も含むように意図される可能性がある。用語「含む(comprises)」、「含む(comprising)」、「含む(includes)」、および/または「含む(including)」は、本明細書において使用されるとき、言及された特徴、完全体(integer)、ステップ、操作、要素、および/または構成要素の存在を指定するが、1つまたは複数のその他の特徴、完全体、ステップ、操作、要素、構成要素、および/またはこれらのグループの存在または追加を除外しないことがさらに理解されるであろう。
【００２８】
本開示のこれらのおよびその他の特徴および特色、ならびに構造の関連する要素の動作の用法および機能、およびパーツの組合せ、および製造の経済性は、添付の図面を参照して下の説明を考慮するとより明らかになる可能性があり、添付の図面のすべては、本明細書の一部を形成する。しかし、図面が例示および説明のみを目的としており、本開示の範囲を限定するように意図されていないことは、はっきりと理解されたい。図面が正しい縮尺でないことは、理解される。
【００２９】
本開示において使用される流れ図は、本開示の一部の実施形態によってシステムが実装する動作を示す。流れ図の動作が順不同で実施される可能性があることは、はっきりと理解されたい。反対に、動作は、逆順にまたは同時に実施される可能性がある。さらに、1つまたは複数の動作が、流れ図に追加される可能性がある。1つまたは複数の動作が、流れ図から削除される可能性がある。
【００３０】
さらに、本開示のシステムおよび方法が主にオンライン配車依頼サービスに関して説明されるが、これが1つの例示的な実施形態に過ぎないことも理解されたい。本開示のシステムまたは方法は、任意のその他の種類のオンデマンドサービスに適用される可能性がある。たとえば、本開示のシステムまたは方法は、地上、海洋、宇宙航空など、またはこれらの任意の組合せを含む異なる輸送システムに適用される可能性がある。輸送シスタムの乗り物は、タクシー、自家用車、ヒッチハイク(hitch)、バス、列車、超特急列車、高速鉄道、地下鉄、船、航空機、宇宙船、熱気球、無人運転の乗り物など、またはこれらの任意の組合せを含む可能性がある。輸送システムは、管理および/または配送を適用する任意の輸送システム、たとえば、速達(express)を送るおよび/または受け取るためのシステムも含む可能性がある。本開示のシステムまたは方法の応用のシナリオは、ウェブページ、ブラウザのプラグイン、クライアント端末、カスタムシスタム、内部分析システム、人工知能ロボットなど、またはこれらの任意の組合せを含む可能性がある。
【００３１】
本開示における位置および/または跡(trace)は、ユーザ端末(たとえば、乗客の端末、ドライバーの端末)に組み込まれた測位テクノロジーによって獲得される可能性がある。本開示において使用される測位テクノロジーは、全地球測位システム(GPS)、全地球航法衛星システム(GLONASS)、コンパスナビゲーションシステム(COMPASS)、Galileo測位システム、準天頂衛星システム(QZSS)、ワイヤレスフィデリティ(Wi-Fi)測位テクノロジーなど、またはこれらの任意の組合せを含む可能性がある。上記測位テクノロジーのうちの1つまたは複数は、本開示において交換可能なように使用される可能性がある。
【００３２】
本開示の態様は、オンデマンドサービスを最適化するためのオンラインシステムおよび方法に関する。本開示によれば、システムおよび方法は、意思決定プロセス(たとえば、MDP)モデルによって複数の要素(たとえば、履歴的ドライバーの時間および位置を含むステータス、履歴的ドライバーの行為、履歴的ドライバーがステータスの下で得た収入、履歴的ドライバーのその後の時間およびその後の位置を含むその後のステータスなど)を定義し、価値関数を取得するために強化学習アルゴリズム(たとえば、時間的差分学習アルゴリズム、動的計画法アルゴリズム)に複数の要素を入力する可能性がある。システムおよび方法は、オンラインオンデマンドサービスにおいて発注へのドライバーの割り当てを最適化するための価値関数に基づいて乗客のためにドライバーを割り当てる可能性がある。本開示によれば、システムおよび方法は、異なる業務シナリオ(たとえば、履歴的ドライバーのオンラインおよびオフラインの振る舞い、相乗りの発注、予約の発注、アップグレードの発注など)に従って複数の要素を定義し、異なる業務シナリオに関連する複数の要素に基づいて価値関数を定義する可能性がある。
【００３３】
図1は、本開示の一部の実施形態によるオンラインオンデマンドサービスにおいて発注を割り当てるための例示的なシステム100のブロック図である。たとえば、システム100は、配車依頼サービス、専属ドライバーサービス(chauffeur service)、乗り物配送サービス(vehicle delivery service)、相乗りサービス、バスサービス、ドライバーレンタルサービス(driver hiring service)、およびシャトルサービスなどの輸送サービスのためのオンライン輸送サービスプラットフォームである可能性がある。システム100は、サーバ110、乗客の端末120、ストレージ130、ドライバーの端末140、ネットワーク150、および情報源160を含む可能性がある。サーバ110は、処理エンジン112を含む可能性がある。
【００３４】
サーバ110は、オンラインオンデマンドサービス、たとえば、発注へのドライバーの割り当てに関連する情報および/またはデータを処理するように構成される可能性がある。たとえば、サーバ110は、割り当て方法に関する価値関数を決定し、割り当て方法に従って対応するドライバーの端末140に各発注を割り当てる可能性がある。一部の実施形態において、サーバ110は、単一のサーバまたはサーバグループである可能性がある。サーバグループは、集中型または分散型である可能性がある(たとえば、サーバ110は、分散型システムである可能性がある)。一部の実施形態において、サーバ110は、ローカルにあるかまたはリモートにある可能性がある。たとえば、サーバ110は、ネットワーク150を介して、乗客の端末120、ドライバーの端末140、および/またはストレージ130に記憶された情報および/またはデータにアクセスする可能性がある。別の例として、サーバ110は、記憶された情報および/またはデータにアクセスするために乗客の端末120、ドライバーの端末140、および/またはストレージ130に直接接続される可能性がある。一部の実施形態において、サーバ110は、クラウドプラットフォーム上に実装される可能性がある。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウドなど、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、サーバ110は、本開示の図2に示される1つまたは複数の構成要素を有するコンピューティングデバイス上に実装される可能性がある。
【００３５】
一部の実施形態において、サーバ110は、処理エンジン112を含む可能性がある。処理エンジン112は、オンラインオンデマンドサービス、たとえば、発注へのドライバーの割り当てに関連する情報および/またはデータを処理する可能性がある。たとえば、処理エンジン112は、割り当て方法に関する価値関数を決定し、割り当て方法に従って対応するドライバーの端末140に各発注を割り当てる可能性がある。一部の実施形態において、処理エンジン112は、1つまたは複数の処理エンジン(たとえば、シングルコア処理エンジンまたはマルチコアプロセッサ)を含む可能性がある。単なる例として、処理エンジン112は、中央演算処理装置(CPU)、特定用途向け集積回路(ASIC)、特定用途向け命令セットプロセッサ(ASIP: application-specific instruction-set processor)、グラフィックス処理ユニット(GPU)、物理処理ユニット(PPU: physics processing unit)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、コントローラ、マイクロコントローラユニット、縮小命令セットコンピュータ(RISC)、マイクロプロセッサなど、またはこれらの任意の組合せを含む可能性がある。
【００３６】
一部の実施形態において、乗客の端末120および/またはドライバーの端末140は、発注に直接関連する個人、ツール、またはその他のエンティティである可能性がある。乗客は、サービス要求者である可能性がある。本開示において、「サービス要求者」、「乗客の端末」、および「乗客」は、交換可能なように使用される可能性がある。ドライバーは、サービスプロバイダである可能性がある。本開示において、「ドライバー」、「ドライバーの端末」、および「サービスプロバイダ」は、交換可能なように使用される可能性がある。一部の実施形態において、乗客の端末120は、モバイルデバイス120-1、タブレットコンピュータ120-2、ラップトップコンピュータ120-3、および自動車(motor vehicle)内の組み込みデバイス120-4など、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、モバイルデバイス120-1は、スマートホームデバイス、ウェアラブルデバイス、スマートモバイルデバイス、仮想現実デバイス、拡張現実デバイスなど、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、スマートホームデバイスは、スマート照明デバイス、インテリジェントな電気器具の制御デバイス、スマート監視デバイス、スマートテレビ、スマートビデオカメラ、インターフォンなど、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、ウェアラブルデバイスは、スマートブレスレット、スマートフットギア、スマートグラス、スマートヘルメット、スマートウォッチ、スマート衣料品、スマートバックパック、スマートアクセサリなど、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、スマートモバイルデバイスは、スマートフォン、携帯情報端末(PDA)、ゲーム機、ナビゲーションデバイス、販売時点情報管理(POS)デバイスなど、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、仮想現実デバイスおよび/または拡張現実デバイスは、仮想現実ヘルメット、仮想現実グラス、仮想現実パッチ(virtual reality patch)、拡張現実ヘルメット、拡張現実グラス、拡張現実パッチ(augmented reality patch)など、またはこれらの任意の組合せを含む可能性がある。たとえば、仮想現実デバイスおよび/または拡張現実デバイスは、Google Glass、Oculus Rift、HoloLens、Gear VRなどを含む可能性がある。一部の実施形態において、自動車内の組み込みデバイス120-4は、車載コンピュータ、車載テレビなどを含む可能性がある。一部の実施形態において、乗客の端末120は、ユーザおよび/または乗客の端末120の位置を特定するための測位テクノロジーを用いるデバイスである可能性がある。
【００３７】
一部の実施形態において、ドライバーの端末140は、乗客の端末120と同様であるかまたは乗客の端末120と同じデバイスである可能性がある。一部の実施形態において、ドライバーの端末140は、ドライバーおよび/またはドライバーの端末140の位置を特定するための測位テクノロジーを用いるデバイスである可能性がある。一部の実施形態において、乗客の端末120および/またはドライバーの端末140は、ユーザ、乗客の端末120、ドライバー、および/またはドライバーの端末140の位置を決定するために別の測位デバイスと通信する可能性がある。一部の実施形態において、乗客の端末120および/またはドライバーの端末140は、サーバ110に測位情報を送信する可能性がある。
【００３８】
ストレージ130は、発注に関連するデータおよび/または命令を記憶する可能性がある。一部の実施形態において、ストレージ130は、乗客の端末120および/またはドライバーの端末140から取得/獲得されたデータを記憶する可能性がある。一部の実施形態において、ストレージ130は、本開示において説明される例示的な方法を実行するためにサーバ110が実行するまたは使用する可能性があるデータおよび/または命令を記憶する可能性がある。一部の実施形態において、ストレージデバイス140は、大容量ストレージ、取り外し可能なストレージ、揮発性の読み出しおよび書き込みメモリ、読み出し専用メモリ(ROM)など、またはこれらの任意の組合せを含む可能性がある。例示的な大容量ストレージは、磁気ディスク、光ディスク、ソリッドステートドライブなどを含む可能性がある。例示的な取り外し可能なストレージは、フラッシュドライブ、フロッピーディスク、光ディスク、メモリカード、Zipディスク、磁気テープなどを含む可能性がある。例示的な揮発性の読み出しおよび書き込みメモリは、ランダムアクセスメモリ(RAM)を含む可能性がある。例示的なRAMは、ダイナミックRAM(DRAM)、ダブルデータレート同期ダイナミックRAM(DDR SDRAM)、スタティックRAM(SRAM)、サイリスタRAM(T-RAM)、およびゼロキャパシタRAM(Z-RAM: zero-capacitor RAM)などを含む可能性がある。例示的なROMは、マスクROM(MROM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、コンパクトディスクROM(CD-ROM)、およびデジタルバーサタイルディスクROMなどを含む可能性がある。一部の実施形態において、ストレージ130は、クラウドプラットフォーム上に実装される可能性がある。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウドなど、またはこれらの任意の組合せを含む可能性がある。
【００３９】
一部の実施形態において、ストレージ130は、システム100の1つまたは複数の構成要素(たとえば、サーバ110、乗客の端末120、ドライバーの端末140)と通信するためにネットワーク150に接続される可能性がある。システム100の1つまたは複数の構成要素は、ネットワーク150を介してストレージ130に記憶されたデータまたは命令にアクセスする可能性がある。一部の実施形態において、ストレージ130は、システム100の1つまたは複数の構成要素(たとえば、サーバ110、乗客の端末120、ドライバーの端末140など)に直接接続されるかまたはそれらの構成要素と直接通信する可能性がある。一部の実施形態において、ストレージ130は、サーバ110の一部である可能性がある。
【００４０】
ネットワーク150は、情報および/またはデータのやりとりを容易にする可能性がある。一部の実施形態において、システム100の1つまたは複数の構成要素(たとえば、サーバ110、乗客の端末120、ストレージ130、およびドライバーの端末140)は、ネットワーク150を介してシステム100のその他の構成要素に/から情報および/またはデータを送信するおよび/または受信する可能性がある。たとえば、サーバ110は、ネットワーク150を介して乗客の端末120から発注を取得/獲得する可能性がある。一部の実施形態において、ネットワーク150は、任意のタイプの有線もしくはワイヤレスネットワークまたはこれらの組合せである可能性がある。単なる例として、ネットワーク150は、ケーブルネットワーク、固定電話ネットワーク、光ファイバネットワーク、電気通信ネットワーク、イントラネット、インターネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、ワイヤレスローカルエリアネットワーク(WLAN)、メトロポリタンエリアネットワーク(MAN)、広域ネットワーク(WAN)、公衆交換電話網(PSTN)、Bluetooth(登録商標)ネットワーク、ZigBee(登録商標)ネットワーク、近距離無線通信(NFC: near field communication)ネットワーク、移動体通信用グローバルシステム(GSM(登録商標): global system for mobile communications)ネットワーク、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、汎用パケット無線サービス(GPRS)ネットワーク、GSMの進化のための高速化されたデータレート(EDGE: enhanced data rate for GSM evolution)ネットワーク、広帯域符号分割多元接続(WCDMA(登録商標))ネットワーク、高速ダウンリンクパケットアクセス(HSDPA)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、ユーザデータグラムプロトコル(UDP)ネットワーク、伝送制御プロトコル/インターネットプロトコル(TCP/IP)ネットワーク、ショートメッセージサービス(SMS)ネットワーク、ワイヤレスアプリケーションプロトコル(WAP)ネットワー
ク、超広帯域(UWB)ネットワーク、赤外線など、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、システム100は、1つまたは複数のネットワークアクセスポイントを含む可能性がある。たとえば、システム100は、基地局および/またはワイヤレスアクセスポイント150-1、150-2、...などの有線またはワイヤレスネットワークアクセスポイントを含む可能性があり、それらの有線またはワイヤレスネットワークアクセスポイントを通じて、システム100の1つまたは複数の構成要素は、データおよび/または情報をやりとりするためにネットワーク150に接続される可能性がある。
【００４１】
情報源160は、システム100のためのその他の情報を提供するように構成されたソースである可能性がある。情報源160は、天候、交通情報、法律および規制の情報、新しいイベント、生活情報(life information)、生活ガイド情報(life guide information)などのサービス情報をシステム100に提供する可能性がある。情報源160は、単一の集中サーバ、通信リンクを介して接続された複数のサーバ、または複数のパーソナルデバイスに実装される可能性がある。情報源160が複数のパーソナルデバイスに実装されるとき、パーソナルデバイスは、たとえば、テキスト、音声、画像、およびビデオをクラウドサーバにアップロードすることによってコンテンツ(たとえば、「ユーザによって生成されたコンテンツ」と呼ばれる)を生成することができる。情報源は、複数のパーソナルデバイスおよびクラウドサーバによって生成される可能性がある。
【００４２】
図2は、サーバ110、乗客の端末120、ストレージ130、ドライバー140、および/または情報源160が本開示の一部の実施形態に従って実装される可能性があるコンピューティングデバイス200の例示的なハードウェアおよびソフトウェア構成要素を示す概略図である。特定のシステムは、1つまたは複数のユーザインターフェースを含むハードウェアプラットフォームを説明するために機能ブロック図を使用する可能性がある。コンピュータは、汎用的なまたは特定的な機能を有するコンピュータである可能性がある。両方のタイプのコンピュータが、本開示の一部の実施形態による任意の特定のシステムを実装するように構成される可能性がある。コンピューティングデバイス200は、本開示において開示される1つまたは複数の機能を実行する任意の構成要素を実装するように構成される可能性がある。たとえば、コンピューティングデバイス200は、本明細書において説明されるように、システム100の任意の構成要素を実装する可能性がある。図1〜図2において、1つのそのようなコンピュータデバイスのみが、純粋に便宜的に示される。当業者は、本明細書において説明されるオンデマンドサービスに関連するコンピュータの機能が処理負荷を分散させるためにいくつかの同様のプラットフォームに分散されるようにして実装される可能性があることを本出願の出願時点で理解するであろう。
【００４３】
たとえば、コンピューティングデバイス200は、データ通信を容易にするためにそこに接続されたネットワークにおよびネットワークから接続されたCOMポート250を含む可能性がある。コンピューティングデバイス200は,プログラム命令を実行するためにプロセッサ(たとえば、プロセッサ220)を1つまたは複数のプロセッサ(たとえば、論理回路)の形態で含む可能性もある。たとえば、プロセッサは、インターフェース回路および処理回路を内部に含む可能性がある。インターフェース回路は、バス210から電子信号を受信するように構成される可能性があり、電子信号は、処理回路が処理するための構造化されたデータおよび/または命令を符号化する。処理回路は、論理計算を行い、それから、電子信号として符号化された結論、結果、および/または命令を決定する。そして、インターフェース回路は、バス210を介して処理回路から電子信号を送出する可能性がある。
【００４４】
例示的なコンピューティングデバイスは、様々なデータファイルがコンピューティングデバイスによって処理されるおよび/または送信されるために、内部通信バス210、たとえば、ディスク270を含む異なる形態のプログラムストレージおよびデータストレージ、ならびに読み出し専用メモリ(ROM)230、またはランダムアクセスメモリ(RAM)240を含む可能性がある。例示的なコンピューティングデバイスは、プロセッサ220によって実行されるROM230、RAM240、および/またはその他のタイプの非一時的ストレージ媒体に記憶されたプログラム命令も含む可能性がある。本開示の方法および/またはプロセスは、プログラム命令として実装される可能性がある。コンピューティングデバイス200は、コンピュータとその他の構成要素との間の入力/出力をサポートするI/O構成要素260も含む。コンピューティングデバイス200は、ネットワーク通信を介してプログラミングおよびデータを受信する可能性もある。
【００４５】
単に例示のために、1つのCPUおよび/またはプロセッサのみが、図2に示される。複数のCPUおよび/またはプロセッサも、想定され、したがって、本開示において説明される1つのCPUおよび/またはプロセッサによって実行される動作および/または方法のステップは、複数のCPUおよび/またはプロセッサによって共同でまたは別々に実行される可能性もある。たとえば、本開示において、コンピューティングデバイス200のCPUおよび/またはプロセッサがステップAとステップBとの両方を実行する場合、ステップAおよびステップBは、コンピューティングデバイス200において2つの異なるCPUおよび/またはプロセッサによって共同でまたは別々に実行される可能性もある(たとえば、第1のプロセッサが、ステップAを実行し、第2のプロセッサが、ステップBを実行するか、または第1のおよび第2のプロセッサが、ステップAおよびBを共同で実行する)ことを理解されたい。
【００４６】
図3は、本開示の一部の実施形態による、乗客の端末120またはプロバイダの端末140が実装される可能性がある例示的なモバイルデバイス300の例示的なハードウェアおよび/またはソフトウェア構成要素を示す概略図である。図3に示されるように、モバイルデバイス300は、通信ユニット310、ディスプレイ320、グラフィック処理ユニット(GPU)330、中央演算処理装置(CPU)340、I/O350、メモリ360、およびストレージ390を含む可能性がある。CPU340は、プロセッサ220と同様のインターフェース回路および処理回路を含む可能性がある。一部の実施形態において、システムバスまたはコントローラ(図示せず)を含むがこれらに限定されない任意のその他の好適な構成要素が、モバイルデバイス300に含まれる可能性もある。一部の実施形態において、モバイルオペレーティングシステム370(たとえば、iOS(登録商標)、ANDROID(登録商標)、Windows Phone(登録商標)など)および1つまたは複数のアプリケーション380が、CPU340によって実行されるためにストレージ390からメモリ360にロードされる可能性がある。アプリケーション380は、モバイルデバイス300上でサービス要求に関連する情報または位置に基づくサービスを提供するシステムからのその他の情報を受信し、レンダリングするためのブラウザまたは任意のその他の好適なモバイルアプリを含む可能性がある。情報ストリームとのユーザのインタラクションは、I/Oデバイス350を介して実現され、ネットワーク120を介してシステム100の処理エンジン112および/またはその他の構成要素に提供される可能性がある。
【００４７】
上述の様々なモジュール、ユニット、およびそれらの機能を実装するために、コンピュータハードウェアプラットフォームが、1つまたは複数の要素(たとえば、図2に示されたサーバ110のモジュール)のハードウェアプラットフォームとして使用される可能性がある。これらのハードウェア要素、オペレーティングシステム、およびプログラム言語はよくあるので、当業者はこれらの技術に精通している可能性があり、本開示において説明される技術に従って経路計画に必要とされる情報を提供することができる可能性があると仮定されてもよい。ユーザインターフェースを有するコンピュータが、パーソナルコンピュータ(PC)、またはその他のタイプのワークステーションもしくは端末デバイスとして使用される可能性がある。適切にプログラミングされた後、ユーザインターフェースを有するコンピュータが、サーバとして使用される可能性がある。当業者は、この種のコンピュータデバイスのそのような構造、プログラム、または通常の動作にやはり精通している可能性があると考えられてもよい。したがって、余分な説明は、図に関して示されない。
【００４８】
図4は、本発明の一部の実施形態による例示的な処理エンジン112を示すブロック図である。一部の実施形態において、処理エンジン112は、通信モジュール410、レコード決定モジュール420、価値関数決定モジュール430、および割り当て最適化モジュール440を含む可能性がある。モジュールの各々、一部、またはすべては、処理エンジン112のすべてまたは一部のハードウェア回路である可能性がある。モジュールの各々、一部、またはすべては、処理エンジンによって読み出され、実行され得るアプリケーションおよび1組の命令として実装される可能性もある。さらに、モジュールは、ハードウェア回路とアプリケーション/命令との任意の組合せである可能性がある。たとえば、モジュールは、処理エンジンがアプリケーション/1組の命令を実行しているとき、処理エンジン112の一部である可能性がある。
【００４９】
通信モジュール410は、オンラインオンデマンドサービスに関連する情報を取得するように構成される可能性がある。たとえば、通信モジュール410は、1つのまたは複数の履歴的発注に関連する発注情報を取得するように構成される可能性がある。別の例として、通信モジュール410は、1つのまたは複数の履歴的発注に対応する1人または複数の履歴的ドライバーに関連するドライバー情報を取得するように構成される可能性がある。例示の目的で、説明は、例として「複数の履歴的発注」および「複数の履歴的ドライバー」に言及する。一部の実施形態において、1人の履歴的ドライバーのみに関連する発注情報または1つの履歴的発注のみに関連するドライバー情報が、取得されることに留意されたい。
【００５０】
本開示における用語「発注情報」は、1つまたは複数の履歴的発注に関連する情報および/または特徴の組合せを指す可能性がある。たとえば、履歴的発注の発注情報は、履歴的発注番号、履歴的発注開始位置、履歴的発注先、履歴的発注開始時間、履歴的発注終了時間、履歴的発注を始めた乗客、履歴的発注を完了した履歴的ドライバー、履歴的ドライバーのドライバータイプ、履歴的発注の発注タイプ、履歴的発注の発注価格など、またはこれらの任意の組合せを含む可能性がある。本開示における用語「履歴的発注」は、過去にオンラインオンデマンドサービスプラットフォームを通じてサービス要求者によってなされ、サービスプロバイダによって完了された発注を指す可能性がある。
【００５１】
本開示における用語「ドライバー情報」は、1人または複数の履歴的ドライバーに関連する情報および/または特徴の組合せを指す可能性がある。たとえば、履歴的ドライバーのドライバー情報は、履歴的ドライバーの(位置および対応する時間を含む)少なくとも1つの空間-時間ステータス、履歴的ドライバーが行った少なくとも1つの行為(たとえば、履歴的発注を受け付けること、アイドル時間の期間中仕事をせずにいることなど)、履歴的ドライバーの(その後の位置および対応するその後の時間を含む)少なくとも1つのその後の空間-時間ステータス、ドライバー識別情報(たとえば、ドライバーの登録番号)、ドライバーによって所有された乗り物の乗り物タイプ、乗り物識別情報(たとえば、乗り物のナンバー)、ドライバープロフィール(たとえば、ドライバーのサービスのスコア)など、またはこれらの任意の組合せを含む可能性がある。本開示における用語「履歴的ドライバー」は、過去にプラットフォームに登録し、サービスを提供したサービスプロバイダを指す可能性がある。
【００５２】
レコード決定モジュール420は、複数のレコードを決定するように構成される可能性がある。一部の実施形態において、時間の所定の期間中の各履歴的ドライバーに関して、レコード決定モジュール420は、マルコフ決定過程(MDP)モデルなどであるがこれに限定されない意思決定プロセスモデルによって通信モジュール410から取得された発注情報およびドライバー情報に基づいて複数のレコードを決定するように構成される可能性がある。たとえば、レコード決定モジュール420は、1つまたは複数の発注レコードおよび1つまたは複数の空き時間レコードを決定するように構成される可能性がある。各発注レコードは、履歴的発注に対応する可能性があり、各空き時間レコードは、いかなる履歴的発注にも関連しないアイドル時間の期間に対応する可能性がある。別の例として、レコード決定モジュール420は、履歴的ドライバーのオンラインの時点およびオフラインの時点に基づいてアイドル時間の期間に対応する少なくとも1つの空き時間レコードを決定するように構成される可能性がある。さらに別の例として、レコード決定モジュール420は、その後の発注が予約の発注(またはアップグレードの発注)であることを特定し、予約の発注(またはアップグレードの発注)に基づいてアイドル時間の期間に対応する少なくとも1つの空き時間レコードを決定するように構成される可能性がある。さらに別の例として、レコード決定モジュール420は、同じ経路IDを有する複数の相乗りの発注を組み合わせる包括的な相乗りの発注に基づいて発注レコードを決定するように構成される可能性がある。
【００５３】
一部の実施形態において、複数のレコードが、少なくとも1つの発注レコードおよび/または少なくとも1つの空き時間レコードを含む可能性がある。一部の実施形態において、発注レコードは、履歴的ドライバーによって受け付けられ、完了された履歴的発注に対応する可能性がある。発注レコードは、履歴的発注および履歴的発注に対応する履歴的ドライバーに関連する1つまたは複数の要素を含む可能性がある。たとえば、発注レコードは、履歴的発注を受け付けたときの履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、履歴的発注を受け付けることおよび履歴的発注のためにサービスを提供すること(運転すること)を含むドライバーの行為、履歴的発注の価格を含むドライバーの収入、履歴的発注を終えたときの履歴的ドライバーの時間および位置を含むドライバーのその後の空間-時間ステータスなど、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、空き時間レコードは、いかなる履歴的発注にも関連しないアイドル時間の期間に対応する可能性がある。発注レコードは、アイドル時間の期間およびアイドル時間の期間に対応する履歴的ドライバーに関連する少なくとも1つの要素を含む可能性がある。たとえば、空き時間レコードは、アイドル時間の期間中の履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、アイドル時間の期間中仕事をせずにいることを含むドライバーの行為、ゼロを含むドライバーの収入、アイドル時間の期間の終わりの履歴的ドライバーのその後の時間およびその後の位置を含むドライバーのその後の空間-時間ステータスなど、またはこれらの任意の組合せを含む可能性がある。
【００５４】
価値関数決定モジュール430は、価値関数を決定するように構成される可能性がある。たとえば、価値関数決定モジュール430は、強化学習アルゴリズムによって各履歴的ドライバーの決定された複数のレコードに基づいて価値関数を決定するように構成される可能性がある。価値関数決定モジュール430のアクションのより詳細な説明が、図5に関連する記述に与えられる。
【００５５】
割り当て最適化モジュール440は、オンラインオンデマンドサービスにおいて入来する発注へのドライバーの割り当てを最適化するように構成される可能性がある。たとえば、割り当て最適化モジュール440は、価値関数決定モジュール430によって決定された価値関数に基づいて入来する発注へのドライバーの割り当てを最適化するように構成される可能性がある。割り当て最適化モジュール440のアクションのより詳細な説明が、図5に関連する記述に与えられる。
【００５６】
処理エンジン112のモジュールは、有線接続またはワイヤレス接続を介して互いに接続されるかまたは互いに通信する可能性がある。有線接続は、金属ケーブル、光ケーブル、ハイブリッドケーブルなど、またはこれらの任意の組合せを含む可能性がある。ワイヤレス接続は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、Bluetooth(登録商標)、ZigBee(登録商標)、近距離無線通信(NFC)など、またはこれらの任意の組合せを含む可能性がある。モジュールのうちの2つ以上が、単一のモジュールとして組み合わされる可能性があり、モジュールのうちの任意の1つが、2つ以上のユニットへと分割される可能性がある。たとえば、レコード決定モジュール420が、複数のレコードおよび価値関数を両方とも決定する可能性がある単一のモジュールとして価値関数決定モジュール440に統合される可能性がある。別の例として、通信モジュール410が、2つのユニット、すなわち、それぞれ、通信モジュール420の機能を実施するために一緒に働く発注情報取得ユニットおよびドライバー情報取得ユニットへと分割される可能性がある。図4は、処理エンジン112の4つのモジュールのみを示し、処理エンジン112は、1つまたは複数のその他のモジュールをさらに含む可能性があることに留意されたい。たとえば、処理エンジンは、少なくとも1つの入来する発注を取得するための入来発注取得モジュールと、少なくとも1つの入来する発注の各々のためにドライバーを割り当てるための発注割り当てモジュールとをさらに含む可能性がある。
【００５７】
図5は、本開示の一部の実施形態によるオンラインオンデマンドサービスを最適化するための例示的なプロセスおよび/または方法500の流れ図である。一部の実施形態において、プロセス500の1つまたは複数のステップは、図1に示されたシステム100において実施される可能性がある。たとえば、プロセス500の1つまたは複数のステップは、命令の形態でストレージ(たとえば、ストレージ130、ROM230、RAM240など)に記憶され、サーバ110(たとえば、サーバ110の処理エンジン112、またはサーバ110の処理エンジン112のプロセッサ220)によって呼び出されるおよび/または実行される可能性がある。
【００５８】
510において、プロセッサ220(または通信モジュール410)は、複数の履歴的発注に関連する発注情報を取得する可能性がある。
【００５９】
本開示における用語「履歴的発注」は、過去にオンラインオンデマンドサービスプラットフォーム上でサービス要求者によって要求し、サービスプロバイダによって完了した発注を指す可能性がある。本開示における用語「発注情報」は、1つまたは複数の履歴的発注に関連する情報および/または特徴の組合せを指す可能性がある。たとえば、履歴的発注に関連する発注情報は、履歴的発注番号、履歴的発注開始位置、履歴的発注先、履歴的発注開始時間、履歴的発注終了時間、履歴的発注を始めた乗客、履歴的発注を完了した履歴的ドライバー、履歴的ドライバーのドライバータイプ、履歴的発注の発注タイプ、履歴的発注の発注価格など、またはこれらの任意の組合せを含む可能性がある。
【００６０】
一部の実施形態において、発注が完了されると、発注は、履歴的発注と呼ばれる。履歴的発注を要求した乗客の端末120および/または履歴的発注を完了したドライバーの端末140は、ネットワーク150を介してシステム100のストレージ媒体(たとえば、ストレージ130、ROM230、RAM240など)に発注情報を送信する可能性がある。プロセッサ220は、システム100のストレージ媒体から発注情報を取得する可能性がある。
【００６１】
一部の実施形態において、複数の履歴的発注が、過去に時間の所定の期間(たとえば、1日、2日、3日、5日、7日、1ヶ月、3ヶ月、6ヶ月、1年、2年、3年、5年など)に完了された少なくとも1つの履歴的発注を含む可能性がある。たとえば、プロセッサ220は、過去1年、過去1ヶ月、過去1日、過去1時間など、またはこれらの任意の組合せに完了された少なくとも1つの履歴的発注に関連する発注情報を取得する可能性がある。一部の実施形態において、複数の履歴的発注が、過去の時間の最近の期間に完了された所定の数の履歴的発注(たとえば、100万件の発注、100,000件の発注、10,000件の発注、1,000件の発注、100件の発注、50件の発注、10件の発注、5件の発注、1件の発注など)を含む可能性がある。
【００６２】
520において、プロセッサ220(または通信モジュール410)は、複数の履歴的発注に対応する複数の履歴的ドライバーに関連するドライバー情報を取得する可能性がある。
【００６３】
本開示における用語「履歴的ドライバー」は、過去にプラットフォームに登録し、サービスを提供したサービスプロバイダを指す可能性がある。一部の実施形態において、履歴的ドライバーは、少なくとも1つの履歴的発注に対応する可能性があり、履歴的発注は、1つの履歴的発注にのみ対応する可能性がある。たとえば、履歴的ドライバーは、過去にサービスを提供する少なくとも1つの履歴的発注を完了した可能性があり、履歴的発注は、1人の履歴的ドライバーのみによって完了される可能性がある。
【００６４】
本開示における用語「ドライバー情報」は、1人または複数の履歴的ドライバーに関連する情報および/または特徴の組合せを指す可能性がある。たとえば、履歴的ドライバーのドライバー情報は、履歴的ドライバーの(位置および対応する時間を含む)少なくとも1つの空間-時間ステータス、履歴的ドライバーが行った少なくとも1つの行為(たとえば、履歴的発注を受け付けること、アイドル時間の期間中仕事をせずにいることなど)、履歴的ドライバーの(その後の位置および対応するその後の時間を含む)少なくとも1つのその後の空間-時間ステータス、ドライバー識別情報(たとえば、ドライバーの登録番号)、ドライバーによって所有された乗り物の乗り物タイプ、乗り物識別情報(たとえば、乗り物のナンバー)、ドライバープロフィール(たとえば、ドライバーのサービスのスコア)など、またはこれらの任意の組合せを含む可能性がある。
【００６５】
一部の実施形態において、ドライバーがオンラインオンデマンドプラットフォームに登録するおよび/または発注を完了すると、ドライバーに関連するドライバーの端末140は、ネットワーク150を介してシステム100のストレージ媒体(たとえば、ストレージ130、ROM230、RAM240など)に対応するドライバー情報を送信する可能性がある。プロセッサ220は、システム100のストレージ媒体からドライバー情報を取得する可能性がある。
【００６６】
530において、時間の所定の期間中の各履歴的ドライバーに関して、プロセッサ220(またはレコード決定モジュール420)は、例示を目的とする例として使用されるマルコフ決定過程(MDP)モデルなどであるがこれに限定されない意思決定プロセスによって発注情報およびドライバー情報に基づいて複数のレコードを決定する可能性がある。一部の実施形態において、プロセッサ220は、MDPモデルによって多数の発注を取得するために複数の履歴的ドライバーの中のあらゆる履歴的ドライバーをくまなく調べる可能性がある。
【００６７】
一部の実施形態において、時間の所定の期間は、過去の時間の所定の期間(たとえば、1日、2日、3日、5日、7日、1ヶ月、3ヶ月、6ヶ月、1年、2年、3年、5年など)を指し、異なる応用のシナリオに応じて決定される可能性がある。たとえば、時間の所定の期間は、過去1年、過去1ヶ月、過去1日、過去1時間などの、システム100によって予め決定された時間の特定の期間である可能性がある。一部の実施形態において、プロセッサ220は、発注時間(たとえば、発注開始時間、発注終了時間など)に基づいて時間の所定の期間中の少なくとも1つの履歴的発注および少なくとも1つの対応する履歴的ドライバーを抽出する可能性がある。たとえば、プロセッサは、それぞれ、各履歴的ドライバーに関して複数のレコードを決定するために少なくとも1つの履歴的発注に関連する発注情報および対応する少なくとも1つの履歴的ドライバーに関連するドライバー情報を取得する可能性がある。
【００６８】
一部の実施形態において、履歴的ドライバーに関して、プロセッサ220は、時間の所定の期間中の発注情報および対応するドライバー情報をMDPモデルに入力する可能性がある。MDPモデルは、履歴的ドライバーをエージェントとして定義する可能性があり、各レコードは、4つの要素<S, A, R, P>を含む可能性がある。一部の実施形態において、4つの要素は、ドライバーの空間-時間ステータス(S)、ドライバーの行為(A)、ドライバーの収入(R)、ドライバーのその他の空間-時間ステータス(P)など、またはこれらの任意の組合せを含む可能性がある。たとえば、MDPモデルでは、各時間ステップにおいて、プロセス(ここでは、オンラインオンデマンドプラットフォーム上でサービスを提供することを指す)は、状態Sにあり、意志決定者(ここでは、履歴的ドライバーを指す)は、ステータスSにおいて利用可能である行為Aを選択する可能性がある。プロセスは、その後のステータスPにランダムに移り、対応する報酬Rを意志決定者に与えることによって次の時間に応答する。一部の実施形態において、MDPモデルの出力は、価値関数(V(S))を含む可能性がある。一部の実施形態において、価値関数(V(S))は、ドライバーの空間-時間ステータス(S)の下で履歴的ドライバーが得る可能性がある累積された収入の期待値を指す可能性がある。
【００６９】
一部の実施形態において、ドライバーの空間-時間ステータス(S)は、特定の時間に対応する履歴的ドライバーが置かれる状況を指す可能性がある。たとえば、ドライバーの空間-時間ステータスは、時間と位置との組合せを含む可能性がある。時間は、履歴的ドライバーがその位置にいた時点または時間の期間である可能性があり、位置は、その時点または時間のその期間に履歴的ドライバーがいた位置またはエリアである可能性がある。一部の実施形態において、位置は、位置の名前、エリアの名前、位置の座標など、またはこれらの任意の組合せを含む可能性がある。
【００７０】
一部の実施形態において、ドライバーの行為(A)は、ドライバーの空間-時間ステータスの下で対応する履歴的ドライバーが行った行為を指す可能性がある。たとえば、ドライバーの行為は、履歴的発注を受け付けること、履歴的発注を拒否すること、履歴的発注を受けて働くこと(運転すること)、履歴的発注を終えること、仕事をせずにいること(いかなる履歴的発注も受け付けず、かついかなる履歴的発注にも従事していないこと)、オフラインであることなど、またはこれらの任意の組合せを含む可能性がある。
【００７１】
一部の実施形態において、ドライバーの収入(R)は、ドライバーの行為の結果として対応する履歴的ドライバーが生む所得を指す可能性がある。たとえば、履歴的ドライバーが履歴的発注を受け付けた場合、履歴的ドライバーは、履歴的発注の発注価格を生んだ。したがって、ドライバーの収入は、履歴的発注の発注価格である可能性がある。別の例として、履歴的ドライバーが履歴的発注を拒否した(または仕事をせずにいる、オフラインである)場合、履歴的ドライバーは、何も生まない。したがって、ドライバーの収入は、ゼロである可能性がある。
【００７２】
一部の実施形態において、ドライバーのその後の空間-時間ステータス(P)は、前のステータスに対応する特定の時間のその後の時間に対応する履歴的ドライバーが置かれる状況を指す。たとえば、ドライバーのその後の空間-時間ステータスは、その後の時間とその後の位置との組合せを含む可能性がある。その後の時間は、履歴的ドライバーがその後の位置にいた時点または時間の期間である可能性があり、その後の位置は、その後の時点または時間のその後の期間に履歴的ドライバーがいた位置またはエリアである可能性がある。一部の実施形態において、その後の位置は、その後の位置の名前、その後のエリアの名前、その後の位置の座標など、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、その後の位置は、ドライバーの空間-時間ステータスの位置と同じである可能性がある。たとえば、履歴的ドライバーは、移動することなく同じ場所に留まる可能性がある。一部の実施形態において、その後の位置は、ドライバーの空間-時間ステータスの位置と異なる可能性がある。たとえば、履歴的ドライバーは、その後の時間に別の場所に移動する可能性がある。
【００７３】
一部の実施形態において、複数のレコードが、履歴的ドライバーの異なるステータスおよび/または行為に従って異なるタイプのレコードを含む可能性がある。たとえば、複数のレコードが、少なくとも1つの発注レコードおよび少なくとも1つの空き時間レコードを含む可能性がある。一部の実施形態において、発注レコードは、対応する履歴的ドライバーが履歴的発注を受け付けたことに応じて履歴的発注に対応するレコードを指す可能性がある。たとえば、発注レコードは、履歴的発注を受け付けたときの履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、履歴的発注を受け付けることおよび履歴的発注のためにサービスを提供すること(運転すること)を含むドライバーの行為、履歴的発注の価格を含むドライバーの収入、履歴的発注を終えたときの履歴的ドライバーの時間および位置を含むドライバーのその後の空間-時間ステータスなど、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、空き時間発注(spare-time order)は、いかなる履歴的発注にも関連しないアイドル時間の期間に対応する発注を指す可能性があり、アイドル時間の期間において、対応する履歴的ドライバーは、いかなる履歴的発注も受け付けず、またはいかなる履歴的発注時間中にもサービスを提供せずに仕事をしないでいた。たとえば、空き時間発注は、アイドル時間の期間中の履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、アイドル時間の期間中仕事をせずにいることを含むドライバーの行為、ゼロを含むドライバーの収入、アイドル時間の期間の終わりの履歴的ドライバーのその後の時間およびその後の位置を含むドライバーのその後の空間-時間ステータスなど、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、アイドル時間の期間は、アイドル時間内の所定の継続時間である可能性がある。一部の実施形態において、1つもしくは複数の発注レコードおよび/または1つもしくは複数の空き時間レコードを含む複数の発注の取得が、本開示の図8〜図11およびその説明に関連して示される可能性がある。
【００７４】
540において、プロセッサ220(または価値関数決定モジュール430)は、強化学習アルゴリズムによって各履歴的ドライバーの複数の発注に基づいて価値関数を決定する可能性がある。
【００７５】
一部の実施形態において、価値関数は、ドライバーの空間-時間ステータスの下で履歴的ドライバーが得る可能性がある累積された収入の期待値を表す関数を指す可能性がある。一部の実施形態において、価値関数は、履歴的ドライバーが生む累積された収入の期待値を決定するためのアルゴリズム、式、方法、プロセスなどを含む可能性がある。
【００７６】
一部の実施形態において、強化学習アルゴリズムは、時間的差分(TD)学習アルゴリズム、動的計画法アルゴリズム、モンテカルロ(MC)学習アルゴリズム、SARSAアルゴリズム、Q学習アルゴリズムなど、またはこれらの任意の組合せを含む可能性がある。例示を目的として、TD学習アルゴリズムおよび動的計画法アルゴリズムが、価値関数を決定するための例として本明細書において説明される。
【００７７】
一部の実施形態において、TD学習アルゴリズムは、一連の行為の間のあらゆるまたはいくつかのステップをシミュレーションする(または経る)可能性がある。TD学習アルゴリズムは、生み出される収入および次のステータスの値に応じて次のステータスの前の前のステータスの値を推定する可能性がある。たとえば、プロセッサ220は、各履歴的ドライバーの複数の発注(たとえば、<S, A, R, P>)を式(1)に入力する可能性があり、
V(St)←V(St)+α[Rt+1+γV(St+1)-V(St)]   (1)
tは、行為を行う時点を表し、t+1は、tのその後の時点を表し、Stは、行為を行う前のステータスを表し、Rt+1は、t+1において履歴的ドライバーが生む収入を表し、V(St)およびV(St+1)は、それぞれ、ステータスStおよびステータスSt+1の価値観数を表し、γは、0から1までの間の減衰因子(decay factor)を表し、αは、学習率を表す。
【００７８】
一部の実施形態において、プロセッサ220は、式(1)の収束まで式(1)に各履歴的ドライバーの複数の発注を入力する可能性がある。それから、プロセッサ220は、価値関数(V(S))を決定する可能性がある。式(1)は、TD学習アルゴリズムの1つのステップであるに過ぎず、複数のステップを含むその他の式が価値関数を決定するために使用される可能性があることに留意されたい。
【００７９】
図6-Aおよび図6-Bは、本開示の一部の実施形態による例示的なステータスを示す概略図である。図6-Aに示されるように、履歴的ドライバーが、時点T0において位置Xにおり(ステータスS0とも呼ばれる)、その後の時点T1において位置Xにおり(ステータスS1とも呼ばれる)、これは、その他の情報との組合せで、T0からT1までの時間の期間中、履歴的ドライバーが仕事をせずにおり、いかなる履歴的発注にも関連付けられないことを示す。プロセッサ220は、S0の価値関数を式(2)として決定するために式(1)にステータスS0およびS1に関連する対応するレコードを入力する可能性があり、
V(S0)←V(St)+α[0+γV(S1)-V(S0)]   (2)
履歴的ドライバーがt+1において生んだ収入は、0である。
【００８０】
図6-Bに示されるように、履歴的ドライバーが、時点T0において位置Xにおり(ステータスS0とも呼ばれる)、その後の時点T2において位置Yにおり(ステータスS2とも呼ばれる)、これは、その他の情報との組合せで、T0からT2までの時間の期間中、履歴的ドライバーが履歴的発注を受け付けたことを示す。プロセッサ220は、S0の価値関数を決定するために式(3)にステータスS0およびS2に関連する対応するレコードを入力する可能性があり、
V(S0)←V(S0)+α[R+γ3V(S2)-V(S0)]   (3)
履歴的ドライバーがt+2において生む収入は、Rである。
【００８１】
図7は、本開示の一部の実施形態による動的計画法アルゴリズムの例示的なプロセスを示す概略図である。図7に示されるように、動的計画法アルゴリズムは、ステータスStにおいて始まり、価値関数を決定するためにあらゆるあり得るステータスをくまなく調べる可能性がある。
【００８２】
一部の実施形態において、動的計画法アルゴリズムは、多段階プロセスを単一段階プロセスに変える可能性がある。動的計画法アルゴリズムは、各段階の関係に従って1つずつ価値関数を解く可能性がある。たとえば、動的計画アルゴリズムは、各履歴的ドライバーの複数の発注に基づいてステータスの遷移確率をシミュレーションする可能性がある。たとえば、プロセッサ220は、時系列で後ろから前向かってあらゆる時点のすべての位置の価値関数を決定するために式(4)に各履歴的ドライバーの複数の発注を入力する可能性があり、
Vk+1(S)=Eπ[Rt+1+γVk(St+1)|St=S]   (4)
tは、行為を行う時点を表し、t+1は、tのその後の時点を表し、Stは、行為を行う前のステータスを表し、Rt+1は、t+1において履歴的ドライバーが生む収入を表し、V(St)およびV(St+1)は、それぞれ、ステータスStおよびステータスSt+1の価値観数を表し、γは、0から1までの間の減衰因子を表し、Eπは、数学的期待値を表す。
【００８３】
550において、プロセッサ220(または割り当て最適化モジュール440)は、価値関数に基づいて入来する発注へのドライバーの割り当てを最適化する可能性がある。
【００８４】
一部の実施形態において、入来する発注は、現在の時間にシステム100が取得する少なくとも1つの発注を指す可能性がある。プロセッサ220は、価値関数に基づいて割り当て方針および/または方法を決定し、割り当て方針および/または方法に基づいてドライバーに入来する発注の中の各発注を割り当てる可能性がある。たとえば、プロセッサ220は、ドライバーが入来する発注の各発注を割り当てられる場合にドライバーが生む可能性がある推定された価値を決定し、より高い推定された価値に対応する発注を特定のドライバー(たとえば、より高いサービスのスコアを有するドライバー)に割り当てる可能性がある。
【００８５】
上の説明は、例示を目的として与えられるに過ぎず、本開示の範囲を限定するように意図されていないことに留意されたい。当業者のために、本開示の教示の下で複数の変更および修正がなされる可能性がある。しかし、それらの変更および修正は、本開示の範囲を逸脱しない。たとえば、1つまたは複数のその他の任意のステップ(たとえば、記憶するステップ、前処理するステップ)が、例示的なプロセス/方法500の他のところに追加される可能性がある。別の例として、例示的なプロセス/方法500のすべてのステップは、1組の命令を含むコンピュータ可読媒体に実装される可能性がある。命令は、電子電流(electronic current)または電気信号の形態で送信される可能性がある。
【００８６】
図8は、本開示の一部の実施形態による複数のレコードを取得するための例示的なプロセスおよび/または方法800の流れ図である。一部の実施形態において、プロセス800の1つまたは複数のステップは、図1に示されたシステム100において実施される可能性がある。たとえば、プロセス800の1つまたは複数のステップは、命令の形態でストレージ130および/またはストレージ(たとえば、ROM230、RAM240など)に記憶され、サーバ110(たとえば、サーバ110の処理エンジン112、またはサーバ110の処理エンジン112のプロセッサ220)によって呼び出されるおよび/または実行される可能性がある。
【００８７】
一部の実施形態において、プロセッサ220は、図8の説明の複数のレコードを取得するためのプロセスおよび/または方法800を実施する可能性がある。たとえば、プロセッサ220は、1つもしくは複数の発注レコードおよび/または1つもしくは複数の空き時間レコードを含む複数のレコードを取得するために、意思決定プロセスモデル(たとえば、MDPモデル)によって1つもしくは複数の発注レコードおよび/または1つもしくは複数の空き時間レコードを決定するためのプロセスおよび/または方法800を実施する可能性がある。一部の実施形態では、プロセスおよび/または方法800において決定された1つもしくは複数の発注レコードおよび/または1つもしくは複数の空き時間レコードは、図5の説明の強化学習アルゴリズムに従って価値観数を決定するために使用される可能性がある。
【００８８】
810において、プロセッサ220(またはレコード決定モジュール420)は、1つまたは複数の発注レコードを決定する可能性がある。一部の実施形態において、各発注レコードは、履歴的発注に対応する可能性がある。一部の実施形態において、時間の所定の期間の間に、各ドライバーに関して、プロセッサは、各履歴的発注に対応する発注レコードを決定する可能性がある。
【００８９】
一部の実施形態において、発注レコードは、履歴的発注に対応するレコードを指す可能性があり、対応する履歴的ドライバーが、履歴的発注を受け付けた。一部の実施形態において、発注レコードは、履歴的発注を受け付けたときの履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、履歴的発注を受け付けることおよび履歴的発注のためにサービスを提供すること(運転すること)を含むドライバーの行為、履歴的発注の価格を含むドライバーの収入、履歴的発注を終えたときの履歴的ドライバーの時間および位置を含むドライバーのその後の空間-時間ステータスなど、またはこれらの任意の組合せを含む可能性がある。
【００９０】
一部の実施形態において、履歴的発注は、包括的な相乗りの発注である。包括的な相乗りの発注は、相乗りの発注の経路が処理され、最適化される前または後に、同じ経路IDを有する複数の相乗りの発注を組み合わせる発注を指す可能性がある。それぞれの相乗りの発注は、サービス要求に対応する可能性がある。一部の実施形態において、経路IDは、運転経路の識別情報を指す可能性がある。プロセッサ220は、それぞれの相乗りの発注のために経路IDを割り振る可能性がある。たとえば、時間の同じ期間に同じドライバーによって終了されることが可能であり、同じ運転経路の少なくとも一部を有する相乗りの発注は、同じ経路IDを割り振られる可能性がある。同じ経路IDを有する相乗りの発注は、ドライバーに割り振られる包括的な相乗りの発注に含められる可能性がある。一部の実施形態において、プロセッサ220は、包括的な相乗りの発注に対応する発注レコードを生成する可能性がある。発注レコードは、最初に包括的な相乗りの発注を受け付けたときの履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、包括的な相乗りの発注を受け付けることおよび包括的な相乗りの発注のためにサービスを提供すること(運転すること)を含むドライバーの行為、相乗りの発注の価格の合計を含むドライバーの収入、最後に包括的な相乗りの発注を終えたときの履歴的ドライバーの時間および位置を含むドライバーのその後の空間-時間ステータスなど、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、最初に包括的な相乗りの発注を受け付けたときの履歴的ドライバーの時間および位置は、相乗りの発注の中で最も早く始まった同じ経路IDを有する相乗りの発注からの相乗りの発注の時間および位置を指す可能性がある。相乗りの発注の価格の合計は、同じ経路IDを有する相乗りの発注の発注価格の合計を指す可能性がある。一部の実施形態において、それぞれの相乗りの発注の価格は、ユーザに対して表示される価格を指し、ユーザがそれぞれの相乗りの発注に関して支払う可能性がある価格を指す可能性がある。包括的な相乗りの発注を終えたときの履歴的ドライバーの時間および位置は、相乗りの発注の中で最も最近終了した同じ経路IDを有する相乗りの発注からの相乗りの発注の時間および位置を指す可能性がある。
【００９１】
820において、プロセッサ220(またはレコード決定モジュール420)は、1つまたは複数の空き時間レコードを決定する可能性がある。一部の実施形態において、各空き時間発注は、いかなる履歴的発注にも関連しないアイドル時間の期間に対応する可能性がある。
【００９２】
一部の実施形態において、アイドル時間の期間は、異なる応用のシナリオに応じて決定される可能性がある。たとえば、アイドル時間の期間は、異なる時間、異なるエリアなど、またはこれらの任意の組合せに応じて異なる可能性がある。別の例として、アイドル時間の期間は、10分、20分、45分などの、システム100によって決定された時間の特定の期間である可能性がある。単なる例として、プロセッサ220は、10分毎に空き時間レコードを生成する可能性がある。履歴的ドライバーDは、8:00から8:20まで仕事をせずにおり、8:23に履歴的発注を受け付けた。プロセッサは、8:00から8:30までの間に2つの空き時間レコード、すなわち、位置Aから始まった8:00から8:10から、位置Aで終了した8:10から8:20まで、収入は0である、レコード1と、8:10から8:20までに位置Aから始まり、8:20から8:30までに位置Aで終了する、収入は0である、レコード2とを生成する可能性がある。
【００９３】
一部の実施形態において、空き時間発注は、対応する履歴的ドライバーがいかなる履歴的発注も受け付けず、いかなる履歴的発注のためにもサービスを提供せずに仕事をしないでいたことに応じて、いかなる履歴的発注にも関連しないアイドル時間の期間に対応するレコードを指す可能性がある。一部の実施形態において、空き時間発注は、アイドル時間の期間中の履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、アイドル時間の期間中仕事をせずにいることを含むドライバーの行為、ゼロを含むドライバーの収入、アイドル時間の期間の終わりの履歴的ドライバーのその後の時間およびその後の位置を含むドライバーのその後の空間-時間ステータスなど、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、アイドル時間の期間は、アイドル時間内の所定の継続時間である可能性がある。
【００９４】
一部の実施形態において、発注レコード(または空き時間レコード)内の時間および位置は、量子化された値である可能性がある。たとえば、時間は、1分、10分、30分、300分などの特定の分数の間隔として量子化される可能性がある。別の例として、プロセッサ220は、エリアを複数の長方形グリッドまたはその他の形のグリッドに分割する可能性がある。位置は、長方形グリッドの粒度(granularity)として量子化される可能性がある。たとえば、長方形グリッドは、1キロメートル*1キロメートルまたは700m*700mである可能性があり、位置は、1つの長方形グリッド、10個の長方形グリッド、100個の長方形グリッドなどである可能性がある。
【００９５】
上の説明は、例示を目的として与えられるに過ぎず、本開示の範囲を限定するように意図されていないことに留意されたい。当業者のために、本開示の教示の下で複数の変更および修正がなされる可能性がある。しかし、それらの変更および修正は、本開示の範囲を逸脱しない。たとえば、1つまたは複数のその他の任意のステップ(たとえば、記憶するステップ、前処理するステップ)が、例示的なプロセス/方法800の他のところに追加される可能性がある。別の例として、例示的なプロセス/方法800のすべてのステップは、1組の命令を含むコンピュータ可読媒体に実装される可能性がある。命令は、電子電流または電気信号の形態で送信される可能性がある。
【００９６】
図9は、本開示の一部の実施形態による複数のレコードを決定するための例示的なプロセスおよび/または方法900の流れ図である。一部の実施形態において、プロセス900の1つまたは複数のステップは、図1に示されたシステム100において実施される可能性がある。たとえば、プロセス900の1つまたは複数のステップは、命令の形態でストレージ130および/またはストレージ(たとえば、ROM230、RAM240など)に記憶され、サーバ110(たとえば、サーバ110の処理エンジン112、またはサーバ110の処理エンジン112のプロセッサ220)によって呼び出されるおよび/または実行される可能性がある。
【００９７】
一部の実施形態において、プロセッサ220は、図9の説明の複数のレコードを取得するためのプロセスおよび/または方法900を実施する可能性がある。たとえば、プロセッサ220は、1つもしくは複数の発注レコードおよび/または1つもしくは複数の空き時間レコードを含む複数のレコードを取得するために、意思決定プロセスモデル(たとえば、MDPモデル)によって1つもしくは複数の発注レコードおよび/または1つもしくは複数の空き時間レコードを決定するためのプロセスおよび/または方法900を実施する可能性がある。一部の実施形態では、プロセスおよび/または方法900において決定された1つもしくは複数の発注レコードおよび/または1つもしくは複数の空き時間レコードは、図5の説明の強化学習アルゴリズムに従って価値観数を決定するために使用される可能性がある。
【００９８】
910において、プロセッサ220(またはレコード決定モジュール420)は、1つまたは複数の発注レコードを決定する可能性がある。一部の実施形態において、各発注レコードは、履歴的発注に対応する可能性がある。発注レコードは、本開示において図8およびその説明に関連して示される可能性がある。
【００９９】
920において、プロセッサ220(またはレコード決定モジュール420)は、ドライバー情報に基づいて時間の所定の期間内の履歴的ドライバーのオンラインの時点およびオフラインの時点を取得する可能性がある。
【０１００】
一部の実施形態において、プロセッサ220は、ドライバー情報から時間の所定の期間内の履歴的ドライバーのオンラインの時点およびオフラインの時点を抽出する可能性がある。時間の所定の期間は、異なる応用のシナリオに応じて決定される可能性がある。たとえば、所定の期間は、1時間、数時間、1日、1週間、1ヶ月、1年などである可能性がある。
【０１０１】
一部の実施形態において、オンラインの時点は、履歴的ドライバーがオンラインプラットフォームに接続され、発注を割り当てられるもしくは受け付けるように準備されたか、または履歴的発注のためにサービスを提供していた時点を指す可能性がある。たとえば、オンラインの時点は、履歴的ドライバーがネットワーク150を介してドライバーのモバイルデバイスにインストールされたアプリケーションにログインした時点である可能性がある。さらに別の例として、オンラインの時点は、履歴的ドライバーがネットワーク150を介してサービス機能を開始するためにアプリケーションのスイッチをオンにした時点である可能性がある。
【０１０２】
一部の実施形態において、オフラインの時点は、履歴的ドライバーがオンラインプラットフォームから切断し、発注を割り当てられるもしくは受け付けるために利用不可能であった時点を指す可能性がある。たとえば、オフラインの時点は、履歴的ドライバーがネットワーク150を介してドライバーのモバイルデバイスにインストールされたアプリケーションからログアウトした時点である可能性がある。さらに別の例として、オフラインの時点は、履歴的ドライバーがネットワーク150を介してサービス機能を閉じるためにアプリケーションのスイッチをオフにした時点である可能性がある。
【０１０３】
930において、プロセッサ220(またはレコード決定モジュール420)は、オンラインの時点と最初の履歴的発注を受け付ける時点との間のアイドル時間の期間に対応する空き時間レコードのうちの少なくとも1つを決定する可能性がある。一部の実施形態において、空き時間レコードのうちのそのような1つは、ドライバーがログオンした後およびドライバーが第1の発注を開始する前の時間の期間に対応する。
【０１０４】
一部の実施形態において、プロセッサ220は、まず、発注情報および対応するドライバー情報から時間の所定の期間中に最初の履歴的発注を受け付ける時点を取得する可能性がある。オンラインの時点および最初の履歴的発注を受け付ける時点の間に、プロセッサ220は、アイドル時間の期間毎に空き時間レコードを生成する可能性がある。たとえば、履歴的ドライバーは、ある日の7:55にオンラインになり、8:23に履歴的発注を受け付けた(またはそれに割り当てられた)。プロセッサ220は、8:00から8:30までの間に2つの空き時間レコード、すなわち、レコード1、すなわち、「位置Aから始まった8:00から8:10」(ドライバーの空間-時間ステータス(S))から、「位置Aで終了した8:10から8:20」(ドライバーのその後の空間-時間ステータス(P))まで、「収入は0である」(ドライバーの収入(R))と、レコード2、すなわち、「位置Aから始まった8:10から8:20」(ドライバーの空間-時間ステータス(S))から、「位置Aで終了した8:20から8:30まで」(ドライバーのその後の空間-時間ステータス(P))、収入は0である(ドライバーの収入(R))とを生成する可能性がある。
【０１０５】
940において、プロセッサ220(またはレコード決定モジュール420)は、最後の履歴的発注を終える時点とオフラインの時点との間のアイドル時間の期間に対応する空き時間レコードのうちの少なくとも別の1つを決定する可能性がある。一部の実施形態において、空き時間レコードのうちのそのような別の1つは、ドライバーが最後の発注を終えた後およびドライバーがログアウトする前の時間の期間に対応する。
【０１０６】
一部の実施形態において、プロセッサ220は、まず、発注情報および対応するドライバー情報から時間の所定の期間中に最後の履歴的発注を終える時点を取得する可能性がある。最後の履歴的発注を終える時点とオフラインの時点との間に、プロセッサ220は、アイドル時間の期間毎に空き時間レコードを生成する可能性がある。たとえば、履歴的ドライバーは、ある日の17:35に最後の履歴的発注を受け付け(またはそれに割り当てられ)、18:01にオフラインになった。プロセッサ220は、17:30から18:00までの間に2つの空き時間レコード、すなわち、レコード1、すなわち、「位置Cから始まった17:30から17:40」(ドライバーの空間-時間ステータス(S))から、「位置Vで終了した17:40から17:50」(ドライバーのその後の空間-時間ステータス(P))まで、「収入は0である」(ドライバーの収入(R))と、レコード2、すなわち、「位置Cから始まった17:40から17:50」(ドライバーの空間-時間ステータス(S))から、「位置Cで終了した17:50から18:00」(ドライバーのその後の空間-時間ステータス(P))まで、「収入は0である」(ドライバーの収入(R))とを生成する可能性がある。
【０１０７】
一部の実施形態において、プロセッサ220は、オンラインの時点の前の時間の期間または最後の履歴的発注を終える時点の後の時間の期間中にいかなる空き時間レコードも決定(または生成)しない可能性がある。特定の実施形態において、そのようなレコードがないことは、ログオンした後に最初の履歴的発注を得るかまたは最後の履歴的発注の後にログオフする際の履歴的ドライバーの機敏さを反映している可能性がある。
【０１０８】
上の説明は、例示を目的として与えられるに過ぎず、本開示の範囲を限定するように意図されていないことに留意されたい。当業者のために、本開示の教示の下で複数の変更および修正がなされる可能性がある。しかし、それらの変更および修正は、本開示の範囲を逸脱しない。たとえば、1つまたは複数のその他の任意のステップ(たとえば、記憶するステップ、前処理するステップ)が、例示的なプロセス/方法900の他のところに追加される可能性がある。別の例として、例示的なプロセス/方法900のすべてのステップは、1組の命令を含むコンピュータ可読媒体に実装される可能性がある。命令は、電子電流または電気信号の形態で送信される可能性がある。
【０１０９】
図10は、本開示の一部の実施形態による複数のレコードを決定するための例示的なプロセスおよび/または方法1000の流れ図である。一部の実施形態において、プロセス1000の1つまたは複数のステップは、図1に示されたシステム100において実施される可能性がある。たとえば、プロセス1000の1つまたは複数のステップは、命令の形態でストレージ130および/またはストレージ(たとえば、ROM230、RAM240など)に記憶され、サーバ110(たとえば、サーバ110の処理エンジン112、またはサーバ110の処理エンジン112のプロセッサ220)によって呼び出されるおよび/または実行される可能性がある。
【０１１０】
一部の実施形態において、プロセッサ220は、図5の説明の複数のレコードを取得するためのプロセスおよび/または方法1000を実施する可能性がある。たとえば、プロセッサ220は、複数のレコードを取得するために、意思決定プロセスモデル(たとえば、MDPモデル)によって1つまたは複数の空き時間レコードを決定するためのプロセスおよび/または方法1000を実施する可能性がある。一部の実施形態では、プロセスおよび/または方法1000において決定された1つまたは複数の空き時間レコードは、図5の説明の強化学習アルゴリズムに従って価値観数を決定するために使用される可能性がある。
【０１１１】
1010において、プロセッサ220(またはレコード決定モジュール420)は、発注情報に基づいてその後の発注の発注タイプを特定する可能性がある。
【０１１２】
一部の実施形態において、発注タイプは、オンラインオンデマンドプラットフォームによって提供されるサービスの種類を指す可能性がある。たとえば、発注タイプは、タクシーの発注、高速車(express car)の発注、自家用車の発注、相乗りの発注、バスの発注、ヒッチハイクの発注、予約の発注、リアルタイムの発注など、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、特定の乗り物(およびしたがってそれらの関連するドライバー)は、特定の発注タイプのみ扱うことができる。一部の実施形態において、一部の発注タイプは、特定の時間の期間においてのみ利用可能である。一部の実施形態において、発注は、1つまたは複数の発注タイプに属する可能性がある(たとえば、相乗りの発注と自家用車の発注との両方である可能性がある)。一部の実施形態において、プロセッサ220は、その後の発注に関連する乗り物またはその後の発注の時間情報に基づいて発注タイプを特定する可能性がある。
【０１１３】
一部の実施形態において、その後の発注は、特定の履歴的発注の終了時間(特定の履歴的発注を終わらせる時間とも呼ばれる)から最も近い時間に開始された発注を指す可能性がある。たとえば、特定の履歴的発注の終了時間は10:00であり、その後の発注は10:00より後の最も近い時点で始まる発注である可能性があり、それらの時点の間にその他の発注はない。
【０１１４】
1020において、その後の発注を予約の発注として特定することに応じて、プロセッサ220(またはレコード決定モジュール420)は、予約の発注の開始時点から予め設定された緩衝時間の前の基準時点を決定する可能性がある。
【０１１５】
一部の実施形態において、プロセッサ220は、発注情報から予約の発注の開始時点を取得する可能性がある。一部の実施形態において、予め設定された緩衝時間は、異なる応用のシナリオに応じて決定される可能性がある。たとえば、予め設定された緩衝時間は、異なるエリア、予約の発注の異なる開始時間など、またはこれらの任意の組合せに応じて異なる可能性がある。別の例として、予め設定された緩衝時間は、システム100によって決定された時間の特定の期間である可能性がある。たとえば、予め設定された緩衝時間は、1時間、30分、10分、5分などである可能性がある。
【０１１６】
予約の発注の開始時点の前に、プロセッサ220は、予約の発注の開始時点から予め設定された緩衝時間の前の基準時点を決定する可能性がある。たとえば、予め設定された緩衝時間は30分であり、予約の発注の開始時点は13:45であり、基準時点は13:15である可能性がある。
【０１１７】
1030において、プロセッサ220(またはレコード決定モジュール420)は、履歴的発注を終わらせる時点と基準時点との間のアイドル時間の期間に対応する少なくとも1つの空き時間レコードを決定する可能性がある。
【０１１８】
履歴的発注を終える時点から基準時点までに、プロセッサ220は、アイドル時間の期間毎に空き時間レコードを生成する可能性がある。たとえば、履歴的ドライバーは10:00に履歴的発注を終え、予約の発注の開始時点は13:45であり、基準時点は13:15である。10:00から13:15までに、プロセッサ220は、10分毎に空き時間レコードを生成する可能性がある。
【０１１９】
上の説明は、例示を目的として与えられるに過ぎず、本開示の範囲を限定するように意図されていないことに留意されたい。当業者のために、本開示の教示の下で複数の変更および修正がなされる可能性がある。しかし、それらの変更および修正は、本開示の範囲を逸脱しない。たとえば、1つまたは複数のその他の任意のステップ(たとえば、記憶するステップ、前処理するステップ)が、例示的なプロセス/方法1000の他のところに追加される可能性がある。別の例として、例示的なプロセス/方法1000のすべてのステップは、1組の命令を含むコンピュータ可読媒体に実装される可能性がある。命令は、電子電流または電気信号の形態で送信される可能性がある。
【０１２０】
図11は、本開示の一部の実施形態による各ドライバー-発注のペアに関する第1のマッチング値を決定するための例示的なプロセスおよび/または方法1100の流れ図である。一部の実施形態において、プロセス1100の1つまたは複数のステップは、図1に示されたシステム100において実施される可能性がある。たとえば、プロセス1100の1つまたは複数のステップは、命令の形態でストレージ130および/またはストレージ(たとえば、ROM230、RAM240など)に記憶され、サーバ110(たとえば、サーバ110の処理エンジン112、またはサーバ110の処理エンジン112のプロセッサ220)によって呼び出されるおよび/または実行される可能性がある。
【０１２１】
一部の実施形態において、プロセッサ220は、図11の説明の複数のレコードを取得するためのプロセスおよび/または方法1100を実施する可能性がある。たとえば、プロセッサ220は、複数のレコードを取得するために、意思決定プロセスモデル(たとえば、MDPモデル)によって1つまたは複数の空き時間レコードを決定するためのプロセスおよび/または方法1100を実施する可能性がある。一部の実施形態では、プロセスおよび/または方法1100において決定された1つまたは複数の空き時間レコードは、図5の説明の強化学習アルゴリズムに従って価値観数を決定するために使用される可能性がある。
【０１２２】
1110において、プロセッサ220(またはレコード決定モジュール420)は、履歴的ドライバーのサービスタイプを特定する可能性がある。
【０１２３】
一部の実施形態において、サービスタイプは、ドライバーがそのドライバーの乗り物によって提供する可能性があるサービスの種類を指す可能性がある。一部の実施形態において、サービスタイプは、特定の乗り物が特定のタイプの発注のためにサービスを提供することを許されるので、ドライバーの乗り物に関連付けられる可能性がある。たとえば、履歴的ドライバーのサービスタイプは、タクシーサービス、高速車サービス、自家用車サービス、バスサービスなど、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、プロセッサ220は、ドライバーの乗り物情報に基づいてサービスタイプを特定する可能性がある。
【０１２４】
1120において、プロセッサ220(またはレコード決定モジュール420)は、発注情報に基づいてその後の発注の発注タイプを特定する可能性がある。
【０１２５】
たとえば、発注タイプは、タクシーの発注、高速車の発注、自家用車の発注、バスの発注など、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、プロセッサ220は、その後の発注に関連する乗り物に基づいて発注タイプを特定する可能性がある。
【０１２６】
一部の実施形態において、その後の発注は、特定の履歴的発注の終了時間(特定の履歴的発注を終わらせる時間とも呼ばれる)から最も近い時間に開始された発注を指す可能性がある。たとえば、特定の履歴的発注の終了時間は10:00であり、その後の発注は10:00より後の最も近い時点で始まった発注である可能性があり、それらの時点の間にその他の発注はない。
【０１２７】
1130において、その後の発注を履歴的ドライバーに関するアップグレードの発注として特定することに応じて、プロセッサ220(またはレコード決定モジュール420)は、履歴的ドライバーが同じサービスタイプに関連する通常の発注を受け取るための開始時点を特定する可能性がある。
【０１２８】
一部の実施形態において、アップグレードの発注は、ドライバーに合わない発注を指す可能性がある。たとえば、アップグレードの発注の発注タイプは、ドライバーのサービスタイプが提供する発注タイプと異なる。別の例として、自家用車のドライバーが高速車の発注(またはタクシーの発注)を受け取る(またはそれに割り当てられる)とき、高速車の発注(またはタクシーの発注)は、自家用車のドライバーに関するアップグレードの発注である。一部の実施形態において、プロセッサ220は、その後の発注の発注タイプおよび履歴的ドライバーのサービスタイプに基づいてアップグレードの発注を特定する可能性がある。
【０１２９】
一部の実施形態において、同じサービスタイプに関連する通常の発注は、履歴的ドライバーのサービスタイプを有する同じ発注タイプの発注を指す可能性がある。たとえば、履歴的ドライバーは、自家用車のドライバーであり、通常の発注は、自家用車の発注である可能性がある。
【０１３０】
一部の実施形態において、プロセッサ220は、発注情報およびドライバー情報に基づいて同じサービスタイプに関連する通常の発注を特定する可能性がある。たとえば、プロセッサ220は、まず、発注情報および対応するドライバー情報に基づいて、履歴的ドライバーがアップグレードの発注を受け付けた(またはそれに割り当てられた)エリアと、履歴的ドライバーが履歴的発注を終えた時点とを決定する可能性がある。プロセッサ220は、同じサービスタイプの複数の通常の発注を取得し、複数の通常の発注を受け取るために開始時間を比較する可能性がある。履歴的発注を終える時点に最も近い時点が、履歴的ドライバーが通常の発注を受け取るための開始点として特定される可能性がある。
【０１３１】
1140において、プロセッサ220(またはレコード決定モジュール420)は、履歴的発注を終わらせることと開始時点との間のアイドル時間の期間に対応する少なくとも1つの空き時間レコードを決定する可能性がある。
【０１３２】
履歴的発注を終える時点から通常の発注の開始時点までに、プロセッサ220は、アイドル時間の期間毎に空き時間レコードを生成する可能性がある。たとえば、プロセッサ220は、履歴的発注を終える時点から通常の発注の開始時点まで10分毎に空き時間レコードを生成する可能性がある。
【０１３３】
上の説明は、例示を目的として与えられるに過ぎず、本開示の範囲を限定するように意図されていないことに留意されたい。当業者のために、本開示の教示の下で複数の変更および修正がなされる可能性がある。しかし、それらの変更および修正は、本開示の範囲を逸脱しない。たとえば、1つまたは複数のその他の任意のステップ(たとえば、記憶するステップ、前処理するステップ)が、例示的なプロセス/方法1100の他のところに追加される可能性がある。別の例として、例示的なプロセス/方法1100のすべてのステップは、1組の命令を含むコンピュータ可読媒体に実装される可能性がある。命令は、電子電流または電気信号の形態で送信される可能性がある。
【０１３４】
基本的な概念をそのように説明したので、以上の詳述された開示が例として提示されるようにのみ意図されており、限定的でないことは、この詳述された開示を読んだ後の当業者にかなり明らかであろう。本明細書において明示的に述べられないが、様々な変更、改善、および修正が、行われる可能性があり、当業者を対象とする。これらの変更、改善、および修正は、本開示によって示唆されるように意図されており、本開示の例示的な実施形態の精神および範囲の中にある。
【０１３５】
さらに、特定の用語が、本開示の実施形態を説明するために使用された。たとえば、用語「一実施形態」、「実施形態」、および/または「一部の実施形態」は、実施形態に関連して説明された特定の特徴、構造、または特質が本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書の様々な部分における「実施形態」、「一実施形態」、または「代替的な実施形態」への2つ以上の言及は、必ずしもすべてが同じ実施形態について言及しているとは限らないことが強調され、理解されるべきである。さらに、特定の特徴、構造、または特質は、本開示の1つまたは複数の実施形態において適切に組み合わされる可能性がある。
【０１３６】
さらに、本開示の態様が任意の新しいおよび有用なプロセス、機械、製造物、もしくは組成物、またはこれらの任意の新しいおよび有用な改良を含むいくつかの特許を受けることができる部類または文脈のいずれかで本明細書において示され、説明される可能性があることは、当業者に理解されるであろう。したがって、本開示の態様は、概してすべて本明細書において「ブロック」、「モジュール」、「エンジン」、「ユニット」、「構成要素」、または「システム」と呼ばれる可能性があるすべてハードウェア、すべて(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)ソフトウェア、またはソフトウェアとハードウェアとを組み合わせる実装で実装される可能性がある。さらに、本開示の態様は、コンピュータ可読プログラムコードを具現化する1つまたは複数のコンピュータ可読媒体に具現化されたコンピュータプログラム製品の形態をとる可能性がある。
【０１３７】
コンピュータ可読信号媒体は、たとえば、ベースバンドにまたは搬送波の一部としてコンピュータ可読プログラムコードが具現化された伝播データ信号を含む可能性がある。そのような伝播信号は、電磁、光など、またはこれらの任意の好適な組合せを含む様々な形態のうちのいずれかの形態をとる可能性がある。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、命令実行システム、装置、もしくはデバイスによってまたは命令実行システム、装置、もしくはデバイスに関連して使用するためのプログラムを伝達するか、伝播させるか、または運ぶ可能性がある任意のコンピュータ可読媒体である可能性がある。コンピュータ可読信号媒体上に具現化されたプログラムコードは、ワイヤレス、固定電話回線、光ファイバケーブル、RFなど、またはこれらの任意の好適な組合せを含む任意の適切な媒体を使用して送信される可能性がある。
【０１３８】
本開示の態様の動作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Pythonなどのオブジェクト指向プログラミング言語、「C」プログラミング言語、Visual Basic、Fortran 1703、Perl、COBOL 1702、PHP、ABAPなどの通常の手続き型プログラミング言語、Python、Ruby、およびGroovyなどの動的プログラミング言語、またはその他のプログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで記述される可能性がある。プログラムコードは、すべてユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとしてユーザのコンピュータ上で部分的に、ユーザのコンピュータ上で部分的にかつ遠隔のコンピュータ上で部分的に、またはすべて遠隔のコンピュータもしくはサーバ上で実行される可能性がある。後者のシナリオにおいて、遠隔のコンピュータが、ローカルエリアネットワーク(LAN)もしくは広域ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続される可能性があり、あるいは接続が、(たとえば、インターネットサービスプロバイダを使用してインターネットを通じて)外部コンピュータにもしくはクラウドコンピューティング環境内で行われるか、またはサービスとしてのソフトウェア(SaaS)などのサービスとして提供される可能性がある。
【０１３９】
さらに、処理要素もしくはシーケンスの上述の順序または数字、文字、もしくはその他の呼称の使用は、したがって、請求項に明記された場合を除いて、特許請求されるプロセスおよび方法をいかなる順序に限定するようにも意図されていない。上述の開示は様々な例によって本開示の様々な有用な実施形態であるものと現在考えられることを検討するが、そのような詳細はそれだけを目的としており、添付の請求項は開示された実施形態に限定されず、逆に、開示された実施形態の精神および範囲の中にある修正および均等な構成を包含するように意図されることを理解されたい。たとえば、上述の様々な構成要素の実装は、ハードウェアデバイスに具現化される可能性があるが、ソフトウェアのみの解決策―たとえば、既存のサーバまたはモバイルデバイスへのインストール―として実装される可能性もある。
【０１４０】
同様に、本開示の実施形態の上の説明において、様々な特徴が、本開示を簡素にし、様々な実施形態のうちの1つまたは複数の理解を助ける目的で単一の実施形態、図、またはその説明に一緒にまとめられることがあることを理解されたい。しかし、開示のこの方法は、特許請求の対象が各請求項で明確に述べられているよりも多くの特徴を必要とするという意図を反映していると解釈されるべきでない。むしろ、特許請求の対象は、単一の上述の開示された実施形態の一部の特徴に存する可能性がある。
【符号の説明】
【０１４１】
100  システム
110  サーバ
112  処理エンジン
120  乗客の端末
130  ストレージ
140  ドライバーの端末
150  ネットワーク
160  情報源
120-1  モバイルデバイス
120-2  タブレットコンピュータ
120-3  ラップトップコンピュータ
120-4  自動車内の組み込みデバイス
150-1  ワイヤレスアクセスポイント
150-2  ワイヤレスアクセスポイント
200  コンピューティングデバイス
210  内部通信バス
220  プロセッサ
230  読み出し専用メモリ(ROM)
240  ランダムアクセスメモリ(RAM)
250  COMポート
260  I/O構成要素
270  ディスク
300  モバイルデバイス
310  通信ユニット
320  ディスプレイ
330  グラフィック処理ユニット(GPU)
340  中央演算処理装置(CPU)
350  I/O
360  メモリ
370  モバイルオペレーティングシステム
380  アプリケーション
390  ストレージ
410  通信モジュール
420  レコード決定モジュール
430  価値関数決定モジュール
440  割り当て最適化モジュール
500  プロセス、方法
700  プロセス、方法
800  プロセス、方法
900  プロセス、方法
1000  プロセス、方法
1100  プロセス、方法
【図１】
2020532787.tif 000003
【図２】
2020532787.tif 000004
【図３】
2020532787.tif 000005
【図４】
2020532787.tif 000006
【図５】
2020532787.tif 000007
【図６−Ａ】
2020532787.tif 000008
【図６−Ｂ】
2020532787.tif 000009
【図７】
2020532787.tif 000010
【図８】
2020532787.tif 000011
【図９】
2020532787.tif 000012
【図１０】
2020532787.tif 000013
【図１１】
2020532787.tif 000014
【手続補正書】
【提出日】令和2年3月3日(2020.3.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オンラインオンデマンドサービスを最適化するためのシステムであって、
オンラインオンデマンドサービスにおいて価値関数を決定するための1組の命令を含む少なくとも1つのストレージ媒体と、
前記ストレージ媒体と通信する少なくとも1つのプロセッサであって、前記1組の命令を実行するときに、
複数の履歴的発注に関連する発注情報を取得すること、
前記複数の履歴的発注に対応する複数の履歴的ドライバーに関連するドライバー情報を取得すること、
時間の所定の期間中の各履歴的ドライバーに関して、意思決定プロセスモデルによって前記発注情報および前記ドライバー情報に基づいて複数のレコードを決定することであって、各レコードが、ドライバーの空間-時間ステータス、ドライバーの行為、ドライバーの収入、およびドライバーのその後の空間-時間ステータスを含む、決定すること、ならびに
強化学習アルゴリズムによって各履歴的ドライバーの前記複数のレコードに基づいて価値関数を決定することを行うように指示される、少なくとも1つのプロセッサとを含む、システム。
【請求項２】
前記意思決定プロセスモデルが、マルコフ決定過程(MDP)モデルである請求項1に記載のシステム。
【請求項３】
前記強化学習アルゴリズムが、時間的差分学習アルゴリズムまたは動的計画法アルゴリズムである請求項1または2に記載のシステム。
【請求項４】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定するために、前記少なくとも1つのプロセッサが、
履歴的発注にそれぞれが対応する1つまたは複数の発注レコードを決定し、
いかなる履歴的発注にも関連しないアイドル時間の期間にそれぞれが対応する1つまたは複数の空き時間レコードを決定するようにさらに指示される請求項1から3のいずれか一項に記載のシステム。
【請求項５】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定するために、前記少なくとも1つのプロセッサが、
履歴的発注にそれぞれが対応する1つまたは複数の発注レコードを決定し、
前記ドライバー情報に基づいて時間の前記所定の期間内の前記履歴的ドライバーのオンラインの時点およびオフラインの時点を取得し、
前記オンラインの時点と最初の履歴的発注を受け付ける時点との間のアイドル時間の期間に対応する空き時間レコードのうちの少なくとも1つを決定し、
最後の履歴的発注を終える時点と前記オフラインの時点との間のアイドル時間の期間に対応する空き時間レコードのうちの少なくとも別の1つを決定するようにさらに指示される請求項1から4のいずれか一項に記載のシステム。
【請求項６】
前記複数のレコードが、少なくとも1つの発注レコードおよび少なくとも1つの空き時間レコードを含み、
発注レコードが、履歴的発注に対応し、
前記履歴的発注を受け付けたときの前記履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、
前記履歴的発注を受け付けることを含むドライバーの行為、
前記履歴的発注の価格を含むドライバーの収入、または
前記履歴的発注を終えたときの前記履歴的ドライバーの時間および位置を含むドライバーのその後の空間-時間ステータスのうちの少なくとも1つを含み、
空き時間レコードが、いかなる履歴的発注にも関連しないアイドル時間の期間に対応し、
アイドル時間の前記期間中の前記履歴的ドライバーの時間および位置を含むドライバーの空間-時間ステータス、
アイドル時間の前記期間中仕事をせずにいることを含むドライバーの行為、
ゼロを含むドライバーの収入、または
アイドル時間の前記期間の終わりの前記履歴的ドライバーのその後の時間およびその後の位置を含むドライバーのその後の空間-時間ステータスのうちの少なくとも1つを含み、
アイドル時間の前記期間が、前記アイドル時間内の所定の継続時間である請求項1から5のいずれか一項に記載のシステム。
【請求項７】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定するために、前記少なくとも1つのプロセッサが、
前記発注情報に基づいてその後の発注の発注タイプを特定し、
前記その後の発注が予約の発注であると特定することに応じて、前記予約の発注の開始時点から予め設定された緩衝時間の前の基準時点を決定し、
前記履歴的発注を終わらせる時点と前記基準時点との間のアイドル時間の期間に対応する少なくとも1つの空き時間レコードを決定するようにさらに指示される請求項6に記載のシステム。
【請求項８】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定するために、前記少なくとも1つのプロセッサが、
前記履歴的ドライバーのサービスタイプを特定し、
前記発注情報に基づいてその後の発注の発注タイプを特定し、
前記その後の発注が前記履歴的ドライバーに関するアップグレードの発注であると特定することに応じて、前記履歴的ドライバーが同じサービスタイプに関連する通常の発注を受け取るための開始時点を特定し、
前記履歴的発注を終わらせることと前記開始時点との間のアイドル時間の期間に対応する少なくとも1つの空き時間レコードを決定するようにさらに指示される請求項6に記載のシステム。
【請求項９】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定するために、前記少なくとも1つのプロセッサが、
前記履歴的発注に対応する前記発注レコードを決定するようにさらに指示され、前記履歴的発注が、同じ経路IDを有する複数の相乗りの発注を組み合わせる包括的な相乗りの発注であり、
前記履歴的ドライバーの前記時間および前記位置が、それぞれ、前記包括的な相乗りの発注を最初に受け付けたときの前記履歴的ドライバーの時間および位置であり、
前記履歴的発注の前記価格が、前記相乗りの発注の価格の合計である請求項6に記載のシステム。
【請求項１０】
前記1組の命令を実行するとき、前記少なくとも1つのプロセッサが、
前記価値関数に基づいて入来する発注へのドライバーの割り当てを最適化するようにさらに指示される請求項1から9のいずれか一項に記載のシステム。
【請求項１１】
少なくとも1つのプロセッサ、少なくとも1つのストレージ媒体、およびネットワークに接続された通信プラットフォームを有するコンピューティングデバイス上で実施されるオンラインオンデマンドサービスを最適化するための方法であって、
前記複数の履歴的発注に対応する複数の履歴的ドライバーに関連するドライバー情報を取得するステップと、
時間の所定の期間中の各履歴的ドライバーに関して、意思決定プロセスモデルによって前記発注情報および前記ドライバー情報に基づいて複数のレコードを決定するステップであって、各レコードが、ドライバーの空間-時間ステータス、ドライバーの行為、ドライバーの収入、およびドライバーのその後の空間-時間ステータスを含む、ステップと、
強化学習アルゴリズムによって各履歴的ドライバーの前記複数のレコードに基づいて価値関数を決定するステップとを含む、方法。
【請求項１２】
前記意思決定プロセスモデルが、マルコフ決定過程(MDP)モデルであり、前記強化学習アルゴリズムが、時間的差分学習アルゴリズムまたは動的計画法アルゴリズムである請求項11に記載の方法。
【請求項１３】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定する前記ステップが、
履歴的発注にそれぞれが対応する1つまたは複数の発注レコードを決定することと、
いかなる履歴的発注にも関連しないアイドル時間の期間にそれぞれが対応する1つまたは複数の空き時間レコードを決定することとを含む請求項11または12に記載の方法。
【請求項１４】
時間の前記所定の期間中の各履歴的ドライバーに関して、前記複数のレコードを決定する前記ステップが、
履歴的発注にそれぞれが対応する1つまたは複数の発注レコードを決定することと、
前記ドライバー情報に基づいて時間の前記所定の期間内の前記履歴的ドライバーのオンラインの時点およびオフラインの時点を取得することと、
前記オンラインの時点と最初の履歴的発注を受け付ける時点との間のアイドル時間の期間に対応する空き時間レコードのうちの少なくとも1つを決定することと、
最後の履歴的発注を終える時点と前記オフラインの時点との間のアイドル時間の期間に対応する空き時間レコードのうちの少なくとも別の1つを決定することとを含む請求項11から13のいずれか一項に記載の方法。
【請求項１５】
オンラインオンデマンドサービスを最適化するための少なくとも1組の命令を含む非一時的コンピュータ可読媒体であって、前記1組の命令を実行するとき、前記少なくとも1組の命令が、前記少なくとも1つのプロセッサに、
複数の履歴的発注に関連する発注情報を取得すること、
前記複数の履歴的発注に対応する複数の履歴的ドライバーに関連するドライバー情報を取得すること、
時間の所定の期間中の各履歴的ドライバーに関して、意思決定プロセスモデルによって前記発注情報および前記ドライバー情報に基づいて複数のレコードを決定することであって、各レコードが、ドライバーの空間-時間ステータス、ドライバーの行為、ドライバーの収入、およびドライバーのその後の空間-時間ステータスを含む、決定すること、ならびに
強化学習アルゴリズムによって各履歴的ドライバーの前記複数のレコードに基づいて価値関数を決定することを行うように指示する、非一時的コンピュータ可読媒体。
【国際調査報告】
2020532787.tif 000015
2020532787.tif 000016