(57)【特許請求の範囲】
【請求項１】
グループを構成する各個人の満足度を基に、複数のプランからグループの意思を反映するプランを選択する処理をコンピュータに実行させるグループ適応化プログラムであって、
プランの対象の属性ごとに複数の集合に分類されるクラスに対して、個人の嗜好順位であるクラス順位の指定を受け付け、クラス順位がｋ番目となるクラスの満足度を１／ｋ＾ｗ（ただし、ｗはｗ＞０である属性ごとの重み）として、各属性から１つずつクラスを選んだクラス列についての満足度を各クラス列ごとに算出する個人満足度算出手順と、
前記個人満足度算出手順により算出された各クラス列ごとの各個人の満足度に基づいて、前記複数のプランに対してグループの満足度を算出するグループ満足度算出手順と、
前記グループ満足度算出手順により算出されたグループの満足度に基づいて前記複数のプランの中からグループとしてのプランを選択するグループプラン選択手順と、
をコンピュータに実行させることを特徴とするグループ適応化プログラム。
【請求項２】
前記個人満足度算出手順は、クラス列ごとに指定を受け付けたクラス順位に基づくクラスの満足度をかけ合わせることで個人に満足度を算出し、前記グループ満足度算出手順は、前記算出された個人の満足度をクラス列ごとに足し合わせることでグループの満足度を算出することを特徴とする請求項１に記載のグループ適応化プログラム。
【請求項３】
前記属性ごとのクラスは階層構成からなる集合で分類されており、
前記個人満足度算出手順は、クラスの階層構成の中で一部の同一階層のクラスに対して各個人により指定された相対的なクラス順位から残りのクラス順位をクラス階層構成に対応するクラス順位の階層構造に基づいて推定し、該推定したクラス順位に基づいて各個人の満足度を算出することを特徴とする請求項１〜２に記載のグループ適応化プログラム。
【請求項４】
前記属性ごとのクラスは階層構成からなる集合で分類されており、
前記個人満足度算出手順は、クラスの階層構成の中で一部のクラスに対して各個人により指定された全般的なクラス順位から残りのクラス順位をクラス階層構成に対応するクラス順位の階層構成に基づいて推定し、該推定したクラス順位に基づいて各個人の満足度を算出することを特徴とする請求項１〜２に記載のグループ適応化プログラム。
【請求項５】
前記グループプラン選択手順は、前記プランにクラス列を構成する複数のクラスが同一のクラス列が含まれる場合には、該同一のクラス列に対しては飽きを反映する飽き関数を適用して算出されたグループの満足度に基づいてプランを選択することを特徴とする請求項１〜４のいずれか一つに記載のグループ適応化プログラム。
【請求項６】
グループを構成する各個人の満足度を基に、複数のプランからグループの意思を反映するプランを選択する処理をコンピュータが実行するグループ適応化方法であって、
プランの対象の属性ごとに複数の集合に分類されるクラスに対して、個人の嗜好順位であるクラス順位の指定を受け付け、クラス順位がｋ番目となるクラスの満足度を１／ｋ＾ｗ（ただし、ｗはｗ＞０である属性ごとの重み）として、各属性から１つずつクラスを選んだクラス列についての満足度を各クラス列ごとに算出する個人満足度算出工程と、
前記個人満足度算出工程により算出された各クラス列ごとの各個人の満足度に基づいて、前記複数のプランに対してグループの満足度を算出するグループ満足度算出工程と、
前記グループ満足度算出工程により算出されたグループの満足度に基づいて前記複数のプランの中からグループとしてのプランを選択するグループプラン選択工程と、
をコンピュータが実行することを特徴とするグループ適応化方法。
【請求項７】
前記個人満足度算出工程は、クラス列ごとに指定を受け付けたクラス順位に基づくクラスの満足度をかけ合わせることで個人の満足度を算出し、前記グループ満足度算出工程は、前記算出された個人の満足度をクラス列ごとに足し合わせることでグループの満足度を算出することを特徴とする請求項６に記載のグループ適応化方法。
【請求項８】
前記グループプラン選択工程は、前記プランにクラス列を構成する複数のクラスが同一のクラス列が含まれる場合には、該同一のクラス列に対しては飽きを反映する飽き関数を適用して算出されたグループの満足度に基づいて選択することを特徴とする請求項６〜７のいずれか一つに記載のグループ適応化方法。
【請求項９】
グループを構成する各個人の満足度を基に、複数のプランからグループの意思を反映するプランを選択する処理を実行するグループ適応化装置であって、
プランの対象の属性ごとに複数の集合に分類されるクラスに対して、個人の嗜好順位であるクラス順位の指定を受け付け、クラス順位がｋ番目となるクラスの満足度を１／ｋ＾ｗ（ただし、ｗはｗ＞０である属性ごとの重み）として、各属性から１つずつクラスを選んだクラス列についての満足度を各クラス列ごとに算出する個人満足度算出手段と、
前記個人満足度算出手段により算出された各クラス列ごとの各個人の満足度に基づいて、前記複数のプランに対してグループの満足度を算出するグループ満足度算出手段と、
前記グループ満足度算出手段により算出されたグループの満足度に基づいて前記複数のプランの中からグループとしてのプランを選択するグループプラン選択手段と、
を備えたことを特徴とするグループ適応化装置。
【請求項１０】
前記個人満足度算出手段は、クラス列ごとに指定を受け付けたクラス順位に基づくクラスの満足度をかけ合わせることで個人の満足度を算出し、前記グループ満足度算出手段は、前記算出された個人の満足度をクラス列ごとに足し合わせることでグループの満足度を算出することを特徴とする請求項９に記載のグループ適応化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、グループとして複数のプランの中から一つのプランを選択する場合に、グループに適応した意思決定を行うグループ適応化プログラム、グループ適応化方法およびグループ適応化装置に関し、特に、グループを構成する各個人に嗜好の程度を定量化する負担を強いることなく、個人の嗜好の程度を定量化して適切にグループの意思決定に反映することができるグループ適応化プログラム、グループ適応化方法およびグループ適応化装置に関するものである。
【背景技術】
【０００２】
従来、グループとして複数のプランの中から一つのプランを選択する場合には、グループを構成するメンバー（個人）の多数決に基づいて意思決定が行われることが多かった。たとえば、グループで旅行に行く場合には、グループとして複数の旅行プラン（温泉に行くプラン、スキーに行くプランなど）から一つのプランをメンバーの多数決によって選択することが一般的であった。
【０００３】
しかし、多数決による意思決定では、必ずしもグループ全体の意思を公平に反映させた決定とはならない場合がある。すなわち、多数決による意思決定では、各個人の要望の強さが反映されず、要望の強さが全て同じであるとして意思決定が行われるため、各個人の満足度の総和が最大になるとは限らない。
【０００４】
そこで、個人に各プランに対する絶対的な評価点を付けさせ、評価点を合計することによって個人の満足度の総和を最大化しようとするシステムが開発されている（たとえば、非特許文献１参照。）。
【０００５】
【非特許文献１】Anthony Jameson,"More than the sum of its members:challenges for group recommender systems", Proc. of the working conference on Advanced Visual Interfaces, AVI2004, pp.48-54, (2004)
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、絶対的な評価点を付ける作業は各個人にとって必ずしも容易ではないという問題がある。すなわち、各個人が嗜好の程度を定量化することは容易ではないという問題がある。
【０００７】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、グループを構成する各個人に嗜好の程度を定量化する負担を強いることなく、個人の嗜好の程度を定量化して適切にグループの意思決定に反映することができるグループ適応化プログラム、グループ適応化方法およびグループ適応化装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、請求項１の発明に係るグループ適応化プログラムは、グループを構成する各個人の満足度を基に、複数のプランからグループの意思を反映するプランを選択する処理をコンピュータに実行させるグループ適応化プログラムであって、プランの対象の属性ごとに複数の集合に分類されるクラスに対して、個人の嗜好順位であるクラス順位の指定を受け付け、クラス順位がｋ番目となるクラスの満足度を１／ｋ＾ｗ（ただし、ｗはｗ＞０である属性ごとの重み）として、各属性から１つずつクラスを選んだクラス列についての満足度を各クラス列ごとに算出する個人満足度算出手順と、前記個人満足度算出手順により算出された各クラス列ごとの各個人の満足度に基づいて、前記複数のプランに対してグループの満足度を算出するグループ満足度算出手順と、前記グループ満足度算出手順により算出されたグループの満足度に基づいて前記複数のプランの中からグループとしてのプランを選択するグループプラン選択手順と、をコンピュータに実行させることを特徴とする。
【０００９】
この請求項１の発明によれば、プランの対象の属性ごとに複数の集合に分類されるクラスに対して、個人の嗜好順位であるクラス順位の指定を受け付け、クラス順位がｋ番目となるクラスの満足度を１／ｋ＾ｗとして、各属性から１つずつクラスを選んだクラス列についての満足度を各クラス列ごとに算出し、算出した各クラス列ごとの各個人の満足度に基づいて、複数のプランに対してグループの満足度を算出し、算出したグループの満足度に基づいて複数のプランの中からグループとしてのプランを選択するよう構成したので、ユーザに対して満足度を直接指定させることなく、嗜好順位だけを指定させるようにすることができる。
【００１０】
また、請求項２の発明に係るグループ適応化プログラムは、請求項１の発明において、前記個人満足度算出手順は、クラス列ごとに指定を受け付けたクラス順位に基づくクラスの満足度をかけ合わせることで個人の満足度を算出し、前記グループ満足度算出手順は、前記算出された個人の満足度をクラス列ごとに足し合わせることでグループの満足度を算出することを特徴とする。
【００１１】
この請求項２の発明によれば、クラス列ごとに指定を受け付けたクラス順位に基づくクラスの満足度をかけ合わせることで個人の満足度を算出し、算出した個人の満足度をクラス列ごとに足し合わせることでグループの満足度を算出するよう構成したので、個人およびグループの満足度を適切に算出することができる。
【００１２】
また、請求項３の発明に係るグループ適応化プログラムは、請求項１または２の発明において、前記属性ごとのクラスは階層構成からなる集合で分類されており、前記個人満足度算出手順は、クラスの階層構成の中で一部の同一階層のクラスに対して各個人により指定された相対的なクラス順位から残りのクラス順位をクラス階層構成に対応するクラス順位の階層構造に基づいて推定し、該推定したクラス順位に基づいて各個人の満足度を算出することを特徴とする。
【００１３】
この請求項３の発明によれば、属性ごとのクラスは階層構成からなる集合で分類されており、クラスの階層構成の中で一部の同一階層のクラスに対して各個人により指定された相対的なクラス順位から残りのクラス順位をクラス階層構成に対応するクラス順位の階層構造に基づいて推定し、推定したクラス順位に基づいて各個人の満足度を算出するよう構成したので、ユーザは同一階層のクラスに対して一部だけ嗜好順位を指定することができる。
【００１４】
また、請求項４の発明に係るグループ適応化プログラムは、請求項１または２の発明において、前記属性ごとのクラスは階層構成からなる集合で分類されており、前記個人満足度算出手順は、クラスの階層構成の中で一部のクラスに対して各個人により指定された全般的なクラス順位から残りのクラス順位をクラス階層構成に対応するクラス順位の階層構成に基づいて推定し、該推定したクラス順位に基づいて各個人の満足度を算出することを特徴とする。
【００１５】
この請求項４の発明によれば、属性ごとのクラスは階層構成からなる集合で分類されており、クラスの階層構成の中で一部のクラスに対して各個人により指定された全般的なクラス順位から残りのクラス順位をクラス階層構成に対応するクラス順位の階層構成に基づいて推定し、推定したクラス順位に基づいて各個人の満足度を算出するよう構成したので、ユーザは一部の全般的嗜好順位だけを指定することができる。
【００１６】
また、請求項５の発明に係るグループ適応化プログラムは、請求項１〜４の発明において、前記グループプラン選択手順は、前記プランにクラス列を構成する複数のクラスが同一のクラス列が含まれる場合には、該同一のクラス列に対しては飽きを反映する飽き関数を適用して算出されたグループの満足度に基づいてプランを選択することを特徴とする。
【００１７】
この請求項５の発明によれば、プランにクラス列を構成する複数のクラスが同一のクラス列が含まれる場合には、同一のクラス列に対しては飽きを反映する飽き関数を適用して算出されたグループの満足度に基づいてプランを選択するよう構成したので、プラン選択に飽きを反映させることができる。
【００１８】
また、請求項６の発明に係るグループ適応化方法は、グループを構成する各個人の満足度を基に、複数のプランからグループの意思を反映するプランを選択する処理をコンピュータが実行するグループ適応化方法であって、プランの対象の属性ごとに複数の集合に分類されるクラスに対して、個人の嗜好順位であるクラス順位の指定を受け付け、クラス順位がｋ番目となるクラスの満足度を１／ｋ＾ｗ（ただし、ｗはｗ＞０である属性ごとの重み）として、各属性から１つずつクラスを選んだクラス列についての満足度を各クラス列ごとに算出する個人満足度算出工程と、前記個人満足度算出工程により算出された各クラス列ごとの各個人の満足度に基づいて、前記複数のプランに対してグループの満足度を算出するグループ満足度算出工程と、前記グループ満足度算出工程により算出されたグループの満足度に基づいて前記複数のプランの中からグループとしてのプランを選択するグループプラン選択工程と、をコンピュータが実行することを特徴とする。
【００１９】
この請求項６の発明によれば、プランの対象の属性ごとに複数の集合に分類されるクラスに対して、個人の嗜好順位であるクラス順位の指定を受け付け、クラス順位がｋ番目となるクラスの満足度を１／ｋ＾ｗとして、各属性から１つずつクラスを選んだクラス列についての満足度を各クラス列ごとに算出し、算出した各クラス列ごとの各個人の満足度に基づいて、複数のプランに対してグループの満足度を算出し、算出したグループの満足度に基づいて複数のプランの中からグループとしてのプランを選択するよう構成したので、ユーザに対して満足度を直接指定させることなく、嗜好順位だけを指定させるようにすることができる。
【００２０】
また、請求項７の発明に係るグループ適応化方法は、請求項６の発明において、前記個人満足度算出工程は、クラス列ごとに指定を受け付けたクラス順位に基づくクラスの満足度をかけ合わせることで個人の満足度を算出し、前記グループ満足度算出工程は、前記算出された個人の満足度をクラス列ごとに足し合わせることでグループの満足度を算出することを特徴とする。
【００２１】
この請求項７の発明によれば、クラス列ごとに指定を受け付けたクラス順位に基づくクラスの満足度をかけ合わせることで個人の満足度を算出し、算出した個人の満足度をクラス列ごとに足し合わせることでグループの満足度を算出するよう構成したので、個人およびグループの満足度を適切に算出することができる。
【００２２】
また、請求項８の発明に係るグループ適応化方法は、請求項６または７の発明において、前記グループプラン選択工程は、前記プランにクラス列を構成する複数のクラスが同一のクラス列が含まれる場合には、該同一のクラス列に対しては飽きを反映する飽き関数を適用して算出されたグループの満足度に基づいて選択することを特徴とする。
【００２３】
この請求項８の発明によれば、プランにクラス列を構成する複数のクラスが同一のクラス列が含まれる場合には、同一のクラス列に対しては飽きを反映する飽き関数を適用して算出されたグループの満足度に基づいてプランを選択するよう構成したので、プラン選択に飽きを反映させることができる。
【００２４】
また、請求項９の発明に係るグループ適応化装置は、グループを構成する各個人の満足度を基に、複数のプランからグループの意思を反映するプランを選択する処理を実行するグループ適応化装置であって、プランの対象の属性ごとに複数の集合に分類されるクラスに対して、個人の嗜好順位であるクラス順位の指定を受け付け、クラス順位がｋ番目となるクラスの満足度を１／ｋ＾ｗ（ただし、ｗはｗ＞０である属性ごとの重み）として、各属性から１つずつクラスを選んだクラス列についての満足度を各クラス列ごとに算出する個人満足度算出手段と、前記個人満足度算出手段により算出された各クラス列ごとの各個人の満足度に基づいて、前記複数のプランに対してグループの満足度を算出するグループ満足度算出手段と、前記グループ満足度算出手段により算出されたグループの満足度に基づいて前記複数のプランの中からグループとしてのプランを選択するグループプラン選択手段と、を備えたことを特徴とする。
【００２５】
この請求項９の発明によれば、プランの対象の属性ごとに複数の集合に分類されるクラスに対して、個人の嗜好順位であるクラス順位の指定を受け付け、クラス順位がｋ番目となるクラスの満足度を１／ｋ＾ｗとして、各属性から１つずつクラスを選んだクラス列についての満足度を各クラス列ごとに算出し、算出した各クラス列ごとの各個人の満足度に基づいて、複数のプランに対してグループの満足度を算出し、算出したグループの満足度に基づいて複数のプランの中からグループとしてのプランを選択するよう構成したので、ユーザに対して満足度を直接指定させることなく、嗜好順位だけを指定させるようにすることができる。
【００２６】
また、請求項１０の発明に係るグループ適応化装置は、請求項９の発明において、前記個人満足度算出手段は、クラス列ごとに指定を受け付けたクラス順位に基づくクラスの満足度をかけ合わせることで個人の満足度を算出し、前記グループ満足度算出手段は、前記算出された個人の満足度をクラス列ごとに足し合わせることでグループの満足度を算出することを特徴とする。
【００２７】
この請求項１０の発明によれば、クラス列ごとに指定を受け付けたクラス順位に基づくクラスの満足度をかけ合わせることで個人の満足度を算出し、算出した個人の満足度をクラス列ごとに足し合わせることでグループの満足度を算出するよう構成したので、個人およびグループの満足度を適切に算出することができる。
【発明の効果】
【００２８】
請求項１、６および９の発明によれば、ユーザに対して満足度を直接指定させることなく、嗜好順位だけを指定させるので、ユーザの負担を低減することができるという効果を奏する。
【００２９】
また、請求項２、７および１０の発明によれば、個人およびグループの満足度を適切に算出するので、適切なプランを選択することができるという効果を奏する。
【００３０】
また、請求項３の発明によれば、ユーザは同一階層のクラスに対して一部だけ嗜好順位を指定することができるので、ユーザの負担をさらに低減することができるという効果を奏する。
【００３１】
また、請求項４の発明によれば、ユーザは一部の全般的嗜好順位だけを指定することができるので、ユーザの負担をさらに低減することができるという効果を奏する。
【００３２】
また、請求項５および８の発明によれば、プラン選択に飽きを反映させるので、適切なプランを選択することができるという効果を奏する。
【発明を実施するための最良の形態】
【００３６】
以下に添付図面を参照して、この発明に係るグループ適応化プログラム、グループ適応化方法およびグループ適応化装置の好適な実施例を詳細に説明する。なお、本実施例では、本発明をグループが旅行する際の旅行先の決定に適用する場合を中心に説明する。
【実施例】
【００３７】
まず、本実施例で用いる用語および記法について説明する。
（１）グループを構成する個人
グループを構成する個人をｐ1，ｐ2，・・・，ｐnとする。
【００３８】
（２）分類属性
個人の嗜好・意思は対象となるものの属性ごとに変わる。たとえば、観光地を考えた場合、その観光地の特徴を表す年代（奈良、平安、鎌倉など）、種類（寺院、神社、遺跡など）、重要度（世界遺産、重要文化財、一般など）などの観光地の持つ属性によって個人の嗜好は大きく変わる。
【００３９】
ここでは、これらの属性を対象の分類に用いることとし、その意味で「分類属性」と呼ぶこととする。分類属性は、Ｔ1，Ｔ2，・・・，Ｔmのｍ個からなるものとする。上記した例で言えば、Ｔ1が年代、Ｔ2が種類、Ｔ3が重要度といった具合である。
【００４０】
（３）クラス
分類属性に基づいて対象となるものはいくつかの集合に分けることができる。この集合を「クラス」と呼ぶ。たとえば、観光地の年代の場合、奈良、平安、鎌倉などがクラスである。
【００４１】
分類属性Ｔi(１＜ｉ＜ｍ)に対応するクラスの数をｔi、対応するクラスを
【数１】
0004780561.tif 000002
と表すことにする。
【００４２】
したがって、全体としては分類属性、およびそれぞれの分類属性に対応するクラスは
【数２】
0004780561.tif 000003
と表すことができる。
【００４３】
たとえば、
Ｔ1  年代      Ｃ11  古代        Ｃ12  中世          Ｃ13  近代
Ｔ2  種類      Ｃ21  寺          Ｃ22  神社          Ｃ23  史跡
Ｔ3  重要度    Ｃ31  世界遺産    Ｃ32  重要文化財    Ｃ33  一般
・・・
である。
【００４４】
（４）カテゴリ（クラス列）
各分類属性から１つずつクラスを選んだクラスの列
【数３】
0004780561.tif 000004
を
【数４】
0004780561.tif 000005
あるいは、添え字だけを用いて、
＜ｉ1，ｉ2，・・・，ｉm＞
と表し、「カテゴリ」または「クラス列」と呼ぶことにする。
【００４５】
クラス列＜ｉ1，ｉ2，・・・，ｉm＞は、各分類属性のクラスがそれぞれ
【数５】
0004780561.tif 000006
であるような候補の集合を表すものである。たとえば、クラス列<古代、神社、世界遺産、・・・>は年代が古代、種類が神社、重要度が世界遺産、・・・であるような観光地の集合を表す。すなわち、クラス列はおおよその意思決定を表すものでもある。意思決定は一般に複数のクラス列を選びその中から特定のものを選ぶことによって行われると考えられる。
【００４６】
クラス列の数は全体で、Ｍ＝ｔ1ｔ2・・・ｔm個と非常に多い。表記を簡単にするために、各クラス列をＳi(１＜ｉ＜Ｍ)と表すことにする。クラス列全体としては、Ｓ1，Ｓ2，・・・，ＳMであり、それぞれは
【数６】
0004780561.tif 000007
である。これらの可能性としてＭ個あるクラス列の中からグループプロファイルの情報に基づいて、いくつかのクラス列を選出することが本実施例における「選出」である。ここで、グループプロファイルとは、個人プロファイルの集まりであり、個人プロファイルとは、グループの各メンバーの意見・嗜好を表すものである。
【００４７】
次に、本実施例に係るグループ適応化装置の構成について説明する。図１は、本実施例に係るグループ適応化装置の構成を示す機能ブロック図である。同図に示すように、このグループ適応化装置１００は、グループプロファイルデータベース１１０と、候補データベース１２０と、プロファイル管理部１３０と、プロファイル入出力部１４０と、候補選出部１５０と、推薦部１６０と、画面入出力部１７０とを有する。
【００４８】
グループプロファイルデータベース１１０は、グループプロファイルなどを記憶するデータベースであり、具体的には、グループプロファイルとして複数の個人プロファイルを記憶し、また、グループプロファイルを解析して得られるグループ全体に関わる情報を記憶する。
【００４９】
図２は、個人プロファイルの一例を示す図である。同図において、楕円がクラス、長方形が分類属性を表す。ただし、「観光地」の楕円はプランの対象を表す。なお、本実施例に係る個人プロファイルは、ユーザオントロジー（たとえば、官上大輔、河合由紀子、田中克巳、「Ａ３：オントロジーの共有によるユーザ適応のためのフレームワークの提案」、ＤＥＷＳ２００４  Ｉ−３−２  参照）に基づくものである。
【００５０】
ユーザオントロジーでは、ユーザが興味を持った観光地や実際に訪問した観光地がインスタンスとして観光地を構成するクラスに格納される。観光地のインスタンスの数が増えてくると、この例では、観光地が年代に基づいて、古代、中性、近代という３つのクラスに分割される。さらに、たとえば古代というクラスに属するインスタンスの数が増えてくると、古代というクラスは先土器、奈良、平安という３つのクラスに分割される。この場合、インスタンスは葉に当たる一番下のクラスに格納され、その上の古代などの中間クラスはインスタンスを持たず、これらのクラスは分類のために使われる。他のクラスについても同様である。このようにユーザオントロジーでは、クラスは追加されるインスタンスによって動的に階層構造を組織化していく。ただし、本実施例では、個人プロファイルは、予め構成が決められた静的なクラス構成に基づくものとする。
【００５１】
図２に示すように、クラス構成は分類属性ごとに形成される。また、クラス構成は一般には多段となる。すなわち、年代は、大きく古代、中世、近代に分類することが可能であるが、古代はさらに、先土器、奈良、平安とより詳細に分類することが可能である。必要であれば、さらに分類することも可能である。また、インスタンスを格納する場合は、分類属性ごとに同じインスタンスの識別子を格納する。インスタンスに関する情報は図示しない別のインスタンステーブルにまとめて格納される。インスタンスに関する詳細な情報はこのインスタンステーブルに格納され、クラスに格納されるのはインスタンスの識別子である。
【００５２】
図１に戻って、候補データベース１２０は、候補に関する情報を記憶したデータベースであり、具体的には、観光地の情報がクラス列に対応付けて記憶される。たとえば、クラス列＜平安、神社＞に対応付けられて「平安神宮」の情報が候補として記憶される。
【００５３】
プロファイル管理部１３０は、グループプロファイルデータベース１１０を管理する管理部であり、グループプロファイルデータベース１１０の検索や更新などを行う。
【００５４】
プロファイル入出力部１４０は、ユーザからのプロファイル情報を解析してプロファイル管理部１３０に渡し、逆にユーザからの要求に基づいてプロファイル管理部１３０にプロファイル情報の検索を依頼する処理部である。
【００５５】
たとえば、このプロファイル入出力部１４０は、ユーザが指定するクラス順位を受け付け、プロファイル管理部１３０に対して個人プロファイルとしてグループプロファイルデータベース１１０に格納するように指示する。ここで、クラス順位とはクラスに対する個人の嗜好順位である。
【００５６】
候補選出部１５０は、推薦部１６０からの要求に基づいてグループに最適なプランの候補（一般的には複数）を選出して推薦部１６０に返す処理部である。なお、この候補選出部１５０の処理の詳細については後述する。
【００５７】
推薦部１６０は、ユーザからの要求を解析して候補選出部１５０に最適なプランを作成するように要求し、候補選出部１５０が選出した候補をユーザに出力する処理部である。
【００５８】
画面入出力部１７０は、ユーザからの入力を受け付けるとともに、プロファイル入出力部１４０および推薦部１６０の出力をディスプレイ装置に表示する処理部である。
【００５９】
次に、候補選出部１５０の候補選出処理の詳細について説明する。候補選出部１５０は、クラス列に対する個人ごとの満足度を計算し、その総和であるグループの満足度が最大になるようなプランを選出し、選出したプランに対応する候補を選出する。このような候補選出処理は、多数決で決めたものが必ずしもグループ全体の満足度を最大にするものではないという考え方を背景としている。
【００６０】
まず、個人の満足度について説明する。個人の満足度を表すモデルにはいろいろなものがあるが、ここでは、個人の嗜好がジップの法則(Zipf's law)あるいはそれをさらに一般化したべき法則(power law)に従うという仮定に基づくモデルを用いる。
【００６１】
ジップの法則は、元々は小説の中に現れる単語を頻度の多い順に並べた際に、その単語順位ｋとその単語の頻度の割合を％で表したものをｆ(ｋ)としたときに、
ｆ(ｋ)＝１０／ｋ
という関係が成り立つという発見からきている。すなわち、１番目の単語は小説の中に１０％、２番目の単語は５％、３番目の単語は３．３％、・・・現れることを意味している。そして、人間の嗜好もこのジップの法則に似ている。確かに、好きな野球球団を挙げる場合、１番目、２番目、３番目までははっきりしているが、それ以降はどんぐりの背比べという人が大半である。
【００６２】
そこで、ここでは、個人のクラスの満足度を以下のようにして算出する。すなわち、ある個人が各分類属性Ｔiごとの好きな、あるいは興味のあるクラスを順に
【数７】
0004780561.tif 000008
と選択したとき、ｋ番目のクラスＣkがクラス列の１つとして選ばれた場合の個人の満足度を
１／ｋ
とする。すなわち、最大の満足度は１番目のものが選ばれたときの１で、ｋ番目のものが選ばれた場合は、満足度が１／ｋになると考えることにする。
【００６３】
このように、個人の満足度をクラス順位に基づいて定義することによって、ユーザは満足度の値を直接指定することなくクラス順位を指定するだけで済み、嗜好の定量化にあたってのユーザの負担を低減することができる。
【００６４】
なお、以下では分類属性に重みをつける場合がある。重みをｗi(０＜ｗi)としたとき、分類属性Ｔiのクラスの内ｋ番目に好きなクラスが選ばれた場合の個人の満足度は
【数８】
0004780561.tif 000009
で表される。すなわち、個人の満足度はべき法則に従う。
【００６５】
なお、ｗi＝１の場合が、１／ｋの場合に当たる。ｗiの値は１より小さくても大きくてもかわまず、大きい場合はいくら大きくても構わない。ｗiの値が大きくなればなるほど分類属性Ｔiの順位の違いによる影響は大きくなり、小さければ小さいほど順位による影響は小さくなる。図３は、重み（ｗi）、順位、満足度の関係を示す図である。同図に示すように、順位が１位の場合は、満足度はｗiの値によらず常に１である。
【００６６】
また、クラス列＜Ｃ1，Ｃ2，・・・，Ｃm＞が選ばれたものとし、各分類属性ごとのある個人のクラスＣi(１＜ｉ＜ｍ)が好きな順位はｋiであるものとすると、このクラス列が選ばれることによる個人ｐh(１＜ｈ＜ｎ)の満足度を
【数９】
0004780561.tif 000010
と定義することにする。
【００６７】
すなわち、個人のクラス列に対する満足度は、各分類属性ごとの個人の満足度の積をとったものと定義する。積を採ることにした理由は、和よりも積の方が各分類属性の影響が大きいためである。なお、いくつかのクラス列の例について満足度を計算したものを図４に示す。ここでは、簡単のためにｗi＝１とした。
【００６８】
また、クラス列＜Ｃ1，Ｃ2，・・・，Ｃm＞が選ばれたものとすると、このクラス列に対するグループ全体としての満足度を
【数１０】
0004780561.tif 000011
と定義することにする。すなわち、グループのクラス列に対する満足度は、そのクラス列に対する個人の満足度の和と定義する。
【００６９】
なお、上記の定義は、各個人を公平に扱ったものであるが、ある個人あるいは複数の個人を優遇したい場合がある。たとえば、ある人の祝い事のための旅行や、子供を楽しませるための旅行といった場合、あるいはリーダの意見に信頼性があり、それを大きく反映させたいなどといった場合である。このような場合には、個人ｐh(１＜ｈ＜ｎ)ごとの優先度（重み）をｉh（＞１）として定義し、グループのクラス列に対する満足度を
【数１１】
0004780561.tif 000012
と定義する。このようにグループのクラス列に対する満足度を定義することにより、必要に応じて特定の個人を優遇することができる。
【００７０】
また、クラス列全体としてはＭ個のクラス列
Ｓ1，Ｓ2，・・・，ＳM
があり、プランを選択するとは、これらの中から重複を許してｋ個のクラス列
【数１２】
0004780561.tif 000013
を選ぶことである。
【００７１】
また、それぞれのクラス列
【数１３】
0004780561.tif 000014
に対応する候補群の中から１つの候補
【数１４】
0004780561.tif 000015
を選び、
【数１５】
0004780561.tif 000016
をグループとしての最終的な候補プランとする。
【００７２】
たとえば、クラス列として図５に示すクラス列を選んだとする。この場合、クラス列
【数１６】
0004780561.tif 000017
に対応する候補群とは古代かつ神社かつ世界遺産であるもの全体の集合のことである。
【００７３】
また、候補を選択する最も簡単な方法は、クラス列の中でそのクラス列に対するグループの満足度が最も大きいものを１つだけ選び、そのクラス列に対応する候補群からｋ個の候補を選ぶ方法である。ただし、この方法は人間が飽きるということを考慮していない。もし、古代の世界遺産になっている神社ばかりを５箇所回るということになったら、喜ぶ人もいるであろうが、大半の人は寺や幕末の史跡も見たいであろうと思われる。
【００７４】
もう一つの簡単な方法は、クラス列の中から重複を避けてそのクラス列に対するグループの満足度が大きいものから順にｋ個選ぶ方法である。そして、各クラス列から１つずつ候補を選ぶ。ただし、この方法では、一つのクラス列が飛びぬけて満足度が高い場合、たとえば、非常に有名な古代の世界遺産になっている神社が２つあって誰もがその２つは是非見たいと思っている場合、グループを満足させることはできない。
【００７５】
そこで、この２つのことを考慮して、以下のように「飽き関数」を定義する。すなわち、最終的に選びたいｋ個の候補のうちｑ(１＜ｑ＜ｋ)個はクラス列Ｓから選ばれたとする。このとき、満足度は回数が増えるにしたがって飽きのために落ちていく。ここでは、この飽きを満足度と同様に次のように定義する。すなわち、クラス列Ｓに対するグループの満足度をｓとしたとき、ｉ回目に選ばれた候補の満足度はｓに比べ
ｂ（ｉ）＝１／ｉw
倍になるものとする。ここで、ｗは重みであり、０＜ｗであるものとする。ｗが大きければ大きいほど飽きの影響は大きく、小さければ小さいほど影響は少ない。
【００７６】
たとえば、ｗ＝１００とすれば、２番目以降の満足度はほとんど０に等しくなり、ｗ＝１／１００であれば２番目以降も満足度はほとんど落ちない。なお、関数ｂ（ｉ）を飽き関数と呼ぶことにする。この飽き関数は一般には、対象とするものや、状況や個人差などいろいろなものに依存するものである。
【００７７】
また、グループのプランに対する満足度を最終的に定義するのに必要となる「一致係数」を以下のように定義する。すなわち、前述のとおり、可能性としてはＭ個のクラス列
Ｓ1，Ｓ2，・・・，ＳM
があり、これらの中から重複を許してｋ個のクラス列
【数１７】
0004780561.tif 000018
を選んだ時のグループの満足度を各クラス列に対するグループの満足度である
【数１８】
0004780561.tif 000019
の和として定義する。
【００７８】
ただし、飽きを考慮して、
【数１９】
0004780561.tif 000020
よりも前にあるクラス列のうち、自分と同じものの数に自分の１を加えたものを
【数２０】
0004780561.tif 000021
と定義し、「一致係数」と呼ぶこととする。定義から明らかに
【数２１】
0004780561.tif 000022
である。
【００７９】
もし、重複がない場合は、全ての１＜ｊ＜ｋに対して
【数２２】
0004780561.tif 000023
であり、全て同じ場合は、
【数２３】
0004780561.tif 000024
となる。
【００８０】
また、選択したｋ個のクラス列の順番は、プランの満足度の総和には影響しないが、これらの順番をいろいろな基準で考慮するようにすることもできる。たとえば、次のようなことが可能である。
（１）あるクラス列を複数回選んでいる場合、なるべく飽きを感じさせないように、その間隔を空ける。
（２）満足度の低い順番にクラス列を並べかえる（最後に一番満足度の高いものを持ってくる）。
（３）逆に、満足度の高い順番にクラス列を並べかえる。
【００８１】
ここで、グループのプランに対する満足度を最終的に定義することにする。この満足度の求め方は次のとおりである。可能性としてはＭ個のクラス列
Ｓ1，Ｓ2，・・・，ＳM
があって、これらの中から重複を許してｋ個のクラス列
【数２４】
0004780561.tif 000025
を選んだ時のグループのこのｋ個のクラス列に対する満足度を
【数２５】
0004780561.tif 000026
と定義する。
【００８２】
これらのクラス列の重複を許したｋ個の組み合わせは非常に多い。これらの組み合わせの中で、グループのｋ個のクラス列に対する満足度の値が最も大きいものを、グループのクラス列プランとして選ぶ。それを、
【数２６】
0004780561.tif 000027
であるものとする。そして、それぞれのクラス列
【数２７】
0004780561.tif 000028
に対応する候補群のなかから１つの候補
【数２８】
0004780561.tif 000029
を選び、
【数２９】
0004780561.tif 000030
をグループとしての最終的な候補プランとする。なお、集合Ａに重複を許した場合には、飽き関数を利用してグループの満足度を算出する。
【００８３】
また、候補の選出に当たっては、さらに最適化することもできる。すなわち、候補によって決る最適化したい値を候補である
【数３０】
0004780561.tif 000031
の関数として、
【数３１】
0004780561.tif 000032
と表すことにする。
【００８４】
たとえば、
【数３２】
0004780561.tif 000033
を観光地とした場合、それらを回るのに必要な時間や距離といったものが考えられる。そして、最適化においては、この
【数３３】
0004780561.tif 000034
がユーザの要望に最も合致するように
【数３４】
0004780561.tif 000035
を選ぶ。たとえば、時間が最短なものといった具合である。
【００８５】
次に、候補選出部１５０によるクラスの順位付け処理について説明する。候補選出部１５０は、個人のクラス列に対する満足度を計算する場合に、クラスの順位に基づいて計算するため、まず、クラスの順位付けを行う。
【００８６】
候補選出部１５０は、インスタンス数が十分に多い場合には、クラスごとに格納されるインスタンスの数によって順位を決める。すなわち、候補選出部１５０は、インスタンスの数の多い順に順位をつける。図６は、インスタンス数による順位付けの一例を示す図である。同図において、数字はインスタンス数を表し、○の中の数字は順位を表す。順位は各階層のレベルごとに付けられる。
【００８７】
この例では、一番下の層にある９つのクラスが１位から８位に順序付けられている。９位まででないのは、インスタンス数が０のものが２つあるためで、それぞれ同じ８位が付けられる。上の層のインスタンス数はその下の層のインスタンス数の合計として計算される。たとえば、古代のインスタンス数は１２＝０＋２＋１０として計算される。これらのインスタンス数に基づいて、下から２番目の層の３つのクラスには１位から３位の順位が付けられる。ここでは、これらの順位は、個人の嗜好や興味、意思の順位を表しているものと考える。
【００８８】
一方、インスタンス数が少ない場合には、候補選出部１５０は、ユーザに順位を指定させる。ここで、ユーザによる順位付けの方式としては、兄弟順位付け、全般的順位付け、兄弟順位付けと全般的順位付けの両者を取り入れた順位付けの３とおりの方式があり、以下図７〜図９を用いて順に説明する。
【００８９】
図７は、兄弟順位付けの一例を示す図である。この方式では、クラスの階層構成において、兄弟の関係にあるクラスに対してユーザは順位を付ける。この順位付けでは、階層のどのレベルに順位付けしても構わない。よく知らないユーザは、大雑把に指定することができる。図７で言えば、古代、中世、近代の３つの指定である。しかし、歴史に詳しいユーザは、もっと細かく指定することもできる（クラスを多段に階層化することにより、こうした要求にこたえることができる）。たとえば、平安時代の貴族文化や幕末の薩長や坂本竜馬に興味があり、その意思を伝えたいという場合である。また、ある時代に詳しいユーザでも他の時代には疎かったり、興味がなかったりする。これらがどのレベルを指定してもよいとしている理由である。
【００９０】
また、ユーザは、順位をつけなくても構わない。人間が手入力で順位を付けることを考えた場合、非常に面倒であり、意思決定において影響の大きい重要な部分についてだけ最小限の手間で付けることを望む。順序付けをしなくてもいいようにした理由はこのためである。順位を付けなかったものに対しては、候補選出部１５０が順位を推定する。この順位推定の詳細については後述する。
【００９１】
ただし、順位は木構造において兄弟関係にあるものについて１、２、・・・の順で付けていくものとする。この順位は兄弟間での順位、すなわちある親クラスの下での順位であり、階層レベル全体にわたる絶対順位に比べ相対的なものである。したがって、この兄弟間の順位を「相対順位」と呼ぶことにする。
【００９２】
なお、ユーザによる順位付けは一部だけでもかまわない。こうする理由は、人間は順位を付ける場合、順位がトップに近い場合はつけやすいが、順位が下がってくるとどんぐりの背比べという状況が多く発生し、順位付けが困難になるということを考慮したものである。
【００９３】
図８は、全般的順位付けの一例を示す図である。兄弟順位付け方式では、ある親の子クラスに１、２、・・と順位を付け、別の親クラスの子クラスにまた１、２、・・・と順位を付けることが可能であった。一方、全般的順位付け方式では、ユーザは長方形で表された分類属性以下のクラス階層全体を対象として１、２、・・・と順位を付けていく。同じ順位を付けることは許されるが、それは同程度に嗜好・興味を持っていることを意味する。同じ順位が続いた場合は、その後の順位は重複した個数を考慮した順位でなければならない。この順位は絶対順位と考えられるものである。
【００９４】
なお、図８に示すように、この方式でも、階層のどのレベルに順位付けしても構わない。また、順位をつけなくても構わない。こうする理由は兄弟順位付け方式の場合と同様である。また、この方式では、上位クラスと下位クラスの両方に同時に順位を指定することはできないものとする。この方式の利点は、全般的な順位がはっきりしている場合、自分の嗜好・意思をより正確に表すことができることである。
【００９５】
図９は、兄弟順位付けと全般的順位付けの両者を取り入れた順位付けの一例を示す図である。この方式は兄弟順位付け方式と全般的順位付け方式を混合した方式である。したがって、両者のメリットを取り入れることができる。この方式では、ユーザは、全般的順位付け方式にしたがって、クラス階層に全般的に番号を付けていく。全般的順位付け方式同様、このステップでは、上位クラスと下位クラスの両方に順位が指定されることはないものとする。そして、上位クラスと下位クラスの両方に順位を付ける場合、下位クラスの順位は兄弟順位付け方式同様、１、２、・・・という順位でなければならないものとする。
【００９６】
なお、候補選出部１５０は、インスタンス数が少ない段階ではユーザの指定を受け付けて順位付けを行い、インスタンス数が増えた段階でインスタンス数による順位付けに切り替えることによって、両者のメリットを生かすことができる。
【００９７】
また、候補選出部１５０は、ユーザによって一部の順位が指定されていない場合には、それらの順位を推定する処理を行う。候補選出部１５０が順位推定を行うことによって、ユーザは任意の深さのクラス階層や指定したい部分だけを指定することができる。なお、順位から満足度を計算する場合、重みを考慮する必要があるが、ここでは、説明を簡単にするために重みは省くこととする。重みを考慮する方式は重みを考慮しない方式から容易に導くことができる。
【００９８】
まず、順位推定の詳細について説明する前に、上位クラスＣとそのｎ個ある下位クラスＣ1，Ｃ2，・・・Ｃnの順位関係の基本的な考え方について説明する。上位クラスの順位をＲとし、下位クラスには、Ｃ1，Ｃ2，・・・の順で相対順位がついているものとする。すなわち、Ｃiの添え字ｉが上位クラス配下のサブクラス間の相対順位を表している。
【００９９】
このとき、上位クラスの順位Ｒや他の情報からＣ1の絶対順位を推定するわけである。この推定の仕方についてはいろいろな方法が考えられる。たとえば、最も単純な方法は、順位ＲをＣ1の順位とすることである。この方式を「単純遺伝方式」と呼ぶことにする。
【０１００】
他にもいろいろな方法が考えられるが、以下の例ではこの方法を用いることにする。また、ここでは、推定されたＣ1の絶対順位ａ(Ｃ1)と表すことにする。このとき、Ｃ2，Ｃ3，・・・の絶対順位は２ａ(Ｃ1)、３ａ(Ｃ1)、・・・であると考えるというのが基本的な考え方である。Ｃ1，Ｃ2，Ｃ3，・・・の満足度は、α＝ａ(Ｃ1)とすれば、１／α、１／（２α）、１／（３α）、・・・となる。この結果は、ｋ番目に好きなものの満足度は１／ｋになるという基本的な個人の満足度の考え方と整合性が取れたものである。
【０１０１】
次に、具体的な順位の推定方法について説明する。具体的な順位の推定方法には、デフォルト順位による推定、遺伝による推定および逆遺伝による推定があり、以下図１０〜図１３を用いて順に説明する。
【０１０２】
デフォルト順位による推定では、同じレベルのクラスの一部が指定されてそれ以外が指定されていないクラスの順位を推定する。兄弟関係にあるサブクラスの一部の順位が指定されている場合、すなわち兄弟順位付け方式の場合、指定された最大の順位をｍとすると、指定されていないサブクラスの相対順位は全てｍ＋１であるものとする。
【０１０３】
図１０は、兄弟順位付け方式の場合のデフォルト順位による推定例を示す図である。同図（ａ）は、ユーザによる順位指定を示し、Ｎは順位が未指定であることを示す。同図（ｂ）は、デフォルト順位による推定結果を示し、○で囲まれた数字が推定された順位である。同図（ａ）に示すように、ユーザによって指定された最大の順位はｍ＝３であるので、デフォルト順位による推定の結果Ｎ＝４となる。
【０１０４】
また、全般的順位付け方式の場合は、全般的順位の中で指定された順位をｍとすると、他は全てｍ＋１であるものとする。図１１は、全般的順位付け方式の場合のデフォルト順位による推定例を示す図である。同図（ａ）は、ユーザによる順位指定を示し、この図が示すように、最大の順位はｍ＝３であるので、順位が１および２と兄弟の関係にあるクラスの順位は、同図（ｂ）に示すように４となる。また、他の部分については、以下に述べる遺伝、逆遺伝の規則によって推定される。なお、何も指定されていない場合は、最大順位は０とする（すなわち、１位から推定による順位付けが始まる）。
【０１０５】
また、兄弟順位付けと全般的順位付けの両者を取り入れた方式の場合は、上述した二つの推定方式を適宜適用して、デフォルト順位を推定する。
【０１０６】
遺伝による推定では、上位クラスの順位が指定され、下位クラスの相対順位の一部または全部が指定されていない場合に、下位クラスの順位を推定する。すなわち、上位クラスＣの絶対順位がＲとして指定され、ｎ個ある下位クラスＣ1，Ｃ2，・・・，Ｃnの相対順位が一部指定されている場合と全く指定されていない場合に、指定されていない下位クラスの順位を推定する。なお、兄弟順位付けの場合、一番上の兄弟関係にあるクラスの順位は、相対順位であるが、これを絶対的な順位と見なすことにする。
【０１０７】
下位クラスの相対順位が全く指定されていない場合、指定はされていないが、実際には順位はあるはずである。その一番目の絶対順位は、上位クラスと下位クラスとの間の順位関係の基本的な考え方で説明したように、Ｒや他の情報から推定される。その値をαとすると、この下位クラスの順位は、上位クラスと下位クラスとの間の順位関係の基本的な考え方で説明したように、α、２α、・・・、３αと順位付けされるはずである。ただし、どのサブクラスがその順位かはわからない。そこで、下位クラスの平均的な絶対順位ｒや満足度ｓを考えることにする。
【０１０８】
平均的な満足度ｓは、
【数３５】
0004780561.tif 000036
であたえられる。ここで、
【数３６】
0004780561.tif 000037
とおくことにすると、この値は、１位からｎ位まで絶対順位が付けられたクラスの平均満足度と考えられるものである。したがって、ｓはｓ＝ζ(ｎ)／αと表される。
【０１０９】
また、絶対順位と満足度の関係は、ｒ＝１／ｓであるので、ｒ＝α／ζ(ｎ)で与えられる。すなわち、ｎ個のサブクラスは全て絶対順位ｒおよび満足度ｓを有するものと推定する。単純遺伝方式の場合、α＝Ｒであるから、ｓ＝ζ(ｎ)／Ｒ、ｒ＝Ｒ／ζ(ｎ)と計算される。
【０１１０】
図１２は、遺伝による順位の推定例を示す図である。同図（ａ）は、下位クラスの順位が全く指定されていない例を示し、Ｎは順位が未指定であることを示す。同図（ｂ）は、遺伝による推定結果を示し、単純遺伝方式の場合、ζ(３)＝(１／３)(１＋１／２＋１／３)＝１１／１８より、ｒ＝１／(１１／１８)＝１８／１１＝１．６４と絶対順位が推定される。
【０１１１】
また、相対順位が指定されている場合は、その一番目の絶対順位をＲやそれ以外の情報から推定して、その値をαとし、指定された下位クラスＣ1，Ｃ2，・・・，Ｃnの相対順位をｒ1，ｒ2，・・・，ｒnとすると、それぞれのサブクラスの絶対順位は順に、αｒ1，αｒ2，・・・，αｒnと推定される。
【０１１２】
逆遺伝による推定では、下位クラスの順位が指定され、上位クラスの順位が指定されていない場合に、上位クラスの順位を推定する。上位クラスＣの絶対順位がわからず、そのｎ個ある下位クラスＣ1，Ｃ2，・・・，Ｃnの絶対順位がそれぞれｒ1，ｒ2，・・・，ｒnと指定されているものとすると、上位クラスＣの絶対順位Ｒを次のように推定する。
【０１１３】
すなわち、下位クラスの平均満足度ｓは、
【数３７】
0004780561.tif 000038
で計算され、α＝ζ(ｎ)／ｓによってαが計算される。このαの値は、サブクラスの中で一番順位が高いものの順位を、上位クラスと下位クラスとの間の順位関係の基本的な考え方から逆に割り出したものである。一般には、ｒ1の値とは異なるが、サブクラスのｎ個の順位から割り出したものであり、こちらの方がよりサブクラス全体の性質を表しているものと考えられる。このαの値から、遺伝による推定で用いた方法を逆に用いて、Ｒを推定する。
【０１１４】
図１３は、逆遺伝による順位の推定例を示す図である。同図（ａ）は、下位クラスの順位が指定され、上位クラスの順位が指定されていない例を示し、Ｎは順位が未指定であることを示す。同図（ｂ）は、遺伝による推定結果を示し、ｓ＝(１／３)(１／２＋１／４＋１／８)＝７／２４であり、ζ(３)＝(１／３)(１＋１／２＋１／３)＝１１／１８であるので、α＝ζ(ｎ)／ｓ＝(１１／１８)(２４／７)＝４４／２１＝２．１０となり、単純遺伝方式の場合、Ｒ＝αであるので、Ｒ＝２．１０、すなわち、上位クラスＣの絶対順位は２．１位と推定される。
【０１１５】
次に、候補選出部１５０の処理手順について説明する。図１４は、候補選出部１５０の処理手順を示すフローチャートである。なお、ここでは、インスタンス数が十分でなく、ユーザに一部順位を指定させ、候補選出部１５０が未指定の順位を推定する場合について説明する。
【０１１６】
図１４に示すように、候補選出部１５０は、個人プロファイル中の指定されていない順位を推定し（ステップＳ１０１）、個人プロファイル中の順位に基づいて個人のクラスごとの満足度を計算する（ステップＳ１０２）。
【０１１７】
そして、個人のクラス列ごとの満足度を計算し（ステップＳ１０３）、グループのクラス列ごとの満足度を計算する（ステップＳ１０４）。そして、グループのプランごとの満足度を計算し（ステップＳ１０５）、グループの満足度の最も高いプランを選択する（ステップＳ１０６）。そして、プラン中の各クラス列に対してそれぞれ候補を選択し、最終的な候補プランとする（ステップＳ１０７）。
【０１１８】
このように、グループを構成する個人の満足度に基づいてグループのプランを選択することによって、グループ適応化装置１００はグループのメンバーに最適なプランを選択することができる。
【０１１９】
次に、未指定の順位を推定する順位推定処理の処理手順について図１５〜図１７を用いて説明する。なお、この順位推定処理は、図１４に示した処理手順のステップＳ１０１の処理に対応する。
【０１２０】
図１５は、兄弟順位付けの場合の順位推定処理の処理手順を示すフローチャートである。同図に示すように、この順位推定処理では、兄弟のうち順位が一部しか指定されていないクラスがある場合には、それらのクラスに対してデフォルト順位を補う（ステップＳ２０１）。なお、兄弟クラスの全てに順位が指定されていない場合には、遺伝により補う。
【０１２１】
そして、相対順位をクラス階層の上の層から順に遺伝によって絶対順位に変換する（ステップＳ２０２）。
【０１２２】
このように、兄弟順位付けの場合には、デフォルト順位で補った後、遺伝により順位を推定することによって、未指定の順位を推定することができる。
【０１２３】
次に、全般的順位付けの場合の順位推定処理の処理手順について説明する。図１６は、全般的順位付けの場合の順位推定処理の処理手順を示すフローチャートである。同図に示すように、この順位推定処理では、全体で付けられた順位の最大値をＲとしたとき、一部順位が付けられている層の残りにデフォルト順位としてＲ＋１の順位を付ける（ステップＳ３０１）。
【０１２４】
そして、遺伝により、子に順を付ける（ステップＳ３０２）。なお、この操作は順位が付いていない子がなくなるまで行う。そして、逆遺伝により、親に順位を付ける（ステップＳ３０３）。なお、この操作は順位が付いていない親がなくなるまで行う。
【０１２５】
このように、全般的順位付けの場合には、デフォルト順位による推定、遺伝による推定、逆遺伝による推定の順に推定を行うことによって、未指定の順位を推定することができる。
【０１２６】
次に、兄弟＋全般的順位付けの場合の順位推定処理の処理手順について説明する。図１７は、兄弟＋全般的順位付けの場合の順位推定処理の処理手順を示すフローチャートである。同図に示すように、この順位推定処理では、全般的順位付けの場合と同様、デフォルトの絶対順位を補い（ステップＳ４０１）、兄弟順位付けの場合と同様、デフォルトの相対順位を補う（ステップＳ４０２）。
【０１２７】
そして、相対順位を上の層から順に遺伝により絶対順位に変換し（ステップＳ４０３）、順位の付いていない子の絶対順位を遺伝により定める（ステップＳ４０４）。なお、この操作は順位が付いていない子がなくなるまで行う。そして、順位の付いていない親の絶対順位を逆遺伝により定める（ステップＳ４０５）。なお、この操作は順位が付いていない親がなくなるまで行う。
【０１２８】
このように、兄弟＋全般的順位付けの場合にも、デフォルト順位による推定、遺伝による推定、逆遺伝による推定の順に推定を行うことによって、未指定の順位を推定することができる。
【０１２９】
次に、プランに対応する最適な候補を選択する最適候補選択処理の処理手順について説明する。なお、この最適候補選択処理は、図１４に示した処理手順のステップＳ１０７の処理に対応する。
【０１３０】
図１８は、最適候補選択処理の処理手順を示すフローチャートである。同図に示すように、この最適候補選択処理では、候補について評価を行う評価関数ｆの評価値ｍｉｎを無限大に初期化する（ステップＳ５０１）。ここで、無限大とは、具体的には処理系が扱える最大値である。
【０１３１】
そして、プラン中の各クラス列Ｓ1，Ｓ2，・・・，Ｓkから１つずつ候補を選んだ新しい順列をａ1，ａ2，・・・，ａkとし（ステップＳ５０２）、ｆ(ａ1，ａ2，・・・，ａk)＜ｍｉｎであるか否かを判定する（ステップＳ５０３）。
【０１３２】
その結果、ｆ(ａ1，ａ2，・・・，ａk)＜ｍｉｎである場合には、ｍｉｎ＝ｆ(ａ1，ａ2，・・・，ａk)とし、ｂ1＝ａ1，ｂ2＝ａ2，・・・，ｂk＝ａkとする（ステップＳ５０４）。
【０１３３】
そして、新しい順列が残っているか否かを判定し（ステップＳ５０５）、新しい順列が残っている場合には、ステップＳ５０２に戻って次の順列を評価し、新しい順列が残っていない場合には、ｂ1，ｂ2，・・・，ｂkを最終候補とする（ステップＳ５０６）。
【０１３４】
このように、評価関数を用いて候補プランを評価することによって、グループ適応化装置１００はプランから最適な候補を選択することができる。
【０１３５】
次に、本実施例に係るグループ意思決定方式である満足度最大化方式と多数決方式との比較結果について観光地を例に図１９〜図２４を用いて説明する。観光地としては神社、寺、史跡を対象として考えることにする（この例では、公園などは除く）。観光地には、名称や住所などの属性（一般属性）とともに、年代、種類、重要度などの観光地を分類するための属性（分類属性）が付けられている。候補の選出に用いられるのは、これらの分類属性である。
【０１３６】
観光地はいろいろな観点からいくつかのクラスに分類される。たとえば、年代を平安（以前）、中世、近代（以降）に分けたとしよう。すると、観光地はこの３つのクラスに分類されることになる。ここではさらにより細かく年代を分類している。この場合、このより詳細な年代という分類属性からはその上位クラスである平安、中世、近代が簡単に導けるものとする。図１９に観光地の分類属性の例を示す。なお、図２０には、別の例として、飲食店の分類属性の例を示す。
【０１３７】
また、多数決方式をより明確に特徴づけるために以下のように規定することにする。
・各個人プロファイルに基づき、各個人は一番気に入っているクラスに１票を投じる。ｍ個の分類属性がある場合は、ｍ票を投じることになる。
・票数の合計の多い順に決める。ｋ個選ぶ場合は、多い順にｋ個を選ぶ。基本的な考え方は、選挙などで行われている方式と同様である。すなわち、多数であることを尊重する方式である。ただし、多数であることが全体の満足度を最大にしているとは限らない。また、少数意見が反映されない嫌いがあるという欠点を持つ。この方式の最も単純な単純多数決方式の処理手順を以下に示す。
【０１３８】
(1)プロファイルに基づいて、各個人は分類属性Ｔiごとに、一番気に入っている１位のクラスに１票を投じる。したがって、ｍ個の全分類属性では、ｍ票を投じることになる。
(2)全員の投票が終わった後、各分類属性ごとＴiに最も票数が多いクラスをその分類属性のクラスとして選ぶ。同数の場合は、適当に１つを選ぶこととする。
(3)クラス列＜Ｓ1，Ｓ2，・・・，Ｓm＞を「候補クラス列」と呼ぶこととする。
(4)候補クラス列に該当する候補（観光地や飲食店など）を別の基準（たとえば、移動距離が短い、ランダムなど）に基づいて予め決まっているｋ個を選出する。
【０１３９】
この方式では、同じクラス列に属する候補群からｋ個選ぶことになる。したがって、飽きを感じる可能性が十分にある。具体的には、平安時代の世界遺産の神社ばかり巡るということになる。
【０１４０】
そこで、次に複数クラス列選出多数決方式が考えられる。この複数クラス列選出多数決方式では分類属性Ｔiに重みｗi(０＜ｗi＜１)付けることにする。
(1)クラスＣij(０＜ｉ＜ｍ，１＜ｊ＜ｔi)ごとに得票数Ｓ(Ｃij)を計算する。
(2)クラス列＜ｉ1，ｉ2，・・・，ｉm＞の点数を
【数３８】
0004780561.tif 000039
により計算する。すなわち、クラス列の点数は、クラス列を構成するクラスの得票数に対応する分類属性の重みを掛けたものを合計したものである。
(3)得点の多い順にｋ個のクラス列を選出する。
(4)ｋ個のクラス列ごとに該当する候補（観光地や飲食店など）を別の基準（たとえば、移動距離が短い、ランダムなど）に基づいてそれぞれ１つずつ、全体でｋ個を選出する。
【０１４１】
この方式で分類属性ごとに重みをつけたのは、次の理由による。分類属性には重要なものと重要でないものが自ずとある。たとえば、年代や種類にはうるさい人が多いだろうが、観光地の入場料金にはそれほどうるさい人は少ないと思われる。もし重みをつけずに各分類属性を平等に扱うと、料金に関する票も年代に関する票も、クラス列の得点では同じ影響力を持つことになり、それは人間が通常行っている判断とは異なるものに思われる。人間は、無意識のうちにでも重みをつけているはずであり、重みをつけたのはこうした理由からである。なお、上記の単純多数決方式では重みは問題にならない。この方式では各分類属性から１つのクラスを選べばよいからである。
【０１４２】
図２１にクラス列選出多数決方式によるプラン選出例を示す。なお、この例では、簡単のため、分類属性は年代と種類だけを取ることにする。今、３人ｐ1，ｐ2，ｐ3のグループが３つの観光地を回るプランを立てているもとする。ｐ1，ｐ2は平安の神社を一番希望しており、ｐ3は傾向が全く逆で幕末（近代）の史跡めぐりを希望しているものとする。
【０１４３】
個人プロファイルを図２１（ａ）に示す。同図では、左のものほど高順位である。また、太字で示したクラスは各個人が１票を投じるクラスを示す。クラスごとの総得票数は図２１（ｂ）に示すとおりとなる。なお、図２１（ｂ）に記載されていないクラスの得票数は０である。
【０１４４】
また、クラス列ごとの得票数は図２１（ｃ）に示すとおりとなる。したがって、得票数の多いクラス列の上位３位までは図２１（ｄ）に示すとおりとなる。ここで、注目すべき点は、ｐ3の一番希望している＜近代、史跡＞が３位までに含まれていない、すなわちグループとして選択されていないことである。
【０１４５】
また、もし重複を許さずに候補を選ぶのであれば、これら３つのクラスからそれぞれ１つずつ、移動距離が一番短くなるようにといったことを考慮して候補を選ぶことになる。
【０１４６】
満足度最大化方式も、多数決に基づく方式と同様に、基本的には点数を計算し、点数の高いものを候補として選ぶ。ただし、多数決方式は、多数が選んだものを選出する方式である。これに対して、満足度に基づく方式は、全体の満足度を最大にすることを目指す方式である。
【０１４７】
まず、簡単な例を使って満足度最大化方式を説明することにする。なお、ここでは簡単のため分類属性に対する重みは考えないこととし、分類属性は年代と種類だけを取ることにする。
【０１４８】
図２２は、満足度最大化方式によるプラン選出例（１）を示す図である。今、３人ｐ1，ｐ2，ｐ3のグループが３つの観光地を回るプランを立てているもとする。３人の個人プロファイルは図２２（ａ）に示すとおりであり、これは図２１（ａ）に示したものと全く同じものである。
【０１４９】
また、ｐ1，ｐ2およびｐ3の各クラス列に対する満足度は図２２（ｂ）に示す表（行列）のとおりである。したがって、グループのクラス列に対する満足度は図２２（ｃ）に示すとおりとなる。なお理論的には、満足度の最大値は３(＝１×３)、最小値は１／３(＝１／９×３)である。また、○の中の数字は、グループの中でのそのクラス列の順位を表している。すなわち、上位３つのクラス列は図２２（ｄ）に示すとおりである。ここで、注目すべき点は、２対１であるにも関わらず、ｐ3の希望が２番目になっている点である。
【０１５０】
また、もし重複を許さずに候補を選ぶのであれば、クラス列選出多数決方式と同様これらのクラスからそれぞれ１つずつ、移動距離が一番短くなるようにといったことを考慮して候補を選ぶことになる。
【０１５１】
図２３は、満足度最大化方式によるプラン選出例（２）を示す図である。これまでの例では分類属性として２つしか扱わなかったが、この例では、さらに分類属性として重要度を加えた際の、個人のクラス列に対する満足度を示す。個人としては、前述のｐ1をそのまま用いる。ｐ1の重要度に対する個人プロファイルは
重要度    世界遺産、文化財、一般
となっているものとする。このとき、ｐ1の各クラス列に対する満足度は図２３（ａ）に示すとおりである。なお、図が３次元的になるため、３つに分けて示すことにする。
【０１５２】
また、ここまでは、分数で表したが、数値の大きさを直感的にわかりやすくするため、少数で表すと図２３（ｂ）に示すとおりである。同図において、○の中の数字は、クラス列の得点に関する順位である。
【０１５３】
また、図２３（ｂ）に示した表を３次元の座標軸をもつ空間のように考えると、平安、神社、世界遺産というｐ1がもっとも希望しているものを３つとも揃えたクラス列が１と最も高く、これが原点に当たるが、原点に近いほど点が高い傾向があることがわかる。
【０１５４】
また、たとえば、図２２（ｄ）に示した上位３つのクラス列に対して、飽き関数をｂ(ｉ)＝１／ｉwとして飽きを考慮することができる。ここで、簡単のために重みｗ＝１とする。また、１位、２位、３位のクラス列をそれぞれ簡単に(1)、(2)、(3)で表すことにする。
【０１５５】
このとき、重複して選択された３個のクラス列に対するグループの満足度はそれぞれ次のように計算される。なお、候補として考えられるのは以下の３つのみである。
(1)(1)(1)
２．１１＋２．１１×１／２＋２．１１×１／３＝２．１１（１＋０．５＋０．３３３）＝３．８６
(1)(1)(2)
２．１１＋２．１１×１／２＋１．２２＝２．１１（１＋０．５）＋１．２２＝４．３８
(1)(2)(3)
２．１１＋１．２２＋１．１６＝４．４９
したがって、選択されるプランは、得点が４．４９と一番大きい(1)(2)(3)である。
【０１５６】
次にｗ＝０．７の場合を同様に計算してみると以下のとおりとなる。
(1)(1)(1)
２．１１＋２．１１×（１／２0.7）＋２．１１×（１／３0.7）＝２．１１（１＋０．６１５＋０．４６３）＝４．３８
(1)(1)(2)
２．１１＋２．１１×（１／２0.7）＋１．２２＝２．１１（１＋０．６１５）＋１．２２＝４．６２
(1)(2)(3)
２．１１＋１．２２＋１．１６＝４．４９
すなわち、選択されるプランは、得点が４．６４と一番大きい(1)(1)(2)である。
【０１５７】
また、ｗ＝０．３の場合は、
(1)(1)(1)
２．１１＋２．１１×（１／２0.3）＋２．１１×（１／３0.3）＝２．１１（１＋０．８１２＋０．７１９）＝５．３４
(1)(1)(2)
２．１１＋２．１１×（１／２0.3）＋１．２２＝２．１１（１＋０．８１２）＋１．２２＝５．０４
(1)(2)(3)
２．１１＋１．２２＋１．１６＝４．４９
となり、選択されるプランは最も重複している(1)(1)(1)である。すなわち、重みｗが小さくなるにつれて、重複しているプランが有利になるという傾向が見える。これは、重みｗが小さいほど、飽き関数の影響が減るためである。
【０１５８】
次に、順位推定例について図２５〜図２７を用いて説明する。なお、下位クラスのうち一番順位が高いものの順位αを推定する場合、ここでは、単純遺伝方式を用いるものとする。
【０１５９】
図２５は、兄弟順位付けの一例を示す図である。図２５（ａ）は、図７に示した例を簡略化して表したものである。この例に対して、まずデフォルトの順位推定により、図２５（ｂ）のように順位が推定される。ここで、○で囲んだ数字が推定された順位である。さらに、遺伝を使うことによって図２５（ｃ）のように順位が推定される。図２５（ｃ）では、下線の部分が遺伝で推定された順位である。
【０１６０】
図２６は、全般的順位付けの一例を示す図である。図２６（ａ）は、図８に示した例を簡略化して表したものである。この例では指定された最大の順位は５位であるので、まず、デフォルトの順位推定により、図２６（ｂ）のように順位が推定される。ここで、○で囲んだ数字が推定された順位である。さらに、遺伝を使うことによって図２６（ｃ）のように順位が推定される。図２６（ｃ）では、下線の部分が遺伝で推定された順位である。さらに、逆遺伝を使うことによって図２６（ｄ）のように順位が推定される。図２６（ｄ）では、四角で囲んだ数字が逆遺伝で推定された順位である。
【０１６１】
図２７は、兄弟順位付けと全般的順位付けの両者を取り入れた順位付けの一例を示す図である。図２７（ａ）は、図９に示した例を簡略化して表したものである。この例では指定された全般的順位付けの最大の順位は５位であるので、まず、デフォルトの順位推定により、図２６（ｂ）に示したものと同様に図２７（ｂ）のように順位が推定される。ここで、○で囲んだ数字が推定された順位である。さらに、遺伝を使うことによって図２７（ｃ）のように順位が推定される。図２７（ｃ）では、下線の部分が遺伝で推定された順位である。この順位推定は、図２６（ｃ）に示したものと異なっている。さらに、逆遺伝を使うことによって図２７（ｄ）に示したものと同様に図２７（ｄ）のように順位が推定される。図２７（ｄ）では、四角で囲んだ数字が逆遺伝で推定された順位である。
【０１６２】
上述してきたように、本実施例では、プロファイル入出力部１４０がユーザからクラス順位を受け付け、グループプロファイルデータベース１１０に個人プロファイルとして格納するようにプロファイル管理部１３０に指示し、候補選出部１５０が、グループプロファイルデータベース１１０に記憶されたクラス順位に基づいてプランに対する個人の満足度をまず算出して次にグループの満足度を算出し、算出したグループの満足度に基づいてプランを選択することとしたので、ユーザはクラス順位だけを指定することによって満足度の定量化が可能となり、ユーザに嗜好の定量化の負担を強いることなく、個人の満足度の大きさを適切に反映したプランを選択することができる。
【０１６３】
また、候補選出部１５０は、個人のクラス順位に未指定の部分がある場合には、クラス順位を推定し、推定したクラス順位に基づいてグループの満足度を算出することとしたので、ユーザは、明確に順位を付けられる範囲で順位を指定することができ、ユーザの負担を軽減することができる。
【０１６４】
また、候補選出部１５０は、クラス順位をべき法則に基づいて推定することとしたので、個人のクラス順位および満足度を適切に推定することができる。
【０１６５】
なお、本実施例では、グループ適応化装置について説明したが、グループ適応化装置が有する構成をソフトウェアによって実現することで、同様の機能を有するグループ適応化プログラムを得ることができる。そこで、このグループ適応化プログラムを実行するコンピュータについて説明する。
【０１６６】
図２８は、本実施例に係るグループ適応化プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ２００は、ＲＡＭ２１０と、ＣＰＵ２２０と、ＨＤＤ２３０と、ＬＡＮインタフェース２４０と、入出力インタフェース２５０と、ＤＶＤドライブ２６０とを有する。
【０１６７】
ＲＡＭ２１０は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、ＣＰＵ２２０は、ＲＡＭ２１０からプログラムを読み出して実行する中央処理装置である。
【０１６８】
ＨＤＤ２３０は、プログラムやデータを格納するディスク装置であり、ＬＡＮインタフェース２４０は、コンピュータ２００をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。
【０１６９】
入出力インタフェース２５０は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、ＤＶＤドライブ２６０は、ＤＶＤの読み書きを行う装置である。
【０１７０】
そして、このコンピュータ２００において実行されるグループ適応化プログラム２１１は、ＤＶＤに記憶され、ＤＶＤドライブ２６０によってＤＶＤから読み出されてコンピュータ２００にインストールされる。
【０１７１】
あるいは、このグループ適応化プログラム２１１は、ＬＡＮインタフェース２４０を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ２００にインストールされる。
【０１７２】
そして、インストールされたグループ適応化プログラム２１１は、ＨＤＤ２３０に記憶され、ＲＡＭ２１０に読み出されてＣＰＵ２２０によってグループ適応化プロセス２２１として実行される。
【０１７３】
また、本実施例では、グループで観光する観光地を選択する場合を中心に説明したが、本発明はこれに限定されるものではなく、たとえばグループで行く飲食店を選択する場合など他の意思決定を行う場合にも同様に適用することができる。
【０１７４】
（付記１）グループを構成する各個人の満足度を複数のプランについて、プランの属性に基づいて分類されるクラスに対する個人の嗜好順位に基づいて算出する個人満足度算出手順と、
前記個人満足度算出手順により算出された各個人の満足度に基づいて、前記複数のプランに対してグループの満足度を算出するグループ満足度算出手順と、
前記グループ満足度算出手順により算出されたグループの満足度に基づいて前記複数のプランの中からグループとしてのプランを選択するグループプラン選択手順と、
をコンピュータに実行させることを特徴とするグループ適応化プログラム。
【０１７５】
（付記２）前記個人満足度算出手順は、前記嗜好順位に基づく満足度をベキ法則に基づいて算出することを特徴とする付記１に記載のグループ適応化プログラム。
【０１７６】
（付記３）前記個人満足度算出手順は、前記嗜好順位を前記クラスに分類されるインスタンスに基づいて決定して各個人の満足度を算出することを特徴とする付記１または２に記載のグループ適応化プログラム。
【０１７７】
（付記４）前記個人満足度算出手順は、各個人により指定されていない嗜好順位を推定して各個人の満足度を算出することを特徴とする付記１または２に記載のグループ適応化プログラム。
【０１７８】
（付記５）前記個人満足度算出手順は、クラスの階層構成の中で一部の同一階層のクラスに対して各個人により指定された相対的な嗜好順位から残りの嗜好順位を推定して各個人の満足度を算出することを特徴とする付記４に記載のグループ適応化プログラム。
【０１７９】
（付記６）前記個人満足度算出手順は、クラスの階層構成の中で一部のクラスに対して各個人により指定された全般的な嗜好順位から残りの嗜好順位を推定して各個人の満足度を算出することを特徴とする付記４に記載のグループ適応化プログラム。
【０１８０】
（付記７）前記個人満足度算出手順は、前記クラスを複数個組み合わせて構成されるクラス列をそれぞれが複数個含む複数のプランに対して各個人の満足度を算出し、
前記グループ満足度算出手順は、前記プランに同一のクラス列が含まれる場合には、該同一のクラス列に対しては飽きを反映する飽き関数を適用してグループの満足度を算出することを特徴とする付記１〜６のいずれか一つに記載のグループ適応化プログラム。
【０１８１】
（付記８）前記グループ満足度算出手順は、プランに含まれるクラス列に対して順番を付与する場合に、前記同一のクラス列に対しては飽きを軽減するようにクラス列に対して順番を付与することを特徴とする付記７に記載のグループ適応化プログラム。
【０１８２】
（付記９）前記グループ満足度算出手順は、前記個人満足度算出手順により算出された各個人の満足度と、プランの選択における各個人の嗜好の重要性を反映する重みとに基づいて、前記複数のプランに対してグループの満足度を算出することを特徴とする付記１〜８のいずれか一つに記載のグループ適応化プログラム。
【０１８３】
（付記１０）前記グループプラン選択手順により選択されたプランに対応する具体的な候補を一つ選定する候補選定手順をさらにコンピュータに実行させ、
前記候補選定手順は、前記プランに対応する複数の候補それぞれに対して所定の評価関数を適用し、該評価関数の適用結果に基づいて具体的な候補を一つ選定することを特徴とする付記１〜９のいずれか一つに記載のグループ適応化プログラム。
【０１８４】
（付記１１）グループを構成する各個人の満足度を複数のプランについて、プランの属性に基づいて分類されるクラスに対する個人の嗜好順位に基づいて算出する個人満足度算出工程と、
前記個人満足度算出工程により算出された各個人の満足度に基づいて、前記複数のプランに対してグループの満足度を算出するグループ満足度算出工程と、
前記グループ満足度算出工程により算出されたグループの満足度に基づいて前記複数のプランの中からグループとしてのプランを選択するグループプラン選択工程と、
を含んだことを特徴とするグループ適応化方法。
【０１８５】
（付記１２）前記個人満足度算出工程は、前記嗜好順位に基づく満足度をベキ法則に基づいて算出することを特徴とする付記１１に記載のグループ適応化方法。
【０１８６】
（付記１３）前記個人満足度算出工程は、各個人により指定されていない嗜好順位を推定して各個人の満足度を算出することを特徴とする付記１１または１２に記載のグループ適応化方法。
【０１８７】
（付記１４）グループを構成する各個人の満足度を複数のプランについて、プランの属性に基づいて分類されるクラスに対する個人の嗜好順位に基づいて算出する個人満足度算出手段と、
前記個人満足度算出手段により算出された各個人の満足度に基づいて、前記複数のプランに対してグループの満足度を算出するグループ満足度算出手段と、
前記グループ満足度算出手段により算出されたグループの満足度に基づいて前記複数のプランの中からグループとしてのプランを選択するグループプラン選択手段と、
を備えたことを特徴とするグループ適応化装置。
【０１８８】
（付記１５）前記個人満足度算出手段は、前記嗜好順位に基づく満足度をベキ法則に基づいて算出することを特徴とする付記１４に記載のグループ適応化装置。
【０１８９】
（付記１６）前記個人満足度算出手段は、各個人により指定されていない嗜好順位を推定して各個人の満足度を算出することを特徴とする付記１４または１５に記載のグループ適応化装置。
【産業上の利用可能性】
【０１９０】
以上のように、本発明に係るグループ適応化プログラム、グループ適応化方法およびグループ適応化装置は、グループの意思決定の支援に有用であり、特に、グループを構成するメンバーの意思を尊重することが重要である場合に適している。
【図面の簡単な説明】
【０１９１】
【図１】本実施例に係るグループ適応化装置の構成を示す機能ブロック図である。
【図２】個人プロファイルの一例を示す図である。
【図３】重み、順位、満足度の関係を示す図である。
【図４】個人のクラス列に対する満足度を示す図である。
【図５】選択されたクラス列の一例を示す図である。
【図６】インスタンス数による順位付けの一例を示す図である。
【図７】兄弟順位付けの一例を示す図である。
【図８】全般的順位付けの一例を示す図である。
【図９】兄弟順位付けと全般的順位付けの両者を取り入れた順位付けの一例を示す図である。
【図１０】兄弟順位付け方式の場合のデフォルト順位による推定例を示す図である。
【図１１】全般的順位付け方式の場合のデフォルト順位による推定例を示す図である。
【図１２】遺伝による順位の推定例を示す図である。
【図１３】逆遺伝による順位の推定例を示す図である。
【図１４】候補選出部の処理手順を示すフローチャートである。
【図１５】兄弟順位付けの場合の順位推定処理の処理手順を示すフローチャートである。
【図１６】全般的順位付けの場合の順位推定処理の処理手順を示すフローチャートである。
【図１７】兄弟＋全般的順位付けの場合の順位推定処理の処理手順を示すフローチャートである。
【図１８】最適候補選択処理の処理手順を示すフローチャートである。
【図１９】観光地の分類属性の例を示す図である。
【図２０】飲食店の分類属性の例を示す図である。
【図２１】クラス列選出多数決方式によるプラン選出例を示す図である。
【図２２】満足度最大化方式によるプラン選出例（１）を示す図である。
【図２３】満足度最大化方式によるプラン選出例（２）を示す図である。
【図２４】満足度最大化方式によるプラン選出例（３）を示す図である。
【図２５】兄弟順位付けの一例を示す図である。
【図２６】全般的順位付けの一例を示す図である。
【図２７】兄弟順位付けと全般的順位付けの両者を取り入れた順位付けの一例を示す図である。
【図２８】本実施例に係るグループ適応化プログラムを実行するコンピュータの構成を示す機能ブロック図である。
【符号の説明】
【０１９２】
１００    グループ適応化装置
１１０    グループプロファイルデータベース
１２０    候補データベース
１３０    プロファイル管理部
１４０    プロファイル入出力部
１５０    候補選出部
１６０    推薦部
１７０    画面入出力部
２００    コンピュータ
２１０    ＲＡＭ
２１１    グループ適応化プログラム
２２０    ＣＰＵ
２２１    グループ適応化プロセス
２３０    ＨＤＤ
２４０    ＬＡＮインタフェース
２５０    入出力インタフェース
２６０    ＤＶＤドライブ
【図１】
0004780561.tif 000040
【図２】
0004780561.tif 000041
【図３】
0004780561.tif 000042
【図４】
0004780561.tif 000043
【図５】
0004780561.tif 000044
【図６】
0004780561.tif 000045
【図７】
0004780561.tif 000046
【図８】
0004780561.tif 000047
【図９】
0004780561.tif 000048
【図１０】
0004780561.tif 000049
【図１１】
0004780561.tif 000050
【図１２】
0004780561.tif 000051
【図１３】
0004780561.tif 000052
【図１４】
0004780561.tif 000053
【図１５】
0004780561.tif 000054
【図１６】
0004780561.tif 000055
【図１７】
0004780561.tif 000056
【図１８】
0004780561.tif 000057
【図１９】
0004780561.tif 000058
【図２０】
0004780561.tif 000059
【図２１】
0004780561.tif 000060
【図２２】
0004780561.tif 000061
【図２３】
0004780561.tif 000062
【図２４】
0004780561.tif 000063
【図２５】
0004780561.tif 000064
【図２６】
0004780561.tif 000065
【図２７】
0004780561.tif 000066
【図２８】
0004780561.tif 000067