JP2005108011A - Information processor for generating transaction information, method for generating transaction information, and program - Google Patents

Information processor for generating transaction information, method for generating transaction information, and program Download PDF

Info

Publication number
JP2005108011A
JP2005108011A JP2003342232A JP2003342232A JP2005108011A JP 2005108011 A JP2005108011 A JP 2005108011A JP 2003342232 A JP2003342232 A JP 2003342232A JP 2003342232 A JP2003342232 A JP 2003342232A JP 2005108011 A JP2005108011 A JP 2005108011A
Authority
JP
Japan
Prior art keywords
transaction
entries
group
entry
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003342232A
Other languages
Japanese (ja)
Inventor
Keiichi Handa
恵一 半田
Hideyuki Aisu
英之 愛須
Toshiaki Tanaka
俊明 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003342232A priority Critical patent/JP2005108011A/en
Publication of JP2005108011A publication Critical patent/JP2005108011A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor capable of quickly generating transaction information to be recommended to users from whom respective entries are provided by combining a plurality of entries. <P>SOLUTION: The information processor is provided with a storage means for storing each of entries by a format of a numerical vector having a code-added value consisting of a positive/negative code and a transaction amount as a component, a search means for calculating the evaluation costs of combinations of entries stored in the storage means on the basis of the values of numerical vectors and searching an optimum combination by using the evaluation costs, and a matching processing means for generating the transaction information by performing matching processing in which transaction items are made to correspond to each other between different entries in the optimum combination searched by the search means. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、ユーザが希望する製品またはサービスの取引を表す複数のエントリーを組み合わせることにより、各エントリーを提供したユーザに推奨すべき取引情報を生成するための情報処理装置、取引情報生成方法、ならびにプログラムに関する。   The present invention relates to an information processing apparatus for generating transaction information to be recommended to a user who has provided each entry by combining a plurality of entries representing transactions of products or services desired by the user, a transaction information generation method, and Regarding the program.

例えば複数の店舗間で在庫交換を行う場合、従来は登録された在庫の一覧の中から各ユーザ(各店舗)の検索条件に合ったものを見つけ出す、いわゆる検索システムがよく利用されている(例えば下記特許文献1参照)。また、旅行プラン作成システムにおいても、電車、飛行機、タクシー等の交通手段や、ホテル等の宿泊施設、観光場所等を組み合わせる場合に、ユーザごとに希望を取り入れて、基本的に個別の検索によってプランを作成している(例えば下記特許文献2参照)。   For example, when exchanging inventory between a plurality of stores, a so-called search system that finds a search condition that matches the search conditions of each user (each store) from a list of registered inventory is often used (for example, See Patent Document 1 below). Also, in the travel plan creation system, when combining transportation means such as trains, airplanes, taxis, etc., accommodation facilities such as hotels, sightseeing places, etc., the plan is basically based on individual searches, incorporating the wishes of each user. (See, for example, Patent Document 2 below).

複数の業者や顧客が互いに関わることによって、初めて良好な取引(関係)が成立する場合が実問題として少なくない。例えば上記在庫交換において、業者の各店舗では入手したい在庫と提供したい在庫が複数存在する場合が多々ある。そのような場合、在庫1つずつについて取引先を見つけるのは大変であり、取引先がそれぞれ異なる場合には輸送費も余計にかかってしまう。また、在庫によっては一緒に入手したり、あるいはその逆に一緒に提供したい等の組合せもありうる。   There are many cases where a good deal (relationship) is established for the first time when a plurality of business partners and customers are involved with each other. For example, in the stock exchange described above, there are many cases where there are a plurality of stocks to be obtained and stocks to be provided at each store of the trader. In such a case, it is difficult to find a business partner for each stock, and if the business partners are different from each other, the transportation cost is also increased. Depending on the inventory, there may be combinations such as obtaining together or vice versa.

このような多数の業者や顧客が希望する取引を集約すれば、1対1の場合あるいは1対多の場合よりも好ましい「多対多」の組合せが成立しうる。ここで、「多」というのは多数というよりもむしろ数個という意味である。なお、取引を伴うため、関係する業者や顧客は少ない方が好ましい。
特開2002−366807公報 特開2001−282893公報
By consolidating such transactions desired by a large number of traders and customers, a “many-to-many” combination that is preferable to the one-to-one or one-to-many case can be established. Here, “many” means several rather than many. In addition, since a transaction is involved, it is preferable that there are few related businesses and customers.
JP 2002-366807 A JP 2001-282893 A

本発明はユーザが希望する製品またはサービスの取引を表すエントリーを集約し、そのマッチングを高速に求めて取引情報を生成し、ユーザに対し迅速に推奨することのできる情報処理装置および取引情報生成方法ならびにプログラムを提供することを目的とする。   The present invention collects entries representing transactions of products or services desired by a user, generates transaction information by obtaining the matching at high speed, and can promptly recommend the information to the user and transaction information generation method As well as providing a program.

本発明の一観点に係る情報処理装置は、取引対象を提供する取引あるいは取引対象を入手する取引のどちらを希望するかを示す正負符号、取引項目名、および取引数量により一つの取引項目が表現され、各々が複数の前記取引項目を含む複数のエントリーを組み合わせることにより、各エントリーを提供したユーザに推奨すべき取引情報を生成する情報処理装置において、前記複数のエントリーの各々を前記正負符号および前記取引数量からなる符号付きの値を成分とする数値ベクトルの形式で記憶する記憶手段と、前記記憶手段に記憶された複数のエントリーの組み合わせについて前記数値ベクトルの値に基づき評価コストを計算し、該評価コストを用いて最適な組み合わせを探索する探索手段と、前記探索手段により探索された最適な組み合わせの中の異なるエントリー間で前記取引項目を互いに対応付けるマッチング処理を行なうことにより前記取引情報を生成するマッチング処理手段と、を具備する。   In the information processing apparatus according to one aspect of the present invention, one transaction item is represented by a positive / negative code indicating whether a transaction for providing a transaction object or a transaction for obtaining a transaction object is desired, a transaction item name, and a transaction quantity. In the information processing apparatus for generating transaction information to be recommended to a user who provided each entry by combining a plurality of entries each including a plurality of the transaction items, each of the plurality of entries is represented by the positive / negative sign and Storage means for storing a signed value consisting of the transaction quantity as a component in the form of a numerical vector, and calculating an evaluation cost based on the value of the numerical vector for a combination of a plurality of entries stored in the storage means, Search means for searching for an optimal combination using the evaluation cost, and an optimal set searched by the search means By performing matching processing for associating the transaction items to each other across the middle of the combined different entry comprising a matching processing means for generating the transaction information.

本発明によれば、複数のエントリーの各々を正負符号および取引数量からなる符号付きの値を成分とする数値ベクトルの形式で表現し、この数値ベクトルの値に基づき評価コストを計算することから、処理を高速化できる。   According to the present invention, each of the plurality of entries is expressed in the form of a numerical vector having a signed value consisting of a positive / negative sign and a transaction quantity as a component, and the evaluation cost is calculated based on the value of the numerical vector. Processing can be speeded up.

したがって、ユーザが希望する製品またはサービスの取引を表すエントリーを集約し、そのマッチングを高速に求めて取引情報を生成し、ユーザに対し迅速に推奨することのできる情報処理装置および取引情報生成方法ならびにプログラムを提供できる。   Therefore, an information processing apparatus and a transaction information generation method capable of aggregating entries representing transactions of products or services desired by the user, generating transaction information by quickly seeking the matching, and promptly recommending to the user, and Can provide a program.

図1は本発明の実施形態に係り、取引情報を生成する情報処理装置が適用された電子取引システムの概略構成を示すブロック図である。本発明の実施形態に係る情報処理装置は、例えばグループ推奨サーバ2として実現される。グループ推奨サーバ2は汎用のコンピュータ、好ましくはサーバコンピュータからなり、ネットワーク1に接続されている。グループ推奨サーバ2には、ネットワーク1に接続されたパーソナルコンピュータ(PC)3や携帯端末4のユーザへの推奨のために、取引情報を生成しあるいは更新する機能を実現するためのプログラムがプログラム記憶装置25に格納されている。このプログラムは例えばエントリー受付モジュール20、推奨グループ探索モジュール21、表示モジュール22の3つのモジュールから構成される。プログラム記憶装置25は例えば磁気ディスク装置や光ディスク装置等からなる。上記プログラムが図示しないCPUからの制御でランダムアクセスメモリ(RAM)に読み込まれ、同CPUにより実行されることにより、コンピュータをグループ推奨サーバ2として機能させることができる。なおグループ推奨サーバ2には、各種コンピュータ資源を管理し、ファイルシステムやネットワーク通信機能、ならびにグラフィカルユーザインタフェース(GUI)等を提供するオペレーティングシステムも導入されている。また、上記磁気ディスク装置や光ディスク装置等を制御するファイルシステム上に、エントリー記憶装置23および推奨グループ記憶装置25が実現される。   FIG. 1 is a block diagram showing a schematic configuration of an electronic transaction system to which an information processing apparatus for generating transaction information is applied according to an embodiment of the present invention. The information processing apparatus according to the embodiment of the present invention is realized as the group recommendation server 2, for example. The group recommendation server 2 comprises a general-purpose computer, preferably a server computer, and is connected to the network 1. The group recommendation server 2 stores a program for realizing a function for generating or updating transaction information for recommendation to a user of a personal computer (PC) 3 or a portable terminal 4 connected to the network 1. It is stored in the device 25. This program includes, for example, three modules: an entry reception module 20, a recommended group search module 21, and a display module 22. The program storage device 25 is composed of, for example, a magnetic disk device or an optical disk device. The above program is read into a random access memory (RAM) under the control of a CPU (not shown) and executed by the CPU, whereby the computer can function as the group recommendation server 2. The group recommendation server 2 is also installed with an operating system that manages various computer resources and provides a file system, a network communication function, a graphical user interface (GUI), and the like. Further, the entry storage device 23 and the recommended group storage device 25 are realized on a file system that controls the magnetic disk device, the optical disk device, and the like.

グループ推奨サーバ2は、ユーザのPC3や携帯端末4からネットワーク1を通じて送信される複数のエントリーを受信する。ここでのユーザは業者や顧客等が想定される。受信されたエントリーはエントリー受付モジュール20により受付処理され、エントリー記憶装置23に記憶される。   The group recommendation server 2 receives a plurality of entries transmitted through the network 1 from the user's PC 3 or mobile terminal 4. The user here is assumed to be a trader or a customer. The received entry is received by the entry receiving module 20 and stored in the entry storage device 23.

グループ推奨サーバ2は、それらのエントリーに対して、各エントリーの希望(期待効用)を満たすようなエントリーの組合せからなるグループとそのグループ内の要素間の取引関係(マッチング)を表す取引情報を高速に求め、これをグループ内の各エントリーの登録者に推奨する。ここで、「要素」とは製品やサービスなどの個々の取引項目のことをいう。要素には種類、型、色、日時などの属性が伴う場合があるが、以下の説明では異なる属性値を持つ要素は異なる要素として扱うものとする。各要素には、該要素を入手(購入)することの希望を示す場合には負の符号が付され、逆に、該要素を提供(販売)することの希望を示す場合には正の符号が付される。例えば要素Aが-Aという符号付きで表されている場合、その要素Aを入手する取引を希望する主体(業者等)が存在することを意味する。   For these entries, the group recommendation server 2 provides high-speed transaction information that represents a transaction relationship (matching) between a group consisting of a combination of entries that satisfy each entry's hope (expected utility) and the elements within the group. And recommend this to registrants of each entry in the group. Here, “element” means individual transaction items such as products and services. Elements may have attributes such as type, type, color, date and time, but in the following description, elements having different attribute values are treated as different elements. Each element is given a negative sign to indicate the desire to obtain (purchase) the element, and conversely, a positive sign to indicate the desire to provide (sell) the element. Is attached. For example, when the element A is represented with a sign of -A, it means that there is an entity (such as a trader) who desires a transaction for obtaining the element A.

エントリーは、1つまたは複数の符号付き要素からなる集合によって表現される。例えばe1={+A, -B, -B, +C}は1つのエントリーを表す。このエントリーe1は「要素Bを2つ入手して、かつ要素Aと要素Cを提供したい」という取引内容を表している。要素名が同じでかつ符号の異なる2つの符号付き要素は、互いに取引の条件を満たす。これをマッチング可能であるという。例えば、他のエントリーe2の中に-Cがあれば、e1の+Cとe2の-Cはマッチング可能である。マッチング可能な2つの符号付き要素の間に、実際に取引を定めること、あるいはその取引関係をマッチングという。   An entry is represented by a set of one or more signed elements. For example, e1 = {+ A, -B, -B, + C} represents one entry. This entry e1 represents the transaction content “I want to get two elements B and provide element A and element C”. Two signed elements having the same element name and different signs satisfy each other's condition for transaction. This can be matched. For example, if -C exists in the other entry e2, + C of e1 and -C of e2 can be matched. An actual transaction is defined between two signable elements that can be matched, or the transaction relationship is called matching.

エントリーの「期待効用」とは、取引が成立して欲しい要素数の割合(値)のことをいいう。期待効用はエントリーごとに独立した値であってもよいし、また特に指定がない場合は期待効用のデフォルト値が用いられてもよい。また期待効用を全く指定しないことも可能である。その場合は期待効用を零と見なせばよい。また、後に詳述するグループの探索において取引の成立とみなせる要素数の割合をそのエントリーの「効用値」という。例えば前記エントリーe1の期待効用が0.7である場合、このエントリーe1の例えば{-B, -B, +C}に対する取引が成立するならば、e1の効用値は3/4=0.75であり、期待効用の値を上回るから、その取引はエントリーe1の期待効用を満たしていると解釈される。   The “expected utility” of an entry refers to the ratio (value) of the number of elements that the trade wants to close. The expected utility may be an independent value for each entry, or the default value of the expected utility may be used unless otherwise specified. It is also possible to specify no expected utility at all. In that case, the expected utility can be regarded as zero. In addition, the ratio of the number of elements that can be regarded as the establishment of a transaction in the group search described in detail later is called the “utility value” of the entry. For example, if the expected utility of the entry e1 is 0.7 and the transaction for this entry e1, for example {-B, -B, + C} is successful, the utility value of e1 is 3/4 = 0.75, and the expected Since the utility value is exceeded, the transaction is interpreted as meeting the expected utility of entry e1.

エントリー内の符号付き要素の数をその「エントリーのサイズ」という。前記エントリーe1のサイズは4である。また、グループ内のエントリー数をその「グループのサイズ」という。グループ推奨サーバ2で得られたそれぞれのグループの情報は、その後、該グループ内の各エントリーの登録者に推奨(通知)されることになる。なお、グループのサイズは小さい方が好ましいことから、グループのサイズには例えば「10以下でなければならない」というような制約条件が前もって与えられるものとする。このサイズに関する制約条件(以下、「サイズ制約条件」という)を満たし、かつ内包するエントリーの効用値が全て期待効用以上であるようなグループを「推奨グループ」という。推奨グループを求めることは、そのグループ内の取引関係(マッチング)をも求めることを意味する。   The number of signed elements in an entry is called its “entry size”. The size of the entry e1 is 4. The number of entries in a group is called the “group size”. The information on each group obtained by the group recommendation server 2 is then recommended (notified) to the registrant of each entry in the group. In addition, since the smaller group size is preferable, it is assumed that a constraint condition such as “must be 10 or less” is given in advance to the group size. A group that satisfies this size constraint condition (hereinafter referred to as “size constraint condition”) and whose utility values of the included entries are all equal to or greater than the expected utility is referred to as a “recommended group”. Obtaining a recommended group means obtaining a business relationship (matching) within the group.

ここで、例えば次の4つのエントリーe1={+A, -B, -B, +C}, e2={+A, -C, -D}, e3={+B, -C, +E}, e4={-A, +D}が既にグループ推奨サーバ2に受け付けられており、そこに新たにエントリーe5={-A, +B, -E}が受け付けられたとする。   Here, for example, the following four entries e1 = {+ A, -B, -B, + C}, e2 = {+ A, -C, -D}, e3 = {+ B, -C, + E} , e4 = {− A, + D} has already been received by the group recommendation server 2, and a new entry e5 = {− A, + B, −E} is received there.

同じエントリー内には、+Aと-Aのように、要素名が同一で符号が異なる要素のペアは冗長であるから存在しないものと仮定してよい。このように仮定すると、エントリーは要素をインデックスに持つ数値ベクトルで表現できる。例えば、上記のエントリーe1,e2, …,e5はそれぞれ、
e1=( 1,-2, 1, 0, 0),
e2=( 1, 0,-1,-1, 0),
e3=( 0, 1,-1, 0, 1),
e4=(-1, 0, 0, 1, 0),
e5=(-1, 1, 0, 0,-1)
という数値ベクトルで表現できる。各エントリーのインデックスは要素名A, B, C, D, Eに相当する。この数値ベクトルを「要素ベクトル」と呼ぶことにする。
In the same entry, it may be assumed that a pair of elements having the same element name but different signs, such as + A and -A, is redundant and does not exist. Assuming this, the entry can be expressed as a numeric vector with elements as indices. For example, the entries e1, e2, ..., e5 above are
e1 = (1, -2, 1, 0, 0),
e2 = (1, 0, -1, -1, 0),
e3 = (0, 1, -1, 0, 1),
e4 = (-1, 0, 0, 1, 0),
e5 = (-1, 1, 0, 0, -1)
Can be expressed as a numeric vector. The index of each entry corresponds to the element names A, B, C, D, E. This numerical vector is referred to as an “element vector”.

1つまたは複数のエントリーからなるグループに対して、それらのエントリーの要素ベクトルの和の各成分の絶対値の和を、そのグループの「コスト」という。例えば上記の例においてグループ{e1, e2, e3}の要素ベクトルの和は(2,-1,-1,-1, 1)となる。このグループのコストは2+1+1+1+1=6である。要素ベクトルの和を計算する過程では、同じインデックスの正の値と負の値により和が帳消しになる場合がある。これは、異なるエントリーで対応する要素間に取引(マッチング)が可能であることを意味する。   For a group of one or more entries, the sum of the absolute values of the components of the sum of the element vectors of those entries is called the “cost” of the group. For example, in the above example, the sum of the element vectors of the group {e1, e2, e3} is (2, -1, -1, -1, 1). The cost of this group is 2 + 1 + 1 + 1 + 1 = 6. In the process of calculating the sum of element vectors, the sum may be canceled by the positive and negative values of the same index. This means that transactions (matching) are possible between corresponding elements in different entries.

例えば、上記エントリーe1とe2の要素ベクトルの和を計算すると、3番目のインデックスにおける和の値が0となる。これは、エントリーe1の要素+Cとエントリーe2の要素-Cの間に取引が可能であることを意味する。   For example, when the sum of the element vectors of the entries e1 and e2 is calculated, the sum value at the third index is 0. This means that a transaction is possible between element + C of entry e1 and element -C of entry e2.

一般に、コストが小さいグループほど、それに含まれる各エントリーの効用値は大きくなる。特にコストが0であるようなグループの場合は、そのグループ内のどのエントリーの効用値も1となる。   Generally, the lower the cost, the greater the utility value of each entry included in it. In particular, in the case of a group whose cost is 0, the utility value of any entry in the group is 1.

以下、推奨グループを求める方法として、新たに受け付けられたエントリーを対象に推奨グループを求める第1の方法を第1の実施形態において説明し、常に全エントリーを対象に推奨グループへの分割を行う第2の方法を第2の実施形態において説明する。例えば次の4つのエントリーe1={+A, -B, -B, +C}, e2={+A, -C, -D}, e3={+B, -C, +E}, e4={-A, +D}が既に登録済みであり、そこに新たにエントリーe5={-A, +B, -E}が登録されたとする。このとき第1の方法では、図2に示すように、基点エントリーe5を含むグループとして例えばG1={e1, e3, e5}を求める。グループ推奨サーバ2は、このグループG1をe1, e3, e5のそれぞれの登録者に推奨する。ここで、グループG1内の各エントリーの効用値は全て1であることに注意する。もしe2とe5の期待効用がともに1/3以下ならば、グループ{e2, e5}も推奨可能である。一方、第2の方法では、図3に示すように、例えばG1={e1, e3, e5}, G2={e2, e4}を求めて、関係する各エントリーの登録者に推奨する。なお、第2の方法はエントリーが新たに登録されるたびに実行するのではなく、ある一定の時間おきに実行してもよい。   Hereinafter, as a method for obtaining a recommended group, a first method for obtaining a recommended group for newly accepted entries will be described in the first embodiment, and a division into recommended groups for all entries is always performed. The second method will be described in the second embodiment. For example, the following four entries e1 = {+ A, -B, -B, + C}, e2 = {+ A, -C, -D}, e3 = {+ B, -C, + E}, e4 = Assume that {-A, + D} has already been registered, and entry e5 = {-A, + B, -E} is newly registered there. At this time, in the first method, as shown in FIG. 2, for example, G1 = {e1, e3, e5} is obtained as a group including the base point entry e5. The group recommendation server 2 recommends this group G1 to each registrant of e1, e3, and e5. Note that the utility value of each entry in group G1 is all 1. If the expected utilities of e2 and e5 are both 1/3 or less, the group {e2, e5} can also be recommended. On the other hand, in the second method, as shown in FIG. 3, for example, G1 = {e1, e3, e5}, G2 = {e2, e4} is obtained and recommended to the registrant of each related entry. Note that the second method may not be executed every time an entry is newly registered, but may be executed at certain intervals.

