Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4833025B2 - Combination extraction program, combination extraction method, and combination extraction device - Google Patents
[go: Go Back, main page]

JP4833025B2 - Combination extraction program, combination extraction method, and combination extraction device - Google Patents

Combination extraction program, combination extraction method, and combination extraction device Download PDF

Info

Publication number
JP4833025B2
JP4833025B2 JP2006295465A JP2006295465A JP4833025B2 JP 4833025 B2 JP4833025 B2 JP 4833025B2 JP 2006295465 A JP2006295465 A JP 2006295465A JP 2006295465 A JP2006295465 A JP 2006295465A JP 4833025 B2 JP4833025 B2 JP 4833025B2
Authority
JP
Japan
Prior art keywords
item
items
combination
search
value
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.)
Expired - Fee Related
Application number
JP2006295465A
Other languages
Japanese (ja)
Other versions
JP2008112342A (en
Inventor
達哉 浅井
正卓 松浦
真彦 永田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006295465A priority Critical patent/JP4833025B2/en
Publication of JP2008112342A publication Critical patent/JP2008112342A/en
Application granted granted Critical
Publication of JP4833025B2 publication Critical patent/JP4833025B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は組み合わせ抽出プログラム、組み合わせ抽出方法および組み合わせ抽出装置に関し、特に、アイテムの組み合わせを抽出する組み合わせ抽出プログラム、組み合わせ抽出方法および組み合わせ抽出装置に関する。   The present invention relates to a combination extraction program, a combination extraction method, and a combination extraction device, and more particularly, to a combination extraction program, a combination extraction method, and a combination extraction device that extract a combination of items.

通信販売等において、単品アイテム(例えばテレビのチャンネル等)の組み合わせで構成され、単品アイテムをそれぞれ購入するよりも低価格のセット商品(お値打ちパック)の販売が一般的に行われている。   In mail order sales or the like, a set product (value pack) that is composed of a combination of single item items (for example, a television channel) and that is lower in price than purchasing individual item items is generally performed.

このような商品の販売においては、ユーザが希望するアイテムに一致するセット商品が存在しない場合、ユーザは単品アイテムのみでの購入または単品アイテムとセット商品との組み合わせでの購入のいずれかを選択することになる。   In sales of such products, when there is no set product that matches the item desired by the user, the user selects either purchase of a single item only or purchase of a combination of a single item and a set product. It will be.

この場合、販売側は、セット商品の全組み合せの中からユーザが購入を希望するアイテムを全て含み、かつ、全てのアイテムを単品で購入するより購入金額が安値となる組み合わせをユーザに提供することになる。   In this case, the sales side shall provide the user with a combination that includes all the items that the user wishes to purchase from all combinations of the set products and that the purchase price is lower than purchasing all the items separately. become.

組み合わせを抽出する方法として、例えば構文木を作成し、特定の組み合わせを抽出する方法が知られている(例えば、非特許文献1参照)。
”Efficiently mining long patterns from databases” Proceedings of SIGMOD'98, pp85-93.(ISBN:0-89791-995-5).1998
As a method of extracting combinations, for example, a method of creating a syntax tree and extracting a specific combination is known (for example, see Non-Patent Document 1).
“Efficiently mining long patterns from databases” Proceedings of SIGMOD'98, pp85-93. (ISBN: 0-89791-995-5) .1998

しかしながら、アイテムやセット商品の種類が多くなればなる程、組み合わせ候補が多数になり、計算(組み合わせの抽出計算、抽出後の料金計算)量が増大するため、CPUとメモリの両方の負荷が増大して計算時間が遅延し、適切な組み合わせを迅速に提供することが困難であった。   However, as the types of items and set products increase, the number of combination candidates increases, and the amount of calculations (combination extraction calculation, post-extraction charge calculation) increases, so the load on both the CPU and memory increases. As a result, the calculation time is delayed, and it is difficult to quickly provide an appropriate combination.

本発明はこのような点に鑑みてなされたものであり、迅速に所望の組み合わせを抽出することができる組み合わせ抽出プログラム、組み合わせ抽出方法および組み合わせ抽出装置を提供することを目的とする。   The present invention has been made in view of these points, and an object of the present invention is to provide a combination extraction program, a combination extraction method, and a combination extraction device that can quickly extract a desired combination.

本発明では上記問題を解決するために、図1に示すような処理をコンピュータ1に実行させるための組み合わせ抽出プログラムが提供される。
本発明に係る組み合わせ抽出プログラムは、アイテムの組み合わせを抽出するプログラムである。
In the present invention, in order to solve the above problem, a combination extraction program for causing the computer 1 to execute a process as shown in FIG. 1 is provided.
The combination extraction program according to the present invention is a program for extracting a combination of items.

セットデータ格納手段2は、値をそれぞれ有する複数のアイテム(#item)のセット3、3aとセット3、3aにそれぞれ付随する値とを有するセットデータ4、5を格納する。   The set data storage means 2 stores set data 4, 5 having a set 3, 3a of a plurality of items (#item) each having a value and a value associated with each of the sets 3, 3a.

セット検索手段6は、複数のアイテムを備えるアイテムデータ7の入力に応答し、アイテムデータ7内のアイテムを2つ以上含むセットをセットデータ格納手段2から検索する。   The set search unit 6 searches the set data storage unit 2 for a set including two or more items in the item data 7 in response to the input of the item data 7 including a plurality of items.

セットリスト作成手段8は、セット検索手段6により検索されたセットと、アイテムデータ7内のセット検索手段6により検索されたセットに含まれないアイテムで構成されるアイテム単体群とをこの順番に並べた少なくとも1つの配列を備えるセットリスト9を作成する。   The set list creation means 8 arranges the sets searched by the set search means 6 and the single item groups composed of items not included in the set searched by the set search means 6 in the item data 7 in this order. A set list 9 including at least one array is created.

枝刈り手段10は、セットリスト9を参照し、アイテム単体群を最終遷移先として配列の並びをノード間の遷移で表す探索木を作成し、この探索木を深さ優先探索する際に各配列において、セットに付随する値とアイテム単体群のアイテムそれぞれの値の合計値とを加算していき、与えられた閾値以上になったとき、探索中のノードの枝を枝刈りする。   The pruning means 10 refers to the set list 9, creates a search tree that represents the array sequence as a transition between nodes with the single item group as the final transition destination, and each array when performing a depth-first search of this search tree Then, the value associated with the set and the total value of each item in the single item group are added, and when the threshold value is exceeded, the branch of the node being searched is pruned.

組み合わせ出力手段11は、閾値より小さい合計値を備える配列のセットおよびアイテム単体群の組み合わせを出力する。
このような組み合わせ抽出プログラムによれば、セットデータ格納手段2により、セットデータ4、5が格納される。そして、複数のアイテムを備えるアイテムデータ7が入力されると、セット検索手段6により、アイテムデータ7内のアイテムを2つ以上含むセットがセットデータ格納手段2から検索される。そして、セットリスト作成手段8により、セット検索手段6によって検索されたセットとアイテム単体群とがこの順番に並べられた配列を備えるセットリスト9が作成される。そして、枝刈り手段10により、セットリスト9が参照されて探索木が作成され、この探索木を深さ優先探索する際に、配列におけるセットに付随する値とアイテム単体群のアイテムそれぞれの値の合計値とが加算されていき、与えられた閾値以上になったとき、探索中のノードの枝が枝刈りされる。その後、組み合わせ出力手段11により、閾値より小さい合計値を備える配列のセットおよびアイテム単体群の組み合わせが出力される。
The combination output unit 11 outputs a combination of an array set having a total value smaller than a threshold and a single item group.
According to such a combination extraction program, the set data 4 and 5 are stored by the set data storage means 2. When the item data 7 including a plurality of items is input, the set search unit 6 searches the set data storage unit 2 for a set including two or more items in the item data 7. Then, the set list creating means 8 creates a set list 9 having an array in which the sets retrieved by the set retrieving means 6 and the single item groups are arranged in this order. Then, the pruning means 10 refers to the set list 9 to create a search tree. When a depth-first search is performed on this search tree, the value associated with the set in the array and the value of each item in the single item group The total value is added, and when the threshold value exceeds a given threshold value, the branch of the node being searched is pruned. Thereafter, the combination output unit 11 outputs a set of arrays having a total value smaller than the threshold value and a combination of the single item group.

本発明では、与えられた閾値以上になったとき、探索中のノードの枝を枝刈りするため、以降の計算を行う必要がなく、演算量を低減することができる。
また、深さ優先検索を行うことで、検索木上部の重複計算を省略することができ、演算量を低減することができる。
In the present invention, the branch of the node being searched is pruned when the value exceeds a given threshold value, so there is no need to perform subsequent calculations and the amount of computation can be reduced.
In addition, by performing depth-first search, it is possible to omit the overlap calculation at the top of the search tree and reduce the amount of calculation.

これにより、閾値より小さい合計値を備える配列のセットおよびアイテム単体群の組み合わせ、すなわちアイテムデータ内のアイテムを全て含み、かつ、値の小さい組み合わせを迅速に提供することができる。   Thereby, it is possible to quickly provide a combination of a set of arrays having a total value smaller than the threshold and a combination of single item groups, that is, a combination including all items in the item data and having a small value.

以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図1は、本発明の概要を示す図である。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
First, an outline of the present invention will be described, and then an embodiment will be described.
FIG. 1 is a diagram showing an outline of the present invention.

コンピュータ1を用いて図1に示すような処理を行う組み合わせ抽出プログラムが提供される。
図1に示すコンピュータ1は、セットデータ格納手段2とセット検索手段6とセットリスト作成手段8と枝刈り手段10と組み合わせ出力手段11とを有している。
A combination extraction program for performing processing as shown in FIG. 1 using the computer 1 is provided.
The computer 1 shown in FIG. 1 includes a set data storage unit 2, a set search unit 6, a set list creation unit 8, a pruning unit 10, and a combination output unit 11.

セットデータ格納手段2は、セット3に付随する値を有するセットデータ4と、セット3aに付随する値を有するセットデータ5とを格納する。
セット3、3aはそれぞれ値をそれぞれ有する複数のアイテム(#item)で構成されている。
The set data storage means 2 stores set data 4 having a value associated with the set 3 and set data 5 having a value associated with the set 3a.
Each of the sets 3 and 3a includes a plurality of items (#item) each having a value.

セット3、3aにそれぞれ付随する値(400、300)は、セット3、3aそれぞれを構成するアイテム単体の値をそれぞれ加算した値よりも小さく設定されている。
セット検索手段6は、複数のアイテムを備えるアイテムデータ7の入力に応答し、アイテムデータ7内のアイテムを2つ以上含むセットをセットデータ格納手段2から検索する。なお、アイテムデータ7は全て単体のアイテムで構成され、セットは含まれていない。図1には示していないが、セットとアイテム単体とが混在するデータからアイテムデータ7を作成する手段がコンピュータ1に設けられているのが好ましい。
The values (400, 300) associated with the sets 3, 3a are set to be smaller than the values obtained by adding the values of the individual items constituting the sets 3, 3a, respectively.
The set search unit 6 searches the set data storage unit 2 for a set including two or more items in the item data 7 in response to the input of the item data 7 including a plurality of items. The item data 7 is all composed of a single item and does not include a set. Although not shown in FIG. 1, it is preferable that the computer 1 is provided with means for creating the item data 7 from data in which a set and a single item are mixed.

セットリスト作成手段8は、セット検索手段6により検索されたセットと、アイテムデータ7内のセット検索手段6により検索されたセットに含まれないアイテムで構成されるアイテム単体群とをこの順番に並べた少なくとも1つの配列を備えるセットリスト9を作成する。図1では、セット3の内容をセット#3とし、セット3aの内容をセット#3aとしている。   The set list creation means 8 arranges the sets searched by the set search means 6 and the single item groups composed of items not included in the set searched by the set search means 6 in the item data 7 in this order. A set list 9 including at least one array is created. In FIG. 1, the contents of set 3 are set # 3, and the contents of set 3a are set # 3a.

枝刈り手段10は、セットリスト9を参照し、アイテム単体群を最終遷移先として配列の並びをノード間の遷移で表す探索木を作成し、この探索木を深さ優先探索する際に各配列におけて、セットに付随する値とアイテム単体群のアイテムそれぞれの値の合計値とを加算していき、与えられた閾値以上になったとき、探索中のノードの枝を枝刈りする。なお、セットに付随する値とアイテム単体群のアイテムそれぞれの値は、予めセット検索手段6により検索されたセットに添付しておいてもよいし、セットリスト作成手段8がセットリストを作成する時点でセット検索手段6から取得するようにしておいてもよいし、枝刈り手段10が、探索木を作成する時点でセット検索手段6から取得するようにしてもよい。   The pruning means 10 refers to the set list 9, creates a search tree that represents the array sequence as a transition between nodes with the single item group as the final transition destination, and each array when performing a depth-first search of this search tree In this case, the value associated with the set and the total value of each item in the single item group are added, and when the value exceeds a given threshold, the branch of the node being searched is pruned. The value associated with the set and the value of each item in the item group may be attached in advance to the set searched by the set search means 6, or when the set list creation means 8 creates the set list. May be obtained from the set search means 6 or may be obtained from the set search means 6 when the pruning means 10 creates a search tree.

組み合わせ出力手段11は、閾値より小さい合計値を備える配列のセットおよびアイテム単体群の組み合わせを出力する。
このような組み合わせ抽出プログラムによれば、セットデータ格納手段2により、セットデータ4、5が格納される。そして、複数のアイテムを備えるアイテムデータ7が入力されると、セット検索手段6により、アイテムデータ7内のアイテムを2つ以上含むセットがセットデータ格納手段2から検索される。そして、セットリスト作成手段8により、セット検索手段6によって検索されたセットとアイテム単体群とがこの順番に並べられた配列を備えるセットリスト9が作成される。そして、枝刈り手段10により、セットリスト9が参照されて探索木が作成され、この探索木を深さ優先探索する際に、配列におけるセットに付随する値とアイテム単体群のアイテムそれぞれの値の合計値とが加算されていき、与えられた閾値以上になったとき、探索中のノードの枝が枝刈りされる。その後、組み合わせ出力手段11により、閾値より小さい合計値を備える配列のセットおよびアイテム単体群の組み合わせが出力される。
The combination output unit 11 outputs a combination of an array set having a total value smaller than a threshold and a single item group.
According to such a combination extraction program, the set data 4 and 5 are stored by the set data storage means 2. When the item data 7 including a plurality of items is input, the set search unit 6 searches the set data storage unit 2 for a set including two or more items in the item data 7. Then, the set list creating means 8 creates a set list 9 having an array in which the sets retrieved by the set retrieving means 6 and the single item groups are arranged in this order. Then, the pruning means 10 refers to the set list 9 to create a search tree. When a depth-first search is performed on this search tree, the value associated with the set in the array and the value of each item in the single item group The total value is added, and when the threshold value exceeds a given threshold value, the branch of the node being searched is pruned. Thereafter, the combination output unit 11 outputs a set of arrays having a total value smaller than the threshold value and a combination of the single item group.

図2は、実施の形態の組み合わせ抽出システムを示す図である。
組み合わせ抽出システム300は、組み合わせ抽出装置(サーバ)100と、端末装置(クライアント)200とがネットワーク(インターネット)15を介して接続されている。
FIG. 2 is a diagram illustrating the combination extraction system according to the embodiment.
In the combination extraction system 300, a combination extraction device (server) 100 and a terminal device (client) 200 are connected via a network (Internet) 15.

組み合わせ抽出装置100は、端末装置200からのアイテム(購入商品)の商品データ(組み合わせ抽出依頼)を受信すると、アイテムの最適な組み合わせを抽出し、端末装置200に送信する。   Upon receiving the product data (combination extraction request) of the item (purchased product) from the terminal device 200, the combination extraction device 100 extracts the optimal combination of items and transmits it to the terminal device 200.

端末装置200は、ユーザやオペレータの入力に応じて前述した商品データを組み合わせ抽出装置100に送信する。この端末装置200は、例えばコールセンターの端末機器やユーザが使用する端末機器である。なお、図2では、1つの端末装置200を図示したが、複数の端末装置200が組み合わせ抽出装置100に接続されていてもよい。   The terminal device 200 transmits the above-described product data to the combination extraction device 100 in response to an input from a user or an operator. The terminal device 200 is, for example, a call center terminal device or a terminal device used by a user. In FIG. 2, one terminal device 200 is illustrated, but a plurality of terminal devices 200 may be connected to the combination extraction device 100.

図3は、組み合わせ抽出装置のハードウェア構成例を示す図である。
組み合わせ抽出装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
FIG. 3 is a diagram illustrating a hardware configuration example of the combination extraction device.
The entire combination extraction apparatus 100 is controlled by a CPU (Central Processing Unit) 101. A random access memory (RAM) 102, a hard disk drive (HDD) 103, a graphic processing device 104, an input interface 105, and a communication interface 106 are connected to the CPU 101 via a bus 107.

RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。また、HDD103内には、プログラムファイルが格納される。   The RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 102 stores various data necessary for processing by the CPU 101. The HDD 103 stores an OS and application programs. A program file is stored in the HDD 103.

グラフィック処理装置104には、モニタ16が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ16の画面に表示させる。入力インタフェース105には、キーボード17とマウス18とが接続されている。入力インタフェース105は、キーボード17やマウス18から送られてくる信号を、バス107を介してCPU101に送信する。   A monitor 16 is connected to the graphic processing device 104. The graphic processing device 104 displays an image on the screen of the monitor 16 in accordance with a command from the CPU 101. A keyboard 17 and a mouse 18 are connected to the input interface 105. The input interface 105 transmits a signal sent from the keyboard 17 or the mouse 18 to the CPU 101 via the bus 107.

通信インタフェース106は、ネットワーク15に接続されている。通信インタフェース106は、ネットワーク15を介して、他のコンピュータとの間でデータの送受信を行う。   The communication interface 106 is connected to the network 15. The communication interface 106 transmits / receives data to / from other computers via the network 15.

以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には組み合わせ抽出装置100のハードウェア構成を示したが端末装置200についても同様のハードウェア構成で実現することができる。このようなハードウェア構成のシステムにおいて組み合わせ抽出を行うために、組み合わせ抽出装置100内には、以下のような機能が設けられる。   With the hardware configuration as described above, the processing functions of the present embodiment can be realized. Although FIG. 3 shows the hardware configuration of the combination extraction apparatus 100, the terminal apparatus 200 can also be realized with the same hardware configuration. In order to perform combination extraction in a system having such a hardware configuration, the following functions are provided in the combination extraction apparatus 100.

図4は、組み合わせ抽出装置および端末装置の機能を示すブロック図である。
組み合わせ抽出装置100は、商品データ受信部110と、アイテム分解部120と、アイテム一覧格納部130と、セット一覧格納部140と、セット検索部150と、最適組み合わせ探索部160と、結果送信部170とを有している。
FIG. 4 is a block diagram illustrating functions of the combination extraction device and the terminal device.
The combination extraction apparatus 100 includes a product data reception unit 110, an item decomposition unit 120, an item list storage unit 130, a set list storage unit 140, a set search unit 150, an optimum combination search unit 160, and a result transmission unit 170. And have.

商品データ受信部110は、端末装置200から商品データ30を受信する。
図5は、商品データを示す図である。
商品データ30は、アイテムを特定する品番と、複数の品番で構成されるセットとを有している。商品データ30における品番とセットとの組み合わせは、特に限定されないが、商品データ30には少なくとも1つのセットが含まれているものとする。図5に示す商品データ30は、品番#101、#102、#103で構成されるセットAと、品番#103、#104、#105で構成されるセットBと、品番#302、#201、#301とで構成されるアイテム単体群とを有している。
The product data receiving unit 110 receives the product data 30 from the terminal device 200.
FIG. 5 is a diagram showing product data.
The product data 30 includes a product number for specifying an item and a set composed of a plurality of product numbers. Although the combination of the product number and the set in the product data 30 is not particularly limited, it is assumed that the product data 30 includes at least one set. Product data 30 shown in FIG. 5 includes a set A composed of product numbers # 101, # 102, and # 103, a set B composed of product numbers # 103, # 104, and # 105, and product numbers # 302, # 201, And a single item group composed of # 301.

図4に戻って説明する。
アイテム分解部120は、アイテムに関するデータを格納するアイテム一覧格納部130およびセットに関するデータを格納するセット一覧格納部140それぞれに格納されているデータを参照し、セットおよびアイテム単体での合計金額と、セットをアイテム単体に分解したときのアイテム単体での合計金額とを算出する。
Returning to FIG.
The item disassembly unit 120 refers to the data stored in the item list storage unit 130 that stores data related to items and the set list storage unit 140 that stores data related to sets. The total amount of the item alone when the set is disassembled into the item alone is calculated.

アイテム一覧格納部130およびセット一覧格納部140の内容については後述する。
セット検索部150は、セット一覧格納部140に格納されているデータを参照し、商品データ30内のアイテムの品番を二つ以上含むセットを検索する。
The contents of the item list storage unit 130 and the set list storage unit 140 will be described later.
The set search unit 150 refers to the data stored in the set list storage unit 140 and searches for a set including two or more item numbers of items in the product data 30.

最適組み合わせ探索部160は、セット検索部150の検索結果を用いて組み合わせ探索木を作成し、合計金額が最も安い組み合わせを抽出する。なお、組み合わせ探索木の内容については後述する。   The optimum combination search unit 160 creates a combination search tree using the search result of the set search unit 150, and extracts the combination with the lowest total amount. The contents of the combination search tree will be described later.

この最適組み合わせ探索部160がセットリスト作成手段、枝刈り手段および組み合わせ出力手段の主要部を構成している。
結果送信部170は、組み合わせ抽出結果を端末装置200に送信する。
The optimum combination search unit 160 constitutes a main part of the set list creation unit, the pruning unit, and the combination output unit.
The result transmission unit 170 transmits the combination extraction result to the terminal device 200.

端末装置200は、データ送信部210と結果表示部220とを有している。
データ送信部210は、ユーザやオペレータの入力に応じて商品データ30を組み合わせ抽出装置100に送信する。
The terminal device 200 includes a data transmission unit 210 and a result display unit 220.
The data transmission unit 210 transmits the product data 30 to the combination extraction apparatus 100 in response to an input from a user or an operator.

結果表示部220は、組み合わせ抽出装置100から得られた組み合わせ抽出結果を受信し、端末装置200が備えるモニタに表示する。
次に、組み合わせ抽出装置100の動作について説明する。
The result display unit 220 receives the combination extraction result obtained from the combination extraction device 100 and displays the result on the monitor provided in the terminal device 200.
Next, the operation of the combination extraction apparatus 100 will be described.

図6は、組み合わせ抽出装置の動作を示すフローチャートである。
まず、商品データ受信部110が商品データ30を受信すると、アイテム分解部120が、申し込みセット集合S(S={s1,・・・,sN}⊆S0(S0:全セット集合))中の各セットをアイテムに分解して申し込みアイテム集合iに加える(ステップSa1)。すなわちU=i∪s1∪・・・∪sN(⊆I(I:全アイテム集合))とする。
FIG. 6 is a flowchart showing the operation of the combination extraction apparatus.
First, when the merchandise data receiving unit 110 receives the merchandise data 30, the item disassembling unit 120 converts each of the application set sets S (S = {s1,..., SN} ⊆S0 (S0: all set sets)). The set is disassembled into items and added to the application item set i (step Sa1). That is, U = i∪s1∪... ∪sN (⊆I (I: all items set)).

次に、セット検索部150が、任意のセットs∈S0に対して、セットsがUの要素を2つ以上含むならばSetListに追加する(ステップSa2)。SetList内のセットには、Uの要素を多く含む順に一意な順序≦が与えられるものとする。   Next, the set search unit 150 adds to SetList if the set s includes two or more elements of U with respect to an arbitrary set sεS0 (step Sa2). It is assumed that a set in SetList is given a unique order ≦ in the order including many U elements.

次に、最適組み合わせ探索部160が、(SetList,≦)に対する仮想的な集合枚挙木を深さ優先探索する。なお、枝刈り用の初期閾値を合計金額α0(アイテムとセットの合計金額)とする。そして、探索により得られる最安値と、この最安値を与えるアイテムの品番、セットの組み合わせとを、組み合わせ抽出結果として結果送信部170に渡す(ステップSa3)。   Next, the optimum combination search unit 160 performs a depth-first search for a virtual collective tree for (SetList, ≦). Note that the initial threshold for pruning is a total amount α0 (total amount of items and sets). Then, the lowest price obtained by the search, the item number of the item that gives this lowest price, and the combination of the set are passed to the result transmission unit 170 as a combination extraction result (step Sa3).

次に、結果送信部170が、組み合わせ抽出結果を送信する(ステップSa4)。
以上で組み合わせ抽出装置100の動作を終了する。
次に、組み合わせ抽出装置100の動作を、具体例を用いて説明する。
Next, the result transmission unit 170 transmits the combination extraction result (step Sa4).
The operation of the combination extraction apparatus 100 is thus completed.
Next, the operation of the combination extraction apparatus 100 will be described using a specific example.

図7および図8は、アイテム分解部の動作を示す図である。
図7に示すように、アイテム一覧格納部130には、アイテム一覧テーブル131が格納されている。
7 and 8 are diagrams illustrating the operation of the item disassembling unit.
As shown in FIG. 7, the item list storage unit 130 stores an item list table 131.

アイテム一覧テーブル131には、品番、単価、セット有無、セットの欄が設けられている。各欄の横方向に並べられた情報同士が互いに関連づけられている。
品番の欄にはアイテムを特定する品番が設定されている。
The item list table 131 has columns of product number, unit price, presence / absence of set, and set. Information arranged in the horizontal direction of each column is associated with each other.
A product number for specifying an item is set in the product number column.

単価の欄には、アイテム毎の単価が設定されている。
セット有無の欄には、このアイテムを含むセットの存在の有無が設定されている。
セットの欄には、セットが存在する(○)の場合、このアイテムを含むセット名が設定されている。
A unit price for each item is set in the unit price column.
The presence / absence of a set including this item is set in the set presence / absence column.
In the set column, when a set exists (O), a set name including this item is set.

セット一覧格納部140には、セット一覧テーブル141が格納されている。
セット一覧テーブル141には、セット、セット価格、品番の欄が設けられている。各欄の横方向に並べられた情報同士が互いに関連づけられている。
The set list storage unit 140 stores a set list table 141.
The set list table 141 has columns for sets, set prices, and product numbers. Information arranged in the horizontal direction of each column is associated with each other.

セットの欄には、セットを識別する名前が設定されている。
セット価格の欄には、セットのセット価格が設定されている。
品番の欄には、セットに含まれるアイテムの品番が設定されている。
In the set column, a name for identifying the set is set.
The set price of the set is set in the set price column.
The item number of the item included in the set is set in the item number column.

アイテム分解部120は、商品データ30に含まれるアイテム単体群(品番#302、#201、#301のアイテム)について、アイテム一覧テーブル131を参照し、各アイテムの単価を取得する。次に、商品データ30に含まれるセットについて、セット一覧テーブル141を参照し、セットA、セットBそれぞれのセット価格を取得する。次に、各アイテムの単価と各セット価格とを合計した合計金額α0を含む商品データ40を作成する。なお、例えば合計金額α0が予め分かっている場合(ユーザやオペレータにより入力された場合等)は、この動作が省略される。   The item disassembly unit 120 refers to the item list table 131 for the single item group (items # 302, # 201, # 301) included in the product data 30, and acquires the unit price of each item. Next, for the sets included in the product data 30, the set list table 141 is referred to, and the set prices of the sets A and B are acquired. Next, the product data 40 including the total amount α0 obtained by adding the unit price of each item and each set price is created. For example, when the total amount α0 is known in advance (when input by the user or operator, etc.), this operation is omitted.

次に、図8に示すように、アイテム分解部120は、商品データ40に含まれるセットA、セットB(全セット)をそれぞれアイテム単体に分解し、アイテム一覧テーブル131を参照して分解したアイテム単体それぞれの合計金額を算出し、各アイテムの品番および単価とアイテム単体での合計金額α1とを含む商品単価データ50を作成する。   Next, as shown in FIG. 8, the item disassembling unit 120 disassembles the set A and the set B (all sets) included in the product data 40 into individual items, and disassembles the items by referring to the item list table 131. The total amount of each single item is calculated, and product unit price data 50 including the item number and unit price of each item and the total amount α1 of the item unit is created.

図9は、セット検索部の動作を示す図である。
セット検索部150は、セット一覧テーブル141の中から商品単価データ50に含まれるアイテムの品番を2つ以上含むセットを検索し、アイテムの品番との一致数の多いセットの順番に、セットを並べた検索結果データ60を作成する。
FIG. 9 is a diagram illustrating the operation of the set search unit.
The set search unit 150 searches the set list table 141 for a set including two or more item numbers of items included in the product unit price data 50, and arranges the sets in the order of the set having a large number of matches with the item number. Search result data 60 is created.

図10は、最適組み合わせ探索部のSetList作成動作を示す図である。
最適組み合わせ探索部160は、検索結果データ60の一致数の多いセットから順番にセットを繋ぎ、セットに属しないアイテム単体の品番を、アイテム単体群としてセットの後段に繋いた探索木構造(配列)を作成し、この探索木構造を備えるSetList70を作成する。
FIG. 10 is a diagram illustrating the SetList creation operation of the optimum combination search unit.
The optimum combination search unit 160 connects sets in order from the set with the largest number of matches in the search result data 60, and searches a tree structure (array) in which the item numbers of the individual items that do not belong to the set are connected to the subsequent stage of the set as a single item group. And SetList 70 having this search tree structure is created.

このとき、セットに優先順位をつけ、一致数の等しいセットについてはAからZの順番に繋ぐ。例えば一致数の等しいセットAとセットBとについては、セットAを必ず前段(図10中左側)に配置する。これにより、例えばセットB→セットAという構造が排除されるため、SetList70の探索木構造を簡易なものとすることができる。   At this time, priorities are assigned to the sets, and sets having the same number of matches are connected in the order of A to Z. For example, for the set A and the set B having the same number of matches, the set A is always arranged in the previous stage (left side in FIG. 10). As a result, for example, the structure of set B → set A is eliminated, so that the search tree structure of SetList 70 can be simplified.

その後、SetList70内の探索木構造に基づいて作成した組み合わせ探索木Tを探索して最安値を探す。
図11は、組み合わせ探索木の木構造を示す図である。
Thereafter, the combination search tree T created based on the search tree structure in the SetList 70 is searched to search for the lowest price.
FIG. 11 is a diagram illustrating a tree structure of the combination search tree.

組み合わせ探索木Tは、ノード(node)と、ノード間を接続するエッジ(edge:辺)とを有している。ノード71が根ノード(root)であり、他のノードは、ノード71の下位構造となっている。ノード71に対し、SetList70に基づいてノード(下位ノード)72〜78が作成される。各ノード72〜78には、それぞれセット名およびセット価格が関連づけられている。各ノード72〜78の下位には、アイテム単体群で構成される葉ノード(Leaf)L71〜L77が作成される。   The combinatorial search tree T has nodes and edges (edges) that connect the nodes. The node 71 is a root node, and the other nodes are subordinate to the node 71. Nodes (lower nodes) 72 to 78 are created for the node 71 based on the SetList 70. Each node 72-78 is associated with a set name and a set price. Below each of the nodes 72 to 78, leaf nodes (Leaf) L71 to L77 configured by a single item group are created.

次に、検索動作の一般例をフローチャートを用いて説明する。
図12は、検索動作を示すフローチャートである。
以下、現在のノード(の位置):ノードv、現在の合計金額:value、現在の閾値:閾値α、ノードuの価格:kakaku(u)、スタック:Stack[0..maxdepth(T1)]とする。
Next, a general example of the search operation will be described using a flowchart.
FIG. 12 is a flowchart showing the search operation.
Hereinafter, current node (position): node v, current total amount: value, current threshold value: threshold value α, price of node u: kakaku (u), stack: Stack [0. . maxdepth (T1)].

初期状態としてノードv=root、閾値α=α0(¥2400)、Stack[0]=0とする(ステップS11)。なお、閾値α=α1(¥2500)としてもよい。
次に、組み合わせ探索木Tのプリオーダ順で次のノードuが存在するか否かを判断する(ステップS12)。プリオーダ順とは,順序木を時計回り、反時計回りに深さ優先探索して、各節点を、はじめて通ったときに出力して得られる順序である。
As an initial state, node v = root, threshold α = α0 (¥ 2400), and Stack [0] = 0 are set (step S11). The threshold α may be α1 (¥ 2500).
Next, it is determined whether or not the next node u exists in the order of the combination search tree T (step S12). The pre-order order is an order obtained by performing a depth-first search clockwise and counterclockwise in the order tree and outputting each node for the first time.

次のノードuが存在する場合(ステップS12のYes)、ノードuに進み、ノードv=ノードuとする(ステップS12a)。
次に、ノードvが組み合わせ探索木Tの葉ノードか否かを判断する(ステップS13)。
When the next node u exists (Yes in step S12), the process proceeds to node u, and node v = node u is set (step S12a).
Next, it is determined whether or not the node v is a leaf node of the combination search tree T (step S13).

ノードvが葉ノードの場合(ステップS13のYes)、葉ノードに含まれるアイテム単体の金額であるval_itemsをvalueに加算する(ステップS14)。
次に、valueが閾値αより小さいか否かを判断する(ステップS15)。
If the node v is a leaf node (Yes in step S13), val_items, which is the amount of a single item included in the leaf node, is added to value (step S14).
Next, it is determined whether or not value is smaller than a threshold value α (step S15).

valueが閾値α以上の場合(ステップS15のNo)、ステップS12に移行してステップS12以降の動作を継続して行う。
一方、valueが閾値αより小さい場合(ステップS15のYes)、valueを閾値αに設定する(ステップS16)。
When the value is equal to or greater than the threshold value α (No in step S15), the process proceeds to step S12 and the operations after step S12 are continuously performed.
On the other hand, when the value is smaller than the threshold value α (Yes in step S15), the value is set to the threshold value α (step S16).

次に、現在のセット、アイテム単体群の組み合わせとvalueとをRAM102に記録(保持)する(ステップS17)。そして、ステップS12に移行してステップS12以降の動作を継続して行う。   Next, the current set, the combination of the single item group, and the value are recorded (held) in the RAM 102 (step S17). And it transfers to step S12 and performs the operation | movement after step S12 continuously.

ところで、ステップS13にてノードvが葉ノードではない場合(ステップS13のNo)、
value=Stack[depth(u)−1]+kakaku(u)
Stack[depth(u)]=value
とする(ステップS18)。すなわち、ノードuの1つ上位のノードまでのスタック(合計金額)にノードuでのセット価格を加算し、加算した価格を新たなスタックとする。
By the way, when the node v is not a leaf node in step S13 (No in step S13),
value = Stack [depth (u) -1] + kakaku (u)
Stack [depth (u)] = value
(Step S18). That is, the set price at the node u is added to the stack (total amount) up to the node one node above the node u, and the added price is used as a new stack.

次に、valueが閾値αより小さいか否かを判断する(ステップS19)。
valueが閾値αより小さい場合(ステップS19のYes)、ステップS12に移行し、引き続き検索動作を行う。
Next, it is determined whether or not the value is smaller than the threshold value α (step S19).
When the value is smaller than the threshold value α (Yes in step S19), the process proceeds to step S12, and the search operation is continued.

一方、valueが閾値α以上の場合(ステップS19のNo)、組み合わせ探索木Tの枝刈りを行う、すなわちノードuの全ての子孫を組み合わせ探索木Tから削除したとみなして探索を省く(ステップS20)。そして、ステップS12に移行し、引き続き検索動作を行う。   On the other hand, if the value is equal to or greater than the threshold value α (No in step S19), the combinatorial search tree T is pruned, that is, all descendants of the node u are regarded as deleted from the combinatorial search tree T, and the search is omitted (step S20). ). Then, the process proceeds to step S12, and the search operation is continued.

また、ステップS12にて次のノードuが存在しない場合(ステップS12のNo)、RAM102に記録されているvalue(最安値)とセット、アイテム単体群の組み合わせとを組み合わせ抽出結果として結果送信部170に渡し(ステップS21)、検索動作を終了する。   If the next node u does not exist in step S12 (No in step S12), the result transmission unit 170 uses the combination of the value (lowest price) recorded in the RAM 102, the set, and the combination of the single item group as a combination extraction result. (Step S21), the search operation is terminated.

これにより、検索動作終了時には、最安値となるvalueと、それを与える組み合わせが得られる。このように、最適組み合わせ探索部160は、計算途中に前に算出した金額を上回った枝については、枝刈りを行い最後まで計算を行わずに計算を中止する。これにより、計算時間の短縮を図ることができる。   Thus, at the end of the search operation, the value that is the lowest value and the combination that gives it are obtained. As described above, the optimum combination search unit 160 prunes branches that exceed the amount of money previously calculated during the calculation, and stops the calculation without performing calculation until the end. Thereby, shortening of calculation time can be aimed at.

次に、検索動作の具体例について、図11に示す組み合わせ探索木Tを用いて説明する。ここでは初期状態として閾値α=合計金額α1=¥2500とする。
まず、組み合わせ探索木Tのノード71〜74および葉ノードL71を含むグループ(セット、アイテム単体群の組み合わせ)G1について探索する。このグループG1においてはノード72(ノードu)が存在するためノード72(ノードu)に進み、現在の位置(ノードv)をノード72(ノードu)とする。ノード72(ノードu)は葉ノードではないので、セットAのセット価格¥500をvalueに加算する。
Next, a specific example of the search operation will be described using the combination search tree T shown in FIG. Here, the threshold value α = total amount α1 = ¥ 2500 is set as the initial state.
First, a search is performed for a group (a combination of a set and a single item group) G1 including the nodes 71 to 74 and the leaf node L71 of the combination search tree T. In this group G1, since the node 72 (node u) exists, the process proceeds to the node 72 (node u), and the current position (node v) is set as the node 72 (node u). Since node 72 (node u) is not a leaf node, the set price ¥ 500 of set A is added to value.

そして、valueを閾値αと比較する。value(¥500)<閾値α(¥2500)であり、ノード73(ノードu)が存在するためノード73(ノードu)に進み、現在の位置(ノードv)をノード73(ノードu)とする。ノード73(ノードu)は葉ノードではないので、セットBのセット価格¥500をvalueに加算する。   Then, the value is compared with the threshold value α. Since value (¥ 500) <threshold α (¥ 2500) and node 73 (node u) exists, the process proceeds to node 73 (node u), and the current position (node v) is set as node 73 (node u). . Since node 73 (node u) is not a leaf node, set price ¥ 500 of set B is added to value.

そして、valueを閾値αと比較する。value(¥1000)<閾値α(¥2500)であり、ノード74(ノードu)が存在するためノード74(ノードu)に進み、現在の位置(ノードv)をノード74(ノードu)とする。ノード74(ノードu)は葉ノードではないので、セットDのセット価格¥2000をvalueに加算する。   Then, the value is compared with the threshold value α. Since value (¥ 1000) <threshold α (¥ 2500) and node 74 (node u) exists, the process proceeds to node 74 (node u), and the current position (node v) is set to node 74 (node u). . Since node 74 (node u) is not a leaf node, the set price ¥ 2000 of set D is added to value.

そして、valueを閾値αと比較する。value(¥3000)>閾値α(¥2500)であるため、ノード74、葉ノードL71間の枝を枝刈りする(葉ノードL71について計算を行わない)。   Then, the value is compared with the threshold value α. Since value (¥ 3000)> threshold α (¥ 2500), the branch between the node 74 and the leaf node L71 is pruned (the calculation is not performed for the leaf node L71).

そして、次のノード(葉ノードL72)が存在するため、葉ノードL72がノードu(=ノードv)となる。
次に、組み合わせ探索木Tのノード71〜ノード73、葉ノードL72を含むグループG2について探索する。このグループG2においては、セットBの処理まではグループG1と同様である。すなわち、value(¥1000)<閾値α(¥2500)であり、葉ノードL72(ノードv)は葉ノードであるので、葉ノードL72に含まれるアイテム単体の金額の合計を計算し、得られた金額¥1400をvalueに加算する。
Since the next node (leaf node L72) exists, the leaf node L72 becomes the node u (= node v).
Next, the group G2 including the nodes 71 to 73 and the leaf node L72 of the combination search tree T is searched. This group G2 is the same as the group G1 up to the process of set B. That is, since value (¥ 1000) <threshold α (¥ 2500) and leaf node L72 (node v) is a leaf node, the total amount of individual items included in leaf node L72 was calculated and obtained. Add the amount of ¥ 1400 to value.

そして、valueを閾値αと比較する。value(¥2400)<閾値α(¥2500)であるため、閾値α=value(¥2400)とする。
そして、現在のセット、アイテム単体群の組み合わせとvalue(¥2400)とをRAM102に記録する。
Then, the value is compared with the threshold value α. Since value (¥ 2400) <threshold α (¥ 2500), it is assumed that threshold α = value (¥ 2400).
Then, the current set, the combination of the single item group, and value (¥ 2400) are recorded in the RAM 102.

そして、ノード75がノードu(ノードv)となる。以下、同様に探索を行う。
ノード71、72、75、葉ノードL73を含むグループは、ノード75の探索時に、value(¥2500)となるので、この時点でノード75、葉ノードL73間の枝を枝刈りする。
The node 75 becomes the node u (node v). Thereafter, the search is performed in the same manner.
Since the group including the nodes 71, 72, 75 and the leaf node L73 becomes value (¥ 2500) when searching for the node 75, the branch between the node 75 and the leaf node L73 is pruned at this time.

ノード71、72、葉ノードL74を含むグループは、葉ノードL74の探索時にvalue(¥2350)となるので、α=Value(¥2350)とする。
そして、現在のセット、アイテム単体群の組み合わせとvalue(¥2350)とをRAM102に記録(上書き)する。
Since the group including the nodes 71 and 72 and the leaf node L74 becomes value (¥ 2350) when searching for the leaf node L74, α = Value (¥ 2350).
Then, the combination of the current set and the single item group and the value (¥ 2350) are recorded (overwritten) in the RAM 102.

ノード71、76、77、葉ノードL75を含むグループは、ノード77の探索時に、value(¥2500)となるので、ノード77、葉ノード75間の辺を枝刈りする(ノード77で枝刈りし、その子孫は探索しない)。   Since the group including the nodes 71, 76, 77 and the leaf node L75 becomes value (¥ 2500) when searching for the node 77, the edge between the node 77 and the leaf node 75 is pruned (pruned by the node 77). , Its descendants are not searched).

ノード71、76、葉ノードL76を含むグループは、葉ノードL76の探索時にvalue(¥2250)となるので、α=Value(¥2250)とし、ノード76、葉ノードL76間の枝を枝刈りする。   Since the group including the nodes 71 and 76 and the leaf node L76 becomes value (¥ 2250) when searching for the leaf node L76, α = Value (¥ 2250) and the branch between the node 76 and the leaf node L76 is pruned. .

そして、現在のセット、アイテム単体群の組み合わせとvalue(¥2250)とをRAM102に記録(上書き)する。
ノード71、78、葉ノードL77を含むグループでは、葉ノードL77の探索時にvalue(¥3950)となるので、この時点でノード78、葉ノードL77間の枝を枝刈りする。
Then, the combination of the current set and item single group and value (¥ 2250) is recorded (overwritten) in the RAM 102.
In the group including the nodes 71 and 78 and the leaf node L77, value (¥ 3950) is obtained when searching for the leaf node L77, so the branch between the node 78 and the leaf node L77 is pruned at this time.

そして、葉ノードL77まで探索が終了すると、RAM102に記録されているvalue(最安値)とセット、アイテム単体群の組み合わせとを組み合わせ抽出結果として結果送信部170に渡す。   When the search is completed up to the leaf node L77, the value (lowest price) recorded in the RAM 102, the set, and the combination of the item group are passed to the result transmission unit 170 as a combination extraction result.

ここでは、value(¥2250)と、セットBと品番#101、#102、#201、#301、#302のアイテム単体群の組み合わせとを組み合わせ抽出結果として渡す。   Here, the value (¥ 2250), the set B, and the combinations of the single item groups of the product numbers # 101, # 102, # 201, # 301, and # 302 are delivered as the combination extraction result.

以上述べたように、組み合わせ抽出装置100によれば、ユーザが購入を希望するアイテムを全て含み、かつ、合計金額が最安値となる組み合わせを容易かつ確実に出力(提示)することができる。   As described above, according to the combination extraction apparatus 100, it is possible to easily and reliably output (present) a combination including all items that the user desires to purchase and having the lowest total price.

また、組み合わせ探索木Tを用いて探索を行うことにより、重複する計算部分の演算を省略することができるので、従来に比べ演算量が指数的に減少する。よって、CPUへの負荷を軽減することができ、短時間で演算を終了することができる。   In addition, by performing a search using the combination search tree T, it is possible to omit the calculation of overlapping calculation parts, so that the amount of calculation decreases exponentially compared to the conventional case. Therefore, the load on the CPU can be reduced, and the calculation can be completed in a short time.

また、探索時に閾値αを上回ったグループについてはその時点で枝刈りを行うことにより、CPUへの負荷を、より軽減することができ、より短時間で演算を終了することができる。   Further, by pruning a group that exceeds the threshold value α at the time of searching, the load on the CPU can be further reduced, and the calculation can be completed in a shorter time.

さらに、出力される組み合わせ抽出結果によっては商品データ30の入力時にはユーザ、オペレータ等が気づかなかった組み合わせを提示することができる。
また、中間ノードにロジック(枝刈り、最安値の判断)を持たせることにより、単純な料金計算以外のロジック搭載を可能としている。これにより、アイテム毎に設定される期間限定のキャンペーン割引や、年齢制限等による購入可否等を容易に判断対象とすることができ、中間ノードにおいて、他の計算条件を含めた計算量の削減を容易に行うことができる。
Furthermore, depending on the combination extraction result that is output, combinations that the user, operator, or the like did not notice when inputting the product data 30 can be presented.
In addition, by providing logic (pruning, judgment of the lowest price) to the intermediate node, it is possible to mount logic other than simple charge calculation. This makes it possible to easily determine campaign discounts set for each item for a limited time, purchase availability due to age restrictions, etc., and reduce the amount of calculation including other calculation conditions at intermediate nodes. It can be done easily.

よって、例えばアイテム、セットの価格に変更が発生した場合においても、最新情報での最安値の組み合わせ選択を容易に行うことができる。特に、新しいセットが次から次へと出現し、組み合わせ候補が膨大となる程、効果が顕著に現れる。   Therefore, for example, even when a change occurs in the price of an item or a set, it is possible to easily select the combination of the lowest prices with the latest information. In particular, as new sets appear from one to the next and the number of combination candidates becomes enormous, the effect becomes more prominent.

次に、第2の実施の形態の組み合わせ抽出システムについて説明する。
以下、第2の実施の形態の組み合わせ抽出システムについて、前述した第1の実施の形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
Next, the combination extraction system of the second embodiment will be described.
Hereinafter, the combination extraction system according to the second embodiment will be described with a focus on differences from the first embodiment described above, and description of similar matters will be omitted.

第2の実施の形態の組み合わせ抽出システムは、最安値が複数存在した場合の最適組み合わせ探索部160の処理方法に特徴を有する。
図13は、第2の実施の形態のアイテム分解部の動作を示す図であり、図14は、第2の実施の形態のセット検索部の動作を示す図である。
The combination extraction system of the second embodiment is characterized by the processing method of the optimum combination search unit 160 when there are a plurality of lowest prices.
FIG. 13 is a diagram illustrating the operation of the item decomposition unit according to the second embodiment, and FIG. 14 is a diagram illustrating the operation of the set search unit according to the second embodiment.

第2の実施の形態のセット一覧格納部140には、セットDのセット価格がセット一覧テーブル141と異なるセット一覧テーブル141aが格納されている。なお、アイテム分解部120およびセット検索部150の動作については第1の実施の形態と同様であるため、その説明を省略する。   The set list storage unit 140 according to the second embodiment stores a set list table 141a in which the set price of the set D is different from the set list table 141. Note that the operations of the item disassembling unit 120 and the set search unit 150 are the same as those in the first embodiment, and a description thereof will be omitted.

図15は、第2の実施の形態の最適組み合わせ探索部のSetList作成動作を示す図である。
最適組み合わせ探索部160は、第1の実施の形態と同様にしてSetList70aを作成する。その後、SetList70内の探索木構造に基づいて作成した組み合わせ探索木T1を探索して最安値を探す。
FIG. 15 is a diagram illustrating a SetList creation operation of the optimum combination search unit according to the second embodiment.
The optimal combination search unit 160 creates the SetList 70a in the same manner as in the first embodiment. After that, the combination search tree T1 created based on the search tree structure in the SetList 70 is searched for the lowest price.

図16は、第2の実施の形態の組み合わせ探索木の木構造を示す図である。
この第2の実施の形態においても第1の実施の形態と同様に、最適組み合わせ探索部160は、組み合わせ探索木T1のプリオーダ順で探索を行う。そして、最安値が発見される度に、α=valueとし、組み合わせ探索木T1を枝刈りしていく。このとき、valueと閾値αとを比較したときに、value=閾値αとなったグループが複数存在する場合、それぞれのセット、アイテム単体群の組み合わせとvalue(¥2400)とをRAM102に記録する。
FIG. 16 is a diagram illustrating a tree structure of the combination search tree according to the second embodiment.
Also in the second embodiment, as in the first embodiment, the optimum combination search unit 160 searches in the order of the combination search tree T1. Each time the lowest price is found, α = value is set, and the combinatorial search tree T1 is pruned. At this time, when the value and the threshold value α are compared, and there are a plurality of groups where value = threshold value α, the set, the combination of the single item group, and the value (¥ 2400) are recorded in the RAM 102.

そして、探索が終了した時点で、これらグループの中の、セット、アイテム単体群を含めたアイテムの数が最も多いグループにおけるセット、アイテム単体群の組み合わせとvalueとを組み合わせ抽出結果として結果送信部170に渡す。図16では、最安値¥2150と、セットBとセットDと品番#102、#201、#302とを組み合わせ抽出結果として渡す。   When the search is completed, the result transmitting unit 170 obtains a combination extraction result of the combination of the set and item single group and the value in the group having the largest number of items including the set and single item group in these groups as a combination extraction result. To pass. In FIG. 16, the lowest price ¥ 2150, the set B and the set D, and the product numbers # 102, # 201, and # 302 are delivered as the combination extraction result.

この第2の実施形態の組み合わせ探索システムによれば、第1の実施の形態の組み合わせ探索システムと同様の効果が得られる。
そして、第2の実施形態の組み合わせ探索システムによれば、最安、かつ、アイテムの数が最も多いグループを容易に抽出することができるため、ユーザに対してよりお買い得感のある組み合わせを提供することができる。
According to the combination search system of the second embodiment, the same effect as the combination search system of the first embodiment can be obtained.
And according to the combination search system of 2nd Embodiment, since the group which has the cheapest and the largest number of items can be extracted easily, the combination with a more bargain feeling is provided with respect to a user. be able to.

次に、第3の実施の形態の組み合わせ抽出システムについて説明する。
以下、第3の実施の形態の組み合わせ抽出システムについて、前述した第1の実施の形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
Next, a combination extraction system according to the third embodiment will be described.
Hereinafter, the combination extraction system of the third embodiment will be described focusing on the differences from the first embodiment described above, and the description of the same matters will be omitted.

第3の実施の形態の組み合わせ抽出システムは、商品データ30の合計金額α1より安い値を備えるグループが複数存在した場合の最適組み合わせ探索部160の処理方法に特徴を有する。   The combination extraction system according to the third embodiment is characterized in the processing method of the optimum combination search unit 160 when there are a plurality of groups having values lower than the total price α1 of the product data 30.

図17は、第3の実施の形態のアイテム一覧テーブルを示す図である。
アイテム一覧テーブル131aのデータ構造は、アイテム一覧テーブル131と同様であるが、品番#203が追加されており、また、品番#402以下のアイテムについての詳細が図示されている。
FIG. 17 is a diagram illustrating an item list table according to the third embodiment.
The data structure of the item list table 131a is the same as that of the item list table 131, but the item number # 203 is added, and details of items below the item number # 402 are shown.

また、アイテム一覧テーブル131aには、新たに内容の欄が設定されている。内容の欄には、アイテムの内容(図17では番組名)が設定されている。
図18は、第3の実施の形態のセット一覧テーブルを示す図である。
Also, a new content column is set in the item list table 131a. In the contents column, the contents of the item (program name in FIG. 17) are set.
FIG. 18 illustrates a set list table according to the third embodiment.

セット一覧テーブル141bのデータ構造は、セット一覧テーブル141と同様であるが、セットAおよびセットBに含まれる品番が異なっている。
図19は、アイテム分解部の動作を示す図である。
The data structure of the set list table 141b is the same as that of the set list table 141, but the product numbers included in the set A and the set B are different.
FIG. 19 is a diagram illustrating the operation of the item disassembling unit.

アイテム分解部120は、検索結果データ60bを作成する。
図20は、セット検索部の動作を示す図である。
セット検索部150は、SetList70bを作成する。
The item disassembly unit 120 creates search result data 60b.
FIG. 20 is a diagram illustrating the operation of the set search unit.
The set search unit 150 creates a SetList 70b.

図21は、第3の実施の形態の探索動作を示すフローチャートである。
ステップS31〜ステップS35、それぞれステップS11〜ステップS15と同様の動作を行う。
FIG. 21 is a flowchart illustrating a search operation according to the third embodiment.
Steps S31 to S35 perform the same operations as steps S11 to S15, respectively.

そして、valueが閾値αより小さい場合(ステップS35のYes)、valueを閾値αに設定せずに、現在のセット、アイテム単体群の組み合わせと、valueとを組み合わせ抽出結果として結果送信部170に渡す(ステップS36)。この際、この組み合わせに含まれるユーザが申し込んでいないアイテム件数と、それらのアイテム名を同時に渡す。   When the value is smaller than the threshold value α (Yes in step S35), the value is not set to the threshold value α, and the combination of the current set and the single item group and the value are passed to the result transmission unit 170 as a combination extraction result. (Step S36). At this time, the number of items that the user included in this combination has not applied for and the item names are passed simultaneously.

ステップS37〜ステップS39:ステップS18〜ステップS20と同様の動作を行う。
なお、ステップS36にて説明したように、閾値αより安値のセット、アイテム単体群の組み合わせを発見した時点で、結果送信部170に組み合わせ抽出結果を渡しているため、ステップS21に対応する動作は行わない。
Steps S37 to S39: The same operations as in steps S18 to S20 are performed.
As described in step S36, the combination extraction result is passed to the result transmission unit 170 when a combination of a set with a lower price than the threshold value α and a combination of the single item group is found, so the operation corresponding to step S21 is as follows. Not performed.

次に、第3の実施の形態の検索動作の具体例について説明する。
図22は、第3の実施の形態の組み合わせ探索木の木構造を示す図である。
この第3の実施の形態においても第1の実施の形態と同様に、最適組み合わせ探索部160は、組み合わせ探索木T2のプリオーダ順で探索を行う。そして、閾値αよりも安値のvalueを備えたグループを発見した場合でも閾値α=2500のままで(α=valueとせず)組み合わせ探索木T2を枝刈りしていく。そして、閾値αより安値のvalueを備えたグループが発見された時点で、このグループのvalueとアイテムの組み合わせと商品データ30に含まれない品番のアイテムの内容とを組み合わせ抽出結果として結果送信部170に渡す。図22では、まず、value(¥2400)と、セットAとセットBと品番#201、#301、#302のアイテム単体群の組み合わせと、これらのアイテム数と、商品データ30に含まれない品番のアイテムの内容とを組み合わせ抽出結果として渡す。
Next, a specific example of the search operation according to the third embodiment will be described.
FIG. 22 is a diagram illustrating a tree structure of the combination search tree according to the third embodiment.
Also in the third embodiment, similarly to the first embodiment, the optimum combination search unit 160 searches in the order of the combination search tree T2. Even when a group having a value that is lower than the threshold value α is found, the combinatorial search tree T2 is pruned with the threshold value α = 2500 (not α = value). When a group having a value that is lower than the threshold value α is found, a combination of the value of the group and the item and the content of the item of the item number not included in the product data 30 are obtained as a combination extraction result, and the result transmission unit 170 To pass. In FIG. 22, first, value (¥ 2400), set A and set B, combinations of item single groups of item numbers # 201, # 301, and # 302, the number of these items, and item numbers not included in the item data 30 The contents of the item are combined and passed as an extraction result.

次に、value(¥2350)と、セットAと品番#104、#105、#201、#301、#302のアイテム単体群の組み合わせと、これらのアイテム数と、商品データ30に含まれない品番のアイテムの内容とを組み合わせ抽出結果として渡す。   Next, value (¥ 2350), the combination of the single item group of set A and product numbers # 104, # 105, # 201, # 301, and # 302, the number of these items, and the product number not included in the product data 30 The contents of the item are combined and passed as an extraction result.

次に、value(¥2250)と、セットBとセットDと品番#101、#102、#201、#301、#302のアイテム単体群の組み合わせと、これらのアイテム数と、商品データ30に含まれない品番のアイテムの内容とを組み合わせ抽出結果として渡す。   Next, value (¥ 2250), set B and set D, combination of item groups # 101, # 102, # 201, # 301, and # 302, the number of these items, and the product data 30 The content of the item with the part number that is not valid is passed as a combination extraction result.

図23は、結果表示部により表示された組み合わせ抽出結果を示す図である。
組み合わせ抽出結果画面221には、候補、金額、アイテム数、申し込み以外のアイテムの欄が設けられており、各欄の横方向に並べられた情報同士が互いに関連づけられている。
FIG. 23 is a diagram illustrating a combination extraction result displayed by the result display unit.
The combination extraction result screen 221 includes columns for items other than candidates, amounts, items, and applications, and information arranged in the horizontal direction of each column is associated with each other.

候補の欄には、組み合わせ抽出結果を識別する名前が設定される。
金額の欄には、組み合わせ抽出結果として出力されたvalueが設定される。
アイテム数の欄には、全てのアイテムの数が設定される。
In the candidate field, a name for identifying the combination extraction result is set.
The value output as the combination extraction result is set in the amount column.
The number of all items is set in the item number column.

申し込み以外のアイテムの欄には、商品データ30に記載されてないアイテムの品番とその内容とが設定される。
この第3の実施形態の組み合わせ探索システムによれば、第1の実施の形態の組み合わせ探索システム300と同様の効果が得られる。
In the item column other than the application, the item number of the item not described in the product data 30 and its content are set.
According to the combination search system of the third embodiment, the same effect as the combination search system 300 of the first embodiment can be obtained.

そして、第3の実施形態の組み合わせ探索システムによれば、さらに、ユーザに対し、お買い得感(アイテム数や金額、買いたいアイテムのバランス)のある組み合わせを容易に選択することができる。   And according to the combination search system of 3rd Embodiment, the combination with a bargain feeling (the number of items, the amount of money, the balance of the item to buy) can be further easily selected with respect to a user.

なお、本実施の形態では、安値を発見する度に結果送信部170に組み合わせ抽出結果を渡したが、本発明はこれに限らず、例えば予め結果送信部170に渡す組み合わせ抽出結果の数を予め設定(例えば3個)しておき、安値を発見する度に組み合わせ抽出結果をRAM102に記録し、RAM102に記録された組み合わせ抽出結果が3個を超える場合、新たに発見した組み合わせ抽出結果をRAM102に記録されている3個の組み合わせ抽出結果と比較し、これらのうちから最も値の大きい組み合わせ抽出結果除いた3個をRAM102に記録し、探索が終了した時点で、RAM102に記録されている3個の組み合わせ抽出結果を結果送信部170に渡すようにしてもよい。   In this embodiment, each time a low price is found, the combination extraction result is passed to the result transmission unit 170. However, the present invention is not limited to this, and for example, the number of combination extraction results passed to the result transmission unit 170 in advance is set in advance. The combination extraction result is recorded in the RAM 102 every time a low price is found, and when the combination extraction result recorded in the RAM 102 exceeds three, the newly extracted combination extraction result is stored in the RAM 102. Compared with the three combination extraction results recorded, three of these extracted from the combination extraction result having the largest value are recorded in the RAM 102, and the three recorded in the RAM 102 when the search is completed. The combination extraction result may be passed to the result transmission unit 170.

以上、本発明の組み合わせ抽出プログラム、組み合わせ抽出方法および組み合わせ抽出装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。   The combination extraction program, the combination extraction method, and the combination extraction apparatus of the present invention have been described based on the illustrated embodiment. However, the present invention is not limited to this, and the configuration of each unit has the same function. Can be replaced with any structure having Moreover, other arbitrary structures and processes may be added to the present invention.

また、本発明は、前述した各実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよく、例えば、閾値αの値を一定にして探索を行い、閾値αより安値のvalueを備えたグループの中の、セット、アイテム単体群を含めたアイテムの数が最も多いグループにおけるセット、アイテム単体群の組み合わせとvalueとを組み合わせ抽出結果として結果送信部170に渡すようにしてもよい。   Further, the present invention may be a combination of any two or more configurations (features) of the above-described embodiments. For example, the search is performed with a constant value of the threshold value α, and the threshold value is set. A set in the group having the largest number of items including a set and a single item group among groups having a value lower than α and a combination of the single item group and the value are passed to the result transmission unit 170 as a combination extraction result. You may do it.

なお、上記の処理機能は、コンピュータによって実現することができる。その場合、組み合わせ抽出装置100が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。   The above processing functions can be realized by a computer. In that case, a program describing the processing contents of the functions that the combination extraction apparatus 100 should have is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic recording device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape. Examples of the optical disc include a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable) / RW (ReWritable). Examples of the magneto-optical recording medium include MO (Magneto-Optical disk).

プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   When distributing the program, for example, a portable recording medium such as a DVD or a CD-ROM in which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.

組み合わせ抽出プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。   The computer that executes the combination extraction program stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.

(付記1) アイテムの組み合わせを抽出する組み合わせ抽出プログラムにおいて、
コンピュータを、
値をそれぞれ有する複数のアイテムのセットと、前記セットに付随する値とを有するセットデータが複数格納されたセットデータ格納手段、
複数の前記アイテムを備えるアイテムデータの入力に応答し、前記アイテムデータ内の前記アイテムを2つ以上含む前記セットを前記セットデータ格納手段から検索するセット検索手段、
前記セット検索手段により検索された前記セットと、前記アイテムデータ内の前記セット検索手段により検索された前記セットに含まれない前記アイテムで構成されるアイテム単体群とをこの順番に並べた少なくとも1つの配列を備えるセットリストを作成するセットリスト作成手段、
前記セットリストを参照し、前記アイテム単体群を最終遷移先として前記配列の並びをノード間の遷移で表す探索木を作成し、前記探索木を深さ優先探索する際に前記各配列において、前記セットに付随する値と前記アイテム単体群の前記アイテムそれぞれの値の合計値とを加算していき、与えられた閾値以上になったとき、探索中のノードの枝を枝刈りする枝刈り手段、
前記閾値より小さい前記合計値を備える前記配列の前記セットおよび前記アイテム単体群の組み合わせを出力する組み合わせ出力手段、
として、機能させることを特徴とする組み合わせ抽出プログラム。
(Supplementary note 1) In a combination extraction program for extracting a combination of items,
Computer
Set data storage means for storing a plurality of set data each having a set of items each having a value and a value associated with the set;
A set search means for searching the set data storage means for the set including two or more items in the item data in response to input of item data including a plurality of the items;
The set searched by the set search means and at least one item group composed of the items not included in the set searched by the set search means in the item data in this order A set list creation means for creating a set list with an array;
Referencing the set list, creating a search tree that represents the array sequence as a transition between nodes with the single item group as a final transition destination, and in each array when performing a depth-first search of the search tree, A pruning means for pruning the branch of the node being searched when the value associated with the set and the total value of each of the items in the single item group are added, and when the value exceeds a given threshold value,
A combination output means for outputting a combination of the set of the arrays having the total value smaller than the threshold and the item single group;
As a combination extraction program characterized by functioning as

(付記2) 前記コンピュータを、さらに、
前記各アイテムそれぞれの値の値情報が格納されたデータ格納手段、
少なくとも1つの前記アイテムと、前記セットとが混在する混在データ入力に応答し、前記混在データに含まれる前記セットの前記アイテムそれぞれの値を前記値情報から取り出し、前記混在データに含まれる前記アイテム単体の全ての合計値を算出して前記アイテムデータを作成する算出手段、
として機能させることを特徴とする付記1記載の組み合わせ抽出プログラム。
(Supplementary note 2)
Data storage means in which value information of the value of each item is stored;
In response to mixed data input in which at least one item and the set are mixed, the value of each item of the set included in the mixed data is extracted from the value information, and the single item included in the mixed data Calculating means for calculating the total value of the item data to create the item data;
The combination extraction program according to supplementary note 1, wherein the combination extraction program is made to function as:

(付記3) 前記枝刈り手段は、前記混在データに含まれる前記セットの値と前記各アイテムそれぞれの値との合計値を前記閾値とすることを特徴とする付記2記載の組み合わせ抽出プログラム。   (Additional remark 3) The said pruning means uses the total value of the value of the said set contained in the said mixed data, and the value of each said item as said threshold value, The combination extraction program of Additional remark 2 characterized by the above-mentioned.

(付記4) 前記枝刈り手段は、前記アイテムデータの前記各アイテムそれぞれの値の合計値を前記閾値とすることを特徴とする付記1記載の組み合わせ抽出プログラム。
(付記5) 前記セットリスト作成手段は、前記セット検索手段により検索された前記セットのうち、前記アイテムデータ内の前記アイテムを含む数の多い前記セットから順番に並べた前記配列を作成することを特徴とする付記1記載の組み合わせ抽出プログラム。
(Additional remark 4) The said pruning means uses the sum total value of each said item of the said item data as said threshold value, The combination extraction program of Additional remark 1 characterized by the above-mentioned.
(Additional remark 5) The said set list preparation means produces the said arrangement | sequence arranged in order from the said many sets containing the said item in the said item data among the said sets searched by the said set search means. The combination extraction program according to appendix 1, which is characterized.

(付記6) 前記枝刈り手段は、前記配列において、前記セットに付随する値と前記アイテム単体群の前記アイテムそれぞれの値の合計値とが前記閾値より小さいとき、前記合計値をその後の深さ優先探索の前記閾値とすることを特徴とする付記1記載の組み合わせ抽出プログラム。   (Supplementary Note 6) When the pruning means in the array has a value associated with the set and a total value of the values of the items of the single item group being smaller than the threshold value, the pruning means calculates the total value as a depth after that. The combination extraction program according to supplementary note 1, wherein the threshold value is used for the priority search.

(付記7) 前記組み合わせ出力手段は、前記閾値より小さい前記セットおよび前記アイテム単体群の組み合わせが複数存在する場合、複数の前記閾値より小さい前記セットおよび前記アイテム単体群の組み合わせのうち最も多く前記アイテムを含む組み合わせを出力することを特徴とする付記1記載の組み合わせ抽出プログラム。   (Supplementary Note 7) When there are a plurality of combinations of the set and the item single group that are smaller than the threshold, the combination output unit has the largest number of the combinations of the set and the item single group that are smaller than the threshold. The combination extraction program according to appendix 1, wherein a combination including

(付記8) 前記コンピュータを、前記アイテムに関する付記情報を格納する付記情報格納手段としてさらに機能させ、
前記組み合わせ出力手段は、前記閾値以下の前記セットおよび前記アイテム単体群の組み合わせを出力する際に、全ての前記アイテムまたは前記アイテムデータに含まれていない前記アイテムそれぞれについて前記付記情報を付加して出力することを特徴とする付記1記載の組み合わせ抽出プログラム。
(Supplementary Note 8) The computer is further caused to function as supplementary information storage means for storing supplementary information related to the item,
The combination output means adds and outputs the additional information for each of the items that are not included in all the items or the item data when outputting the combination of the set and the single item group that is equal to or less than the threshold. The combination extraction program according to supplementary note 1, wherein:

(付記9) アイテムの組み合わせを抽出する組み合わせ抽出方法において、
セットデータ格納手段が、値をそれぞれ有する複数のアイテムのセットと、前記セットに付随する値とを有するセットデータを複数格納し、
セット検索手段が、複数の前記アイテムを備えるアイテムデータの入力に応答し、前記アイテムデータ内の前記アイテムを2つ以上含む前記セットを前記セットデータ格納手段から検索し、
セットリスト作成手段が、前記セット検索手段により検索された前記セットと、前記アイテムデータ内の前記セット検索手段により検索された前記セットに含まれない前記アイテムで構成されるアイテム単体群とをこの順番に並べた少なくとも1つの配列を備えるセットリストを作成し、
枝刈り手段が、前記セットリストを参照し、前記アイテム単体群を最終遷移先として前記配列の並びをノード間の遷移で表す探索木を作成し、前記探索木を深さ優先探索する際に前記各配列において、前記セットに付随する値と前記アイテム単体群の前記アイテムそれぞれの値の合計値とを加算していき、与えられた閾値以上になったとき、探索中のノードの枝を枝刈りし、
組み合わせ出力手段が、前記閾値より小さい前記合計値を備える前記配列の前記セットおよび前記アイテム単体群の組み合わせを出力する、
ことを特徴とする組み合わせ抽出方法。
(Supplementary Note 9) In a combination extraction method for extracting a combination of items,
The set data storage means stores a plurality of set data each having a set of items each having a value and a value associated with the set;
A set search means is responsive to an input of item data comprising a plurality of the items, and searches the set data storage means for the set including two or more items in the item data,
The set list creation means includes the set searched by the set search means and the single item group composed of the items not included in the set searched by the set search means in the item data in this order. Create a setlist with at least one array arranged in
The pruning means refers to the set list, creates a search tree that represents the sequence of the array as a transition between nodes with the single item group as a final transition destination, and performs the depth-first search for the search tree. In each array, the value associated with the set and the sum of the values of the items of the item group are added together, and when the value exceeds a given threshold, the branch of the node being searched is pruned. And
A combination output means outputs the combination of the set of the array and the item single group including the total value smaller than the threshold;
A combination extraction method characterized by that.

(付記10) アイテムの組み合わせを抽出する組み合わせ抽出装置において、
値をそれぞれ有する複数のアイテムのセットと、前記セットに付随する値とを有するセットデータが複数格納されたセットデータ格納手段と、
複数の前記アイテムを備えるアイテムデータの入力に応答し、前記アイテムデータ内の前記アイテムを2つ以上含む前記セットを前記セットデータ格納手段から検索するセット検索手段と、
前記セット検索手段により検索された前記セットと、前記アイテムデータ内の前記セット検索手段により検索された前記セットに含まれない前記アイテムで構成されるアイテム単体群とをこの順番に並べた少なくとも1つの配列を備えるセットリストを作成するセットリスト作成手段と、
前記セットリストを参照し、前記アイテム単体群を最終遷移先として前記配列の並びをノード間の遷移で表す探索木を作成し、前記探索木を深さ優先探索する際に前記各配列において、前記セットに付随する値と前記アイテム単体群の前記アイテムそれぞれの値の合計値とを加算していき、与えられた閾値以上になったとき、探索中のノードの枝を枝刈りする枝刈り手段と、
前記閾値より小さい前記合計値を備える前記配列の前記セットおよび前記アイテム単体群の組み合わせを出力する組み合わせ出力手段と、
を有することを特徴とする組み合わせ抽出装置。
(Additional remark 10) In the combination extraction apparatus which extracts the combination of an item,
Set data storage means for storing a plurality of set data each having a set of items each having a value and a value associated with the set;
A set search means for searching the set data storage means for the set including two or more items in the item data in response to input of item data including a plurality of the items;
The set searched by the set search means and at least one item group composed of the items not included in the set searched by the set search means in the item data in this order A set list creating means for creating a set list having an array;
Referencing the set list, creating a search tree that represents the array sequence as a transition between nodes with the single item group as a final transition destination, and in each array when performing a depth-first search of the search tree, A pruning means for pruning a branch of a node being searched when a value associated with the set and a total value of each of the items of the single item group are added and when a given threshold value is exceeded; ,
A combination output means for outputting a combination of the set of the arrays having the total value smaller than the threshold and the single item group;
A combination extraction apparatus characterized by comprising:

本発明の概要を示す図である。It is a figure which shows the outline | summary of this invention. 実施の形態の組み合わせ抽出システムを示す図である。It is a figure which shows the combination extraction system of embodiment. 組み合わせ抽出装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of a combination extraction apparatus. 組み合わせ抽出装置および端末装置の機能を示すブロック図である。It is a block diagram which shows the function of a combination extraction apparatus and a terminal device. 商品データを示す図である。It is a figure which shows goods data. 組み合わせ抽出装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a combination extraction apparatus. アイテム分解部の動作を示す図である。It is a figure which shows operation | movement of an item decomposition | disassembly part. アイテム分解部の動作を示す図である。It is a figure which shows operation | movement of an item decomposition | disassembly part. セット検索部の動作を示す図である。It is a figure which shows operation | movement of a set search part. 最適組み合わせ探索部のSetList作成動作を示す図である。It is a figure which shows SetList creation operation | movement of an optimal combination search part. 組み合わせ探索木の木構造を示す図である。It is a figure which shows the tree structure of a combination search tree. 検索動作を示すフローチャートである。It is a flowchart which shows search operation. 第2の実施の形態のアイテム分解部の動作を示す図である。It is a figure which shows operation | movement of the item decomposition | disassembly part of 2nd Embodiment. 第2の実施の形態のセット検索部の動作を示す図である。It is a figure which shows operation | movement of the set search part of 2nd Embodiment. 第2の実施の形態の最適組み合わせ探索部のSetList作成動作を示す図である。It is a figure which shows SetList creation operation | movement of the optimal combination search part of 2nd Embodiment. 第2の実施の形態の組み合わせ探索木の木構造を示す図である。It is a figure which shows the tree structure of the combination search tree of 2nd Embodiment. 第3の実施の形態のアイテム一覧テーブルを示す図である。It is a figure which shows the item list table of 3rd Embodiment. 第3の実施の形態のセット一覧テーブルを示す図である。It is a figure which shows the set list table of 3rd Embodiment. アイテム分解部の動作を示す図である。It is a figure which shows operation | movement of an item decomposition | disassembly part. セット検索部の動作を示す図である。It is a figure which shows operation | movement of a set search part. 第3の実施の形態の探索動作を示すフローチャートである。It is a flowchart which shows the search operation | movement of 3rd Embodiment. 第3の実施の形態の組み合わせ探索木の木構造を示す図である。It is a figure which shows the tree structure of the combination search tree of 3rd Embodiment. 結果表示部により表示された組み合わせ抽出結果を示す図である。It is a figure which shows the combination extraction result displayed by the result display part.

符号の説明Explanation of symbols

1 コンピュータ
2 セットデータ格納手段
3、3a セット
4、5 セットデータ
6 セット検索手段
7 アイテムデータ
8 セットリスト作成手段
9 セットリスト
10 枝刈り手段
11 組み合わせ出力手段
30、40 商品データ
50 商品単価データ
60、60a、60b 検索結果データ
71〜78 ノード
100 組み合わせ抽出装置
110 商品データ受信部
120 アイテム分解部
130 アイテム一覧格納部
131、131a アイテム一覧テーブル
140 セット一覧格納部
141、141a、141b セット一覧テーブル
150 セット検索部
160 最適組み合わせ探索部
170 結果送信部
200 端末装置
210 データ送信部
220 結果表示部
300 抽出システム
A、B、D セット
G1 グループ
G2 グループ
L71〜L77 葉ノード
T、T1、T2 探索木
α 閾値
DESCRIPTION OF SYMBOLS 1 Computer 2 Set data storage means 3, 3a set 4, 5 set data 6 Set search means 7 Item data 8 Set list preparation means 9 Set list 10 Pruning means 11 Combination output means 30, 40 Product data 50 Product unit price data 60, 60a, 60b Search result data 71-78 Node 100 Combination extraction device 110 Product data reception unit 120 Item decomposition unit 130 Item list storage unit 131, 131a Item list table 140 Set list storage unit 141, 141a, 141b Set list table 150 Set search Unit 160 optimum combination search unit 170 result transmission unit 200 terminal device 210 data transmission unit 220 result display unit 300 extraction system A, B, D set G1 group G2 group L71 77 leaf node T, T1, T2 search tree α threshold

Claims (4)

アイテムの組み合わせを抽出する組み合わせ抽出プログラムにおいて、
コンピュータを、
値をそれぞれ有する複数のアイテムのセットと、前記セットに付随する値とを有するセットデータが複数格納されたセットデータ格納手段、
複数の前記アイテムを備えるアイテムデータの入力に応答し、前記アイテムデータ内の前記アイテムを2つ以上含む前記セットを前記セットデータ格納手段から検索するセット検索手段、
前記セット検索手段により検索された前記セットと、前記アイテムデータ内の前記セット検索手段により検索された前記セットに含まれない前記アイテムで構成されるアイテム単体群とをこの順番に並べる際に、前記セットのうち、前記アイテムデータ内の前記アイテムを含む数の多い前記セットの順、かつ、前記アイテムを含む数の等しい前記セットについては前記セットに附した識別子の順に前記セットを並べた少なくとも1つの配列を備えるセットリストを作成するセットリスト作成手段、
前記セットリストを参照し、前記アイテム単体群を最終遷移先として前記配列の並びをノード間の遷移で表す探索木を作成し、前記探索木を深さ優先探索する際に前記各配列において、前記セットに付随する値と前記アイテム単体群の前記アイテムそれぞれの値の合計値とを加算していき、与えられた閾値以上になったとき、探索中のノードの枝を枝刈りする枝刈り手段、
前記閾値より小さい前記合計値を備える前記配列の前記セットおよび前記アイテム単体群の組み合わせを出力する組み合わせ出力手段、
として、機能させることを特徴とする組み合わせ抽出プログラム。
In a combination extraction program that extracts a combination of items,
Computer
Set data storage means for storing a plurality of set data each having a set of items each having a value and a value associated with the set;
A set search means for searching the set data storage means for the set including two or more items in the item data in response to input of item data including a plurality of the items;
And the set searched by the set retrieval means, when the Ru arranged in this order and configured item alone group by the item that is not included in the retrieved said sets by the set retrieval means in said item data, Among the sets, at least one in which the set is arranged in the order of the set including the items in the item data in the order of the set including the items, and the set including the items in the order of the identifiers attached to the sets. Set list creation means for creating a set list comprising two arrays,
Referencing the set list, creating a search tree that represents the array sequence as a transition between nodes with the single item group as a final transition destination, and in each array when performing a depth-first search of the search tree, A pruning means for pruning the branch of the node being searched when the value associated with the set and the total value of each of the items in the single item group are added, and when the value exceeds a given threshold value,
A combination output means for outputting a combination of the set of the arrays having the total value smaller than the threshold and the item single group;
As a combination extraction program characterized by functioning as
前記枝刈り手段は、前記配列において、前記セットに付随する値と前記アイテム単体群の前記アイテムそれぞれの値の合計値とが前記閾値より小さいとき、前記合計値をその後の深さ優先探索の前記閾値とすることを特徴とする請求項1記載の組み合わせ抽出プログラム。  The pruning means, in the array, when the value associated with the set and the total value of each item of the item single group is smaller than the threshold value, the total value is used for the depth-first search thereafter. The combination extraction program according to claim 1, wherein a threshold value is set. アイテムの組み合わせを抽出する組み合わせ抽出方法において、  In a combination extraction method for extracting a combination of items,
セットデータ格納手段が、値をそれぞれ有する複数のアイテムのセットと、前記セットに付随する値とを有するセットデータを複数格納し、  The set data storage means stores a plurality of set data each having a set of items each having a value and a value associated with the set;
セット検索手段が、複数の前記アイテムを備えるアイテムデータの入力に応答し、前記アイテムデータ内の前記アイテムを2つ以上含む前記セットを前記セットデータ格納手段から検索し、  A set search means is responsive to an input of item data comprising a plurality of the items, and searches the set data storage means for the set including two or more items in the item data,
セットリスト作成手段が、前記セット検索手段により検索された前記セットと、前記アイテムデータ内の前記セット検索手段により検索された前記セットに含まれない前記アイテムで構成されるアイテム単体群とをこの順番に並べる際に、前記セットのうち、前記アイテムデータ内の前記アイテムを含む数の多い前記セットの順、かつ、前記アイテムを含む数の等しい前記セットについては前記セットに附した識別子の順に前記セットを並べた少なくとも1つの配列を備えるセットリストを作成し、  The set list creation means includes the set searched by the set search means and the single item group composed of the items not included in the set searched by the set search means in the item data in this order. Among the sets, in the order of the set including the items in the item data, and in the order of the identifiers attached to the sets for the sets having the same number including the items. Create a setlist with at least one array of
枝刈り手段が、前記セットリストを参照し、前記アイテム単体群を最終遷移先として前記配列の並びをノード間の遷移で表す探索木を作成し、前記探索木を深さ優先探索する際に前記各配列において、前記セットに付随する値と前記アイテム単体群の前記アイテムそれぞれの値の合計値とを加算していき、与えられた閾値以上になったとき、探索中のノードの枝を枝刈りし、  The pruning means refers to the set list, creates a search tree that represents the sequence of the array as a transition between nodes with the single item group as a final transition destination, and performs the depth-first search for the search tree. In each array, the value associated with the set and the sum of the values of the items of the item group are added together, and when the value exceeds a given threshold, the branch of the node being searched is pruned. And
組み合わせ出力手段が、前記閾値より小さい前記合計値を備える前記配列の前記セットおよび前記アイテム単体群の組み合わせを出力する、  A combination output means outputs the combination of the set of the array and the item single group including the total value smaller than the threshold;
ことを特徴とする組み合わせ抽出方法。  A combination extraction method characterized by that.
アイテムの組み合わせを抽出する組み合わせ抽出装置において、  In a combination extraction device that extracts a combination of items,
値をそれぞれ有する複数のアイテムのセットと、前記セットに付随する値とを有するセットデータが複数格納されたセットデータ格納手段と、  Set data storage means for storing a plurality of set data each having a set of items each having a value and a value associated with the set;
複数の前記アイテムを備えるアイテムデータの入力に応答し、前記アイテムデータ内の前記アイテムを2つ以上含む前記セットを前記セットデータ格納手段から検索するセット検索手段と、  A set search means for searching the set data storage means for the set including two or more items in the item data in response to input of item data including a plurality of the items;
前記セット検索手段により検索された前記セットと、前記アイテムデータ内の前記セット検索手段により検索された前記セットに含まれない前記アイテムで構成されるアイテム単体群とをこの順番に並べる際に、前記セットのうち、前記アイテムデータ内の前記アイテムを含む数の多い前記セットの順、かつ、前記アイテムを含む数の等しい前記セットについては前記セットに附した識別子の順に前記セットを並べた少なくとも1つの配列を備えるセットリストを作成するセットリスト作成手段と、  When arranging the set searched by the set search means and the single item group composed of the items not included in the set searched by the set search means in the item data in this order, Among the sets, at least one of the sets including the items in the item data is arranged in the order of the sets including the items, and the sets including the items are arranged in the order of the identifiers attached to the sets. A set list creating means for creating a set list having an array;
前記セットリストを参照し、前記アイテム単体群を最終遷移先として前記配列の並びをノード間の遷移で表す探索木を作成し、前記探索木を深さ優先探索する際に前記各配列において、前記セットに付随する値と前記アイテム単体群の前記アイテムそれぞれの値の合計値とを加算していき、与えられた閾値以上になったとき、探索中のノードの枝を枝刈りする枝刈り手段と、  Referencing the set list, creating a search tree that represents the array sequence as a transition between nodes with the single item group as a final transition destination, and in each array when performing a depth-first search of the search tree, A pruning means for pruning a branch of a node being searched when a value associated with the set and a total value of each of the items of the single item group are added and when a given threshold value is exceeded; ,
前記閾値より小さい前記合計値を備える前記配列の前記セットおよび前記アイテム単体群の組み合わせを出力する組み合わせ出力手段と、  A combination output means for outputting a combination of the set of the arrays having the total value smaller than the threshold and the single item group;
を有することを特徴とする組み合わせ抽出装置。  A combination extraction apparatus characterized by comprising:
JP2006295465A 2006-10-31 2006-10-31 Combination extraction program, combination extraction method, and combination extraction device Expired - Fee Related JP4833025B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006295465A JP4833025B2 (en) 2006-10-31 2006-10-31 Combination extraction program, combination extraction method, and combination extraction device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006295465A JP4833025B2 (en) 2006-10-31 2006-10-31 Combination extraction program, combination extraction method, and combination extraction device

Publications (2)

Publication Number Publication Date
JP2008112342A JP2008112342A (en) 2008-05-15
JP4833025B2 true JP4833025B2 (en) 2011-12-07

Family

ID=39444814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006295465A Expired - Fee Related JP4833025B2 (en) 2006-10-31 2006-10-31 Combination extraction program, combination extraction method, and combination extraction device

Country Status (1)

Country Link
JP (1) JP4833025B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6973746B2 (en) * 2017-09-29 2021-12-01 富士通株式会社 Matching program, matching method and matching device
CN120849411B (en) * 2025-07-10 2025-12-26 中国人民大学 A data query method, system, device, and medium based on vector retrieval acceleration

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004341815A (en) * 2003-05-15 2004-12-02 Nippon Telegr & Teleph Corp <Ntt> Electronic commerce method and apparatus, electronic commerce program, and storage medium storing electronic commerce program
JP2005196278A (en) * 2003-12-26 2005-07-21 Japan Research Institute Ltd Order plan creation method, order plan creation device and computer program
JP2005202689A (en) * 2004-01-15 2005-07-28 Toshiba Corp Consultation plan creation support system

Also Published As

Publication number Publication date
JP2008112342A (en) 2008-05-15

Similar Documents

Publication Publication Date Title
JP3225912B2 (en) Information retrieval apparatus, method and recording medium
US9128966B2 (en) Determining a storage location based on frequency of use
US9053196B2 (en) Methods for interacting with and manipulating information and systems thereof
JP2000155758A (en) Document search method and document search service for multiple document databases
JP2009187414A (en) Attribute item extraction program for analysis, attribute item extraction method for analysis, and information analysis apparatus
US10318254B2 (en) Integrating application features into a platform interface based on application metadata
WO2017013770A1 (en) Retrieval device, retrieval method, recording medium, and program
US8326700B1 (en) System, method, and computer program for automatically displaying information for quickly comparing a specific item with others
JP2008192059A (en) Requirement (request) link setting support system, requirement (request) link setting method and program
JP5670490B2 (en) Category determination device, search device, category determination method, category determination program, and computer-readable recording medium storing the program
JP5950357B2 (en) Information management apparatus, information management method and program
JP4833025B2 (en) Combination extraction program, combination extraction method, and combination extraction device
JP5749876B1 (en) Information processing apparatus, information processing method, program, and storage medium
US20080082516A1 (en) System for and method of searching distributed data base, and information management device
JP3994188B2 (en) Multimedia data search system, multimedia search method, and program for realizing the search method
JP4852834B2 (en) Application requirement design support system and method
JP6901533B2 (en) Computer system and business support method
JPH11306187A (en) Presentation processing method and apparatus for presenting search result of document with category
CN115329753A (en) Intelligent data analysis method and system based on natural language processing
JP2007323546A (en) Search processing method and apparatus
JP2010117951A (en) Database device, database system and table data connecting method
JP5163185B2 (en) Customer information management device, customer information management method, and customer information management program
JP2009080722A (en) Information management method, server, and program for tree structure database
JP4750674B2 (en) Data display control program, data display control method, and data display control device
JP3760148B2 (en) Document search method and document search service for multiple document databases

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110812

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110920

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110921

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140930

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees