(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024082734
(43)【公開日】2024-06-20
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G16H 20/30 20180101AFI20240613BHJP
G06Q 50/10 20120101ALI20240613BHJP
【FI】
G16H20/30
G06Q50/10
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022196789
(22)【出願日】2022-12-09
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】清水 博
【テーマコード(参考)】
5L049
5L050
5L099
【Fターム(参考)】
5L049CC11
5L050CC11
5L099AA15
(57)【要約】
【課題】より効果的な追加対象の予定を含むスケジュールを提案することのできる情報処理装置、情報処理方法及びプログラムを提供する。
【解決手段】情報処理装置は、時間枠ごとに活動内容を示す項目が定められるスケジュールに対して追加する新規項目が元のスケジュールに含まれている既存項目と入れ替えられた調整後スケジュールを、動的計画法を用いて生成する制御部を備える。制御部は、動的計画法により、既存項目の中から最適な削除対象を選択し、新規項目が既存項目の間に挿入される最適な時間枠を決定してもよい。また、項目に対してそれぞれ評価点が設定され、制御部は、評価点に応じた総合評価が最善となるように調整後スケジュールを生成してもよい。
【選択図】
図4
【特許請求の範囲】
【請求項1】
時間枠ごとに活動内容を示す項目が定められるスケジュールに対して追加する新規項目が元のスケジュールに含まれている既存項目と入れ替えられた調整後スケジュールを、動的計画法を用いて生成する制御部を備える情報処理装置。
【請求項2】
前記制御部は、前記動的計画法により、前記既存項目の中から最適な削除対象を選択し、前記新規項目が前記既存項目の間に挿入される最適な前記時間枠を決定する請求項1記載の情報処理装置。
【請求項3】
前記項目に対してそれぞれ評価点が設定され、
前記制御部は、前記評価点に応じた総合評価が最善となるように前記調整後スケジュールを生成する
請求項2記載の情報処理装置。
【請求項4】
前記評価点は、前記項目を前記スケジュールから削除することに対して定められるものを含む請求項3記載の情報処理装置。
【請求項5】
前記評価点は、同一の活動内容に係る前記項目を複数削除する場合における当該項目の削除数に応じて定められるものを含む請求項4記載の情報処理装置。
【請求項6】
前記評価点は、前記新規項目の追加に伴って前記既存項目の前記時間枠が移動されることに対して定められるものを含む請求項3記載の情報処理装置。
【請求項7】
前記評価点は、隣り合う前記時間枠に位置する活動内容の組み合わせに応じて定められるものを含む請求項3記載の情報処理装置。
【請求項8】
前記評価点は、前記組み合わせにおける並び順に応じて異なるものを含む請求項7記載の情報処理装置。
【請求項9】
前記制御部は、前記新規項目が挿入され得る複数の前記時間枠のそれぞれについて、前記動的計画法により前記調整後スケジュールの候補を生成し、生成された前記候補のうち最善のものを前記調整後スケジュールとして決定する請求項2~8のいずれか一項に記載の情報処理装置。
【請求項10】
前記制御部は、前記新規項目の挿入を禁止する前記時間枠に係る要求を取得し、当該要求に基づいて前記新規項目が挿入され得る複数の前記時間枠を定める請求項9記載の情報処理装置。
【請求項11】
コンピュータの制御部が、時間枠ごとに活動内容を示す項目が定められるスケジュールに対して追加する新規項目が元のスケジュールに含まれている既存項目と入れ替えられた調整後スケジュールを、動的計画法を用いて生成する調整ステップ、
を含む情報処理方法。
【請求項12】
コンピュータを、
時間枠ごとに活動内容を示す項目が定められるスケジュールに対して追加する新規項目が元のスケジュールに含まれている既存項目と入れ替えられた調整後スケジュールを、動的計画法を用いて生成する調整手段
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
多くの活動を効率よく行うためには、スケジュール管理が重要である。健康を維持、増進するための継続的な運動なども適切にスケジュールに組み込まれる必要がある。特許文献1では、運動量を計測してその過不足を計算し、不足分を考慮して通勤時の歩行量を増やす提案や、旅行計画の提案を行う技術について開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、あるスケジュールを追加するためには、他のスケジュールを削る必要が生じるといった影響が出る。したがって、単にスケジュールの追加を提案するだけでは、時間不足を言い訳などにして実施されないケースが多く、必ずしも効果的ではないという課題がある。
【0005】
この発明の目的は、より効果的な追加対象の予定を含むスケジュールを提案することのできる情報処理装置、情報処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明は、
時間枠ごとに活動内容を示す項目が定められるスケジュールに対して追加する新規項目が元のスケジュールに含まれている既存項目と入れ替えられた調整後スケジュールを、動的計画法を用いて生成する制御部を備える情報処理装置である。
【発明の効果】
【0007】
本発明に従うと、より効果的な追加対象の予定を含むスケジュールを提案することができるという効果がある。
【図面の簡単な説明】
【0008】
【
図1】情報処理システムの機能構成を示すブロック図である。
【
図2】コストデータに記憶された各項目のコストの例を示す図表である。
【
図3】スケジュール調整について説明する図である。
【
図4】動的計画法によるスケジュールの特定について説明する図である。
【
図5】スケジュール調整制御処理の制御手順を示すフローチャートである。
【
図6】コスト算出処理の制御手順を示すフローチャートである。
【
図7】端末装置の表示部への設定条件選択メニューの表示例を示す図である。
【
図8】元のスケジュールに対して学習(勉強)を追加する場合のコストデータの例である。
【発明を実施するための形態】
【0009】
以下、本発明の実施の形態を図面に基づいて説明する。
図1は、本実施形態の情報処理装置1を含む情報処理システム100の機能構成を示すブロック図である。
情報処理システム100は、情報処理装置1と、端末装置4とを含む。
【0010】
情報処理装置1は、スケジュール設定に係る処理を行うコンピュータである。この情報処理装置1は、通常のPC(Personal Computer)などであってもよい。あるいは、情報処理装置1は、タブレット装置やスマートフォンなどの携帯型装置であってもよい。
【0011】
端末装置4は、ユーザが身に着ける又は保持する、例えば、ユーザの腕に装着される電子腕時計やスマートウォッチなどである。情報処理装置1と端末装置4との間では、互いに通信、好ましくは無線通信が可能である。
【0012】
情報処理装置1は、CPU11(Central Processing Unit)(制御部)と、RAM12(Random Access Memory)と、記憶部13と、通信部14と、表示部15と、操作受付部16などを備える。
【0013】
CPU11は、演算処理を行い、情報処理装置1の全体動作を統括制御するプロセッサである。CPU11は、単一のプロセッサを有していてもよいし、複数のプロセッサを有し、並列に、又は用途などに応じて各々独立に動作するのであってもよい。
【0014】
RAM12は、CPU11に作業用のメモリ空間を提供し、一時データを記憶する。RAM12は、例えば、DRAMであるが、これに限られるものではない。また、RAM12は、RAMとしても利用可能な不揮発性メモリなどであってもよい。
【0015】
記憶部13は、プログラム131や設定データなどを格納して記憶保持する不揮発性メモリである。記憶部13は、例えば、フラッシュメモリ及び/又はHDD(Hard Disk Drive)などであるが、これらに限られるものではない。記憶部13には、スケジュールデータ132及びコストデータ133が格納されている。
【0016】
通信部14は、端末装置4を含む外部機器との通信を制御する。通信部14は、例えば、無線LAN(Local Area Network)の各種通信規格による通信を制御するネットワークカード、及び/又はブルートゥース(登録商標)などの通信規格による通信を制御するモジュールなどを有する。通信部14は、その他の通信規格、例えば、赤外線通信や光通信などによる通信を制御可能なものであってもよい。
【0017】
表示部15は、CPU11の制御に基づいて表示画面に表示を行う。表示画面は、特には限られないが、例えば液晶ディスプレイ(LCD)である。
【0018】
操作受付部16は、外部からの入力操作を受け付けて受け付けた入力操作に応じた操作信号をCPU11へ出力する。操作受付部16は、例えば、キーボードやポインティングデバイスなどを有する。あるいは、操作受付部16は、上記表示画面と重なって位置するタッチパネルなどを有していてもよい。
なお、表示部15及び操作受付部16は、情報処理装置1に対して周辺機器として接続端子に外付けされるものであってもよい。
【0019】
端末装置4は、CPU41と、RAM42と、記憶部43と、通信部44と、表示部45と、操作受付部46と、計測部47などを備える。
【0020】
CPU41は、演算処理を行い、端末装置4の全体動作を統括制御するプロセッサである。CPU41は、単一のプロセッサを有していてもよいし、複数のプロセッサを有し、並列に、又は用途などに応じて各々独立に動作するのであってもよい。
【0021】
RAM42は、CPU41に作業用のメモリ空間を提供し、一時データを記憶する。RAM42は、例えば、DRAMであるが、これに限られるものではない。また、RAM42は、RAMとしても利用可能な不揮発性メモリなどであってもよい。
【0022】
記憶部43は、各種制御プログラムや設定データなどを格納して記憶保持する不揮発性メモリである。記憶部43は、例えば、フラッシュメモリであるが、これに限られるものではない。記憶部43には、スケジュールデータ431及び運動計測データ432が格納されている。
【0023】
通信部44は、情報処理装置1を含む外部機器との通信を制御する。通信部44は、例えば、無線LAN(Local Area Network)の各種通信規格による通信を制御するネットワークカード、及び/又はブルートゥース(登録商標)などの通信規格による通信を制御するモジュールなどを有する。通信部44は、その他の通信規格、例えば、赤外線通信や光通信などによる通信を制御可能なものであってもよい。
【0024】
表示部45は、CPU41の制御に基づいて表示画面に表示を行う。表示画面は、特には限られないが、例えば液晶ディスプレイ(LCD)である。
【0025】
操作受付部46は、外部からの入力操作を受け付けて受け付けた入力操作に応じた操作信号をCPU41へ出力する。操作受付部46は、例えば、押しボタンスイッチや上記表示画面と重なって位置するタッチパネルなどを有している。また、操作受付部46は、回転スイッチ(りゅうずなどを含む)、スライドスイッチやロッカスイッチなど各種スイッチの一部又は全部を有していてもよい。
【0026】
計測部47は、ユーザの運動などに係る物理量の計測を行って計測データをCPU41などへ出力する。計測部47は、例えば、加速度センサや磁場センサなどを有する。加速度センサは、端末装置4において予め定められた直交する3軸方向の加速度を計測する。計測される加速度には重力加速度が含まれ、これにより鉛直方向が規定される。磁場センサは、直交する3軸方向の磁場強度を計測する。計測される磁場には、地磁場が含まれ、これにより磁極方向が特定される。
【0027】
上記加速度及び磁場の計測により、端末装置4のユーザの運動状態や移動方向などが特定される。また、計測結果を積算したり平均を求めたりすることで、運動速度、運動量や移動経路の情報なども取得することができる。これらの計測結果は、運動計測データ432に含まれて記憶される。
【0028】
次に、本実施形態のスケジュール設定及びその調整について説明する。
スケジュールは、単位時間ごとの枠(時間枠)が活動内容を示す項目により埋められることで設定される。単位時間は、例えば、10分~30分などであるが、これに限られない。単位時間を任意に設定可能であってもよい。また、単位時間は、複数の時間幅の中からユーザにより選択可能であってもよい。1枠の長さよりも長いスケジュールは、複数の枠に続けて設定されればよい。項目は、積極的な動作に限られない。例えば、項目には、勤務(学業)、通勤、移動、運動、学習(勉強)、家事、食事、入浴、睡眠、自由時間などが含まれる。項目が設定されていない枠は、自動的に自由時間として設定されてもよい。自由時間は、更に特定の趣味活動と、息抜きや休息のための時間などに分類されてもよい。また、勤務(学業)に係る項目は、職場/学校で行うものと、在宅のものとで分類されてもよい。スケジュールの初期設定は、手動でなされてもよいし、基本設定などに基づいて自動でなされてもよい。なお、食事や入浴などとセットで行われる家事(炊事、皿洗いなど)や、並列的な作業が可能な家事(洗濯の一部など)については、改めて別途設定される必要はない。
【0029】
ここでいうスケジュールは、日常的に繰り返される大枠の時間配分を表し、ある日に限って生じる特例のイベントなどを意味しない。スケジュールの設定は、全日共通であってもよいし、平日、土曜及び休日などで分けられてもよい。あるいは、スケジュールは、曜日ごとに設定されてもよい。
【0030】
このように項目(既存項目)が設定、実行されている元のスケジュールに対し、新規項目を追加する設定変更が必要となる場合がある。例えば、慢性的に運動不足のユーザに対して日常的な運動時間をスケジュールに追加する場合がある。このような追加設定をユーザの手動設定に委ねると、当該ユーザの横着や、運動時間を積極的に入れ込む気がない(他の項目を減らす気がない)といった理由で結局運動がなされないままとなる場合が多い。
【0031】
本実施形態の情報処理装置1は、このようなスケジュールへの項目の追加調整を効率よく行ってユーザに提案する。項目の追加は、動的計画法を用いて行われる。
【0032】
図2は、コストデータ133に記憶された各項目の設定変更に係るコストの例を示す図表である。
動的計画法によるスケジュール設定(調整後スケジュールの生成)では、予め各項目に対し、その移動や削除などに係るコスト(評価点)が設定される。そして、ある新規項目を追加してその代わりに既存の項目を削除しようとする場合に要するコストの合計が最小(総合評価が最善)となるように、最適な削除対象となる既存項目の選択、及び新規項目が挿入される最適な時間枠の決定に係る調整が行われる。
【0033】
コストとしては、上記移動や消去に係るコスト加えて、ある項目(ここでは「運動」)の前後に位置する(隣り合う)ことになる場合の接続コストが含まれている。すなわち、項目によっては、「運動」と連続して行わないほうがよいもの、特に「運動」の前又は「運動」の後に行うのは好ましくないものなどがある。これらの組み合わせや並び順に対してコストを設定することで、好ましくないつながりでのスケジュール設定がなされてユーザに提示されることを抑制することができる。例えば、運動の直前に入浴時間を定めるのは不適切である。また、夜一度就寝してから再度起きだして運動を行うのも、身体にとって適切ではない。したがって、コストデータ133において、これらについては高いコストが設定され得る。
図2のコストデータ133の例では、「運動」の前に「入浴」を行う場合の接続コスト(「運動前接続」のコスト)は、「10」である。すなわちこれは、コストデータ133の例の中では比較的高いコストである。また、「運動」の前後に「睡眠」を行う場合の接続コスト(「運動前接続」、「運動後接続」のコスト)は、それぞれ「20」である。すなわち、これらは、やはりコストデータ133の例の中では比較的高いコストである。
【0034】
また、運動不足のユーザに対して推奨される運動としては、軽負荷の運動、特にウォーキングが挙げられる。したがって、「徒歩通勤」(ここでは退勤)につなげて「運動」が設定されることは、単純に帰宅時などに大回りする、一駅手前から歩く、などにより運動の量を拡張することを意味する。このような場合の接続コストを負の値とすることで、徒歩通勤(移動)と運動とを接続しやすくすることができてもよい。
図2のコストデータ133の例では、「運動」の前後に「徒歩通勤」を行う場合の接続コスト(「運動前接続」、「運動後接続」のコスト)は、それぞれ「-5」である。すなわち、これらは、コストデータ133の例の中では比較的低いコストである。
【0035】
なお、上記のように勤務(学業)が在宅で行われる場合には、勤務(学業)後の着替えや道具の用意などの準備が容易である。したがって、勤務(学業)が在宅の場合には、勤務(学業)が職場/学校で行われる場合よりも「運動前接続」のコストが低く設定されてもよい。
【0036】
さらに、スケジュールに予め「運動」が定められている場合に、当該「運動」が除外(削除)されることは、運動不足を助長することになる。
図2のコストデータ133の例では、「運動」を「除外」する場合の削除コスト(「削除」のコスト)は、「10000」である。すなわち、この処理には非常に大きなコストが設定されている。
【0037】
図3は、予め定められている帰宅時から就寝までのスケジュールに対し、運動が2単位時間追加される場合のスケジュール調整について説明する図である。これらのうち、先頭(0番目)の列車退勤と、最後(7番目)の睡眠とは、変更されないものとして固定され、接続コストの計算に用いられる。運動は、「徒歩退勤」(1番目)の枠から「睡眠」(6番目)の枠までの間のいずれかの位置に挿入され得る。以降では、
図3及び
図4においてスケジュールの先頭にある項目を0番目のものとして説明する。
【0038】
図3(a)には、例えば、「運動」が3、4番目の枠に連続して入れられる場合のコスト計算の例を示している。元々3、4番目の枠は、自由時間及び入浴であり、このうち自由時間がそのまま消去され、入浴が1枠後ろ(5番目)に移動されている。移動先の5番目の枠の自由時間は消去されている。
図2に示したコストデータ133に従うと、自由時間2枠分の消去に係るコストが2×2で4となる。また、入浴枠の移動コストが1である。運動の前に自由時間が接続するコストと、運動の後に入浴が接続するコストは、いずれも0である。また、連続した2枠の運動同士の接続コストも0である。これらが合計されたコストは5である。
【0039】
図3(b)には、「運動」が2、3番目の枠に連続して入れられる場合のコスト計算の例が示されている。2、3番目の枠に元々あった自由時間2枠がそのまま消去されており、そのコストが2×2の4である。運動の前に徒歩退勤が接続するコストは-5である。運動の後に入浴が位置する接続コストは0である。連続した2枠の運動同士の接続コストは0である。これらが合計されたコストは-1である。
【0040】
したがって、
図3(a)の例と
図3(b)の例とでは、
図3(b)の例の方が低コストで設定されることが分かる。このように、スケジュール調整では、追加対象の「運動」2枠が追加可能範囲内で任意の位置に追加されて、代わりに2項目が消去される場合の合計コストの最小値が求められればよい。合計コストは、つまり、移動コスト、削除コスト及び接続コストの和である。
図3(b)の例のように、移動コストは、求められる必要がない場合もある。
【0041】
なお、ここでは、2枠の「自由時間」の削除に係るコストを一律に「2」としているが、同一項目(同一の活動内容に係る項目)が複数削除される場合には、2枠目以降の削除に係るコストが1枠目よりも上昇するなど、削除される枠の数(削除数)に応じて可変とされてもよい。
【0042】
このような最小のコストを効率よく求める手法の1つが動的計画法である。
図4は、動的計画法による最小コストとなるスケジュールの特定について説明する図である。縦方向には、選択可能となる項目が順番に配列されている。横軸方向の変数iは、項目の選択順を示す。変数iの値ごとに1つずつ項目が選択される。これに伴い、左上の始点ST(0番目)から右下の終点FI(9番目)まで矢印がつながれていく。変数iの最大値M(ここでは6)は、設定可能な枠の数である。すなわち、設定可能な枠の数は、項目の数(ここでは、始点ST及び終点FIを除いて8)よりも少ない。したがって、項目のうち一部(ここでは2つ)が省略されるように矢印がつながれる。言い換えると、ある変数iで選択可能な項目は、項目の順番でi+1~i+3の間の3個となる。各変数iに対して選択され得る3個の項目が変数j(0~2)によってそれぞれ示される。変数jの最大値L(ここでは2)は、元のスケジュールに対して新たに追加される項目の数である。
【0043】
図4(a)の例では、元のスケジュールにおける1番目の徒歩退勤と2番目の最初の自由時間との間に運動が2枠続けて挿入される場合に最小コストとなるスケジュールの求め方が説明されている。この場合の項目の配列では、2、3番目に追加される予定の運動がそのまま2、3番目に置かれ、元の2番目(最初の自由時間)以降の項目は、4番目以降に2つずつ繰り下げて順番に配置される。新たなスケジュールに含まれる項目の配列は、始点STから終点FIまで変数i、jを増加させながらつなげられることで表される。各矢印は、変数iを1つ増加させ、かつ変数jを減少させない方向へと伸ばされる。ある項目が選択されずに省略される場合には、異なる変数jの間が接続されることになる。ここでは、(i、j)=(2、0)、(3、2)が接続されているので、i=2(3番目)の選択項目とi=3(4番目)の選択項目との間で、2個の項目(4番目と5番目の自由時間の項目)がまとめて省略されることになる。このような条件で設定可能なスケジュールの中で、最小コストとなるものが特定される。
【0044】
「運動」を挿入可能な2枠の位置は、当初の6項目の前後及び隙間である7カ所のうち任意の2か所に設定可能な場合、当該2枠が離隔する場合も含めて21通り(7C2)ある。これらのそれぞれの場合における(M+L)個の項目の配列に、その直前直後の固定項目を加えた(M+L+2)個の項目の配列である追加パターンPhについて、それぞれ最小コストのスケジュール(調整後スケジュールの候補)を特定し、得られたスケジュール内で更に最小コストのものが選択される。
【0045】
この
図4(a)の例では、i=0~5の6ステップでそれぞれいずれかの項目(追加パターンPhにおける(i+j)番目の項目)が特定される。
図4(b)には、
図4(a)の一部を拡大して示す。上記のように、選択項目の前後関係を示す矢印は、始点STからiが1つ増える方向に順に伸びる。また、矢印は、変数jの値が減少しない範囲で伸び得る。すなわち、ある変数iのj=2の項目へは、「i-1」のj=0~2のいずれからも矢印が伸び得る。j=1の項目へは、「i-1」のj=0、1から矢印が伸び得る。j=0の項目へは、「i-1」のj=0からしか矢印が伸びない。これらによって、変数iのそれぞれで1つずつ合計M個の項目が、追加対象のL個の項目(「運動」を2回)を加えた(M+L)個の項目から選択される。
【0046】
上記のように、項目間の接続は向きを有するので、負のコストを含んでいても当該負のコストの部分を複数回含むことでコストを下げることはない。また、最小コストのスケジュールでは、その部分ごとでも最小コスト経路となっている。したがって、始点STである列車退勤を起点として、変数i=0から順にi=5まで、各変数iの値について変数j=0、1、2の順番で項目(i、j)へそれぞれ到達する最小コストの接続を各々特定していくことができる。
【0047】
上記により、項目(i-1、j)の各々までの最小コストが確定すると、当該最小コストと、各項目(i-1、j)と各項目(i、j)とをつなぐコストと、に基づいて、項目(i、j)への最小コストが求められる。i=5のj=0~2の各項目までの最小コストのスケジュールが得られた後、当該各項目と終点FIの項目(M、L)との接続コストや、その間の削除コストをそれぞれ加算する。これにより、項目(M-1、j)を経由するL通りの最小コストが得られる。それらのうち更に最小のものが特定されることで、最小コスト(最善の評価)のスケジュールが特定される。
【0048】
このように、動的計画法では、時間順に最小コストとなる項目順が定められる。したがって、上記のように同一項目が複数削除される場合におけるコストの変動は、単純に後の順番の項目ほど大きくなる。
【0049】
図5は、本実施形態の情報処理装置1で実行されるスケジュール調整制御処理のCPU11による制御手順を示すフローチャートである。本実施形態の情報処理方法(調整ステップ)を含むこのスケジュール調整制御処理は、追加する項目が生じた場合に自動で、操作受付部16への入力操作に応じて、又は通信部14を介して端末装置4から受信した開始要求などに応じてプログラム131(調整手段)が起動されることで実行される。
【0050】
CPU11は、追加対象の項目を取得する。CPU11は、取得した項目数を最大値Lに設定する(ステップS101)。CPU11は、現スケジュールにおける項目の追加可能範囲を設定して、当該追加可能範囲内の項目パターンPpを取得する。また、CPU11は、追加可能範囲の項目数を最大値Mに設定する(ステップS102)。
【0051】
CPU11は、追加項目を現スケジュールのいずれかの項目間に挿入した追加パターンPh(hは変数)を設定する。CPU11は、指定された追加パターンPhの数をパターン数Nとして設定する(ステップS103)。
【0052】
CPU11は、変数hを「0」とする(ステップS104)。CPU11は、追加パターンPhを取得する(ステップS105)。CPU11は、後述のコスト算出処理を実行して、追加パターンPhでの最小コストとその項目順を求める(ステップS106)。CPU11は、得られた最小コストを最小コストChとして設定する(ステップS107)。
【0053】
CPU11は、変数hの値が「N-1」より小さいか否かを判別する(ステップS108)。変数hの値が「N-1」より小さいと判別された場合には(ステップS108で“YES”)、CPU11は、変数hに1を加算する(ステップS109)。それから、CPU11の処理は、ステップS105へ戻る。
【0054】
ステップS108の判別処理で、変数hの値が「N-1」より小さくない(「N-1」以上である)と判別された場合には(ステップS108で“YES”)、CPU11は、得られたN個の最小コストChのうち最小値を特定する(ステップS110)。CPU11は、最小コストChの最小値に応じた項目順を特定する(ステップS111)。CPU11は、特定した項目順をスケジュールの調整案として出力する(ステップS112)。CPU11は、表示部15へ調整案の表示制御データを出力してもよいし、通信部14を介して端末装置4へ調整案のデータを出力してもよい。そして、CPU11は、スケジュール調整処理を終了する。
【0055】
なお、CPU11は、スケジュール調整処理内で、出力した調整案の承認、却下、再調整などの入力操作を検出又は通信データなどを取得して、調整案を確定又は破棄してもよい。
【0056】
図6は、スケジュール調整制御処理のステップS106で実行されるコスト算出処理のCPU11による制御手順を示すフローチャートである。
【0057】
CPU11は、変数iを「0」とする(ステップS161)。CPU11は、変数jを「0」とする(ステップS162)。CPU11は、変数jが「L+1」と等しいか否かを判別する(ステップS163)。変数jが「L+1」と等しいと判別された場合には(ステップS163で“YES”)、CPU11は、変数iに「1」を加算する(ステップS164)。それから、CPU11の処理は、ステップS162へ戻る。
【0058】
変数jが「L+1」と等しくないと判別された場合には(ステップS163で“NO”)、CPU11は、変数iが最大値Mと等しいか否かを判別する(ステップS165)。変数iが最大値Mと等しいと判別された場合には(ステップS165で“YES”)、CPU11は、変数jを最大値Lとする(ステップS166)。それから、CPU11の処理は、ステップS167へ移行する。変数iが最大値Mと等しくないと判別された場合には(ステップS165で“NO”)、CPU11の処理は、ステップS167へ移行する。
【0059】
ステップS167の処理へ移行すると、CPU11は、変数kを0とする(ステップS167)。この変数kは、現在の選択項目(i、j)の前の順番(i-1)の項目として取り得る変数jの範囲を規定するものである。CPU11は、変数kが(j+1)と等しいか否かを判別する(ステップS168)。
【0060】
変数kが(j+1)と等しいと判別された場合には(ステップS168で“YES”)、CPU11は、(i、j)の項目((i+j+1)番目の項目)までのスケジュール順に応じたコストCijk(k=0~j)のうち最小のものを選択し、コストCijとして設定する(ステップS181)。CPU11は、変数iが最大値Mと等しいか否かを判別する(ステップS182)。変数iが最大値Mと等しくないと判別された場合には(ステップS182で“NO”)、CPU11は、変数jに1を加算する(ステップS183)。それから、CPU11の処理は、ステップS163へ戻る。
【0061】
変数iが最大値Mと等しいと判別された場合には(ステップS182で“YES”)、CPU11は、設定されたコストCijを最小コストとして定める(ステップS184)。そして、CPU11は、コスト算出処理を終了し、処理をスケジュール調整制御処理へ戻す。
【0062】
ステップS168の判別処理で、変数kが(j+1)と等しくない(ここでは、変数kが(j+1)より小さい)と判別された場合には(ステップS168で“NO”)、CPU11は、現在の項目(i+j-1)と、一つ前の項目(i+k)(変数i=0の場合には、始点ST)との間の接続コストを取得する(ステップS169)。なお、運動以外の項目同士の接続の場合には、ここでは、接続コストは「0」とされる。しかしながら、運動以外の項目同士についても接続コストが定められていてもよい。
【0063】
CPU11は、変数kが変数jと等しいか否かを判別する(ステップS170)。変数kが変数jと等しくないと判別された場合には(ステップS170で“NO”)、CPU11は、省略した項目の削除コストを取得する(ステップS171)。それから、CPU11の処理は、ステップS172へ移行する。変数kが変数jと等しいと判別された場合には(ステップS170で“YES”)、CPU11の処理は、ステップS172へ移行する。
【0064】
ステップS172の処理へ移行すると、CPU11は、移動コストを取得する(ステップS172)。CPU11は、追加パターンPhから選択中の項目Ph(i+j-1)と、項目パターンPpの項目Pp(i-1)とを比較する。CPU11は、項目Ph(i+j-1)が運動ではなく、かつ、項目Pp(i-1)と異なる場合に、項目Ph(i+j-1)の移動コストをコストデータ133から取得する。なお、移動コストは、コストデータ133の設定値で定数とされてもよいし、当該設定値に対して移動された時間幅を乗じて、移動時間幅が大きいほど大きいコストとなるような変数とされてもよい。また、移動コストは、移動時間幅の2乗や平方根などを含む適宜な数式により求められるものであってもよい。
【0065】
CPU11は、コストCijkを算出する(ステップS173)。CPU11は、コストC(i-1)kに対し、ステップS169で取得された接続コスト、ステップS172で取得された移動コスト、及びステップS171が実行された場合の削除コストを加算して、コストCijkを算出する。CPU11は、変数kに1を加算する(ステップS174)。それから、CPU11の処理は、ステップS168へ戻る。
【0066】
なお、上記のコストは、ユーザによって異なり得る。また、コスト計算を行うまでもなく、ユーザの要求により一部の順番やタイミングでの項目追加を禁止してもよい。これらに関し、操作受付部46への入力操作などにより、ユーザがコストを直接変更したり、特定の組み合わせを禁止したりする設定が可能であってもよい。
【0067】
図7は、端末装置4の表示部45への設定条件選択メニューの表示例を示す図である。このメニュー表示では、ユーザに分かりやすい形で、スケジュール調整のための設定操作が可能とされる。例えば、夜間の入浴後の運動を避ける設定(新規項目の挿入を禁止する時間枠に係る要求)により、平日18時以降の入浴時間以降に運動が挿入される追加パターンPhは除外される。追加パターンPhから削除される処理に応じて運動の挿入時間が禁止時間帯となるか否かが変化する場合には、例えば、処理途中で部分的に変数jの値の範囲を制限してもよい。あるいは、一度追加パターンPhで最小コストの項目順を得た後、この項目順が禁止事項に該当する場合には、当該項目順を除外して処理をやり直してもよい。また、食後1時間以内の運動を軽いものに制限する設定により、運動としてジョギングを行うユーザの場合には、食後1時間以内に運動のスケジュールを入れるコストを極めて大きくしたり、追加パターンPhから除外したりしてもよい。
【0068】
また、例えば、通勤/通学手段を考慮するものとすることで、徒歩通勤がある場合とない場合とで、通勤に対する運動の接続コストが変更されてもよい。また、計測部47により運動だけでなく体調(脈拍など)の計測が行われている場合には、ユーザの体調や睡眠状態に応じてスケジュールを調整してもよい。例えば、睡眠不足の場合には、睡眠時間を削るコストを非常に大きくしてもよい。また、体調が通常の計測状態に比して乖離していると推測される場合、例えば、安静時脈拍数がユーザの平均的な安静時脈拍数よりも多い場合などに、運動時間をセーブしたり、ジョギングの運動をウォーキングの運動に切り替えたりすることができてもよい。
【0069】
また、その他、同一の項目であっても、時間帯に応じてコストが変更されてもよい。例えば、23時までの睡眠を削るコストと、23時以降に睡眠を削るコストとでは、差があってもよい。また、食事の移動コストが上記のように固定値とされるか、移動時間幅に応じて増えるように定められるかなどもユーザに応じて変更設定が可能とされてもよい。
【0070】
また、コストは、季節や曜日などに応じて複数種類設定可能であってもよい。例えば、夏には日の入前に運動を入れづらくしてもよく、反対に冬には夕方早い時間ほど運動を入れやすくしてもよい。また、冬の間の入浴時間の縮小(削除)コストが夏よりも高くされてもよい。
また、曜日に応じてコストを変える例として、例えば、月曜日から金曜日までの間には仕事又は学業がある平日であり、土曜日及び日曜日にはこれらがない休日である場合などが想定される。このとき、スケジュールが調整される日の翌日が平日である場合のコストは、スケジュールが調整される日の翌日が休日である場合のコストより高く設定されてもよい。具体的には、月曜日に運動が追加されるコスト(接続コスト、削除コスト及び移動コストのうち少なくともいずれか)は、金曜日に運動が追加される場合の各コストよりも高く設定されてもよい。また、この場合のコストは、スケジュールが調整される日と次の休日との日数が離れているほど高く設定されてもよい。
また、運動を追加するスケジュール調整の場合、ユーザの運動能力(例えば、走行可能距離や、1km当たりの平均ペースなど)が低い運動初心者の場合のコストは、運動能力が高い運動上級者の場合のコストよりも高く設定されてもよい。これにより、運動能力が比較的低い運動初心者のユーザに対して、運動が過度に追加された調整後スケジュールが提示されることを抑制することができる。この結果、ユーザは、モチベーションを維持しながら提示された調整後スケジュールを実行することができる。
【0071】
また、項目名は、予め設定されているものに限られなくてもよい。例えば、習い事、趣味、グループ活動などの時間は、自由時間とは別途定められてもよい。これらは、ユーザが端末装置4における操作受付部46への入力操作などにより任意に生成可能であってもよい。
【0072】
図8は、元のスケジュールに対して学習(勉強)を追加する場合のコストデータ133の例である。コストデータ133は、追加される対象に応じて複数の接続コストが同時に含まれていてもよい。また、移動コスト、削除コスト及び接続コストは、追加対象の項目に対して各々別個に定められてもよい。すなわち、コストデータ133は、複数の追加対象に対応して複数種類のデータを含んでいてもよい。情報処理装置1は、追加される項目に応じて適切なコストデータ133を記憶部13から読み出して、コスト算出処理を実行すればよい。
【0073】
図8に示すコストデータ133は、
図2のコストデータ133と比較して、「運動」が「運動(重)」、「運動(軽)」に区分されて、それぞれに対してコストが設定されている。例えば、長距離(例えば、10km以上又は1時間以上)を走るランニング(「運動(重)」に相当)の後では、体や脳が疲労する。したがって、「運動(重)」の後は、学習に適さないので、「運動(重)」の「学習前接続」に係るコストが他の項目に比して高く設定される。一方、例えば、学習後には、脳が疲労したり、体(関節)などが固くなったりしやすく、リラックスしたり体をほぐしたりするのに軽い運動が好適である。また、ゆっくりと走るジョギング(「運動(軽)」に相当)により、脳が刺激されてその後の学習に好影響を与える。したがって、「運動(軽)」の「学習前接続」及び「学習後接続」に係るコストは、他の項目に比して低く設定される。
【0074】
また、
図8に示すコストデータ133には、更に、「仮眠」の項目が追加されている。例えば、15~20分程度の仮眠をとることで、脳の疲労を回復させることができる。したがって、「仮眠」の「学習前接続」に係るコストは、他の項目に比して比較的低く設定されている。
【0075】
また、学習の追加に係るコストデータ133では、学習内容と時間帯とを対応付けて調整がしやすくなるようにコストが設定されてもよい。例えば、学習に係る項目は、主に理数系の内容を含む「学習(数学・理科)」、主に文科系の内容を含む「学習(国語・社会・英語)」、主に暗記系の学習である「学習(暗記)」などに分けられてもよい。脳が活性化しやすい朝方から午前中にかけての時間帯では、ひらめきを要求することのある「学習(数学・理科)」が追加されやすいようにコストが設定されてもよい。脳の持久力が必要な「学習(国語・社会・英語)」は、昼から夕方にかけての時間帯に追加されやすいようにコストが設定されていてもよい。脳への記憶が定着しやすい夜の時間帯には、英単語、古文単語、歴史年号、化学式、法律条文などの暗記を多く必要とする「学習(暗記)」が追加されやすいようにコストが設定されてもよい。
【0076】
学習に係る項目の分割のしかたや分割された各項目の時間帯ごとのコスト設定は、上記に限られない。例えば、学習が「学習(苦手教科)」、「学習(得意教科)」などに分割されてもよい。苦手教科及び得意教科は、ユーザによる操作受付部16への入力操作に応じて適宜定められて、記憶部13に記憶されてもよい。あるいは、苦手教科及び得意教科の中身は、コストデータ133では特定されずに、ユーザが自身で認識しているのみであってもよい。「学習(苦手教科)」が朝方の時間帯に追加されやすくコストが設定され、「学習(得意教科)」が昼の時間帯に追加されやすいようにコストが設定されてもよい。
【0077】
以上のように、本実施形態の情報処理装置1は、時間枠ごとに活動内容を示す項目が定められるスケジュールに対して追加する新規項目が元のスケジュールに含まれている既存項目と入れ替えられた調整後スケジュールを、動的計画法を用いて生成するCPU11を備える。
これにより、情報処理装置1は、容易かつ効率的に、新規項目を追加したスケジュールをユーザの不満を抑えるように調整して生成することができる。したがって、情報処理装置1によれば、よりユーザによる許容度の高く、すなわち実行可能性の高い効果的なスケジュールを当該ユーザに提案することができる。
【0078】
また、CPU11は、動的計画法により、元のスケジュールの既存項目の中から最適な削除対象を選択し、新規項目が既存項目の間に挿入される最適な時間枠を決定する。多数の既存項目の組み合わせ及び多数の挿入可能な時間枠の組み合わせの中から最善のものを探索する処理に動的計画法を利用することにより、情報処理装置1は、処理負荷や処理時間を抑えてより効率的に効果の高い調整後スケジュールを生成、提案することができる。
【0079】
また、この情報処理装置1では、項目に対してそれぞれコストが設定される。CPU11は、コストに応じた総合評価が最善となるように、すなわち全体として最低コストとなるように調整後スケジュールを生成する。これにより、情報処理装置1は、定量的に最善の調整後スケジュールを得ることができる。
【0080】
また、コストは、項目を元のスケジュールから削除することに対して定められるものを含んでもよい。これにより、情報処理装置1は、単に新規項目の追加をユーザに押し付けるだけではなく、追加に応じた他の項目の削除を含めた調整を効果的に行うことができる。
【0081】
また、コストは、同一の活動内容に係る項目を複数削除する場合における当該項目の削除数に応じて定められるものを含んでもよい。すなわち、複数の新規項目の追加に対して同一の項目を複数削除するのを避けやすいようにコストが設定されてもよい。これにより、情報処理装置1は、特定の項目に係る活動が著しく削られるのを抑制することができる。
【0082】
また、コストは、新規項目の追加に伴って既存項目の時間枠が移動されることに対して定められるものを含んでもよい。すなわち、情報処理装置1は、単にある既存項目の時間枠を新規項目に置き換えるだけではなく、新規項目の挿入に伴って一部の既存項目の時間枠を変更させてもよい。その一方で、時間変更にもコストを設定して総合評価を行うことで、移動が困難又は好ましくない項目の移動を禁止又は抑制することができる。これにより、情報処理装置1は、よりユーザが受け入れやすい調整後スケジュールを生成、提案することができる。
【0083】
また、コストは、隣り合う時間枠に位置する活動内容の組み合わせに応じて定められる接続コストを含んでもよい。活動内容によっては、続けて行われることが好ましくない組み合わせもある。したがって、このような組み合わせの出現を抑制するように接続コストを設定することで、情報処理装置1は、ユーザがより受け入れて実行しやすい調整後スケジュールを生成することができる。
【0084】
また、接続コストは、組み合わせにおける並び順に応じて異なるものを含んでもよい。すなわち、組み合わせだけではなく複数の項目の順番に応じて値が設定されてもよい。一方が他方よりも前に実行されてもよいが、当該一方が他方よりも後に実行されるのは好ましくないような項目の組み合わせもあり得る。したがって、並び順も考慮して接続コストを定めることで、情報処理装置1は、よりユーザが受け入れやすい調整後スケジュールを生成、提案することができる。
【0085】
また、CPU11は、新規項目が挿入され得る複数の時間枠のそれぞれについて、動的計画法により調整後スケジュールの候補を生成し、生成された候補のうち最善のものを調整後スケジュールとして決定する。新規項目数や既存項目数が多い場合には、新規項目の挿入パターンも複数通り生じる。したがって、情報処理装置1は、各挿入パターンについて各々動的計画法によりコストが最小の調整後スケジュールの候補を定め、得られた複数の候補内で更に最小コストのものを選択することができる。これにより、情報処理装置1は、好ましい調整後スケジュールを多くの候補の中から適切に選択して生成することができる。
【0086】
また、CPU11は、新規項目の挿入を禁止する時間枠に係る要求を設定メニューなどから取得し、当該要求に基づいて新規項目が挿入され得る複数の前記時間枠を定めてもよい。ユーザにとって受け入れられない新規項目の挿入パターンがある場合には、初めから当該挿入パターンでの動的計画法の実行を除外してもよい。これにより、情報処理装置1は、調整後スケジュールを得るための処理量や処理時間を低減することができる。
【0087】
また、本実施形態の情報処理方法は、コンピュータ(情報処理装置1)のCPU11が、時間枠ごとに活動内容を示す項目が定められるスケジュールに対して追加する新規項目が元のスケジュールに含まれている既存項目と入れ替えられた調整後スケジュールを、動的計画法を用いて生成する調整ステップ、を含む。
この情報処理方法によれば、容易かつ効率的に、新規項目を追加したスケジュールをユーザの不満を抑えるように調整してコンピュータにより自動生成することができる。したがって、この情報処理方法は、よりユーザによる許容度の高く、すなわち実行可能性の高い効果的なスケジュールを当該ユーザに提案することができる。
【0088】
また、上記情報処理方法に係るプログラム131をコンピュータにインストールして実行することで、特別なハードウェアを要さずに容易に、よりユーザによる許容度の高く、すなわち実行可能性の高い効果的なスケジュールを自動生成して、当該ユーザに提案することができる。
【0089】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
例えば、上記実施の形態では、時間順に前から後ろへ動的計画法を適用したが、時間とは逆順に後ろから前へ動的計画法を適用してもよい。また、削除数に応じてコストが変わる場合などには、両方向から動的計画法をそれぞれ適用して、それぞれについて最小コストのスケジュールが取得、出力されてもよい。
【0090】
また、上記実施の形態では、コストとして正負両方の値を含むものとして説明したが、いずれか一方であってもよい。また、合計コストが最善の場合は、値が最小であっても最大であってもよい。
【0091】
また、上記実施の形態では、スケジュールが1日単位であり、そのうちの一部を調整するものとして説明したが、これに限られない。複数日にまたがる一連のスケジュールが設定されてもよく、また、そのスケジュールの単位全体が調整可能とされてもよい。あるいは、スケジュールの途中に固定枠が含まれていてもよい。
【0092】
また、上記実施の形態では、動的計画法において削除コスト、移動コスト及び接続コストを設定したが、これに限られない。例えば、移動コストはなくてもよい。また、接続コストにおいて、並び順を考慮せずに単純に隣り合って並んでいるか否かのみをコストとして考慮してもよい。あるいは、上記3つのコスト以外のコストが追加されてもよい。
【0093】
また、上記実施の形態では、単独の情報処理装置1のプログラム131によりスケジュール調整がなされたが、これに限るものではない。処理を複数のコンピュータに分散して実行し、結果が集約、出力されてもよい。
【0094】
また、以上の説明では、本発明のスケジュール調整制御に係るプログラム131を記憶するコンピュータ読み取り可能な媒体としてHDD、フラッシュメモリなどの不揮発性メモリなどからなる記憶部13を例に挙げて説明したが、これらに限定されない。その他のコンピュータ読み取り可能な媒体として、MRAMなどの他の不揮発性メモリや、CD-ROM、DVDディスクなどの可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを、通信回線を介して提供する媒体として、キャリアウェーブ(搬送波)も本発明に適用される。
その他、上記実施の形態で示した具体的な構成、処理動作の内容及び手順などは、本発明の趣旨を逸脱しない範囲において適宜変更可能である。本発明の範囲は、特許請求の範囲に記載した発明の範囲とその均等の範囲を含む。
【符号の説明】
【0095】
1 情報処理装置
4 端末装置
11、41 CPU
12、42 RAM
13、43 記憶部
131 プログラム
132 スケジュールデータ
133 コストデータ
431 スケジュールデータ
432 運動計測データ
14、44 通信部
15、45 表示部
16、46 操作受付部
47 計測部
100 情報処理システム