(第1実施形態)
上述したように、第1の方法は、既に幾つかのエントリーが受け付けられ、エントリー記憶装置23に記憶(登録)されている状況において、新たに受け付けられたエントリーを対象に推奨グループを求めるというものである。この新たに受け付けられ、推奨グループを求める基準とするエントリーを「基点エントリー」と称する。第1の方法では、基点エントリーを含む推奨グループを1つまたは複数求める。具体的には、基点エントリーを含み、かつグループのサイズ制約条件を満たすグループのうちで、コストができるだけ小さなグループを1つまたは複数求める。
(First embodiment)
As described above, the first method is to obtain a recommended group for newly received entries in a situation where several entries have already been received and stored (registered) in the entry storage device 23. It is. This newly accepted entry as a reference for obtaining a recommended group is referred to as a “base entry”. In the first method, one or more recommended groups including a base point entry are obtained. Specifically, one or a plurality of groups including the base point entry and satisfying the group size constraint condition with the lowest possible cost are obtained.

ただし、コスト最小のグループであっても、そのグループに含まれる各エントリーの効用値が期待効用以上になるとは限らない。また、期待効用はどのエントリーに対しても同じ値とは限らない。したがって、コストの最小化のみでは不十分な場合もありうる。しかし、後述するように、コストができるだけ小さなグループを1つまたは複数求め、それらの各グループに対して具体的なマッチングを決める際に、各エントリーの期待効用と実際の効用値との差を、大きいものから順に縮めることによって、推奨グループが求まりやすいように制御することができる。   However, even for a group with the lowest cost, the utility value of each entry included in the group does not necessarily exceed the expected utility. Also, the expected utility is not always the same for every entry. Therefore, there are cases where it is not sufficient to minimize the cost. However, as will be described later, when determining one or a plurality of groups with the smallest possible cost and determining a specific matching for each of those groups, the difference between the expected utility and the actual utility value of each entry, By reducing in order from the largest, it is possible to control the recommended group to be easily obtained.

なお、対象とする要素名の集合は予め指定されているものとし、要素ベクトルのインデックスも予めどの要素名に相当するのかが決まっているものとする。そして、既存の各エントリーについては、その受け付け時に要素ベクトルに変換済みであるとする。また、対象とする要素名の集合は必ずしも予め指定する必要はない。指定しない場合は、エントリーが新たに受け付けられるたびに、そのエントリーで新たに使われている要素名を前記要素名の集合に追加し、かつ要素ベクトルの桁数をその分だけ動的に増やすことによって対応可能である。   Incidentally, the set of element names of interest is assumed to be specified in advance and that what corresponds to the index also advance any element name of the element vector is determined. It is assumed that each existing entry has been converted to an element vector at the time of acceptance. In addition, a set of target element names does not necessarily have to be specified in advance. If not specified, each time an entry is newly accepted, the element name newly used in the entry is added to the set of element names, and the number of digits of the element vector is dynamically increased accordingly. It is possible to respond by.

第1の方法では、基点エントリーのみからなるグループを初期解とする。この初期解に対して既存のエントリーを追加し、削除し、あるいは入れ替えながら、逐次改善を繰り返す。その逐次改善の1手法として、本実施形態では例えばシミュレーテッド・アニーリング法(SA法)を用いる。なお、本発明の実施形態はSA法の基本的な機能を用いて実現することができるが、SA法の他の機能を追加的に用いて性能を向上することが好ましい。   In the first method, a group including only base point entries is set as an initial solution. The existing entries are added to, deleted from, or replaced with the initial solution, and the improvement is repeated sequentially. As one method of the successive improvement, for example, a simulated annealing method (SA method) is used in the present embodiment. Although the embodiment of the present invention can be realized using the basic function of the SA method, it is preferable to improve the performance by additionally using another function of the SA method.

また、SA法の他にタブーサーチや遺伝的アルゴリズムを使うことも可能である。これらの探索手法はメタ解法と呼ばれる(例えば、柳浦、茨木著、「組合せ最適化」、朝倉書店、2001年、参照)。 SA法の温度パラメータとして、初期温度、最終温度、同一温度での繰り返し回数、および温度を下げる際に掛ける係数を前もって与えておく。SA法において、現在の解候補に少しだけ局所的な変更を加える操作のことを「ムーヴ(move)」という。 In addition to the SA method, tabu search and genetic algorithms can also be used. These search methods are called meta-solutions (see, for example, Yanagiura and Ibaraki, “Combinatorial Optimization”, Asakura Shoten, 2001). As temperature parameters of the SA method, an initial temperature, a final temperature, the number of repetitions at the same temperature, and a coefficient to be applied when the temperature is lowered are given in advance. In the SA method, an operation of making a slight local change to the current solution candidate is called “move”.

図4は第1の実施形態に係り、第1の方法に従って推奨グループを求める具体的な処理手順を示したフローチャートである。この処理は、図4に示すように6つのステップからなる。各ステップの詳細は次の通りである。   FIG. 4 is a flowchart showing a specific processing procedure for obtaining a recommended group according to the first method according to the first embodiment. This process consists of six steps as shown in FIG. Details of each step are as follows.

先ずステップS1において、基点エントリーを読み込み、これを要素ベクトルで表現すしてエントリー記憶装置23に格納する。次にステップS2において、基点エントリーのみからなるグループGを作成し、これを初期解とする。このグループGを最良解(最良グループ)として記憶装置24に保存する。次にステップS3では、グループGをSA法により逐次改善する。   First, in step S1, a base point entry is read, expressed as an element vector, and stored in the entry storage device 23. Next, in step S2, a group G consisting only of base point entries is created, and this is set as the initial solution. This group G is stored in the storage device 24 as the best solution (best group). Next, in step S3, group G is sequentially improved by the SA method.

ここで、ステップS3の詳細な処理手順を図5のフローチャートを参照して詳細に説明する。   Here, the detailed processing procedure of step S3 is demonstrated in detail with reference to the flowchart of FIG.

先ずS301において、SA法の温度変数tに初期温度をセットする。次に、S302において、同一温度での繰り返し回数のカウンタcntに0をセットする。次に、S303において、グループGに対するムーヴのタイプを決め、グループGに対してそのムーヴを実行した場合のコストの差分を計算する。ムーヴには次の3つのタイプがある。   First, in S301, an initial temperature is set as the temperature variable t of the SA method. Next, in S302, 0 is set to the counter cnt of the number of repetitions at the same temperature. Next, in S303, the type of move for the group G is determined, and the difference in cost when the move is executed for the group G is calculated. There are three types of moves:

タイプ1:Gの外部からランダムに1つのエントリーe1を選び、e1をGに追加する。
タイプ2:Gの内部からランダムに1つのエントリーe2を選び、e2をGから削除する。
タイプ3:Gの内部と外部からランダムに1つずつエントリーe1, e2を選び、それらを入れ替える。即ち、Gからe1を削除し代わりにe2をGに追加する。
Type 1: Randomly select one entry e1 from outside G and add e1 to G.
Type 2: Select one entry e2 at random from inside G and delete e2 from G.
Type 3: Randomly select entries e1 and e2 from G inside and outside, and swap them. That is, e1 is deleted from G and e2 is added to G instead.

ムーブのタイプを決定して実行する処理は具体的には次の手順に従う。   Specifically, the process for determining and executing the type of move follows the following procedure.

(イ):グループGのサイズが1の場合はタイプ1を選ぶ。グループGのサイズが所定のサイズ制約条件に等しい場合は、タイプ2またはタイプ3のいずれかをランダムに選ぶ。グループGのサイズがこれら以外の場合は、タイプ1、2、3のいずれかをランダムに選ぶ。 (B): If the size of group G is 1, select type 1. When the size of the group G is equal to a predetermined size constraint condition, either type 2 or type 3 is selected at random. When the size of the group G is other than these, any of types 1, 2, and 3 is selected at random.

(ロ):グループGに対して(イ)で選んだタイプのムーヴを実行した場合のコストの差分を計算する。 (B): Calculate the difference in cost when the move of the type selected in (a) is executed for group G.

(ハ):(イ)でムーヴの対象となったエントリーの番号e1やe2、およびそのムーヴを実行した場合のコストの差分を保存する(これらは次のS304で使用される)。 (C): Stores the numbers e1 and e2 of the entries that were moved in (a) and the cost difference when the move is executed (these are used in the next S304).

次に、図5のS304においては、S303で求めたコストの差分が0以下ならば、次の(i)を実行し、0より大ならば(ii)を実行する。そしてカウンタcntに1を加算する。   Next, in S304 of FIG. 5, if the difference of the cost calculated | required by S303 is 0 or less, following (i) will be performed, and if larger than 0, (ii) will be performed. Then, 1 is added to the counter cnt.

(i):グループGに対して、S303で選択されたムーヴを実行する。グループGのコストが最良グループのコストよりも小さい場合は、最良グループをグループGに置き換える。また、グループGのコストが0になった場合は、ステップS4に進む。   (I): For group G, the move selected in S303 is executed. If the cost of group G is less than the cost of the best group, replace the best group with group G. If the cost of group G becomes 0, the process proceeds to step S4.

(ii):グループGに対して、S303で選択されたムーヴを実行するか否かを、確率p=exp(-1*コストの差分/現在の温度)に基づいて決定する。具体的には、0以上かつ1以下の乱数を発生させ、その値がp以下ならば、S303で選択されたムーヴを実行し、pよりも大ならば何もしない。   (Ii): For the group G, whether to execute the move selected in S303 is determined based on the probability p = exp (−1 * cost difference / current temperature). Specifically, a random number of 0 or more and 1 or less is generated. If the value is p or less, the move selected in S303 is executed, and if it is greater than p, nothing is done.

次に、図5のS305においては、カウンタcntをチェックする。カウンタcntが所定の繰り返し回数(max_cnt)に満たない場合はS303に戻る。   Next, in S305 of FIG. 5, the counter cnt is checked. If the counter cnt is less than the predetermined number of repetitions (max_cnt), the process returns to S303.

次に、S306においては、温度変数tに所定の係数α(0<α<1)を掛けることによって温度を下げる。その温度が所与の最終温度に満たない場合はS302に戻る(S307)。最終温度に達したならば、S308において、この時点の最良グループを新たな推奨グループの候補として採用する。   Next, in S306, the temperature is lowered by multiplying the temperature variable t by a predetermined coefficient α (0 <α <1). If the temperature does not reach the given final temperature, the process returns to S302 (S307). When the final temperature is reached, the best group at this point is adopted as a new recommended group candidate in S308.

図4に説明を戻す。ステップS3により求まった推奨グループの候補数が、所定のグループ数に満たない場合はステップS2に戻り、達した場合はステップS4に進む。なお、ステップS2に戻った際は、SA法で用いられる乱数表を入れ替える。   Returning to FIG. If the number of recommended group candidates obtained in step S3 is less than the predetermined number of groups, the process returns to step S2, and if reached, the process proceeds to step S4. When returning to step S2, the random number table used in the SA method is replaced.

次にステップS4では、ステップS3で求めた推奨グループの各候補に対して具体的なマッチングを求める。そのマッチングの結果について、グループ内の各エントリーの効用値を求める。そして、各エントリーの効用値が期待効用以上であるようなグループを推奨グループとして確定する。この一連の処理をマッチング処理という。   Next, in step S4, specific matching is obtained for each candidate of the recommended group obtained in step S3. The utility value of each entry in the group is obtained for the matching result. Then, a group in which the utility value of each entry is greater than the expected utility is determined as a recommended group. This series of processing is called matching processing.

ここで、図4のステップS4の詳細な処理手順を図6のフローチャートを参照して説明する。ここでは、推奨グループの候補の1つをグループGとし、このグループGに対する処理を詳しく説明する。   Here, the detailed processing procedure of step S4 of FIG. 4 is demonstrated with reference to the flowchart of FIG. Here, one of the recommended group candidates is a group G, and the processing for this group G will be described in detail.

先ずS401では、グループG内のエントリーを要素ごとに、その要素を正の要素として持つか、あるいは負の要素として持つかで分類する。この分類によって得られる結果を、グループGの「要素ごとのエントリー情報」という。   First, in S401, the entries in the group G are classified for each element depending on whether the element has a positive element or a negative element. The result obtained by this classification is referred to as “entry information for each element” of group G.

例えば、グループGが次の9つのエントリーからなるとする。各エントリーは要素ベクトルで表現されており、そのインデックスは左から順に要素名A, B, C, D, Eに相当するものとする。基点エントリーはe1であるとする。   For example, suppose group G consists of the following nine entries. Each entry is represented by an element vector, and its index corresponds to element names A, B, C, D, and E in order from the left. The base entry is assumed to be e1.

e18=( 1, 1, 0, 0, 1),
e79=(-1, 0,-2,-2, 0),
e80=( 1,-2, 0, 1, 1),
e72=(-1, 1, 0, 1,-1),
e76=( 0, 1,-1, 1, 0),
e1=(-1,-1, 0, 0, 0),
e96=( 0, 0, 1, 1, 0),
e63=( 0, 0, 0,-2, 1),
e88=( 0, 0,-1, 0,-1)
これらのエントリーを要素ごとに、その要素を正の要素として持つか、あるいは負の要素として持つかで分類すると、次のようになる。

Figure 2005108011
e18 = (1, 1, 0, 0, 1),
e79 = (-1, 0, -2, -2, 0),
e80 = (1, -2, 0, 1, 1),
e72 = (-1, 1, 0, 1, -1),
e76 = (0, 1, -1, 1, 0),
e1 = (-1, -1, 0, 0, 0),
e96 = (0, 0, 1, 1, 0),
e63 = (0, 0, 0, -2, 1),
e88 = (0, 0, -1, 0, -1)
If these entries are classified by element according to whether they have positive elements or negative elements, they are as follows.
Figure 2005108011

要素ベクトルの成分の中に-2以下または2以上の値がある場合は、対応するエントリーの番号が複数回現れる。   If the element vector component has a value of -2 or less or 2 or more, the corresponding entry number appears multiple times.

次にS402では、Gの要素ごとのエントリー情報を参照して、マッチングが必然的に確定する部分をまず確定させる。例えば上記の例の場合、+Aの欄には2つのエントリー番号があり、-Aの欄には3つのエントリー番号があるため、e18およびe80の+Aには必ずマッチング相手が見つかることが分かる。確定する部分を明記すると次のようになる。

Figure 2005108011
Next, in S402, referring to the entry information for each G element, a portion where matching is inevitably determined is first determined. For example, in the case of the above example, there are two entry numbers in the + A column and three entry numbers in the -A column, so it can be seen that a matching partner is always found in + A of e18 and e80. . It is as follows when the part to be decided is specified.
Figure 2005108011

「#(数字)」が記入されている欄は未確定であり、括弧内のエントリーは、マッチング相手が未確定であることを表している。これら括弧内のリストを「未確定リスト」という。未確定リストについてはS404以降のステップにおいて、#の右側の数だけ選んで確定を行うことになる。具体的には、S404以降で並べ替えを行い、最終的には、同一カラムにあるエントリー同士が互いにマッチング相手であると見なす。なお、同一要素の正の欄または負の欄が空欄ならば、その要素の正および負の欄は共に確定したと見なす。また、要素Bのように正負のエントリー数が一致する場合は、この時点でマッチング相手も確定したものと見なす。   The column in which “# (number)” is entered is unconfirmed, and the entry in parentheses indicates that the matching partner is unconfirmed. These lists in parentheses are called “indeterminate lists”. For the unconfirmed list, in the steps after S404, the number on the right side of # is selected and confirmed. Specifically, rearrangement is performed after S404, and finally, entries in the same column are regarded as matching partners. If the positive column or negative column of the same element is blank, it is considered that both the positive and negative columns of the element are fixed. If the number of positive and negative entries matches as in element B, it is considered that the matching partner has been determined at this point.

次にS403においてはグループG内の各エントリーに対して、S402で確定した部分だけを用いて効用値を求めるとともに、期待効用(値)から効用値を減じてこれを差分値(期待効用−効用値)とする。この時点で効用値が1のエントリーは、マッチングが確定済みのエントリーであると見なす。そして、未確定のエントリーをヒープに蓄える。このヒープは期待効用と効用値の差分値に関して降順の木構造である。「ヒープ」とは、根付き木のことであり、「根以外の各ノードvに対して、親の要素の方がvの要素よりも大きいか等しい」という条件を満すように、木の各ノードvに順序集合Sの要素が割り当てられたものである。ヒープ自体については公知であり、例えば参考文献(「情報の構造(上)」、浅野孝夫著、日本評論社、p.45参照)に詳しい。なお、降順の木構造における「降順」とは、親の要素の方が子の要素よりも「大きいか等しい」という意味である。   Next, in S403, for each entry in the group G, the utility value is obtained using only the portion determined in S402, and the utility value is subtracted from the expected utility (value) to obtain a difference value (expected utility-utility). Value). At this time, an entry having a utility value of 1 is regarded as an entry for which matching has been confirmed. Then, indeterminate entries are stored in the heap. This heap has a descending tree structure with respect to the difference between expected utility and utility value. The “heap” is a rooted tree, and each of the trees is satisfied so that the condition that “the parent element is greater than or equal to the element of v for each node v other than the root” is satisfied. An element of the ordered set S is assigned to the node v. The heap itself is publicly known, and for example, it is detailed in a reference document ("Information structure (above)", written by Takao Asano, Nippon Critics, p. 45). Note that “descending order” in a descending tree structure means that the parent element is “greater than or equal to” the child element.

上記の例の場合、どのエントリーの期待効用も0.5であるとすると、効用値と、期待効用と効用値の差分値は次のようになる。

Figure 2005108011
ヒープが空でない限り、次のS404を繰り返し実行する。 In the case of the above example, assuming that the expected utility of any entry is 0.5, the utility value and the difference value between the expected utility and the utility value are as follows.
Figure 2005108011
Unless the heap is empty, the next step S404 is repeatedly executed.

S404では、ヒープの根からエントリーを削除する(このエントリーを記号entで表す)。そして、entと同じエントリーを未確定リストから探す。entと同じエントリーが見つかった場合は次のステップ(i)を、見つからなかった場合は(ii)を実行する。   In S404, the entry is deleted from the root of the heap (this entry is represented by the symbol ent). Then, the same entry as ent is searched from the unconfirmed list. If the same entry as ent is found, the next step (i) is executed, and if not found, (ii) is executed.

(i):entを同リストにおける最初の未確定のエントリーと交換し、entを未確定リストから外す。また、entの効用値と、期待効用と効用値の差分値を更新し、効用値が1未満の場合はentをヒープに戻す。効用値が1の場合はentを確定済みとし、ヒープには戻さない。   (I): Replace ent with the first unconfirmed entry in the list and remove ent from the unconfirmed list. In addition, the utility value of ent and the difference value between the expected utility and utility value are updated. If the utility value is less than 1, ent is returned to the heap. When the utility value is 1, ent is confirmed and is not returned to the heap.

(ii):entを確定済みとする(ヒープには戻さない)。   (Ii): ent is determined (not returned to the heap).

上記の例の場合、entは期待効用と効用値の差分値が最大のe79となる。未確定リストは、

Figure 2005108011
In the above example, ent is e79 having the maximum difference between the expected utility and the utility value. The unconfirmed list is
Figure 2005108011

である。e79は-Aの欄から見つかる。e79は-Aの欄における最初の未確定のエントリーであるから特に交換は不要であり、

Figure 2005108011
に変更される。e79の効用値と期待効用と効用値の差分値については、 It is. e79 can be found in the -A column. Since e79 is the first unconfirmed entry in the -A column, no replacement is required.
Figure 2005108011
Changed to For the difference between the utility value of e79 and the expected utility and utility value,

Figure 2005108011
Figure 2005108011

に変る。e79の効用値は1未満であるからヒープに戻す。なお、未確定リストの欄の#の右側の値が0になったら、その欄は確定したものとみなす(たとえ未確定のエントリーが残っていても、その欄は未確定リストとみなさない)。 It turns into. Since the utility value of e79 is less than 1, return it to the heap. If the value on the right side of # in the unconfirmed list column becomes 0, the field is regarded as confirmed (even if an unconfirmed entry remains, the field is not regarded as an unconfirmed list).

