+

WO2013046669A1 - 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム - Google Patents

空間充填曲線処理システム、空間充填曲線処理方法およびプログラム Download PDF

Info

Publication number
WO2013046669A1
WO2013046669A1 PCT/JP2012/006154 JP2012006154W WO2013046669A1 WO 2013046669 A1 WO2013046669 A1 WO 2013046669A1 JP 2012006154 W JP2012006154 W JP 2012006154W WO 2013046669 A1 WO2013046669 A1 WO 2013046669A1
Authority
WO
WIPO (PCT)
Prior art keywords
space
filling curve
processing
curve processing
data
Prior art date
Application number
PCT/JP2012/006154
Other languages
English (en)
French (fr)
Inventor
慎二 中台
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2013535917A priority Critical patent/JP6015662B2/ja
Priority to US14/347,723 priority patent/US20140232726A1/en
Publication of WO2013046669A1 publication Critical patent/WO2013046669A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Definitions

  • the present invention relates to a space filling curve processing system, a space filling curve processing method, and a program.
  • Non-Patent Document 1 An example of space filling curve processing is described in Non-Patent Document 1.
  • the space-filling curve processing method described in Non-Patent Document 1 uses a state transition table for converting space-filling curves, inputs a range of multidimensional attributes, and stores all blocks containing data included in the range. Enumerate.
  • a block is a partial area of a physical disk that stores data.
  • Multidimensional data that is a continuous one-dimensional range by the space filling curve is stored in one block. That is, the values obtained by making the multidimensional attribute value one-dimensional are stored in this block successively in that order using the value as a key.
  • each block is sequentially included in the given multidimensional attribute range while referring to the one-dimensional value that serves as a block delimiter. If it is included, the block is included in the result, and if it is not included, the next block is searched.
  • An object of the present invention is to provide a space-filling curve processing system, a space-filling curve processing method, and a program for solving the high load of space-filling curve processing, which is the problem described above.
  • the space filling curve processing system of the present invention comprises: Distribution information indicating the density distribution or cumulative distribution of multiple one-dimensional data groups obtained by processing the space-filling curve processing of multidimensional data related to the processing purpose when performing target processing on a subspace of the multidimensional space And obtaining means for obtaining a one-dimensional value or data density of a range corresponding to the partial space; Determining means for determining whether or not to perform space filling curve processing according to the data density of the acquired partial space; Space filling curve processing means for performing the space filling curve processing according to the determination result of the determination means.
  • the space filling curve processing method of the present invention includes: A data processing device for processing a space filling curve of multidimensional data related to a processing purpose, When performing processing on a subspace of a multidimensional space, referring to distribution information indicating a density distribution or cumulative distribution of a plurality of one-dimensional data groups obtained by processing the multidimensional data with the space filling curve processing, Get the data density of a one-dimensional value or range corresponding to the subspace, Determine whether to perform space filling curve processing according to the data density of the subspace, A space filling curve process is performed according to the determination result.
  • the computer program of the present invention is: In a computer that realizes a data processing device that performs space filling curve processing, Distribution information indicating the density distribution or cumulative distribution of multiple one-dimensional data groups obtained by processing the space-filling curve processing of multidimensional data related to the processing purpose when performing target processing on a subspace of the multidimensional space To obtain a data density of a one-dimensional value or range corresponding to the subspace, A procedure for determining whether to perform space filling curve processing according to the data density of the partial space, According to the determination result of the determination procedure, the procedure for performing the space filling curve process is executed.
  • a plurality of components are formed as a single member, and a single component is formed of a plurality of members. It may be that a certain component is a part of another component, a part of a certain component overlaps with a part of another component, or the like.
  • the plurality of procedures of the method and computer program of the present invention are not limited to being executed at different timings. For this reason, another procedure may occur during the execution of a certain procedure, or some or all of the execution timing of a certain procedure and the execution timing of another procedure may overlap.
  • a space-filling curve processing system a space-filling curve processing method, and a program that realize efficient processing while suppressing deterioration in processing accuracy are provided.
  • FIG. 1 is a functional block diagram showing a configuration of a data processing device 100 of the space filling curve processing system according to the embodiment of the present invention.
  • the space-filling curve process is a process for making a multidimensional attribute data group one-dimensional. For example, one multidimensional attribute value in the data group is input and a corresponding one-dimensional value is output.
  • a conversion rule table corresponding to the number of dimensions to be converted shown in FIG. 2 may be used. This conversion rule table is represented as a transition between a plurality of conversion rule table states. When a conversion rule state is present, a combination of values of each dimension at a bit position from a certain first bit is input, and the following A combination of the conversion rule state of the transition destination and the corresponding one-dimensional value is output.
  • each data of the data set related to the processing is set as a one-dimensional value in the space filling curve processing in advance, and the one-dimensional value is obtained.
  • the distribution information of the set of is generated.
  • the data density of the partial space can be estimated by performing processing related to the partial space of the space filling curve while referring to the distribution information. If the data density is less than a certain standard, the processing of the subspace can be prevented. As a result, even when processing in a space smaller than the block itself is required, it is possible to realize high-speed processing while suppressing deterioration in processing accuracy.
  • a space-filling curve processing system is an event-driven system in which a multidimensional range search or a multidimensional attribute value is conditioned in a database system, a data stream system, a Pub / Sub (Publish / Subscribe) system, or the like. Can be used as The space filling curve processing system according to the embodiment of the present invention can also be used as selectivity estimation before data search when determining the execution order of complex search expressions.
  • the space-filling curve processing system performs space-filling curve processing on multidimensional data related to a processing purpose when performing target processing on a subspace of a multidimensional space.
  • a data density acquisition unit 104 that acquires the data density of a one-dimensional value or range corresponding to a partial space with reference to distribution information indicating a density distribution or a cumulative distribution of a plurality of one-dimensional value data groups obtained by
  • a determination unit 106 that determines whether or not to perform space filling curve processing according to the data density of the partial space, and a space filling curve processing unit 108 that performs space filling curve processing according to the determination result of the determination unit 106.
  • the data processing apparatus 100 of the present embodiment can be realized by, for example, a server computer, a personal computer, or a device corresponding to them. Further, in the following drawings, the configuration of parts not related to the essence of the present invention is omitted and is not shown.
  • Each component of the data processing apparatus 100 includes a CPU (Central Processing Unit), a memory, a program that realizes the components shown in the drawings loaded in the memory, and a storage unit such as a hard disk that stores the program. It is realized by any combination of hardware and software of an arbitrary computer (not shown) including a network connection interface. It will be understood by those skilled in the art that there are various modifications to the implementation method and apparatus. Each figure described below shows functional unit blocks, not hardware unit configurations.
  • the CPU of the computer reads out the program stored in the hard disk to the memory and executes it, so that each function of each unit in each diagram of the data processing apparatus 100 can be realized.
  • various units described in the present embodiment are realized as various functions when the CPU executes various processing operations corresponding to the computer program.
  • the computer program according to the present embodiment performs space-filling curve processing on multidimensional data related to a processing purpose when processing a partial space of a multidimensional space to a computer that implements the data processing apparatus 100 that performs space-filling curve processing.
  • a procedure for obtaining a data density of a one-dimensional value or range corresponding to a subspace by referring to distribution information indicating a density distribution or a cumulative distribution of a plurality of one-dimensional value data groups obtained by the above, a subspace data density Accordingly, a procedure for determining whether or not to perform space filling curve processing and a procedure for performing space filling curve processing according to the determination result of the determination procedure are described.
  • the computer program of this embodiment may be recorded on a computer-readable recording medium.
  • the recording medium is not particularly limited, and various forms can be considered.
  • the program may be loaded from a recording medium into a computer memory, or downloaded to a computer through a network and loaded into the memory.
  • the space filling curve processing system of the present embodiment includes a data processing apparatus 100 having a distribution storage unit 102, a data density acquisition unit 104, a determination unit 106, and a space filling curve processing unit 108.
  • the distribution storage unit 102 stores distribution information indicating a density distribution or a cumulative distribution of a plurality of one-dimensional value data groups obtained by performing space filling curve processing on multidimensional data related to a processing purpose.
  • the data density acquisition unit 104 acquires a data density of a one-dimensional value or range corresponding to a partial space when performing a target process on the partial space of the multidimensional space.
  • the determination unit 106 determines whether or not to perform the space filling curve processing according to the data density of the partial space acquired by the data density acquisition unit 104 when performing the target processing on the partial space of the multidimensional space.
  • the space filling curve processing unit 108 performs space filling curve processing according to the determination result of the determination unit 106 when performing target processing on the partial space of the multidimensional space.
  • the data processing apparatus 100 of the space filling curve processing system further includes a data storage unit 112 as a configuration for generating distribution information stored in the distribution storage unit 102.
  • the space filling curve one-dimensionalization unit 114, the one-dimensional value storage unit 116, and the distribution calculation unit 118 can be provided. In other embodiments, the distribution information may be provided from another system or existing information.
  • the data processing apparatus 100 includes a space filling curve processing unit 110 including the data density acquisition unit 104, the determination unit 106, and the space filling curve processing unit 108 illustrated in FIG. 1, and the distribution storage unit 102 illustrated in FIG. Are shown as comprising.
  • the data storage unit 112 for example, at least a part of a multi-dimensional attribute data group to be processed in the system or a data group with similar distribution information is given as a sample in advance and stored.
  • the space filling curve one-dimensionalization unit 114 receives one multidimensional attribute value as an input and outputs a corresponding one-dimensional value.
  • a conversion rule table corresponding to the number of dimensions to be converted described above with reference to FIG. 2 may be used.
  • FIG. 4 shows an example of conversion processing using the conversion rule table of FIG.
  • FIG. 4 shows a tree structure with the first bit as the root and the lower bit as a leaf, and branches to different branches according to each bit of the multidimensional attribute value, and proceeds from the first bit to the lower bit.
  • the converted tree structure is also drawn to the branches.
  • a value written in each branch is a multi-dimensional value of a certain bit, and represents a one-dimensional value after conversion by a distance from the left end.
  • the initial state is state 0, and (0, 1), which is a combination of each dimension of the first bit, is input here.
  • the one-dimensional value corresponding to the upper left where the upper multi-dimensional value is 01 in the state 0 of FIG. 2 is 01, and the transition destination is the state 0.
  • the one-dimensional value is 11, and the transition destination is 2.
  • the one-dimensional value obtained is added to the lower bits of the one-dimensional value 01 obtained earlier, and 0111 is the one-dimensional value in this state. Subsequently, for the multidimensional value 10 in the state 2 corresponding to (1,0) that is a combination of each dimension in the third bit from the top, the one-dimensional value is 11 and the state 0 is obtained.
  • the space filling curve one-dimensionalization unit 114 outputs a one-dimensional value corresponding to the multidimensional attribute value from the one-dimensional value obtained by each bit.
  • the one-dimensional value storage unit 116 stores the one-dimensional value output from the space filling curve one-dimensionalization unit 114.
  • the distribution calculation unit 118 receives a plurality of one-dimensional data groups obtained by performing space-filling curve processing on multidimensional data related to the processing purpose, and obtains distribution information indicating the density distribution or cumulative distribution of the data groups. Generate. That is, the distribution calculation unit 118 generates distribution information of the data from a plurality of data stored in the one-dimensional value storage unit 116.
  • the distribution information generated here is a cumulative distribution (figure 6 (a)) representing a ratio of data below a certain value even in a density distribution (502 of FIG. 5 (a)) representing the density of data at a certain value. 512).
  • the generated distribution information is stored in the distribution storage unit 102.
  • the stored format may be a method of expressing the distribution from the stored original data and an arbitrary function like the kernel density function method (522 in FIG. 7).
  • the storage format is the original data, function, and parameter.
  • it is generated and stored as a format for managing the frequency or cumulative distribution for a range of values as represented as a histogram table 504 or a histogram table 514 as shown in FIG. 5B or 6B. May be.
  • a linear function may be obtained by inputting a certain value, obtaining a linear function using the histogram as a slope of the section so that the density or cumulative density at the value can be easily obtained, and holding the obtained linear function format. Good (graph 532 in FIG. 8A and table 534 in FIG. 8B).
  • the space filling curve processing unit 110 refers to the distribution information stored in the distribution storage unit 102 when processing the subspace of the given multidimensional attribute, and the space filling curve according to the data density. Performs processing and outputs the intended processing result.
  • the space filling curve processing unit 110 subdivides each subspace of the multidimensional space and performs stepwise space filling curve processing in a stepwise manner.
  • the space filling curve process is repeated a predetermined number of times. Then, the space filling curve processing unit 110 stops the space filling curve processing without performing further subdivision for each partial space whose data density is less than the threshold value.
  • the space filling curve processing unit 110 advances the processing corresponding to the subspace of the multidimensional space given as input from the combination of the first bit of each dimension to the lower bits by referring to the conversion rule table of FIG. The process is performed (FIG. 11).
  • the data density acquisition unit 104 in FIG. 1 corresponds to the multidimensional value or range indicated by the pointer.
  • the one-dimensional value or the range of the one-dimensional value to be obtained is obtained, and the density of data corresponding to the value or the range is acquired with reference to the distribution information 602 in the distribution storage unit 102 in FIG.
  • the space filling curve processing unit 110 of FIG. 3 does not perform the process of proceeding deeply if it is determined that the data density is small according to a certain rule according to the determination result (process 604 of FIG. 11).
  • a process of proceeding deeply is performed (process 606 in FIG. 11).
  • the one-dimensionalized range obtained by the space filling curve processing unit 110 of the present embodiment is as a range 614 in FIG.
  • the one-dimensional range obtained when the processing is uniformly advanced to a predetermined depth without making a determination based on the data density is a range 612 in FIG.
  • the range 612 and the range 614 are searched with the same particle size, but in the low density region, the search with the coarse particle size is performed without searching with the fine particle size. Therefore, the processing result is used as an approximate result.
  • processing performed by the space filling curve processing unit 110 on the subspace of the multidimensional space given as an input include the following.
  • A Processing for acquiring a plurality of one-dimensional value ranges corresponding to a given multidimensional range for multidimensional range search
  • (b) Obtaining a specified number of neighboring data from given multidimensional attribute values
  • (C) Total range of a plurality of one-dimensional value ranges corresponding to a given multidimensional range in order to estimate the selection rate of the multidimensional range search Process for obtaining width
  • the space filling curve processing unit 110 When the process for the subspace of the multidimensional space is a search process for acquiring a plurality of one-dimensional attribute values or ranges corresponding to the multidimensional attribute values or ranges, the space filling curve processing unit 110 performs processing according to the data density. Each partial space in which the space filling curve processing is stopped and each partial space obtained by performing the space filling curve processing a predetermined number of times are obtained as search ranges.
  • Each unit of the data processing apparatus 100 generally operates as follows. From the multidimensional attribute data set related to the processing purpose stored in the data storage unit 112, the space filling curve one-dimensionalization unit 114 stores each data for all or some data elements of the set. The filling curve process is performed to make it one-dimensional, and this is stored in the one-dimensional value storage unit 116. Subsequently, the distribution calculation unit 118 generates distribution information (histogram) from the data set stored in the one-dimensional value storage unit 116 and stores it in the distribution storage unit 102. In this way, distribution information is generated and stored in the distribution storage unit 102.
  • distribution information histogram
  • the space-filling curve processing unit 110 refers to the distribution information stored in the distribution storage unit 102 when processing a given multidimensional attribute subspace, and the target processing result of the space-filling curve processing unit 110 Is output.
  • the search pointer when processing a plurality of one-dimensional ranges that satisfy a condition for a given subspace of a multidimensional space, from the root node (corresponding to the multidimensional first bit) of the state transition table representing the space filling curve processing Search for leaf nodes (lower bits). While searching, the density corresponding to the search area is obtained based on the search pointer and the histogram stored in the distribution storage unit 102. For example, a one-dimensional range determined from a one-dimensional value corresponding to a search pointer and a tree hierarchy (bit position) is calculated, and both end points of the range are input to a distribution function indicating a histogram, and the difference between the values is used to calculate the one-dimensional range. Obtain the density corresponding to the one-dimensional value. In accordance with the density, the search pointer operates to reduce the search space by reducing the range to be originally processed.
  • FIG. 10 is a flowchart showing an example of the operation of the space filling curve processing system of this embodiment.
  • the space-filling curve processing method of the present embodiment is such that when the data processing apparatus 100 that performs space-filling curve processing on multidimensional data related to a processing purpose performs processing on a subspace of a multidimensional space, the multidimensional data is converted into a space-filling curve.
  • distribution information indicating the density distribution or cumulative distribution of a plurality of one-dimensional value data groups obtained by processing a one-dimensional value or range data density corresponding to the partial space is acquired (step S205), It is determined whether or not to perform space filling curve processing according to the data density of the partial space (step S207), and space filling curve processing is performed according to the determination result (step S209).
  • FIG. 9 is a flowchart illustrating an example of a procedure of distribution information generation processing of the data processing device 100 of the space-filling curve processing system according to the present embodiment.
  • a description will be given with reference to FIGS. 3 and 9.
  • step S101 to step S111 the loop processing between step S101 to step S111 is repeated for each of the multidimensional data stored in the data storage unit 112.
  • the space filling curve one-dimensionalization unit 114 performs one-dimensionalization of multidimensional data (step S103). Then, the space filling curve one-dimensionalization unit 114 stores the obtained one-dimensional value in the one-dimensional value storage unit 116 (step S105).
  • the distribution calculation unit 118 derives cumulative distribution information from the data stored in the one-dimensional value storage unit 116 (step S107) and stores it in the distribution storage unit 102 (step S109).
  • FIG. 10 is a flowchart showing an example of the procedure of the space filling curve processing of the data processing device 100 of the space filling curve processing system of the present embodiment.
  • description will be made with reference to FIGS. 1, 3, and 10.
  • the loop processing between step S201 to step S213 is repeated for each partial space constituting the partial space.
  • the space filling curve processing unit 110 acquires a one-dimensional value or one-dimensional range corresponding to the multidimensional attribute value or attribute range of the partial space (step S203).
  • the space filling curve processing unit 110 acquires the data density corresponding to the one-dimensional value or the one-dimensional range from the distribution information stored in the distribution storage unit 102 (step S205).
  • the space filling curve processing unit 110 determines whether or not to proceed with the processing of the partial space from the data density (step S207).
  • step S207 the space filling curve processing unit 110 performs the space filling curve processing recursively using the partial space as an input (step S209).
  • the processed result is reflected as the result in step S209 (step S211). If the process cannot proceed (NO in step S207), or after step S211, the process returns to step S201, and the loop process is repeated for the next partial space.
  • step S213 the loop processing is ended (step S213), and the space filling curve processing unit 110 outputs the result and returns the result to the processing request source (step S215).
  • the space filling curve processing system As described above, according to the space filling curve processing system according to the embodiment of the present invention, it is possible to make a decision to omit processing of a space with low data density, thereby reducing processing accuracy and increasing processing speed. realizable. For example, the response time of processes such as range search, selectivity estimation, approximate number search, distribution visualization, and the like, which are processes for performing space filling curve processing, can be increased. The reason is that when performing a space filling curve process for a multi-dimensional subspace, the data density corresponding to the subspace being processed can be referred to, and the subspace is subdivided according to the data density and processed. This is because it is configured to determine whether or not.
  • the density distribution obtained by reducing the accuracy when the processing is omitted, by converting the original multidimensional attribute value into one dimension by space filling curve processing The determination can be made by referring to the (histogram), and the search range is determined using this as a determination index, so that high-speed processing can be performed with little influence on accuracy.
  • each multi-dimensional data is stored in the node of the calculated one-dimensional value address.
  • the original search is applied to the data acquired from the calculated node at the subsequent stage of the processing of the present invention, and it is determined whether or not the search result is obtained. Therefore, the plurality of one-dimensional ranges obtained here must include all data originally obtained by the search formula. On the other hand, there is no problem even if the plurality of one-dimensional ranges to be obtained include data that does not match the search formula.
  • the range where the first attribute x is 0 to 14 and the second attribute y is 8 to 9 is searched, and the range of each bit pattern is [0000, 1110]. And [1000, 1001].
  • the symbol “[” and the symbol “]” represent a closed section
  • the symbol “(” and the symbol “)” represent an open section.
  • the first bit 701 since the range satisfying 01 and 11 is the search target, the range 711 in FIG. 12 is the search target.
  • the next bit 702 00 and 10 are searched for the first bit 701 being 01, and 00 and 10 are searched for the first bit 701 being 11, corresponding to the range 712 in FIG. .
  • the third bit 703 it is necessary to search the corresponding one-dimensional range for a total of seven nodes.
  • the search range thus obtained corresponds to the range 713 in FIG.
  • processing can be performed by depth-first search and width-first search.
  • depth-first search as a search method of a multidimensional attribute space, when a plurality of results are obtained, the bit is advanced only for one result.
  • the space filling curve processing unit 110 confirms whether or not the condition of the multidimensional attribute range is met for the first bit (when step S207 and step S207 in the first loop of step S201 are YES) Step S209 and Step S211).
  • step S207 and step S207 in the second loop of step S201 are YES, step S209.
  • step S211 the third bit is processed for one of the obtained results (if step S207 and step S207 in the third loop of step S201 are YES, step S209 and step S211).
  • a search list for storing subspaces is prepared by sorting in order of data density, taken out in descending order of density, and subspaces satisfying further conditions in the subspace are obtained. You may add and take out the next partial space again. In order to process in a fixed calculation time, you may stop at the time of processing a fixed partial space. In order to obtain a constant false drop rate, the processing may be stopped when the data density to be processed assuming that the partial space that does not satisfy the condition meets the condition becomes more than a certain value.
  • the process proceeds so as to handle the same bits as much as possible for all the results without proceeding the bits for a specific result.
  • the breadth-first search can realize as few false drop rates as possible in a certain calculation time compared to the depth-first search.
  • the processing can be performed with a constant false drop rate and as short a calculation time as possible.
  • distribution information 801 (FIG. 14) in which the distribution calculation unit 118 (FIG. 3) is expressed as a distribution function of the cumulative distribution from a part of data 800 (FIG. 13) obtained by sampling from the search target data. Is generated.
  • the space filling curve processing unit 110 performs a two-dimensional range search with reference to the distribution information 801 will be described.
  • a range 821 (FIG. 15A) satisfying 01 and 11 is a search target, and the corresponding one-dimensional bits are 01 and 10, respectively.
  • the multi-dimensional value of 00 and 10 (the corresponding one-dimensional value is 00 and 11) for the multi-dimensional value of the leading bit 811 being 01, and the leading bit 811 is 11
  • the search range that satisfies these conditions corresponds to the range 822 in FIG.
  • the first bit 811 has a multidimensional value of 01 and the second bit 812 (FIG. 14) is 00.
  • the first bit of the first bit 811 is 0100, and 1 corresponding to the space consisting of the subsequent bits.
  • the dimension range is [01000000, 01010000). In decimal notation, it is [64, 80].
  • the values at both ends are input to this cumulative distribution, and when the difference is obtained, it becomes 0 in this example. As a result, it can be determined that the data density is sufficiently small, and the process of further dividing this partial space (the head is 01, the first bit is 00) is not performed, and all the partial spaces are to be processed. Then, the processing of the next partial space (the head is 01, the first bit 10) is advanced.
  • the processing here is to output a one-dimensional range corresponding to the multidimensional range, it can be considered that all the one-dimensional ranges [01000000, 01010000) are included in the search target.
  • the one-dimensional range of the subspace is [01111000, 10000000], and [120, 128) in the decimal system. If the data density in this range is calculated using the distribution information, it becomes a sufficiently large value, so the processing for the third bit 813 (FIG. 14) is advanced.
  • the space filling curve processing is advanced to the lower bit in the portion with high data density, and the lower bit is the lower bit in the space filling curve for the portion with low data density. Processing related to bits is omitted, and data processing is performed for the entire range.
  • the third bit 813 can be searched for the corresponding one-dimensional range for a total of three nodes. It can be seen that the number of nodes to be searched is reduced from 7 to 3 as compared with the comparative example.
  • the obtained search range corresponds to the range 823 in FIG.
  • a data processing device for processing a space filling curve of multidimensional data related to a processing purpose When performing processing on a subspace of a multidimensional space, referring to distribution information indicating a density distribution or cumulative distribution of a plurality of one-dimensional data groups obtained by processing the multidimensional data with the space filling curve processing, Get the data density of a one-dimensional value or range corresponding to the subspace, Determine whether to perform space filling curve processing according to the data density of the subspace, A space filling curve processing method for performing space filling curve processing according to a determination result.
  • the data processing device is In the process of subdividing each subspace of the multidimensional space and repeating the space filling curve process step by step, Only for each partial space whose data density is equal to or higher than a threshold value, perform subdivision step by step, repeat the space filling curve processing a predetermined number of times, A space-filling curve processing method for stopping the space-filling curve processing without performing further subdivision for each subspace whose data density is less than a threshold.
  • the data processing device is A space filling curve processing method for obtaining, as a search range, each partial space in which the space filling curve processing is stopped according to the data density and each partial space obtained by performing the space filling curve processing a predetermined number of times.
  • the data processing device further comprises a distribution information storage device,
  • the data processing device is Using a plurality of one-dimensional data groups obtained by processing a space-filling curve for multidimensional data related to the processing purpose as input, generating distribution information indicating the density distribution or cumulative distribution of the data groups, Storing the generated distribution information in the distribution information storage device;
  • a space-filling curve processing method that refers to distribution information stored in the distribution information storage device and acquires a one-dimensional value or data density of a range corresponding to the partial space.
  • Appendix 6 In the program described in Appendix 5, A procedure for subdividing each subspace of the multidimensional space and repeating the space filling curve processing step by step, In the process of repeatedly performing the space filling curve processing step by step, A procedure for performing subdivision stepwise only for each partial space whose data density is equal to or higher than a threshold, and repeating the space filling curve processing a predetermined number of times. A program for causing a computer to execute a procedure for stopping the space filling curve processing without performing further subdivision for each subspace whose data density is less than a threshold.
  • Appendix 7 In the program described in Appendix 6, When the processing for the subspace of the multidimensional space is search processing for acquiring a plurality of one-dimensional attribute values or ranges corresponding to the multidimensional attribute values or ranges, A program for causing a computer to execute a procedure for obtaining, as a search range, each partial space in which the space filling curve processing is stopped according to the data density and each partial space obtained by performing the space filling curve processing a predetermined number of times. .
  • the data processing device further includes a distribution information storage device, A procedure for generating a distribution information indicating a density distribution or a cumulative distribution of a plurality of one-dimensional values obtained by performing space-filling curve processing on multidimensional data related to a processing purpose, A procedure for storing the generated distribution information in the distribution information storage device; A program for causing a computer to execute a procedure for referring to distribution information stored in the distribution information storage device and acquiring a one-dimensional value or data density of a range corresponding to the partial space.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Generation (AREA)

Abstract

 空間充填曲線処理システムは、多次元空間の部分空間に対する処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、部分空間に対応する1次元の値あるいは範囲のデータ密度を取得するデータ密度取得部(104)と、部分空間のデータ密度に応じて、空間充填曲線処理を行うか否かを判定する判定部(106)と、判定部(106)の判定結果に従い、空間充填曲線処理を行う空間充填曲線処理部(108)と、を備える。

Description

空間充填曲線処理システム、空間充填曲線処理方法およびプログラム
 本発明は、空間充填曲線処理システム、空間充填曲線処理方法およびプログラムに関する。
 空間充填曲線処理の一例が非特許文献1に記載されている。この非特許文献1記載の空間充填曲線処理方法は、空間充填曲線の変換を行うための状態遷移表を用い、多次元属性の範囲を入力として、その範囲に含まれるデータを格納したブロックを全て列挙する。ブロックとは、データを格納する物理的なディスクの一部の領域である。空間充填曲線により連続な1次元の範囲となる多次元データは、一つのブロックに格納される。すなわち、多次元属性値を1次元化して得られた値をキーとして、その順序で連続してこのブロックに格納される。与えられた多次元属性の範囲に属すデータを格納したブロックを列挙する際には、ブロックの区切りとなる1次元値を参照しながら、各ブロックについて逐次、与えられた多次元属性の範囲に含まれるか否かを判定し、含まれる場合にはそのブロックを結果に含め、含まれない場合は次のブロックを探す。
特開2008-234563号公報
J. K. Lawder、外1名、"Using Space-Filling Curves for Multi-dimensional Indexing"、Advances in Databases: proceedings of the 17th British National Conference on Databases (BNCOD 17)、Lecture Notes in Computer Science (LNCS)、volume 1832、2000年、p.20-35
 上述した文献に記載された技術においては、指定した多次元属性範囲に属するデータを格納したブロックを列挙することはできる。しかし、指定した多次元属性範囲と対応する複数の1次元範囲を処理する場合において、多次元属性の範囲(多次元空間の部分空間)に対する空間充填曲線処理を行う際に、高次元や長いビット長の処理に要する時間がかかるという問題点があった。その理由は、以下の通りである。ブロックを列挙する際には、ブロックが担当する1次元範囲と検索式で得られる多次元属性範囲が交差するか否かの判定だけでよかったため、処理が単純であった。しかし、与えられた多次元範囲に対応する複数の1次元範囲を個々に処理する場合には、1つの多次元属性の範囲と対応する1次元範囲は複数あり、その数は次元数とビット長に対して指数的に増加するため、処理に時間がかかる。
 本発明の目的は、上述した課題である空間充填曲線処理の高負荷を解決する空間充填曲線処理システム、空間充填曲線処理方法、およびプログラムを提供することにある。
 本発明の空間充填曲線処理システムは、
 多次元空間の部分空間に対する目的の処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する取得手段と、
 取得した前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定する判定手段と、
 前記判定手段の判定結果に従い、前記空間充填曲線処理を行う空間充填曲線処理手段と、を備える。
 本発明の空間充填曲線処理方法は、
 処理目的と関連する多次元データを空間充填曲線処理するデータ処理装置が、
 多次元空間の部分空間に対する処理を行うとき、前記多次元データを前記空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得し、
 前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定し、
 判定結果に従い、空間充填曲線処理を行う。
 本発明のコンピュータプログラムは、
 空間充填曲線処理を行うデータ処理装置を実現するコンピュータに、
 多次元空間の部分空間に対する目的の処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する手順、
 前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定する手順、
 前記判定する手順の判定結果に従い、前記空間充填曲線処理を行う手順を実行させるためのものである。
 なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
 また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
 また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障のない範囲で変更することができる。
 さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
 本発明によれば、処理精度の劣化を抑えながら、効率のよい処理を実現する空間充填曲線処理システム、空間充填曲線処理方法、およびプログラムが提供される。
 上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
本発明の実施の形態に係る空間充填曲線処理システムのデータ処理装置の要部構成を示す機能ブロック図である。 本発明の実施の形態に係る空間充填曲線処理システムにおける空間充填曲線処理に用いることが可能な変換規則を表す状態遷移図である。 本発明の実施の形態に係る空間充填曲線処理システムのデータ処理装置の構成を示す機能ブロック図である。 本発明の実施の形態に係る空間充填曲線処理システムの空間充填曲線処理における多次元空間と部分空間との関係を木構造で表した図である。 本発明の実施の形態に係る空間充填曲線処理システムにおけるデータ群の分布情報の形式の一例を説明するための図である。 本発明の実施の形態に係る空間充填曲線処理システムにおけるデータ群の分布情報の形式の一例を説明するための図である。 本発明の実施の形態に係る空間充填曲線処理システムにおけるデータ群の分布情報の形式の一例を説明するための図である。 本発明の実施の形態に係る空間充填曲線処理システムにおけるデータ群の分布情報の形式の一例を説明するための図である。 本発明の実施の形態に係る空間充填曲線処理システムのデータ処理装置の分布情報生成処理の手順の一例を示すフローチャートである。 本発明の実施の形態に係る空間充填曲線処理システムのデータ処理装置の空間充填曲線処理の手順の一例を示すフローチャートである。 本発明の実施の形態に係る空間充填曲線処理システムの動作を説明するための図である。 本発明の比較例における多次元範囲検索の空間充填曲線処理の具体例を示す図である。 本発明の実施例において想定するデータ分布と空間充填曲線処理の具体例を説明するための図である。 本発明の実施例において想定するデータ分布と空間充填曲線処理の具体例を説明するための図である。 本発明の実施例において想定するデータ分布と空間充填曲線処理の具体例を説明するための図である。
 以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
(第1の実施の形態)
 図1は、本発明の実施の形態に係る空間充填曲線処理システムのデータ処理装置100の構成を示す機能ブロック図である。
 空間充填曲線処理とは、多次元属性のデータ群を1次元化する処理であり、たとえば、データ群の中の1つの多次元属性値を入力として、対応する1次元値を出力する。変換の際に、図2に示す、変換する次元数に応じた変換規則表を用いてもよい。この変換規則表は、複数の変換規則表状態の間での遷移として表され、ある変換規則状態であった時に、ある先頭ビットからのビット位置における各次元の値の組合せを入力として、次の遷移先の変換規則状態と、対応する1次元値の組合せを出力するものである。
 空間充填曲線処理により1次元化された値の集合を一つの1次元範囲と対応するブロック単位で管理する場合、与えられた多次元属性の範囲と交差するブロックを列挙するためには、与えられた多次元範囲と対応する複数の1次元範囲を個別に処理する必要はない。さらに、この場合、各ブロックの1次元範囲の端点を参照しながら、与えられた多次元範囲とそのブロックとが交差するか否かのみを判定することで効率化することができる。しかし、与えられた多次元範囲と対応する複数の1次元範囲を個別に処理する必要のある場合は、空間充填曲線処理は、次元数とビット数が大きい場合に処理すべき空間および計算量が増える。
 本発明の実施の形態に係る空間充填曲線処理システムでは、空間充填曲線処理を行う際に、予め、処理と関連するデータ集合の各データを空間充填曲線処理で1次元値とし、その1次元値の集合の分布情報を生成しておく。そして、その分布情報を参照しながら空間充填曲線の部分空間に関する処理を行うことで、その部分空間のデータ密度が推定できる。そのデータ密度がある基準より少なければ、その部分空間の処理を行わないようにすることができる。これにより、ブロックより細かい空間自体の処理を必要とする場合についても、処理精度の劣化を少なく抑えつつ、処理の高速化を実現することができる。
 本発明の実施の形態に係る空間充填曲線処理システムは、データベースシステムあるいはデータストリームシステム、Pub/Sub(Publish/Subscribe)システムなどにおいて、多次元範囲検索あるいは多次元属性値を条件づけしたイベント駆動システムとして利用することができる。また、本発明の実施の形態に係る空間充填曲線処理システムは、複雑な検索式の実行順序を決定する際に、データ検索を行う前の選択率推定(selectivity estimation)としても利用可能である。
 図1に示すように、本発明の実施の形態に係る空間充填曲線処理システムは、多次元空間の部分空間に対する目的の処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、部分空間に対応する1次元の値あるいは範囲のデータ密度を取得するデータ密度取得部104と、部分空間のデータ密度に応じて、空間充填曲線処理を行うか否かを判定する判定部106と、判定部106の判定結果に従い、空間充填曲線処理を行う空間充填曲線処理部108と、を備える。
 本実施形態のデータ処理装置100は、たとえば、サーバコンピュータやパーソナルコンピュータ、またはそれらに相当する装置により実現することができる。
 また、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
 また、本実施形態のデータ処理装置100の各構成要素は、CPU(Central Processing Unit)、メモリ、メモリにロードされた各図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを含む任意のコンピュータ(不図示)のハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
 コンピュータのCPUが、ハードディスクに記憶されるプログラムをメモリに読み出して実行することにより、データ処理装置100の各図の各ユニットの各機能を実現することができる。
 本実施の形態のデータ処理装置100は、コンピュータプログラムに対応する各種の処理動作をCPUが実行することにより、本実施形態で説明する各種ユニットが各種機能として実現される。
 本実施形態のコンピュータプログラムは、空間充填曲線処理を行うデータ処理装置100を実現するコンピュータに、多次元空間の部分空間に対する処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する手順、部分空間のデータ密度に応じて、空間充填曲線処理を行うか否かを判定する手順、判定する手順の判定結果に従い、空間充填曲線処理を行う手順、を実行させるように記述されている。
 本実施形態のコンピュータプログラムは、コンピュータで読み取り可能な記録媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラムは、記録媒体からコンピュータのメモリにロードされてもよいし、ネットワークを通じてコンピュータにダウンロードされ、メモリにロードされてもよい。
 具体的には、本実施形態の空間充填曲線処理システムは、分布格納部102と、データ密度取得部104と、判定部106と、空間充填曲線処理部108とを有するデータ処理装置100を備える。
 分布格納部102は、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を記憶する。
 データ密度取得部104は、多次元空間の部分空間に対する目的の処理を行うとき、部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する。
 判定部106は、多次元空間の部分空間に対する目的の処理を行うとき、データ密度取得部104が取得した、部分空間のデータ密度に応じて、空間充填曲線処理を行うか否かを判定する。
 空間充填曲線処理部108は、多次元空間の部分空間に対する目的の処理を行うとき、判定部106の判定結果に従い、空間充填曲線処理を行う。
 また、本実施形態の空間充填曲線処理システムのデータ処理装置100は、さらに、図3に示すように、分布格納部102に格納される分布情報を生成するための構成として、データ格納部112と、空間充填曲線1次元化部114と、1次元値格納部116と、分布算出部118と、を備えることができる。他の実施形態において、分布情報は、他のシステムから与えられたものや既存のものでもよい。
 図3では、データ処理装置100は、図1で示したデータ密度取得部104、判定部106、および空間充填曲線処理部108を含む空間充填曲線処理部110と、図1の分布格納部102と、を備えるものとして示してある。
 データ格納部112は、たとえば、当該システムで処理目的となる多次元属性データ群の少なくとも一部、あるいは、分布情報が類似したデータ群が予めサンプルとして与えられ格納される。
 空間充填曲線1次元化部114は、1つの多次元属性値を入力として、対応する1次元値を出力する。その変換の際に、図2を用いて上述した、変換する次元数に応じた変換規則表を用いてもよい。
 図4に、図2の変換規則表を用いた変換処理の例を示す。図4には、先頭ビットを根とし、下位ビットを葉とする木構造であり、多次元の属性値の各ビットに応じて、異なる枝に分岐し、先頭ビットから下位ビットへと進むに従って、変換後の木構造も枝へと進む様子を描いている。なお、各枝に記された値はあるビット目の多次元値であり、その左端からの距離で変換後の1次元値を表している。
 たとえば、多次元データが(x,y)=(7,9)である時、これらは2ビット表記で(0111,1001)と表される。初期状態は状態0であるとし、ここに先頭ビットの各次元の組合せである(0,1)を入力する。図2の状態0における上段の多次元値が01である左上に対応する1次元値は01であり、遷移先は状態0である。次の先頭から2ビット目の各次元の組合せである(1,0)と対応する、状態0での多次元値10に対しては、1次元値が11であり遷移先は2である。
 ここで、先に得られた1次元値01の下位ビットに得られた1次元値を加え0111がこの状態での1次元値である。続いて、先頭から3ビット目の各次元の組合せである(1,0)と対応する、状態2での多次元値10に対しては、1次元値が11であり状態0となる。このように、空間充填曲線1次元化部114は、各ビットで得られる1次元値から多次元属性値に対応する1次元値を出力する。
 1次元値格納部116は、空間充填曲線1次元化部114が出力した1次元値を格納する。
 分布算出部118は、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群を入力として、そのデータ群の密度分布あるいは累積分布を示す分布情報を生成する。すなわち、分布算出部118は、1次元値格納部116に格納された複数のデータから、そのデータの分布情報を生成する。ここで生成される分布情報は、ある値におけるデータの密度を表した密度分布(図5(a)の502)でも、ある値以下のデータの割合を表した累積分布(図6(a)の512)でもよい。生成された分布情報は、分布格納部102に格納される。
 また、格納される形式は、カーネル密度関数法のように格納される元のデータと任意の関数からその分布を表現する方法(図7の522)としてもよい。その場合、格納形式は、元のデータと関数およびパラメータとなる。あるいは、図5(b)または図6(b)に示すようなヒストグラムの表504またはヒストグラムの表514として表されるような、ある値の範囲に対する度数または累積分布を管理する形式として生成および格納してもよい。
 また、別の形式として、ある値を入力して、その値における密度や累積密度を得やすいように、ヒストグラムを区間の傾きとして1次関数を求め、求めた1次関数形式として保持してもよい(図8(a)のグラフ532および図8(b)の表534)。
 図3に戻り、空間充填曲線処理部110は、与えられた多次元属性の部分空間の処理を行うとき、分布格納部102に格納された分布情報を参照し、データ密度に応じて空間充填曲線処理を行い、目的とする処理結果を出力する。
 空間充填曲線処理部110は、多次元空間の各部分空間を細分化して段階的に空間充填曲線処理を繰り返し行う過程において、データ密度が閾値以上の各部分空間に対してのみ、段階的に細分化を行い、空間充填曲線処理を所定回数繰り返す。そして、空間充填曲線処理部110は、データ密度が閾値未満の各部分空間に対しては、それ以上の細分化を行わず、前記空間充填曲線処理を中止する。
 空間充填曲線処理部110は、図2の変換規則表を参照するなどして、入力として与えられた多次元空間の部分空間に対応する処理を、各次元の先頭ビットの組合せから下位ビットに進めて処理を行う(図11)。その多次元空間内の処理中の箇所を表すポインタを、さらにビット位置を深く進めるか否か判断する際に、図1のデータ密度取得部104がそのポインタの指す多次元の値あるいは範囲と対応する1次元値あるいは1次元値の範囲を求め、図1の分布格納部102の分布情報602を参照して、その値あるいは範囲に対応するデータの密度を取得する。
 そして、図1の判定部106が、データの密度がある一定の規則で小さいか否かを判定する。図3の空間充填曲線処理部110は、判定結果に従い、データの密度がある一定の規則で小さいと判断されれば、深く進める処理は行わない(図11の処理604)。データ密度が一定の規則で大きいと判断された場合は、深く進める処理を行う(図11の処理606)。
 本実施形態の空間充填曲線処理部110により得られる1次元化された範囲は、図11の範囲614のようになる。一方、データ密度に基づく判断をせずに一律に予め定めた深さまで処理を進めた場合に得られる1次元化された範囲は、図11の範囲612のようになる。密度分布の分布情報602における密度の高い領域では、範囲612と範囲614は同じ粒度で探索するが、密度の低い領域では範囲612では細粒度での探索を行わず、粗粒度での探索を行い、そこでの処理結果を近似結果とする。
 空間充填曲線処理部110が入力として与えられた多次元空間の部分空間に対して行う処理は具体的には、以下のものが挙げられる。
(a)多次元範囲検索のための、与えられた多次元範囲に対応する1次元値の範囲を複数取得する処理
(b)与えられた多次元属性値から近傍のデータを、指定した数取得する最近傍探索のための1次元範囲を順序づけて取得する処理
(c)多次元範囲検索の選択率を推定するために、与えられた多次元範囲に対応する複数の1次元値範囲の総範囲幅を取得する処理
(d)多次元属性分布を可視化するヒストグラム表示のための、ある特定された次元の値とそこでのデータ密度またはデータ量を取得する処理
 多次元空間の部分空間に対する処理が、多次元の属性値または範囲に対応する1次元の属性値または範囲を複数取得する検索処理であるとき、空間充填曲線処理部110は、データ密度に応じて空間充填曲線処理を中止した各部分空間と、所定回数前記空間充填曲線処理を行い得られた各部分空間とを検索範囲として求める。
 データ処理装置100の各ユニットはそれぞれ概略つぎのように動作する。
 データ格納部112に格納された処理目的と関連する多次元属性のデータ集合から、その集合の全てあるいは一部のデータ要素に対して、各々のデータを空間充填曲線1次元化部114にて空間充填曲線処理を施して1次元化し、これを1次元値格納部116に記憶する。続いて、分布算出部118が、1次元値格納部116に格納されたデータ集合から、分布情報(ヒストグラム)を生成し分布格納部102に格納する。このようにして、分布情報が生成され、分布格納部102に格納される。
 空間充填曲線処理部110は、与えられた多次元属性の部分空間の処理を行う際に、分布格納部102に記憶された分布情報を参照し、空間充填曲線処理部110の目的とする処理結果を出力する。
 詳細には、与えられた多次元空間の部分空間に対する条件を満たす複数の1次元範囲を処理する際に、空間充填曲線処理を表す状態遷移表の根ノード(多次元の先頭ビットと対応)から葉ノード(下位ビット)へと探索する。探索しながら、その探索ポインタと分布格納部102に格納されたヒストグラムに基づき、その探索領域と対応する密度を得る。たとえば、探索ポインタと対応する1次元値と木の階層(ビット位置)とから決まる1次元範囲を算出し、その範囲の両端点を、ヒストグラムを示す分布関数に入力し、その値の差からその1次元値に対応する密度を得る。その密度に応じて、探索ポインタが探索する範囲を、本来処理すべき範囲を削減することで、探索空間を低減するように動作する。
 このような動作により、空間充填曲線処理を行う目的に応じて、その厳密な精度が不要な場合に、省略してもその精度に影響が少ない処理を省略することができ、本発明の目的を達成することができる。
 上述のような構成において、本実施の形態の空間充填曲線処理システムにおけるデータ処理装置100による空間充填曲線処理方法を以下に説明する。図10は、本実施形態の空間充填曲線処理システムの動作の一例を示すフローチャートである。
 本実施形態の空間充填曲線処理方法は、処理目的と関連する多次元データを空間充填曲線処理するデータ処理装置100が、多次元空間の部分空間に対する処理を行うとき、多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、部分空間に対応する1次元の値あるいは範囲のデータ密度を取得し(ステップS205)、部分空間のデータ密度に応じて、空間充填曲線処理を行うか否かを判定し(ステップS207)、判定結果に従い、空間充填曲線処理を行う(ステップS209)。
 このように構成された本実施形態の空間充填曲線処理システムの動作について、以下に説明する。
 まず、本実施形態の空間充填曲線処理システムのデータ処理装置100において分布情報を生成する処理手順について説明する。
 図9は、本実施形態の空間充填曲線処理システムのデータ処理装置100の分布情報生成処理の手順の一例を示すフローチャートである。以下、図3および図9を用いて説明する。
 ここでは、データ格納部112に格納された多次元データのそれぞれについて、ステップS101~ステップS111の間のループ処理を繰り返す。まず、空間充填曲線1次元化部114が、多次元データの1次元化を行う(ステップS103)。そして、空間充填曲線1次元化部114が、得られた1次元値を、1次元値格納部116に格納する(ステップS105)。次に、分布算出部118が、1次元値格納部116に格納されたデータから、累積分布情報を導出し(ステップS107)、分布格納部102に格納する(ステップS109)。
 次に、本実施形態の空間充填曲線処理システムのデータ処理装置100において、処理目的と関連する多次元データを空間充填曲線処理するときの手順について説明する。
 図10は、本実施形態の空間充填曲線処理システムのデータ処理装置100の空間充填曲線処理の手順の一例を示すフローチャートである。以下、図1、図3および図10を用いて説明する。
 本実施形態では、与えられた多次元空間の部分空間に対しての空間充填曲線処理において、その部分空間を構成する各部分空間について、ステップS201~ステップS213の間のループ処理を繰り返す。
 まず、空間充填曲線処理部110が、その部分空間の多次元属性値あるいは属性範囲と対応する1次元値あるいは1次元範囲を取得する(ステップS203)。そして、空間充填曲線処理部110(図1のデータ密度取得部104)が、その1次元値あるいは1次元範囲と対応するデータ密度を分布格納部102に記憶された分布情報から取得する(ステップS205)。そして、空間充填曲線処理部110が、そのデータ密度からその部分空間の処理を進めるか否かを判定する(ステップS207)。処理を進める場合は(ステップS207のYES)、空間充填曲線処理部110が、この部分空間を入力として空間充填曲線処理を再帰的に行う(ステップS209)。処理された結果は、このステップS209での結果として反映される(ステップS211)。処理を進めない場合(ステップS207のNO)、または、ステップS211の後、ステップS201に戻り、次の部分空間に対してループ処理を繰り返す。全ての部分空間に対する処理を終えると、ループ処理を終了し(ステップS213)、空間充填曲線処理部110は、結果を出力し、結果を処理の要求元に返す(ステップS215)。
 以上説明したように、本発明の実施の形態に係る空間充填曲線処理システムによれば、データ密度の少ない空間の処理を省く判断ができ、これにより少ない処理精度の低減で、処理の高速化を実現できる。たとえば、空間充填曲線処理を行う目的の処理である、範囲検索や選択率推定、近似件数検索、分布可視化等の処理の応答時間を速くできる。その理由は、多次元空間の部分空間に対する空間充填曲線処理を行う際に、処理中の部分空間に対応するデータ密度が参照可能であり、そのデータ密度に応じて部分空間を細分化して処理するか否かを判定するように構成されているためである。言い換えれば、ある空間に対して空間充填曲線処理を行う際に、その処理を省いた時の精度の低下を、元の多次元属性の値を空間充填曲線処理によって1次元化して得られる密度分布(ヒストグラム)を参照することで判断することができ、それを判断指標として探索範囲を決定することで、精度に対する影響を少なく高速処理ができる。
 以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
 まず、本実施例の比較例として、分布情報のデータ密度を考慮せず、2次元の範囲検索に対して、それに対応する1次元範囲を複数求める処理について図12を用いて説明する。
 ここでは、各々の多次元データが、算出された1次元値のアドレスのノードに格納されているとする。しかし、本発明の処理の後段で、算出されたアドレスのノードから取得されたデータに対して、元の検索が適用され、検索結果とするか否かの判断が行われるとする。そのため、ここで求める複数の1次元の範囲は、本来検索式で得られるデータを全て含まなければならない。その一方で、求める複数の1次元の範囲が、検索式に適合しないデータが含まれていても問題ない。
 図12に示す2次元の範囲検索では、第1属性xが0~14の範囲、第2属性yが8~9の範囲を検索するものとし、それぞれのビットパターンの範囲が[0000,1110]と[1000,1001]であるとする。なお、以下、記号“[”や、記号“]”は閉区間を表し、記号“(”や記号“)”は開区間を表す。
 先頭ビット701では、01と11を満たす範囲が検索対象であるため、図12の範囲711が検索対象となる。次のビット702では、先頭ビット701が01であるものに対しては00と10、先頭ビット701が11であるものに対しては00と10が検索対象となり、図12の範囲712と対応する。このように、比較例では、第3ビット703目では、合計7つのノードに関して、対応する1次元範囲の検索を行う必要がある。このようにして、求められた検索範囲は、図12の範囲713が対応する。
 次に、実施例について、以下説明する。実施例として、分布情報を参照し、データ密度を考慮して、2次元の範囲検索に対して、それに対応する1次元範囲を複数求める処理について説明する。
 なお、与えられた多次元属性範囲に対応する処理を先頭ビットから行う際、深さ優先探索と幅優先探索とで処理を行うことができる。深さ優先探索では、多次元属性の空間の探索方法として、複数の結果が得られた場合に一つの結果についてのみビットを先に進める。たとえば、図10を用いて説明すると、空間充填曲線処理部110が、先頭ビットに関して多次元属性範囲の条件に合致するか確認する(ステップS201のループ1回目におけるステップS207、ステップS207がYESの場合、ステップS209とステップS211)。そして、空間充填曲線処理部110が、得られた結果のうちの一つの結果についてまず2ビット目に関する条件を判定し(ステップS201のループ2回目におけるステップS207、ステップS207がYESの場合、ステップS209とステップS211)、得られた結果のうちのさらに一つについて、3ビット目を処理する(ステップS201のループ3回目におけるステップS207、ステップS207がYESの場合、ステップS209とステップS211)。
 たとえば、本実施形態のデータ処理装置100において、部分空間を格納する探索リストをデータ密度の順でソートして用意し、密度の高い順で取り出し、部分空間の中でさらに条件を満たす部分空間を追加し、再度、次の部分空間を取り出してもよい。一定の計算時間で処理するために、一定の部分空間を処理した時点で停止してもよい。一定のフォルスドロップ(False Drop)率とするために、条件を満たさない部分空間を条件に合うとして処理するデータ密度が一定以上となった時に停止してもよい。
 一方、幅優先探索では、複数の結果が得られた場合に、特定の結果についてビットを先に進めることは行わず、全ての結果についてなるべく同じビットを扱うように処理を進める。幅優先探索は、深さ優先探索に比較して、一定の計算時間で、できる限り少ないフォルスドロップ率を実現できる。あるいは、一定のフォルスドロップ率で、なるべく短い計算時間で処理するようにすることができる。
 以下、本実施例では、図13~図15を用いて、深さ優先探索を例として説明する。
 本実施例では、検索対象のデータからサンプリングで得られる一部のデータ800(図13)から、分布算出部118(図3)が累積分布の分布関数として表される分布情報801(図14)を生成したとする。この分布情報801を参照しながら、空間充填曲線処理部110が、2次元の範囲検索を行う例を示す。
 まず、先頭ビット811(図14)では、01と11を満たす範囲821(図15(a))が検索対象であり、対応する1次元のビットはそれぞれ01と10である。次に、図12と同様に先頭ビット811の多次元値が01であるものに対しては00と10の多次元値(対応する1次元値は00と11)、先頭ビット811が11であるものに対しては00と10が検索対象となる(対応する1次元値は00と11)。これらを満たす検索範囲は図15(b)の範囲822が対応する。
 ここで、先頭ビット811の多次元値が01で、第2ビット812(図14)が00である1次元値の4ビット目までは0100であり、それ以降のビットからなる空間と対応する1次元範囲は[01000000,01010000)となる。10進法では[64,80)となる。この範囲のデータ密度を算出するために、この累積分布に対してこの両端の値を入力し、その差を得ると、この例では0となる。この結果は、データ密度が十分小さいと判断でき、この部分空間(先頭が01、1ビット目が00)をさらに分割する処理を進めることは行わず、この部分空間は全て処理対象とするものとして、次の部分空間(先頭が01、1ビット目10)の処理を進める。
 なお、ここでの処理は多次元範囲と対応する1次元範囲を出力することであるので、この1次元範囲[01000000,01010000)は全て検索対象に含まれると見なすことができる。一方、次の部分空間(先頭が01、1ビット目10)の処理では、その部分空間の1次元範囲が[01111000,10000000)、10進法では[120,128)となる。この範囲のデータ密度を、前記分布情報を用いて算出すると、十分大きな値となるので、第3ビット813(図14)への処理を進める。
 このようにしてデータ分布を参照しながら、データ処理を行うことで、データ密度の高い箇所は下位ビットまで空間充填曲線処理を進め、データ密度の低い箇所は、空間充填曲線の上位ビットでその下位ビットに関する処理を省略し、その範囲全てに対するデータ処理を行う。
 このように本実施例では、分布情報の密度データを考慮したことで、第3ビット目813では、合計3つのノードに関して、対応する1次元範囲の検索を行えばよいことになる。上記比較例の場合に比較して、検索対象となるノード数が7から3に減少していることがわかる。なお、求められた検索範囲は、図15(c)の範囲823が対応する。
 以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
 処理目的と関連する多次元データを空間充填曲線処理するデータ処理装置が、
 多次元空間の部分空間に対する処理を行うとき、前記多次元データを前記空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得し、
 前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定し、
 判定結果に従い、空間充填曲線処理を行う空間充填曲線処理方法。
(付記2)
 付記1に記載の空間充填曲線処理方法において、
 前記データ処理装置が、
 前記多次元空間の各部分空間を細分化して段階的に前記空間充填曲線処理を繰り返し行う過程において、
 前記データ密度が閾値以上の各部分空間に対してのみ、段階的に細分化を行い、前記空間充填曲線処理を所定回数繰り返し、
 前記データ密度が閾値未満の各部分空間に対しては、それ以上の細分化を行わず、前記空間充填曲線処理を中止する空間充填曲線処理方法。
(付記3)
 付記2に記載の空間充填曲線処理方法において、
 前記多次元空間の部分空間に対する処理が、多次元の属性値または範囲に対応する1次元の属性値または範囲を複数取得する検索処理であるとき、
 前記データ処理装置が、
 前記データ密度に応じて前記空間充填曲線処理を中止した各部分空間と、前記所定回数前記空間充填曲線処理を行い得られた各部分空間とを検索範囲として求める空間充填曲線処理方法。
(付記4)
 付記1乃至3いずれかに記載の空間充填曲線処理方法において、
 前記データ処理装置が、分布情報記憶装置をさらに備え、
 前記データ処理装置が、
 処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群を入力として、そのデータ群の密度分布あるいは累積分布を示す分布情報を生成し、
 生成された前記分布情報を前記分布情報記憶装置に記憶し、
 前記分布情報記憶装置に記憶された分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する空間充填曲線処理方法。
(付記5)
 空間充填曲線処理を行うデータ処理装置を実現するコンピュータに、
 多次元空間の部分空間に対する処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する手順、
 前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定する手順、
 前記判定する手順の判定結果に従い、前記空間充填曲線処理を行う手順を実行させるためのプログラム。
(付記6)
 付記5に記載のプログラムにおいて、
 前記多次元空間の各部分空間を細分化して段階的に前記空間充填曲線処理を繰り返し行う手順、
 前記段階的に前記空間充填曲線処理を繰り返し行う手順の過程において、
 前記データ密度が閾値以上の各部分空間に対してのみ、段階的に細分化を行い、前記空間充填曲線処理を所定回数繰り返す手順、
 前記データ密度が閾値未満の各部分空間に対しては、それ以上の細分化を行わず、前記空間充填曲線処理を中止する手順をコンピュータに実行させるためのプログラム。
(付記7)
 付記6に記載のプログラムにおいて、
 前記多次元空間の部分空間に対する処理が、多次元の属性値または範囲に対応する1次元の属性値または範囲を複数取得する検索処理であるとき、
 前記データ密度に応じて前記空間充填曲線処理を中止した各部分空間と、前記所定回数前記空間充填曲線処理を行い得られた各部分空間とを検索範囲として求める手順をコンピュータに実行させるためのプログラム。
