(57)【要約】  【課題】  他の当事者との交渉における生産性、安全性、効率、及び応答性を向上する高機能エージェント、及びそれを用いた交渉方法を提供することである。  【解決手段】  エージェントの振る舞いの１つ以上の面のランダム化を組み込み、その交渉戦術を他の当事者から偽装することにより、こうした当事者がエージェントを犠牲にして、交渉上の優位性を獲得することを防止する。また、交渉当事者の振る舞いや取り引き期間にもとづき、エージェントの振る舞いの１つ以上の面を制約することにより、非生産的な交渉を制限する。それにより、非生産的な交渉が終了されがちとなる。更に、複数の情報源から検索される評価値を重み付けし、正規化することにより、所望の取り引きの希望値を決定するための、動的値の決定を組み込む。更に、関連取り引きと所望の取り引きとの接近度にもとづき、関連取り引きの値を重み付けし、正規化する動的値の決定を組み込む。【選択図】  図２
2005276228.tif 000002
【特許請求の範囲】
【請求項１】
所望の取り引きの値を動的に決定する方法であって、
ａ）複数の情報源から複数の評価値を生成するステップと、
ｂ）前記複数の評価値を所定の基準にもとづき重み付けし、複数の加重評価値を生成するステップと、
ｃ）前記複数の加重評価値を正規化し、前記所望の取り引きの値を生成するステップと、
を含む、方法。
【請求項２】
前記所定の基準が経験的に決定される、請求項１記載の方法。
【請求項３】
前記複数の情報源が関連取り引きのデータベースを含み、前記関連取り引きの各々が当該取り引きに関連付けられる値を有し、前記生成ステップが、
ａ）前記データベースから複数の関連取り引きを検索するステップと、
ｂ）前記データベースから検索される前記関連取り引きの各々に対して、当該関連取り引きの値を、当該関連取り引きと所望の取り引きとの接近度にもとづき重み付けし、加重値を獲得するステップと、
ｃ）前記加重値を正規化し、前記データベース情報源に対する前記評価値を生成するステップと、
を含む、請求項１記載の方法。
【請求項４】
前記データベースが、複数の過去の取り引きを含む履歴データベース、及び複数の現取り引きを含む現市況データベースを含むグループから選択される、請求項３記載の方法。
【請求項５】
前記複数の情報源が関連取り引きの第２のデータベースを含み、前記第１のデータベースが複数の過去の取り引きを含む履歴データベースであり、前記第２のデータベースが複数の現取り引きを含む現市況データベースである、請求項３記載の方法。
【請求項６】
前記複数の情報源が基準及びデルタ値データベースを含み、前記生成ステップが、
前記基準及びデルタ値データベースから、所望の取り引きに関連する基準値及びデルタ値を検索するステップと、
前記基準値とデルタ値を合計し、前記基準及びデルタ値データベース情報源に対する値評価を獲得するステップと、
を含む、請求項１記載の方法。
【請求項７】
前記複数の情報源が規則データベースを含み、前記生成するステップが、
前記規則データベースから規則を検索するステップと、
前記検索された規則をエキスパート・システムにより処理し、前記規則データベース情報源に対する値評価を生成するステップと、
を含む、請求項１記載の方法。
【請求項８】
前記所定の基準が各評価値の信頼度を含む、請求項１記載の方法。
【請求項９】
所望の取り引きの値を動的に決定する装置であって、
ａ）複数の情報源と、
ｂ）各々が前記複数の情報源の少なくとも１つに接続され、評価値を生成するように構成される、複数の値評価器と、
ｃ）各々が前記値評価器の少なくとも１つに接続され、所定の基準にもとづき前記評価値の少なくとも１つを重み付けし、加重評価値を生成するように構成される複数の重み付けブロックと、
ｄ）前記複数の重み付けブロックに接続され、前記加重評価値を正規化し、前記所望の取り引きに対する値を生成するように構成される正規化ブロックと、
を含む、装置。
【請求項１０】
前記複数の情報源が関連取り引きのデータベースを含み、前記関連取り引きの各々が当該取り引きに関連付けられる値を有し、前記データベースに接続される前記値評価器が、
ａ）前記データベースに接続され、前記関連取り引きの各々に対して、当該関連取り引きと前記所望の取り引きとの接近度に関連する加重値を出力するように構成される、少なくとも１つの重み付けブロックと、
ｂ）前記重み付けブロックに接続され、前記加重値を正規化し、前記データベース情報源に対する前記評価値を生成するように構成される正規化ブロックと、
を含む、請求項９記載の装置。
【請求項１１】
前記データベースが、複数の過去の取り引きを含む履歴データベース、及び複数の現取り引きを含む現市況データベースを含むグループから選択される、請求項１０記載の装置。
【請求項１２】
前記複数の情報源が関連取り引きの第２のデータベースを含み、前記第１のデータベースが複数の過去の取り引きを含む履歴データベースであり、前記第２のデータベースが複数の現取り引きを含む現市況データベースである、請求項１０記載の装置。
【請求項１３】
前記複数の情報源が基準及びデルタ値データベースを含み、前記データベースに接続される前記値評価器が、前記データベースから、所望の取り引きに関連する基準値及びデルタ値を検索し、前記基準値とデルタ値を合計して、前記データベースに対する値評価を獲得するように構成される、請求項９記載の装置。
【請求項１４】
前記複数の情報源が規則データベースを含み、前記規則データベースに接続される前記値評価器が、前記規則データベースから規則を検索し、前記値評価を出力するように構成されるエキスパート・システムを含む、請求項１３記載の装置。
【請求項１５】
所望の取り引きの値を動的に決定するプログラムであって、
ａ）複数の情報源から複数の評価値を生成するステップと、
ｂ）前記複数の評価値を所定の基準にもとづき重み付けし、複数の加重評価値を生成するステップと、
ｃ）前記複数の加重評価値を正規化し、前記所望の取り引きの値を生成するステップと、
を実行するように構成されたプログラム。
【請求項１６】
所望の取り引きの値を動的に決定する方法であって、
ａ）各々が関連値を有する複数の関連取り引きを検索するステップと、
ｂ）前記関連取り引きの各々に対して、当該関連取り引きと所望の取り引きとの接近度にもとづき当該関連取り引きの値を重み付けし、加重値を獲得するステップと、
ｃ）前記加重値を正規化し、前記所望の取り引きに対する値を生成するステップと、
を含む、方法。
【請求項１７】
前記関連取り引きが過去の取り引きを含む、請求項１６記載の方法。
【請求項１８】
前記関連取り引きが現取り引きを含む、請求項１６記載の方法。
【請求項１９】
前記関連取り引きの各々に対して、当該関連取り引きと所望の取り引きとの接近度にもとづき当該関連取り引きの値を標準化するステップを含む、請求項１６記載の方法。
【請求項２０】
前記標準化ステップが、前記関連取り引きと前記所望の取り引きとの前記接近度を、前記関連取り引き及び前記所望の取り引きの少なくとも１つの所定の特質の類似性にもとづき決定するステップを含み、前記所定の特質が時刻、記述、及び数量を含むグループから選択される、請求項１９記載の方法。
【請求項２１】
前記標準化ステップが、前記関連取り引きの値を一時的に外挿するステップを含む、請求項１９記載の方法。
【請求項２２】
前記重み付けステップが、前記関連取り引きと前記所望の取り引きとの前記接近度を、前記関連取り引き及び前記所望の取り引きの記述及び時刻の少なくとも一方の類似性にもとづき決定するステップを含む、請求項１６記載の方法。
【請求項２３】
前記関連取り引きの各々に対して、当該関連取り引きの値を信頼度及び数量の少なくとも一方にもとづき、重み付けするステップを含む、請求項１６記載の方法。
【請求項２４】
前記関連取り引きに対する当事者を識別することにより、前記関連取り引きの信頼度を決定するステップを含む、請求項１３記載の方法。
【請求項２５】
前記信頼度を決定するステップが、前記当事者の少なくとも１つの属性を複数の既知の当事者の属性と比較し、前記当事者を前記複数の既知の当事者の１つに突き合わせるステップを含む、請求項１２記載の方法。
【請求項２６】
前記関連取り引きが買申し込み及び売申し込みを含み、前記重み付けステップが、前記買申し込み及び売申し込みを別々に重み付けし、加重買申し込み及び加重売申し込みを獲得するステップを含み、前記正規化ステップが、前記加重買申し込み及び前記加重売申し込みを別々に正規化し、評価値範囲を生成するステップと、前記評価値範囲内で前記評価値を選択するステップとを含む、請求項１６記載の方法。
【請求項２７】
前記検索ステップが、少量取り引き、局外的取り引き、未決定の申し込み、不確かな当事者に関連する取り引き、及び現在交渉中の当事者に関連する取り引きを含むグループから選択される関連取り引きをフィルタリングするステップを含む、請求項１６記載の方法。
【請求項２８】
所望の取り引きの値を動的に決定する装置であって、
ａ）関連取り引き及び当該取り引きに関連付けられる値のデータベースと、
ｂ）前記データベースに接続され、前記関連取り引きの各々に対して、当該関連取り引きと前記所望の取り引きとの接近度に関連する加重値を出力するように構成される、少なくとも１つの重み付けブロックと、
ｃ）前記重み付けブロックに接続され、前記加重値を正規化し、前記所望の取り引きの値を生成するように構成される正規化ブロックと、
を含む、装置。
【請求項２９】
前記データベースが、複数の過去の取り引きを含む履歴データベース、及び複数の現取り引きを含む現市況データベースを含むグループから選択される、請求項２８記載の装置。
【請求項３０】
前記データベースと前記重み付けブロックとの間に接続され、前記関連取り引きと前記所望の取り引きとの接近度にもとづき、前記関連取り引きの値を標準化するように構成される値評価器を含む、請求項２８記載の装置。
【請求項３１】
前記値評価器が、前記関連取り引きと前記所望の取り引きとの前記接近度を、前記関連取り引き及び前記所望の取り引きの少なくとも１つの所定の特質の類似性にもとづき決定するように構成され、前記所定の特質が時刻、記述、及び数量を含むグループから選択される、請求項３０記載の装置。
【請求項３２】
前記値評価器が、前記関連取り引きの値を一時的に外挿する外挿ブロックを含む、請求項３０記載の装置。
【請求項３３】
前記重み付けブロックが、前記関連取り引き及び前記所望の取り引きの記述及び時刻の少なくとも一方の類似性にもとづき、前記関連取り引きを重み付けするように構成される、請求項２８記載の装置。
【請求項３４】
関連取り引きの値を信頼度及び数量の少なくとも一方にもとづき重み付けするように構成される、追加の重み付けブロックを含む、請求項２８記載の装置。
【請求項３５】
前記データベースと前記重み付けブロックの間に接続され、少量取り引き、局外的取り引き、未決定の申し込み、不確かな当事者に関連する取り引き、及び現在交渉中の当事者に関連する取り引きを含むグループから選択される関連取り引きをフィルタリングするように構成されるフィルタを含む、請求項２８記載の装置。
【請求項３６】
所望の取り引きの値を動的に決定するプログラムであって、
ａ）各々が関連値を有する複数の関連取り引きを検索するステップと、
ｂ）前記関連取り引きの各々に対して、当該関連取り引きの値を当該関連取り引きと所望の取り引きとの接近度にもとづき重み付けし、加重値を獲得するステップと、
ｃ）前記加重値を正規化し、前記所望の取り引きに対する値を生成するステップと、
を実行するように構成されたプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、コンピュータ・システム上で実行可能な高機能エージェント・コンピュータ・プログラムに関し、特に、商取り引きにおけるこうしたプログラムの使用に関する。
【背景技術】
【０００２】
１９４０年代における最初の電子コンピュータの登場以来、コンピュータは次第に多彩な複雑なタスクを処理し続けてきた。半導体及び他のハードウェア・コンポーネントの出現は、現ローエンド・デスクトップ・コンピュータが、かつて部屋いっぱいのコンピュータを要求したタスクを処理できるまでに発展した。
【０００３】
コンピュータ・プログラムは本来、コンピュータがタスクを実行する操作を制御する命令のセットであり、これも次第に複雑且つ強力に成長した。初期のコンピュータ・プログラムは、基本算術計算だけを実行するように制限されたが、現コンピュータ・プログラムは、音声及びイメージ認識、予測分析及び予想、マルチメディア表現、更に列挙できないほど多くの他のタスクなど、複雑なタスクを処理する。
【０００４】
しかしながら、多くのコンピュータ・プログラムの１つの共通の特質は、プログラムが通常、オペレータまたはユーザにより発行される特定のコマンドに応答して、タスクを実行するように制限されるということである。従って、ユーザはしばしば、特定のタスクを実行するために要求される特定の制御、コマンドなどを知らなければならない。コンピュータ・プログラムがより複雑となり、フィーチャが豊富になると、ユーザは改善された機能を利用するために、より一層プログラムに関して習得し、理解することを求められる。
【０００５】
一層強力となる以外に、コンピュータはローカル・エリア・ネットワークやワイド・エリア・ネットワークなどの専用ネットワーク、及びインターネットなどの公衆ネットワークを通じ、相互接続されるようになった。このことはコンピュータ及びそれらのユーザが対話し、情報を地球規模で互いに共有することを可能にする。しかしながら、情報量が指数関数的に増加しており、このことがユーザが特定の情報を見い出すことを次第に困難にしている。
【０００６】
コンピュータ・プログラムの複雑性、及びユーザにとって入手可能な情報量の両面における劇的な増加の結果、実質的な関心が、高機能エージェント・コンピュータ・プログラム（或いは高機能エージェントまたは単にエージェントとしても参照される）の分野に発展した。これはソフトウェアにより実現される"アシスタント"のように作用し、特定のタスクを自動化し単純化することにより、それらの複雑性をユーザから隠すものである。エージェントにより、ユーザは特定のコマンド・シーケンスを知る必要なしに、タスクを実行することができる。同様に、ユーザは情報の探索方法または探索場所を正確に知ることなしに、情報を獲得することができる。
【０００７】
高機能エージェントは、委任（delegation）の概念により特徴付けられ、そこではユーザまたはクライアントは、エージェントが少なくとも特定の自立度をもって、タスクを処理するように託する。高機能エージェントは、ユーザにより委任される自立性の分量に依存して変化する制限の度合いに応じて作用する。
【０００８】
高性能エージェントはまた、知能、可動性、作用、及びユーザ・インタフェースに関して、異なる能力を有し得る。知能は一般に、エージェントが所有する推論及び決断の分量である。この知能は、予め定義済みの規則のセットに従うように単純であるか、或いはユーザの目的及びエージェントの使用可能な資源にもとづき、学習及び適応化するように複雑である。
【０００９】
可動性は、ネットワークを通じ転送され、異なるコンピュータ・システム上で実行される能力である。すなわち、一部のエージェントは、１つのコンピュータ・システム上に留まるように設計され、決して異なるマシンに転送されることはないのに対して、他のエージェントは、コンピュータ間で転送され、経路に沿う異なる停止箇所においてタスクを実行するように設計されるという意味で、移動可能である。ユーザ・インタフェースは、エージェントがユーザと対話する方法を定義する。
【００１０】
エージェントは様々なアプリケーションにおいて多彩に使用され、そうしたものには、システム及びネットワーク管理、可動式アクセス及び管理、情報アクセス及び管理、共同作業、メッセージ転送、作業フロー及び管理、及び適応ユーザ・インタフェースなどが含まれる。エージェントの別の重要な利用は、電子商取り引きに関するものであり、そこではエージェントは、他のユーザ、コンピュータ・システム、及びエージェントなどの他の当事者を探し求め、彼らのクライアントのために交渉を行い、商取り引きに加わるように構成され得る。
【００１１】
人間のエージェント（代理業者）が特定量の自立性を有するように、高機能エージェントも同様に、それらが行う行動の可否を規定する制限のセットを有する。例えば、電子商取り引きアプリケーションの販売エージェントは、最低許容価格により制限され得る。しかしながら、優れた販売エージェントは、電子エージェントか人間エージェントかによらず、決して最初にその最低許容価格を提示しない。なぜなら、これは利幅を最小化するからである。更に、最低価格の提示は、販売を保証し得ない。なぜなら、バイヤーはエージェントが初期の申し込みから価格を下げることを望まないために、その価格が競争力がないものと推測し得るからである。従って、エージェントは通常、その最悪の許容価格からあるマージンをもって交渉を開始し、次に相互に許容可能な価格に向けて、他の当事者と交渉を詰める。
【００１２】
全てのエージェントは、そして特に電子商取り引きアプリケーションにおけるエージェントは、それらのクライアントのために、確実に、効率的に、そして有益に作用することが望ましい。しかしながら、高機能エージェントにより使用され、その制限内で作用するあらゆる交渉計画、技術または戦術は、しばしば他の当事者から隠されるべきである。そうでないと、エージェントは競争上の不利な立場に置かれてしまう。たくさんのエージェントが不確実な環境にディスパッチされ得ると仮定すると、他の当事者があるエージェントを走査または逆工作し、その交渉戦術または他の制限を習得し得ることを想定しなければならない。更に、他の当事者が、あるエージェントとそのクライアントとの間で送信されるメッセージを復号し、交渉における最大の利益を獲得し得ることを想定しなければならない。こうした想定の正当性は、これらの技術が概念的に、可能な最善価格を獲得するために、一部の販売員により使用される多くの技法に類似する事実に由来する。
【００１３】
販売エージェントが、予測可能なアルゴリズムを用いて申し込みをする場合、例えば十分なマージンで開始し、以前の言い値とその最低価格との間の差を半減することにより、新たな言い値を提示する場合、他の当事者はこの傾向を検出し、エージェントにとって許容可能な最低価格を予測することができよう。これらの状況下では、販売エージェントはその最低許容価格よりも高い価格で交渉できることは稀である。
【００１４】
高機能エージェントにとって望ましい別の特徴は、その効率である。特に、電子商取り引きアプリケーションでは、クライアントにとって最善価格での取り引きの数量を最大化することが望ましい。高機能エージェントが実りのない交渉に時間を費やすことは、エージェントの効率を低下させる。
【００１５】
高機能エージェントが未知の当事者と対話するとき、エージェントにとって別の問題が発生する。例えば、エージェントが既知の信頼できるエージェントと対話する場合、エージェントにとって相対リスクはそれほど大きくなく、エージェントはこれらの当事者側の有害な活動に対して、防御する必要はないであろう。しかしながら、特に多くの不確実な環境において、エージェントは多数の未知の当事者と対話しがちであり、このことがエージェントに大きなリスクを与え、エージェントに対して追加の保護が提供されることを要求し得る。
【００１６】
更に、電子商取り引きアプリケーションにおける高機能エージェントは、しばしば所望の取り引きに対して、合理的な値または許容値を決定できなければならない。多くの市場、特に電子的に制御される市場において、市場状況は迅速に変化し得る。例えば、株、債券及び物価は連続的に変化し、時代遅れの情報を扱うエージェントは、取り引き時に現在の市場状況からかけ離れた取り引きをしかねない。更に、一部の市場は、競争上の利益を獲得しようとする他の当事者による操作の影響を受け得る。
【００１７】
従って、生産的で適応性があり、安全且つ効率的な交渉技術を有し、クライアントのために商取り引きを行う高機能エージェントが待望される。
【００１８】
【特許文献１】米国特許出願番号第８２６１０７号明細書
【特許文献２】米国特許出願番号第８２２９９３号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１９】
本発明は、高機能エージェント、及びそれを用いて交渉する方法を提供する従来技術に関連するこれらの及び他の問題を解決するものであり、１つ以上のフィーチャを単独でまたは組み合わせて使用することにより、他の当事者との交渉におけるエージェントの生産性、安全性、効率、及び応答性を向上するものである。
【課題を解決するための手段】
【００２０】
本発明の１つの態様によれば、エージェントの交渉戦術が他の交渉当事者から偽装され、こうした当事者がエージェントを犠牲にして、交渉利益を得ることを阻止する。こうしたエージェントは申し込みを生成し、交渉当事者から返答を待機し、その返答にもとづき、取り引きを完了するか否かを決定する。前記ステップの少なくとも１つの特質が、エージェントの交渉戦術を予測しにくくするようにランダム化され、それにより交渉当事者が、そこからエージェントの交渉戦術を判断することを制限または防止する。
【００２１】
本発明の追加の態様によれば、非生産的でありがちな交渉を制限することにより、一部のエージェントの効率が改善され得る。こうしたエージェントは申し込みを生成し、交渉当事者から返答を待機し、その返答にもとづき、取り引きを完了するか否かを決定する。こうしたエージェントとの非生産的な交渉が、交渉当事者の振る舞い、及び（または）取り引きの期間にもとづき、前記ステップの少なくとも１つの特質を制約することにより、制限される。疑わしいまたは非協調的な当事者との交渉、または許容期間を越えて延長される交渉は終結されがちで、それにより、しばしばエージェントがより生産的な交渉を別途に探し出せるように解放する。
【００２２】
本発明の別の態様によれば、エージェントが対話する他の当事者が識別され、それにより、例えば高機能エージェントが対話している当事者に依存して、エージェントの振る舞いを変更する。既知の当事者の記録が、それに関連付けられる１つ以上の属性と一緒に保持され、それにより未知の当事者との対話の際に、その属性が既知の当事者の属性と比較され、未知の当事者を、その属性が最も密接に合致する既知の当事者として識別する。別の当事者の識別は多数の利点を有し、例えば信頼度を所与の既知の当事者に関連付けることにより、未知の当事者の信頼度が決定され得るなどがある。
【００２３】
動的値の決定もまた、所望の取り引きに対する値を生成するために充当され得る。これは例えば、申し込みの計算において、或いは別の当事者からの申し込みが、所望の取り引きの対象である所与の商品またはサービスに対する許容範囲内にあるか否かの判断において、エージェントを支援する場合に当てはまる。本発明の更に別の態様によれば、所定の基準にもとづき、複数の情報源からの評価値を重み付けすることにより、加重評価値を生成し、次に加重評価値を正規化することにより、所望の取り引きの希望値が、少なくとも部分的に動的に決定され得る。複数の情報源を利用することにより、エージェントにより交渉時に使用される本来より確実な値が決定される。また、多くの状況において、第３者によるエージェントの振る舞いの操作が最小化され得る。なぜなら、値の決定がしばしば単一の情報源に頼らないからである。
【００２４】
本発明の別の態様によれば、関連取り引きと所望の取り引きとの接近度にもとづき、関連取り引きの値を重み付けし、次に加重値を正規化することにより、所望の取り引きの希望値が、少なくとも部分的に動的に決定され得る。関連取り引きの接近度は、所望の取り引き及び関連取り引きの１つ以上の特質を比較することにより、決定され得る。そこでは、所望の取り引きに、より類似する関連取り引きが、希望値の決定において、より重く重み付けされる。
【００２５】
本発明を特徴付けるこれらの及び他の利点及びフィーチャが、特許請求の範囲で述べられる。しかしながら、本発明、並びに本発明の使用により得られる利点及び目的をより理解するために、以下で述べる本発明の好適な実施例を参照されたい。
【発明を実施するための最良の形態】
【００２６】
図面を参照すると、同一のパーツは図面を通じ、同一の参照番号で示される。図１は、本発明の実施例と共に使用されるネットワーク接続コンピュータ・システム１０を示す。コンピュータ・システム１０は、ネットワーク接続される多くのデータ処理システムを表し、一般に１つ以上のコンピュータ・システムを含み、例えば単一ユーザ・コンピュータ・システム１６、１８、及びマルチユーザ・コンピュータ・システム２０、６０が、ネットワーク１５を通じ接続される。マルチユーザ・コンピュータ・システム２０は、通常、１つ以上のサーバ２５を含み、これに１つ以上の単一ユーザ・コンピュータ２２が、別のネットワークを通じ接続され得る。同様に、マルチユーザ・コンピュータ・システム６０は、通常、１つ以上のサーバ６５を含み、これが１つ以上の単一ユーザ・コンピュータ・システム６２に、ネットワーク６４を通じ接続される。ネットワーク１５は任意のタイプのネットワーク相互接続を表し、これらにはローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、無線ネットワーク、公衆ネットワーク（例えばインターネット）などが含まれる。
【００２７】
高機能エージェントは、自立度を託されているが、これらのクライアントにより定義される制限内で動作するように制限されるコンピュータ・プログラムである。異なるアプリケーションまたはコンピュータ・システム間で転送され、それらにおいて動作可能なこうしたエージェントのサブセットは、モバイル・エージェントとして参照される。
【００２８】
本発明に従うエージェントは、上述の任意のコンピュータ・システム上で生じ、時折常駐するものと思われる。本発明のためのコンピュータ・システム間の１つの可能な違いは、各々が特定のエージェントに対してクライアントであるか、それとも遠隔システムであるかということである。例えば、図２はコンピュータ・システム１０の実施例を示し、そこではマルチユーザ・コンピュータ・システム２０はクライアント・システムであり、マルチユーザ・コンピュータ・システム６０は遠隔システムである。
【００２９】
クライアント・システムは以下では、エージェントがシステム上に常駐するとき、エージェントに対して、他の当事者による操作からの特定レベルのセキュリティを提供するコンピュータ・システムを指す。クライアント・システムはまた、そこからエージェントの管理が通常処理されるコンピュータ・システムでもある。エージェントは通常、しかし必然的ではないが、クライアント・システムから生じる。
【００３０】
他方、遠隔システムは以下では、エージェントに対して、所望レベルのセキュリティを通常提供することのできないコンピュータ・システムを指し、これは一般に、コンピュータ・システムがクライアントの制御を受けないことによる。遠隔システム上に常駐する間、エージェントは通常、他の当事者により、走査または逆コンパイルされる、若しくは通信を傍受またはモニタされる最大のリスクを負う。
【００３１】
ここで述べられる様々な実施例は、電子商取り引きアプリケーションにおいて主な使用を有し、そこではエージェントが一般に買付または販売エージェントの役割において、商取り引きを交渉するように構成される。エージェントは他の当事者、他のコンピュータ・システム、及び他の個人とも交渉し得る。エージェントは１対１で対話するか、或いは株式市場または商品市場の回線に沿って、複数のエージェントの"市場（market）"内で動作できる。エージェントとして、それらの間の対話をサポートする能力を有するコンピュータ・システムは、可変の知的素養を有する交渉プログラムを含み、以下ではエージェント・ホストとして参照される。
【００３２】
例えば図２は、クライアント・システム２０内のエージェント・マネージャ３２と通信するモバイル高機能エージェント１００を示す。交渉エージェント９５などの別の当事者との交渉の間、モバイル・エージェント１００は遠隔システム６０上に常駐する。遠隔システム６０は、交渉エージェント９５に対するクライアントとして、或いはこのエージェントに対して遠隔的とも見なされ得る。
【００３３】
本発明の様々な実施例を実現するネットワーク接続コンピュータ・システム１０の典型的な機能設計が、図３に示される。クライアント・システム２０のサーバ２５は、一般に中央処理ユニット（ＣＰＵ）２８を含み、これはバス５４を通じ、メモリ３０及び記憶装置４０に接続される。ローカル・エリア・ネットワーク・インタフェースが参照番号５２で提供され、外部ネットワーク１５を通じる遠隔システム６０とのインタフェースが、インタフェース５０を通じ提供される。エージェント・マネージャ・プログラム３２は、メモリ３０内に常駐する。記憶装置４０は１つ以上のエージェント４２（例えばエージェント１００）を含み、これらはクライアント・システム２０内で局所的に検索され使用されたり、或いは遠隔システムにディスパッチされ、クライアント・システムのためにタスクを実行し、完了するためのコンピュータ・プログラムまたはモジュールである。記憶装置４０はまた、エージェント・ミッション・データベース４４を含み、これはエージェント操作及びそれらに関連付けられる成功または失敗を追跡し得る。
【００３４】
遠隔システム６０のサーバ６５も、同様にＣＰＵ６８を含み、これはバス９４を通じ、メモリ７０、記憶装置８０、外部ネットワーク接続９０、及びローカル・ネットワーク接続９２に接続される。エージェント・ホスト・プログラム７２がメモリ７０内に常駐し、遠隔システム６０内に常駐するエージェント間の対話を処理する。通常、エージェント・ホスト・プログラムは非同期メッセージ／事象駆動型環境であり、これはオペレーティング・システムのように、エージェント・コンピュータ・プログラムが実行され、対話する共通のプラットフォームを提供する。エージェント・ホストはまた、エージェントとそれらのクライアントとの間で、メッセージが送信されることを可能にする。メモリ７０は更に、エージェント１００との取り引きにおいて、"他の当事者"として作用する交渉プログラム７４を含む。ここでエージェント１００は、別の当事者、市場または掲示板アプリケーション、または個人がエージェント１００と対話するためのインタフェース・プログラムなどである。記憶装置８０は、サーバ上で完了された取り引きを記録する取り引き履歴データベース８２を保持する。
【００３５】
サーバ２５、６５は、例えばＩＢＭのＡＳ／４００中型コンピュータである。しかしながら、ここで述べられるハードウェア実施例は、単に典型例に過ぎず、多数の他のハードウェア・プラットフォーム及び構成も、代わりに使用され得ることが理解されよう。
【００３６】
更に、本発明は完全機能のコンピュータ・システムの状況において述べられるが、当業者には、本発明の様々な実施例が、プログラム製品として様々な形態で配布され、また本発明が、実際に配布を遂行する特定タイプの信号担持媒体に関係なしに、同様に当てはまることが理解されよう。こうした信号担持媒体の例には、フロッピ・ディスク、ハードディスク・ドライブ、及びＣＤ−ＲＯＭなどの記録可能なタイプの媒体、及びデジタル及びアナログ通信リンクなどの伝送タイプの媒体が含まれる。
【００３７】
図４はエージェント１００をより詳細に示している。一般に、任意のエージェントはセンス、認識及び活動する能力を有さねばならない。多くのエージェントと共通に、エージェント１００は多数の動作要素を含み、それらには、エージェントの全体動作を制御し、エージェントの"頭脳"として機能するエンジン１０２、エージェントの獲得済み知識を表す情報が記憶される知識要素１０４、及びアダプタ要素１０６が含まれる。エージェントは、アダプタ要素１０６を通じて外部オブジェクト（例えばホスト・オブジェクト１１０）と通信し、またアダプタ要素を通じてその環境を"センス"し、それと対話する。ライブラリ要素１０５は、１つ以上のライブラリまたはデータベースに、知識要素１０４により使用される情報を持続的に記憶する。任意選択のビュー要素１０８は、エージェントのための人間インタフェースを提供し、例えば命令をエージェントに与えたりする。
【００３８】
エージェント１００内の全てのモジュールが、通常、プログラム・コードの１つの自己充足ブロックまたはパッケージ内で提供され、これはエージェントのためのコード全体が様々な位置に伝送され、そのクライアントから自立度をもって実行されることを可能にする。追加のデータまたは命令もまた、エージェントにより外部資源から受信され、例えば必要に応じて、ライブラリ・モジュールを補足する。更に、エージェント１００は実質上、任意のプログラミング言語により実現され、その少なくとも部分的に自立的な動作により、特にオブジェクト指向プログラミング・システムに適合される。例えば、エージェント１００はジャバ（Java(R)）・パッケージとして実現され、これはそのプラットフォーム独立性、及び実行時セキュリティにより、モバイル・プログラム・コードにとって、多数の利点を有する。
【００３９】
図４に示されるように、エンジン１０２内には、エージェント交渉モジュール１１８及び値決定モジュール２００を含む、多数のモジュールまたはオブジェクトが組み込まれ、エージェントの交渉機能を処理する。エージェント交渉モジュール１１８は一般にエージェントの交渉戦術を実現し、ルーチン２００はエージェント交渉モジュール１１８により使用されて、所望の取り引きの値を動的に決定する。これらのモジュールの各々は、以下で別々に述べられる。
【００４０】
エージェントを実現するために必要な他のルーチンまたはオブジェクトも、エンジン１０２内に含まれるが、ここでは説明の簡略化のために示されていない。例えば、初期化、通信、保守、及び対話する他のエージェントまたは市場を見い出すための機能などの機能も、使用され得る。しかしながら、これらの機能は、一般に既知のエージェントの基本動作により深く関連するので、これらの機能についてはここでは詳述しない。
【００４１】
更に、追加の機能がエージェント１００により実現され得る。これらには、米国特許出願番号第８２２１１９号"APPARATUS AND METHOD FOR COMMUNICATING BETWEEN AN INTELLIGENT AGENT AND CLIENT COMPUTER PROCESS USING DISGUISED MESSAGES"で述べられる、エージェントとエージェント・マネージャ間の通信の偽装、及び神経網の使用によるエージェント判定論理の偽装が含まれる。エージェント１００はまた、可変のドメイン知識度を有する幾つかのエージェントの１つであったり、或いは可変のドメイン知識度を有する複数のモジュールを有したりし、それによりエージェントは、目標基準（例えばセキュリティ問題）にもとづき、異なる状況における動作のために最適化される。
【００４２】
エージェント交渉：
エージェント交渉モジュール１１８とのエージェント交渉は、交渉時に単独でまたは一緒に使用可能であって、エージェントの性能を改善する多数の別々のフィーチャを組み込む。第１に、エージェントの１つ以上の動作パラメータが、予測可能性を低減する程度にランダム化され、それにより、他の当事者（例えば他のエージェント、コンピュータ・プログラム、または個人）がエージェントの交渉戦術を判断する能力を妨害する。第２に、エージェントの１つ以上の動作パラメータが、典型的には交渉期間及び（または）他の当事者の交渉に対する振る舞いにもとづき、非生産的な交渉をある程度制限するように制約される。更に、一部の実施例では、これらのフィーチャが、後述の他のフィーチャと同様、他の当事者による交渉を操作しようとする試みを妨害する。
【００４３】
図５はエージェント交渉ルーチン１２０を示し、これはエージェント交渉モジュール１１８の動作を詳述するものである。ルーチン１２０は一般に、エージェント１００が交渉すべき別の当事者を見い出したとき呼び出され、所望の取り引きを通常、クライアント・システム内のエージェント・マネージャから受信する。ルーチン１２０は、買付エージェントまたは販売エージェントのいずれかとして一般化され、各タイプのエージェントに対するルーチンの違いは、以下で指摘される。一般に、買付エージェントと販売エージェントの交渉戦術の違いは、買付エージェントの目標が、一般に、可能な最低価格を達成することであるのに対して、販売エージェントの目標は、一般に、可能な最高価格を達成することである。
【００４４】
最初にブロック１２２で、申し込み価格計算ブロック１２２が実行され、所望の取り引きに対する申し込み価格が生成される。次にブロック１２４で、計算済みの価格での申込みが、通常、メッセージを送信することにより、別の当事者（例えば市場、個人などの他のエージェント、コンピュータ・プログラムなど）に発行される。
【００４５】
エージェントは通常、非同期に動作し、そのために、他の当事者からの返答メッセージは、申し込みがされた以後の任意の時刻に到来し得ることが理解されよう。従って、エージェント１００が、決して到来しないかも知れない返答を待機して、ハングアップすることを防止するために、ブロック１２６で申し込み期間が計算され、ブロック１２７で、エージェント１００が返答を待機する最大時間にタイマがセットされる。
【００４６】
次にブロック１２８で、エージェント１００はタイマの１回目の満了、または他の当事者からの返答メッセージの受信を待機する。当業者には、エージェント１００が他の当事者からの返答を待機する間、エージェントは他の操作を延期したり、或いは申し込み期間の間に、他の操作の実行を継続し得ることが理解されよう。例えば、１つの実施例では、返答の受信またはタイマの満了が割込みを生成し、これがエージェント１００の実行を転じ、いずれの状況も適切に処理する。また、別の実施例では、エージェント１００が、各交渉セッションに対して実行される別のスレッドとマルチスレッド処理され、それにより各スレッドは、タイマが満了するまで、エージェントの全体操作を延期する必要なしに、単に返答を待機するように許可される。更に、他の実施例では、受信された返答が別々に記録され、エージェントは返答を周期的に、及び（または）タイマの満了時にチェックするだけである。申し込み期間は異なるアプリケーションに対応して、多大に変化し得ることが理解されよう。例えば、株式市場取り引きなどの一部のアプリケーションでは、１コンピュータ・サイクルまたはそれ以上の短い申し込み期間が可能である。不動産取り引きなどの他のアプリケーションでは、申し込み期間は数日、数週間、数カ月またはそれ以上と、長くてよい。
【００４７】
申し込み期間内に返答が受信されない場合、制御はブロック１３０に移行し、（必要に応じて）申し込みを撤回し、交渉を完了または終了する。申し込みは、適切なメッセージを他の当事者に送信し、その申し込みを市場状況から除去することにより（例えば申し込みの"掲示板"が掲げられていた場合）、或いは単に交渉を終了することにより、撤回される。交渉完了状況は一般に、エージェント１００が他の当事者からの他の申し込みを待機するために、または交渉すべき他の当事者を探し出すために解放されることを示す。
【００４８】
返答メッセージが他の当事者から受信される場合、制御はブロック１３２に移行し、取り引きを完了するべきか否か（すなわち取り引きを成立するか、"取り引きを止める"か）を判断する。返答メッセージが受諾可能な返答を示す場合、制御はブロック１３４に移行し、取り引きを完了する。これは例えば、適切なメッセージを他の当事者に送信し、エージェント・ホストに取り引き詳細を知らせ、認可を要求するかまたは取り引きが完了したことを示すメッセージを、クライアントに送信することなどによる。
【００４９】
しかしながら、受諾不能な返答が受信される場合には、制御はブロック１３６に移行し、修正申し込みをするか否か、すなわち交渉を継続するか否かを判断する。修正申し込みをすべきでないと判断されると、ルーチン１２０及び他の当事者との交渉は完了する。更に、要求に応じて、他の当事者、エージェント・ホスト、及び（または）クライアントへの、交渉の完了を示すメッセージが生成され得る。
【００５０】
修正申し込みをする場合には、制御はブロック１３８に移行し、修正申し込みをするための待機時間を計算し、次にブロック１３９に移行して、計算済みの期間を待機する。その後、制御はブロック１２２に移行し、新たな申し込みまたは修正申し込みを発行する。代わりに、待機時間が使用されずに、即時修正申し込みが発行されてもよい。
【００５１】
エージェント１００は１度に２つ以上の他の当事者と交渉を行ってもよく、その場合、各交渉セッションに対して、図５に示されるプログラム・フローと類似のフローが実行される。各交渉セッションは別々の実行スレッド、または他のコンテキスト切り替え機構を用いて実行され得る。
【００５２】
上述のように、ルーチン１２０の１つ以上の動作パラメータがランダム化され、エージェント１００の交渉性能を改善するように制約される。図５の図示の実施例では、ブロック１２２における申し込み価格の計算、ブロック１２６における申し込み期間の計算、ブロック１３２における取り引きを完了すべきか否かの判断、ブロック１３６における修正申し込みをするか否かの判断、及びブロック１３８における待機時間の計算が、交渉戦術を偽装するためにランダム化されるか、或いは非生産的な交渉を制限するように制約される。しかしながら、本発明によれば、任意のこれらの動作パラメータのランダム化または制約が省略され、他の動作パラメータがランダム化または制約されてもよいことが理解されよう。
【００５３】
申し込み価格計算ブロック１２２で実行されるステップが、図６に詳細に示される。ブロック１２２は、（販売エージェントの）以前の言い値、及び（買付エージェントの）以前の付け値の他に、所望の取り引きの値の以前の計算の記録を保持する。これらの値は、続く修正申し込みに対するエージェントの申し込み価格を変化するために使用される。
【００５４】
最初に、ブロック１４０は所望の取り引きの値（Ｖ）、すなわち、エージェントが見なす購入される商品またはサービスの実際の値、またはエージェントが見なすそのクライアントの"公正"な価格を決定する。この値を決定する１つの好適なプロセスは、図１１乃至図１３に関連して以下で詳述されるが、代わりに他のプロセスも使用され得る。
【００５５】
次にブロック１４２及び１４４が実行され、所望の取り引きの決定値に対するあらゆる変化を鑑み、（販売エージェントの）以前の言い値、及び（買付エージェントの）以前の付け値を調整する。結果的に、エージェント１００が現繰り返しと以前の繰り返しに対する決定値間に大きな変化を検出すると、以前の言い値及び付け値に対して記憶された値が、それに従い、取り引きの新たな値を反映するように調整される。従って、エージェント交渉ルーチン１２０のｎ回の繰り返しに対して、ブロック１４２及び１４４は、次のように表現され得る。
（数１）
Ａn-1＝Ａn-1,old＋（Ｖn−Ｖn-1）
Ｂn-1＝Ｂn-1,old＋（Ｖn−Ｖn-1）
【００５６】
ここでＡn-1は調整後の以前の言い値であり、Ｂn-1は調整後の以前の付け値であり、Ａn-1,oldは調整以前の以前の言い値であり、Ｂn-1,oldは調整以前の以前の付け値であり、Ｖnは所望の取り引きの現決定値であり、Ｖn-1は以前の決定値である。
【００５７】
ブロック１４０乃至１４４は、エージェント交渉ルーチン１２０の１度目の繰り返しの間、実行されなくてもよいことが理解されよう。更に、特定のアプリケーションでは、これらのブロックを決して実行する必要がないかも知れない。これは特に、交渉が短い時間フレームにわたり発生し、所望の取り引きの市場において、交渉の間に値の変化が期待されない状況において当てはまる。
【００５８】
以前の言い値及び付け値が調整された後、任意選択のブロック１４５が実行され、交渉が行われている他の当事者の実質価格を検出しようとする。他の当事者の実質価格を検出するたくさんの方法が使用され、通常は曲線近似アルゴリズムを用いて、他の当事者の以前の申し込みを推測し、実質価格または取り引きが完了され得る（エージェント１００に関する）最善価格を見い出す。
【００５９】
例えば、別の当事者が、毎回少しずつ現申し込みと実質価格との差を低減することにより、実質価格に近づこうとするかもしれない。各申し込みを追跡することにより、時間にわたるデータ・ポイントが曲線に当てはまり、平均二乗誤差または根二乗平均誤差を最小化する。例えば、曲線は次のように表される。
（数２）
Ｐn＝Ｒ＋（Ｐ0−Ｒ）×ｅ-cn
Ｅ＝Σ（Ｙn−Ｐn）2
【００６０】
ここでＲは実質価格、Ｙnは申し込み、Ｐnは曲線により予測される申し込みの値、ｃは定数、そしてＥは誤差である。Ｒ、Ｐ0及びｃが、誤差を最小化するように調整されることが理解されよう。
【００６１】
上述の式は、申し込みが一定の実質価格に近づくことを仮定する。実質価格が値上がり若しくは値下がりしたり、他の要因により時間と共に変化している場合、Ｐnの式はそれに従い変化し得る。また、上述の式は、申し込みが固定時間間隔で発生することを仮定しており、そうでない場合には、インタバル変数ｎの代わりに時間変数ｔを使用することにより、式は時間に従い変化し得る。誤差は、ｎ及びｔ領域のいずれか一方または両方にもとづき最小化され、これらの領域は、実質価格の検出において使用される最小誤差を提供する。
【００６２】
他の曲線近似技法が代わりに使用されてもよい。他の式もＰnの予測値を計算するために使用され得る。更に、他の当事者の実質価格を予測するために、神経網が使用されてもよい。例えば、別の当事者の交渉戦術に対して、その当事者の次の申し込みを計算する場合、エージェント１００により発行される申し込みに頼ることは、珍しくない。こうした状況では、エージェント１００により発行される申し込みは、実質価格を予測するためのデータ・ポイントとしても使用され得る。例えば、エージェント１００が買付エージェントである場合、次の式が使用され得る。
（数３）
Ｐsn＝Ｒ＋（Ｐs0−Ｒ）×ｅ-cn
Ｐbn＝Ｒ＋（Ｒ−Ｐs0）×ｅ-cn
Ｅ＝Σ（Ｙsn−Ｐsn）2＋Σ（Ｙbn−Ｐbn）2
【００６３】
ここでＲは実質価格、Ｙsnは売申し込み、Ｙbnは買申し込み、Ｐsnは曲線により予測される売申し込みの値、Ｐbnは曲線により予測される買申し込みの値、ｃは定数、そしてＥは誤差である。
【００６４】
他方、エージェント１００が販売エージェントの場合、次の式が使用され得る。
（数４）
Ｐbn＝Ｒ＋（Ｐb0−Ｒ）×ｅ-cn
Ｐsn＝Ｒ＋（Ｒ−Ｐb0）×ｅ-cn
Ｅ＝Σ（Ｙsn−Ｐsn）2＋Σ（Ｙbn−Ｐbn）2
【００６５】
ここでＲは実質価格、Ｙsnは売申し込み、Ｙbnは買申し込み、Ｐsnは曲線により予測される売申し込みの値、Ｐbnは曲線により予測される買申し込みの値、ｃは定数、そしてＥは誤差である。
【００６６】
例えば十分なデータ・ポイントが獲得されていない交渉の初期には、或いはより高度な交渉戦術が使用されている場合には、他の当事者の実質価格が検出可能でないかも知れない。結果的に、こうした状況では、ブロック１４５におけるエージェント１００の次の申し込みの決定において、実質価格の使用が省略され得る。
【００６７】
次に、ブロック１４６及び１４８が実行され、（買付エージェントにおける）最大及び最小付け値、または（販売エージェントにおける）最大及び最小言い値を計算する。最大及び最小価格は、エージェントにより申し込みがされ得る許容価格の範囲を表す。
【００６８】
買付エージェントにとって、最大及び最小付け値は次のように選択され得る。
（数５）
ｍａｘ＝ＭＩＮ（Ｖn−Ｐ，Ａn-1，Ｒ）
ｍｉｎ＝ＭＡＸ（Ｖn−Ｐ−Ｍ，Ｂn-1）
【００６９】
ここでＰは、エージェントが取り引きを完了するために獲得しなければならない必須（最小）の利益であり、Ｍは交渉の開始ポイントとして使用される交渉マージンである。これらの両方の値は、エージェントへの入力として提供され、エージェントの振る舞いに対する制約として作用する。
【００７０】
更に、最大付け値は、他の当事者に対して検出される実質価格により制約される。なぜなら、この時点では、他の当事者がこの価格において申し込みを受諾するであろうことが知られているからである。他の当事者が実質価格を下げる用意があることが予想される場合には、マージンも実質価格から減算され得る。実質価格が検出されない場合には、この項は最大付け値計算から脱落され得る。
【００７１】
販売エージェントにとって、最大及び最小言い値は次のように選択される。
（数６）
ｍａｘ＝ＭＩＮ（Ｖn＋Ｐ＋Ｍ，Ａn-1）
ｍｉｎ＝ＭＡＸ（Ｖn＋Ｐ，Ｂn-1，Ｒ）
【００７２】
更に、最小言い値は、他の当事者に対して検出される実質価格により制約される。なぜなら、この時点では、他の当事者がこの価格において申し込みを受諾するであろうことが知られているからである。他の当事者が実質価格を上げる用意があることが予想される場合には、マージンも実質価格に加算され得る。実質価格が検出されない場合には、この項は最小言い値計算から脱落され得る。
【００７３】
エージェント交渉の最初の繰り返しでは、以前の言い値及び付け値が存在しないので、最小及び最大関数はそれらのそれぞれの残りの項に単純化される。しかしながら、続く繰り返しでは、言い値の範囲が減少するが、その減少は販売エージェントの必須の利益を提供しないまでには至らない。また、付け値の範囲は、一般に各繰り返しと共に増加するが、買付エージェントの必須の利益を提供しないまでには決して至らない。
【００７４】
次にブロック１４９で、ブロック１４６及び１４８で計算された最小及び最大価格の間で、ランダム価格を選択することにより、ランダム化された申し込み価格が計算される。買付エージェントにとって、申し込み価格すなわち現付け値は、次のようにセットされる。
（数７）
Ｂn＝ｍｉｎ ＋ ｒａｎｄｏｍ ×（ｍａｘ−ｍｉｎ）
【００７５】
他方、販売エージェントにとって、申し込み価格すなわち現言い値は、次のようにセットされる。
（数８）
Ａn＝ｍｉｎ ＋ ｒａｎｄｏｍ ×（ｍａｘ−ｍｉｎ）
【００７６】
ここでｒａｎｄｏｍは、０乃至１の間の乱数である。
【００７７】
従って、ランダム・ノイズの度合いが申し込み価格の計算に加算され、それにより交渉戦術の検出を防止する。更に、許容価格の選択範囲が、各連続する繰り返しによっても制約される。他の値付け戦術も代わりに使用され得る。例えば、申し込み価格が、（買付エージェントにとっては）単に最後の言い値から固定量または固定率を減算することにより、或いは（販売エージェントにとっては）最後の付け値に固定量または固定率を加算することにより、選択され得る。更に、所望の取り引きの値を決定する代わりに、この情報がエージェント・マネージャによりエージェント１００に、遠隔的に提供され得る。
【００７８】
図７は、図５の申し込み期間計算ブロック１２６のステップを詳細に示す。このブロックでは、交渉における繰り返し（サイクル）の回数、及び他の当事者から受信される最後の申し込みにより制約されるランダム待機時間が、確率関数を用いて計算される。
【００７９】
買付エージェントにとって、ブロック１５０が最初に実行され、待機確率値Ｐwaitを０乃至１の間で計算する。図示のように、Ｐwaitは２つの確率関数、すなわちＰcycles及びＰaskedの積として計算される。Ｐcyclesは、サイクル数または繰り返し回数の増加に伴い、１から０に減少する関数である。例えば、Ｃがサイクル数であり、Ｃmaxが許容される交渉サイクルの最大数である場合、１つの好適な関数は、以下のようになる。
（数９）
Ｐcycles＝１−（Ｃ／Ｃmax）
【００８０】
Ｐaskedは、他の当事者から受信される最後の言い値Ａn-1にもとづき、１から０へ減少する関数である。Ｐasked関数は、以前の言い値が存在しない最初の繰り返しの間、一定値または別の関数により置換され得る。更に、Ｐasked関数は、最初の繰り返し（サイクルＣ＝０）の後に、計算済みの最小付け値ｍｉｎ0の範囲が、他の当事者からの最初の言い値Ａ0に及ぶように初期化され得る。好適な関数は次のようである。
（数１０）
Ｐasked＝１−（（Ａn-1−ｍｉｎ0）／（Ａ0−ｍｉｎ0））
【００８１】
販売エージェントにとって、ブロック１５２が代わりに実行され、Ｐwaitを計算する。このブロックでは、ＰwaitがＰcyclesとＰbidの積として計算される。Ｐcyclesは、ブロック１５０におけるのと同一の関数である。Ｐbidは、他の当事者から受信される最後の付け値Ｂn-1にもとづき、０から１に増加する関数である。Ｐbid関数は、以前の付け値が存在しない最初の繰り返しの間、一定値または別の関数により置換され得る。更に、Ｐbid関数は、最初の繰り返し（サイクルＣ＝０）の後に、他の当事者からの最初の付け値Ｂ0の範囲が、計算済みの最大言い値ｍａｘ0に及ぶように初期化され得る。好適な関数は次のようである。
（数１１）
Ｐbid＝（（Ｂn-1−Ｂ0）／（ｍａｘ0−Ｂ0））
【００８２】
Ｐwaitは、サイクル数が増加すると、減少する傾向があることが理解されよう。更に、Ｐwaitは、他の当事者の申し込みがエージェントにどのくらい好都合であるかに依存して、大きくなる傾向がある（すなわち、買付エージェントの場合、他の当事者からのより安価な申し込みが、より高いＰwait値を生じ、販売エージェントの場合にはその逆である）。これらの制約は、時間が増加するとき、及び（または）他の当事者が、エージェントにとって許容価格に向けて収束していると思われない場合、申し込み期間を低減する傾向がある。
【００８３】
任意の前記関数は、エージェント１００の性能を変更するために、異なる分布を使用し得る。例えば、異なる一次関数、指数関数、対数関数などが、Ｐwait、Ｐasked及びＰbidとして使用され、関数、サブルーチン、またはテーブルとして実現され得る。更に、どの関数も連続的、または単調増加または単調減少する必要はない。
【００８４】
ブロック１５０またはブロック１５２の実行の後、制御はブロック１５４に移行し、確率三角形を生成する。これは底辺が０乃至１、ピークがＰwaitで、面積が１に正規化される。次に、ブロック１５６で、三角形を積分することによりシグモイド関数を獲得し、この関数を続いて転置することにより、確率分布を得る。確率分布は、Ｐwaitの値に近い程、重く重み付けされる。０と１の間の乱数がブロック１５７で選択され、この乱数がブロック１５８で、導出されたシグモイド関数に入力され、最大待機時間waitmax及び最小待機時間waitminの間のランダム申し込み期間を計算するために使用される。
【００８５】
最大及び最小待機時間は通常、エージェントが対話する市場の特定の状況に依存して選択される（例えば、不動産市場における許容申し込み期間は通常、株式市場における許容申し込み期間と異なる）。これらの期間は、必要に応じてユーザ入力により制御され得る。
【００８６】
他の確率分布が代わりに使用されてもよい。例えば、確率三角形の代わりに、Ｐwait周辺で分布が増加または減少する他の関数が使用され得る。更に、ブロック１２６が、単に許容待機時間の範囲内で等しい分布を有するランダム申し込み期間を計算したり、或いは固定申し込み期間が使用されてもよい。更に、一部のアプリケーションでは、無限申し込み期間が使用され得る。しかしながら、ここで開示されるブロック１２６は、より有望な交渉のために、申し込み期間を延長する一方で、交渉が生産的と思われない場合に、申し込み期間を短縮する利点を有する。
【００８７】
図８は、図５の取り引きを完了するか否かを判断するブロック１３２のステップを詳細に示す。最初にブロック１６０で、言い値が付け値と比較される。言い値が付け値以下である場合、これは取り引きにおける好適な価格に達したことを示し、従って制御はブロック１３４（図５）に戻り、取り引きを完了する。言い値が付け値よりも大きい場合、制御はエージェント１００が買付エージェントか販売エージェントかに依存して、ブロック１６２またはブロック１６４のいずれかに移行する。
【００８８】
買付エージェントの場合、ブロック１６２が実行され、エージェント１００が他の当事者の最後の申し込みを受諾する確率を表す、受諾確率値Ｐacceptを計算する。これは０乃至１の間の数であり、その最後の申し込みが完全に同意されたか否かに関わらない。Ｐacceptは０乃至１の確率範囲を、受諾部分と拒絶部分とに分割し、この確率範囲内で選択される乱数は、受諾部分または拒絶部分のいずれかに含まれ、取り引きの完了の可否を制御する。
【００８９】
Ｐacceptは２つの確率関数、Ｐcycles及びＰaskedの積として計算される。Ｐcyclesは、サイクルまたは繰り返しの回数Ｃ、並びに交渉における最大許容サイクル数Ｃmaxにもとづき、０から１に増加する関数であり、次のように表される。
（数１２）
Ｐcycles＝（Ｃ／Ｃmax）
【００９０】
Ｐaskedは、他の当事者から受信される現言い値Ａnにもとづき、１から０に減少する関数である。Ｐasked関数は、図６のブロック１２２で計算された現付け値Ｂnと最大付け値ｍａｘとの間の現言い値の関数である。例えば、１つの好適な関数は次のようである。
（数１３）
Ｐasked＝１−（（Ａn−Ｂn）／（ｍａｘ−Ｂn））
【００９１】
結果的に、取り引きが完了される確率は、現言い値及び付け値がどれだけ接近しているかに依存する他に、時間の経過に従い増加する。この確率関数では、ブロック１２２で計算された最大価格より高い申し込みを受諾する確率は、ゼロである。
【００９２】
販売エージェントの場合、ブロック１６４が代わりに実行され、ＰacceptをＰcyclesと別の確率関数Ｐbidとの積として計算する。Ｐcyclesは、ブロック１６２で使用されたものと同一である。Ｐbidは他の当事者から受信される現付け値Ｂnにもとづき、０から１に増加する関数であり得る。Ｐbid関数は、図６のブロック１２２で計算済みの最小言い値ｍｉｎと現言い値Ａnとの間の、現付け値の関数である。例えば、１つの好適な関数は次のようである。
（数１４）
Ｐbid＝（（Ｂn−ｍｉｎ）／（Ａn−ｍｉｎ））
【００９３】
結果的に、取り引きが完了される確率は、現言い値及び付け値がどれだけ接近しているかに依存する他に、時間の経過に従い増加する。この確率関数では、ブロック１２２で計算された最小価格より低い申し込みを受諾する確率は、ゼロである。更に、任意の上記関数が、エージェント１００の全体性能を変更するために、例えば異なる一次関数、指数関数、対数関数などの異なる分布を使用し得ることが理解されよう。これらの分布は、関数、サブルーチン、またはテーブルとして実現され得る。更に、いずれの関数も連続的であったり、単調増加または単調減少する必要はない。
【００９４】
次に、確率範囲０乃至１の間の乱数が、ブロック１６６で選択される。この乱数がブロック１６８で、Ｐacceptと比較される。乱数がＰaccept以下である場合、他の当事者からの最後の申し込みが受諾され、制御は図５のブロック１３４に移行する。乱数がＰacceptよりも大きい場合には、最後の申し込みが拒絶され、制御は図５のブロック１３６に移行し、修正申し込みがされるべきか否かを判断する。
【００９５】
取り引きを完了するための他の規則が、代わりに使用されてもよい。例えば、買付エージェントが、初期言い値未満の任意の申し込みを受諾するように、若しくは付け値以下の申し込みだけを受諾するように、または最大付け値未満の任意の申し込みを受諾するように構成され得る。同様に、販売エージェントは、初期付け値よりも高い任意の申し込みを受諾するように、若しくは言い値以上の申し込みだけを受諾するように、または最小言い値より高い任意の申し込みを受諾するように、構成され得る。
【００９６】
図９は、図５の修正申し込みをするか否かを決定するブロック１３６のステップを詳細に示す。エージェント１００が買付エージェントの場合、ブロック１７０が実行され、修正申し込み確率値Ｐcounterを計算する。これはエージェント１００が修正申し込みをすることにより、交渉を継続する確率を表す０乃至１の間の数である。Ｐcounterは０乃至１の範囲の確率を、修正申し込み部分と修正申し込み不履行部分とに分割し、この確率範囲内で選択される乱数はいずれか一方の部分に含まれ、修正申し込みをするか否かを制御する。
【００９７】
Ｐcounterは２つの確率関数、Ｐcycles及びＰaskedの積として計算される。Ｐcyclesは０乃至１の間の減少関数であり、例えば図７のブロック１５０及び１５２で使用されたＰcycles関数と同一である。Ｐaskedは、他の当事者から受信される現言い値Ａnにもとづき、１乃至０の間で減少する関数である。例えば、１つの好適な関数は次のようである。
（数１５）
Ｐasked＝１−（（Ａn−Ｂn）／（Ａmax−Ｂn））
【００９８】
ここでＡmaxは通常、ｍａｘよりも大きい値であり、修正申し込みが考慮されるべき最大言い値を表す。Ａmaxは例えばｍａｘより大きな固定率または定数であり、別の当事者からの合理的な申し込みとして期待されるべきものより上の、取るに足らない申し込みを検出するために作用する。
【００９９】
結果的に、修正申し込みがされる確率は時間の経過に従い減少し、非生産的な交渉を制限しようとする。また、修正申し込みがされる確率は、現言い値と付け値がどの程度接近しているかに依存して増加する。
【０１００】
販売エージェントの場合、ブロック１７２が代わりに実行され、ＰcounterをＰcyclesと別の確率関数Ｐbidとの積として計算する。Ｐcyclesは、ブロック１７０で使用されたものと同一である。Ｐbidは他の当事者から受信される現付け値Ｂnにもとづき、０から１に増加する関数であり得る。例えば、１つの好適な関数は次のようである。
（数１６）
Ｐbid＝（（Ｂn−Ｂmin）／（Ａn−Ｂmin））
【０１０１】
ここでＢminは通常、ｍｉｎよりも小さい値であり、修正申し込みが考慮されるべき最小付け値を表す。Ｂminは例えばｍｉｎより小さな固定率または定数であり、別の当事者からの合理的な申し込みとして期待されるべきものより上の、取るに足らない申し込みを検出するために作用する。
【０１０２】
ブロック１５０、１５２、１６２及び１６４と同様、ブロック１７０及び１７２の任意の上記関数は、エージェント１００の全体性能を変更するために、例えば異なる一次関数、指数関数、対数関数などの異なる分布を使用し得る。これらの分布は、関数、サブルーチン、またはテーブルとして実現され得る。更に、いずれの関数も連続的であったり、単調増加または単調減少する必要はない。
【０１０３】
次に、確率範囲０乃至１の間の乱数が、ブロック１７４で選択される。この乱数がブロック１７６で、Ｐcounterと比較される。乱数がＰcounter以下である場合、修正申し込みがされ、制御は図５のブロック１３８に移行する。乱数がＰcounterよりも大きい場合には、修正申し込みはされずに交渉が終了される。
【０１０４】
修正申し込みをするか否かを決定する他の方法も使用され得る。例えば、修正申し込みが常にされてもよいし、決してされなくてもよい。更に、修正申し込みが固定サイクル数だけされてもよい。他の代替例も当業者には明らかであろう。
【０１０５】
図５に戻り、ブロック１３８はまた、エージェント１００の交渉戦術を偽装するためにランダム化され得る。ブロック１３８は乱数を検索し、許容待機時間の範囲内から選択することにより、待機時間を計算する。ここで許容待機時間は、エージェントが行動する特定の市場特性にもとづき選択される最小時間及び最大時間により指定される。好適な関数は次のようである。
（数１７）
待機時間＝最小時間＋（最大時間−最小時間）×乱数
【０１０６】
代わりに、一定の待機時間（０も可）がブロック１３８で使用されてもよい。更に、申し込み期間の計算に類似の重み付け関数が実行され、交渉の期間及び（または）他の当事者の振る舞いを鑑み、待機時間を変化してもよい。
【０１０７】
一般に、ランダム化は、エージェント１００の交渉戦術に関連するたくさんの数の動作パラメータまたは特質に対して実行され、このことが他の当事者がエージェントの交渉戦術を検出する能力を、効果的に妨げることが理解されよう。
【０１０８】
また、交渉における当事者の予測不能性は、しばしばその当事者にとって、より好ましい結果に導く。なぜなら、別の当事者が取り引きを取り逃す危険を冒さなくなるであろうからである。例えば、エージェント１００が決まって５日の申し込み期間をセットすることが知られている場合、これを知る別の当事者は、元の申し込みがまだ有効であることを知っているので、４日のより好都合な申し込みを探し得る。しかしながら、申し込み期間が知れていなければ、他の当事者はその申し込みを失う危険を冒すよりも、単にその申し込みを受諾し得る。
【０１０９】
更に、たくさんの動作パラメータまたは特質が、交渉期間及び別の当事者の振る舞いを含む様々な要因により、上述の開示のように制約され得る。このことがエージェントに対して安定度を提供する。なぜなら、生産性の低い交渉は平均してより迅速に終了され、エージェントが他により生産的な交渉を探すことを可能にする。更に、このことは、エージェントを取るに足らない交渉に拘束し、その間にエージェントに損害を与えて取り引きを完了しようとする他の競合する当事者による操作を低減する。
【０１１０】
エージェント１００の振る舞いはまた、別の当事者の識別または他の当事者の了解済みの信頼度または合法性にもとづき、好適な確率関数により制約され得る。この関数は、既知の有効な当事者との交渉に比較して、不確かなまたは未知の当事者との交渉を制限するように開発される。例えば、別のエージェントを識別する１つの好適な方法は、図１０のエージェント識別ルーチン１８０により示される。このルーチンでは、既知のエージェントのデータベースが使用され、未知のエージェントの特質がデータベースに対して比較され、未知のエージェントを既知のエージェントの１つに突き合わせる。
【０１１１】
ルーチン１８０は、１つ以上の属性形式による未知のエージェントに関する情報を収集することにより、ブロック１８１で開始する。例えば、ルーチン１８０は未知のエージェントに関するこうした情報を、その名前または識別、そのクライアント、銀行及び（または）銀行口座番号、その本拠地の位置（例えばＩＰアドレスまたはドメイン）、エージェント・プログラムの名前または識別、メッセージ及びエージェントとの他の通信が発生するエージェント・プログラムのサイズ、及び（または）ＣＰＵサイクルと比較した入出力（Ｉ／Ｏ）伝送のためのＩ／Ｏパターンとして、獲得しようとする。また、ルーチン１８０は未知のエージェントから、クレジット・カード番号または銀行口座番号を検索し、それを確認しようとする。更に、未知のエージェントが走査され、他の既知のエージェントと比較されたりする。これは例えば、同一のコードの割合を比較したり、エージェントが記入された言語を判断したり、或いはちょうどウィルス・チェック用プログラムのように、固有のパターンを探索することなどによる。
【０１１２】
未知のエージェントの分析のために、どのような属性が選択されようと、各要因は重み係数を割り当てられ、全ての重み係数の合計は１に等しくなる。次にブロック１８２乃至１８６で、ループが実行され、未知のエージェントに対して検索された全ての属性が、データベースに記憶される既知のエージェントと比較される。ブロック１８２では、既知のエージェントの属性が検索され、ブロック１８３乃至１８６で、未知のエージェントの各属性が、既知のエージェントの対応する属性と比較される。あらゆる属性が合致すると、それらの対応する重み係数がブロック１８５で累算される。
【０１１３】
次にブロック１８７で、累算された重み係数（以下、累算重み係数）が、既知のエージェントとの合致を示す最小重み係数を表す最小しきい値と比較される。しきい値が越えられる場合、ブロック１８８が累算重み係数を、分析中のエージェントの以前の最大（これは初期には０にセットされる）と比較する。累算重み係数が以前の最大を越える場合（より可能性の高い合致を示す）、ブロック１８９で、既知のエージェントの識別及び累算重み係数が、新たな最大として記憶される。最小しきい値または以前の最大のいずれかが越えられない場合には、ブロック１８９がスキップされる。
【０１１４】
次にブロック１９０で、未知のエージェントが、データベース内のあらゆる追加の既知のエージェントと比較されなければならないか否かが判断される。比較されなければならない場合、制御はブロック１８２に移行し、未知のエージェントをデータベース内の次の既知のエージェントと比較する。全ての既知のエージェントが処理されると、制御はブロック１９１に移行し、既知のエージェントの識別及びそれの累算重み係数を報告し、ルーチンを終了する。
【０１１５】
本発明の一部の実施例では、既知のエージェントの記録の一部が既知のエージェントのカテゴリを表し、そこでは１つまたは幾つかの属性だけが強調される。このことは、とりわけ特殊な状況の中でも、例えば既知の不正なドメインから発するエージェントが、他の属性に関係なしに、特殊に処理されることを可能にする。
【０１１６】
ルーチン１８０により提供される情報にもとづき、本発明に従う交渉ルーチンは、未知のエージェントを有効、不正、未知として分類できたり、或いは信頼度の分布を有効から不正まで定義し得る。この分類にもとづき、１つ以上の交渉特性が上述のようにルーチン１２０により制約されるか、一部のアプリケーションでは即時終了され得る。更に、特定のエージェントとの交渉の結果が、既知のエージェントのデータベースにフィードバックされて、既知のエージェントの信頼度が変更され、それによりデータベースを拡張及び改良する。なぜなら、エージェントが経験を得るからである。例えば、既知のエージェントの学習済みの振る舞いにもとづき、エージェントの信頼度の格付けを生成するために、神経網が使用される。
【０１１７】
上述のエージェント交渉ルーチンの他の機能も、本発明に従い生成され得る。更に、任意の上述の機能がエージェント・マネージャにシフトされてもよく、それにより、交渉戦術の一部がエージェント内に常駐するか、全く存在しなくなり、従ってエージェントは、エージェント・マネージャと他の当事者との間の仲介として大いに作用する。
【０１１８】
値決定：
所望の取り引きの値は、エージェント１００により動的に決定され、これは部分的には、１つ以上の情報源からの値評価を結合することによる。複数の値評価が、例えば値評価の加重平均を取ることにより、結合され得る。但し、本発明によれば、他の方法も使用され得る。更に、以下で詳述されるように、所望の取り引きの値は、少なくとも部分的には、現在または過去にかかわらない複数の関連取り引きから、それらの所望取り引きとの接近度にもとづき値評価を生成することによっても、決定され得る。所望取り引き及び関連取り引きの１つ以上の特質を比較することにより、所望取り引きに、より類似する関連取り引きが、より重く重み付けされ、従って値評価の決定において、より顕著に反映される。
【０１１９】
ここで述べられた評価プロセスは、交渉に対して１度実行されるか、或いは交渉における各繰り返し毎に１度のようにしばしば実行され、それによりクライアントにとって最善の取り引きを獲得するために、最新の情報が使用されることを保証する。このプロセスから検索される値から、交渉マージン及び（または）必須の利益マージンを適宜加算または減算することにより、申し込み価格が決定され得る。
【０１２０】
図１１は、動的値決定モジュールを示し、これはモジュールに入力される所望の取り引きの値を予測するための、４つのタイプの情報源を提供する４つのデータベースを含み、保守する。後述の論議から明らかとなるように、異なるデータベースが異なる商品及びサービス同様、異なる市場へのより大きな適用性を有する。従って、ここで開示される４つのデータベースは、全てのアプリケーションに対して要求される訳ではない。他のタイプのデータベースも、本発明に従い充当され得る。
【０１２１】
第１のデータベースは、基準値及びデルタ値データベース２０２であり、これは自動車バイヤー・ガイドに類似し、ここでは商品が基準値を有し、これは特定の商品に対する１つ以上の任意選択フィーチャに依存して、デルタ値により調整され得る。例えば、自動車バイヤー・ガイドにより、自動車は基準卸値及び小売り価格と、走行距離及び任意選択装置に依存して、基準価格を調整するデルタ価格とを有する。
【０１２２】
第２のデータベースは、値計算のための規則のデータベース２０４であり、これは値がデータベース２０２などの単純なデータベースにより定義され得ない、より複雑なアプリケーションに対して使用され得る。例えば、不動産の場合、好適なデータベースは、平方フィート数当たりの価格、位置情報、及び家のスタイルに加えて、特定の特質に対する可変の加減算などの規則により実現され得る。規則ベースのデータベースは、一般に既知であり、特定の商品及びサービス、及び（または）関連市場に依存して、多大に変化し得る。
【０１２３】
第３のデータベースは、取り引き履歴データベース２０６であり、これは過去の取り引きの記録を保持する。こうした記録には、取り引きの価格の他に、取り引きのタイプ、数量、及び時刻などの記述情報、並びに取り引きに関与した当事者が含まれる。第４のデータベースは、現市場情報を保持する現市況データベース２０８であり、こうした情報には、特定の取り引きに対する現価格（例えば言い値及び付け値）や、数量及び他の記述情報などの、価格に対するあらゆる制限が含まれる。現市場情報は現取り引きの記録を含み、これらには最近の完了済み取り引き、及び（または）未解決の売買申し込みなどの未完了の取り引きが含まれる。
【０１２４】
データベース２０２及び２０４は、しばしばかなり安定であり、外部資源から周期的に更新されるだけでよい（例えば、多くの自動車バイヤー・ガイドは月毎に若しくは四半期毎に、または年毎に更新される）。しかしながら、データベース２０６及び２０８は、しばしばより動的であり、エージェント１００に可能な最新の情報を提供するために、ほとんど連続的に更新される必要がある。
【０１２５】
図示の実施例では、データベース２０６及び２０８の更新は、別の市場監視エージェント２６０を介し実行される。市場監視エージェント２６０は、本拠地の全てのエージェントの取り引き履歴を保持したり、インターネットなどのネットワーク上でスヌープしたり、図書館、新聞、金融市場または政府記録などの公共資源をアクセスするなどにより、情報を獲得する。市場監視は、クライアント・システム内のエージェント・マネージャにより、或いはエージェント１００それ自身によっても処理され得る。市場監視エージェント２６０は主として、データ・マイニングまたは情報検索エージェントとして作用する。こうした監視エージェントの作用は一般に既知であるので、ここでは市場監視エージェント２６０については詳述しない。
【０１２６】
データベース２０２乃至２０８からの情報にもとづき、所望の取り引きに対する値評価が、４つの値評価器の内の１つ以上のものから獲得され得る。モジュール２００に入力される所望の取り引きは、通常、取り引きに対する記述情報を含み、これらには数量やフィーチャ、並びに、取り引きを詳細に記述し、一部の値評価を特定の取り引きに対して特定的に適合化させる他の特質が含まれる。
【０１２７】
第１の値評価は、合計基準及びデルタ値ブロック２１１に頼り、このブロックは、データベース２０２から、所望の取り引きに最も近い基準値及びデルタ値を検索する。ブロック２１１は次に検索値を合計し、第１の値評価に達する。
【０１２８】
第２の値評価は、エキスパート・システム２１０に頼り、データベース２０２、２０４のいずれか一方または両方から検索される情報から、値を計算する。エキスパート・システム２１０はまた、後述の値評価器２１５、２２０のいずれか一方または両方から、選択的に値評価を受信し、それ自身、その値評価を値評価器２１５、２２０に提供する。エキスパート・システム２１０に対応するエキスパート・システムの実施例、開発及びトレーニングは、一般に既知であり、本発明に準じて、たくさんの市販のエキスパート・システム開発パッケージが使用され得る。更に、エキスパート・システム２１０の特定の構成は、市場及び商品またはサービスに依存して、エージェント１００が交渉のために最適化されるように、多大に変化し得る。
【０１２９】
図示のように、１度に第１及び第２の値評価のいずれか一方が、例えば、取り引きの対象である商品またはサービスの価格範囲及び資産カテゴリに依存して、ＯＲゲート２１２により選択され得る。或いは、両方の予測が同時に使用されてもよい。
【０１３０】
第３の値評価は、比較用取り引き値評価器２１５を用いて獲得され得る。この評価器２１５は、データベース２０２及びエクスパート・システム２１０の他に、データベース２０６から入力を受信する。一般に評価器２１５は、過去の取り引きを所望の取り引きと比較し、過去の各取り引きに対して（但しフィルタリングされた取り引きは除く）、その取り引きと所望の取り引きとの接近度にもとづき、評価値を生成する。これは主に、所望の取り引きの特質を鑑み、過去の取り引きを標準化することにより達成される。評価値が次に後述のように、ブロック２３２乃至２４０で重み付けされ、合計される。
【０１３１】
比較用取り引き値評価器２１５が、図１２により詳細に示される。過去の取り引きの記述及び価格が、任意選択のフィルタ２０７（後述）を通じ、データベース２０６から受信される。過去の取り引きの記述が、差分ブロック２１６において、所望の取り引きの記述と比較され、過去と所望の取り引きの接近度または関連性（例えば数量、時刻、タイプなど）を表す１つ以上のデルタ記述信号が生成される。デルタ記述はデータベース２０２及びエキスパート・システム２１０に供給され、後者は過去と所望の取り引き間の記述変化を表すデルタ値を供給する。デルタ記述はまた、値評価を重み付けするための、１つ以上の取り引き接近度信号としても出力され得る。
【０１３２】
例えば、自動車の購入において、過去の取り引きが、皮製シートを除き同一の自動車に対するものである場合、皮製シートの値を表すデルタ値が出力され、皮製シートの値を除去するように、過去の取り引きの値を修正する。それにより、過去の取り引きを所望の取り引きの特質に標準化する。類似の修正が、過去の取り引きと所望の取り引き間の他の特徴的な特質に対しても実施され得る。
【０１３３】
デルタ値はまた、データベース２０２により出力され、任意選択の外挿（extrapolation）ブロック２１７に転送される。ブロック２１７は、商品またはサービスの値が時間に従い変化する（すなわち、上下する）アプリケーションにおいて（例えば株、自動車、不動産など）、時間変化を修正するための代替デルタ値を計算する。
【０１３４】
例えば、ブロック２１７は、特定の商品またはサービスにおける過去の取り引きの価格及び時刻の記録を保持する。個々の記録は最初に、データベース２０２により提供されるデルタ値にもとづき、標準化される。標準化された過去の取り引きから、曲線近似または他のルーチンが、商品の値の傾向を時間にわたり一時的に外挿または展開するために使用され得る。この傾向が、次に過去の取り引きの値を現市場状況に合わせて修正するために使用され得る。時間に伴う商品価格の上昇または下落は、ブロック２１７から出力されるデルタ値に考慮される。
【０１３５】
エキスパート・システム２１０及び外挿ブロック２１７のデルタ値出力は、商品またはサービスの特定のアプリケーション、市場及びタイプに依存して、ＯＲゲート２１８から選択的に出力される。或いは、２つの出力が重み付けされ、平均され、１つのデルタ値が生成されてもよい。いずれにしろ、ゲート２１８からのデルタ値出力は、合計ブロック２１９に転送され、過去の取り引きの価格に追加され、過去の取り引きに対する標準化された値評価が生成される。
【０１３６】
上述のように、過去の取り引きは任意選択のフィルタ２０７を通じて転送され、不確かな取り引きが値評価から除去される。それにより、他の当事者による操作の試行を防止する。これは後述のように、各過去の取り引きの重み付けに加えて、またはその代わりに実行され得る。
【０１３７】
例えば、既知の不確かなまたは不正なエージェントに関わる、或いはエージェント１００が現在交渉中のエージェントに関わる取り引きは、フィルタリングされ得る。それに加えて、別の当事者が多数の小さな取り引きに参入し、取り引きの市場価格に影響することを防止するために、特定のしきい値未満の少量取り引きは省かれ得る。更に、未決定の（受諾済みでない）申し込みは、過去の取り引きの傾向から大きく外れる局外的な取り引きであるので、フィルタリングされ得る。特に後述の需給値評価器２２０のために、過去の取り引きの傾向から外れる未決定の申し込みは、廃棄され得る。他の本来的に確実性の低い取り引きも、本発明に従いフィルタリングされ得る。
【０１３８】
図１１を参照すると、データベース２０６内の過去の取り引きの各々の値評価が、直列の重み付けブロック２３２、２３４、２３６及び２３８により、過去の取り引きと所望の取り引きとの接近度または類似性にもとづき、重み付けされる。取り引きを重み付けするために、たくさんの特質が使用され、それらには時刻の接近度（最近の取り引きを強調）、タイプの類似性（類似のフィーチャなどに対して取り引きを強調）、数量（より大きな取り引きを強調）、及び信頼度（異質の状況を有する取り引きは強調しない）が含まれる。
【０１３９】
図示の実施例では、重み付けブロック２３２及び２３４は、評価器２１５からデルタ記述値出力を受信し、所望の取り引きとのタイプの類似性及び時刻の接近度に依存して、評価値を重み付けする。従って、より最近の取り引きは強調され、所望の取り引きとタイプが類似する取り引きも強調される。
【０１４０】
重み付けブロック２３６は、過去の取り引きの数量を受信し、より大きな数量の取り引きを強調する（より重く重み付けする）。更に、重み付けブロック２３８は、過去の取り引きの信頼度に関連する信頼度信号を受信する。この信号は、例えば過去の取り引きに関連したエージェントを識別することにより、獲得され得る（例えば、図１０に関連して上述されたルーチン１８０による）。不確かなエージェント、または現交渉に関わる当事者と同一の当事者との取り引きは、値評価の保全性を維持するために、強調されない。
【０１４１】
ブロック２３２乃至２３８から出力される加重値評価は合計され、ブロック２４０で正規化される。このブロックの出力は、データベース２０６内の過去の取り引きの全てまたは少なくとも一部にもとづく、単一の値評価である。
【０１４２】
第４の値評価は、データベース２０８及びエキスパート・システム２１０から入力を受信する需給値評価器２２０を用いて獲得され得る。一般に、需給値評価器２２０は現売買申し込みを所望の取り引きと比較し、各申し込みに対して、その申し込みと所望の取り引きとの間の差にもとづき、評価値を生成する。これは主に、所望の取り引きの特質を鑑み、申し込みを標準化することを通じ達成される。
【０１４３】
需給値評価器２２０が、図１３により詳細に示され、そこでは比較用取り引き値評価器２２１がデータベース２０８から現売買申し込みを受信する。現売買申し込みは、所望の取り引きとのそれらの接近度にもとづき、別々に重み付けされ、次に合計されて正規化され、その結果、値評価が獲得され得る範囲が生成される。
【０１４４】
比較用取り引き値評価器２２１は、現申し込みが過去の取り引きとではなく、所望の取り引きと比較される以外は、比較用取り引き値評価器２１５と類似に構成される。評価器２２１もまた、データベース２０２及びエキスパート・システム２１０、更に評価器２１５と相互接続され得る。しかしながら、図１３では明瞭化のためにこれらの信号経路は省略されている。
【０１４５】
売申し込みは、複数の重み付けブロック２２２、２２３及び２２４により重み付けされ、次にブロック２２５で合計され、正規化される。同様に、買申し込みは、複数の重み付けブロック２２６、２２７及び２２８により重み付けされ、次にブロック２２９で合計され、正規化される。重み付けブロック２２２及び２２６の制御は、評価器２２１により提供され、評価器２２１は、各申し込みと所望の取り引き間のタイプの類似性にもとづき、重み付け信号を供給し、それにより、より関連の深い申し込みを強調する。重み付けブロック２２３及び２２７の制御も評価器２２１により提供され、評価器２２１は各申し込みの数量にもとづき重み付け信号を供給し、それにより、より大きな数量の申し込みを強調する。重み付けブロック２２４及び２２８の制御は、信頼度信号、例えば図１１のブロック２３８に提供される信号により提供され、不確かなエージェントからの、または交渉が現在進行中のエージェントと同一のエージェントからの不確かな申し込みを強調しない。
【０１４６】
ブロック２２５及び２２９の出力は、通常、範囲の最小及び最大値を表す。なぜなら、売申し込みは通常、平均して買申し込みよりも低いからである。この出力は範囲から値を決定するブロック２３０に提供され、このブロックは現市場状況にもとづき、値評価を出力する。ブロック２３０は多様に作用し、売買申し込みの範囲内で、値を選択する。例えば、ブロック２３０は範囲の中間点を取ったり、或いはエージェント１００が販売エージェントか買付エージェントに依存して、申し込みの最大または最小を取ったりする。より好都合な価格（例えば、販売エージェントにとって最大、買付エージェントにとって最小）が選択され得る。或いは、利益及び交渉マージンが申し込み計算において追加されるので、好都合でない価格（例えば販売エージェントにとって最小、買付エージェントにとって最大）が使用され得る。更に、ブロック２２５及び２２９の出力が、売買申し込みの数に従い重み付けされたり、或いは同等の重みを売買申し込みに与えるように、反対に重み付けされてもよい。値評価を選択する他の方法も、代わりに使用され得る。
【０１４７】
需給値評価器２２０に対する多数の変更が、本発明に従い可能である。例えば、売買申し込みの加重平均は、全ての売申し込みの最小、及び全ての買申し込みの最大により置換され得る。その上、単一の重み付け及び正規化ステップが、売買申し込みの両方に対して使用され得る。更に、売買申し込みは上述のように、過去の取り引きに対してフィルタリングされ、評価計算において考慮される申し込みのタイプを制限する。
【０１４８】
図１１に戻り、評価器２１５及び２２０、及びＯＲゲート２１２から出力される値評価は、重み付けブロック２５０に供給される。重み付けブロック２５０は、各値評価に対して、別々の重み付けブロック２５２、２５４及び２５６を含む。各重み付けブロックは、モジュール２００に入力される相対重みを介し制御され、３つのブロック２５２、２５４及び２５６への重みの合計は１である。重み付けされた値評価が次にブロック２５８で合計され、最終の値評価となる。
【０１４９】
様々な値評価に適用される相対重みは、特定の商品またはサービス及び市場に依存して、変化し得る。更に、こうした重みは異なるアプリケーションに対して経験的に決定されたり、ユーザにより選択され得る。或いは、例えば値評価が他の２つの値評価と特定の割合を越えて異なる場合、または１つ以上の値評価が少数の比較用取り引き、若しくは相対的に低い類似性を有する全ての取り引きにより、不確かと見なされる場合、１つ以上の値評価が無視され得る。
【０１５０】
過去の取り引き及び（または）現売買申し込みからの値評価は、操作に対して多様に保護され得る。複数の過去の取り引き及び（または）売買申し込みを重み付けすることにより、１つの取り引きの相対的な影響が最小化される。更に、より大きな数量の取り引きが強調され、それにより、もっぱら市場に影響する目的のために行われる少量の取り引きの影響が最小化される。また、上述のフィルタリング技術を通じ、既知の不正なエージェントからの、またはエージェント１００が現在交渉中の同一エージェントからの不確かな取り引きがフィルタリングされ、また市場の傾向から大きく外れる取り引き及び未決定の申し込みについても同様である。更に、過去の取り引きからの値評価が、現売買申し込みからの値評価と大きく異なる場合（特定の市場または履歴にもとづき、重要な差異が変化し得る）、現申し込みからの値評価が不確かであるとして、廃棄され得る。
【０１５１】
過去の取り引き及び（または）現売買申し込みに対する値評価の信頼度の決定は、例えば、値評価において使用される上位ｎ取り引きの平均重み、及び平均において使用される取り引き数を計算することにより、可能であろう。数または重みが期待値よりも小さい場合、値評価の信頼度は疑わしく、エージェントの振る舞いは変更され得る（例えば、データベース２０２またはエキスパート・システム２１０からの値評価を、より重く重み付けすることによる）。或いは、全ての取り引きまたは申し込みの重みを分布として取り扱い、次に平均重み、分布内のポイント数、及び標準偏差などの統計的手法を用いて、信頼度が決定されてもよい。
【０１５２】
本発明の趣旨及び範囲から逸脱することなしに、様々な変更が図示の実施例に対して可能である。例えば、モジュール２００内の任意の上記値評価器、重み付けブロック、及び正規化ブロックが、神経網を用いて実現され得る。また、最大及び最小待機時間、必須の利益及び交渉マージン、確率関数、及び値評価の重み付けなどの、多数の変数及び関数が、ユーザにより制御され得る。
【０１５３】
更に、ハイパス・フィルタが、エージェント１００内の別々の監視モジュールにおいて使用され、市場の強い変化を検出し、少なくとも一次的にエージェントの交渉戦術を変更してもよい。取り引きはそれらの発生時に監視され、１つ以上の続く取り引きとの間の価格差に関連する勾配が、既知のように計算される。従って、大きな正または負の勾配は、価格の急な上昇または下落を示す。
【０１５４】
価格の上昇または下落の傾向は、通常、幾つかの取り引きにわたり監視され、断続的なふれが必ずしも不安定な市場を示すものでないことを保証する。フィルタは、所定の最小値未満の数量の小取り引きを排除することにより、或いは十分な小取り引きにわたり価格を平均し、所定の最小値を形成することにより、操作の影響を受けにくくする。
【０１５５】
不安定な市場状況の結果、エージェント１００の交渉戦術が無効にされることもあり、例えば、クライアントにとって、現在市場で入手可能な申し込みよりも不都合な保留の申し込みを撤回したり、逆に、保留の申し込みがクライアントにとって、現在市場で入手可能な申し込みより好都合であれば、それらを即時受諾したりする。エージェントはまた、不安定性が低減するまで、売買から撤退してもよい。確率関数もまた、例えば市場の不安定性に依存してエージェントの保守性を強めたり弱めたりするように、変更され得る。
【０１５６】
更にハイパス・フィルタが、エージェントに発行されるあらゆる"逆指し値（stop losses）"または"指し値（stop gains）"を無効にするために、使用され得る。"逆指し値"は、市場がいつか現市場価格未満の特定価格まで下落する場合、製品をその価格で販売する指令に関連する。しかしながら、市場価格が急に下落し得る不安定市場では、逆指し値取り引きが完了される以前に、市場はこの価格未満に下落し得る。クライアントが空売りするときに発行される"指し値"取り引きに対しても、この指し値取り引きが完了されるよりも早く市場が上昇しているときには、類似の状況が発生する。
【０１５７】
ハイパス・フィルタからの勾配計算を用いることにより、多数の取り引きにわたり、勾配の負から中立または正への（または正から中立または負への）変化により表される市場の安値（または高値）ポイントが検出され、逆指し値（または指し値）取り引きを締め出すために使用され得る。これは市場の傾向が反転したときに、販売が市場の底（または天井）で行われることを効果的に防止する。勾配計算は、取り引き毎に、または経過時間ベースで実行され得る。
【０１５８】
例えば、逆指し値または指し値保護を有する１つの好適なハイパス・フィルタ２７０が、図１４に示される。最初に、新たな取り引きがブロック２７２で検索される。取り引き履歴データベース２０６及び現市場データベース２０８のいずれか一方が、この操作において使用されたり、ハイパス・フィルタ２７０が別々に市場を監視したり、或いは市場監視エージェント２６０（図１１）から更新を受信したりする。
【０１５９】
以前の取り引きに関する勾配が、ブロック２７４で計算される。次に、ブロック２７５が、ｎ取り引きに対する勾配が特定のしきい値を越えたか否か、すなわち不安定な市場状況か否かを判断する。通常、一次的な変化を最小化するために、２つ以上の勾配計算が使用される。しきい値は特定の商品またはサービス、及び市場に依存して変化する。
【０１６０】
不安定な市場状況が検出されると、制御はブロック２７６に移行し、エージェント１００にそのことを通知し、それによりエージェント１００の交渉戦術が上述のように変更され得る。制御は次にブロック２７７に移行する。不安定な市場状況が検出されない場合には、制御はブロック２７７に直接移行する。
【０１６１】
ブロック２７７は、勾配がｍ取り引きにわたる以前の勾配に関して、符号を変化したか、或いは中立に変化したかを検出する。すなわち、負の勾配から中立または正の勾配に変化するとき、市場が底を脱し、正の勾配から中立または負の勾配に変化するとき、天井に達したことを検出する。複数の取り引きにわたる勾配計算は、この操作において、一次的な変化の影響を最小化するために考慮される。勾配が変化する場合、エージェントはブロック２７９で、あらゆる逆指し値または指し値取り引きを一次的に締め出すように通知される。或いは、逆指し値取り引きが、負から正または中立への勾配変化にのみ応答して締め出され、指し値取り引きはその逆の変化にのみ応答して、締め出されてもよい。取り引きが締め出された後、制御はブロック２７２に戻り、次の取り引きを処理する。
【０１６２】
ブロック２７７を再度参照し、勾配が変化しなかった場合、制御はブロック２７８に移行し、取り引き価格が逆指し値よりも多大に下落したか否か、または指し値よりも多大に上昇したか否かを判断する。そうである場合、制御はブロック２７９に移行し、上述のように、一次的にあらゆる逆指し値または指し値取り引きを締め出す。ブロック２７８が否定の場合、制御はブロック２７２に戻り、次の取り引きを処理する。ブロック２７８はまた、逆指し値及び（または）指し値に対する価格の範囲を使用することによっても、実現され得る。
【０１６３】
当業者には他の変更も明らかであろう。従って、本発明は特許請求の範囲によってのみ規定されるものである。
【図面の簡単な説明】
【０１６４】
【図１】本発明の様々な実施例と共に使用される、ネットワーク接続されたコンピュータ・システムのブロック図である。
【図２】図１のネットワーク接続されたコンピュータ・システムの１実施例のブロック図であり、高機能エージェント間の対話を示す図である。
【図３】図１のネットワーク接続されたコンピュータ・システムの１実施例のブロック図であり、クライアント及び遠隔システムの主要要素を示す図である。
【図４】本発明の原理に従う高機能エージェントのブロック図である。
【図５】本発明に従うエージェント交渉ルーチンのプログラム・フローのフローチャートを示す図である。
【図６】図５の申し込み価格計算ブロックのプログラム・フローのフローチャートを示す図である。
【図７】図５の申し込み期間計算ブロックのプログラム・フローのフローチャートを示す図である。
【図８】図５の取り引き決定完了ブロックのプログラム・フローのフローチャートを示す図である。
【図９】図５の修正申し込み決定ブロックのプログラム・フローのフローチャートを示す図である。
【図１０】本発明に従うエージェント識別ルーチンのフローチャートを示す図である。
【図１１】図６の取り引き値決定ブロックのブロック図である。
【図１２】図１１の履歴値評価ブロックのブロック図である。
【図１３】図１１の需給値評価ブロックのブロック図である。
【図１４】本発明に従うハイパス・フィルタのフローチャートを示す図である。
【符号の説明】
【０１６５】
１０  ネットワーク接続コンピュータ・システム
１５、２４、６４  ネットワーク
１６、１８、６２  単一ユーザ・コンピュータ・システム
２０、６０  マルチユーザ・コンピュータ・システム
２２  単一ユーザ・コンピュータ
２５、６５  サーバ
２８、６８  中央処理ユニット（ＣＰＵ）
３０、７０  メモリ
３２  エージェント・マネージャ・プログラム
４０、８０  記憶装置
４２  エージェント
４４  エージェント・ミッション・データベース
５０  インタフェース
５２  ローカル・エリア・インタフェース
５４、９４  バス
７２  エージェント・ホスト・プログラム
７４  交渉プログラム
８２、２０６  取り引き履歴データベース
９０  外部ネットワーク接続
９２  ローカル・ネットワーク接続
９５  交渉エージェント
１００  モバイル高機能エージェント
１０２  エンジン
１０４  知識要素
１０５  ライブラリ要素
１０６  アダプタ要素
１０８  ビュー要素
１１０  ホスト・オブジェクト
１１８  エージェント交渉モジュール
２００  値決定モジュール
２０２  デルタ値データベース
２０４  規則データベース
２０７  フィルタ
２０８  現市況データベース
２１０  エキスパート・システム
２１１  合計基準及びデルタ値ブロック
２１２、２１８  ＯＲゲート
２１５、２２１  比較用取り引き値評価器
２１６  差分ブロック
２１７  外挿ブロック
２１９  合計ブロック
２２０  需給値評価器
２２２、２２３、２２４、２２６、２２７、２２８、２３２、２３４、２３６、２３８、２５０、２５２、２５４、２５６  重み付けブロック
【図１】
2005276228.tif 000003
【図２】
2005276228.tif 000004
【図３】
2005276228.tif 000005
【図４】
2005276228.tif 000006
【図５】
2005276228.tif 000007
【図６】
2005276228.tif 000008
【図７】
2005276228.tif 000009
【図８】
2005276228.tif 000010
【図９】
2005276228.tif 000011
【図１０】
2005276228.tif 000012
【図１１】
2005276228.tif 000013
【図１２】
2005276228.tif 000014
【図１３】
2005276228.tif 000015
【図１４】
2005276228.tif 000016