次にS405においては、どのエントリーについても期待効用と効用値の差分値が0以下ならば、グループGを推奨グループとして確定する。そして、エントリー内の要素のマッチング関係についてはグループGの要素ごとのエントリー情報を参照し、同一要素の正負の欄において同一カラムにあるエントリー同士を互いのマッチング相手であると決定する。期待効用と効用値の差分値が正のエントリーがある場合は、グループGは無効とする(つまり推奨グループとして確定しない)。   Next, in S405, if the difference value between the expected utility and the utility value is 0 or less for any entry, the group G is determined as the recommended group. Then, for the matching relationship between the elements in the entry, the entry information for each element of the group G is referred to, and the entries in the same column in the positive / negative column of the same element are determined to be matching partners. If there is an entry with a positive difference between the expected utility value and the utility value, group G is invalid (that is, not determined as a recommended group).

上記の例の場合、各エントリーの効用値と、期待効用と効用値の差分値については次のようになる。

Figure 2005108011
In the case of the above example, the utility value of each entry and the difference value between the expected utility and the utility value are as follows.
Figure 2005108011

期待効用と効用値の差分値は全て0以下であるから、このグループGは推奨グループとして確定される。グループGの要素ごとのエントリー情報は次のようになる。

Figure 2005108011
Since the difference values between the expected utility and the utility value are all 0 or less, this group G is determined as a recommended group. The entry information for each element of group G is as follows.
Figure 2005108011

図4に説明を戻す。ステップS5においては、ステップS4で得られた各推奨グループに対して、それが更に小さな推奨グループに分割可能か否かを調べる。もし分割可能な推奨グループがあれば、それを分割して小さな推奨グループに置き換える。   Returning to FIG. In step S5, it is checked whether or not each recommended group obtained in step S4 can be divided into smaller recommended groups. If there is a recommendation group that can be split, split it and replace it with a small recommendation group.

一般に、エントリーe1とe2の要素間にマッチング関係が存在するとき、e1とe2はMに関して「隣接している」という。エントリーe1, enに対して、2つ以上のエントリーからなる系列e1, e2, ..., enが存在し、隣り合うどの2つのエントリーもMに関して隣接している場合、e1とenはMに関して「連結している」という。ステップS4で得られた推奨グループは、この連結性という同値関係によって複数の同値類に分割される場合がある。一般に、推奨グループのサイズは小さいほどよいので、このように分割可能な場合は分割を行う。   In general, e1 and e2 are “adjacent” with respect to M when there is a matching relationship between the elements of entries e1 and e2. If there is a sequence e1, e2, ..., en consisting of two or more entries for entry e1, en and any two adjacent entries are adjacent with respect to M, e1 and en are related to M “Connected”. The recommendation group obtained in step S4 may be divided into a plurality of equivalence classes by this equivalence relationship called connectivity. In general, the smaller the recommended group size, the better.

次のステップS6においては、推奨グループのデータを推奨グループ探索モジュール21が出力する。即ち、推奨グループごとに、そのグループに含まれるエントリー番号の集合と、エントリー間の要素間のマッチング関係を出力する。   In the next step S6, the recommended group search module 21 outputs recommended group data. That is, for each recommended group, a set of entry numbers included in the group and a matching relationship between elements between the entries are output.

上記の例の場合、推奨グループの1つとして、
e18={+A:e79, +B:e80, +E:e72},
e79={-A:e18, -C:-, -C:-, -D:e80, -D:e72},
e80={+A:e1, -B:e18, -B:e72, +D:e79, +E:-},
e72={-A:-, +B:e80, +D:e79, -E:e18},
e76={+B:e1, -C:-, +D:e63},
e1={-A:e80, -B:e76},
e96={+C:e88, +D:e63},
e63={-D:e76, -D:e96, +E:e88},
e88={-C:e96, -E:e63}
が出力される。括弧内は、そのエントリーの符号付き要素名と、要素ごとのマッチング相手のエントリー番号を表す。マッチング相手がいない要素については記号"-"を付している。例えばe18の+A:e79は、e18の+Aとe79の-Aがマッチング関係にあることを示している。なお、このように出力された推奨グループの情報は推奨グループ記憶装置24に格納される。また、表示モジュール22は、上記のような推奨グループの表示情報を生成し、該当するユーザのPC3や携帯端末4に送信する。
In the above example, one of the recommended groups is
e18 = {+ A: e79, + B: e80, + E: e72},
e79 = {-A: e18, -C:-, -C:-, -D: e80, -D: e72},
e80 = {+ A: e1, -B: e18, -B: e72, + D: e79, + E:-},
e72 = {-A:-, + B: e80, + D: e79, -E: e18},
e76 = {+ B: e1, -C:-, + D: e63},
e1 = {-A: e80, -B: e76},
e96 = {+ C: e88, + D: e63},
e63 = {-D: e76, -D: e96, + E: e88},
e88 = {-C: e96, -E: e63}
Is output. The parentheses indicate the signed element name of the entry and the matching partner entry number for each element. Symbols "-" are attached to elements that have no matching partner. For example, +18 of e18: e79 indicates that + A of e18 and −A of e79 are in a matching relationship. Note that the recommended group information output in this way is stored in the recommended group storage device 24. Further, the display module 22 generates display information of the recommended group as described above, and transmits the display information to the PC 3 or the mobile terminal 4 of the corresponding user.

(第2実施形態)
次に、第2の方法について説明する。上述したように、第2の方法は全エントリーを対象に推奨グループへの分割を行う。全エントリーを対象とするのは、できるだけ多数のエントリーにグループを推奨する為である。尚、どの推奨グループにも属さないエントリーが存在し得るため、厳密な意味での「分割」ではないが、便宜上、分割という用語を用いる。第2の方法では、全エントリーを、グループのサイズ制約条件を満たすような複数のグループに分割し、それぞれのグループのコストの総和を最小化する。そのようにして得られるそれぞれのグループが全て推奨グループになるとは限らないが、第1の方法の場合と同様に、各グループ内でのマッチングを決める際になるべく推奨グループになるように制御するため、一般には、多数のエントリーに対してグループを推奨することができる。
(Second Embodiment)
Next, the second method will be described. As described above, the second method divides all entries into recommended groups. The purpose of all entries is to recommend groups to as many entries as possible. Note that since there may be entries that do not belong to any recommended group, the term “division” is used for convenience, although it is not “division” in a strict sense. In the second method, all entries are divided into a plurality of groups satisfying the group size constraint condition, and the total cost of each group is minimized. Not all of the groups thus obtained are recommended groups, but, as in the case of the first method, control is performed so as to be as recommended as possible when determining matching within each group. In general, groups can be recommended for a large number of entries.

第1の方法の場合と同様に、対象とする要素名の集合は予め指定されているものとし、要素ベクトルのインデックスも予めどの要素名に相当するのかが決まっているものとする。そして、各エントリーについては、その登録時に要素ベクトルによって表現されているものとする。   As with the first method, a set of element names of interest is assumed to be specified in advance and that what corresponds to the index also advance any element name of the element vector is determined. Each entry is represented by an element vector at the time of registration.

第2の方法では、まず全エントリーを1つのエントリーのみからなるグループに分割する。この分割により得られるグループ集合を初期解とする。そして、初期解のグループ間でエントリーを移動し、あるいは交換しながら、グループ集合を逐次改善する。その逐次改善の1手法として、第1の方法と同様にSA法を用いることができる。グループ集合のコストには、各グループのコストの総和を用いる。   In the second method, all entries are first divided into groups consisting of only one entry. A group set obtained by this division is set as an initial solution. Then, the group set is sequentially improved while moving or exchanging entries between groups of the initial solution. As one method of the successive improvement, the SA method can be used as in the first method. The total cost of each group is used as the cost of the group set.

図7は第2の実施形態に係り、第2の方法に従って推奨グループを求める具体的な処理手順を示したフローチャートである。この処理は、図7に示すように5つのステップからなる。各ステップの詳細は次の通りである。   FIG. 7 is a flowchart showing a specific processing procedure for obtaining a recommended group according to the second method according to the second embodiment. This process consists of five steps as shown in FIG. Details of each step are as follows.

まずステップS1において、全エントリーを1つのエントリーのみからなるグループに分割し、これにより得られたグループ集合Gを初期解とする。またこのグループ集合Gを最良解(最良グループ集合)として保存する。   First, in step S1, all entries are divided into groups consisting of only one entry, and a group set G obtained as a result is used as an initial solution. The group set G is stored as the best solution (best group set).

次にステップS2では、グループ集合GをSA法で逐次改善する。ここで、図7のステップS2の詳細な処理手順を図8のフローチャートを参照して説明する。   Next, in step S2, the group set G is sequentially improved by the SA method. Here, the detailed processing procedure of step S2 of FIG. 7 is demonstrated with reference to the flowchart of FIG.

先ずS201では、SA法の温度変数tに初期温度をセットする。次にS202では同一温度での繰り返し回数のカウンタcntに0をセットする。次にS203ではグループ集合Gの中から異なる2つのグループg1, g2をランダムに選び、サイズの大きい方をg1とする。サイズが同じ場合はグループ番号の小さい方をg1とする。そして、g1, g2に対するムーヴのタイプを決め、グループ集合Gに対してそのムーヴを実行した場合のコストの差分を計算する。ムーヴには次の4つのタイプがある。   First, in S201, an initial temperature is set in the temperature variable t of the SA method. Next, in S202, 0 is set to the counter cnt of the number of repetitions at the same temperature. Next, in S203, two different groups g1 and g2 are randomly selected from the group set G, and the larger one is set as g1. If the size is the same, the smaller group number is g1. Then, the type of move for g1 and g2 is determined, and the difference in cost when the move is executed for group set G is calculated. There are four types of moves:

タイプ1:g1, g2からそれぞれランダムに1つずつ選んだエントリーe1, e2をg1, g2間で交換する。
タイプ2:g1からランダムに選んだエントリーe1をg2に移す。
タイプ3:g2からランダムに選んだエントリーe2をg1に移す。
タイプ4:g1のエントリー番号の列をランダムに選んだ境界で二分することによって、g1を2つのグループに分割する。
ここで、ムーブのタイプを決定して実行する処理は具体的には次の手順に従う。
Type 1: Exchange entries e1 and e2 selected at random from g1 and g2 respectively between g1 and g2.
Type 2: Move randomly selected entry e1 from g1 to g2.
Type 3: Move randomly selected entry e2 from g2 to g1.
Type 4: Divide g1 into two groups by bisecting g1 entry number columns at randomly chosen boundaries.
Here, the process of determining and executing the type of move specifically follows the following procedure.