(付記8)
 付記5乃至7いずれかに記載のプログラムにおいて、
 前記データ処理装置は、分布情報記憶装置をさらに備え、
 処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群を入力として、そのデータ群の密度分布あるいは累積分布を示す分布情報を生成する手順、
 生成された前記分布情報を前記分布情報記憶装置に記憶する手順、
 前記分布情報記憶装置に記憶された分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する手順をコンピュータに実行させるためのプログラム。
 この出願は、2011年9月27日に出願された日本出願特願2011-211144号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (10)

  1.  多次元空間の部分空間に対する目的の処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する取得手段と、
     取得した前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定する判定手段と、
     前記判定手段の判定結果に従い、前記空間充填曲線処理を行う空間充填曲線処理手段と、を備える空間充填曲線処理システム。
  2.  請求項1に記載の空間充填曲線処理システムにおいて、
     前記空間充填曲線処理手段は、前記多次元空間の各部分空間を細分化して段階的に前記空間充填曲線処理を繰り返し行う過程において、
     前記データ密度が閾値以上の各部分空間に対してのみ、段階的に細分化を行い、前記空間充填曲線処理を所定回数繰り返し、
     前記データ密度が閾値未満の各部分空間に対しては、それ以上の細分化を行わず、前記空間充填曲線処理を中止する空間充填曲線処理システム。
  3.  請求項2に記載の空間充填曲線処理システムにおいて、
     前記多次元空間の部分空間に対する処理が、
     多次元の属性値または範囲に対応する1次元の属性値または範囲を複数取得する検索処理であるとき、
     前記空間充填曲線処理手段は、前記データ密度に応じて前記空間充填曲線処理を中止した各部分空間と、前記所定回数前記空間充填曲線処理を行い得られた各部分空間とを検索範囲として求める空間充填曲線処理システム。
  4.  請求項1乃至3いずれかに記載の空間充填曲線処理システムにおいて、
     処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群を入力として、そのデータ群の密度分布あるいは累積分布を示す分布情報を生成する分布算出手段と、
     生成された前記分布情報を記憶する分布情報記憶手段と、をさらに備え、
     前記取得手段は、前記分布情報記憶手段に記憶された分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する空間充填曲線処理システム。
  5.  処理目的と関連する多次元データを空間充填曲線処理するデータ処理装置が、
     多次元空間の部分空間に対する処理を行うとき、前記多次元データを前記空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得し、
     前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定し、
     判定結果に従い、空間充填曲線処理を行う空間充填曲線処理方法。
  6.  請求項5に記載の空間充填曲線処理方法において、
     前記多次元空間の各部分空間を細分化して段階的に前記空間充填曲線処理を繰り返し行う過程において、
     前記データ密度が閾値以上の各部分空間に対してのみ、段階的に細分化を行い、前記空間充填曲線処理を所定回数繰り返し、
     前記データ密度が閾値未満の各部分空間に対しては、それ以上の細分化を行わず、前記空間充填曲線処理を中止する空間充填曲線処理方法。
  7.  請求項6に記載の空間充填曲線処理方法において、
     前記多次元空間の部分空間に対する処理が、多次元の属性値または範囲に対応する1次元の属性値または範囲を複数取得する検索処理であるとき、
     前記データ密度に応じて前記空間充填曲線処理を中止した各部分空間と、前記所定回数前記空間充填曲線処理を行い得られた各部分空間とを検索範囲として求める空間充填曲線処理方法。
  8.  空間充填曲線処理を行うデータ処理装置を実現するコンピュータに、
     多次元空間の部分空間に対する目的の処理を行うとき、処理目的と関連する多次元データを空間充填曲線処理することで得られる複数の1次元値のデータ群の密度分布あるいは累積分布を示す分布情報を参照し、前記部分空間に対応する1次元の値あるいは範囲のデータ密度を取得する手順、
     前記部分空間の前記データ密度に応じて、空間充填曲線処理を行うか否かを判定する手順、
     前記判定する手順の判定結果に従い、前記空間充填曲線処理を行う手順を実行させるためのプログラム。
  9.  請求項8に記載のプログラムにおいて、
     前記多次元空間の各部分空間を細分化して段階的に前記空間充填曲線処理を繰り返し行う手順、
     前記段階的に前記空間充填曲線処理を繰り返し行う手順の過程において、
     前記データ密度が閾値以上の各部分空間に対してのみ、段階的に細分化を行い、前記空間充填曲線処理を所定回数繰り返す手順、
     前記データ密度が閾値未満の各部分空間に対しては、それ以上の細分化を行わず、前記空間充填曲線処理を中止する手順をコンピュータに実行させるためのプログラム。
  10.  請求項9に記載のプログラムにおいて、
     前記多次元空間の部分空間に対する処理が、多次元の属性値または範囲に対応する1次元の属性値または範囲を複数取得する検索処理であるとき、
     前記データ密度に応じて前記空間充填曲線処理を中止した各部分空間と、前記所定回数前記空間充填曲線処理を行い得られた各部分空間とを検索範囲として求める手順をコンピュータに実行させるためのプログラム。
PCT/JP2012/006154 2011-09-27 2012-09-26 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム WO2013046669A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013535917A JP6015662B2 (ja) 2011-09-27 2012-09-26 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム
US14/347,723 US20140232726A1 (en) 2011-09-27 2012-09-26 Space-filling curve processing system, space-filling curve processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011211144 2011-09-27
JP2011-211144 2011-09-27

Publications (1)

Publication Number Publication Date
WO2013046669A1 true WO2013046669A1 (ja) 2013-04-04

Family

ID=47994748

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/006154 WO2013046669A1 (ja) 2011-09-27 2012-09-26 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム

Country Status (3)

Country Link
US (1) US20140232726A1 (ja)
JP (1) JP6015662B2 (ja)
WO (1) WO2013046669A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10395259B1 (en) * 2017-03-17 2019-08-27 Mastercard International Incorporated Control group dataset optimization
US11429581B2 (en) * 2017-12-01 2022-08-30 International Business Machines Corporation Spatial-temporal query for cognitive IoT contexts

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001513925A (ja) * 1997-02-27 2001-09-04 テルコンター 2次元またはそれ以上の次元のデータベース照会を最適化するシステムおよび方法
WO2008133029A1 (ja) * 2007-04-18 2008-11-06 Nec Corporation オーバレイ検索装置、オーバレイ検索システム、オーバレイ検索方法およびオーバレイ検索用プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567972B2 (en) * 2003-05-08 2009-07-28 International Business Machines Corporation Method and system for data mining in high dimensional data spaces
US7400784B2 (en) * 2004-10-19 2008-07-15 Institut National De L'audiovisuel-Ina Search of similar features representing objects in a large reference database

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001513925A (ja) * 1997-02-27 2001-09-04 テルコンター 2次元またはそれ以上の次元のデータベース照会を最適化するシステムおよび方法
WO2008133029A1 (ja) * 2007-04-18 2008-11-06 Nec Corporation オーバレイ検索装置、オーバレイ検索システム、オーバレイ検索方法およびオーバレイ検索用プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHINJI NAKADAI ET AL.: "PLATON: Cho Bunsan Kankyo ni Okeru Data Kyoyu no Tameno P2P Tajigen Han'i Kensaku System", SYMPOSIUM ON MULTIMEDIA, DISTRIBUTED, COOPERATIVE AND MOBILE SYSTEMS (DICOM02007) RONBUNSHU, IPSJ SYMPOSIUM SERIES, vol. 2007, no. 1, 4 July 2007 (2007-07-04), pages 173 - 184 *

Also Published As

Publication number Publication date
US20140232726A1 (en) 2014-08-21
JP6015662B2 (ja) 2016-10-26
JPWO2013046669A1 (ja) 2015-03-26

Similar Documents

Publication Publication Date Title
US9591028B2 (en) Visualization and analysis of complex security information
JP2005025763A (ja) 構造化文書の分割プログラム、分割装置、及び分割方法
CN107391554A (zh) 高效分布式局部敏感哈希方法
CN111178532B (zh) 一种量子线路匹配的方法、装置、存储介质和电子装置
JPWO2014109127A1 (ja) インデックス生成装置及び方法並びに検索装置及び検索方法
Sukhija et al. Topic modeling and visualization for big data in social sciences
EP4089593A1 (en) Method and apparatus for executing quantum operation, and chip, device and storage medium
JP6888737B2 (ja) 学習装置、学習方法、及びプログラム
JP6015662B2 (ja) 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム
JP5964781B2 (ja) 検索装置、検索方法および検索プログラム
Purohit et al. Application-specific graph sampling for frequent subgraph mining and community detection
Clark et al. Tdag: Tree-based directed acyclic graph partitioning for quantum circuits
JP5716966B2 (ja) データ分析装置、データ分析方法及びプログラム
CN110825707B (zh) 数据压缩方法
JP2022111841A (ja) 表示プログラム、情報処理装置および表示方法
EP3196780A1 (en) Information processing device, information processing method, and computer-readable storage medium
JP2013156696A (ja) クラスタリング装置及び方法及びプログラム
CN116610640A (zh) 用于文件的操作方法、电子设备及存储介质
Clark et al. Gtqcp: Greedy topology-aware quantum circuit partitioning
JP7151515B2 (ja) ソート方法、ソートプログラム及びソート装置
JP2014229110A (ja) 検索装置、検索方法および検索プログラム
JP2019061300A (ja) グラフ生成装置、グラフ生成方法、データ構造、及びプログラム
Elo A parallel genetic algorithm on the CM-2 for multi-modal optimization
JP4587283B2 (ja) 無限木探索方法、装置及び処理プログラム並びに該プログラムを記録した記録媒体
KR102378038B1 (ko) 타겟 네트워크의 속성을 갖는 합성 네트워크를 얻기 위한 그래프 생성 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12837496

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013535917

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14347723

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 12837496

Country of ref document: EP

Kind code of ref document: A1

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载