(57)【要約】【課題】本発明は、プロアクティブユーザインターフェースとそのシステム及び方法に関し、特に、移動情報装置とともに使用するためのユーザインターフェースとそのシステム及び方法に関する。【解決手段】いずれのタイプの演算装置にも任意に設置されることができる(またはその装置を制御し、そして／または、その装置に関連できる)プロアクティブユーザインターフェースであり、使用者の行動に応じて、演算装置が選択できる予めプログラムされた多様なパターン及び／または特定の使用者との以前の経験に基づいて使用者に能動的に提案する。例えば、メニューまたはその一部を変更し、表示する異なるメニューを提供し、そして／または、タッチスクリーン機能を変更するなど表示部の少なくとも一部のアピアランスを変更することによってその提案を任意に行うことができる。このような提案は、音声によって任意に行われることができる。【選択図】図２
2005100390.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムを備えた演算装置のためのプロアクティブユーザインターフェースであって、
(ａ) 使用者と情報交換を可能にするエージェントが提供され、前記使用者と前記オペレーティングシステムとの間の通信のためのインターフェース部と、
(ｂ) 前記インターフェース部と前記使用者との相互作用の少なくとも１つのパターンを検出し、前記検出されたパターンに従って、使用者に前記ユーザインターフェースの少なくとも１つの機能を進化させるための選択事項を能動的に提案する学習モジュールと、を備えることを特徴とする進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項２】
前記少なくとも１つのパターンは、インターフェース部と前記使用者との少なくとも１つの以前の相互作用に従って決定されたパターン、予め決定されたパターン、またはその組合せでなされた群から選択される請求項１に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項３】
前記エージェントは、アバターを含み、前記アバターのアピアランスの少なくとも１つの特性が使用者の命令に従って任意に変更可能である請求項１または請求項２に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項４】
前記アバターのアピアランスの少なくとも１つの特性を自動化された進化アルゴリズムに従って変更可能である請求項３に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項５】
前記演算装置は、一般コンピュータと、ＡＴＭと、携帯電話を含む移動情報装置と、ＰＤＡ、またはオペレーティングシステムを備えた消費財でなされた群から選択される請求項１乃至請求項４のうちのいずれか１項に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項６】
前記学習モジュールは、前記使用者及び／または前記オペレーティングシステムとの相互作用の結果として、収集された情報を貯蔵するための知識ベースをさらに備える請求項５に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項７】
前記知識ベースは、使用者の行動からそして予めプログラムされた情報から決定された複数の統合された知識で構成される請求項６に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項８】
前記学習モジュールは、前記オペレーティングシステムの状態を認知するための複数のセンサーを含む請求項５に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項９】
前記学習モジュールは、前記複数のセンサーからの出力を認知して前記インターフェース部の状態と前記オペレーティングシステムの状態を決定する認知部をさらに備える請求項５に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項１０】
前記学習モジュールは、前記知識ベースを更新し、前記オペレーティングシステムの状態と前記インターフェース部の変更との間の相互関係を学習する推論システムをさらに備える請求項５に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項１１】
前記学習モジュールは、前記能動的な提案に対する直接的な使用者の選択の確率を最大化にする請求項６乃至請求項１０のうちのいずれか１項に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項１２】
前記最大化は、補強学習を通じて遂行される請求項１１に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項１３】
前記補強学習は、反復的な学習過程を通じて遂行される請求項１２に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項１４】
前記学習過程の反復は、前記進化がそれぞれ遂行された後に行われる請求項１３に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項１５】
オペレーティングシステムを備えた演算装置のための適応型システムであって、
(ａ) 使用者と前記オペレーティングシステムとの間の通信のためのアバターを含むユーザインターフェースと、
(ｂ) 前記オペレーティングシステムによって制御される少なくとも１つのソフトウェアアプリケーションと、
(ｃ) 前記アプリケーションを支援し、前記オペレーティングシステムを有するホストプラットホームと通信する人工知能フレームワークとから構成され、
前記人工知能フレームワークは、前記アバターの進化を支援し、そして／または管理する進化モジュールを少なくとも含むことを特徴とする進化型エージェントを有する適応型システム。
【請求項１６】
前記インターフェース部と前記使用者の少なくとも１つの以前の相互作用に従って決定されたパターンと、予め決定されたパターン、またはその組合せでなされた群から選択される情報を保有する知識ベースをさらに備える請求項１５に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項１７】
前記人工知能フレームワークは、
人工知能／機械学習モジュールと、
前記アプリケーションとの通信を取り扱うアプリケーション管理者と、
システムの知識ベースと関連したデータの貯蔵及び取り扱いを管理するストレージ管理者と、
前記人工知能／機械学習モジュールの動作を通じて、前記適応型システムがどんな行為を取るべきであるかを決定する行為管理者と、
前記ユーザインターフェースに変化を指示して前記ユーザインターフェースのアピアランスと機能を管理するユーザインターフェース管理者と、
前記演算装置の状態と仮想世界の状態、その２つの状態の間の関係を決定する装置世界マッパ−と、を備える請求項１５または請求項１６に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項１８】
前記人工知能／機械学習モジュールは、多様な刺激に対応して前記適応型システムの行動を決定し、相互に異なる形態の行為に対する使用者の反応から前記適応型システムが学習できるようにする請求項１７に記載の進化型エージェントを有するプロアクティブユーザインターフェース。
【請求項１９】
前記人工知能フレームワークは、イベントハンドラをさらに備え、
前記行為管理者、ユーザインターフェース管理者、ストレージ管理者、及びアプリケーション管理者を含む低水準管理者は、前記相互に異なるアプリケーションと前記イベントハンドラとの間で相互に異なるイベントの受信及び取り扱いを行う請求項１７または請求項１８に記載の進化型エージェントを有する適応型システム。
【請求項２０】
前記演算装置は、一般コンピュータと、ＡＴＭと、携帯電話を含む移動情報装置と、ＰＤＡまたはオペレーティングシステムを備えた消費財でなされた群から選択される請求項１５乃至請求項２０のうちのいずれか１項に記載の進化型エージェントを有する適応型システム。
【請求項２１】
前記ソフトウェアアプリケーションのうち１つは、進化的アルゴリズムによって進化したユーザインターフェースを以前状態で任意に復帰し、その状態情報を貯蔵／管理する以前のアプリケーションである請求項２０に記載の進化型エージェントを有する適応型システム。
【請求項２２】
前記ソフトウェアアプリケーションのうち１つは、システムの内のミューテーションを制御し、そして／または開始させるミューテーションアプリケーションである請求項２０に記載の進化型エージェントを有する適応型システム。
【請求項２３】
前記ソフトウェアアプリケーションのうちの１つは、１つ以上の手動命令を通じて指示された、そして／または半指示されたミューテーションを使用者が実行することができるようにする遺伝子スタジオアプリケーションである請求項２０に記載の進化型エージェントを有する適応型システム。
【請求項２４】
前記ソフトウェアアプリケーションのうちの１つは、使用者が異なる演算装置のアバターとミューテーションされたアピアランスを有するアバターを生成することができるハイブリッドアプリケーションである請求項２０に記載の進化型エージェントを有する適応型システム。
【請求項２５】
前記アプリケーション管理者は、前記アプリケーションのそれぞれを開始、一時停止、再開及び終了させることができる請求項２１乃至請求項２４のうちのいずれか１項に記載の進化型エージェントを有する適応型システム。
【請求項２６】
前記進化モジュールは、アバター形態で具現されたユーザインターフェースの遺伝子、染色体及び表現型に関して管理して、その遺伝子、染色体及び表現型に基づいて進化させるための選択機能を能動的に提案する請求項２１乃至請求項２４のうちのいずれか１項に記載の進化型エージェントを有する適応型システム。
【請求項２７】
前記進化モジュールは、前記遺伝子の１つ以上の変数を変更して異なる新しい表現型を生成する請求項２１乃至請求項２４のうちのいずれか１項に記載の進化型エージェントを有する適応型システム。
【請求項２８】
前記進化モジュールは、異なる生物からの同じ形態の染色体とハイブリッドまたは異種交配されてその遺伝子の父母染色体の組合せとして新しい染色体を生成する請求項２１乃至請求項２４のうちのいずれか１項に記載の進化型エージェントを有する適応型システム。
【請求項２９】
前記進化モジュールは、遺伝的な子孫のうちのいずれが次世代として継続して保持されることを決定するための自然選択過程を遂行する請求項２１乃至請求項２４のうちのいずれか１項に記載の進化型エージェントを有する適応型システム。
【請求項３０】
前記自然選択過程は、使用者により決定され、または予め決定されることができる請求項２９に記載の進化型エージェントを有する適応型システム。
【請求項３１】
オペレーティングシステムを備えた演算装置のためのインテリジェントエージェント用進化システムにおいて、
ａ)  使用者と前記オペレーティングシステムとの間の通信のための進化型アバターを含むユーザインターフェースと、
ｂ)  前記オペレーティングシステムによって制御される少なくとも１つのソフトウェアアプリケーションと、
ｃ)  アルゴリズム化されたＤＮＡを利用して、前記インテリジェントエージェントの機能的または視覚的な性質が変更されられるようにする進化クラスと、を備えることを特徴とするインテリジェントエージェント用進化システム。
【請求項３２】
前記進化クラスは、
インテリジェントエージェントの前記ＤＮＡの構造を表現するCreatureDNAクラスと、
前記システムのための遺伝的な動作に、また、前記ＤＮＡにインターフェースを提供するCreatureProxyクラスと、
インテリジェントエージェントの進化を管理して、インテリジェントエージェントの前記CreatureProxyにインターフェースを提供し、その遺伝的な動作を前記アプリケーションに提供するEvolutionMGRクラスと、
所定の遺伝的な動作が発生してインテリジェントエージェントのＤＮＡに対して行なわれるべきことを指示するために生成される進化イベントに注意を注ぐEvolutionEngineクラスと、から構成される請求項３１に記載のインテリジェントエージェント用進化システム。
【請求項３３】
前記ＤＮＡは、利用可能な遺伝子でなされたベクトルである請求項３１または請求項３２に記載のインテリジェントエージェント用進化システム。
【請求項３４】
前記遺伝子は、所定の範囲の可能な値を有するパラメーターであり、前記パラメーターデータの表現が前記インテリジェントエージェントの遺伝子型である請求項３３に記載のインテリジェントエージェント用進化システム。
【請求項３５】
前記ベクトルは、頭、体、手、テール、レッグ、及びこれらそれぞれの色合い、または、大きさ、性別、機敏さ、効能、相互作用、基本色合いでなされた群から１または２以上選択されたものの組合せで構成される請求項３３に記載のインテリジェントエージェント用進化システム。
【請求項３６】
前記インテリジェントエージェントは、ＤＮＡ構造に含まれた遺伝子及びその値を
利用して構成される請求項３３に記載のインテリジェントエージェント用進化システム。
【請求項３７】
前記インテリジェントエージェントは、同一のＤＮＡに対してエージェントの成長時間が臨界時間の以内であれば、第１の構成要素の組合せを発現し、臨界時間を超過すれば、第２の構成要素の組合せを発現することによって、時間の経過に沿って自動に成長できる請求項３３に記載のインテリジェントエージェント用進化システム。
【請求項３８】
前記臨界時間は、２以上である請求項３７に記載のインテリジェントエージェント用進化システム。
【請求項３９】
前記インテリジェントエージェントは、遺伝子セットから所定の遺伝子をランダムに選択し、その遺伝子の可能な範囲の内で前記選択された遺伝子の値を変更することによってミューテーションされることができる請求項３３に記載のインテリジェントエージェント用進化システム。
【請求項４０】
前記ミューテーションは、ミュータントを使用者に表示して使用者の承認を得た後に、既存のアバターを前記ミュータントに変更してなされる請求項３９に記載のインテリジェントエージェント用進化システム。
【請求項４１】
前記インテリジェントエージェントは、２個の候補ＤＮＡから各ＤＮＡの上に位置する１つ以上の交差ポイントを選択した後に、各交差ポイントで既存のＤＮＡ値のうちの１つのＤＮＡ値を選択することによってハイブリッド動作を遂行する請求項３３に記載のインテリジェントエージェント用進化システム。
【請求項４２】
前記ハイブリッド動作は、性別遺伝子が相異なった場合に遂行する請求項４１に記載のインテリジェントエージェント用進化システム。
【請求項４３】
前記インテリジェントエージェントは、ハイブリッド動作の結果で生成されたハイブリッドエージェントを使用者に表示して使用者の承認を得た後に、現在のエージェントを前記ハイブリッドエージェントに変更する請求項４１に記載のインテリジェントエージェント用進化システム。
【請求項４４】
前記ハイブリッド動作は、外部ソースから赤外線、ブルートース、またはインターネットのうちいずれか一つを通じて受信された短文メッセージに含まれたエージェントＤＮＡを利用して遂行される請求項４１に記載のインテリジェントエージェント用進化システム。
【請求項４５】
前記ＤＮＡは、Ａ、Ｇ、Ｃ、またはＴでなされた英文字の組合せにより表示されて画面に出力される請求項３３に記載のインテリジェントエージェント用進化システム。
【請求項４６】
前記インテリジェントエージェント用進化システムは、前記アバターで表示された動物の変化に対するヒストリーを検査できる請求項４１に記載のインテリジェントエージェント用進化システム。
【請求項４７】
前記インテリジェントエージェントは、使用者により設定された身の上情報に基づいて、他の移動電話の使用者と前記使用者との間の相性可能性を有するハイブリッドを生成する請求項３１または請求項３２に記載のインテリジェントエージェント用進化システム。
【請求項４８】
前記アバターは、仮想愛玩動物または友達のうちいずれか一つの形態として任意の行動が可能であるように制御される請求項３１または請求項３２に記載のインテリジェントエージェント用進化システム。
【請求項４９】
前記アバターは、多数の色合いを有する３次元多角形客体で表現される請求項３１または請求項３２に記載のインテリジェントエージェント用進化システム。
【請求項５０】
使用者とオペレーティングシステムとの間の通信のための進化型アバターを含むユーザインターフェースと、
前記オペレーティングシステムによって制御される少なくとも１つのソフトウェアアプリケーションと、
アルゴリズム化されたＤＮＡを利用して、インテリジェントエージェントの機能的または視覚的な性質が変更されられるようにする進化クラスとを備え、
前記アバターは、影、テクスチャ、及びアニメーションなどの属性を有する複数の相互に異なる３次元の画像特性を有することを特徴とする生存型移動電話。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロアクティブユーザインターフェース(proactive user interface)とそのシステム及び方法に関し、特に、移動情報装置とともに使用するためのユーザインターフェースとそのシステム及び方法において、進化するエージェントを有するプロアクティブユーザインターフェースとそのシステム及び方法に関する。
【背景技術】
【０００２】
最近、移動及び携帯無線装置の使用が急激に増加している。変化する機能、内部資源及び性能を有している多い装置があり、このような装置には、移動電話、ＰＤＡ(Personal Digital Assistants)、医療用及び実験実用機構、スマートカード、及びセットトップボックスなどが含まれるが、それらに限定されることではない。そのような装置はすべて移動情報装置である。これらの装置は、すでに知られている汎用計算機械よりは特殊目的用の機能制限型装置になる傾向がある。これら中の多くの装置は、インターネットに連結されて多様な用途として用いられている。
【０００３】
そのような移動情報装置には、例えば、携帯電話(cellular phone)がある。携帯電話は急速に普遍化されて、携帯電話の使用が既存のＰＳＴＮ(Public Switched Telephony Network)電話機または“地上線路(land line)”電話機の使用を上回っている。携帯電話は、それ自体にさらに精巧になっており、実際には、事実上の内蔵型オペレーティングシステムを備える演算装置であるといえる。
【０００４】
携帯電話がさらに精巧になるにつれて、携帯電話によって提供される機能の範囲も潜在的にさらに拡大されている。しかし、現在では、携帯電話の機能は、一般(地上線路)電話機にすでに存在する機能を拡張し、そして／またはＰＤＡの特定の機能を携帯電話の機能と統合することに関連することが一般的である。これと類似して、携帯電話とともに提供されるユーザインターフェースも精巧でないことであり、幾つの単純なメニューを通じてスクロールするためのキーパッドを特徴的な要素として備えることが一般的である。着信音及びそれ以外の携帯電話のアクセサリーのために相当な費用を支払っている顧客の立場では、カスタマイズ化(customization)を確実に所望しているが、カスタマイズ化は、いまでも携帯電話の非常に少ない個数の機能に限定されている。また、携帯電話は、現在、移動情報装置の使用を向上させるのに必要な注文製作型機能(custom/tailored functionalities)と、例えば、装置ユーザインターフェースなどのオートマチックパーソナライゼーション(automatic personalization)、及び／または使用者の行動に応じて反応する能力が不足である。
【０００５】
しかし、このような精巧さの不足は、個人用(デスクトップまたはラップトップ)コンピュータ用及びそれ以外の演算装置用ユーザインターフェースでも同様である。通常に、これらの演算装置は、かなり単純な方法にのみカスタマイズ化されることができる。また、このようなカスタマイズ化は使用者によって遂行されなければならないが、使用者は、コンピュータ機能を理解できないか、またはこのようなカスタマイズ化作業の遂行を不便に感じることができる。現在、演算装置は、使用者の行動(動作)パターンを学習して、それに従ってそれら自分の動作をユーザインターフェース用適応型システム(adaptive system)のように調整することが不能である。使用者がコンピュータを手動に調整できなければ、コンピュータが使用者に合うようにその動作を調整するよりは、使用者が自分の動作をコンピュータに合うように調整すべきである。
【０００６】
専門化された実験実用機能のみのためのものであるが、学習できるソフトウェアが開発されたところがある。例えば、“人工知能(Artificial Intelligence；ＡＩ)”というソフトウェアが開発された。人工知能という用語に対する多様な定義があるが、その中の１つとして、“人工知能を認知、推論、及び行動を遂行できるようにする演算の研究”であると定義する(Prentice Hall, Pearson Education Inc., 2003年 Stuart Russell, Peter Norvigの“Artificial Intelligence；A Modern Approach (second edition)”で引用する。)。人工知能ソフトウェアは、認知(perception)などの多様な他の概念を結合したもので、これは、推論して行動するために人工知能ソフトウェアを必要とする世界(world)にインターフェースを提供する。例えば、自然言語処理(natural language processing)(自然言語の文献内容及び文脈を伝達(communication)して理解する。)と、コンピュータビジョン(画像源(imagery source)から客体(objects)を認知する。)と、センサーシステム(感覚データ(sensory data)を分析して認知された客体の特徴(features)及び客体を認知する。)などが含まれるが、それらに限定されることではない。
【０００７】
他の重要な概念には、知識ベース(knowledge base)がある。知識表現(knowledge representation)は、知識の抽出及び貯蔵を表現する機能を遂行する。この概念は、また、知識、特徴抽出、及び列挙(enumeration)、客体状態の構成及び定義を一般化する技術も提供する。それ自体を具現するためには、一般的に、グラフ、ベクトル、及びテーブルなどの公知のデータ構造を利用することができる。
【０００８】
また他の重要な概念には、推論(reasoning)がある。自動化された推論は、知識表現及び認知を利用するアルゴリズムを結合して新たな結論を導出し、質問及び答弁を推測し、エージェント目標(agent goals)を達成するようになる。人工知能(ＡＩ)推論の例には、次のような概念的なフレームワークがある。すなわち、その例には、規則ベース(rule base)(推論のための認知された状態及び知識ベースに対してシステム規則が評価される。)と、検索システム(利用可能な知識及び目標に従って知識結論の検索のために周知のデータ構造を利用(例えば、決定ツリー(decision tree)、状態グラフ、及びミニマックス決定(minimax decision)などがそれに含まれる。)する。)と、分類器(classifier)(分類器推論システムの目的は、分類タグ(classification tag)のない実験として表現される認知状態(perceived state)を分類するためのものである。)などがある。分類器は、予め分類された(pre-classified)知識ベースに従って、新たな実験の分類を推測するのであろう(ここには、例えば、ベクトル距離発見的方法(vector distance heuristics)、サポートベクトルマシーン(Support Vector Machine)、分類器神経回路網(Classifier Neural Network)などが含まれる。)。
【０００９】
さらに他の重要な概念には学習(learning)がある。学習の目標は、経験を通じた一般化によって人工知能推論システムの潜在的性能を向上させることにある。学習アルゴリズムに入力されることは実験(experiment)になるものであり、その結果に応じて、知識ベースに対する修正がその学習アルゴリズムから出力されるものであろう(ここには、例えば、補強学習、バッチ学習、及びサポートベクトルマシーンなどが含まれる。)。
【００１０】
ソフトウェア用の遺伝的アルゴリズム及び進化アルゴリズムのための研究も行われた。このようなソフトウェアの１つの例がKarl Simsの“Evolving Virtual Creatures”に記述されている(Computer Graphics, SIGGRAPH‘94 Proceedings, July 1994, pp.15-22)。この参考資料は、実際に、物理的な世界の模擬形態(simulated version)としての３次元の仮想世界に移動できる“生物(creature)”というソフトウェアについて記述している。この生物は、遺伝的アルゴリズムを利用して学習及び進化を遂行でき、これにより、指示された外部の入力(directed external input)なしでそれらの行動を変化させる。従って、これらの遺伝的アルゴリズムは、仮想世界での相互に異なる“適合性(fitness)”または補償(rewards)を有する潜在的行動(potential behavior)の超空間(hyperspace)を描写した。これらアルゴリズムの自体の具現は指示されたグラフを利用して行われ、これらによって生物の遺伝子型(構成成分)及びそれらの行動を記述した。
【００１１】
そのシミュレーション(simulation)の開始のときに、異なる遺伝子型を有する相互に異なる多い生物が模擬された。生物は、仮想世界で異なる刺激に対してそれらの行動を変化させるように許容された。各“世代(generation)”では、相対的または絶対的カットオフスコア(cut-off score)に従って、特定の生物のみが生存するように許容され、前記スコアは、生物の行動の適合性(fitness)に従って決定される。ミューテーション(mutations)の発生が許容され、これにより、ミューテーションされた生物の適合性が増加されることもでき、またはその反対であることもできる。また、例えば、ノードに関連した値を無作為に変更し、そして／またはノードを追加しまたは削除することにより指示されたグラフを通じてミューテーションが遂行される。これと類似して、生物間の“交配(mating)”による結果として指示されたグラフ(directed graph)に変化が発生することができる。
【００１２】
前記参考文献に記述されている結果は、仮想生物が事実上変化及び進化を行えることを示している。しかし、その生物は仮想世界内でのみ動作でき、実際の物理的世界、そして／または人間コンピュータ操作者とは何の連結点または関連点も有していない。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
このような背景技術は、特に、人間使用者と相互作用を遂行するために移動情報装置用のインテリジェントソフトウェアが学習して進化できるようにするシステムまたは方法を少なくとも教示するかまたは提案していない。また、背景技術は、アバターを通じて人間使用者と相互作用を遂行できる移動情報装置用インテリジェントエージェントに対しても教示するかまたは提案していない。また、背景技術は、プロアクティブユーザインタフェースが使用者の行動を学習して使用者にエージェントの進化に関する選択事項を能動的に提案できる移動装置用プロアクティブユーザインタフェースに対しても教示するかまたは提案していない。さらに、背景技術は、アバターを通じて他の移動情報装置のアバターまたはその使用者と相互作用を行える移動情報装置用のエージェントについても教示するかまたは提案していない。
【課題を解決するための手段】
【００１４】
本発明は、どんな形態の演算装置にも任意に(optionally)設置されることができる(またはそうではない場合、その装置を制御することができ、そして／またはその装置と関連することができる)プロアクティブユーザインターフェースを提供することにより、前述した背景技術の問題点を解決しようとするものである。このようなプロアクティブユーザインターフェースは、特定の使用者との以前の経験、そして／または使用者の行動に応じて演算装置が選択できる予めプログラムされた(pre-programmed)多様なパターンに基づいて、使用者にエージェントの進化に関する選択事項を能動的に提案するようになる。例えば、その一部またはメニューを変更し、表示するための異なるメニューを提供し、そして／またはタッチスクリーン機能を変更するなど、表示部の少なくとも一部の外観を変更することにより、前述した提案が任意に行われることができる。また、そのような提案は、音声によって任意に行われることもできる。それ以外の他の形態の提案または伝達メカニズム(delivery mechanism)も可能である。
【００１５】
“提案”によって、前記システムは、与えられた所定の使用者の性向(preferences)を考慮して、また、システムの状態が行為の特定の遂行を許容するか否かに従ってその行為を事実上任意に遂行することができることを留意しなければならない。
【００１６】
一般的に、プロアクティブユーザインターフェースは、少なくとも知能的であり、双方向(interactive)に見えることが望ましく、使用者と少なくともどの程度の“自由な”(例えば、準備されない(non-scripted)または部分的に準備された)通信を遂行できることが望ましい点を強調することは重要である。使用者の期待(expectations)が“インテリジェント”エージェント／装置との相互作用のために実行されることが望ましい意味で、知能的な外観(intelligent appearance)を有することは重要である。このような期待は、通信できる能力、インターフェースの選択的な外観(optional appearance)、擬人化属性(anthropomorphic attribute(s))の使用などの要素によって任意にシェープ(shaped)されることができ、それらは、プロアクティブユーザインターフェースと使用者との間の相互作用において知能感覚(sense of intelligence)を向上させるのに利用されることが望ましい。使用者から伝達される通信において、プロアクティブユーザインターフェースは、使用者が移動情報装置との相互作用をどんな方式にて遂行することを所望するかを感知できることが望ましい。任意に、通信(情報伝達)は一方向にのみ行われることができる。例えば、インターフェースは、任意に使用者にメッセージまたは情報を提示するが、使用者からは情報を受信しないことができ、またはその反対に具現することも可能である。通信は、使用者との望ましい相互作用のために双方向に行われることが望ましい。
【００１７】
使用者の要求または他の通信を満足させるために、少なくともある程度はインテリジェントエージェントが行動を変更することが可能であるようにするために、適応特性または適応機能(adaptiveness)が提示されることが望ましい。プロアクティブユーザインターフェースは、使用者と通信するためのインテリジェントエージェントを含んでいなくても、適応特性によってインターフェースが事前行動的になれるようにすることが望ましい。使用者の移動情報装置との相互作用の観察(observation)によってそのような適応機能が実行されることができるようにすることが望ましく、しかし、任意にそして望ましく、そのような観察に対するプロアクティブユーザインターフェースの反応が知識ベース及び／または規則ベースによって案内されることもできる。
【００１８】
そのような適応機能の非限定的であるが、望ましい特定の例として、特に、複数のメニューを含む移動情報装置において、そのような適応機能には、メニューの少なくとも１つの形態(aspect)を変更できる能力が含まれることができることが望ましい。例えば、任意に、１個以上の短縮キーまたは短縮手段(shortcuts)が提供されて、使用者がメニュー階層(hierarchy)において最終選択対象(final choice)より上位にあるサブメニューまたは以前のメニューのうち少なくとも１つ(より望ましくはそのすべて)を迂回して直接メニュー選択対象に到達できるようにする。任意に(その代わりにまたは付加的に)、１個以上のメニューがプロアクティブユーザインターフェースの適応機能に従って、例えば、使用頻度数に従って再配列されることができる。任意に、そのような再配列には、メニュー選択及び／またはサブメニューのようなメニューの一部をメニュー階層において、現在位置より上位にある新たな位置への移動が含まれることができる。メニュー階層において、上位にあるサブメニューは、下位位置(さらに下位にある位置)にあるものより少ない回数のメニュー選択を通じてさらに速く到達されることができる。
【００１９】
任意にそして望ましく、適応機能は、プロアクティブユーザインターフェースによって学習のための補償(rewards)を通じて助けられることができる。使用者が承認した提案または行為は、補償または肯定的なインセンティブをプロアクティブインターフェースに提供して、そのような提案または行為(actions)を継続するようにすることが望ましく、使用者によって承認されなければ、プロアクティブインターフェースにそのような行動(behavior(s))を継続することに対する行動抑制要因(disincentive)を発生させることが望ましい。プロアクティブユーザインターフェースに肯定的または否定的なインセンティブ／行動抑制要因を提供することにより、行動が許容されるかまたは禁止されるもっと“黒白(black or white)”的な方式に比べて、そのインターフェースの行動にニュアンスがさらに与えられるようにすることが望ましい。そのような行動が少なくともある程度使用者によって一括的に承認される／否認される場合に、そのようなニュアンスによって反対されるかまたは矛盾する行動(opposing or contradictory behaviors)が取り扱われることができるようにすることも望ましい。
【００２０】
そのような演算装置の非限定的な例には、ＡＴＭ(例えば、使用者行動の特定のパターンが警報器を動作するようにできるので保安性にも関連する。)と、すべてのタイプの一般コンピュータ(デスクトップ(desktop)、ラップトップ(laptop)、小型軽量(thin client)、及び装着型コンピュータ(wearable computer)など)と、携帯電話などの移動情報装置、ページャー装置、それ以外の無線通信装置、オペレーティングシステムを備えた一般電話機、ＰＤＡ、及び無線ＰＤＡ、オペレーティングシステムを備えた消費財などが含まれる。以下、“演算装置”という用語はオペレーティングシステムを備えており、演算を遂行できるすべての電子装置を含むものとする。オペレーティングシステムは、任意に内蔵されたシステム及び／または他のタイプのソフトウェア及び／またはハードウェアランタイム環境(run time environment)であることができる。以下、“移動情報装置”という用語は、すべてのタイプの無線通信装置(ここには、携帯電話、無線ページャー、及び無線ＰＤＡなどが含まれ、これらに限定されることではない。)を含むと見なされるが、それに限定されることではない。
【００２１】
望ましくは、本発明は、現在の包括的(generic)であり、非柔軟的(non-flexible)であるユーザインターフェースを柔軟性があり、実際に使用しやすいインターフェースに変化させるのみならず、演算装置との向上された使用者の経験及び相互作用を提供するために実現される。より望ましくは、本発明は、使用者と相互に作用するアバター形態でユーザインターフェースを構成する。
【００２２】
任意にそして望ましく、移動情報装置の適応型システム及びプロアクティブユーザインターフェースのうちいずれか１つまたはその両方のすべては、遺伝的なアルゴリズム、人工知能(ＡＩ)アルゴリズム、機械学習(Machine Learning；ＭＬ)アルゴリズム、学習された行動、及び進化できるソフトウェア／演算装置で具現される。また、前述した２つのうちのいずれか１つまたはそのすべては、高級水準の音声命令、タッチスクリーン命令、キーボード‘短縮キーまたは短縮手段(short-cuts)’を任意に提供することもできる。
【００２３】
本発明のまた他の、任意の、しかし、好適な実施形態によると、移動情報装置網(network)を経て移動情報装置と使用するための１個以上のインテリジェントエージェントが提供され、これには、エージェントが人間使用者と通信(情報交換)を遂行できるようにするアバター(または“生物”；以下、２つの用語は、置換え可能な用語として使用するものとする。)が含まれることが望ましい。従って、アバターは、使用者との相互作用のためのユーザインターフェースを提供することが望ましい。また、インテリジェントエージェントは、ネットワークを通じて移動情報装置の少なくとも１つの相互作用を制御するためのエージェントを含むことが望ましい。この実施形態は、任意に、移動情報装置網を通じて連結されるそのようなインテリジェントエージェントを複数個含んで、任意に、そのようなエージェントのネットワークを形成できることもある。このような実施形態を通じて多様な応用例が任意に提供されることもでき、その応用例に含まれることは、例えば、一般的な教育(teaching)、そして／または、特に、移動情報装置を使用する方法を学習するための教育、言語教育、通信アプリケーション、コミューニティアプリケーション、ゲーム、娯楽(entertainment)、ショッピング(クーポン獲得など)、ショップ、または他の場所の位置把握、広告及び所望しないメッセージのフィルタリング、ロールプレイニングゲーム、または携帯電話網を通じたそれ以外の双方向(interactive)ゲーム、“チャット”及びミーティング機能、インテリジェントエージェントのための“プレゼント(presents)”を買うか、そうでなければ、そのキャラクタを装飾するための機能などがあり、これらに限定されることではない。理論的には、このようなエージェントの自体にアクセサリーとして“愛玩動物(pet)”が提供されることもできる。
【００２４】
そのようなインテリジェントエージェントは、任意に、携帯電話の操作者に多様なビジネス／プロモーションの機会を提供するのに役に立つこともできる。任意にそして望ましく、前記エージェントは、携帯電話上のソフトウェアの設置及び駆動を遂行するのに役に立つこともでき、これは、新たな産業分野に該当する。例えば、任意に、エージェントは、ソフトウェアを正しくダウンロードして駆動させるために必須的な移動情報装置の適切な形態とそれ以外の具体的な事項を決定するのに役に立つこともできる。
【００２５】
従って、本発明の多様な実施形態によると、相互に異なる多い相互作用が可能である。このような相互作用のうちには、アバターまたはそれ以外のキャラクタまたは使用者のパーソニフィケイション(personification)と装置の使用者との間の相互作用と、アバターまたはそれ以外のキャラクタまたはパーソニフィケイションを通じて装置を駆動するための装置と装置の使用者との間の相互作用と、アバターまたはそれ以外のキャラクタまたはパーソニフィケイションを通じた通信(情報交換)によって、それぞれの装置を利用した二人の使用者間の相互作用と、任意に使用者同士またはエージェントと使用者との間の何の情報交換もなく、２つの装置の間にそれぞれのインテリジェントエージェントを通じた相互作用のうちいずれか１つ以上が含まれる。前記相互作用または可能な相互作用は、本発明の実施形態に従って決定され、これについては、下記にさらに詳細に説明する。
【００２６】
本発明は、演算装置、そして／または、例えば、携帯電話のような移動情報装置の相対的に制限された環境から利益を得るようになるが、その理由は、そのような環境の変数がすでに知られているからである。そのような装置は、例えば、携帯電話網のようなネットワークを通じて通信を遂行しても、それでもやはり前記環境の変数は予め決定されることができる。現在、演算装置は、使用者の受動的かつ直接的な操作でもカスタマイズ化が許容されないか、それがほぼ許容されない包括的インターフェース(generic interface)のみを提供している。
【００２７】
“ソフトウェア”という用語は、ハードウェアによって動作するフレームワークまたは命令語を任意に含むこともできるという点に留意しなければならない。
【００２８】
(望ましい実施形態)
本発明は、プロアクティブユーザインターフェースに関するもので、どんな形態の演算装置にも任意に設置されることができる(または、そうではない場合に、その装置を制御でき、そして／またはその装置に関連することができる。)。
【００２９】
プロアクティブユーザインターフェースは、前述したように、オペレーティングシステムを含んでいる演算装置のために実現されることが望ましい。このようなインターフェースは、任意にそして望ましく、使用者とオペレーティングシステムとの間の通信のためのユーザインターフェースを含む。また、望ましく、インターフェースは、ユーザインターフェースとの使用者の相互作用の少なくとも１つのパターンを検出し、検出されたパターンに従って、使用者にユーザインターフェースの少なくとも１つの外観または機能を進化させるための選択事項を能動的に提案する学習モジュールを含む。これにより、プロアクティブユーザインターフェースは、使用者の要請を予測して演算装置の所望する機能を選択するときに使用者に役に立つことができる。
【００３０】
任意にそして望ましく、ユーザインターフェースと使用者の以前の相互作用のうち少なくとも１つに従って決定されたパターン、及び予め決定されたパターン、またはその組合せでなされた群から少なくとも１つのパターンが選択される。第１のパターンタイプは学習された行動を表現し、第２のパターンタイプは任意にプログラムされることができるか、そうでなければ予め決定されることができ、これは、特に、特定の演算装置が使用者によって始めに使用される場合に使用者を助けるためのものである。第３のパターンタイプはこのような２つの要素を組み合わせるようになり、パターンが使用者の行動に従って少なくとも部分的に(完全にではない)決定されることができるようにし、例えば、パターン選択は、複数の規則に従って、そして／または可能な世の環境状態及び／または装置及び／またはユーザインターフェースの状態の制限的な定義に従って任意に案内されることができる(さらに具体的なことは、下記説明を参照されたい。)。このようなパターンには、インテリジェントエージェントの外観、機能、または性格に対する使用者の選好度のパターンが含まれる。
【００３１】
ユーザインターフェースは、グラフィック表示を特徴的な要素として有しており、そのグラフィック表示のうち少なくとも１つの機能がパターンに従って事前行動的に変更されるようにすることが望ましい。例えば、任意にそして望ましく、グラフィック表示のうち少なくとも一部が変更されることができ、より望ましくは、検出されたパターンに従って表示するメニューを選択して表示することによって、このような変更が行われることができる。任意に、このメニューは、例えば、メニューを“遂行中(on the fly)”に生成するために、複数のメニューオプションから１つのメニューを構成することによって選択されることができる。
【００３２】
ユーザインターフェースは、追加的にまたはその代わりに音声表示を特徴にして、ユーザインターフェースの少なくとも１つの機能を変更することが演算装置によって生成された少なくとも１つの可聴音を変更することを含むようにすることもできる。
【００３３】
任意にそして望ましく、プロアクティブユーザインターフェースは、本発明の方法に従って実現されることができ、これは、望ましく、使用者と演算装置との間のユーザインターフェースを通じたプロアクティブ相互作用のために実現される。前述した方法は、ユーザインターフェースと使用者との少なくとも１つの相互作用に従って使用者行動のパターンを検出するものと、そのパターンに従ってユーザインターフェースの少なくとも１つの機能を事前行動的に変更することを含む。このようなパターンには、インテリジェントエージェントの外観、機能、または性格に対する使用者の選好度のパターンを検出し、これに従って、インテリジェントエージェントの外観、機能、または性格を事前行動的に変更することを含む。
【００３４】
本発明の他の実施形態によると、適応型システムを含む移動情報装置が提供される。前述したユーザインターフェースのように、この装置も使用者との以前の経験及び／または予めプログラムされたパターンに依存する。しかし、任意にそして望ましく、そのような適応型システムは、現在ＰＤＡからの特定の基本機能を含むこともある、例えば、携帯電話のような移動情報装置の環境及び機能内での駆動にさらに限定される。
【００３５】
望ましく、この適応型システムは、オペレーティングシステムを特徴的な要素として備えた移動情報装置とともに動作する。このオペレーティングシステムは、任意に内蔵型システム(embedded system)を含むことができる。移動情報装置は、携帯電話を任意に含むことができる。
【００３６】
望ましく、この適応型システムは、移動情報装置と使用者との複数の相互作用を分析することにより使用者の行動を分析することができ、より望ましく、その後に、適応型システムは、少なくとも１つのすでに決定されたパターンと複数の使用者の相互作用を比較して、その予め決定されたパターンがユーザインターフェースの少なくとも１つの機能を変更することに関連するか否かを分かる。その代わりにまたは追加的に、前記分析は、以前に検出された使用者行動の少なくとも１つのパターンと前述した複数の使用者の相互作用を比較することを含むことができ、このとき、前述した以前に検出された使用者行動のパターンは、ユーザインターフェースの少なくとも１つの機能を変更することに関連する。
【００３７】
かならずそういうものではないが、適応システムは、移動情報装置の自体によって任意に駆動されることができる。または、移動情報装置がネットワークに連結された場合に、適応型システムは、少なくとも部分的にネットワークから移動情報装置に伝送された命令に従って任意に駆動されることもできる。これを実現するためには、適応型システムの少なくとも１つの動作と関連したデータが移動情報装置とは異なる位置に貯蔵されることが望ましく、このとき、前記位置は、ネットワークを通じてアクセスが可能である。
【００３８】
本発明の好適な実施形態によると、適応型システムは、受信された入力情報及び以前に得られた知識に従って分析を遂行する学習モジュールも含む。任意に(optionally)、このような知識は、使用者の行動から以前に得られたものであることもでき、そして／または特定の移動情報装置の適応型システムと通信を遂行する他の適応型システムから伝達されたものであることもできる。任意にそして望ましく、適応システムは、人工知能アルゴリズム、機械学習アルゴリズム、または遺伝的アルゴリズムのうちの１つ以上に従って使用者の行為に適応される。
【００３９】
本発明のまた他の任意の、しかし、好適な実施形態によると、移動情報装置網を通じて移動情報装置と使用するための１個以上のインテリジェントエージェントが提供され、これには、エージェントが人間使用者と情報交換(通信)を可能にするアバターを含むことが望ましい。従って、望ましく、アバターは、使用者との相互作用のためのユーザインターフェースを提供する。また、インテリジェントエージェントは、ネットワークを通じて移動情報装置の少なくとも１つの相互作用を制御するためのエージェントを含むことが望ましい。この実施形態は、移動情報装置網を通じて連結されたそのような複数のアバターを任意に含むことができる。
【００４０】
本発明の好適な実施形態によると、アバターのアピアランス(appearance)の少なくとも１つの特性が、例えば、使用者の命令に従って任意に変更できることが望ましい。任意にそしてより望ましく、アバターのアピアランスの複数の特徴が予め定義されたアバター皮膚に従って変更可能である。その皮膚は、使用者によって任意に予め決定される。“皮膚”によって前記複数の特徴が１つのセットとしてともに変更されることを意味し、このとき、前記セットは、前記皮膚を形成するものである。このような実施形態がネットワーク-アクセス可能な位置に貯蔵されたアバターに関連したデータの少なくとも一部を有する以前の実施形態と結合される場合には、使用者は、同一のアバターを相互に異なる電話機に任意に移動させることができ、そして／または相互に異なる理由のために、例えば、パーティーまたはそれ以外のセレブレイション(celebration)のような特別の場合のために、アバターのアピアランスをカスタマイズ化できる。もちろん、このようなものは、ただ例を挙げるためのもので、特定の方式で限定されるものを意味することではない。
【００４１】
本発明のまた他の任意の、しかし、好適な実施形態によると、アバターのアピアランスの少なくとも１つの特性は、自動化された進化アルゴリズム、例えば、遺伝的アルゴリズムに従って変更できることが望ましい。進化アルゴリズムは、使用者のためにアバターのパーソナライゼーション(personalization)を提供するための方法の１つの非限定的な例である。パーソナライゼーションは、１個以上の特性または皮膚(特性グループ)に対する直接的な使用者の選択を通じて任意に行われることもできる。そのようなパーソナライゼーションは、少なくとも部分的にはアバターで、それに従って移動情報装置で使用者の感情的な表現を向上させるので望ましいことである。
【００４２】
技術的な具現(technical implementation)においては、本発明は、使用者にごくパーソナルデバイス(メモリ、データ処理容量、スクリーン表示の大きさ、及び解像度など)の制限されたシステムの上で動作できることが望ましい。例えば、望ましく、前記装置は、携帯電話などの移動情報装置であり、これは、かならず携帯性及び使用上利便性のために適応されるので、前記装置は、前述した制限のうちの１つ以上またはそのすべてを有することができる。本発明の具現形態は、このような特性の組合せに適合であるようにましい。従って、使用者の望ましいパーソナライゼーション(personalization)及び“個人的な感じ(personal feel)”を保持しつつも、前記装置自体の制限を解決するために、次のような多様な解決方案を提案するようにする。これら解決方案は、ただ例に過ぎなく、いずれの方法を使っても、限定的に解釈するように意図されたものではないことに留意しなければならない。
【００４３】
例１：プロアクティブインターフェース - 一般
望ましく、本発明のプロアクティブユーザインターフェースは、使用者の行動に応じて演算装置が選択できる予めプログラムされた多様なパターン及び／または特定の使用者との以前の経験に基づいて、使用者に能動的に提案するために、いずれのタイプの演算装置も制御することができ、そして／または、その装置にも関連することができることが望ましい。このような提案は、表示部の少なくとも一部のアピアランスを変更することにより、例えば、メニューまたはその一部を変更し、表示するための相互に異なるメニューを提供し、そして／またはタッチスクリーン機能を変更することにより、任意に行われることができる。その提案は、音声によって任意に行われることもできる。
【００４４】
プロアクティブユーザインターフェースは、オペレーティングシステムを含む前記のような演算装置のために実現されることが望ましい。任意にそして望ましく、前記インターフェースは、使用者とオペレーティングシステムとの間の通信のためのユーザインターフェースを含んでいる。望ましく、インターフェースは、使用者のユーザインターフェースとの相互作用の少なくとも１つのパターンを、例えば、学習モジュールの動作を通じて検出することができ、従って、望ましく、検出されたパターンに従って、使用者のインターフェースの少なくとも１つの機能を事前行動的に変更することができる。従って、プロアクティブユーザインターフェースは、使用者の要請を予想することができ、これに従って、演算装置の所望の機能を選択するにおいて使用者に役に立つことができる。
【００４５】
特に、使用者が所望するものとその行動を学習するものに関連して、このようなタイプのプロアクティブ行動は、プロアクティブインターフェースの部分に所定のタイプの学習能力を必要とする。そのような学習能力は、ソフトウェア客体の環境との相互作用及び(ソフトウェアによる)学習に関連する該当技術分野で公知されたアルゴリズムと方法論を通じて任意に提供されることができる。ソフトウェアがその行為を時間に従って向上させられるとき、そのソフトウェアを学習であるといえる。人工知能は、インテリジェント行為選択(intelligent action selection)(推論；reasoning)を示す必要があり、これに従って、ソフトウェアがその環境(その“世界”)を探検して行為の可能性を発見できる能力を有することが望ましい。また、ソフトウェアは、世界の状態とそれ自体の内部状態を表現する能力を有することが望ましい。そして、ソフトウェアは、インテリジェント行為(前記のような知識を利用して)を選択して行動することができることが望ましい。
【００４６】
任意にそして望ましく、例えば、インターフェースの学習モジュールによる学習は補償(rewards)によって補強されることができ、このとき、学習モジュールは、環境の状態に応じて特定の行為を取るものに対して補償を受けるようになる。このような形態の学習は、所定の方式にて行動するように学習モジュールを訓練させることを含む。２以上の行動が許容されれば、学習処理過程は、非決定的なものになって相互に異なる行動を生成することができる。プロアクティブユーザインターフェースに関連して、任意にそして望ましく、前述した補償は、例えば、提示された選択対象が使用者の選択に続くとき(提示された選択対象によって、例えば、プロアクティブユーザインターフェースによって提供されたものとは異なるメニューを選択することにより、使用者が異なるセットの１個以上の選択を探そうとするときとは対照的に)を学習モジュールが検出するように引き起こすことなどを含む。プロアクティブユーザインターフェースが使用者の行動を正しく理解したことを示すもので、明確に、前記インターフェースの提示事項を使用者が直接に選択する比率が最大になるようにすべきである。
【発明の効果】
【００４７】
本発明は、現在の包括的(generic)であり、非柔軟的(non-flexible)なユーザインターフェースを柔軟性があり、実際に、使用者の親和的なインターフェースに変化させるだけではなく、演算装置との向上した使用者の経験及び相互作用を提供する。また、本発明は、使用者と相互に作用する生物またはアバター形態でユーザインターフェースを構成することによって、演算装置との使用者の向上した感情的な経験(emotional experience)を提供する。従って、本発明は、例えば、携帯電話のような移動情報装置に“生存型装置(living device)”の経験を与えることができる。
【発明を実施するための最良の形態】
【００４８】
以下、本発明の好適な実施形態について添付図を参照しつつ詳細に説明する。下記説明において、本発明の要旨のみを明瞭にするために公知の機能又は構成に対する詳細な説明は省略する。
【００４９】
図１は、反応的な学習(reactive learning)のための本発明による学習モジュールの例を概略的に示すブロック図である。示すように、学習モジュール１００は、知識ベース１０２を望ましく含んでおり、知識ベース１０２は、環境との相互作用の結果として、学習モジュール１００によって収集された情報を貯蔵することにより、望ましくは、学習モジュール１００のメモリとしての機能を行う。知識ベース１０２は、不揮発性メモリ(図示せず)に任意に貯蔵されることができる。知識ベース１０２は、適切な行為を選択するために学習モジュール１００に役に立つ情報を望ましく保持している。そのような情報は、内部神経網のための数値的加重値(numerical weights)などの値、または行為補償値(action reward value)を有するテーブル、または他のすべての形態の情報を任意に含むことができる。
【００５０】
学習モジュール１００が環境に対する情報を受信できるようにするためには、学習モジュール１００は、複数のセンサー１０４を特徴的な要素として備えることが望ましい。センサー１０４は、学習モジュール１００がその環境状態を認知できるようにする。センサー１０４は、その環境に連結されて感知された値を出力する。その値は、プログラムの自体から得られたこと(例えば、画面上の位置、エネルギーレベルなど)、または実際装置の値から得られたこと(例えば、“フリッパー(flipper)”を開けてその装置が動作されるか、着信号が応答されられる携帯電話を開いた状態(flipped state)のような動作状態及びバッテリー状態など)であることができる。
【００５１】
センサー１０４は、はっきり価値ある情報を提供するが、学習モジュール１００がその情報を理解するようになることができる前までその情報を処理する必要がある。従って、学習モジュール１００は、センサー１０４の現在出力が“状態(state)”であると称するその世界の一定の表現になるように処理するために認知部１０６をさらに含む。そして、そのような状態は、学習モジュール１００の“ブレイン(brain)”として記述されることができる推論システム１０８のための入力が行われることが望ましい。このような設計は、そのシステムを複数のホストプラットホーム(相互に異なる演算装置及び環境)に容易に移動することを支援するのみならず、センサーのメカニズム及び世界の状態を拡張することを支援して、世界の状態が装置に従って変更されることができる。
【００５２】
推論システム１０８は、知識ベース１０２で現在状態を処理して、どんな行為を遂行すべきであるか否かに対する意思決定を生成するようにすることが望ましい。推論システム１０８は、世界の現在状態を受信して遂行されるべき行為を出力し、その選択された行為に対するフィードバックを受信するようになる。このフィードバックに基づいて、推論システム１０８は、知識ベース１０２をアップデートすることが望ましい。これは、学習モジュール１００が行為を状態に関連させるように学習する１つの反復(iteration)処理に該当する。
【００５３】
本発明の任意の実施形態によれば、演算装置は、感情的な状態、物理的な状態、動きなどの使用者に対する多様な形態の生物学の情報を感知するための１個以上の生物学センサーを特徴的な要素として有することができる。そして、このような情報は、センサー１０４に提供されて認知部１０６が使用者の状態を決定し、それに従って、その装置のための適当な状態を決定するのに役に立つことができる。そのような生物学センサーは、体温(body temperature)、心拍(heart rate)、酸素飽和度(oxygen saturation)の感知用センサーまたは使用者の生物学変数を測定する他のすべての形態のセンサーを含むことができるが、それらに限定されることではない。
【００５４】
図２は、学習モジュール１００をさらに特徴としたプロアクティブユーザインターフェースを提供するための本発明によるシステム２００の典型的な実施形態を示す。学習モジュール１００は、学習モジュール１００に関連し、そして／またはこれによって制御され、そして／またはこれを動作させる演算装置(図示せず)のオペレーティングシステム２０２と通信を遂行することが示されている。オペレーティングシステム２０２は、インターフェース部２０４だけではなく、少なくとも１つの他のソフトウェアアプリケーション２０６の動作を制御することが望ましい(もちろん、そのような多いソフトウェアアプリケーションが任意に存在することができる。)。
【００５５】
使用者は、例えば、メニューから１つの選択対象を選択するようにより、インターフェース部２０４を通じて通信を遂行する。オペレーティングシステム２０２は、このような通信情報が受信されてデータに翻訳されられるようにする。そして、望ましく、学習モジュール１００は、そのようなデータを受信して任意に命令をオペレーティングシステム２０２にさらに伝送して、例えば、インターフェース部２０４の所定の要素(例えば、異なるメニューを提供することにより)を変更し、そして／または、ソフトウェアアプリケーション２０６を動作させる。そして、使用者は、インターフェース部２０４を通じて応答を行い、この応答から、望ましく、学習モジュール１００は、その行為(学習モジュール１００によって伝送された命令)が適切であるか否かを学習するようになる。
【００５６】
図３は、本発明によるプロアクティブユーザインターフェースシステム３００の具現例を概略的に示すブロック図である。示すように、システム３００は、望ましく３レベル構造を特徴的な要素として有し、このとき、アプリケーションレイヤーは、人工知能(ＡＩ)フレームワークによって支援され、これは、続いてホストプラットフォーム演算装置(“ホストプラットフォーム”で示される。)と通信を遂行するようになる。
【００５７】
任意にそして望ましく、アプリケーションレイヤーは、複数の相互に異なるアプリケーションを特徴的な要素として有しており、その中で、MutateApp(ミューテーションアプリケーション)３０２、PreviousApp(以前のアプリケーション)３０４、及びTeachingApp(教育アプリケーション)３０６のような幾つの非限定的な例を示す。
【００５８】
望ましく、MutateApp３０２は、システム３００内のミューテーションを制御し、そして／または、開始させるために呼び出される(invoke)。前述したように、学習モジュールは、指示されたまたは半指示された進化(directed or semi-directed evolution)を通じて、例えば、遺伝的アルゴリズムを通じてその行動を任意に変更することができる。望ましく、MutateApp３０２は、進化を通じてそのようなミューテーションを制御し、そして／または開始させる。進化の実施形態については、下記にさらに詳細に説明するのであろう。
【００５９】
望ましく、PreviousApp３０４は、システム３００の以前の状態または(学習モジュールの状態のような)その一部分が現在の状態の代わりに呼び出されることができるようにする。さらに具体的に、本発明が進化的アルゴリズムで具現されるものであれば、PreviousApp３０４は、使用者を以前の進化的なステップに復帰させる。さらに一般的に、システム３００は状態保存型(stateful)であるので、以前の状態に任意に復帰することができ、このとき、そのような状態のヒストリーは望ましく保持される。
【００６０】
TeachingApp３０６は、人工知能フレームワークレイヤーを通じて具現されることができる包括的(generic)アプリケーションの１つの非限定的な例であるだけである。
【００６１】
人工知能フレームワークレイヤーの自体は、ユーザインターフェースがプロアクティブ方式にて行動できるようにする１個以上の構成成分を含んでいる。任意にそして望ましく、フレームワークは、演算装置の状態及び仮想世界の状態を決定し、また、その２つの状態間の関係も決定するためのDeviceWorldMapper(装置世界マッパー)３０８を含む。望ましく、DeviceWorldMapper３０８は、仮想世界の状態とその装置の状態を決定するために、例えば、EventHandler(イベントハンドラ)３１０からの多様なイベントから入力を受信する。
【００６２】
望ましく、DeviceWorldMapper３０８は、入力データを分析するために、ＡＩ(人工知能)／ＭＬ(Machine Learning)３１２との通信を遂行する。また、望ましく、ＡＩ／ＭＬモジュール３１２は、多様な刺激に対応してシステム３００の行動を決定し、また、例えば、ユーザインターフェースの相互に異なる形態の行為に対する使用者の反応からシステム３００が学習できるようにする。システム３００の行動は、進化モジュール３１４に従って、任意にそして望ましく向上することもできる。
【００６３】
そのような進化の実施形態は、移動情報装置上のインテリジェントエージェントの使用に関連することが特に望ましいが(例えば、以下の説明を参照する。)、演算装置のためのどんなプロアクティブユーザインターフェースと任意に使用されることもできる。望ましく、この実施形態は、プロアクティブユーザインターフェースがアバターを特徴的な要素として有する場合に、または、アバターと結合されて使用される場合に利用される。
【００６４】
望ましく、進化は、１個のセットの遺伝的アルゴリズムによって模擬(simulation)される。これらアルゴリズムは、遺伝子(genes)、染色体(chromosomes)、及び表現型(phenotypes)について、プロアクティブインターフェースの特性(そして、特にアバターのアピアランス)を記述することに基づいている。遺伝子は、例えば、特定の形態のレッグ(leg)などの発現水準(a level of expression)を有する分別性(discrete property)がある。発現水準は、そのようなレッグの個数であることができる。
【００６５】
表現型は、遺伝子の外的表現に該当し、例えば、レッグの遺伝子は、レッグの長さまたはレッグのサイズにおいて、異なる表現型を有することができる。
【００６６】
遺伝子は、ミューテーション過程を任意に経ることができる。このような過程(望ましくは、特定の確率(probability)に従う過程)によって遺伝子の１個以上の変数(parameter)が変更されて異なる新たな表現型が生成される。
【００６７】
染色体は、ともに機能する１つのセットの遺伝子に該当する。染色体は、異なる生物からの同一の形態の染色体とハイブリッド(hybrid)、または異種交配(cross breeding)されてその遺伝子の父母染色体の組合せで新たな染色体を生成する。
【００６８】
この方法論は、プロアクティブユーザインターフェースの行為の進化及び／または視覚的な進化(例えば、アバターのアピアランス)を模擬するために、包括的な基盤構造(generic infrastructure)を生成するのに役に立つ。これらアルゴリズムは、機敏さ及び体力などの非視覚的な行動の特性のために任意に利用されることもできる。このような効果による結果として、例えば、動きが速い生物になることができ、またはさらに能率的な生物になることができる。これらのアルゴリズムは、前述した遺伝子／遺伝型／表現型の構造に従って記述されることができる特性のうちのいずれのためにも任意に利用されることができ、これに従って、例えば、行動的遺伝子(behavioral gene)は、本発明によって利用される人工知能(ＡＩ)アルゴリズムの行動を決定するようになる。
【００６９】
望ましく、このようなアルゴリズムの出力は、様々の可能な子孫アバター及び／またはプロアクティブユーザインターフェースを提供する。 
【００７０】
遺伝的アルゴリズムは、遺伝的な子孫のうちのいずれが次世代として継続して保持されるようにするかを決定するために自然選択過程を使用する。このような選択過程は、使用者によって決定されることができ、または予め決定されることもできる。このような方式にて生物が興味のある進化行動を表示することができる。遺伝的アルゴリズムの構成(framework)は、目標または性格(goals or character)のような生物のそれ以外の非視覚的な特性を符号化(encode)する遺伝子を進化させるために利用されることができる。
【００７１】
進化モジュール３１４は、例えば、MutateApp３０２の動作を通じてそのような進化を支援し、また、望ましくそれを管理する。
【００７２】
このような相互に異なる人工知能タイプのアプリケーションとEventHandler３１０との間で、１個以上の相互に異なる低水準管理者(low level managers)は、相互に異なるイベントの受信及び取り扱い(処理)とシステム３００による相互に異なる行動を望ましく支援するようになる。これらの管理者は、ActionManager(行為管理者)３１６、UIManager(ＵＩ管理者)３１８、StorageManager(ストレージ管理者)３２０、及びApplicationManager(アプリケーション管理者)３２２を含むことができるが、これらに限定されることではない。
【００７３】
ActionManager３１６は、この後さらに詳細に説明したが、簡略に説明すると、例えば、ＡＩ／ＭＬモジュール３１２の動作を通じて、どんな行為を取るべきであるかをシステム３００が決定できるようにすることが望ましい。
【００７４】
望ましく、UIManager３１８は、例えば、前述したように、ユーザインターフェースに変化を指示することによって、ユーザインターフェースのアピアランスと機能を管理する。
【００７５】
望ましく、StorageManager３２０は、例えば、システム３００の知識ベース(図示せず)に関連したデータの貯蔵及び取り扱い(処理)を管理する。
【００７６】
望ましく、ApplicationManager３２２は、アプリケーションレイヤーの前述したアプリケーションとの通信を取り扱う。 
【００７７】
望ましく、これらの相互に異なる管理者は、すべてEventHandler３１０からイベントを受信する。
【００７８】
人工知能フレームワークレイヤーの内で、任意にそして望ましく、人工知能基盤構造３２４はホストプラットフォームとの通信を支援する。望ましく、このホストプラットフォームの自体は、ホストプラットフォームインターフェース３２６を特徴的な要素として有し、任意にそして望ましく、これは、例えば、ホストプラットフォームのオペレーティングシステムを通じて提供されることができる。
【００７９】
任意にそして望ましく、人工知能基盤構造３２４は、ホストプラットフォームインターフェース３２６から入力を受信し、また、任意にホストプラットフォームインターフェース３２６に命令を伝送するためのＩ／Ｏモジュール３２８を含む。 望ましく、スクリーンモジュール３３０は、ホストプラットフォーム演算装置の画面上のユーザインターフェースの表示の処理／取り扱いを行う。望ましく、資源モジュール３３２は、システム３００がデータストレージなどの多様なホストプラットフォームの資源(resources)に接続できるようにする。
【００８０】
もちろん、前述した図面は、学習モジュールのためのただ１つの任意の構成を示すだけである。例えば、学習モジュールは、１つのセットの個別エージェントで表現されることもでき、このとき、各エージェントは、１つの単純な目標を有している。学習モジュールは、前述した現在の状態に基づいて所定の行為を遂行するエージェントを選択する。現在の状態とエージェントとの間の適切なマッピングは、補強学習を備えた学習モジュールによって学習されることもできる。
【００８１】
例２：移動情報装置のための適応システム
このような例は、移動情報装置を備えた本発明の適応型システムの例示的な具現に関するものであり、この具現は望ましいが、任意的なものであり、何の方式にも限定するように意図されることではないという点に留意しなければならない。
【００８２】
このような適応型システムは、例１において、前述した機能のうちのいずれも任意に含むことができ、前述したように、任意に具現されることもできる。このセクション(section)では、移動情報装置の動作に関連して適応型システムの実際の構造にさらに重点をおくこととする。また、この例は、本発明による生物またはアバターの任意の、しかし、望ましい具現に対して記述している。
【００８３】
その次のセクションは、本発明による適応システムの多様な側面における特定の技術的な具現に対する任意のしかし望ましい実施形態に対して記述している。ただ説明するための目的で、また、何の限定の意図なく、これらの実施形態は、任意に、アバターまたは“生物”として視覚的に表現されるインテリジェントエージェントを通じて使用者との相互作用を行う適応型システムの任意のしかし望ましい実施形態に基づいている。
【００８４】
セクション１：イベント誘導システム(Event Driven System)
このセクションでは、本発明によるイベント誘導システムの望ましい実施形態に対して記述しており、これには、アプリケーション管理者が限定されることなく含まれ、その装置によって動作されるに従って本発明のシステムとその装置の自体との間で発生する相互作用に対して記述している。
【００８５】
図４は、本発明による典型的な適応システム４００と、このシステム４００と移動情報装置４０２との相互作用を概略的に示すブロック図である。示すように、望ましく、システム４００及び移動情報装置４０２は、すべて使用者４０４との相互作用を遂行する。
【００８６】
移動情報装置４０２は、多い標準機能を任意にそして望ましく有し、示すように、その機能は、ただ説明するための目的で、２通りのカテゴリー(データ及びメカニズム)に分類される。メカニズムには、ユーザインターフェース(ＵＩ)システム４０６(スクリーン、キーパッドまたはタッチスクリーン入力部など)と、着信及び発信呼機能４０８と、例えば、ＳＭＳのためのメッセージ通信機能４１０と、着信呼またはメッセージ及び／またはアラームを使用者４０４に知らせるためのサウンド部４１２及び／または振動部４１４と、貯蔵部４１６などの機能が任意に含まれることができる。しかし、これらに限定されることではない。
【００８７】
データには、住所録(電話帳)４１８と、着信または発信呼情報４２０と、位置４２２のような移動情報装置４０２の位置と、メッセージ情報４２４と、キャッシュインターネットデータ４２６と、オーナーデータ４２８のような使用者に対するデータ４０４などが任意に含まれることができる。
【００８８】
移動情報装置４０２は、前述したデータ／メカニズムのうちのいずれか１つ以上も任意に含むことができ、それらすべてをかならず含まなくてもいい、そして／または、図示しない付加的なデータ／メカニズムを含むこともできる。これらは、単純に移動情報装置４０２に関連した、特に、携帯電話のための非限定的な例として意図されたものである。
【００８９】
本発明による適応型システム４００は、適応型(また、望ましくは事前行動的)ユーザインターフェースを提供可能であるようにするために、移動情報装置４０２のデータ／メカニズムとの相互作用を遂行することにより、使用者４０４が移動情報装置４０２との相互作用を遂行するにおいての容易さ及び効率を増加させる。
【００９０】
望ましく、適応型システム４００は、ロジック４３０を特徴的な要素として有し、望ましく、これは、前述した学習モジュールと類似している方式にて機能を遂行し、また、これは、前述した人工知能及び機械学習アルゴリズムに従って任意にそして望ましく動作するようになる。
【００９１】
ロジック４３０は、図１(特に明記しない限り、同一の参照番号で示した構成要素は、機能が同一であるかまたは類似している。)を参照して説明されたように、知識ベース１０２と通信できることが望ましい。望ましく、情報貯蔵部４３２は、移動情報装置４０２の行為に対するデータ及び使用者情報などを含み、望ましくは、知識ベース１０２の内のデータを補充するようになる。
【００９２】
望ましく、適応型システム４００は、進化ロジック４３４を通じて進化でき、これは、図３のMutateApp３０２及び進化モジュール３１４の前述した機能を任意に統合することもできる(図示せず)。
【００９３】
任意に、適応型システム４００は、言語モジュール４３６によって支援されてテキスト及び／または可聴言語を通じて使用者４０４と直接に通信できる。
【００９４】
特に、下記例３において、本発明の実施形態について説明されているように、しかし、任意に適応型システム４００について、使用者４０４は、ユーザインターフェースのためのアバター(図示せず)が任意に提示されることができる。そのようなアバターは、これが存在すれば、３Ｄグラフィックモデル４３８及びアニメーションモジュール４４０を通じて任意に生成されることができる(具体的な説明は、下記説明を参照する。)。
【００９５】
図５Ａは、典型的なアプリケーション管理システム５００を概略的に示すブロック図であって、これは、本発明の適応型システムを支援するための核心的な基盤構造に該当する。前述したように、また、この後にさらに詳細に説明されるように、システム５００は、アプリケーション機能を教育させるもののような実施形態を支援するために任意に利用されることもできる。システム５００は、本発明による適応型システムの一部である異なる形態のアプリケーションを管理するためのアプリケーション管理者５０２を特徴的な要素として有することが望ましい。アプリケーション管理者５０２は、BaseApp(ベースアプリケーション)５０４と呼ばれるアプリケーションインターフェースとの通信を遂行し、これは、システム５００内のすべてのアプリケーションによって実現される。アプリケーション管理者５０２及びBaseApp５０４は、すべてEventHandler５０６を通じてイベントを交換(伝達)する。
【００９６】
アプリケーション管理者５０２は、システムアプリケーション(システム５００の一部としてのアプリケーション)の実行のためのランタイムを管理して提供する機能を行う。そのようなアプリケーションのそれぞれのライフサイクルはBaseApp５０４で定義され、これによって、アプリケーション管理者５０２は、そのようなアプリケーションのそれぞれの開始、一時停止(pause)、再開(resume)、及び終了(停止)を遂行することができる。望ましく、アプリケーション管理者５０２は、BaseApp５０４のインターフェースのステップ方法(step method)を通じてランタイム実行を管理する。任意にそして望ましく、前記ステップ方法が状態保存型(stateful)であることが望ましいので、システム５００は、実行のために使用されて、各ステップが１個以上の状態に(大体的に)対応することが望ましい事実に注目しなければならない。しかし、任意に、実行(execution)は、すべてのタイプの実行方法及び／またはスレッド(threads)に基づくこともできる。
【００９７】
アプリケーション管理者５０２は、移動情報装置からタイマーイベントを受信する。下記にさらに詳細に説明するように、望ましく、移動情報装置は、オペレーティングシステムを特徴づけることによって、オペレーティングシステムレイヤーからタイマーイベントを受信することが望ましい。タイマーが呼び出されば(invoke)、アプリケーション管理者５０２は、遂行されている現在アプリケーションのステップを呼び出す。使用者が、例えば、メニューシステムを使用するときに異なるアプリケーションを駆動させると、アプリケーション管理者５０２は、１つのアプリケーションから他の１つのアプリケーションに転換することが望ましい。
【００９８】
続いて、前記システムアプリケーションの幾つの非限定的な例を示し、ここには、幾つの非限定的な例で示されるように、TeachingMachineApp(教育機械アプリケーション)５０８、MutateApp(ミューテーションアプリケーション)５１０、GeneStudioApp(遺伝子スタジオアプリケーション)５１４、TWizardApp(ティーウィザードアプリケーション)５１６、FloatingAgentApp(フローティングエージェントアプリケーション)５１８、TCWorldApp(ティーシーワールドアプリケーション)５２２、及びHybridApp(ハイブリッドアプリケーション)５２０などが含まれ、これに限定されるものではない。これらのアプリケーションに対しては、図３を参照してより詳細に説明する。
【００９９】
望ましく、MutateApp５１０は、適応システムにおける、そして／またはユーザインターフェースとしての適応型システムを示すアバターのアピアランスにおけるミューテーションを制御し、そして／または開始させるために呼び出される。例１を利用して、前述したように、本発明の適応型システムは、指示されたまたは半指示された進化(semi-directed evolution)を通じて、例えば、遺伝的アルゴリズムを通じてその行動を任意に変更することができる。MutateApp５１０は、望ましく、そのようなミューテーションの制御及び／または開始を遂行する。
【０１００】
望ましく、GeneStudioApp５１４は、使用者が１個以上の手動命令(manual commands)を通じて、指示され、そして／または、半指示されたミューテーションを実行できるようにする。例えば、使用者は、適応型システムに特定の入力を受信するとき特定のタスクシーケンス(task sequence)を遂行するように(アプリケーション管理システム５００を通じて)指示しようとすることができる。または、それが存在すれば、使用者は、アバターのアピアランスのうちの一部を直接変更しようとすることもできるのであろう。本発明の望ましい実施形態によると、適応型システムのそのような相互に異なる形態は、別個の“遺伝子”によって望ましく具現され、これは、使用者によって任意に変更されることができる。
【０１０１】
HybridApp５２０は、使用者が他の移動情報装置の適応システムのような外部ソースから情報を受信して、その情報を使用者の移動情報装置にある既存の情報と統合しようとする場合、任意に呼び出されることができる。例えば、使用者は、他の移動情報装置のアバターとのハイブリッドアピアランス(hybrid appearance)を有するアバターを生成しようとすることができる。また、HybridApp５２０は、任意にそして望ましく、アバターの全体の進化的な状態に対する使用者の主要な制御を提供する。任意にそしてより望ましく、HybridApp５２０は、名前、性格、行動、及びアピアランスを任意に有することができるアバターの“生活(life)”特性に対して使用者に教示するのに利用されることができる。
【０１０２】
TeachingMachineApp５０８は、前記装置自体の使用に対する命令(instruction)を提供するものと任意に関連できるアプリケーションの例示的でありかつ非限定的な例であり、望ましくは、装置自体の直接的な動作と関連しない対象に対する命令を提供する。従って、TeachingMachineApp５０８は、その装置自体の使用以外の目的で、移動情報装置の上に提供されるアプリケーションの任意の例(optional example)を示す。
【０１０３】
TCWorldApp５２２は、インテリジェントエージェントを動作(run)させるアプリケーションであり、望ましくは、生物またはアバターのグラフィック表示とそのエージェントのインテリジェント要素(intelligent aspects)の両方ともを制御する(この両方ともについては、下記でさらに詳細に説明する。)。
【０１０４】
TWizardApp５１６は、使用者に情報を提供する他のタイプのアプリケーションである。これについては、下記例４において、開始ウィザードアプリケーション(Start Wizard application)と関連して記述されている。簡略に説明すると、このアプリケーションは、特に、感情型システム(下記にさらに詳細に説明する。)と関連して、また、目標優先順位(goal priorities)を設定すること(下記にさらに詳細に説明する。)と関連して、インテリジェントエージェントの特性のような人工知能フレームワークの構成及び使用者オプション(user preferences)を含んでいる。
【０１０５】
FloatingAgentApp５１８は、任意にそして望ましく、特に(それが存在すれば)、アバターのアピアランスと関連してユーザインターフェースのアピアランスを制御する。FloatingAgentApp５１８は、ユーザインターフェースの画像表示の要素(aspects)がアバターの表示と独立的に表示されることができるようにし、従って、これは、例えば、ユーザインターフェースの上に“フロート(float)”に見えることができる。FloatingAgentApp５１８は、動作中である他のアプリケーションが存在しないとき駆動されるデフォルトアプリケーションであることが望ましい。
【０１０６】
図５Ｂは、本発明によるアプリケーション管理者の動作を示す典型的なシーケンスダイアグラムである。示すように、EventHandler５０６は、矢印１で示すように、アプリケーション管理者５０２にイベントに対する通知を発送することが望ましい。そのイベントがタイマーイベントである場合には、アプリケーション管理者５０２は、矢印１．１．１で示すように、すでに呼び出された関連アプリケーションのインスタンスのステップ(行為)を呼び出す。そのイベントがアプリケーションの実行を開始させるものであれば、アプリケーション管理者５０２は、矢印１．２．１で示すように、関連アプリケーションのインスタンスを呼び出す。アプリケーションの現在実行中であるインスタンスを一時停止しようとすれば、アプリケーション管理者５０２は、矢印１．３．１で示すように、そのアプリケーションに一時停止コマンド(pause command)を伝送する。アプリケーションのすでに一時停止されたインスタンスを再開(resume)しようとすれば、アプリケーション管理者５０２は、矢印１．４．１で示すように、再開コマンドをそのアプリケーションに伝送する。どんな場合でも、前記関連した復帰矢印で示すように、そのステップの実行が成功すればアプリケーション管理者５０２に復帰される。そして、アプリケーション管理者５０２は、EventHandler５０６に実行成功(または失敗)に対して通知する。
【０１０７】
このような相互に異なるアプリケーションは、移動情報装置の動作の多様な要素を適応型システムが制御できるようにするにおいて重要なものである。しかし、適応型システムは、また、移動情報装置のオペレーティングシステムを通じて多様な移動情報装置の構成要素と直接に通信することが可能な必要がある。そのような通信は、図６を参照して示す通信システム６００を通じて任意に遂行されることができ、望ましくは、後述する行為アルゴリズムで遂行される。
【０１０８】
図６Ａ及び図６Ｂは、各移動情報装置のオペレーティングシステムを通じて１個以上の行為を遂行するために、本発明による適応型システムに必要な基盤構造(infrastructure)の例を示し、図６Ｂは、通信システム６００の動作のためのシーケンスダイアグラムの例を示す。本発明の、任意のしかし望ましい実施形態によると、このような基盤構造は、“人工知能ラッパー(AI wrappers)”または既存のＵＩ(ユーザインターフェース)システムを画期的な人工知能及び機械学習機能で“包装(wrap)”する能力のさらに一般的な概念の一例である。
【０１０９】
通信システム６００は、前記のようなEventHandler５０６と通信を遂行するベースクラスイベント６０２とともに、多様な形態のイベントを処理できることが望ましい。そして、EventDispatcher６０４は、本発明のシステム内の正しい目標物(object)にイベントをルーティング(伝送)する。ルーティングは、特定のイベントに対してEventDispatcher６０４にその目標物を登録して決定されることが望ましい。EventDispatcher６０４は、そのような通知のためにEventHandler５０６のインターフェースを具現するハンドラ(handler)のレジストリを管理することが望ましい。
【０１１０】
任意にそして望ましく、特別なハンドラが具現される特定のイベントは、“フリッパー(flipper)”を開けてその装置が動作されるか、または着信号(incoming call)が応答されることができる携帯電話のためのフリッパーイベントハンドラ６０６を含み、フリッパーが開けられるかまたは閉じられると、このイベントが発生する。本発明に従って動作されるアプリケーションは、イベントを相互に任意に伝達でき、それらは、InterAppEventハンドラ６０８によって処理されることが望ましい。生物またはアバターの任意のしかし望ましい進化(変化)に関連したイベントは、EvolutionEventハンドラ６１０によって処理されることが望ましい。着信または発信電話は、CallEvent handler６１２によって処理されることが望ましく、これは、さらに２個の追加ハンドラと、通話を開始するためのCallStartedEventハンドラ６１４と、通話を終了するためのCallEndedEventハンドラ６１６とを含むことが望ましい。
【０１１１】
ＳＭＳイベント(着信または発信メッセージ)は、SMSEventハンドラ６１８によって処理されることが望ましい。そのイベントに含まれることができる任意のしかし望ましいパラメータは、この後にさらに詳細に説明するように、１つの移動情報装置の生物またはアバターと他の移動情報装置の生物またはアバターとのハイブリッド化(hybridization)に関連したパラメータを含む。
【０１１２】
そのキー(keys)の動作に関連したイベントは、KeyEventハンドラ６２０及び／またはKeyCodeEventハンドラ６２２によって処理されることが望ましい。例えば、使用者が移動情報装置の上でキーを押すと、KeyEventハンドラ６２０はこのイベントを処理し、これは、本発明によるシステムの動作のための着信情報(incoming call)に関連する。そのシーケンスダイアグラムにおいて、key_eventはクラスKeyEventからの客体であり、これは、キーイベントメッセージ客体を示す。KeyEventハンドラ６２０は、key_eventの自体を処理する一方、KeyCodeEventハンドラ６２２は、入力コードに対して注意を注ぐ(この２つの入力イベントは、そのオペレーティングシステムに挿入されるフック(hook)を通じて得られる。)。
【０１１３】
図６Ｂは、移動情報装置のオペレーティングシステムまたは他の制御構造と本発明のシステムとの間で、イベントがどのように処理されるかを示す典型的なシーケンスダイアグラムである。この例において、前記移動情報装置は、オペレーティングシステムを含んでいるが、そのようなオペレーティングシステムを備えない装置のためにそれと類似している動作フローが任意に実現されることができる。それが存在すれば、オペレーティングシステムは前記装置に対する入出力を処理し、その装置のために発生する状態及びイベントを管理する。図６Ｂでのシーケンスダイアグラムは、そのようなイベントに対する(そして、それらと関連した)処理を容易にするために抽象化(abstraction)したものである。
【０１１４】
オペレーティングシステムモジュール(os_module)６２８は、イベントを発生させるかまたはそれに関連したもので、任意にそのようなモジュールが複数個存在することができ、明確にするために図面には１つのみ示したが、これは、何の方式にも限定しようとすることではない。オペレーティングシステムモジュール６２８は、移動情報装置のオペレーティングシステムの一部である。オペレーティングシステムモジュール６２８は、オペレーティングシステムモジュール６２８によって受信されたかまたは生成されたかのイベントに対する通知をフック６３０に伝送することが望ましい。フック６３０は、本発明によるシステムの一部として、本発明によるシステムとオペレーティングシステムとの間の通信を許容するために使用される。フック６３０は、オペレーティングシステムからのイベントを解釈でき、イベント６０２に理解されることができるメッセージの内にイベントを構成できる。フック６３０は、EventDispatcher６０４にそのイベントを発送することもあり、これは(そのようなハンドラが複数個存在することができるが、)、EventHandler５０６で示したそのイベントのための各ハンドラと通信を遂行する。そして、EventDispatcher６０４はフック６３０に報告し、これは、そのイベントの処理に対してオペレーティングシステムモジュール６２８に報告する。
【０１１５】
図７Ａ乃至図７Ｃは、典型的なイベントを示すもので、そのイベントが(移動情報装置のオペレーティングシステムを通じて)移動情報装置と本発明のシステムとの間の相互作用によってどんば方式にて処理されるかを示す。移動情報装置と関連せず、幾つのイベントが本発明のシステムの内で任意に処理されることができるという点に留意しなければならない。
【０１１６】
図７Ａは、クアルコム社のＭＳＭ(Messaging State Machine)ＣＤＭＡ(Code Division Multiple Access)移動プラットフォームのためのクアルコム社のＤＭＳＳオペレーティングシステムの基盤構造を有する移動情報装置に従って記述された典型的なキーイベントシーケンスダイアグラムを示す。このオペレーティングシステムは、電話キー(キーパッド)を使用して入力された対話型入力(interactive input)、Ｉ／Ｏサービス及びユーザインターフェースサービスのようなオペレーティングシステムサービスを提供する。この例は、本発明のシステムによってキーからの入力イベントがどのように生成されて処理されるかを示している。他のイベントは、ほぼ同一の方式にて前記システムに伝送されるが、フック６３０の機能は、そのイベントを伝送しているオペレーティングシステムモジュールに従って変更され、任意にそして望ましく、そのようなフックが複数個存在し、それぞれのフックがオペレーティングシステムとの相互作用と関連した相互に異なる機能を有している。
【０１１７】
図７Ａに示すように、ui_do_eventモジュール７００は、前記オペレーティングシステムの構成要素として周期的に呼び出される。前記移動装置のキーが押されれば、情報をui_do_eventモジュール７００に伝送するユーザインターフェース(ＵＩ)の構造はそのキーの値を含む。そうすると、フック６３０は、そのキーの値を受信し(特に、ui_do_eventモジュール７００がグローバルイベントを発送(dispatch)すれば)、任意にそして望ましく、そのイベントをキーイベントとして識別し、キーイベント７０２を生成する。続いて、そのイベントは、望ましくは、前記のようなイベントハンドラ(図示せず)を通じてそのようなイベントに対する通知の受信を要請したアプリケーション７０４に伝送される。続いて、望ましく、そのイベントの処理中に成功(または失敗)の通知がEventDispatcher６０４にさらに戻ってフック６３０及びui_do_eventモジュール７００に伝達される。
【０１１８】
図７Ｂは、イベントを処理するためのシーケンスダイアグラムの第２の具体例を示すもので、この場合に、そのイベントは本発明によるシステムから伝達され、移動情報装置のスクリーン上の絵(drawing)と関連する。情報は、スクリーンが(主に)フレームバッファによって表現されるオペレーティングシステムのスクリーンアクセス方法を通じて伝達される。このフレームバッファはスクリーンドライバーを利用してコピーされ、そのスクリーンによって表示されるメモリセグメントである。本発明のシステムは、オペレーティングシステムにスクリーン上の絵を制御するために必要な情報を発生させる。
【０１１９】
図７Ｂをさらに参照すれば、矢印“１”で示すように(scrn_update_mainモジュール７１０を通じて)、オペレーティングシステムは、まずスクリーンのためにフレームバッファを更新する。この更新は、例えば、任意にバックグラウンドを描くものと関連することができ、これは、本発明のシステムによって提供された情報からのデータが描かれないスクリーンのすべての部分に表示されることができる。任意に、そのようなバックグラウンドがあり、これによって、半透明ウインドー(semi-transparent windows)の使用を支援するようになり、これは、下記にさらに詳細に記述されるように、生物またはエージェントのために任意にそして望ましく利用されることができる。
【０１２０】
そうすると、Scrn_update_mainモジュール７１０は、更新されたデータのための要請をスクリーンモジュール７１２に伝送し、これは、本発明のシステムの一部としてオペレーティングシステムと通信するためのフックを特徴として有する。継続して、スクリーンモジュール７１２は、スクリーンに描かれるべきものに対する更新された情報のために、各アプリケーションウインドー(図面には、agentWindow(エージェントウィンドー)７１４で示し、任意に複数個が存在することができる。)に要請を伝送する。変更が発生して更新が必要であれば、agentWindow７１４は、更新が必要であることをスクリーンモジュール７１２に通知する。そうすると、スクリーンモジュール７１２は、変更された部分の位置及びサイズを望ましく二度の別個の要請(矢印２．１．２．１及び２．１．２．２でそれぞれ示す。)で要求するようになり、それに対しては、応答がagentWindow７１４によって伝送される。
【０１２１】
スクリーンモジュール７１２は(望ましくは次のように)、更新された長方形の形態でその情報をscrn_update_main７１０を通じてオペレーティングシステムに返送する。Scrn_update_main７１０は、フレームバッファをプリバッファ(pre-buffer)にコピーすることにより、更新の存在に対する通知に応答する(過程３．１)。そうすると、スクリーンモジュール７１２は、矢印３．２．１で示すように、プリバッファに各ウインドーに対する変更を描く。継続して、プリバッファがフレームバッファにコピーされ、これに従ってスクリーンにコピーされる(矢印３．３)。
【０１２２】
図７Ｃは、スクリーン上に描くための本発明のシステムのためのクラスアーキテクチャーを示す。スクリーンモジュール７１２及びagentWindow７１４をすべて示す。そのクラスagentWindow７１４も３個の他のウインドー クラスと通信を遂行し、これらは、BackScreenWindow(バックスクリーンウィンドウ)７１６、BufferedWindow(バッファウィンドウ)７１８、及びDirectAccessWindow(直接アクセスウィンドウ)７２０などのウインドーの更新(または変更)に関する情報を提供する。BufferedWindow７１８は、それ自体と通信を遂行するTransbufferedWindow(トランスバッファウィンドウ)７２２及びPreBufferedWindow(プリバッファウィンドウ)７２４などの２個のウインドークラスを追加に有する。
【０１２３】
セクション２：行為選択システム(Action Selection System)
このセクションでは、インセンティブ／行動抑制要因による任意の行為選択などを含む(それに限定されることではない。)本発明による行為選択システムの望ましい実施形態に対して記述する。インテリジェントエージェントの行為がどのように選択されるかに対する説明を助けるために、本発明のシステムによって望ましく提供される仮想環境とのインテリジェントエージェントの相互作用及びインテリジェントエージェントの構造に対してまず説明する。
【０１２４】
図８Ａは、インテリジェントエージェントの構成例を示し、図８Ｂは、そのインテリジェントエージェントの動作に対するシーケンスダイアグラムの例を示す。図８Ａに示すように、インテリジェントエージェント８００は複数のクラスを含むことが望ましい。メインクラスはAICreature(人工知能生物)８０２であり、これは、その状態、性格、目標などのようなインテリジェントエージェントに対する情報を含み、また、位置、色、及び現在見ることができるか否かなどのそのエージェントを視覚的に示す生物のアピアランスに対する情報を含む。
【０１２５】
AICreature８０２は、World(世界)８０４と通信を遂行し、これは、インテリジェントエージェント用仮想環境のための基礎クラスである。また、World８０４は、仮想環境を含むクラスと通信を遂行し、それに対する幾つの非限定的な例を示す。望ましく、World８０４は、WorldObject(世界客体)８０６の多様なインスタンス(instances)と通信を遂行し、WorldObject８０６は、仮想環境で発見される客体を示し、インテリジェントエージェントと相互作用を遂行できる。World８０４は、そのような相互に異なる客体を管理し、また、それらに対する位置などの属性(property)を含む特性(characteristics)に対する情報を受信する。また、World８０４は、自ら大きさ及び可視性(visibility)などの仮想環境の属性を管理する。WorldObject８０６は、２次元または３次元グラフィックまたはそれらが混在したことを任意に利用でき、また、音生成などの移動情報装置の他の機能を任意に利用することもできる。
【０１２６】
WorldObject８０６は、自ら幾つのクラスのうちの１つに属する客体を任意に示すことができる。このような抽象化(abstraction)は、相互に異なる客体クラスが仮想環境に追加されるかそれから除去されることができるようにする。例えば、任意に前記客体は、MenuBallObject(メニューボール客体)８０８によって表現されたように、メニューの一部として開始されることができる“ボール”になることができ、そのボールを有して遊ぶために生物によって“除去”されることができる。望ましく、GoodAnimalObject(よい動物客体)８１０もWorldObject８０６と通信を遂行し、そして、望ましく、(生物のための食べ物を示す)FoodObject(食べ物客体)８１２と、(生物を腹を立たせて、例えば、けんかをさせられる動物を示す)BadAnimalObject(悪い動物客体)８１４と、(その生物のための家)HouseObjct(家客体)８１６などのクラスはGoodAnimalObject８１０と通信を遂行する。GoodAnimalObject８１０は、スクリーン上の客体などを描くことができる機能を含み、このために、望ましく、他のクラス及び客体がGoodAnimalObject８１０と通信を遂行する。もちろん、例えば、その生物に他のオモチャ(toy)が提供されることができるので、このシステムでは、他の多いクラス及び客体が可能である。
【０１２７】
任意にそして望ましく、WorldObject８０６は、例えば、その状態に等級化された入力(graded input)を提供することにより、インテリジェントエージェントの状態と関連することもできる。望ましく、この入力は、インテリジェントエージェントにインセンティブを提供するかまたは行動抑制要因を提供する意味で等級化され、また、それは、中性的な影響(neutral influence)を与えることもできる。望ましく、そのような等級化された複数の入力を集計(aggregation)することによってインテリジェントエージェントの状態が決定される。図８Ａのシーケンスダイアグラムと図９Ａ及び図９Ｂのそれぞれのグラフ探索方法及び行為選択方法ダイアグラムを参考して記述されたように、望ましく、仮想環境からインテリジェントエージェントに与えられる補償を最大にするために等級化された入力が集計される。
【０１２８】
そのような等級化された入力は、奨励または妨害フィードバック(encouraging or discouraging feedback)形態の使用者からの入力を任意に含むこともできるので、インテリジェントエージェントは、フィードバックが提供された行動を継続することに対するインセンティブまたは行動抑制要因をそれぞれ有するようになる。使用者からのフィードバックに対する世界状態の計算を、任意にそして望ましく、次のように遂行することができる。
【０１２９】
Grade=(weighting_factor*feedback_reward)+((1-weighting_factor)*world_reward))
【０１３０】
この式において、feedback_reward(フィードバック_補償)は、使用者によって提供されたフィードバックによるものであり、world_reward(世界_補償)は、前記のような仮想環境からの集計された総補償であり、weighting_factor(加重_因数)は、望ましくそして任意に、０と１との間の値で仮想環境(世界)フィードバックと反対される使用者フィードバックの加重値(weight)を示すものである。
【０１３１】
エージェント行動の補償に対する非限定的な例であって、エージェントの提案に対する肯定的または否定的フィードバック、エージェントにボールまたは食べ物のようなWorldObject(世界客体)の提供、電話使用時間、使用者が教育を受ける時間などを挙げることができる。この例において、それぞれ所定のスコアが与えられることができ、蓄積されたスコアに従ってエージェントの行動を拡張しまたは制限できる。例えば、使用者の肯定的なフィードバックは＋１点、否定的なフィードバックは−１点、敵(enemy or bad animal)及び遭遇(encounter)は−２０点、食べ物、オモチャ、または家の客体(object)の獲得は＋５点、バッテリロー(low)のアラムは−1点、エージェントの使用者に対する教育において、正答は＋１点、誤答は−１点、アクションなし(no action)の状態が２０分持続されると−1点、誤った電話は−１点、ＳＭＳ使用は＋１点などで定めることができるが、以上の例は異なって適用することができる。
【０１３２】
図８Ｂは、本発明のインテリジェントエージェントと仮想世界との間の一連の相互作用の例を示す典型的なシーケンスダイアグラムである。このシーケンスは、インテリジェントエージェントの状態(status)に対する更新のために仮想世界モジュール８１８からAICreature８１２への要請で始まる。仮想世界モジュール８１８は、自らインテリジェントエージェントを含んで全体の仮想環境の制御及び管理を遂行する。
【０１３３】
そして、インテリジェントエージェントは、矢印１．１．１で示すように、行為を遂行するか否かを考慮する。その行為は、望ましく、世界８０４及び世界客体８０６と相互作用を行うことによって、すべての世界客体を通じて、続いて循環的(recursive)に各客体のためのすべての行為を通じて探索(矢印１．１．１．１)を通じて選択される。各行為に対する潜在的な補償が求められ(矢印１．１．１．１．１．１)、等級化される(矢印１．１．１．１．１．１．２)。最高の補償値を有する行為が選択される。その後に、インテリジェントエージェントのための全体的な等級が決定され、AICreature８０２は、選択された行為を遂行する。
【０１３４】
続いて、Virtual_world(仮想_世界)８１８は、World８０４及びWorldObject８０６と通信を遂行することにより世界の内のすべての客体の位置及び状態を更新する。
【０１３５】
多様な潜在的な行為に対する検索が１個以上の複数の相互に異なる方法に従って任意に遂行されることができる。図９Ａ及び図９Ｂは、本発明による行為を選択するための２個の典型的な方法を示す。
【０１３６】
図９Ａは、行為を選択するための規則基盤方式という行為選択方法の例を示す。ステップ１において、仮想環境の状態(status)がWorld state(世界状態)によって決定される。World Event(世界イベント)が発生した後に、そのイベントに適切なState Handler(状態ハンドラ)がステップ２で呼び出される。状態ハンドラは、ステップ３で知識ベースに問合せを行う。任意に、この知識ベースは、呼び出された状態ハンドラに従って別個のセクション及び／または別個の知識ベースに分割されることができる。ステップ４で、応答が状態ハンドラに伝達される。
【０１３７】
ステップ５で、規則基盤の有効性の判断(validation)が遂行され、このとき、前記応答(とそれによるインテリジェントエージェントを特定の状態になるようにする提案された行為)がその規則と比較される。その行為が有効でなければ、処理はステップ１に復帰される。行為が有効であれば、ステップ６でその行為が生成される。その後にその行為に対する優先順位(以後、図９Ｃを参考にしてさらに詳細に説明する。)がステップ７で望ましく決定され、より望ましくは、その優先順位は複数の入力に従って決定され、その入力には、行為確率(probability)、行為ユーティリティ及び使用者の性向(user preference)が含まれ、これに限定されることではない。ステップ８で、その行為は、行為管理者のためにキュー(待機行列)(queue)に配置される。ステップ９で、行為管理者は最高の優先順位行為を読み出し、その読み出された行為は、ステップ１０で、インテリジェントエージェントによって遂行される。
【０１３８】
図９Ｂは、グラフ探索方法による典型的な行為選択方法を示す。さらに、ステップ１で、世界の状態(仮想環境)を決定することにより、プロセスが開始され、世界の状態には、その世界の内にある客体の状態及びインテリジェントエージェントの状態が含まれる。ステップ２で、インテリジェントエージェントが照会(query)される。ステップ３で、インテリジェントエージェントは、各世界の客体のための一連の(許容されたまたは可能な)法的行為を得るようになり、望ましく、各世界の客体が示すように照会される。
【０１３９】
前記方法は、２つの部分に分岐される。一番目の部分では、右側に示すように、各行為経路(action path)のために遂行される。ステップ４で、遂行される行為が模擬(simulated)される。ステップ５で、そのシミュレーションの効果(effect)がその世界のために決定され、ステップ６で、望ましく各世界の客体のために決定される。ステップ７で、各行為の効果のために等級が決定される。
【０１４０】
ステップ８で、行為の全体的に蓄積された補償のように、客体の状態及びそれによる世界の状態が決定される。ステップ９で、行為の効果がインテリジェントエージェントに対して模擬され、望ましく、ステップ１０で、各世界の客体とインテリジェントエージェントとの間の効果も考慮される。
【０１４１】
まず、前記方法の左側の部分に対して説明すると、ステップ１１で、望ましく、このような情報がすべて最高補償を有する行為経路を決定するのに利用される。ステップ１２で行為が生成される。ステップ１３で、望ましく、行為等級または補償に従って行為優先順位が設定される。ステップ１４で、図９Ａの場合のように、行為は、行為管理者でキューに配置される。ステップ１５で、その行為が優先順位に従って行為管理者によって考慮され、優先順位が一番高い行為が選択されてステップ１６で望ましく遂行される。
【０１４２】
次に、典型的な行為実行方法及び構造に対して説明する。図１０は、本発明による典型的な行為実行方法のシーケンスダイアグラムを示す。ハンドラ１０００は、矢印１で示すように、行為モジュール１００２に行為のための目標(goal)を伝送し、モジュール１００２は、ベース行為インターフェースを特徴とすることが望ましい。このベース行為インターフェースは、行為モジュール１００２がハンドラ１０００と通信を行うようにし、また、システムの他の客体と通信を遂行できるようにし、ここで、これらは、FloatingAgentApp(フローティングエージェントアプリケーション)１００６で示したインテリジェントエージェントによる追って実行のために行為を生成して配置(post)することが可能である。これらの行為は、行為管理者１００４によって管理される。
【０１４３】
行為管理者１００４は、行為客体を含む２個のキューを有している。そのうち、１つのキューは、実行準備完了状態キュー(ready for execution queue)であり、他の１つは、実行保留状態キュー(pending for execution queue)である。二番目(後者)のキューは、例えば、行為が生成されたときに使用されることができる。しかし、その行為の内部の状態は、保留状態であるので、その行為は、実行のために準備されない状態である。その行為が実行準備を完了させるように成熟すると、その行為は、前記実行準備完了状態キューに移動されることが望ましい。
【０１４４】
アプリケーション管理者１００８は、矢印２で示すように、行為を実行するためにFloatingAgentApp１００６と相互作用を行うことが望ましい。その後に、FloatingAgentApp１００６は、行為管理者１００４に次の行為を要求することが望ましく(矢印２．１)、その行為の自体は、行為モジュール１００２によって提供されることが望ましい(矢印２．２．１)。望ましく、行為は、ハンドラ１０００から行為管理者１００４への待機状態(enqueued)になる(矢印３)。望ましく、目標(goal)(及びそれによる優先順位の少なくとも一部分)は、ハンドラ１０００と行為モジュール１００２との間の通信によって各行為のために設定される(矢印４)。矢印５及び矢印６は、下記にさらに詳細に説明する“harakiri()”方法を示している。
【０１４５】
前述したように、その行為は、優先順位の手順に従って待機状態(queued)になることが望ましい。優先順位は、行為管理者１００４によって行為モジュール１００２のインターフェースに対する照会を通じて決定されることが望ましい。望ましく、行為の優先順位は、複数のパラメータを含む計算に従って決定される。例えば、望ましく、このパラメータには、前記生成される客体によって導出されるかまたは推論されたものとしての優先順位を含み、より望ましく、これは、行為の成功のための予測された確率(predicted probability)と、そのようなタイプの行為による過去の経験に従って(例えば、使用者の需要及び行為の成功に従って)決定されることが望ましい、そのようなタイプの行為の持続的な優先順位(persistent priority)と、使用者の性向(user preferences)に従って決定されることが望ましい目標優先順位(goal priority)などに基づいている。
【０１４６】
前記パラメータを管理するための１つの任意の計算は、次のようである。
【０１４７】
P(all) = P(action probability) * ((P(persistent priority) + P(action goal)/10))/2)
【０１４８】
優先権(優先順位)に基づいた行為実行に対する補完であって、各行為は、生存時間(Time To Live(ttl))という期間を参照可能(referable)に有し、この値ｔｔｌは、行為が前記準備完了状態キューに配置されたときとこの行為の終了時間の間に経過した実行時間の量を示す。行為が準備完了状態にあるが、このｔｔｌが終了されるときまで実行優先権(priority)を受信しない場合に、行為管理者１００４は、前記方法harakiri()を呼び出すことが望ましく、これは、その行為にそれが実行されないことを通知する。そのようなharakiri()の呼出しは、それぞれ基準値(threshold)に到達するときまで行為の優先順位を減少させることが望ましい。この基準値に到達された後には、持続的な優先順位が増加し始める。このようなモデルは、提案または実行が遂行されるが、使用者がその行為を中断して失敗された行為を処理するように動作する。前記持続的な優先順位は、行為優先順位の計算に過去経験を含ませることによって減少する。
【０１４９】
このような方法は、提案されるかまたは実行された行為が実行のときに特定の使用者の非明示的な性向にどのような方式にて適応されるかを示している。
【０１５０】
行為の持続的な優先順位が減少してその行為が動作しない場合に、例えば、使用者が変更を優先すると、それが除去されるかまたは(その他に可能には)、さらに動作することが許容される必要があるので、このようなモデルは、harakiri()メカニズムがなければ完全ではない。harakiri()の幾つの実行の以後に、その行為が動作するための優先順位をさらに回復することができる。
【０１５１】
前述したセクション(Sections)では、多様な行為及びメカニズムが本発明の適応型システムを通じて実行されることができるようにする基盤構造を提示している。これらの行為及びメカニズムに対して下記にさらに詳細に説明する。
【０１５２】
例３：インテリジェントエージェント用進化システム
この例では、本発明による進化システムの望ましい実施形態に対して説明しており、ここには、本発明の望ましい実施形態による生物またはアバターのためのＤＮＡ(deoxyribonucleic acid)に対する説明と、本発明による任意の(optional)遺伝子スタジオに対する説明が含まれ、これらに限定されることではない。任意にそして望ましく、そのような進化システムは、生物またはアバターが“進化(evolve)”できるように、すなわち、その生物の行動及び／またはアピアランスの少なくとも一側面を変更できるようにする。この例では、例２で記述されたインテリジェントエージェントとともに任意にそして望ましく動作するもので記述されているが、このような説明は、ただ例示に過ぎなく、何の方式にも限定しようとする意図はない。すなわち、この例で説明するインテリジェントエージェント用進化システムが前述した学習モジュール及び行為選択システムとともに使用されると、使用者の行動を要求せず、使用者の好みを決定して能動的に進化できるシステムを具現できるが、かならずともに使用されなければならないものではない。
【０１５３】
インテリジェントエージェントの進化(変化)に対しては、アバターまたは生物によって表示されるそのエージェントの有形(tangible)の特徴とそのアバターまたは生物の行動に影響を与えるそのエージェントの無形の特徴の両方ともに関連して説明されている。
【０１５４】
図１１Ａは、典型的な進化(evolution)クラスダイアグラム１８００を示す。このクラスダイアグラムで記述されている遺伝的なモデル(genetic model)は、インテリジェントエージェントの機能的な性質だけではなく、視覚的性質を含んだインテリジェントエージェントの多様な性質が変更されることができるようにする。そのようなモデルには、ＤＮＡ構造を表現するCreatureDNAクラス１８０２が含まれる。このＤＮＡ構造は、利用可能な遺伝子でなされるベクトルであり、新たな遺伝子を含ませるように望ましく拡張されることができる。遺伝子(gene)は、所定のタイプ範囲の可能な値(すなわち、遺伝子型(genotype))を有するパラメータである。遺伝子は、本発明によるシステムによって解釈(interpret)されてその遺伝子内のデータの表現(expression)がその遺伝子型になる。例えば、頭(head)の遺伝子は、ＤＮＡの一番目の遺伝子として位置し、その値は、その生物の頭の視覚的な構造で表現される。しかし、頭の色は、他の遺伝子に符号化(encoded)されることが望ましい。
【０１５５】
インテリジェントエージェントを進化させて使用者を喜ばせる特定のＤＮＡインスタンスを獲得するために、本発明による遺伝的なモデルは、ＤＮＡを変更するハイブリッド及びミューテーションの遺伝的な動作(hybrid and mutate genetic operations)を望ましく具現する。 CreatureProxyクラス１８０４は、前記システムのための遺伝的な動作に、また、ＤＮＡにインターフェースを提供する機能を行う。また、CreatureProxy１８０４は、インテリジェントエージェントに対する他の非遺伝的な(non-genetic)情報(すなわち、名前、誕生日など)を望ましく保有する。
【０１５６】
望ましく、EvolutionMGRクラス１８０６は、インテリジェントエージェントの進化を管理し、インテリジェントエージェントのCreatureProxy１８０４にインターフェースを提供し、その遺伝的な動作をアプリケーションに提供する。
【０１５７】
EvolutionEngine(進化エンジン)クラス１８０８は、所定の遺伝的な動作が発生してインテリジェントエージェントＤＮＡに対して行われなければならないことを指示するために、時々に生成されることができる進化イベントに注意を注ぐ。そのＤＮＡ構造は、次のように与えられる。
【０１５８】
望ましく、CreatureDNA１８０２は、EvolutionEvent１８１０からそのような進化イベントに注意を注ぐ。
【０１５９】
【表１Ａ】
2005100390.tif 000003
【０１６０】
【表１Ｂ】
2005100390.tif 000004
【０１６１】
【表１Ｃ】
2005100390.tif 000005
【０１６２】
インテリジェントエージェントのＤＮＡ構成は、望ましく次のように行われる。生存型移動電話(living mobile phone)のバージョンを提供すると、ＤＮＡは、インテリジェントエージェントの各構成要素(Building Block)のためのジーン(Gene)から望ましく構成される。任意に、その構成要素は、そのインテリジェントエージェントの視覚的な部分であることができ、ここには、色またはスケール(その構成要素の大きさ)が望ましく含まれ、また、インテリジェントエージェントの機能及び行動と関連した非視覚的な性質も望ましく含まれる。ＤＮＡ構成のこのようなモデルは、さらい多い構成要素が追加されることができ、各構成要素の発現水準が増加することができるので拡張されることができる。
【０１６３】
ＤＮＡ構造からインテリジェントエージェントを構成することは、各遺伝子とその値と関連して行われることが望ましい。各遺伝子(building block)の値(発現水準)は、構成されたエージェントで表現された異なる遺伝子型を説明する。視覚的エージェントの基礎構成要素(basic building blocks)は原型(prototypes)としてモデル化され、従って、原型の量は、各視覚的な遺伝子の範囲を決定する(dictate)ようになる。また、実行中に原型に依存しない発現遺伝子の値を生成でき、例えば、色の遺伝子の発現水準は、ホストプラットフォームの色テーブルでのインデックスとして演算されることができるが、またはスケールもホストスクリーンの大きさに対して演算されることができるので、予め決定されている原型から独立的な遺伝子型を得ることができる。その原型モデルは、望ましく分解(decomposed)され、継続して、非原型エージェント(non-prototype agent)は、各構成要素の遺伝子の値に従って望ましく再構成(recomposed)される。
【０１６４】
次に説明する例は、このような過程に対する例示的であり非限定的な説明を提供する。単純化及び明確化のために、色、スケール、及び他の非視覚的な遺伝子が含まれておらず、このような遺伝子にも同一の過程が適用される。
【０１６５】
性別遺伝子を考慮しない場合に、ＤＮＡの１６個の原型及び５個の構成要素のバージョンが次のように任意に与えられることができる。
【０１６６】
DNA０＝{[head,0:15]、[body,0:15]、[legs, 0:15]、[hands,0:15]、[tail, 0:15]}
【０１６７】
５個の構成要素は、それぞれ原型モデルの個数から導出された構成要素の遺伝子の値に従って１６個の相互に異なる可能な遺伝子型を有している。インテリジェントエージェントを構成するときに、その各遺伝子の値であるＤＮＡ内の構成要素の値に従って右側の構成要素が取られる。
【０１６８】
例えば、前述したＤＮＡ方式の特定のインスタンスは、次のようである。
【０１６９】
DNA = {[3],[5],[10],[13],[0]} 
【０１７０】
このような簡単なＤＮＡバージョンにおける可能なインテリジェントエージェント構成の多様度(variety)は、次のようである。
【０１７１】
V0 = (16) * (16) * (16) * (16) * (16) = (16)5 = 1048576
【０１７２】
インテリジェントエージェントの一般的な色を説明するための基本色の遺伝子(すなわち、緑色、青色など)が追加されると、可能な１６個の基本色の発現水準を有する場合に、次のような多様度が得られる。
【０１７３】
DNA１ = 
{[head,0:15]、[body,0:15]、[legs, 0:15]、[hands,0:15]、[tail, 0:15]、[bs_color,0:15]}
【０１７４】
そうすると、多様度は次のようになる。
【０１７５】
V1 = V0 * 16 = (16)6 = 16777216
【０１７６】
基本色(すなわち、明色から暗色まで)の遺伝子のための強度遺伝子(intensity gene)がこのＤＮＡバージョンに追加されると、基本色の可能な１６個の強度の発現水準を有する場合に、次のような多様度が望ましく得られる。
【０１７７】
DNA２ = 
{[head,0:15]、[body,0:15]、[legs, 0:15]、[hands,0:15]、[tail,0:15]、[bs_color,0:15]、[intensity,0:15]}
【０１７８】
この場合、多様度の計算は次のようである。
【０１７９】
V２ = V１ * 16 = (16)７ = 268435456
【０１８０】
前記のように、本発明は、エージェントの多様な組合せ型を表現できるが、そのそれぞれの完成された組合せ型に対する情報を貯蔵することではない。本発明は、組合せ型をなす構成要素に対する情報及び構成要素の組合せ方法に対する情報のみで、前記のようなエージェントの多様な組合せ型を作ることができる。このような点は、エージェントが携帯型演算装置に使用される場合に、組合せ方法の多様性のためにそれぞれの演算装置の使用者が事実上固有な形態のエージェントを保有できるようにする。
【０１８１】
一方、他の実施形態で前記ＤＮＡの１６-原型及び５-構成要素バージョンが次のように任意に与えられることができる。
【０１８２】
DNA０ = {[head０,0:15]、[body０,0:15]、[legs０,0:15]、[hands０,0:15]、[tail０,0:15]}:0<Tg<Tthであるとき、
DNA１ = {[head１,0:15]、[body１,0:15]、[legs１,0:15]、[hands１,0:15]、[tail１,0:15]}:Tg≧Tthであるとき、
【０１８３】
ここで、Tgは、エージェントが成長した時間であり、Tthは、しきい時間である。
【０１８４】
この例において、望ましく、しきい時間Tthは、二週で定められることができるが、これとは異なり定めてもいい。Tgは、エージェントが成長した時間であるが、演算装置の使用者がエージェントの使用を最初に開始するかまたはリセットしたときから現在にいたる時間を意味する。このような場合に、DNA０の発現形質は、エージェントが成長した時間が二週以内の場合には、一番目の構成要素の組み合せで選択される反面に、DNA１の発現形質は、エージェントが成長した時間が二週以上の場合には、二番目の構成要素の組み合せで選択されるようにできる。一番目の構成要素の組み合せは、より幼いエージェントのアピアランスを示し、二番目の構成要素の組み合せは、より成長したエージェントのアピアランスを示すようにすれば、同一の遺伝子を有するエージェントが時間の経過によって自動に成長するアピアランスを具現することができる。エージェントの最初使用が開始された後に、エージェントの成長は、時間の経過のみで自動になされる。２つのしきい時間が定められる場合に、エージェントの成長段階は３ステップになり、それ以上の個数のしきい時間が定められることもできる。
【０１８５】
ミューテーションシーケンスダイアグラム及びハイブリッド化(hybridization)シーケンスダイアグラムをそれぞれ示している図１１Ｂ及び図１１Ｃを参照して説明したように、多様な遺伝的な動作(genetic operations)がＤＮＡの上で任意に遂行されることができる。
【０１８６】
図１１Ｂに示すように、ミューテーションされることができる遺伝子セット(任意に全体ＤＮＡであることができる。)から所定の遺伝子が基本ミューテーションの動作によってランダムに選択され、その遺伝子の可能な範囲(発現水準)の内で選択された遺伝子の値が変更される。その基本動作は、複数回任意に遂行されることができる。
【０１８７】
ミューテーションアプリケーション１８１２は、ミュータント(mutant)を生成せよとの要請をEvolutionMGR(進化ＭＧＲ)１８０６(矢印１．１)に伝送する(矢印１．１)。EvolutionMGRクラス１８０６は、任意に複数のミュータントのために、この要請をCreatureProxy(生物プロクシ)１８０４に伝達する(この値は、関数呼出し(function call)において与えられることができる(矢印１．１．１))。このようなミュータントのそれぞれに対して、CreatureProxy１８０４は、ランダム遺伝子を望ましく選択し(矢印１．１．１．１．１)、これを前記遺伝子の範囲の内にやはり存在する値に変更する(矢印１．１．１．１．２)。このミュータントは、ミューテーションアプリケーション１８１２にさらに伝達され、望ましく使用者に表示され、これについては、下記例４でさらに詳細に説明する。
【０１８８】
使用者がミュータントを承認すると、ミューテーションアプリケーション１８１２は、そのエージェントの既存の具現体(existing implementation)をその新たなミュータント(矢印２．１)に置き換えろとの命令をEvolutionMGR１８０６に伝送する。そうすると、EvolutionMGR１８０６は、CreatureProxy１８０４でのその生物のためのＤＮＡを設定し(矢印２．１．１)、続いて、CreatureProxy１８０４は、Agent_history(エージェント_ヒストリー)１８１４でのそのエージェントのヒストリーを望ましく更新する(２．１．１．１)。
【０１８９】
図１１Ｃは、２個の候補ＤＮＡが相互に配列されるとき発生する基本ハイブリッド動作(basis hybrid operation)(または交差動作(cross-over operation))のための典型的なシーケンスダイアグラムを示す。２個の候補ＤＮＡは、インテリジェントエージェントシステムからすべて得ることもでき、２個の候補ＤＮＡのうちの１個の候補ＤＮＡを他の移動情報装置のためのインテリジェントエージェントシステムから得ることもできる。例えば、後述する例５でのネットワーク型移動情報装置のためのインテリジェントエージェントの場合には、２個の候補ＤＮＡのうちの１個の候補ＤＮＡは、ＳＭＳを通じて使用者２の第２の移動情報装置のインテリジェントエージェントから得ることができる。
【０１９０】
性別遺伝子を考慮する場合に、前述したＤＮＡは、下記のように表現されることができる。
【０１９１】
DNA０ = {[gender,0:1]、[head,0:15]、[body,0:15]、[legs,0:15]、[hands,0:15] [tail,0:15]}
【０１９２】
性別遺伝子は、ハイブリッド動作を許容するか否かを決定する。望ましくは、性別遺伝子が相異なる場合にのみハイブリッド動作を許容するが、性別遺伝子を考慮しない場合には、どんな場合でもハイブリッド動作を許容するようにできる。ハイブリッド動作のために、各ＤＮＡの上に位置する１個以上の交差ポイントが望ましく選択される(交差ポイントの個数は、１からＤＮＡの内の遺伝子の個数まで変更されることができ、任意に、この個数はランダムに選択されることができる。)。交差ポイントを選択する動作はget_cut_indexであると呼ばれる。各交差ポイントで、ＤＮＡのための値が既存のＤＮＡの値のうちの１つから選択される。任意に、これは、cutting_indexであると呼ばれるカウントに従ってランダムに行われることができる。性別遺伝子のハイブリッド動作は、２個の遺伝子のうちのいずれか１つを任意に選択する方法にて行われる。その結果、前記２個の候補ＤＮＡが相互に混合される。任意に、このような基本ハイブリッド動作は、複数の候補を利用して数回にわたって遂行されることができる。
【０１９３】
示すように、HybridApp１８１６は、ハイブリダイゼーション(Hybridization)過程を開始せよとのコマンドをEvolutionMGR１８０６に伝送する。任意に、このハイブリダイゼーション過程は、使用者がそのハイブリッドエージェントを承認するかまたはその過程を中断するときまで遂行される。EvolutionMGR１８０６は、遂行される複数の交差(ハイブリッド化)を利用して、CreatureMGR１８０６からターゲットＤＮＡ(矢印２．１．１)を獲得せよとの命令を伝送することによりハイブリッド化を開始させる。示すように、cutting_indexは、前記２個のＤＮＡの値の間の交差を何時行うものであるかを指示するように保持される。
【０１９４】
前記ハイブリッドエージェントは、復帰(return)され、使用者が同意すれば、現在エージェントは、ミュータント過程に関連して、前述したように、そのハイブリッドエージェントに置き換えられる。結果的に、agent_history１８１４でのそのエージェントのヒストリーが望ましく更新される。
【０１９５】
任意にそして望ましく、ハイブリッド化は、赤外線、ブルートース(BlueTooth)またはインターネットを通じて、例えば、ＳＭＳメッセージにある、移動情報装置の外部にあるソースまたはそれ以外の任意のソースから伝送されたエージェントＤＮＡを利用して遂行されることができる。ただ説明するための目的で限定しようとする意図なく、ＳＭＳメッセージを通じてこのハイブリッドＤＮＡを受信するものと関連してこのような過程を例示する。ＳＭＳメッセージは、ＭＩＭＥタイプのＤＮＡのためのデータを望ましく含んでいる。より望ましくは、本発明のシステムは、ＭＩＭＥタイプのためのフックを有しているので、このようなタイプのＳＭＳメッセージが使用者による手動調停(manual intervention)を要求することなく、ハイブリッド化のために自動に望ましくパーシングされる。
【０１９６】
図１２は、このような過程の典型的なシーケンスダイアグラムを示している。示すように、使用者１は、ハンドセット１を通じて使用者１のインテリジェントエージェントを使用者２のインテリジェントエージェントとのハイブリッド化を行えとの要請を伝送する。使用者２は、ハンドセット２を通じてその要請を任意に承認するかまたは拒絶できる。使用者２が承認すれば、ハンドセット１の上で両方のエージェントからのＤＮＡの間でハイブリッド処理が遂行される。この結果が要請した側(使用者１)に任意に表示され、この要請側は、このハイブリッドを現在エージェントに置き換えることによって貯蔵することができる。このハイブリッドが置き換えるものとして使用されると、使用者２は、ハンドセット２の上でハイブリッド結果情報収集部(hybrid results collection)にそのハイブリッドに対することを貯蔵する。
【０１９７】
例４：本発明と使用者の相互作用(USER INTERACTIONS WITH THE PRESENT INVENTION)
この例は、使用者と相互作用を行う本発明によるシステムの任意のしかし望ましい実施形態を説明するためのもので、代表的であり、非限定的であり、例示的な複数のスクリーンショット(screenshots)を参照して説明する。
【０１９８】
図１３は、生物またはアバター(インテリジェントエージェントの視覚的な表現)である“フローティングエージェント”の典型的なスクリーンショットを示す。図１４は、インテリジェントエージェントの仮想世界のための客体を選択するためのメニューの典型的なスクリーンショットを示す。
【０１９９】
図１５Ａは、使用者のオプション(preferences)だけではなく、使用者がエージェント設定の構成及び変更を遂行できるようにする開始ウィザードアプリケーション(Start Wizard application)を示す。
【０２００】
図１５Ｂ乃至図１５Ｆは、開始ウィザードの駆動の後にエージェントの最初設定画面を示す。図１５Ｂは、エージェントの形態選択画面を示し、図１５Ｃは、エージェントの色合い選択画面を示し、図１５Ｄは、エージェントの名前設定画面を示し、図１５Ｅは、エージェントの性格選択画面を示し、図１５Ｆは、エージェントの設定完了案内画面を示す。
【０２０１】
前記ウィザードで遂行される行為の例として、インテリジェントエージェントの感情型システムのための設定の決定、すなわち、“個性決定(Set Personality)”を挙げることができる。このとき、使用者は、生物の個性及び傾向を構成することができる。
【０２０２】
使用者は、熱意(Enthusiasm)、社交性(Sociability)、非社交的な行動(Anti_social behavior)、性質(Temper)(忍耐の水準)、憂うつ(Melancholy)、利己的な行動などの多様な性格(characteristics)の水準を増加させ、その反対を行って、その水準を減少させるために、右側矢印キーを押してその生物の設定を任意にそして望ましく決定することができる。
【０２０３】
使用者は、例えば、手助けをどれくらい速く受けることができるのかを決定するために、使用者のオプションを望ましく設定できる。これらオプションのうちの幾つの非限定的な例には、通信(そのエージェントが通信する程度)、entertain_user(使用者を_楽しませる)(使用者と遊ぶエージェントを制御)、entertain_self(自分を_楽しませる)(一人で遊ぶエージェントを制御)、preserve_battery(バッテリー_保存)(バッテリー寿命延長)、及びtransparency_level(透明度_水準)(生物の透明度水準)などが含まれる。
【０２０４】
また、使用者は、その開始ウィザードで使用者の身の上情報(User Details)を望ましく設定し、その使用者の身の上情報には、使用者の名前、誕生日、及び性別(gender)などが含まれ、これらに限定されることではない。本発明の任意の実施形態によれば、前記誕生日の値は、使用者間の相性可能性(konghup possibility(Korean“konghup”means marital harmony as predicted by a fortuneteller；韓国語の“クンハップ”とは、占い師が予言した琴瑟を意味する。)；ここでは、相性可能性が対人関係によい占星術パターン(favorable astrology pattern)で定義されることができるのであろう。)を有するハイブリッド(hybrid)を生成できる能力を意味するもので、相性オプション(konghup option)は、日付及び星占い(horoscopes)に対する適切なテーブルに従って構成される。)を決定するので、ハイブリッドＳＭＳにおいて重要である。
【０２０５】
また、使用者は、生物の身の上情報(Creature Details)も望ましく設定することができる。
【０２０６】
図１６は、前記のようなハイブリッドアプリケーションを通じてハイブリッド化を遂行するための典型的なメニューを示す。
【０２０７】
図１７Ａは、使用者が生物をランダムに生成できるようにする“生成(Generate)”ボタンを押すことにより、新たな生物を見るための(また、任意にさらに生成するための)典型的なスクリーンショットを示す。図１７Ｂは、“ハイブリッド(Hybrid)”ボタンを押して得られた画面出力上の生物を示すもので、そのボタンを押すと使用者の生物選択を確定し、生物のプレビューウィンドーに移動するようになる。
【０２０８】
使用者は、このプレビューウィンドーによって新たに生成された生物を３次元に見ることができ、任意に次のようなオプションを使用してその生物をアニメーションさせる(animate)。
【０２０９】
１． 上方向キー(Navigation UP key)：ズームイン(Zoom In)し、生物の大きさを最小化させること。
２． 下方向キー(Navigation DOWN key)：ズームアウト(Zoom Out)し、生物の大きさを最大化させること。
３． 左方向キー(Navigation LEFT key)：“確認(OK)”ボタンと“バック(Back)”ボタンとの間の転換。
４． 右方向キー(Navigation RIGHT key)：“確認”ボタンと“バック”ボタンとの間の転換。
５． 確認キー(OK)：選択を確認すること。
６． 削除キー(CLR)：生物のプレビューウィンドーで生存型移動電話メニュー(Living Mobile Menu)に出ること。
７． 終了キー(End)：生物のプレビューウィンドーでメインメニューに出ること。
８． ‘０’キー：生物に対して明るくし、そして、暗くする動作を遂行すること。
９． ‘１’キー：時計方向に生物を左側に回転させること。
１０． ‘２’キー: 生物を３次元に回転させること。
１１． ‘３’キー: 反時計方向に生物を右側に回転させること。
１２． ‘５’キー: 生物を３次元に回転させること。
１３． ‘６’キー: 生物に多様な方式にて動作を与えること。このキーを押す度にアニメーションタイプ(animation type)が変わること。
【０２１０】
前記生物が行えるアニメーションタイプには、歩き(walking)、座り(sitting)、匂い嗅ぎ(smelling)、飛び(flying)、及び跳び(jumping)などが任意に含まれ、これらに限定されることではない。
【０２１１】
図１８は、使用者がその世代(generations)での動物の変化に対するヒストリーを調べてみて検査できるようにするハイブリッドヒストリーの典型的なスクリーンショットを示す。使用者は、現在の生物と母体(parents)を望ましく見ることができ、また、任意にその母体の母体も見ることができる。望ましく、すべての生物に対して多くとも２個の母体が存在することができる。一方、このようなスクリーンショットの例で、ＤＮＡ１からＤＮＡ１と異なる現在ＤＮＡが生成されたら、これは、ミューテーションが発生したことを表現するもので定められることができる。
【０２１２】
図１９は、現在生物のＤＮＡシーケンスを有している遺伝子スタジオの典型的なスクリーンショットを示す。また、この遺伝子スタジオは、使用者がエージェントのＤＮＡシーケンスの変更及び修正を行えるようにする機会を望ましく提供する。望ましく、遺伝子スタジオに表示されるエージェントＤＮＡシーケンスは、Ａ、Ｇ、Ｃ、及びＴの４つの英文字の配列で構成される。本来、これら英文字は、生物学的なＤＮＡを構成する塩基の種類を示すが、本発明では、使用者がエージェントＤＮＡにさらになじむことができるようにするために、これら英文字を使用する。本発明において、これら英文字は、一種の４進法に必要な数字に対応する。例えば、Ａ＝０、Ｇ＝１、Ｃ＝２、Ｔ＝３に対応すると、ＡＡ＝０、ＡＧ＝１、．．．、ＴＴ＝１５を示す。前記例３において、エージェントの１種類の構成要素に対して２個の英文字でなされたＤＮＡシーケンスを有する場合であれば、１種類の構成要素に対して４×４＝１６種類の遺伝子型が表現される。従って、エージェントの構成要素が５種類であれば、そのエージェントは、２×５＝１０個の英文字でなされたＤＮＡシーケンスで定義することができ、エージェントの相互に異なる組合せの場合の数は、１６の５乗の種類である。エージェントの構成要素が１０個であり、１種類の構成要素に対して、４個の英文字でなされたＤＮＡシーケンスを有する場合であれば、1種類の構成要素に対して、４×４×４×４＝２５６種類の遺伝子型を表現することができ、エージェントを定義するのに必要なＤＮＡシーケンスは、４×１０＝４０個の英文字からなり、エージェントの相互に異なる組合せの場合の数は、２５６の１０乗の種類になる。ただ、本発明の実施形態がこれに限定されるものではない。
【０２１３】
次に、学習モジュール及び行為選択システムと連動する進化型エージェントシステムについて説明する。前述したように、ミューテーション選択の可否またはハイブリッドヒストリーは、エージェントシステムに貯蔵される。学習モジュールは、貯蔵されている資料を通じて使用者が好む傾向を決定することができ、行為選択システムは、進化クラスダイアグラムに使用者が好む傾向の進化イベントを提供することができる。提供された進化イベントの遂行結果に対する使用者の用捨選択を行うか否かは、エージェントシステムに貯蔵されて次の進化イベントの提供のときに反映される。
【０２１４】
例５：ネットワーク型移動情報装置のためのインテリジェントエージェント
このような例は、ネットワーク型移動情報装置(networked mobile information device)(望ましくは携帯電話)に対するインテリジェントエージェントの使用に関する。任意にそして望ましく、インテリジェントエージェントは、使用者との相互作用のためのアバターと、他の移動情報装置のようなネットワーク上の他の構成要素及び／またはネットワーク自体と相互作用を行うエージェントを含む。従って、望ましくは、アバターは、ユーザインターフェース(またはその一部)を形成し、アピアランス(より望ましく３次元の形態)を有するようになる。そのアピアランスは、任意に人間の形をしたアピアランスになることができるが、その代わりに、他のタイプの実際または想像のキャラクタまたは生物に基づいたものであることができる。前記エージェントは、アバターと移動情報装置との間、そして／または、ネットワーク上の他の構成要素との間、そして／または、他の移動情報装置の他のアバターとの間などの通信を処理する。その具現に対して、携帯電話のような移動情報装置を参照して説明されたが、その具現のアバター側(または、エージェントのそれ自体も)は、前記のような適応型システム(例２)及び／またはプロアクティブユーザインターフェース(例１)で任意に具現されることもできることに留意しなければならない。
【０２１５】
本発明のインテリジェントエージェントは、“生存型装置(Living Device)”の概念を適用することにより、向上した感情的な経験を生成することを目標としている。生きているすべての生物は、アピアランス及び行動において唯一であり特別なもので、インテリジェントエージェントの唯一性(uniqueness)に重点をおくことと、また、使用者の生存型装置との相互作用を向上させるための多様なアバターアピアランスなどの多様性を提供することがそのような概念に望ましく含まれる。アバターは、気を引くべき(compelling)画像特性を有しており、これは、適切であり補充的な客体と周辺の環境を任意に有する。
【０２１６】
望ましく、インテリジェントエージェントは、その自尊(self-existence)及び独立的な学習を示す予期せぬ行動でインテリジェント意思決定を表示する。このような独立的な行動は、本発明の重要な特徴のうちの１つとして、いずれのタイプのユーザインターフェースまたは使用者のための相互作用のためにも、また、いずれのタイプを有する演算装置のためにも以前に見られたところがなく、移動情報装置のためのインテリジェントエージェントのために確実に利用されたところがない。さらに、前述したインテリジェントエージェントは、生物のように時間に従って進化して視覚的な変化を表示するようになる。これは、“生存型装置”の一番重要な特性のうちの１つである。
【０２１７】
進化ステップは、驚き及び次の進化ステップの期待に対する使用者からの感情的な反応を引き起こす。
【０２１８】
進化は、時間による生物の時刻的な変化に該当する。時間フレームは、流通中であるミッドレンジ(midrange)の携帯電話の寿命に該当するもので、例えば、一年で任意に設定されることができる。一年の間に、または１分期の間に、進化を通じて周期的な変化が望ましく発生する。進化経路(環境に対する適応)は、自然選択の結果である。また他の選択オプションとして、自動選択のために幾つの機能を開発することによって予め決定される自然選択過程があるが、自然選択は、任意に使用者の中心(user driven)になることができる(すなわち、使用者は、次世代がさらによいか否かを決定する。)。
【０２１９】
インテリジェントエージェントは、相互に異なる実施形態の２つの“世界”(すなわち、電話機の世界及び仮想生物の世界)で機能するために任意に実現されることができる。電話機(移動情報装置)の世界では、インテリジェントエージェントがその電話機の相互に異なる機能を制御して、前述したように、使用者に多様な機能の選択を提案することができる。望ましく、インテリジェントエージェントは、後続するそのエージェントのためにモデルになる１個以上の電話機の使用処理過程に基づいて動作することができる。電話機の世界のまた他の重要な特徴は、画面ブレーキング(screen breaking)のようなグラフィック表現、フリードローイング(free drawing)、あるいは顔(表面)または文字表現(特定の場合に１つまたは２つの関連単語)であることができる感情表現にある。
【０２２０】
仮想世界は、望ましく、画像表示及び活動領域(playground area)であり、これら領域は、アバター以外の客体が挿入されることもでき、アバター学習及びそれらとの相互作用を使用者が観察することもできる。その世界に進入できるこの客体は、任意に予め決定されることができ、その学習過程から発生した可能な相互に異なる行動を有するようになる。任意にそして望ましく、使用者は、補償または行動抑制要因(disincentive)を提供することができ、学習過程の一部になることができる。このような観点で(アバターのアピアランスを通じて)、インテリジェントエージェントは、仮想のペット(pet)または同僚(友達)の１つの形態として任意に行動(例えば、子犬が走る行動、人が笑う行動など)することができる。
【０２２１】
インテリジェントエージェントの幾つの望ましい形態には、３Ｄのグラフィックの基盤構造(アバターのアピアランスに関連した)と、適応型行動及びプロアクティブ行動のすべてを支援する人工知能及び機械学習メカニズムの使用と、ゲーム能力の提供と、移動情報装置の有用性を向上させ、また、特定の使用者の補助を提供する(その使用者を助ける)能力と、ホストプラットホームの抽象化レイヤー(abstraction layer)の提供などが含まれているが、これらに限定されるものではない。これとともに、これら機能は、移動情報装置の上で動作するように、すべてが一般的に定義された複数の人工知能アプリケーションを支援するための安定的であり、注目すべきであり、革新的なコンテンツプラットフォームを提供する。
【０２２２】
また、望ましく、アバターは、多い時刻的な要素を有している。例えば、外郭クリップサイズは、６０×７０ピクセルまで任意になることができ、もちろん、移動情報装置の画面表示の特性に従って異なる解像度が選択されることもできる。望ましく、アバターは、幾つの色を有する３Ｄの多角形の客体として表現され、どんな場合にも、望ましく、影、テクスチャ、及びアニメーション支援などの幾つの色を有する複数の相互に異なる３Ｄの画像特性を有する。このような能力は、移動情報装置に貯蔵されている以前に生成された視覚的構成要素(visual building blocks)を通じて任意に提供されることができる。望ましく、アバターの視覚的なアピアランスは実行のときに構成される。
【０２２３】
アバターは、使用者の性向を考慮して、ランチウィザード(launch wizard)の以後に“生存すること(living)”を任意に開始させることができる(生存型装置に使用者を紹介する。)。進化とともに、アバターは、ミューテーションを示す微小な視覚的な変化を任意に表示することができる(任意のステップ(random step)で幾つのキーバーテキスト(key vertices)の移動／色の変更)。視覚的な進化ステップは、１つの構成要素の追加／置換えを遂行することによって行われることが望ましい。望ましく、アバターは、すべての方向に移動することができ、さらに望ましくは、完全に生き動く３Ｄのキャラクタになることである。
【０２２４】
アバターは、背景において、移動情報装置のユーザインターフェースを有する移動情報装置の上にフローティングされているもののように見えることが望ましく、使用者の要請に従って退場されることもできる。アバターは、現在、使用者の移動情報装置との正常的(normal)な相互作用を利用できるので、使用者による強制的な隠れ／退場を最小化しようとすることが望ましい。
【０２２５】
本発明の任意のしかし望ましい実施形態によると、アバターはより自然的であり、物理的に現実的な(realistic)方式にて、画面上で“移動”するようにプログラムされることができる。例えば、ロボットの移動を制御するための物理的に現実的な行動及び移動を説明しようと試みる多様なアルゴリズム及び変数が利用可能である。このようなアルゴリズム及び変数の例は、“Automatic Generation of Kinematic Models for the Conversion of Human Motion Capture Data into Humanoid Robot Motion”(Ude et al., Proc. First IEEE-RAS Int. Conf. Humanoid Robots (Humanoids 2000), Cambridge, MA, USA, September 2000)に記述されている(この参考文献は、その内容が本明細書に完全に説明されているもののような効果を有するように本明細書とともに提出する。)。この参考文献は、多様な人間動作の撮影技術と、撮影されたデータを人間型ロボット動的変数(kinetic parameters)で自動に翻訳する方法について説明している。この内容を要約すると、人間及びロボット動作がモデルになり、このモデルは、実際に、人間動作データを人間型ロボットの動作を制御するのに利用されることができるデータに翻訳するために利用される。
【０２２６】
このような種類の参考資料は、人間型ロボットの移動のモデルを得る方法に対する情報を提供するので有用である。本発明は、アバター(三次元的に描写された仮想キャラクタ)の実際的な移動に関連するが、それと類似しているモデルを人間型ロボットのためのもので、アバターのために任意に利用されることができる。また、任意に、１つのモデルを動物の移動をモデル化するために構成し、動物または動物形態のアバターのさらに実際的(現実的)な移動を可能に行うこともできる。より一般的に、前記システムは、与えられたどんな３Ｄのキャラクタデータも一般的(generical)に取り扱うことができることが望ましい。
【０２２７】
任意にそして望ましく、これらモデルの変数が進化過程の間に任意に変化されてアバターが動く方式を変更することができるので、アバターの動きが進化されることができるようにするためには、そのモデルを任意にそして望ましく利用することもできる。また、望ましく、このようなモデルは、アバターの非決定的な動きを説明するのに有用であり、さらに、任意に非決定的な動きが進化されることができるようにするのに有用である。このような非決定的な行動も使用者の興味を保持するのに役に立つ。
【０２２８】
アバター及び／またはインテリジェントエージェントのこのような相互に異なる機能を具現するために、図２０乃至図２３を参照して、以下に説明するように、インテリジェントエージェントを任意にそして望ましく構成することができ、このとき、これらの図面は、１つの具現例を示すものに過ぎず、相互に異なる多い具現例が可能であるという点に留意しなければならない。また、インテリジェントエージェントの具現は、さらに例１及び例２で説明した具現例を任意に結合するか、またはそれに依存することができる。
【０２２９】
図２０は、本発明によるインテリジェントエージェントシステム２７００を概略的に示すブロック図である。示すように、第１の使用者２７０２は第１の移動情報装置２７０４を制御し、第１の移動情報装置２７０４は、ただ説明するための目的であるだけ、何の限定する意図もなく、携帯電話として任意に実現されることができる。第２の使用者２７０６は、第２の移動情報装置２７０８を制御する。第１の移動情報装置２７０４及び第２の移動情報装置２７０８は、例えば、メッセージの伝送によってネットワーク２７１０を通じて望ましく通信する。
【０２３０】
望ましく、第１の移動情報装置２７０４及び第２の移動情報装置２７０８は、それぞれの第１の使用者２７０２及び第２の使用者２７０６との相互作用のために、また、他のインテリジェントエージェントとの相互作用のために、インテリジェントエージェントを特徴的な要素として有している。従って、示すように、システム２７００によって、１つのコミューニティをなすこのようなインテリジェントエージェントが相互作用を遂行することができ、そして／または、例えば、ネットワーク２７１０を通じてそれぞれの使用者のための情報を獲得することができる。
【０２３１】
第１の移動情報装置２７０４及び第２の移動情報装置２７０８と第１の使用者２７０２及び第２の使用者２７０６との間の相互作用には、望ましく、移動情報装置の一般動作が含まれ、また、“生存型移動装置(living mobile phone)”の興味ある新たな機能が追加される。これら機能には、望ましくインテリジェントエージェントが含まれ、また、ユーザインターフェースを提供し、望ましく、向上した使用者の感情的な経験を提供するためのアバターの利用も含まれる。
【０２３２】
このようなインテリジェントエージェントは、望ましく“知覚している(aware)”インテリジェントソフトウェアフレームワークを特徴的な要素として有する。このようなシステムの内部動作は、多様なアルゴリズムツールに関連しているが、これには、ＡＩ(人工知能)及びＭＬ(機械学習)アルゴリズムが含まれているが、これらに限定されるものではない。
【０２３３】
システム２７００は、示した複数の使用者間の相互作用に任意に関与することができる。このような相互作用によって、そのエンドユーザーのための移動情報装置を利用する有用性及び楽しみが増加される。
【０２３４】
図２１は、図２０のインテリジェントエージェントシステムをさらに具体的に示す。示すように、第１のインテリジェントエージェント２８００は、行動を取り、学習し、移動情報装置の動作に対して意思決定を遂行するために、任意にそして望ましく、前述した知識ベースのようなシナリオデータ２８０２に従って動作することができる。第２のインテリジェントエージェント２８００の学習及び発展過程は、前述したように、進化のための進化モジュール２８０４によって望ましく支援される。本発明の望ましい実施形態に従って、第１のインテリジェントエージェント２８００が使用者とアバターを通じて通信を遂行すると、アニメーションモジュール２８０６は、アバターのアピアランスを望ましく支援するようになる。
【０２３５】
第１のインテリジェントエージェント２８００は、例えば、使用者のための情報を得るために、バックエンドサーバー(backend server)２８０８及び／またはコンピュータ２８１０のような他のネットワーク資源とネットワーク(図示せず)を通じて任意に通信することもできる。
【０２３６】
第１のインテリジェントエージェント２８００は、示すように、第２のインテリジェントエージェント２８１２と任意に通信することもできる。
【０２３７】
図２２は、本発明による行為選択システム２９００の具現例を概略的に示すブロック図であって、このシステム２９００は、インテリジェントエージェントが行為を選択できるようにする基盤構造を提供する。
【０２３８】
行為選択システム２９００は、ActionManager２９０２(説明のために図１０を参照する。)を特徴的な要素として有することが望ましく、これが行為を実際に行うようになる。ベースアクションインターフェース(BaseAction interface)２９０４は、ActionManager２９０２によって実行されるすべての行為のためのインターフェースを提供することが望ましい。
【０２３９】
行為は、特定の行為を遂行するために必要なAnimationManager(アニメーション管理者)２９０６とSoundManager(サウンド管理者)２９０８として表示される装置及びアプリケーション機能を任意に利用することができる。任意にそして望ましく、各行為は、正確でありかつ正しい遂行のために適切な管理者を集めるようになる。
【０２４０】
任意にそして望ましく、AnimationManager２９０６は、ChangeUIAction(ＵＩ行為変更部)２９１０も制御することができ、これは、ユーザインターフェースの視覚的な表示のアピアランス(形態)を変更するようになる。追加的にまたはその代わりに、アバターがインテリジェントエージェントを使用者に表現するために利用されると、AnimationManager２９０６は、GoAwayFromObjectAction(客体行為からの離脱)２９１２及びGoTowardObjectAction(客体行為への進行)２９１４を任意にそして望ましく制御することもでき、これによって、アバターがアバターの仮想世界の仮想客体と相互作用を行うことができる。
【０２４１】
図２３Ａ及び図２３Ｂは、移動情報装置の画面上の本発明によるアバターのスクリーンショットの典型的な２個の非限定的な例を示す。図２３Ａは、アバターとの相互作用を通じて着信音の大きさ(ring tone volume)を調整するためのユーザインターフェースのスクリーンショットを示す。図２３Ｂは、アバターとの相互作用を通じてメッセージを受信するためのユーザインターフェースのスクリーンショットを示す。
【０２４２】
本発明を限定された個数の実施形態を利用して説明したが、本発明に対する多い変更、修正、及び他の応用が行われることができる。
【図面の簡単な説明】
【０２４３】
【図１】本発明による学習モジュールの例を示す概略ブロック図である。
【図２】プロアクティブユーザインターフェースを利用するための本発明によるシステムの例を示す概略ブロック図である。
【図３】本発明によるプロアクティブユーザインターフェースシステムの具現例を示す図である。
【図４】本発明による適応型システムの具現例を示す概略ブロック図である。
【図５Ａ】本発明によるアプリケーション管理システムの例を示す概略ブロック図である。
【図５Ｂ】本発明によるアプリケーション管理システムの例を示すシーケンスダイアグラムである。
【図６Ａ】移動情報装置のオペレーティングシステムを通じて１つ以上の行為を遂行するために、本発明による適応型システムに必要な基盤構造(infrastructure)の例を示し、これに対する本発明によるシーケンスダイアグラムの例を示す図である。
【図６Ｂ】移動情報装置のオペレーティングシステムを通じて１つ以上の行為を遂行するために、本発明による適応型システムに必要な基盤構造(infrastructure)の例を示し、これに対する本発明によるシーケンスダイアグラムの例を示す図である。
【図７Ａ】典型的なイベントを示すもので、そのイベントが移動情報装置(移動情報装置のオペレーティングシステムを通じて)と本発明のシステムとの間の相互作用によって処理される方法を示す図である。
【図７Ｂ】典型的なイベントを示すもので、そのイベントが移動情報装置(移動情報装置のオペレーティングシステムを通じて)と本発明のシステムとの間の相互作用によって処理される方法を示す図である。
【図７Ｃ】典型的なイベントを示すもので、そのイベントが移動情報装置(移動情報装置のオペレーティングシステムを通じて)と本発明のシステムとの間の相互作用によって処理される方法を示す図である。
【図８Ａ】インテリジェントエージェントの構成例を示す図である。
【図８Ｂ】インテリジェントエージェントの動作に対するシーケンスダイアグラムの例を示す図である。
【図９Ａ】本発明による行為を選択するための２つの方法を示す図である。
【図９Ｂ】本発明による行為を選択するための２つの方法を示す図である。
【図１０】本発明による行為遂行(action execution)の例を示すシーケンスダイアグラムである。
【図１１Ａ】本発明による典型的な進化クラスダイアグラムである。
【図１１Ｂ】本発明による典型的なミューテーションシーケンスダイアグラムである。
【図１１Ｃ】本発明による典型的なハイブリッドシーケンスダイアグラムである。
【図１２】２個の移動情報装置上のインテリジェントエージェント間の典型的なハイブリダイゼーションシーケンス(hybridization sequence)を示す図である。
【図１３】本発明によるアバターまたは生物の典型的なスクリーンショット(screenshots)を示す図である。
【図１４】本発明によるアバターまたは生物の典型的なスクリーンショット(screenshots)を示す図である。
【図１５Ａ】本発明によるアバターまたは生物の典型的なスクリーンショット(screenshots)を示す図である。
【図１５Ｂ】本発明によるアバターまたは生物の典型的なスクリーンショット(screenshots)を示す図である。
【図１５Ｃ】本発明によるアバターまたは生物の典型的なスクリーンショット(screenshots)を示す図である。
【図１５Ｄ】本発明によるアバターまたは生物の典型的なスクリーンショット(screenshots)を示す図である。
【図１５Ｅ】本発明によるアバターまたは生物の典型的なスクリーンショット(screenshots)を示す図である。
【図１５Ｆ】本発明によるアバターまたは生物の典型的なスクリーンショット(screenshots)を示す図である。
【図１６】本発明によるアバターまたは生物の典型的なスクリーンショット(screenshots)を示す図である。
【図１７Ａ】本発明によるアバターまたは生物の典型的なスクリーンショット(screenshots)を示す図である。
【図１７Ｂ】本発明によるアバターまたは生物の典型的なスクリーンショット(screenshots)を示す図である。
【図１８】本発明によるアバターまたは生物の典型的なスクリーンショット(screenshots)を示す図である。
【図１９】本発明によるアバターまたは生物の典型的なスクリーンショット(screenshots)を示す図である。
【図２０】本発明による典型的なインテリジェントエージェントシステムを示す概略ブロック図である。
【図２１】図２０のシステムをさらに詳細に示す図である。
【図２２】本発明による他の行為選択システムの典型的な具現例を示す概略ブロック図である。
【図２３Ａ】移動情報装置のスクリーンの上に表示された本発明によるアバターの幾つのスクリーンショットを示す図である。
【図２３Ｂ】移動情報装置のスクリーンの上に表示された本発明によるアバターの幾つのスクリーンショットを示す図である。
【符号の説明】
【０２４４】
１００  学習モジュール
２００  システム
２０２  オペレーティングシステム
２０４  インターフェース部
２０６  ソフトウェアアプリケーション
【図１】
2005100390.tif 000006
【図２】
2005100390.tif 000007
【図３】
2005100390.tif 000008
【図４】
2005100390.tif 000009
【図５Ａ】
2005100390.tif 000010
【図５Ｂ】
2005100390.tif 000011
【図６Ａ】
2005100390.tif 000012
【図６Ｂ】
2005100390.tif 000013
【図７Ａ】
2005100390.tif 000014
【図７Ｂ】
2005100390.tif 000015
【図７Ｃ】
2005100390.tif 000016
【図８Ａ】
2005100390.tif 000017
【図８Ｂ】
2005100390.tif 000018
【図９Ａ】
2005100390.tif 000019
【図９Ｂ】
2005100390.tif 000020
【図１０】
2005100390.tif 000021
【図１１Ａ】
2005100390.tif 000022
【図１１Ｂ】
2005100390.tif 000023
【図１１Ｃ】
2005100390.tif 000024
【図１２】
2005100390.tif 000025
【図１３】
2005100390.tif 000026
【図１４】
2005100390.tif 000027
【図１５Ａ】
2005100390.tif 000028
【図１５Ｂ】
2005100390.tif 000029
【図１５Ｃ】
2005100390.tif 000030
【図１５Ｄ】
2005100390.tif 000031
【図１５Ｅ】
2005100390.tif 000032
【図１５Ｆ】
2005100390.tif 000033
【図１６】
2005100390.tif 000034
【図１７Ａ】
2005100390.tif 000035
【図１７Ｂ】
2005100390.tif 000036
【図１８】
2005100390.tif 000037
【図１９】
2005100390.tif 000038
【図２０】
2005100390.tif 000039
【図２１】
2005100390.tif 000040
【図２２】
2005100390.tif 000041
【図２３Ａ】
2005100390.tif 000042
【図２３Ｂ】
2005100390.tif 000043