(イ):g1のサイズが1(従ってg2のサイズも1)の場合は、タイプ3を選ぶ。g2のサイズが所定のサイズ制約条件に等しい(従ってg1のサイズも所定のサイズ制約条件に等しい)場合は、タイプ4を選ぶ。g1のサイズが所定のサイズ制約条件に等しく、かつg1のサイズが所定のサイズ制約条件に満たない場合はタイプ1または2のいずれかを一方をランダムに選ぶ。その他の場合はタイプ1、2、3のいずれか1つをランダムに選ぶ。 (B): If g1 is 1 (and therefore g2 is 1), select type 3. If the size of g2 is equal to the predetermined size constraint (and thus the size of g1 is also equal to the predetermined size constraint), type 4 is selected. When the size of g1 is equal to the predetermined size constraint condition and the size of g1 is less than the predetermined size constraint condition, either one of type 1 or 2 is selected at random. In other cases, one of types 1, 2, and 3 is selected at random.

(ロ):グループ集合Gに対して(イ)で選んだタイプのムーヴを実行した場合のコストの差分を計算する。 (B): Calculate the difference in cost when the move of the type selected in (a) is executed for the group set G.

(ハ):グループの番号g1, g2、エントリーの番号e1, e2、タイプ4における境界、およびムーヴを実行した場合のコストの差分を保存する(これらは次のS204で使用する)。 (C): The group numbers g1 and g2, the entry numbers e1 and e2, the boundaries in the type 4, and the cost difference when the move is executed are stored (these are used in the next S204).

S204では、S203で求めたコストの差分が0以下ならば次の(i)を、0より大ならば(ii)を実行する。そしてカウンタcntに1を加算する。   In S204, if the cost difference obtained in S203 is 0 or less, the following (i) is executed, and if it is larger than 0, (ii) is executed. Then, 1 is added to the counter cnt.

(i):グループ集合Gに対して、S203を選んだムーヴを実行する。グループ集合Gのコストが最良グループ集合のコストよりも小さい場合は、最良グループ集合をグループ集合Gに置き換える。また、グループ集合Gのコストが0になった場合は、ステップS3に進む。 (I): For the group set G, the move with S203 selected is executed. If the cost of the group set G is smaller than the cost of the best group set, the best group set is replaced with the group set G. If the cost of the group set G becomes 0, the process proceeds to step S3.

(ii):グループ集合Gに対して、S203で選んだムーヴを実行するか否かを、確率p=exp(-1*コストの差分/現在の温度)により決定する。即ち、0以上1以下の乱数を発生させ、その値がp以下ならばS203で選んだムーヴを実行し、pよりも大ならば何もしない。 (Ii): For the group set G, whether or not to execute the move selected in S203 is determined based on the probability p = exp (-1 * cost difference / current temperature). That is, a random number between 0 and 1 is generated. If the value is p or less, the move selected in S203 is executed, and if it is greater than p, nothing is done.

次にS205ではカウンタcntをチェックする。このカウンタcntが所定の繰り返し回数(max_cnt)に満たない場合はS203に戻る。   In step S205, the counter cnt is checked. If the counter cnt is less than the predetermined number of repetitions (max_cnt), the process returns to S203.

次にS206では温度変数tに所定の係数α(0<α<1)を掛けることによって温度を下げる。その温度が所与の最終温度に満たない場合はS202に戻る(S207)。最終温度に達した場合は、この時点の最良グループ集合を推奨グループ集合の候補として採用する(S208)。もし推奨グループ集合の候補を複数求めたい場合は、ステップS1に戻り、SA法で使う乱数表を入れ替えてステップS1とS2を必要数繰り返せばよい。   Next, in S206, the temperature is lowered by multiplying the temperature variable t by a predetermined coefficient α (0 <α <1). If the temperature does not reach the given final temperature, the process returns to S202 (S207). When the final temperature is reached, the best group set at this time is adopted as a candidate for the recommended group set (S208). If it is desired to obtain a plurality of recommended group set candidates, the process returns to step S1, the random number table used in the SA method is replaced, and steps S1 and S2 are repeated as many times as necessary.

図7に説明を戻す。次にステップS3では、ステップS2で求めた最良グループ集合Gの各グループに対してマッチングを決めて、かつグループ内の各エントリーの効用値を求める。そして、各エントリーの効用値が期待効用以上であるようなグループの全体を、推奨グループの全体として確定する。各グループに対する処理は、第1の方法のステップS4のS401〜S405(図6参照)と同様である。   Returning to FIG. Next, in step S3, matching is determined for each group of the best group set G obtained in step S2, and the utility value of each entry in the group is obtained. Then, the entire group in which the utility value of each entry is greater than or equal to the expected utility is determined as the entire recommended group. The processing for each group is the same as S401 to S405 (see FIG. 6) in step S4 of the first method.

次にステップS4では、ステップS3で得られた各推奨グループに対して、それが更に小さな推奨グループに分割可能か否かを調べる。もし分割可能な推奨グループがあれば、それを分割して小さな推奨グループに置き換える。   Next, in step S4, it is checked whether or not each recommended group obtained in step S3 can be divided into smaller recommended groups. If there is a recommendation group that can be split, split it and replace it with a small recommendation group.

そしてステップS5においては、全ての推奨グループのデータを推奨グループ探索モジュール21が出力する。即ち、推奨グループごとに、そのグループに含まれるエントリー番号の集合と、エントリー間の要素間のマッチング関係を出力する。   In step S5, the recommended group search module 21 outputs data of all recommended groups. That is, for each recommended group, a set of entry numbers included in the group and a matching relationship between elements between the entries are output.

例えば、下記のような推奨グループのデータが出力される。g1, g2, g3は推奨グループに付した番号である。

Figure 2005108011
For example, the following recommended group data is output. g1, g2, and g3 are numbers assigned to the recommended groups.
Figure 2005108011

(第3実施形態)
本発明の第3実施形態は上述した第1、第2実施形態のそれぞれと組み合わせることが可能である。第1、第2実施形態では、要素名が同じでかつ符号が異なる要素間のマッチングが想定されている。しかし、要素名が異なっていてもマッチングが可能な場合がある。例えば、「甲信越地方の野菜」の入手を望む人に「長野県の野菜」や「川上村のレタス」を提供する取引は現実に起こり得る。つまり、−(甲信越地方の野菜)と+(長野県の野菜)、−(甲信越地方の野菜)と+(川上村のレタス)はいずれも要素名が異なっているもののマッチングが可能である。また、レタスは野菜の一つの分類であるが、「川上村のレタス」の入手を望む人に「甲信越地方の野菜」を提供することが可能な場合もある。それは、+(甲信越地方の野菜)という要素が、甲信越地方の野菜ならば何でも提供できるという意味を持つ場合もあるからである。
(Third embodiment)
The third embodiment of the present invention can be combined with each of the first and second embodiments described above. In the first and second embodiments, matching between elements having the same element name and different signs is assumed. However, matching may be possible even if the element names are different. For example, a transaction that provides “Nagano Prefecture Vegetables” or “Kawakami Village Lettuce” to a person who wants to obtain “Koshinetsu Local Vegetables” can actually occur. In other words,-(Koshinetsu local vegetables) and + (Nagano prefecture vegetables),-(Koshinetsu local vegetables) and + (Kawakami village lettuce) can be matched even though they have different element names. In addition, lettuce is a category of vegetables, but there are cases where it is possible to provide “Vegetables from the Koshinetsu region” to those who want to obtain “Kawakami Village Lettuce”. This is because the element “+” (a vegetable in the Koshinetsu region) may mean that any vegetable in the Koshinetsu region can be provided.

第3実施形態では、このように異なる要素間にもマッチング可能な組合せがある場合を予め想定し、そのような組合せを予めテーブル等に記憶しておく。そして、グループのコストを計算(第1の方法のステップS3、第2の方法のステップS2)する際、およびマッチングを決める(第1の方法のステップS4、第2の方法のステップS3)際に、そのテーブルを参照して、可能な限りマッチングを追加する。   In the third embodiment, it is assumed in advance that there is a combination that can be matched between different elements, and such a combination is stored in a table or the like in advance. Then, when calculating the cost of the group (step S3 of the first method, step S2 of the second method) and determining the matching (step S4 of the first method, step S3 of the second method) Browse the table and add as many matches as possible.

本実施形態におけるグループのコストの計算方法について詳しく説明する。まず、同じ要素名の間のマッチングを考慮に入れ、これら要素ベクトルの全体の和をとる。そして、その和のベクトルSの正の成分の要素に対して、それとマッチング可能な負の成分の要素が存在する場合は、その正の成分から1を減じ、負の成分に1を加算する。このような処理をベクトルSの全ての正の成分に対して行う。最後にベクトルSの各成分の絶対値の和を求め、それを前記グループのコストとする。   The method for calculating the group cost in this embodiment will be described in detail. First, taking into account matching between the same element names, the sum of these element vectors is taken. When there is a negative component element that can be matched with the positive component element of the sum vector S, 1 is subtracted from the positive component, and 1 is added to the negative component. Such processing is performed for all positive components of the vector S. Finally, the sum of the absolute values of the components of the vector S is obtained and used as the cost of the group.

例えば、下記の9つのエントリーからなるグループGを例に説明する。これらのエントリーは要素ベクトルで表現されており、そのインデックスは左から順に要素名A, B, C, D, Eに相当するものとする。そして、異なる要素間には(-A,+C), (-C,+E), (-A,+E)という3つのマッチング可能な組合せがあるものとする。これらはテーブルM = {(-A,+C), (-C,+E), (-A,+E)}に格納されているものとする。
e18=( 1, 1, 0, 0, 1),
e79=(-1, 0,-2,-2, 0),
e80=( 1,-2, 0, 1, 1),
e72=(-1, 1, 0, 1,-1),
e76=( 0, 1,-1, 1, 0),
e1=(-1,-1, 0, 0, 0),
e96=( 0, 0, 1, 1, 0),
e63=( 0, 0, 0,-2, 1),
e88=( 0, 0,-1, 0,-1)
このグループGのコストを計算する場合、まず、これら要素ベクトルの全体の和をとると、ベクトルS=(-1, 0,-3, 0, 1)が得られる。次に、ベクトルSの5番目の成分1の要素Eに対して、それとマッチング可能な負の成分の要素があるか否かを、テーブルMで確かめる。この場合、(-C,+E)と(-A,+E)というマッチング可能な組合せが存在する。そこで例えば(-C,+E)を採用すると、ベクトルSはS=(-1, 0,-2, 0, 0)となる。このベクトルSにはもう正の成分がないので、この時点でグループGのコストは1+2=3と計算される。
For example, a group G consisting of the following nine entries will be described as an example. These entries are represented by element vectors, and the indexes correspond to element names A, B, C, D, and E in order from the left. It is assumed that there are three matching combinations (-A, + C), (-C, + E), and (-A, + E) between different elements. These are assumed to be stored in the table M = {(− A, + C), (−C, + E), (−A, + E)}.
e18 = (1, 1, 0, 0, 1),
e79 = (-1, 0, -2, -2, 0),
e80 = (1, -2, 0, 1, 1),
e72 = (-1, 1, 0, 1, -1),
e76 = (0, 1, -1, 1, 0),
e1 = (-1, -1, 0, 0, 0),
e96 = (0, 0, 1, 1, 0),
e63 = (0, 0, 0, -2, 1),
e88 = (0, 0, -1, 0, -1)
When calculating the cost of this group G, first, the sum of these element vectors is taken to obtain the vector S = (− 1, 0, −3, 0, 1). Next, with respect to the element E of the fifth component 1 of the vector S, it is checked in the table M whether there is a negative component element that can be matched with it. In this case, there are matching combinations (-C, + E) and (-A, + E). Therefore, for example, when (−C, + E) is adopted, the vector S becomes S = (− 1, 0, −2, 0, 0). Since the vector S no longer has a positive component, the cost of the group G is calculated as 1 + 2 = 3 at this point.

次に、推奨グループの候補に対するマッチングの決め方について詳しく説明する。まず、前述した第1の方法のステップS4と同じ処理によって、同じ要素名の間のマッチングを決める。次に、効用値が1未満のエントリーを(期待効用−効用値)に関して降順のヒープに蓄える。そして、このヒープの根からエントリーを1つずつ取り出しては、未確定リストと、「異なる要素間でマッチング可能な組合せのテーブル」を参照してマッチング相手を探していく。その際、マッチング相手が見つからなかった場合は、再度ヒープの根からエントリーを取り出す。マッチング相手が見つかった場合は、その効用値が1に満たない場合に限りヒープに戻す。以下、ヒープが空になるまで同様の処理を繰り返す。途中で、もし正の要素の欄にしか未確定リストがない、あるいは負の要素の欄にしか未確定リストがない、という状態になった場合は、そこで処理を終了する。   Next, how to determine the matching for the recommended group candidates will be described in detail. First, matching between the same element names is determined by the same processing as in step S4 of the first method described above. Next, entries whose utility value is less than 1 are stored in a descending heap with respect to (expected utility-utility value). Then, one entry is extracted from the root of this heap, and a matching partner is searched with reference to the unconfirmed list and “a table of combinations that can be matched between different elements”. At that time, if no matching partner is found, the entry is taken out from the root of the heap again. If a matching partner is found, it is returned to the heap only if its utility value is less than 1. Thereafter, the same processing is repeated until the heap becomes empty. If, on the way, there is an unconfirmed list only in the positive element column, or an unconfirmed list only in the negative element column, the process ends there.

例えば、上述のグループGが推奨グループの候補であるとして説明する。まず、前述した第1の方法のステップS4と同じ処理によって、同じ要素名の間のマッチングを決めると、グループGの要素ごとのエントリー情報として、

Figure 2005108011
For example, it is assumed that the above-described group G is a recommended group candidate. First, when matching between the same element names is determined by the same process as step S4 of the first method described above, as entry information for each element of the group G,
Figure 2005108011

が得られる。ここで括弧内はこの時点での未確定リストを表している。各エントリーの効用値と、期待効用と効用値の差分値については次のようになっている。

Figure 2005108011
Is obtained. Here, the parenthesis represents the unconfirmed list at this point. The utility value of each entry and the difference value between expected utility and utility value are as follows.
Figure 2005108011

次に、効用値が1未満のエントリーe79, e80, e72, e76を期待効用と効用値の差分値に関して降順のヒープに蓄える。このヒープの根はe79である。そこでe79を取り出し、未確定リストからe79を探すと、e79が-Cの欄に見つかる。次に、テーブルMの中から-Cを含む組合せ(-C,+E)を見つける(見つからない場合は、ヒープの根からエントリーを選び直すという処理に戻る)。そして、+Eの欄に未確定リストが存在するかを調べる。この場合、+Eの欄に未確定リストが存在し、e80があるので、e80の+Eとe79の-Cの間にマッチングを決定する(+Eの欄に未確定リストが存在しない場合は、ヒープの根からエントリーを選び直すという処理に戻る)。これによって、未確定リストは、

Figure 2005108011
となり、e79, e80の効用値と、期待効用と効用値の差分値は、 Next, entries e79, e80, e72, e76 having utility values less than 1 are stored in the heap in descending order with respect to the difference value between the expected utility and the utility value. The root of this heap is e79. If e79 is taken out and e79 is searched from the unconfirmed list, e79 is found in the -C column. Next, a combination (-C, + E) including -C is found in the table M (if it cannot be found, the process returns to selecting an entry from the root of the heap). Then, it is checked whether there is an unconfirmed list in the + E column. In this case, since there is an unconfirmed list in the + E column and there is e80, matching is determined between + E of e80 and -C of e79 (if there is no unconfirmed list in the + E column) Return to the process of reselecting the entry from the root of the heap). As a result, the unconfirmed list
Figure 2005108011
The utility value of e79, e80 and the difference between expected utility and utility value are

Figure 2005108011
Figure 2005108011

となる。e79の効用値はまだ1に満たないのでe79はヒープに戻す。e80の効用値は1であるからe80はヒープから削除する。 It becomes. Since the utility value of e79 is still less than 1, e79 returns to the heap. Since the utility value of e80 is 1, e80 is deleted from the heap.

以下、ヒープが空になるまで同様の処理を繰り返すが、この例の場合は-Aの欄と-Cの欄にしか未確定リストがないので、その時点で処理は終了となる。   Thereafter, the same processing is repeated until the heap becomes empty. In this example, since there are only unconfirmed lists in the -A column and the -C column, the processing ends at that point.

以上説明した本発明の実施形態によれば、各エントリーを要素ベクトルで表現し、要素ベクトルの和から算出されるコストでグループを評価しながら逐次探索し、最後にグループの最良候補に対して要素間の取引関係(マッチング)を決めて効用値を算出する。したがって、グループの評価にはグループ内の具体的なマッチング情報が不要となることから、良好なグループの候補を高速に算出することができる。また、異なる要素間に取引(マッチング)可能な組合せがある場合にも、そのような組合せを予めテーブル等に記憶しておき、グループのコスト計算やマッチングを決める際に、前記テーブル等を参照して、可能な限りマッチングを追加することによって、良好なグループを高速に算出することができる。また、実施形態で説明した電子取引システムは、例えば社内の事業所間で必要物資と不要在庫の収受を決定するシステム等として実現してもよい。   According to the embodiment of the present invention described above, each entry is represented by an element vector, and a sequential search is performed while evaluating a group at a cost calculated from the sum of the element vectors. The utility value is calculated by determining the business relationship (matching) between them. Therefore, specific matching information in the group is not required for group evaluation, and a good group candidate can be calculated at high speed. In addition, even when there are combinations that can be traded (matched) between different elements, such combinations are stored in advance in a table or the like, and the table or the like is referred to when determining the cost calculation or matching of the group. Thus, a good group can be calculated at high speed by adding matching as much as possible. Further, the electronic trading system described in the embodiment may be realized as a system for determining receipt of necessary supplies and unnecessary inventory between offices in the company, for example.

なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

本発明の実施形態に係り、取引情報を生成する情報処理装置が適用された電子取引システムの概略構成を示すブロック図The block diagram which shows schematic structure of the electronic transaction system to which the information processing apparatus which produces | generates transaction information is applied according to embodiment of this invention. 第1の実施形態の概要を説明するための図The figure for demonstrating the outline | summary of 1st Embodiment. 第2の実施形態の概要を説明するための図The figure for demonstrating the outline | summary of 2nd Embodiment. 第1の実施形態に係り、第1の方法に従って推奨グループを求める具体的な処理手順を示したフローチャートThe flowchart which showed the specific process sequence which concerns on 1st Embodiment and calculates | requires a recommendation group according to the 1st method. 図4のステップS3の詳細な処理手順を示すフローチャートThe flowchart which shows the detailed process sequence of step S3 of FIG. 図4のステップS4の詳細な処理手順を示すフローチャートThe flowchart which shows the detailed process sequence of step S4 of FIG. 第2の実施形態に係り、第2の方法に従って推奨グループを求める具体的な処理手順を示したフローチャートThe flowchart which showed the specific process sequence which concerns on 2nd Embodiment and calculates | requires a recommendation group according to a 2nd method. 図7のステップS2の詳細な処理手順を示すフローチャートThe flowchart which shows the detailed process sequence of step S2 of FIG.

符号の説明Explanation of symbols

1…ネットワーク、2…グループ推奨サーバ、3…パーソナルコンピュータ(PC)、4…携帯端末、20…エントリー受付モジュール、21…推奨グループ探索モジュール、22…表示モジュール、23…エントリー記憶装置、24…推奨グループ記憶装置、25…プログラム記憶装置   DESCRIPTION OF SYMBOLS 1 ... Network, 2 ... Group recommendation server, 3 ... Personal computer (PC), 4 ... Portable terminal, 20 ... Entry reception module, 21 ... Recommended group search module, 22 ... Display module, 23 ... Entry storage device, 24 ... Recommendation Group storage device, 25... Program storage device

Claims (12)

取引対象を提供する取引あるいは取引対象を入手する取引のどちらを希望するかを示す正負符号、取引項目名、および取引数量により一つの取引項目が表現され、各々が複数の前記取引項目を含む複数のエントリーを組み合わせることにより、各エントリーを提供したユーザに推奨すべき取引情報を生成する情報処理装置において、
前記複数のエントリーの各々を前記正負符号および前記取引数量からなる符号付きの値を成分とする数値ベクトルの形式で記憶する記憶手段と、
前記記憶手段に記憶された複数のエントリーの組み合わせについて前記数値ベクトルの値に基づき評価コストを計算し、該評価コストを用いて最適な組み合わせを探索する探索手段と、
前記探索手段により探索された最適な組み合わせの中の異なるエントリー間で前記取引項目を互いに対応付けるマッチング処理を行なうことにより前記取引情報を生成するマッチング処理手段と、
を具備する情報処理装置。
One transaction item is represented by a positive / negative sign indicating whether a transaction that provides a transaction object or a transaction that obtains a transaction object, a transaction item name, and a transaction quantity, each including a plurality of the transaction items In the information processing device that generates transaction information that should be recommended to the user who provided each entry by combining the entries of
Storage means for storing each of the plurality of entries in the form of a numerical vector having a signed value consisting of the positive / negative sign and the transaction quantity as a component;
Search means for calculating an evaluation cost based on the value of the numerical vector for a combination of a plurality of entries stored in the storage means, and searching for an optimal combination using the evaluation cost;
Matching processing means for generating the transaction information by performing matching processing that associates the transaction items with each other between different entries in the optimal combination searched by the search means;
An information processing apparatus comprising:
前記マッチング処理手段により生成された取引情報の表示情報を生成する手段と、
前記表示情報を前記各エントリーを提供したユーザに送信する手段と、
を具備することを特徴とする請求項1に記載の情報処理装置。
Means for generating display information of the transaction information generated by the matching processing means;
Means for transmitting the display information to a user who provided each entry;
The information processing apparatus according to claim 1, further comprising:
前記数値ベクトルは、前記取引項目名に対応するインデックスを有することを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the numerical vector has an index corresponding to the transaction item name. 前記探索手段は、前記数値ベクトルの和を計算し、該数値ベクトルの和の各成分の絶対値和を前記評価コストとする請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the search unit calculates a sum of the numerical vectors, and uses an absolute value sum of each component of the numerical vector sum as the evaluation cost. 前記エントリーの各々は予め指定された期待効用値を含み、
前記探索手段は、前記複数のエントリーの各々の効用値を計算し、前記期待効用値と前記効用値との差分が小さくなるように該エントリーの組み合わせを逐次改善することを特徴とする請求項1に記載の情報処理装置。
Each of the entries includes a pre-specified expected utility value,
The search means calculates a utility value of each of the plurality of entries, and sequentially improves the combination of the entries so that a difference between the expected utility value and the utility value becomes small. The information processing apparatus described in 1.
前記効用値は、一つのエントリーにおける取引の成立割合を含む請求項5に記載の情報処理装置。 The information processing apparatus according to claim 5, wherein the utility value includes a transaction establishment ratio in one entry. 前記探索手段はシミュレーティッド・アニーリング法に従って前記最適な組み合わせを探索する請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the search unit searches for the optimum combination according to a simulated annealing method. 前記探索手段は前記ユーザから新たに提供された一つのエントリーを基点に前記最適な組み合わせを探索する請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the search unit searches for the optimum combination based on one entry newly provided by the user. 前記探索手段は前記記憶手段に記憶された全てのエントリーを分割し、該分割されたエントリー毎に前記最適な組み合わせを探索する請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the search unit divides all entries stored in the storage unit and searches for the optimum combination for each of the divided entries. 前記取引項目名が異なる取引項目間を対応付けるテーブルと、
前記テーブルに従い対応付け可能な取引項目を含むエントリーの組み合わせを前記最適な組み合わせに追加する手段と、
を具備する請求項1に記載の情報処理装置。
A table associating transaction items with different transaction item names;
Means for adding a combination of entries including transaction items that can be matched according to the table to the optimal combination;
The information processing apparatus according to claim 1, further comprising:
取引対象を提供する取引あるいは取引対象を入手する取引のどちらを希望するかを示す正負符号、取引項目名、および取引数量により一つの取引項目が表現され、各々が複数の前記取引項目を含む複数のエントリーを組み合わせることにより、各エントリーを提供したユーザに推奨すべき取引情報を生成する取引情報生成方法において、
前記複数のエントリーの各々を前記正負符号および前記取引数量からなる符号付きの値を成分とする数値ベクトルの形式で記憶手段に記憶する記憶ステップと、
前記記憶手段に記憶された複数のエントリーの組み合わせについて前記数値ベクトルの値に基づき評価コストを計算し、該評価コストを用いて最適な組み合わせを探索する探索ステップと、
前記探索ステップにより探索された最適な組み合わせの中の異なるエントリー間で前記取引項目を互いに対応付けるマッチング処理を行なうことにより前記取引情報を生成するマッチング処理ステップと、
を含む取引情報生成方法。
One transaction item is represented by a positive / negative sign indicating whether a transaction that provides a transaction object or a transaction that obtains a transaction object, a transaction item name, and a transaction quantity, each including a plurality of the transaction items In the transaction information generation method for generating transaction information to be recommended to the user who provided each entry by combining the entries of
A storage step of storing each of the plurality of entries in a storage means in the form of a numerical vector having a signed value consisting of the positive / negative sign and the transaction quantity as a component;
A search step for calculating an evaluation cost based on the value of the numerical vector for a combination of a plurality of entries stored in the storage means, and searching for an optimal combination using the evaluation cost;
A matching process step of generating the transaction information by performing a matching process that associates the transaction items with each other between different entries in the optimal combination searched by the search step;
Transaction information generation method including
取引対象を提供する取引あるいは取引対象を入手する取引のどちらを希望するかを示す正負符号、取引項目名、および取引数量により一つの取引項目が表現され、各々が複数の前記取引項目を含む複数のエントリーを組み合わせることにより、各エントリーを提供したユーザに推奨すべき取引情報を生成するプログラムにおいて、
前記複数のエントリーの各々を前記正負符号および前記取引数量からなる符号付きの値を成分とする数値ベクトルの形式で記憶手段に記憶する機能と、
前記記憶手段に記憶された複数のエントリーの組み合わせについて前記数値ベクトルの値に基づき評価コストを計算し、該評価コストを用いて最適な組み合わせを探索する探索機能と、
前記探索機能により探索された最適な組み合わせの中の異なるエントリー間で前記取引項目を互いに対応付けるマッチング処理を行なうことにより前記取引情報を生成するマッチング処理機能と、
をコンピュータにより実現するためのプログラム。
One transaction item is represented by a positive / negative sign indicating whether a transaction that provides a transaction object or a transaction that obtains a transaction object, a transaction item name, and a transaction quantity, each including a plurality of the transaction items In a program that generates transaction information that should be recommended to the user who provided each entry by combining
A function of storing each of the plurality of entries in a storage means in the form of a numeric vector having a signed value composed of the positive / negative sign and the transaction quantity as a component;
A search function for calculating an evaluation cost based on a value of the numerical vector for a combination of a plurality of entries stored in the storage means, and searching for an optimal combination using the evaluation cost;
A matching processing function for generating the transaction information by performing a matching process for associating the transaction items with each other between different entries in the optimum combination searched by the search function;
A program for realizing the above with a computer.
JP2003342232A 2003-09-30 2003-09-30 Information processor for generating transaction information, method for generating transaction information, and program Pending JP2005108011A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003342232A JP2005108011A (en) 2003-09-30 2003-09-30 Information processor for generating transaction information, method for generating transaction information, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003342232A JP2005108011A (en) 2003-09-30 2003-09-30 Information processor for generating transaction information, method for generating transaction information, and program

Publications (1)

Publication Number Publication Date
JP2005108011A true JP2005108011A (en) 2005-04-21

Family

ID=34536585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003342232A Pending JP2005108011A (en) 2003-09-30 2003-09-30 Information processor for generating transaction information, method for generating transaction information, and program

Country Status (1)

Country Link
JP (1) JP2005108011A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013504833A (en) * 2009-09-14 2013-02-07 シカゴ マーカンタイル エクスチェンジ,インク. A rule-based vector space model for creating implied transaction templates

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001357233A (en) * 2000-06-13 2001-12-26 Nec Corp Exchange mediating method, trader terminal device, data processing method, and information storage medium
WO2002027575A1 (en) * 2000-09-25 2002-04-04 Kabushiki Kaisha Toshiba Electronic deal mediating method and electronic deal mediating system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001357233A (en) * 2000-06-13 2001-12-26 Nec Corp Exchange mediating method, trader terminal device, data processing method, and information storage medium
WO2002027575A1 (en) * 2000-09-25 2002-04-04 Kabushiki Kaisha Toshiba Electronic deal mediating method and electronic deal mediating system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013504833A (en) * 2009-09-14 2013-02-07 シカゴ マーカンタイル エクスチェンジ,インク. A rule-based vector space model for creating implied transaction templates

Similar Documents

Publication Publication Date Title
US7636713B2 (en) Using activation paths to cluster proximity query results
CN104903886B (en) Structured search based on social graph information is inquired about
CN108885624B (en) Information recommendation system and method
KR101554569B1 (en) System and method for skyline queries
Kaya A hotel recommendation system based on customer location: a link prediction approach
JP5059132B2 (en) Regional information retrieval server and regional information retrieval method
JP7274160B1 (en) Information processing system and information processing method
CN108898351A (en) Distribution side&#39;s selection method, system, medium and calculating equipment
US8977621B1 (en) Search engine optimizer
Badhon et al. A survey on association rule mining based on evolutionary algorithms
CN116601626A (en) Personal knowledge graph construction method and device and related equipment
Gaur et al. Unconventional optimization for achieving well-informed design solutions for the automobile industry
KR101273646B1 (en) Method and system for indexing and searching in multi-modality data
JP5094904B2 (en) Regional information retrieval server and regional information retrieval method
US20230385747A1 (en) Information processing system and method for processing information
Praditya et al. Designing a tourism recommendation system using a hybrid method (Collaborative Filtering and Content-Based Filtering)
Kobryń et al. Processing technique of ratings for ranking of alternatives (PROTERRA)
Ouadah et al. SkyAP-S3: a hybrid approach for efficient skyline services selection
JP2005108011A (en) Information processor for generating transaction information, method for generating transaction information, and program
US20060167701A1 (en) Estate group purchasing matching system
CN110222055A (en) The single-wheel core value maintaining method of multiple edge update under a kind of Dynamic Graph
CN116361546A (en) Method and device for processing search request, electronic equipment and storage medium
CN108830680A (en) Personalized recommendation method, system and storage medium based on discrete disassembler
CN114429384A (en) Intelligent product recommendation method and system based on e-commerce platform
Miłek et al. Comparative characteristics of GIS using the AHP method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070529

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071009