WO2006080268A1 - ツリーの検索、集計、ソート方法、情報処理装置、および、ツリーの検索、集計、ソートプログラム - Google Patents

ツリーの検索、集計、ソート方法、情報処理装置、および、ツリーの検索、集計、ソートプログラム Download PDF

Info

Publication number
WO2006080268A1
WO2006080268A1 PCT/JP2006/300940 JP2006300940W WO2006080268A1 WO 2006080268 A1 WO2006080268 A1 WO 2006080268A1 JP 2006300940 W JP2006300940 W JP 2006300940W WO 2006080268 A1 WO2006080268 A1 WO 2006080268A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
nodes
column
pointer
storage device
Prior art date
Application number
PCT/JP2006/300940
Other languages
English (en)
French (fr)
Other versions
WO2006080268A9 (ja
Inventor
Shinji Furusho
Original Assignee
Turbo Data Laboratories Inc.
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 Turbo Data Laboratories Inc. filed Critical Turbo Data Laboratories Inc.
Priority to US11/814,705 priority Critical patent/US7937399B2/en
Priority to JP2007500493A priority patent/JP4653157B2/ja
Priority to CA002593118A priority patent/CA2593118A1/en
Priority to EP06712156A priority patent/EP1857945A1/en
Publication of WO2006080268A1 publication Critical patent/WO2006080268A1/ja
Publication of WO2006080268A9 publication Critical patent/WO2006080268A9/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Definitions

  • 0001 a method for searching, tabulating, and searching for an array representing data constructed on a storage device, an information processing apparatus that implements the method, and a program for searching, tabulating, and searching.
  • the 0002 database is being used in the future, but for a large-scale system, the use of the onna database (), which can eliminate the logical shield, is the mainstream. For example, is used for aircraft stems. In this case, by specifying the eyes, you can also quickly search for the target (of), you can set a reservation, you can change, etc. Since there are only a few hundred, it is possible to ask for a specific flight.
  • 0003 is suitable for handling data, but it is known that it is not suitable for handling data (see, for example).
  • X which adopts a data structure, has become popular as a data standard for intranet and internet applications (for details on X, see 2 for example).
  • An example of the method of database analysis of 000 9 X data as it is is to take the data point marked in the structure. For example, if it is the eye, the index and data of Have (for example, see Patent 2). This makes it possible to fully utilize the X data's attributes if attributes can be added to the data, and at the same time, remember the structure of each item expressed using tags.
  • the search index and the index are stored separately, the data is held at least in duplicate, and the data area for storing the index and the index is required. It is disadvantageous in holding large-scale data. At this time, even if a search is actually performed for this mechanism and the node is specified, it takes time to express the node. This mechanism also applies to searches that involve relationships between nodes (eg, 6 in ancestors and descendants).
  • the main problem of 001 technique is to focus on only the data of and to express the structure by connecting the nodes that store the data with a pointer. For example, it is impossible to efficiently deal with the relationships between parents, children, ancestors, offspring, siblings, and generations. In other words, pointers cannot be used to indicate the address of data because their values are not constant, and the relationship between nodes cannot be directly expressed.
  • 001 Ming gives priority to the nodes of the same generation, and the nodes including the nodes are given unique continuous numbers
  • a parent-child relationship between the nodes was associated with the node of the node that corresponded to the node of the node that was outside the node.
  • an instrument with data represented by the column with nodes,
  • the node In order to represent a partial node, which is a specific node and a group of nodes above that node, the node is a vertex node and the node is a vertex node.
  • a step of identifying a portion of the above, which represents a partial source identified by each of the nodes corresponding to the nodes stored in the node, and for each of the above, the node of the source is In order to become a node, the parent-child relationship between the nodes corresponds to the node granted to the node which is a node outside the node, and the node associated with the node. And generating in the storage device two columns of the standard formula expressed by the above.
  • the step of identifying the minutes of the above is such that the value in the node is increased in the direction of increasing the node from the node indicated by the node. Includes the step of identifying a larger range of
  • the step of generating the second column of the above formula is a region of a column of the same size as the column of
  • Ming gives priority to the node of the same generation, and the node including the node is given a unique continuous number of nodes.
  • a parent-child relationship between nodes is represented by a column with the node of the node associated with the node of the node that corresponds to the node of the node that is outside the node.
  • a search that expresses a search it is related to a node corresponding to a node assigned to a node that is a node outside the node for expressing a parent-child relationship between nodes.
  • the node is associated with one piece of information that represents data
  • the node for generating the search result including the nodes for the above is generated in the storage device. 0020
  • nodes that include nodes are given unique and continuous numbers
  • a parent-child relationship between nodes is represented by a column with the node of the node associated with the node of the node that corresponds to the node of the node that is outside the node.
  • a step of identifying a portion of the above, which represents a partial source identified by each of the nodes corresponding to the nodes stored in the node, and for each of the above, the node of the source is In order to become a node, the parent-child relationship between the nodes corresponds to the node granted to the node which is a node outside the node, and the node associated with the node.
  • the node containing the node is given a unique continuous number of nodes
  • a parent-child relationship between nodes is represented by a column with the node of the node associated with the node of the node that corresponds to the node of the node that is outside the node.
  • a node that stores the node of the software is generated in the storage device. Step,
  • a step of identifying a portion of the above, which represents a partial source identified by each of the nodes corresponding to the nodes stored in the node, and for each of the above, the node of the source is In order to become a node, the parent-child relationship between the nodes corresponds to the node granted to the node which is a node outside the node, and the node associated with the node.
  • a column of expressions in which each node is paired with each node and the current number of nodes whose nodes are nodes is arranged in the order of the nodes. It is also achieved by a method of manufacturing, characterized in that it comprises a step of generating in the device.
  • Ming's priority is given to nodes of the same generation, and the node containing the node is given a unique continuous number of nodes,
  • a parent-child relationship between nodes is represented by a column with the node of the node associated with the node of the node that corresponds to the node of the node that is outside the node.
  • the node assigned to Todo which is a node outside Todo, is used to represent the parent-child relationship between the nodes based on the above-mentioned aggregation sequence.
  • the node indicated by the above-mentioned pointer indicates the column indicated by the above-mentioned 2 pointer A step of accumulating as a corresponding number, decrementing the number of occurrences indicated by the pointer, and moving the pointer of and the pointer of 2 so that the number increases.
  • the 3 pointer initially placed in the above pointer is placed in the above column.
  • the aggregate column first identify the position where the current number is not in the aggregate column, and in the column of the node pointed to by the third pointer in this session, Storing the number corresponding to the number indicated by the pointer of 2, and subtracting the number of occurrences indicated by the pointer of 3, and moving the pointer of 2 so that the number increases.
  • the method of generating a partial array representing a node and a node containing the node from the above-mentioned aggregate sequence is as follows.
  • the method further comprises a step of subtracting the leading node from the nodes in the subarray to generate a standard subarray in the storage device.
  • a node that has a node and a node that is a node is used as a search that expresses Generating, in the memory device, a sequence of expressions in which a pair with the current number of nodes is arranged in the order of the nodes.
  • the node is associated with a piece of information that represents data
  • the method of totaling the sources specified by the column is
  • the node determine whether the node corresponding to the node becomes the node of the node, and relate to the node of the column. Updating the node of the descendant node with reference to the generated number of occurrences,
  • Ming gives priority to the nodes of the same generation, and the nodes including the nodes are given unique continuous numbers,
  • a parent-child relationship between nodes is represented by a column with the node of the node associated with the node of the node that corresponds to the node of the node that is outside the node.
  • the node In order to represent a partial node, which is a specific node and a group of nodes above that node, the node is a vertex node and the node is a vertex node.
  • a step of identifying a portion of the above, which represents a partial source identified by each of the nodes corresponding to the nodes stored in the node, and for each of the above, the node of the source is In order to become a node, the parent-child relationship between the nodes corresponds to the node granted to the node which is a node outside the node, and the node associated with the node. Is also achieved by the program characterized by performing the step of generating the two columns of the standard expression represented by the above in the storage device.
  • the step of storing the value obtained by subtracting the node of the node from the value stored in the above column in the above area in the above region is executed. 003
  • nodes that include them are given unique and continuous numbers
  • a parent-child relationship between nodes is represented by a column with the node of the node associated with the node of the node that corresponds to the node of the node that is outside the node.
  • a node that corresponds to a node assigned to a node that is outside the node to express the parent-child relationship between nodes, that corresponds to the node Generating in memory an array having a node of nodes associated with
  • the program which is characterized in that the step of generating in the storage device a node indicating the search result, which node includes all the nodes of which all are matched by the comparison. To be done.
  • the next node at the tail of the column is referenced to determine whether the node corresponding to the node is contained in the partial code specified by the node. Determining step,
  • the node is related to the fact that it represents data.
  • Step If all the reports match the corresponding substantive reports on the column, a step of generating a node indicating the search result including the node of the above-mentioned in the storage device is executed.
  • Ming gives priority to nodes of the same generation, and nodes that include them are given unique and consecutive numbers
  • a parent-child relationship between nodes is represented by a column with the node of the node associated with the node of the node that corresponds to the node of the node that is outside the node.
  • a step of identifying a portion of the above, which represents a partial source identified by each of the nodes corresponding to the nodes stored in the node, and for each of the above, the node of the source is In order to become a node, the parent-child relationship between the nodes corresponds to the node granted to the node which is a node outside the node, and the node associated with the node.
  • Ming's priority is given to nodes of the same generation, and the node containing the node is given a unique and continuous number of nodes,
  • the parent-child relationship between nodes is An instrument with data of construction, represented by the column with the node of the node associated with the node of the given node, corresponding to the given node,
  • a step of identifying a portion of the above, which represents a partial source identified by each of the nodes corresponding to the nodes stored in the node, and for each of the above, the node of the source is The parent-child relationship between the nodes is that of the nodes associated with the nodes that correspond to the nodes granted to the nodes that are outside the node.
  • the step of changing the order of the nodes of the nodes is executed by referring to the generated two columns. Is also achieved.
  • a column of expressions in which each node is paired with each node and the current number of nodes whose nodes are nodes is arranged in the order of the nodes. It is also achieved by a program that is characterized by performing the steps of generating on the device.
  • a parent-child relationship between nodes is represented by a column with the node of the node associated with the node of the node that corresponds to the node of the node that is outside the node.
  • a computer program provided with the data which is executed by the computer to construct the data in the memory device of the computer.
  • a step of generating a sequence of expressions in which a pair of the above node and the number of occurrences, which is the number represented by is arranged in the order of the above nodes, and storing the sequence in the storage device is executed. It is also achieved by the characteristic program.
  • the node indicated by the above-mentioned pointer indicates the column indicated by the above-mentioned 2 pointer A step of accumulating as a corresponding number, reducing the number of occurrences indicated by the above pointer by, and moving the pointer of and the pointer of 2 so that the number increases.
  • the three-pointer initially placed in the above-mentioned pointer in the column is Move it so as to reduce the number, first identify the position where the current number is not in the aggregation column, and in the column of the node pointed to by the third pointer in this discussion, The number of occurrences indicated by the pointer of 3 is reduced by the number of occurrences indicated by the pointer of 2, and the number of occurrences indicated by the pointer of 3 is reduced. .
  • the node determine whether the node corresponding to the node becomes the node of the node, and relate to the node of the column. Updating the node of the descendant node with reference to the generated number of occurrences,
  • the head node is subtracted from the nodes to generate a subarray of the standard expression in the storage device.
  • the program that can be found by the sample is To the
  • a pair of a node and each node and the current number of nodes with the node as the node is arranged in the order of the nodes.
  • a step of generating a column indicating a search result in the storage device the column including a node for the total number and a current number of all of the total numbers that are matched by the comparison.
  • the node is associated with one piece of information that represents data
  • the step of generating in the storage device a column representing the search result, including the nodes and the current number of the above, is executed.
  • the number of programs that can be detected by the computer is calculated in order to aggregate the amount specified by the column.
  • the node of the node that is at least a descendant node. Steps to calculate periodically
  • the node determine whether the node corresponding to the node becomes the node of the node, and relate to the node of the column. Updating the node of the descendant node with reference to the generated number of occurrences,
  • FIG. 4 Is a dock diagram showing the door structure of the computer system that handles the data structure in the clear state.
  • this computer system has the same composition as a normal one, and R (RandomAccessMemo) stores CP 2, which controls the system and its components by executing the program, and memorizes the quadrature. ) 4, memorize programs etc. (Read On Memo) 6, fixed memory such as disk 8 CO dry to access Cg 2 CO dry 2 External network ( No.) An interface () 22 provided between the external terminal and the connected external terminal, and an input 24 C 26 consisting of a robot are provided.
  • CP 2 RandomAccessMemo
  • the program for constructing the data on the storage device, and the program for transforming the data on the storage device according to the embodiment are stored in CO g and may be read by CO dry 2. However, it may be stored in O 6. Also, the data read from C O g may be stored in a fixed area in external memory 8. The above program may be supplied externally via the network (no), the external terminal and 22.
  • the information processing device according to the embodiment of the present invention must execute a program for constructing the data on the storage device and a program for transforming the data on the storage device on the computer. It is realized by.
  • 2 is the OS data that is an example of the data
  • 2 is an example of the visual representation of the data (, topology) data value of this data
  • 2 is the same data. This is an example of expressing the data with an X expression.
  • data and todo are node nodes that start from OS and are divided by nodes to reach to node (). Expressed by a combination.
  • Information that is, the type of the node, and the value of the information, that is, the value of the node, are related.
  • the node corresponding to is associated with the shopNa e () node type lance node value. This can be achieved, for example, by accommodating the node with a pointer to a node area that stores information that describes the node type node value. However, it should be noted that it is not limited by how the physical values of the data are handled. On the other hand, in order to search, aggregate, and efficiently execute the data of the data structure, the method of expressing the data topology, that is, the method of expanding it to the memory device is very important. Play a role. Therefore, in the following, mainly the data topologies will be explained.
  • pointer value is not constant, because in some cases a particular node is stored in one address (eg,) and in another case the same node is stored in another address (eg, 2),
  • the pointer value essentially only represents the node's address. So, for example, if the nodes are depth-followed by pointers, it is difficult to follow these nodes by pointers.
  • An act is an act that represents a parent-child relationship between nodes.
  • 3 to C are examples of the current format of data construction using ax.
  • Reference numeral 3 indicates a body made of data.
  • the numbers in the center of the shapes such as the round shape and the T shape indicate nodes, and the pair of numbers such as those on the side of the arrow and mark indicates the ac.
  • Nodes are not limited to letters, but can be numbers, especially numbers.
  • 3 indicates the node (o) to node () and 3C indicates the node consisting of the node node e.
  • 3C indicates the node consisting of the node node e.
  • no node for the purpose of only expressing the data.
  • the aux corresponds to the node It is described based on the section. Therefore, in one node, for example, Tonod, there are three child nodes 6 8 and therefore, in the o of the ax, 3 of the same node appear. Since the node cannot be specified even if the node is specified, the act is composed of the element sequence of the element o. When using ax, some nodes occur in the columns of o that are closer to the columns of.
  • the parent-child relationship can also be expressed by a clerk.
  • the parent-child relationship between nodes is represented by an array of pairs of nodes, which are nodes outside the node, and related nodes.
  • this clerk When expressing a child relationship by this clerk, there is an important property not obtained by the clerk. Since one node always corresponds to one node, by identifying the node, it is possible to immediately specify the only node corresponding to this node. In other words, an act really only needs to be prepared with elements. As a result, the storage capacity for storing the requests is reduced. This storage capacity may result in a reduction in the number of accesses, and as a result, the processing speed can be increased.
  • the fourth item includes the node area for the to-node, the convenience is set as the to-node node.
  • the parent-child relationship between nodes is expressed by opening the node of Tonod, which is a node outside Tonod. Then, by expressing the child's strike from the revealed child's node, the topographies of the Soviet Union can be expressed. , 5, the node system shown in is given a node unique to the node containing the node, and the node not included in the node.
  • the node step uses a numerical value as a node, more preferably a continuous number, and even more preferably a number of or. This allows the nodes to access the nodes of the node that corresponds to that node.
  • nodes are given priority over those of the same generation.
  • 6 shows the structural type data in which the number 1 is added to the node
  • 6 shows the conversion rule
  • 6C shows the solid type data in which the node is given an integer number. It has been done. Is a rule that assigns consecutive numbers at depth destinations.Specifically, when there are multiple nodes, the smallest number is given to the node of the firstborn (, and the largest number is given to the youngest () node. And prioritize the node over the brother node No. is assigned. So, I'm numbering, but you can also numbering.
  • 7 shows the solid type data with the number assigned to the node
  • 7 shows the conversion rule
  • 7C shows the structural type data with the number given to the node. It is.
  • the rule that gives consecutive numbers first specifically, if there are multiple nodes, give the smallest number to the firstborn (of) node and give the largest number to the youngest (of) node. , And give priority to the node over the node. So, I'm numbering, but you can also number.
  • the stored dose related to that node can be obtained immediately after the node by using the number.
  • the parent-child relationship it is possible to draw from node to node immediately.
  • a node step that prioritizes nodes over those of the same generation, giving nodes, including node nodes, a unique and continuous number,
  • an array formed by arranging the integers assigned to the nodes of the to node in the order of the integers assigned to the nodes of the node other than the node Parent-child relationship step to pay,
  • the nodes are given a continuous number in the depth direction, and the parent-child relationship between the nodes is expressed by a row of relations.
  • 006 58 is a chart based on Ming. This node, the computer system The first step is to assign numbers to Tod 8,
  • the step that gives the next number to the number that is assigned to the node that is in the node is already numbered. If there is more than one node in a node, the node is numbered according to the brotherhood between the number of nodes, and then the next node after the nodes of all the brother nodes immediately above are numbered. Just like numbers are given, numbers are assigned from the highest node to the highest node, 8 3 and so on.
  • Run This defines the relationship between a number of nodes derived from the same node in depth.
  • 00669 is a sequence of actual parent-child relationships created from the data at the depth shown in 6C by Ming. As a result, when arranging based on the child relationship of the nodes to which the serial number is given at the depth destination, the quality of the appearance of the node of a certain node in the continuous region can be determined. can get.
  • the parent-child relationship is used to indicate the area where the node number for the node is stored, and for the array where the node number is stored. It is made up of columns.
  • the second value from the array is 3, which means that the node corresponding to the node is stored in the array PC 3 descending. It is. This shows that the nodes for the nodes ,,, and the nodes are the three elements from the beginning of the sequence, the PC, the PC 6, and the PC 2 8.
  • the start point of the node of the node is ,,,, and the end of the node is ,. Therefore, the node of the node is the ⁇ 2nd of the sequence ,,,,.
  • a node step that prioritizes nodes of the same generation over nodes and gives a unique number of continuations to nodes, including nodes.
  • an array formed by arranging the integers assigned to the nodes of the to node in the order of the integers assigned to the nodes of the node other than the node Parent-child relationship step to pay,
  • the node is the node from Todd to the next generation.
  • every node in the generation will have a node until there is no node in the next generation. If they are different, the nodes are numbered and the nodes are numbered.If the nodes are the same, the relationship is defined between the number of nodes derived from the nodes. Then, from the first node to the first node, the number that is continuously changed from the number immediately after the number that was assigned immediately before is assigned step 3, and
  • Run This defines a relationship between a number of nodes that are derived from the same node in a mode.
  • 0742 is a column of the actual parent-child relationships created from the previous data shown in 7C by Ming. As shown in Fig. 4, if the sequences of the nodes to which the serial numbers are assigned are arranged based on the relationship, the nodes of a certain node have the quality that appears in the continuous region. This is because the numbers assigned to the nodes appear in the sequence in the order () when they are arrayed based on the child relationships of the nodes to which serial numbers are assigned.
  • 3 is the previous shown in 7C It is a column of actual parent-child relationships created from the data. As shown in Fig. 3, since there can be multiple nodes for one node, the parent-child relationship is used to indicate the area in which the node number for the node is stored, and the node number for the node. It is made up of the columns of in the array containing. For example, the value of the second from the beginning of is 3, which means that it is stored in the array PC 3 of the node to the node. This means that the nodes for the nodes ,, and are the three elements from the beginning of the sequence, PC, PC2, and C2.
  • the starting point of the node of the node is ,,,, and the ending point is ,,, 32. Therefore, the node of the node is the ⁇ 2nd of the sequence ,,,,.
  • node and all the nodes from that node to the node () with the value of the node closest to the node.
  • a node and a group of nodes from the node to the nodes are called partial sols.
  • the above The node closest to (todo) is called the vertex node.
  • 008 1 4 is based on the above-mentioned data, and Fig. 4 is
  • FIG. 3 is a diagram showing a sequence of data, actually, a parent-child relationship.
  • node 4 contains node 489
  • node 6 contains node 6
  • node 3 contains node 37.
  • An array composed of multiple nodes is called a node. You can specify more than one by the node
  • the node is represented by ab ....
  • a, b, ... are the nodes corresponding to the nodes.
  • this subgroup is called. If it does not exist, that is, if the nodes do not appear in duplicate, then this subgroup is called. We call the partial group So.
  • the node and the partial group consisting of the node can be specified by the node regardless of whether it is the group or the group. For example, as shown in 5, node 4 6 3 identifies a partial source (8 6 3 7) as shown in 5.
  • the partial software group specified by the node can be searched, tabulated, or set arithmetic.
  • a subgroup shown in 6 can be obtained by searching for a node containing nodes.
  • 6 is a node that represents this group of software.
  • the number of nodes that belong to each partial software is tabulated as shown in 7.
  • the 7 is a column showing the number of nodes belonging to the partial software specified by the node, 7 2, and the node.
  • the 8th, 80th column is a column showing the number of nodes belonging to the partial source specified by the 8th, 8 2nd, node. Further, 8 indicates a state in which the partial software is adjusted according to the number of nodes.
  • the partial software in g does not exist in the partial software group shown in g, even if it has an inclusive relation. Comparing the partial code 93 specified by the node of node 3 in g and the code 93 specified by node 7 in g, the part, code 93, is
  • the node (in addition to this, in addition to this node, the aggregate (number of nodes) of the same size is stored) Can represent the fruit.
  • nodes and the connections between the nodes and the partial groups of the nodes that are divided into the nodes are referred to as topologies in this specification.
  • the parts ⁇ (22 ⁇ 22 3) are each due to node 2 2 2 It corresponds to the partial S.
  • the parts (22) and (22 2) can be the same in their nodes and the connections between them, and the topologies can be the same.
  • the part represented by node 22, the group S can include two types of topologies.
  • topology It is desirable to standardize and express the topology. I will explain this in the section below. The standardized expression of the topology is referred to herein.
  • C P 23 Clearly has the same topology. However, referring to C P 23, it is 2 2 that is the part that expresses the partial S, and 7 8 8 that is the part that expresses the part, and these do not match. So, let's take the part, the source, and the node as the todd.
  • the parent-child relationship between the nodes corresponds to the node given to the node that is a node outside the node, so that the node of the partial source becomes the node for each ,
  • CP 2 refers to the CP sequence stored in R 4, etc., and specifies the partial array corresponding to CP, the partial source to be processed ( Step 24). More specifically, in the CP column, the pointer starting from the position indicated by the node of the partial source is moved further downward (in the direction in which the node increases), and the value of the CP column indicated by the pointer becomes If it is greater than the CP column corresponding to the node, then the node corresponding to the node pointed to by that pointer is contained in the partial source (25 of 25).
  • CP 2 converts the first element in the partial array, which indicates the parent node of the node, to (step 24 2)
  • CP 2 calculates the value obtained by subtracting the value of the node of the node as a set from the value of the second and subsequent primes, and stores this as the prime in the partial array. (Step 24 3). It is executed for the second and subsequent elements in the partial array in step 24 3 (step 24 4 4 5). Thus, in 25 examples, a subarray with 7 8 8 elements is
  • CP 2 stores a standardized partial array such as 4.
  • step 24 2 and step 24 3 can be used to sequentially subtract the vertex node node from the head element of the partial array.
  • the columns of the node are arranged in ascending order, so that the node of the node appears from the side of the node, and the nodes of the formulas are compared from the side of the node closer to the node. To be done.
  • the size of the array can be reduced in 0101, when the node of is often accompanied by a child node above 2.
  • Each node is a node, and each node is paired with the current number of nodes whose node is a node. It can be realized by including the step of generating. In order to generate a sequence of expressions from CP (of), a pair of the node of and the number of occurrences of the number of occurrences of the node in the sequence of is arranged in the order of the nodes of. It can be realized by providing a step of generating a sequence of expressions in a storage device.
  • 010626 is a diagram for explaining a sequence of expressions.
  • the child relation (C P) of the standardized partial S (corresponding to the partial C in 22) 26 is as shown by reference numeral 262.
  • P 2 refers to the elements of the C P sequence to create a sequence that is paired with the number of occurrences (nodes) (step 26).
  • the occurrence of the C P sequence is paired with the number of occurrences (nodes) (step 26).
  • the calculated C P corresponds to and in the equation, and can be mutually converted.
  • the C P column to the aggregated column (of the column) are as described above.
  • the column C P of the columns (based on the column C P of the column) is described below.
  • 27 is an expression consisting of a pair of the occurrence and the number of occurrences.
  • 27 2 can be used to represent. It can also be expressed using C P 273.
  • C to P we will introduce a reminder. And have consecutive stores in the CP column, except for the first (the store corresponding to the node), which has more storage than its own.
  • the check at 2772 is the mainstream.
  • the links connecting the nodes that make up the lock shown in 27 72 above are indicated by broken lines. Also self
  • the node indicated by the pointer of corresponds to the number indicated by the pointer of 2 in the column of .
  • the aggregate, the number of occurrences indicated by the first pointer is reduced by, and the pointer of and the pointer of 2 are moved to increase the number of steps,
  • a pointer to the aggregate column if the aggregate, the node pointed to by the first pointer, and the value pointed to by the second pointer minus Move the 3 pointer initially placed in the table so that it is subtracted, and first identify the position in the aggregate column where the current number is not, and then the pointer indicated by the 3 pointer.
  • the number of occurrences indicated by the third pointer is reduced, and the number of occurrences of the second pointer is increased by 2. It is equipped with moving steps.
  • 0112 28 is a chart showing the processing from the aggregation column to the C P column.
  • CP 2 reserves an area for the C P sequence on top of 4, etc., and stores it as the element of the head of the C P sequence (step 28). Then CP 2 sets the first pointer at the beginning of the column of the expression and the second pointer at the second () of the column C P (step 28 2).
  • 29 is a diagram showing a state in which the processes of step 28 and step 28 2 are completed. 29 and in the drawings explicitly referred to, the pointers of 2 are marked, and the pointers of 2 are marked 2. In addition, the pointer of 3 described later is expressed as 3. Also, is stored as the element of the head of the C P sequence.
  • 0111 CP is indicated by the pointer of 2 in the CP column (node
  • Step 28 3 It is judged whether the value obtained by subtracting from () is indicated by the pointer of (Step 28 3). If YES is determined in step 283, C P 2 is stored in the position indicated by C P and the second pointer, which is indicated by the pointer of (step 284). , CP 2 decrements the number of pointers by by (step 285) and moves pointers by and pointers by 2 downwards (by,
  • Step 286 If the position of the pointer of 2 is not beyond the tail of column C P (No at Step 287), return to Step 283.
  • step 283 the pointer indicated by is stored in CP, the position indicated by the second pointer, and the number of occurrences indicated by ,, and the second pointer is reduced by. To be The first and second pointers are moved downwards, respectively, so that the storage increments.
  • 01133 indicates the status of the storage of the value of the CP column shown in 29. In these cases also, the processes of steps 28 4 to 28 6 are executed.
  • CP 2 Since they are 7, they do not match (No in step 283) 0115
  • CP 2 generates a pointer of 3 that identifies the position of the aggregate column, and that pointer is After that, the position is moved (in the direction of decreasing the storage number), and first, the position is determined so that (step 288).
  • the pointer of 3 is placed just after the pointer of
  • the pointer of 3 stops at this position, because when it is moved in the direction of decreasing the number, it becomes the occurrence, 2 indicated by the 3rd pointer of this discussion.
  • CP 2 stores in the position indicated by CP, the second pointer indicated by the pointer of 3 (step 289) P 2 decrements the number indicated by pointer of 3 by (step 2) , Move the pointers of 2 downwards by (that is, move them so that the number indicated by the pointer increases by) (step 28)
  • step 28 3 it is determined at step 28 3 that the answer is Yes, and steps 28 4 to 286 are executed, and the pointer indicated by is displayed at the position indicated by CP and the second pointer. Paid. Continued 34, as shown in.
  • step 28 3 determines (N), and steps 28 8 to 28 are executed.
  • the value indicated by the pointer of 3 is stored in the position indicated by the CP and the second pointer. For example, for 34, the second pointer in steps 288-28 moves to a position beyond the tail of the CP column. Therefore, the processing ends at this point.
  • the 48 shown in 48 is represented as 48 using the sequence of expressions (48).
  • the nodes of this are, 3, 5, 6, and.
  • the subsequence of the subsequence 48 the nodes 3, 5, 6, and above do not appear.
  • the node As the storage number increases in the aggregate column, the node is referenced, and the node corresponding to the node determines whether or not it becomes the node of the node, and is related to the node of the column. Updating the node of the descendant node by referring to the number of occurrences Generating a set of a node of the node determined to be the node of the node and the number of occurrences associated with the node as a partial array in the storage device.
  • 0123 49 is a chart showing the process of identifying the root of a node based on the sequence of expressions. As shown in 49, CP 2 retrieves the node from the node stored in R 4, etc. (step 49).
  • CP 2 calculates the initial dozens by referring to the appearance and the number of occurrences indicated by the extracted node in the aggregate column (step 492). This has the following meanings.
  • the columns of 0124 correspond to the occurrences and nodes, and the columns of the occurrences and C P represent the nodes. Therefore, at least in the node, the node of the next apex node (in other words, the next part, the node of the Sotho node), it is at least the above.
  • step 498 if the output (node) of the next row of values in the aggregate column does not have a number higher than this, add more numbers. By doing this, you can correct the If, then, the next number is added to, then the comparison with the output of the next row is repeated, and then the output of
  • FIG. 10 is a diagram illustrating a physical example of a process for identifying a part of a node (node 2) in the switches shown in 0126 5 to 48. 5 indicates the state in which the pointer points to the storage item corresponding to the node in the aggregation column.
  • CP 2 places the move pointer at the number indicated by the node (step 49 3). This position becomes the movement pointer.
  • CP 2 is a mobile point
  • CP 2 found in step 492, see step 493 If it is (Yes at step 496), a report indicating that the node related to the signal indicated by the moving pointer belongs to the node is generated, and Remember (step 49 7).
  • the above stored array may be generated in, or may be set in the aggregate column as the above information in relation to the storage item.
  • CP 2 updates to the occurrence indicated by the original pointer (step 498).
  • the node that is 4 belongs to the node that is node 2, and the information is stored in the memory. It is also updated to, (original) (occurrence indicated by the pointer) 6.
  • the node of node 2 is specified by the range indicated by reference numeral 5.
  • FIG. 5 is a diagram showing a sequence of partial equations specified by the processes shown in 5 to C.
  • the sequence of expressions in node 0133 In the example shown in 48, the trailing nodes are nodes 3, 5, 6, and. Therefore, each of the terminal nodes is represented by a sequence of expressions, which is 5 of 52. For example, at the first occurrence 3 (because it is a node), the number is shown to be (ze).
  • each occurrence should be reduced to occurrences in each column, that is, the occurrences (ze) (52 2).
  • the partial software in the partial software specified by a certain node, the partial software is the same as the partial software, that is, it has the same topologies. For example, in the software shown in 35, if you search for the part shown in 35 that has the same topology, and you can find the partial software shown in dotted line in 35. This is called a topology. It can be represented in the topology by including the node of the node of the partial source specified by the search (node). In the example of 35, the number of searches is 7.
  • a search is also called a search topology.
  • Topology In short,
  • a search that expresses a search it is related to a node corresponding to a node assigned to a node that is a node outside the node for expressing a parent-child relationship between nodes.
  • 0137 36 is a chart showing the topology of this embodiment.
  • CP 2 generates a search string with the leading element deleted by referring to the CP column that represents the search topology stored in 4, etc. (step 36). Then, CP 2 initializes the set value to be added to the value of the search column to (Z) (step 36 2), and initializes the pointer indicating the position between the search and the CP to be searched. (Step 36 3). In step 363, the pointer is initially located at the position of C P and offset value. Initially, as shown in, for example, the position pointer indicates CP, offset (). Therefore, as will be described later, the starting element of the search column is
  • CP 2 adds the set value to each element of the search sequence, and outputs the element of the search sequence to which the offset value is added and the element of the CP column indicated by the pointer that corresponds to this element of the sequence.
  • the comparison is made (step 36 4) and it is judged whether or not the respective elements match (step 36 5). If YES is determined in step 365, CP 2 is the element of the storage item that is the sum of the tails of the CP columns that are the comparison target, the next, the following, and the last number plus. Refer to, and determine whether an element belongs to the same ID if it is specified by the CP sequence that is the comparison target (Step 3666).
  • CP 2 determines whether or not the next element in the tail of the compared CP sequence is greater than or equal to Oset, and if it is greater than or equal to Oset, determines that it belongs to the same lock. To do. [0139] If the result is (N) in step 366, the offset value is stored in the node generated above to store the search result (step 366). Then, CP 2 moves the pointer so that it just moves, the storage number increases (step 368) and the offset value increases (step 36). 9). With the movement of the pointer, it is judged whether or not there is a part to be compared newly in the CP column (step 3), and if it exists (step 36: Yes (Yes)), the step is started. Return to 4.
  • step 366 the answer is Yes.
  • Osset 7 For 38 and (each of Osset 2 and 3 respectively), it is also judged (N) in step 3655. In the example of 39 (Osset 7), the answer is Yes at Step 365 and No at Step 366. As a result, Osset 7 is delivered to the node. In addition, in the example of 39, (
  • the search criteria may be for that node (for the node described with reference to 2).
  • the types of the nodes corresponding to the compared elements are compared, and if the types match, the offset value is set to the vertex node. I'll pay.
  • topologies and expressions can also be achieved by using a sequence of topologies and expressions. Basically, a standard expression of (topology) expressing the search is used.
  • Reference numeral 53 is a chart showing the theory of the topology using the formula in this embodiment. It is almost the same as 53, 36 (topology using CP row). 36's In theory, the next element of the comparison component is the same as the component (step 366), but this step can be performed by using the sequence of expressions.
  • a search node given an offset, and comparing the offset given node with the corresponding node included in the aggregate according to the offset,
  • CP 2 generates a search string by referring to the sequence of expressions representing the search topologies stored in R 4, etc. (step 53).
  • sequence of standardized expressions is the sequence of standardized expressions.
  • CP 2 places a pointer indicating the position of comparison between search and search target at the initial position (step 53 2).
  • the pointer is placed at position (Z) of the collection row.
  • CP 2 initializes the set value to be added to in the search string so that the sum of the head and set values of the search string matches the head of the comparison part (step 53 3).
  • the head of the search sequence is (Ze)
  • the head of the comparison is (Ze)
  • the offset value is also (.
  • CP 2 searches for the column indicated by the pointer.
  • CP 2 adds the set value to each of the search sequences ,,, of the search sequence with the offset value added, and the number of occurrences of, and the corresponding position of the comparison, and the number of occurrences of And (step 534). If all of the elements match, then in step 535 the issu (Ye, o, and the value are stored in the nodules generated above to store the search result (step 536). CP 2 moves the pointer so that it only fits and the storage number grows (step 537), and at the same time, the offset value is the sum of the head and set values of the search column after the pointer is moved.
  • step 5398 It is incremented to match the head of the step (step 5398) .
  • step 539 It is judged whether or not there is a part to be compared in the aggregate column (step 539). If yes (step 539 Yes), return to step 5394.
  • the node representing the search result is 7.
  • Topology can be thought of as follows.
  • Topology 2 (It is referred to as Topology 2). It is easy for Mari to belong to that Topology species. Therefore, first of all, I will explain about the topologies.
  • the measure will be simply described.
  • the actual node is associated with the information, that is, the type of the node, and the information, that is, the value of the node.
  • the information that is, the type of the node
  • the information that is, the value of the node.
  • (type of node) and (at the time of node) may be above.
  • Topology 4 appears as the 2nd node shown by Node 2 8.
  • Topology 42 appears as a node in Node 7. Therefore, Topology 4 yields 2 and Topology 4 2 yields the topology results (4).
  • the parent-child relationship between the nodes is equal to the node assigned to the node that is the node outside the node, so that the node of the partial source becomes the node of each node.
  • the topology of the information processing apparatus according to the present embodiment is
  • CP 2 refers to the node stored in memory such as 4 and takes out that node (node of node) (step 4).
  • C P 2 specifies the area of the part specified by C P, node (step 42). This can be realized by the reason shown in 42, for example.
  • CP 2 is the node of CP, node
  • step 42 The element indicated by the storage number added with is referenced (step 42). Then, it is determined whether the element of C P referred to is equal to or greater than the node of the node (step 42 2). If the answer in step 42 2 is Yes, the node corresponding to the storage number related to this element belongs to the partial source specified by the node, so CP 2 outputs this number Temporarily memorize at (step 42 3). And CP 2 is the signal of CP
  • CP 2 repeats the processing of steps 42 2 to 42 4 as long as the number does not exceed the tail number of the C P column (step 42 5 (No)). As a result, the storage number corresponding to the node of the node belonging to the node's source can be acquired.
  • CP 2 converts the partial array corresponding to the partial P specified by C P, node into a standard expression (step 3). , 24 is executed.
  • CP 2 performs the steps 4 2 and 4 3 on all nodes (step 4 4) and obtains the standardized subsequences on the nodes. It is sufficient to store the partial array created in R 4 etc. Then, CP 2 compares the subsequences of the standard formula and counts the number of occurrences for each subsequence (step 45). This minute array and count value are the result of the topological measurement of.
  • 0 161 43 to C are diagrams showing examples of the topology of For each of 43 to C, the partial sequence (43 43 432) of the partial specified by the node is determined, and the partial sequence (43 2 43 2 4322) of the standard formula is obtained. Is 2, and the result is that there is only a partial array.
  • the topology of 2 For the topology of 2, the topology of the results of each of the sorted sub-arrays, in addition to the number of specified degrees and the operation on the specified value (large value, maximum, value , Sum, average, etc.).
  • the node As the storage number increases in the aggregate column, the node is referenced, and the node corresponding to the node determines whether or not it becomes the node of the node, and is related to the node of the column. Updating the node of the descendant node by referring to the number of occurrences
  • 0165 57 is a chart showing the theory of a topological meter using a sequence of expressions.
  • CP 2 refers to the node stored in memory such as R 4 and takes out that node (node of node) (step). Then, CP 2 identifies the aggregate of the processed objects and the bounds of the extracted nodes (step 57 2). This is achieved by carrying out 49 principles.
  • Step 572 produces a column that shows the encircling of the partial source.
  • the 0 66 CP converts the column indicating the bounds of the part obtained in step 572 into a standard formula (step 57 3). This can be accomplished by subtracting the leading issue from all the values in the aggregate column, as explained with reference to 5 and 52.
  • Step 57 to 57 3 are executed for all nodes (Step 1).
  • CP 2 compares the aggregation sequence and counts the number of occurrences for each aggregation (step 575).
  • the topological value and its count value are the result of the topological measurement.
  • FIG. 58A As a result of the above reason, as shown in FIG. 58A, it is possible to obtain a row indicating a box of 3 in each node.
  • reference numerals 58 to 583 are columns showing the surroundings of the parts related to nodes 2, 7, and 8, respectively. Therefore, the aggregated results can be obtained as shown in 58.
  • the number can be displayed as And may be desired.
  • the number of nodes in the group is the node indicated by the node, the number of nodes in the group.
  • the rear peak will be 2 8 7. This is because the number of partial nodes indicated by nodes 2 and 8 is 3, and the number of partial nodes indicated by node 7 is 5.
  • the order is not limited to this, and the degree explained for aggregation may be adopted.
  • the parent-child relationship between the nodes is equal to the node assigned to the node that is the node outside the node, so that the node of the partial source becomes the node of each node.
  • 017 45 is a diagram showing an example of the topology according to the present embodiment.
  • the topology of this example is similar to that of, and the steps 45 to 454 of 45 are the same as the steps 4 to 4 of 4. Therefore, as shown in 46 (similar to 43, if all nodes in the node are processed by steps 45 to 45 3, For 2, 7, and 8, we can obtain the sequences of the formulas shown in 46 through, respectively. Although it is set to the large size (in terms of the number of nodes) shown in 44, it becomes possible to obtain a node in which the order of the nodes is changed as shown in 46.
  • 3 is a functional diagram showing an example of an information processing device that executes the processing of a computer and a computer. This information processing device 47 is actually realized by installing the program necessary for the computer system shown in.
  • the information processing device 47 gives a memory 47 that stores a sequence of the data representing the data and the node including the node, and a unique node to the node including the node.
  • the node 47 2 that stores the node in memory 35, the node granted to Todo who is a node outside Todo, and the node granted to Todo's node.
  • Processing unit 47 4 Based on the parent-child relationship 473 that stores the CP column, which is the column indicating the symbol, in memory 47, and the node and CP column that are stored in memory 47 Processing unit 47 4, a processing unit 47 5 for converting a CP subarray into an ascending sequence, a processing unit 47 6 for performing topological processing, and a processing unit 47 6
  • topological processing section 47 7 for executing the processing and a topological processing section 47 8 for executing the processing.
  • the arrays generated by the processing unit 474, the processing unit 475, the topological processing unit 476, the topological processing unit 47, and the topological processing unit 478 are stored in the memory 47.
  • 0175 is preferably a node 472, a numerical value is used as a node, and more preferably a continuous number is used as a node.
  • the parent-child relationship 47 3 was granted to the node that was granted to and to the associated node.
  • the array of pairs of and is stored in memory 47.
  • a node When a node is specified by the input (24), etc., it is stored in the node 474, the node of the specified node, or the node.
  • the standard processing unit 474 and the processing unit 475 also execute processing to generate a predetermined column and store the column in the memory 47.
  • No. Reference numeral 0178 is a computer diagram of a computer system that handles the data structure in the state of implementation.
  • 2 2 is the S data, which is an example of the data, 2 is a visual representation of the data (, topology) data value of this data, and 2 is the same data. This is an example of expressing the data with an X expression.
  • 3 3 to C are the explanations of the current form of the example of the method of creating a computer using an ax.
  • 4 4 ⁇ C is the method of basic data according to Ming.
  • 55 is a method of constructing the data of Ming on a storage device.
  • 6 6 ⁇ C is a function to convert the structural type data of the expression to the structural type data of the integer expression.
  • 9 9 is the column of the actual parent-child relationship created by Ming.
  • 122 is the column of the actual parent-child relationship created by Ming.
  • 13 3 is a column of actual parent-child relationships created from the previous data shown in 7C.
  • FIG. 3 is a diagram showing a sequence of data, actually, a parent-child relationship.
  • Figure 15 is an example of a node
  • Figure 5 is an example of a partial group that is specified by a node.
  • Figure 16 shows an example of the subgroups identified by the node
  • Figure 6 shows an example of the subgroup identified by the node.
  • FIG. 17 is a column showing the nodes and the results obtained by aggregation, and Fig. 7 is identified by the nodes.
  • FIG. 3 is a diagram showing an example of a partial soot group.
  • 18 8 is a node indicating the number of nodes and the corresponding column indicating the number of nodes
  • Fig. 8 is a diagram showing an example of a partial source specified by the node.
  • Fig. 9 is an example of the partial group specified by each node.
  • 202 is a node showing the result of the logical operation
  • Fig. 2 is a diagram showing the partial group of software specified by the node.
  • 2 2 is a diagram showing an example of a CP representing a certain node and a node specifying a partial group.
  • 22 22 is a diagram showing the parts of each part identified by the top node in the node of 2.
  • 23 23 is a diagram showing the abbreviation of the partial software according to the present embodiment.
  • 24 24 is a chart showing an example of a partial source according to the present embodiment.
  • 25 25 is a diagram showing an example of a partial sequence representing a partial sequence.
  • 26 26 is a diagram for explaining an example of a sequence of expressions according to the present embodiment.
  • 27 27 is a diagram for explaining the abbreviation of the interconversion between C and P in the equation.
  • 28 28 is a chart showing an example of the processing from the column according to the present embodiment to the C P column.
  • 29 29 is a diagram showing a physical example of the theory of the C P column from the aggregation theory.
  • 30 3 is a diagram showing a physical example of the theory of the C P column from the aggregation theory.
  • 31 3 is a diagram showing a physical example of the theory of the C P column from the aggregation theory.
  • 33 33 is a diagram showing a physical example of the theory of the C P column from the aggregation theory.
  • 34 34 is a diagram showing a physical example of the theory of the C P column from the aggregation theory.
  • 35 35 is a diagram for explaining the abbreviation of the topologies in this embodiment.
  • 36 36 is a chart showing an example of the topology according to the present embodiment. Is.
  • 37 37 is a diagram showing an example of the topology theory.
  • 38 38A and 38B are diagrams showing examples of the topology theory.
  • 39 39 is a diagram showing a physical example of the topology.
  • Reference numeral 4040 is a diagram for explaining the abbreviation of the topography according to the present embodiment.
  • 4 4 is a chart showing an example of the topology according to this embodiment.
  • 42 42 is a cha that shows step 4 2 of 4 in more detail.
  • 43 43 to C are diagrams showing examples of the topology theory of.
  • 44 44 and B are diagrams for explaining the abbreviation of the topology in this embodiment.
  • 45 45 is a chart showing an example of topological processing according to the present embodiment.
  • 46 46 ⁇ are diagrams showing a physical example of the topological processing according to the present embodiment.
  • FIG. 47 47 constructs a structure according to Ming, constructs a node, generates a sequence of constructs, and stores it in order to find, search, topology, and topology.
  • 3 is a functional block diagram showing an example of an information processing device that executes a logic process.
  • B is a diagram showing a sequence of a tree and a formula representing the tree.
  • 49 49 is a char that shows the theory that specifies the node of a node based on the sequence of expressions.
  • Numerals 50 50 to C are diagrams showing a physical example of a process for specifying a tree of a node.
  • 5 5 is a diagram showing formulas in a sequence of formulas.
  • 5 52 is a diagram showing formulas in a sequence of formulas.
  • 53 53 is a chart showing the theory of the topology using the formula in this embodiment.
  • 54 54 is a diagram showing a body example of the topology using the standard formula according to the present embodiment.
  • 55 55 is a diagram showing a body example of the topology using the standard formula according to the present embodiment.
  • 56 56 is a diagram showing an example of and of the equation representing S o shown in 4.
  • 57 57 is a chart where 57 shows the theory of the topological meter using the sequence of formulas.
  • 58 58 is a figure showing the result of the topology using the sequence of 58.

Landscapes

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

Abstract

 ツリー型データ構造のデータ間の関係を効率的にトレースすることができるツリー型データ構造において、効率よくかつ高速にツリーを検索、集計、ソートする。ツリー型データ構造のトポロジーを検索する方法において、検索キーとなるツリーを表現する検索キー配列として、ノード間の親子関係を表現するための、ルート・ノード以外のノードである非ルート・ノードの各々に付与されたノード識別子に対応する、非ルート・ノードの各々に関連付けられた親ノードのノード識別子を有する配列をメモリ中に生成し、検索キー配列中のノード識別子にオフセットを与え、オフセットが与えられたノード識別子と、オフセットにしたがった、C-P配列中の部分に含まれる、対応するノード識別子とを比較し、比較により全てが一致したC-P配列中の部分のノード識別子を含む、検索結果を示す頂点ノードリストを、記憶装置中に生成する。

Description

、ソ の 索、集計、 、法、, 処理装置、および、 の 索、 集計、 トプ グラム
術分野
0001 、記憶装置上に構築された、 デ タ 造を表現する配列 ら、 を検索、集計、 する方法、当 法を実現する情報処理装置、 、 を検索、集計、 するためのプ グラムに関する。 0002 デ タベ スは の 途に用 られて るが、 模な し大規模 ステムに ては、論理的な 盾が排除できる ョナ デ タベ ス( )の 用が 主流とな て る。たとえば、 は飛行機の ステムに利用されて る。この 合、 目を指定することに 、 ( の 件の)タ ゲットを 速 に検索することもでき、 は、予約の 定、キヤンセ は変更などを ことが できる。また、 の は ぜ 数百であるため、特定の 空便の を 求めることも可能である。
0003 は、 デ タの り扱 に適して るが、 デ タの り扱 には適して な ことが知られて る( えば、 を参照。)。 0004 更に、アプ ケ ョンの中には、 式に 表現 も 式に 表現の 方が適して るものが存在する。特に、近年、イントラネット インタ ネットのアプ ケ ョンのデ タ 準として、 デ タ 造を採用するX が普及して る( X の 細に ては、例えば、 2を参照。)。
0005 し し、 デ タ 造の り扱 、例えば、 デ タの 、一般 に、大変 率が悪 。この 率の さの の 、デ タが各所のノ ドに分散 して 在するため、デ タの 在す き場所を直ちに特定することが困難である点 にある。 では、例えば、 デ タは、あるテ の
目だけに 納されて る。し し、 デ タ 造では、 と デ タを保 持するノ ドが各所に散在して るので、一般的には、 デ タ 造の 体を なければ、 当するデ タを検索することができな 。
0006 率の さの 2の 、検索の 果を表現するために時間が る 点に ある。 索にヒット ノ ド群を表現しよ とすると、 、そのノ ドの 孫にあたる ノ ドも表現しなければならな が、 Sとは異なりデ タ 造が非 型である ため、子孫ノ ドを表現するために時間が る。
0007 そこで、デ タベ スの 流である の 点を すため、従来、 デ タ 造をデ タベ ス するとき、 デ タを 化する方法( えば、特 許 を参照。)が提案されて る。 では、デ タはテ ( )に分解して 持される。そのため、実際の デ タを するには、 デ タをテ に押し込める必要がある。し し、 の デ タ 造を取り扱 ためには、その 個別にデ タをテ に押し込め、 ステム 計を行わ なければならな 。したが て、 に基 ステム 非常に手間の る作 業である。
0008 これに対して、 デ タ、特に、X デ タをそのままの形でデ タベ ス する方法も提案されて る。 デ タ 造の 合、一 のノ ドに子孫ノ ドを 下げることができ、多様な表現が可能であるため、 ステム 計の 間を 大幅に削減することができる。したが て、X のよ 構造を取り扱える 術 を核として、 構造デ タを処理すること の ズが高ま て る。
0009 X デ タをそのままの形でデ タベ ス する方法の 例のアプ チは、 構造に記入されて るデ タの ピ を取り出し、例えば、 目であ れば、 の インデ、 スデ タを別途 持する( えば、特許 2を参 照。 )。これにより、デ タ 身に属性を付加できると X デ タのメ ットを十分 に活用すると共に、タグを用 て表現された各項目の 造をそのまま 憶できる よ にして る。
1 2 3 2486 5
2 2 954 6
1 式会社セック、 K 。"。" 。P"p。 、 。n ne、 6 2 9 、インタ ネット UR h p Ⅷ・secco p p od c s ka e ea 2 W3C ExensbeMak p ang age XM ) 0 Th dEd on) 、 on ne、2 4 2 4 、 6 2 9 、インタ ネット UR h p w3 o g TR 2004 REC xm 20040204 >
明の
明が解決しよ とする課題
0010 し し、検索 インデ、 スデ タを別途 持する アプ チでは、少な とも デ タは二重に保持され、 、インデ、 を作成する スト インデ、 を 納するためのデ タ 域が必要となり、大規模なデ タを保持する上で不利である。 0011 際、この メカ ズムに 、実際に検索を行 、ノ ドを特定したとしても、 そのノ ドを表現するためには時間が る。また、このメカ ズムは、ノ ド間の関 係を問題とする検索( えば、祖先に 6 を含み、子孫に
を含む の )には利用できな 。
0012 術の 本的な問題点は、 のデ タのみに着目し、デ タを蓄 えたノ ド間をポインタで 続することに デ タ 造が表現されて るた め、デ タ間の関係、例えば、親子、祖先、子孫、兄弟( ング)、世代などの 係を 率的にト スすることができな ことにある。 言すると、ポインタは、その値 が一定しな ため、デ タの アド スを示す 途にし 用できず、ノ ド 間の関係を直接的に表現することができな 。
0013 そこで、 、 デ タ 造のデ タ間の関係を 率的にト スする ことができる デ タ 造にお て、効率 高速に を検索、集計、 する方法を提供することを目的とする。また、 、上記 デ タ 造にお て、 を検索、集計、 する情報処理装置、 、検索、集計、 トプ グラムを提供することを目的とする。
題を解決するための
0014 明の 、同じ世代のノ ド りも ノ ドを優先して、 ト ドを含む ノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
それぞれが特定のノ ドおよびその ノ ドを含む 上のノ ド群である部分 ソ を表わすために、 定のノ ドを頂点ノ ドとして、そのノ ド
納した ノ ドストを、記憶装置 に生成するステップ 、
前記 ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれ により特定される部分ソ を表す、前記 の の 分を特定するステップ 、 前記 の の 分のそれぞれに て、前記 ソ の ノ ドが、 ト ドとなるよ に、前記ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に 関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を 、前記 憶装置 に生成するステップ 、を備えたことを特徴とする配列の 法 により 成される。
0015 実施 様にお ては、前記 の の 分を特定するステップが、 ノ ドのノ ド が示す の の 置 ら、ノ ド が増大す る方向に、前記 の 中の値が、前記 ノ ド が示す の の より大き 範囲を特定するステップを含む。
0016 また、好ま 実施 様にお ては、前記 式の 2の 列を生成するステッ プが、前記 の 列の 分と同一サイズの 列の 域であ て、その
号として、前記 ト ドのノ ド を初期 とする連続する 数が与えられ た 域を、前記 憶装置 に確保するステップ 、
前記 の 列の 分に 納された値 ら、 ノ ドのノ ド を減じた値 を、それぞれ、前記 域に 納するステップ 、を含む。
0017 また、 明の 、同じ世代のノ ドよりも ノ ドを優先して、 ト ドを 含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
前記 の 列により特定される 中、検索 となる と同一のトポ ジ を有する、部分ソ を検索する方法であ て、
検索 となる を表現する検索 として、ノ ド間の親子関係を表現 するための、 ト ド 外のノ ドである ト ドの に付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する配列を、記憶装置 に生成するステップ 、
前記 ノ ド セットを与え、前記オ セットが与えられ たノ ド 、前記オ セットにしたが た前記 の の 分に含まれる、 対応するノ ド とを 較するステップ 、
前記 較により全てが一致した前記 の の 分のノ ド を含む、 検索 果を示す ノ ドストを、前記 憶装置 に生成するステップ 、を備え たことを特徴とする検索 法により 成される。
0018 実施 様にお ては、前記ノ ド の てが一致した場合に、
の の 分の 尾の次のノ ド を参照して、 ノ ド に対 応するノ ドが、前記 ノ ドにより特定される部分ソ に含まれる 否 を判断 するステップ 、
前記 ソ に含まれな 場合に、前記 較により全てが一致した前記 の の 分のノ ド を含む、検索 果を示す ノ ドストを、前記 憶装 置に生成するステップ 、を備えて る。
0019 また、別の好 実施 様にお ては、前記ノ ドが、デ タを表わす な とも 一 の 報が関連 けられ、
さらに、前記 較により全てが一致した部分のノ ド により特定されるノ ド に関連 けられた実体 報と、検索 列のノ ド により特定されたノ ド に関連 けられた実体 報とを、それぞれ 較するステップ 、
全ての 報が、前記 列に関する対応する実体 報と一致したよ 、前 記 の の 分のノ ド を含む、検索 果を示す ノ ドストを、 前記 憶装置 に生成するステップ 、を備えて る。 0020 また、 明の 、同じ世代のノ ドよりも ノ ドを優先して、 ト ドを 含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
の 列により特定されるソ の部 ソ を集計する方法であ て、 前記 ソ の ノ ドを 納した ノ ドストを、前記 憶装置 に生成 するステップ 、
前記 ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれ により特定される部分ソ を表す、前記 の の 分を特定するステップ 、 前記 の の 分のそれぞれに て、前記 ソ の ノ ドが、 ト ドとなるよ に、前記ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に 関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を 、前記 憶装置 に生成するステップ 、
前記生成された 2の 列を参照して、 2の 列の ごとに、生成された配列 カウント 、配列 を前記 2の 列の 関連 けて、前記 憶装置 に記 憶するステップ 、を備えたことを特徴とする 法により 成される。
0021 さらに、 明の 、同じ世代のノ ドよりも ノ ドを優先して、 ト ド を含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
前記 の 列により特定される の ソ の 序を する方法であ て、
前記 ソ の ノ ドを 納した ノ ドストを、前記 憶装置 に生成 ステップ 、
前記 ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれ により特定される部分ソ を表す、前記 の の 分を特定するステップ 、 前記 の の 分のそれぞれに て、前記 ソ の ノ ドが、 ト ドとなるよ に、前記ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に 関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を 、前記 憶装置 に生成するステップ 、
前記生成された 2の 列を参照して、設定された評価 準にしたが て、前記 ノ ドのノ ド の 序を入れ替えるステップ 、を備えたことを特徴とする 法により 成される。
0022 また、 明の 、 デ タ 造を記憶装置 に構築する方法であ て、
同じ世代よりも ノ ドを優先して、 ト ドを含むノ ドに、ノ ド とし て、固有の 続する 数を付与するステップ 、
ノ ドをも ノ ドに て、それぞれのノ ド 、 ノ ドをも ノ ドを ノ ドとする ノ ドの 現数との組を、前記ノ ド 子の順に配置した 式の 列を、前記 憶装置 に生成するステップ 、を備えたことを特徴と する デ タ 造の 法によ ても達成される。
0023 さらに、 明の 、同じ世代のノ ドよりも ノ ドを優先して、 ト ド を含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
前記 の ノ ド 、前記 の 列にお てノ ド が出現 する数を示す出現数との組を、前記 の ノ ド 子の順に配置した 式の 列を、前記 憶装置 に生成するステップを備えたことを特徴とす 配列の 法によ ても達成される。
0024 ある好ま 実施 様にお て、上述した集計 列に基 き、ノ ド間の親子関係 を表現するための、 ト ド 外のノ ドである ト ドの に付与さ れたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列を生成する方法は、
前記 の 現数に基 き、ノ ド 号とする の 列のための 域を、前記 憶装置 に確保するステップ 、
前記 および の 列のそれぞれにお て、 のポインタおよび 2の ポインタを初期 置に配置するステップ 、
前記 、前記 のポインタが示すノ ド 、前記 2のポインタが 示す 号 ら を減じた値とが一致する場合に、前記 のポインタが示 すノ ド 、 の 列にお て、前記 2のポインタが示す 号に 対応する として 納するとともに、集計 、前記 ポインタが示す出現数 を だけ減じ、 、 のポインタおよび 2のポインタを、その 号が 増大するよ に移動さ るステップ 、
前記 、前記 のポインタが示すノ ド 、前記 2のポインタが 示す 号 ら を減じた値とが一致しな 場合に、前記 列にお て、前記 のポインタに初期的に配置される 3のポインタを、その 号 を減じるよ に移動さ て、最初に、集計 列にお て、その 現数が とならな 位置を特定して、当議第3のポインタが示すノ ド 、 の 列にお て、 前記 2のポインタが示す 号に対応する として 納するとともに、集計 、前記 3のポインタが示す出現数を だけ減じ、 、 2のポインタを、 その 号が増大するよ に移動さ るステップ 、を備えて る。
0025 また、好ま 実施 様にお て、上述した集計 列 ら、 ノ ドおよびその ノ ドを含む ソ を表わす部分配列を生成する方法は、
前記 列にお て、前記 ノ ドのノ ド 、 ノ ド に関 連 けられた出現数とに基 き、少な とも子孫ノ ドとなるノ ドのノ ド を 初期的に算出するステップ 、 列にお て、格納 号が増大するよ に、ノ ド を参照 、 前記ノ ド に対応するノ ドが、前記 ノ ドの ノ ドとなる 否 を 判断するとともに、 列のノ ド に関連 けられた出現数を参照し て、前記子孫ノ ドのノ ド を更新するステップ 、
前記 ノ ドの ノ ドとなると判断されたノ ドのノ ド と前記 けられた出現数との組を、部分配列として記憶装置 に生成するステップ 、を備え て る。
0026 より好まし 実施 様にお ては、さらに、前記 分配列にお て、そのノ ド 子 ら、先頭のノ ド を減じて、標準 式の 分配列を、記憶装置 に生成 するステップを備えて る。
0027 また、別の好まし 実施 様にお て、上述した集計 列により特定される
中、検索 となる と同一のトポ ジ を有する部分ソ を検索する方法は、 前記 となる を表現する検索 として、 ノ ドをも ノ ドに て、それぞれのノ ド 、 ノ ドを ノ ドとする ノ ドの 現数と の組を、前記ノ ド 子の順に配置した 式の 列を、記憶装置 に生 成するステップ 、
前記 ノ ド 、オ セットを与え、前記オ セットが与えら れたノ ド 、前記オ セットにしたが た前記 の 分に含まれる 、対応するノ ド とを 較するステップ 、
前記 較により全てが 致した集計 列の 分のノ ド とその 現数とを 含む、検索 果を示す 列を、前記 憶装置 納するステップ 、を備え て る。
0028 まし 実施 様にお ては、前記ノ ドが、デ タを表わす な とも一 の 報が関連 けられ、
さらに、前記 較により全てが一致した部分のノ ド により特定されるノ ド に関連 けられた実体 報と、検索 列のノ ド により特定されたノ ド に関連 けられた実体 報 を、それぞれ 較するステ プ 、
全ての 報が、前記 列に関する対応する実体 報と一致したよ 、 の 分のノ ド とその 現数とを含む、検索 果を表わす 列を、前記 憶装置 に生成するステップ 、を備えて る。
0029 また、好ま 実施 様にお ては、上述した集計 列に基 き、 列 により特定される の ソ を集計する方法は、
前記 ソ の ノ ドを 納した ノ ドストを、前記 憶装置 に生成 するステップ 、
前記 列にお て、前記 ノ ドのノ ド 、 ノ ド に関 連 けられた出現数とに基 き、少な とも子孫ノ ドとなるノ ドのノ ド を 初期的に算出するステップ 、
前記 列にお て、格納 号が増大するよ に、ノ ド を参照 、 前記ノ ド に対応するノ ドが、前記 ノ ドの ノ ドとなる 否 を 判断するとともに、 列のノ ド に関連 けられた出現数を参照し て、前記子孫ノ ドのノ ド を更新するステップ 、
前記 ノ ドの ノ ドとなると判断されたノ ドのノ ド とおよび けられた出現数との組を、部分配列として記憶装置 に生成するステップ 、 前記 分配列にお て、そのノ ド 子 ら、先頭のノ ド を減じて、標 準 式の 分配列を、記憶装置 に生成するステップ 、
前記生成された 式の 分配列を参照して、前記 式の 分配列の ごとに、生成された配列 カウント 、配列 を前記 関連 けて、前記 憶装置 に記憶するステップ 、を備えて る。
0030 また、 明の 、同じ世代のノ ドよりも ノ ドを優先して、 ト ドを 含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、部分ソ を表わす 列を生成するために、 前記 ンピ により み出し 能な ンピ プ グラムであ て、
前記 ンピ に、 それぞれが特定のノ ドおよびその ノ ドを含む 上のノ ド群である部分 ソ を表わすために、 定のノ ドを頂点ノ ドとして、そのノ ド
納した ノ ドストを、記憶装置 に生成するステップ 、
前記 ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれ により特定される部分ソ を表す、前記 の の 分を特定するステップ 、 前記 の の 分のそれぞれに て、前記 ソ の ノ ドが、 ト ドとなるよ に、前記ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に 関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を 、前記 憶装置 に生成するステップ 、を実行さ ることを特徴とする ンピ プ グラムによ ても達成される。
0031 実施 様にお ては、前記 の の 分を特定するステップにお て、
ノ ドのノ ド が示す の の 置 ら、ノ ド が増 大する方向に、前記 の 中の値が、前記 ノ ド が示す の の より大き 範囲を特定するステップを、前記 ンピ に実行さ る。 0032 また、別の好 実施 様にお ては、前記 式の 2の 列を生成する ステップにお て、
前記 の 列の 分と同一サイズの 列の 域であ て、その 号と して、前記 ト ドのノ ド を初期 とする連続する 数が与えられた 域を、前記 憶装置 に確保するステップ 、
前記 の 列の 分に 納された値 ら、 ノ ドのノ ド を減じた値 を、それぞれ、前記 域に 納するステップ 、を前記 ンピ に実行さ る。 0033 また、 明の 、同じ世代のノ ドよりも ノ ドを優先して、 ト ドを 含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
前記 の 列により特定される 中、検索 となる と同一のトポ ジ を有する、部分ソ を検索するために、前記 ンピ により み出し 能な ン ピ プ グラムであ て、
前記 ンピ に、
検索 となる を表現する検索 として、ノ ド間の親子関係を表現 するための、 ト・ノ ド 外のノ ドである ト・ノ ドの に付与されたノ ド に対応する、 ト・ノ ドの に関連 けられた ノ ドのノ ド を有する配列を、記憶装置 に生成するステップ 、
前記 ノ ド セットを与え、前記オ セットが与えられ たノ ド 、前記オ セットにしたが た前記 の の 分に含まれる、 対応するノ ド とを 較するステップ 、
前記 較により全てが一致した前記 の の 分のノ ド を含む、 検索 果を示す ノ ドストを、前記 憶装置 に生成するステップ 、を実行さ せることを特徴とする ンピ プ グラムによ ても達成される。
0034 まし 実施 様にお ては、前記 ン 夕に、
前記ノ ド の てが一致した場合に、 列の 分の 尾の次のノ ド を参照して、 ノ ド に対応するノ ドが、前記 ノ ドにより特 定される部分ソ に含まれる 否 を判断するステップ 、
前記 ソ に含まれな 場合に、前記 較により全てが一致した前記 の の 分のノ ド を含む、検索 果を示す ノ ドストを、前記 憶装 置 に生成するステップ 、を実行さ る。
0035 また、別の好まし 実施 様にお ては、前記ノ ドが、デ タを表わす な とも の 報が関連 けられ、
さらに、前記 ンピ に、
前記 較により全てが一致した部分のノ ド により特定されるノ ドに関連 けられた実体 報と、検索 列のノ ド により特定されたノ ドに関連 けられた実体 報とを、それぞれ 較するステップ 、 ての 報が、前記 列に関する対応する実体 報と一致したよ 、前 記 の の 分のノ ド を含む、検索 果を示す ノ ドストを、 前記 憶装置に生成するステップ 、を実行さ る。
0036 また、 明の 、同じ世代のノ ドよりも ノ ドを優先して、 ト ドを 含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
の 列により特定される の ソ を集計するために、 ンピ によ り み出し 能な ンピ プ グラムであ て、
前記 ンピ に、
前記 ソ の ノ ドを 納した ノ ドストを、前記 憶装置 に生成 するステップ 、
前記 ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれ により特定される部分ソ を表す、前記 の の 分を特定するステップ 、 前記 の の 分のそれぞれに て、前記 ソ の ノ ドが、 ト ドとなるよ に、前記ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に 関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を 、前記 憶装置 に生成するステップ 、
前記生成された 2の 列を参照して、 2の 列の ごとに、生成された配列 カウント 、配列 を前記 2の 列の 関連 けて、前記 憶装置 に記 憶するステップ 、実行さ ることを特徴とする ンピ プ グラムによ ても達成 される。
0037 さらに、 明の 、同じ世代のノ ドよりも ノ ドを優先して、 ト ド を含むノ ドに、固有の 続する 数 なるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの 与されたノ ド に対応する、 ト・ノ ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
前記 の 列により特定される の ソ の 序を するために、前 記 ンピ により み出し 能な ンピ プ グラムであ て、
前記 ンピ に、
前記 の ノ ドを 納した ノ ド ストを、前記 憶装置 に生成 するステップ 、
前記 ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれ により特定される部分ソ を表す、前記 の の 分を特定するステップ 、 前記 の の 分のそれぞれに て、前記 ソ の ノ ドが、 ト・ノ ドとなるよ に、前記ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に 関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を 、前記 憶装置 に生成するステップ 、
前記生成された 2の 列を参照して、設定された評価 準にしたが て、前記 ノ ドのノ ド の 序を入れ替えるステップ 、を実行さ ることを特徴とす る ンピ プ グラムによ ても達成される。
0038 また、 明の 、 デ タ 造を、 ンピ の 憶装置 に構築 するために、 ンピ により み出し 能な ンピ プ グラムであ て、 前記 ンピ に、
同じ世代よりも ノ ドを優先して、 ト・ノ ドを含むノ ドに、ノ ド とし て、固有の 続する 数を付与するステップ 、
ノ ドをも ノ ドに て、それぞれのノ ド 、 ノ ドをも ノ ドを ノ ドとする ノ ドの 現数との組を、前記ノ ド 子の順に配置した 式の 列を、前記 憶装置 に生成するステップ 、を実行さ ることを特 徴とする ンピ プ グラムによ ても達成される。
0039 さらに、 明の 、同じ世代のノ ドよりも ノ ドを優先して、 ト・ノ ド を含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、前記 デ タ 造を、 ンピ の 憶装置 に構築するために、前記 ンピ により み出し 能な実行さ る ンピ プ グラムであ て、
前記 ンピ に、
前記 の ノ ド 、 の 現する数である出現数との組を、 前記 の ノ ド 子の順に配置した 式の 列を生成し、 列を、前記 憶装置に 納するステップを実行さ ることを特徴とする ン ピ プ グラムによ ても達成される。
実施 様にお ては、上記 列に基 き、ノ ド間の親子関係を表 現する、 ト ド 外のノ ドである ト ドの に付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列を生成するために、 ンピ により み出し 能な ンピ プ グラムは、
前記 ンピ に、
前記 の 現数に基 き、ノ ド 号とする の 列のための 域を、前記 憶装置 に確保するステップ 、
前記 および の 列のそれぞれにお て、 のポインタおよび 2の ポインタを初期 置に配置するステップ 、
前記 、前記 のポインタが示すノ ド 、前記 2のポインタが 示す 号 ら を減じた値とが一致する場合に、前記 のポインタが示 すノ ド 、 の 列にお て、前記 2のポインタが示す 号に 対応する として 納するとともに、集計 、前記 のポインタが示す出現数 を だけ減じ、 、 のポインタおよび 2のポインタを、その 号が 増大するよ に移動さ るステップ 、 、前記 のポインタが示すノ ド 、前記 2のポインタが 示す 号 ら を減じた値とが一致しな 場合に、前記 列にお て、前記 のポインタに初期的に配置される 3のポインタを、その 号 を減じるよ に移動さ て、最初に、集計 列にお て、その 現数が とならな 位置を特定して、当議第3のポインタが示すノ ド 、 の 列にお て、 前記 2のポインタが示す 号に対応する として 納するとともに、集計 、前記 3のポインタが示す出現数を だけ減じ、 、 2のポインタを、 その 号が増大するよ に移動さ るステップ 、を実行さ る。
0041 別の好まし 実施 様にお ては、上記 列 ら、 ノ ドおよびその ノ ドを含む ソ を表わす部分配列を生成するために、 ンピ により み出し 能な ンピ プ グラムは、
前記 ンピ に、
前記 列にお て、前記 ノ ドのノ ド 、 ノ ド に関 連 けられた出現数とに基 き、少な とも子孫ノ ドとなるノ ドのノ ド を 初期的に算出するステップ 、
前記 列にお て、格納 号が増大するよ に、ノ ド を参照 、 前記ノ ド に対応するノ ドが、前記 ノ ドの ノ ドとなる 否 を 判断するとともに、 列のノ ド に関連 けられた出現数を参照し て、前記子孫ノ ドのノ ド を更新するステップ 、
前記 ノ ドの ノ ドとなると判断されたノ ドのノ ド と前記 けられた出現数との組を、部分配列として記憶装置 に生成するステップ 、を実行 さ る。
0042 より好まし 実施 様にお ては、さらに、前記 ンピ に、
前記 分配列にお て、そのノ ド 子 ら、先頭のノ ド を減じて、標 準 式の 分配列を、記憶装置 に生成するステップを実行さ る。
0043 さらに別の好まし 実施 様にお て、上記 列により特定される 中、 検索 となる と同一のトポ ジ を有する部分ソ を検索するために、 ン ピ により み出し 能な ンピ プ グラムは、 ンピ に、
前記 となる を表現する検索 として、 ノ ドをも ノ ドに て、それぞれのノ ド 、 ノ ドを ノ ドとする ノ ドの 現数と の組を、前記ノ ド 子の順に配置した 式の 列を、記憶装置 に生 成するステップ 、
前記 ノ ド 、オ セットを与え、前記オ セットが与えら れたノ ド 、前記オ 、 にしたが た前記 の 分に含まれる 、対応するノ ド とを 較するステップ 、
前記 較により全てが一致した集計 の 分のノ ド とその 現数と を含む、検索 果を示す 列を、前記 憶装置 に生成するステップ 、を実 行さ る。
0044 実施 様にお ては、前記ノ ドが、デ タを表わす な とも一 の 報が関連 けられ、
さらに、前記 ンピ に、
前記 較により全てが一致した部分のノ ド により特定されるノ ドに関連 けられた実体 報と、検索 列のノ ド により特定されたノ ドに関連 けられた実体 報とを、それぞれ 較するステップ 、
全ての 報が、前記 列に関する対応する実体 報と一致したよ 、前 記 の 分のノ ド とその 現数とを含む、検索 果を表わす 列を、前記 憶装置に生成するステップ 、を実行さ る。
0045 また、別の好 実施 様にお ては、上記 列に基 き、 列 により特定される の 分、ソ を集計するために、 ンピ により み出し 能な ンピ プ グラムは、
前記 ンピ に、
前記 ソ の ノ ドを 納した ノ ドストを、前記 憶装置 に生成 するステップ 、
前記 列にお て、前記 ノ ドのノ ド 、 ノ ド に関 連 けられた出現数とに基 き、少な とも子孫ノ ドとなるノ ドのノ ド 期的に算出するステップ 、
前記 列にお て、格納 号が増大するよ に、ノ ド を参照 、 前記ノ ド に対応するノ ドが、前記 ノ ドの ノ ドとなる 否 を 判断するとともに、 列のノ ド に関連 けられた出現数を参照し て、前記子孫ノ ドのノ ド を更新するステップ 、
前記 ノ ドの ノ ドとなると判断されたノ ドのノ ド とおよび けられた出現数との組を、部分配列として記憶装置 に生成するステップ 、 前記 分配列にお て、そのノ ド 子 ら、先頭のノ ド を減じて、標 準 式の 分配列を、記憶装置 に生成するステップ 、
前記生成された 式の 分配列を参照して、前記 式の 分配列の ごとに、生成された配列 カウント 、配列 を前記 関連 けて、前記 憶装置 に記憶するステップ 、を実行さ る。
明の
0046 明によれば、 デ タ 造のデ タ間の関係を 率的にト スするこ とができる デ タ 造にお て、効率よ 高速に を検索、集計、 する方法を提供することを目的とする。また、 明によれば、上記 デ タ 造にお て、 を検索、集計、 する情報処理装置、および、検索、集計 、 トプ グラムを提供することが可能となる。
明を実施するための 良の
0047 下、 面を参照して、 明の 施の 態に て説明する。
0048 ンピ タ ステム
は、 明の 施の 態に る デ タ 造を取り扱 ンピ タ ステムの ドウ ア 成を示す ックダイヤグラムである。 に示すよ に、この ンピ タ ステム は、通常のものと同様の 成であり、プ グラムを実行するこ とにより ステム および の 分を制御するCP 2、ワ クデ タなど を記憶するR (RandomAccessMemo ) 4、プ グラム等を記憶する (Read On Memo ) 6、 ドディスク等の固定記憶 8 C gをアクセス するためのC O ドライ 2 C O ドライ 2 外部ネットワ ク( ず) 接続された外部端子との間に設けられたインタ ス( )22、キ ボ ド ウス らなる入力 24 C 26を備えて る。CP 2、
4、 O 6、外部記憶 8、1 22、入力 24および 26は、 ス2 8を介して相互に接続されて る。
0049 実施の 態に る、 デ タ 造を記憶装置上に構築するプ グラム、 、 デ タ 造を記憶装置上で変換するプ グラムは、C O gに 収容され、C O ドライ 2 に読取られても良 し、 O 6に 記憶され て ても良 。また、 た C O g ら読み出したものを、外部記憶 8の 定の 域に記憶してお ても良 。 は、上記プ グラムは、ネットワ ク( ず)、外部端子および 22を経て外部 ら供給されるものであ ても良 。 0050 また、 明の 施の 態に る情報処理装置は、 ンピ タ ステム に デ タ 造を記憶装置上に構築するプ グラム、 、 デ タ 造を 記憶装置上で変換するプ グラムを実行さ ることにより実現される。
0051 デ タ
2 は、 デ タの 例である OSデ タの であり、 2 は、こ の デ タのデ タ ( 、トポ ジ ) デ タ値を視覚的に表現 した一例であり、 2 は、同 ソ デ タをX 式で表現した一例である。
2に示されるよ に デ タ 、 ト ド( では、 OS ら始めて、 ノ ドで 分 れして ド( )に至るノ ド ア クの 。 み合わ によ て表現される。 ノ ドには、 報、すなわち、ノ ドのタイフ と、 報、すなわち、ノ ドの値が関連 けられ、 2 、 の例では、X 式の
shopName ランス shopName
に対応したノ ドは、 shopNa e( ) ノ ドタイプ ランス ノ ド値が関連 けられて る。この けは、例えば、ノ ドタイプ ノ ド値を 記述する情報が 納されたノ ド 域 のポインタを、ノ ド に随伴 さ ることによ て実現するこ ができる。し し、 、 デ タ 造の 体的な値の取り扱 方によ て限定されな ことに注意する必要がある。 0052 これに対して、 デ タ 造のデ タの 索、集計、 率的に実行 するためには、 デ タ 造のトポ ジ を表現する手法、すなわち、記憶装 置に展開する手法が非常に重要な役割を果たす。そこで、以下では、主として、 デ タ 造のトポ ジ に関して説明する。
0053 来、このよ な デ タ 、デ タを蓄えたノ ド間をポインタで 続 することによ て表現されて る。し し、ポインタ 、ポインタ値に必然性がな と ㌧ 点がある。 、ある場合には特定のノ ド がある番地( えば、 )に 納され、別の場合には同じノ ド が別の番 ( えば、2 )に 納さ れるので、ポインタ値が一定ではな 、ポインタ値は、本質的にノ ドの アド ス を表現するに過ぎな 。そのため、例えば、ノ ドが深さ 先の 則に従 てポイン タで 続されて る場合、これらのノ ドを 先の 則に従 てポインタで 続 することは困難である。
0054 これに対して、 、 デ タ 造のトポ ジ がア ク ストによ て 記述 能であることに着目した。ア ク ストとは、ノ ド間の親子関係を表すア ク の ストである。 3 ~Cは、ア ク ストを用 た デ タ 造の 現形式の 例の である。 3 の例では、 、 2 3 4 5 6 7 8 9 のノ ド ( )が付与された 2個のノ ド らなるツ デ タ 造が示されて る。 3 は デ タ 造の 体を示して る。 3 にお て、丸形、 ト形などの 形の 央に記載された数字は、ノ ド を表し、矢印 と 印の側に記載された などの数字の対は、ア クを表して る。 、ノ ド は、文字 には限られず、数値、特に、 数でもよ 。 3 は、 ノ ド( o ) ら ノ ド( ) のア ク ストを示し、 3Cは、ノ ド ノ ド eの丸の スト らなるノ ドストを示す。 、 デ タ 造を表現するだけ の 的のためにはノ ドストが無 ても わな 。 理的には、このよ なア ク ス トを用 ることによ て、ノ ド間の関係をポインタによらずに直接的に記述することが 可能である。
0055 係に基 表現
3 ~Cの例では、ア ク ストは、 ノ ドに ノ ドを対応 ける 係に基 て記述されて る。そのため、一 の ノ ド、例えば、 ト・ノ ド に は、 3個の子ノ ド 6 8 が存在するため、ア ク ストの o には、 同じノ ド の が3 出現して る。 まり、 ノ ドを特定しても ノ ドを特定す ることができな ので、ア ク ストは、要素 o の 要素 の 列 により 成される。ア ク ストを使用する場合、あるノ ドは、 o の 、 の 列の 方の 列に出現する。
0056 これに対して、親子関係は、 係によ ても表現することが可能である。こ の 合、ノ ド間の親子関係は、 ト・ノ ド 外のノ ドである ト・ノ ドの と、関連 けられた ノ ド 、の組の配列によ て表現される。この 係によ て 子関係を表現する場合、 係の 合には得られな た 重要な性質がある。 、一 の ノ ドには必ず 一の ノ ドが対応するので、 ノ ドを特定することによ て、この ノ ドに対応する唯一の ノ ドを直ちに特 定することができる。 まり、ア ク ストは、実際には、要素 の だけを準 備すればよ 。この 果として、ア ク ストを 納するための 憶容量が削減される 。この 憶容量の 、メ り のアクセス 数が低減すると 果があるので、 結果的に、処理の 速化が実現できる。
0057 4 ~ 、 明の による 係に基 デ タ 造 の 法の である。 4 は 体の であり、 4 は
係に基 ア ク ストである。 4 のア ク ストは、 ト・ノ ドに対する ノ ドの 域を含んで るので、 ト・ノ ドの ノ ドとして、便宜 が 設定されて る。 、 ト・ノ ドに対応する ノ ドは存在しな ので、 4Cに 示されるよ に、 係に基 ア ク スト ト・ノ ドに対する ノ ドの 域を除 ても わな 。このよ に 明の では、 ト・ノ ド 外のノ ドである ト・ノ ドの に対して、 ト・ノ ドの ノ ドを けることによりノ ド間の親子関係を表現する。そして、 現された子 のノ ド ら親のノ ドの ストを ることでソ のトポ ジ を表現することができる 0058 このよ 係に基 デ タ 、 明の によれ 、 5に示されるよ に、 に示された ンピ タ ステム に、 ト・ノ ドを 含むノ ドに固有のノ ド を付与するノ ド ステッ 5 と、 ト・ノ ド 外のノ ドである ト・ノ ドの に付与されたノ ド 、 ト・ノ ドの の ノ ドに付与されたノ ド ける親子関係 ステッ 5 2と、を実行さ ることによ てR 4上に構築される。このよ に、最初に、文 字 、浮動 数、 数などの 意の 報によ てノ ドにノ ド を付与し 、次に、 現に基づ て 子関係を定義することによ て、 ノ ドのノ ド 子 ら ノ ドのノ ド を引 ( 、 クアップする)ことで トポ ジ を表現することができる。
0059 ノ ド
まし によれば、ノ ド ステップはノ ド として数値を使用し 、より好まし は、連続する 数を使用し、更に好まし は、 又は らの 番を 使用する。これにより、ノ ド 子 ら、そのノ ドに対応する ノ ドのノ ド
納されて る ド スを簡単に取得することができるので、 ノ ドのノ ド 子 ら ノ ドのノ ド を引 理を高速 することができる。
0060 デ タ 造のノ ドにノ ド として きの 号を付与してノ ド 間の親子関係を表現する場合、番号の 則を定めることによ て、その 後の デ タ 造の り扱 が容易になると 点がある。 明によれば 、この 号の 序の 則として、同じ世代のノ ドよりも ノ ドを優先する
ド 、 ノ ドよりも同じ世代のノ ドを優先する ドが利用される 0061 6 ~Cは、 明の により 式の 構造型デ タを整数
式の 構造型デ タ 換する 理の である。 6 には、 ノ ドに1 号が付与された 構造型デ タが示され、 6 には、変換 則が示され、 6Cには、 ノ ドに整数 番が付与されたソ 造型デ タが示されて る。 の 、深さ 先で連続 号を付与する規則であり、具体的には、複数 の ノ ドが存在する場合、長子( の ノ ドに最小 号を付与し、末子( の )ノ ドに大き 号を付与し、 、兄弟ノ ドよりも ノ ドを優先して 号を付与する。 では、 に番号 けをして るが、 に番号 けをしても よ 。
0062 また、 7 ~ 、 明の他の により 式の 構造型デ タを 整数 式の 構造型デ タ 換する 理の である。 7 には、 ノ ドに 号が付与されたソ 造型デ タが示され、 7 には、変換 則 が示され、 7Cには、 ノ ドに整数 番が付与された 構造型デ タが示さ れて る。 の 、 先で連続 号を付与する規則であり、具体的に は、複数の ノ ドが存在する場合、長子( の )ノ ドに最小 号を付与し 、末子( の )ノ ドに大き 号を付与し、 、 ノ ドよりも ノ ドを 優先して 号を付与する。 では、 に番号 けをして るが、 に番号 けをしてもよ 。
0063 このよ にノ ド として 号を使用すると、ノ ド 号 ら直ちに、 、 オ ダ で、そのノ ドに関する格納 納されて る ド スを引 ことがで きる。また、親子関係を 現することによ て、 ノ ド ら ノ ドを直ち に、 、 オ ダ で引 ことができる。
0064 ド
明の によれば、 6Cに示されるよ 先に基 デ タ 、 に示された ンピ タ ステム に、
同じ世代のノ ドよりも ノ ドを優先して、 ト・ノ ドを含むノ ドに固有の 続する 数を付与するノ ド ステップ 、
ト・ノ ド 外のノ ドである ト・ノ ドの に付与された整数の順に、 ト・ノ ドの の ノ ドに付与された整数を並 ることにより 成される配 列を記憶装置に 納する親子関係 ステップ 、
を実行さ ることによ て、記憶装置上に構築される。これにより、ノ ドは深さ 先 で連続 数が付与され、ノ ド間の親子関係は 係の 列によ て表現さ れる。
0065 8は、 明の による 先に基 ノ ド 理の チヤ トである。このノ ド 、 ンピ タ ステム に 初に ト ドに番号を付与するステッ 8 と、
既に番号が付与されたあるノ ドに 一の ノ ドが存在する場合には、 ノ ドに あるノ ドに付与された番号の次の番号を付与するステッ 8 2と、 既に番号が付与されたあるノ ドに複数の ノ ドが存在する場合には、 数 の ノ ドの間の兄 係に従 て、 ノ ドは直上の兄ノ ドの ての ノ ド に番号が付与された後に次の番号が付与されるよ に、一番 の ノ ド ら一番 の ノ ドまで番号を付与する 、 8 3と、
を実行さ る。これにより、深さ ドで同一の ノ ド ら派生した 数の ノ ドの間に 係が定義される。
0066 9は、 明の により 6Cに示された深さ 先の デ タ 造 ら作成された 現に基 親子関係の 列の である。 ツ 又は として されて るよ に、深さ 先で連続 号が付与さ れたノ ドの 子関係を 係に基 て配列 現すると、あるノ ドの ノ ドが連続 域に出現する れた 質が得られる。
0067 明の では、深さ ドの れた 質を利用することにより、配列 ら、あるノ ドに付与された整数以上の値が 納されて る連続 域を抽出するこ とにより、あるノ ドの ての ノ ドを特定する。これにより、あるノ ドの ノ ドを表すノ ド群が配列 の ックとして 得できる。 えば、連続 ックの サイズを とすると、あるノ ドの ての ノ ドを特定するための 、 ( )のオ ダ になる。
0068 既に説明したよ に、ノ ド間の親子関係は、 係の 列の他に、
係の 列によ ても表現できる。 は、 6Cに示された深さ 先の デ タ 造 ら作成された 現に基 親子関係の 列の である。
の ノ ドに対して複数の ノ ドが存在し得るので、親子関係の 、 ノ ドに対する ノ ドの 号が 納されて る 域を示すための と、 ノ ドの 号が 納されて る配列 の の 列により 成される。 えば、配 列 頭 ら2 目の の値は 3 であり、これは、ノ ド に対 する ノ ドの 、配列 の P C 3 降に 納されて ることを表し て る。これにより、ノ ド 、 、 ト・ノ ドに対する ノ ドは、配列 の 頭 ら3個の要 、P C の 、P C の6、 P C 2 の8であること がわ る。
0069 この 現に基 親子関係の 列の め方を説明する。
( )ノ ドの 号が配列 の 大の ( ) 一致する場合、このノ ドに属 する ノ ドは存在しな 。したが て、処理は継続されな 。
(2 に太字で表された ノ ドの 号 ら 値を求める。この は、配 列 の 始点を表す。
(3) 字で表された ノ ド に対応する を求める。この 「 が配列 の である。
0070 えば、ノ ド の ノ ドの 始点は、 、 、 であり、終了 、 、 、 3 2である。したが て、ノ ド の ノ ドは、配列 の ~2 目の 、 、 、6 8である。
0071 は、 現に基 親子関係は、より 純に、 ノ ド 号の 、 対応する ノ ド 号の 、の の 列により 現することも可能である。し し、この 列を利用して 子関係を見 けるためには、 ノ ドの 号を検索しなけ ればならな ので、 、1o ( )のアクセス 間を要するので効率が悪 。
0072 ド
明の によれば、 7Cに示されるよ 先に基 デ タ 、 に示された ンピ タ ステム に、
ノ ドよりも同じ世代のノ ドを優先して、 ト・ノ ドを含むノ ドに固有の 続する 数を付与するノ ド ステップ 、
ト・ノ ド 外のノ ドである ト・ノ ドの に付与された整数の順に、 ト・ノ ドの の ノ ドに付与された整数を並 ることにより 成される配 列を記憶装置に 納する親子関係 ステップ 、
を実行さ ることによ て、記憶装置上に構築される。これにより、ノ ドは
ド 連続 数が付与され、ノ ド間の親子関係は 係の 列によ て表 現される。 0073 、 明の による 先に基 ノ ド 理の チヤ ト である。このノ ド 、 ンピ タ ステム に、
ノ ドが ト ド ら 代目のノ ドである 、 、各世代に含まれるノ ド数を算出するステッ T と、
最初に ト ドに番号を付与するステップ 2と、
ある世代に含まれる全てのノ ドに番号が付与されたならば、 ある世代の次の 世代にノ ドが存在しな なるまで、 の 代に含まれる全てのノ ドに対して、 ノ ドが異なる場合には、 ノ ドに番号が付与された 番に当 ノ ドに番 号を付与し、 ノ ドが同一である場合には、 ノ ド ら派生した 数の ノ ドの間に 係を定義し、一番 の ノ ド ら一番 の ノ ドまで直前 に付与された番号の次の番号 ら連続的に変 する 有の 数を順に付与するス テッ 3と、
を実行さ る。これにより、 ドで同一の ノ ド ら派生した 数の ノ ドの間に 係が定義される。
0074 2は、 明の により 7Cに示された 先の デ タ 造 ら作成された 現に基 親子関係の 列の である。 に示さ れて るよ に、 先で連続 号が付与されたノ ドの 子関係を 係 に基 て配列 現すると、あるノ ドの ノ ドは連続 域に出現する れ た 質が得られる。これは、 ドで連続 号が付与されたノ ドの 子関 係を 係に基 て配列 現すると、 ノ ドに付与された番号が配列 に順序 ( )で出現することによる。
0075 したが て、 明の では、 ドの れた 質を利用することに より、配列 ら、あるノ ドに付与された整数と同じ値が 納されて る連続 域を抽 出することにより、あるノ ドの ての ノ ドを特定する。これにより、あるノ ドの ノ ドを、例えば、二分 索などの 法を用 て検索することが可能であり、 、 ( o ( ) )のオ ダ で検索することが可能になる。
0076 既に説明したよ に、ノ ド間の親子関係は、 係の 列の他に、
係の 列によ ても表現できる。 3は、 7Cに示された 先の デ タ 造 ら作成された 現に基 親子関係の 列の である。 3に示すよ に、一 の ノ ドに対して複数の ノ ドが存在し得るので、親子 関係の 、 ノ ドに対する ノ ドの 号が 納されて る 域を示すため の と、 ノ ドの 号が 納されて る配列 の の 列により 成される。 えば、 の 頭 ら2 目の の値は 3 であり、こ れは、ノ ド に対する ノ ドの 、配列 の P C 3 降に 納 されて ることを表して る。これにより、ノ ド 、 、 ト ドに対する ノ ドは、配列 の 頭 ら3個の要 、P C の 、P C の2、 、 C 2 の3であることがわ る。
0077 この 現に基 親子関係の 列の め方を説明する。
( )ノ ドの 号が配列 の 大の ( ) 一致する場合、このノ ドに属 する ノ ドは存在しな 。したが て、処理は継続されな 。
(2) に太字で表された ノ ドの 号 ら を求める。この 値は、配 列 の 始点を表す。
(3) 字で表された ノ ド に対応する を求める。この
が配列 の である。
0078 えば、ノ ド の ノ ドの 始点は、 、 、 であり、終了 、 、 、 3 2である。したが て、ノ ド の ノ ドは、配列 の ~2 目の 、 、 、 2 3である。
0079 ノ ドおよび
ソ デ タ 造のデ タを検索、集計、 する際に、 デ タの 体の 中で特定の 分を処理の 、例えば、検索の とする場合がある。
、複数のノ ドを含む 定の 分を代表する一 のノ ドを導入することにより、 の 理を 率化する手法を提案した。次に、この 法に て詳述する。
0080 デ タ 造をも デ タにお て、 ト ドに最も近 ノ ドの 値で、 ノ ドおよびそのノ ド ら 分 れして ド( )に至るまで の てのノ ドを表現するこ を考える。ここで、あるノ ドおよびそのノ ド ら 分 れして に至るまでのノ ド群を、部分ソ 称する。また、上記ノ ド ( ト ド)に最も近 ノ ドを頂点ノ ド 称する。
0081 4 は、前述した ドに基 デ タ 造、図 4 は、
デ タ 造を、 現に基 親子関係の 列を示す図である。たと えば、 ノ ド 4は、ノ ド 4 8 9 含み、 ノ ド 6 は、ノ ド 6 含み、また、 ノ ド 3 は、ノ ド 3 7 含む。この よ 、複数の ノ ドからなる配列を、 ノ ドスト 称する。 ノ ドスト により複数の を指定でき、指定された 数の 分、
ソ を部分、
ソ 称する。
0082 下、 ノ ドストを a b ・‥ 表す。ここに、 a 、 b、・‥は、 ノ ド に対応するノ ド である。 ノ ドストを構成する ノ ドの を展開 して、 ノ ドを頂点とする部分、ソ に含まれるす てのノ ドのノ ド を求めることを考える。 められたノ ド ストにお て、あるノ ド
し 存在しな 場合、すなわち、ノ ド が重複して出現しな 場合、こ のよ 部分ソ 群を、 ソ 称する。 でな よ 部分ソ 群 を、 ソ 称する。
0083 分、ソ 群であ ても、 ソ 群であ ても、 ノ ドストによ て、 ノ ドおよびその ノ ド らなる部分ソ 群を特定することができる 。たとえば、 5 に示すよ に、 ノ ドスト 4 6 3 により、 5 に示すよ 部分ソ ( 8 6 3 7 )が特定される。
0084 ノ ドストにより特定される部分ソ 群は、検索、集計、 、集合 算の 象とすることができる。
0085 たとえば、 5 、 の例で ト の 、
ノ ドを含む 分ソ を検索すると、 6 に示すよ 部分 群が得られる。 6 は、この ソ 群を表わす ノ ドストである。
0086 また、各部分ソ に属するノ ド数を集計すると、 7 に示すよ になる。 7 にお て、 7 は ノ ドスト、 7 2 、 ノ ドにより特定さ れる部分ソ に属するノ ド数を示す 列である。
0087 たとえば、 として、各部分ソ に属するノ ド数による 考えることがで きる。 8 、目 80 は、 された ノ ドスト、 8 2 、 ノ ドストにより特定される部分ソ に属するノ ド数を示す 列である。また、 8 は、部分ソ がノ ド数にしたが て された状態を示す。
0088 さらに、複数の ソ 群の間の集 算として、論理 に て説明する。
4 、 に示すソ にお て、 g に示す部分ソ ( 応する ノ ドス トを g に示す)と、 g に示す部分ソ ( 応する ノ ドストを 9 Cに示すとの 考える。
0089 g における、ノ ド 4の ノ ドにて特定される部分ソ 9 と 、 g における、ノ ド の ノ ド にて特定される部分ソ 9 とを 較すると、部分、ソ 9 は、部分、ソ 9 2に包含される。 g に おける部分ソ 9 2 包含 係をも よ 部分ソ は、 g に示す部分ソ 群には存在しな 。また、 g におけるノ ド 3 の ノ ドにて特定 される部分ソ 9 3と、 g における、ノ ド 7 にて特定される部分 9 3とを 較すると、部分、ソ 9 3は 、
、部分ソ 9 3に包含される。その 果、論理 算の 果を示す ノ ドストは、 2 に示すよ に、 4 7 なる。 2 は、論理 算の 果に対応する部分ソ 群である。
0090 6 ~ 2 により 解できるよ に、 ノ ドスト( 計にお ては、これに 加えて、 ノ ドスト 同一サイズの、集計 (ノ ド数)を 納する )によ て、それぞれの 理や演算の 果を表わすことができる。
0091
ノ ドおよびそのノ ド ら 分 れして に至る部分ソ 群にお ける、ノ ドおよびその間の接 係を、本明細書にお て トポ ジ 称する。 た 、
とえば、 2 に示すソ があり、この 2 の 、深さ ドの 現に基 親子関係の ( 2 面にお ては、 C P 表記するが、明細書にお ては、以下、 C P 称する。)により わされる と考える。
0092 ノ ドスト2 2により特定される部分ソ を考える。 22にお て、部分 ~ ( 22 ~22 3)が、 れぞれ、 2 の ノ ドスト2 2により される部分ソ に相当する。これら部分ソ 群にお て、部分 ( 22 )および ソ ( 22 2 )は、そのノ ドおよびノ ド間の接 係にお て同一、 まり、トポ ジ が同一である ことができる。また、 ノ ド2 2で表わされる部分、ソ 群には、2 類のトポ ジ が含まれる ことが できる。
0093 このよ にトポ ジ を 較し、トポ ジ の 一性を判断するためには、上記
トポ ジ を標準化して表現するのが望ま 。 下、部分ソ のトポ ジ の に て説明する。ここに、標準 されたトポ ジ の 現を、本明細書 にお て 称する。
0094 23 に示すよ に、部分ソ ( 22 ) 部分ソ ( 22 2
)とは、明ら に同一のトポ ジ を有して る。し しながら、C P 2 3を 参照すると、部分ソ を表現する部分の 、 2 2であり、その 方、部 分 を表現する部分の 、 7 8 8 であり、これらは一致しな 。そこで、 部分、ソ を、その ノ ドを、 ト ドとして、深さ ドの
現に基 親子関係の として表現すれば( 23 の 23 23 2 )、 配列の 素を 較することで、双方のトポ ジ が同一であると判断することができる 。このよ に、部分、ソ を、その ノ ドを、 ト ドとして、深さ ド の 現に基 親子関係の として表現することを標準 称する。 0095 下、標準化の際に実行される 理に て説明する。 準化は、 略的には、 それぞれが特定のノ ドおよびその ノ ドを含む 上のノ ド群である部分 ソ を表わすために、 定のノ ドを頂点ノ ドとして、そのノ ド
納した ノ ドストを、記憶装置 に生成するステップ 、
ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれにより 特定される部分ソ を表す、 の の 分を特定するステップ 、
の の 分のそれぞれに て、部分ソ の ノ ドが、 ト ドとなるよ に、ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を、記憶装置 成するステップ 、を備える。ここで、 の とは、C P 列を 。
0096 より 細には、 24に示すよ に、CP 2は、R 4などの りに 納された C P 列を参照して、 C P 、処理 象となる部分ソ に相当する部 分配列を特定する(ステッ 24 )。より具体的には、C P 列にお て、部分ソ の ノ ドが示す 置を初期 としたポインタを一 ず 下方(ノ ド が増大する方向)に移動し、ポインタが示すC P 列の値が、 ノ ドに対応す るC P 列の よりも大きければ、そのポインタが示すノ ド に対応するノ ドは、部分ソ に含まれる( 25の 25 )。
0097 で、CP 2は、部分配列にお て、 ノ ドの親のノ ド を示す、 先頭の 素を、 に変換する(ステップ24 2)
0098 で、CP 2は、2 目以降の 素の値 ら、それぞれ、 ノ ドのノ ド 子の値を セットとして差し引 た値を算出し、これを、 素の として、部 分配列に 納する(ステッ 24 3)。ステッ 24 3の 、部分配列にお て2 目以降の ての 素に対して実行される(ステッ 24 4 4 5 )。これにより 、 25の例では、 7 8 8 素を持 て た部分配列が、標準 により
分配列に変換される( 25 )。CP 2は、標準化された部 分配列を、 4などの りに 納する。
0099 なお、 24の 理にお て、ステッ 24 2を 、ステッ 24 3にお て、部 分配列の 頭の 素 ら、順次、その値に頂点ノ ドのノ ド を減算しても 。
0100
また、それぞれの ノ ドが、 の ノ ドを持 を示す 列を考えることがで きる。この 列を昇 式の 称する。 式の 列には、以下のよ 利点 がある。
( ) 式の 列にお ては、 ノ ドの に昇 で並 られて るため、 ト ドに近 側 ら ノ ドのノ ド が出現し、 式相互の では、より ト ドに近 側 ら 較される。
2 の 式の 列を先頭 ら 較すると、より トに近 側 ら 較されること になる。
(2) 効率的に行える。
0101 に、 の ノ ドに2 上の子ノ ドが付属することが多 場合に、配列の サイズを小さ することができる らである。
0102 2に、 の 比較しやす ことによる。
0103 このため、 、後述するトポ ジ の 〒 のに する。特に、トポ ジ の する最大の 、 ト・ノ ドに近 側 ら記述さ れるため、より重要である ト・ノ ドに近 側の特長が優先されて、トポ ジ の 小が決定される らである。
0104 述した 式の 列を、記憶装置 に構築するためには、
同じ世代よりも ノ ドを優先して、 ト・ノ ドを含むノ ドに、ノ ド として 、固有の 続する 数を付与するステップ 、
ノ ドをも ノ ドに て、それぞれのノ ド 、 ノ ドをも ノ ドを ノ ドとする ノ ドの 現数との組を、ノ ド 子の順に配置した 式の 列を、記憶装置 に生成するステップ 、を備えることで実現できる。 0105 また、C P ( の ) ら 式の 列を生成するためには、 の ノ ド 、 の 列にお てノ ド が出現する数を示す出現 数との組を、 の ノ ド 子の順に配置した 式の 列を、 記憶装置 に生成するステップを備えることで実現することができる。
0106 26は、 式の 列を説明するための図である。 26にお て、標準 され た部分ソ ( 22における部分ソ Cに相当)26 の 現を表わす 子関係の ( されたC P )は、符号26 2に示すよ なものとなる。 P 2は、C P 列の 素を参照して、出現 (ノ ド ) 出現 数との組 ら なる 列を作成する(ステッ 26 )。ここで、集計 列にお て、出現
納される。これにより、集計 26 3ができる。 に ては、 常に、その 現数は であるため、CP 2は、 と 現数 と の組を配列 ら削除する(ステ プ2622。このよ 処理の 果、集計 26 4を 得ることができる。CP 2は、得られた集計 26 4を、R 4などの りに する。
0107 されたC P と、 式の とは に対応し、相互に変換 することができる。 されたC P 列 ら集計 列 の ( 列の )は上述した通りである。 列 ら されたC P 列 の ( 列 に基 C P 列の )に て、以下に述 る。
0108 27にお て、 27 は、出現 と出現 数の組 らなる 式の
27 2を用 て表現され得る。また、これは、C P 27 3を用 ても表現され 得る。 列 らC P 列 の 理にお ては、 念を導入 する。 とは、C P 列にお て、先頭の (ノ ド に相当する格納 の )を除き、 自己の より だけ な 格納 を持 よ 、連続した ックを 。たとえば、C P 列にお て、符号27 7 2に て ックが、主流となる。 27 にお て、上記 27 7 2で示す ックを構成するノ ドを連結するア クを破線で示して る。また、 自己の
より だけ な 格納 をも ノ ドでな 場合は、主流の ノ ドであ ると考えることができる。
0109 列 らC P ( の ) の 、 略的には、
集計 の 現数に基 き、ノ ド 号とする の 列の ための 域を、記憶装置 に確保するステップ 、
集計 および の 列のそれぞれにお て、 のポインタおよび 2のポイ ンタを初期 置に配置するステップ 、
集計 、第 のポインタが示すノ ド 、 2のポインタが示す 号 ら を減じた値とが一致する場合に、 のポインタが示すノ ド 、 の 列にお て、 2のポインタが示す 号に対応する として 納 するとともに、集計 、第 のポインタが示す出現数を だけ減じ、 、 のポインタおよび 2のポインタを、その 号が増大するよ に移動さ るス テップ 、
集計 、第 のポインタが示すノ ド 、 2のポインタが示す 号 ら を減じた値とが一致しな 場合に、集計 列にお て、 のポインタ に初期的に配置される 3のポインタを、その 号を減じるよ に移動さ て、最初に、集計 列にお て、その 現数が とならな 位置を特定して、 3のポインタが示すノ ド 、 の 列にお て、 2のポインタが示す 号に対応する として 納するとともに、集計 、第3のポインタが示 す出現数を だけ減じ、 、 2のポインタを、その 号が増大するよ に移動さ るステップ 、を備えて る。
0110 28は、集計 列 らC P 列 の 理を示す チヤ トである。 2 8に示すよ に、CP 2は、 4などの 上に、C P 列のための 域を 確保し、C P 列の 頭の 素として を 納する(ステッ 28 )。 で、 CP 2は、 式の 列の 頭に第 のポインタをセットするとともに、C P 列の2 目の ( )に 2のポインタをセットする(ステッ プ28 2)。 29 は、ステッ 28 およびステッ 28 2の 理が終了した状態を 示す図である。 29 および 明に引用する図面にお て、 のポインタは 表記され、また、 2のポインタは 2 表記される。また、後述する 3 のポインタは、 3 表記される。また、C P 列の 頭の 素として が 納される。
0111 CP は、C P 列にお て、 2のポインタが示す (ノ ド
)に を減じた値が、 のポインタが示す の 否 を判断する(ステッ 28 3)。ステッ 28 3でイ ス(Yes) 判断された場合には、C P 2は、 のポインタが示す の 、C P 、第2のポイ ンタが示す 置に 納する(ステッ 28 4)。 で、CP 2は、 のポインタが 示す の 数を だけ減じるとともに(ステッ 28 5)、 のポイン タおよび 2のポインタを、 だけ下方に移動する( まり、ポインタが示す
号が だけ増大するよ に移動する)(ステッ 28 6)。 2のポインタの 置 が、C P 列の 尾を超えて なければ(ステッ 28 7で (No))、ステッ 28 3に戻る。
0112 29 に示すよ に、 2のポインタ( 2)が示すC P 列の
であり、その値に を減じると、 のポインタが示す の 等し 。したが て、ステッ 28 3でイ ス(Yes) 判断されて、 のポインタが示す の が、C P 、第2のポインタが示す 置に 納され、 、集計 、第 のポインタが示す出現 数が だけ減じられる。その 、 第 のポインタおよび 2のポインタが、それぞれ、格納 号が だけ増大す るよ に下方に移動される。
0113 3 、 は、 29 に示すC P 列 の値の格納に引き続 理の 況を示 す。これらの 合にお ても、ステッ 28 4~28 6の 理が実行される。
0114 31 の 合には、 2のポインタが示すC P 列の 4であり 、その値に を減じると 3 となる。その 方、第 のポインタが示す の
7であるため、これらは一致しな (ステッ 28 3で (No)) 0115 この 合には、CP 2は、集計 列の 置を特定する 3のポインタを生成し、そ のポインタを、 のポインタの 置 ら、 ら て( まり、格納 号を減じる方 向に移動さ )、最初に、 となるよ 位置を特定する(ステッ 28 8 )。 3 の例では、 3のポインタを、 のポインタの 置 ら、 だけ
号を減じる方向に移動さ ると、当議第3のポインタが示す出現 、 2 となる ため、 3のポインタは、この 置で停止する。
0116 で、CP 2は、 3のポインタが示す の 、C P 、 第2のポインタが示す 置に 納する(ステッ 28 9) P 2は、 3のポインタ が示す の 数を だけ減じるとともに(ステッ 2 )、 2のポイ ンタを、 だけ下方に移動する( まり、ポインタが示す 号が だけ増 大するよ に移動する)(ステッ 28 )
0117 3 、 、 に示す場合には、ステッ 28 3で (No) 判断され、ステッ
28 8~28 が実行され、C P 、第2のポインタが示す 置に、 3のポ インタが示す の 納される。
0118 き続 33 、 に示す場合には、ステッ 28 3でイ ス(Yes) 判断され、ステ 、 28 4~28 6が実行され、C P 、第2のポインタが示す 置に、 の ポインタが示す の 納される。さらに引き続 34 、 に示す 。
場合には、ステッ 28 3で (N ) 判断され、ステッ 28 8~28 が実行され、 C P 、第2のポインタが示す 置に、 3のポインタが示す の 納される。たとえば、 34 に関して、ステッ 28 8~28 の 理の 、 第2のポインタは、C P 列の 尾を超えた位置に移動する。このため、この 点で 処理は終了する。
0119 このよ にして、 式の 列に基 て、標準 されたC P 列を生成 することが可能となる。また、 式の 、標準 されたC P 、 表現形態が異なるだけで、同じ情報0ソ の 造の を含むことがわ る。した が て、以下に説明する検索、集計、 理にお て、使 易 方を採用して、 処理を進めることが可能となる。
0120 式の
述した 式の 列にお ては、末端のノ ド( ド)のノ ド 、出現 として出現しな 。たとえば、 48 に示すソ は、 式の 列を利用して、 48 のよ に表わされる( 48 )。 48 ら 解で きるよ に、この にお て、 のノ ド 、 3 、 5 、 6 、 および となる。 48 に示す部分配列の の 目を参照すると、上記ノ ド 3 、 5 、 6 、 および は出現して な 。また、 48 に示 す部分配列を参照すれ 解できるよ に、出現 数の 、 てのノ ド数 に等 。
0121 下、昇 式の の 囲の 定、および、 式の ソ の 式に て説明する。
0122 式の 列にお て部分ソ を特定する方法は、 略的に、
集計 列にお て、 ノ ドのノ ド 、 ノ ド に関連 けら れた出現数とに基 き、少な とも子孫ノ ドとなるノ ドのノ ド を初期的に 算出するステップ 、
集計 列にお て、格納 号が増大するよ に、ノ ド を参照 、ノ ド に対応するノ ドが、 ノ ドの ノ ドとなる 否 を判断するととも に、 列のノ ド に関連 けられた出現数を参照して、子孫ノ ド のノ ド を更新するステップ 、 ノ ドの ノ ドとなると判断されたノ ドのノ ド と関連 けられた 出現数との組を、部分配列として記憶装置 に生成するステップ 、を備える。
0123 49は、 式の 列に基 て、ある ノ ドの ソ を特定す る 理を示す チヤ トである。 49に示すよ に、CP 2は、R 4など りに記憶された ノ ドスト ら、 ノ ドを取り出す(ステッ 49 )。
で、CP 2は、集計 列にお て、取り出した ノ ドが示す出現 および出現 数を参照して、初期的な 数十 を算出する(ステップ49 2)。この 、以下のよ 意味を有する。
0124 式の 列にお て、出現 、ノ ド に相当し、 、出現 、C P 列にお て、そのノ ド 現した を示す。したが て 、少な とも、 ノ ドストにお て、次の頂 ノ ドのノ ド ( 換え れば次の部分、ソ の ノ ドのノ ド )、少な とも 以上であるこ とがわ る。
0125 なお、後述するステッ 49 8で明ら になるよ に、集計 列にお て、 値 の次の行の出 (ノ ド )が、この 以上の番号を持たな 場合、さら に の 数を加算することで での を補正することが出来る。このよ に の に満たな 場合、 に次 の 数を加算し、さ らにその次の行の出 と比較することを繰り返す ちに、 以上の出 を発 見することで、部分、
ソ を特定することが出来る。
0126 5 ~ 、 48 に示すソ にお て、ある ノ ド(ノ ド 2) の部 ソ を特定する 理の 体例を説明する図である。 5 は、集計 列に お て、 ノ ドに対応する格納 号を、ポインタがさして る状態を示す。
5 ~Cにお て、黒 ノ ドに対応する格納 号を指して る 。また、 きの 、後述する移動ポインタを示す。
0127 この 態にお て、上述した 、 2 2 5 となる。したが て、次の部 分、ソ の ノ ドのノ ド 、 5 上であることがわ る。
0 28 で、CP 2は、移動ポインタを、 ノ ドが示す 号に配置する( ステッ 49 3)。この 置が移動ポインタの となる。CP 2は、移動ポイン 、次の格 号に移動し(ステッ 49 4)、集計 列にお て、移動ポイン タが示す出現 を参照する(ステッ 49 5) CP 2は、ステッ 49 2で 出した 、ステッ 49 3で参照した出現 とを 較し、 であれば (ステッ 49 6でイ ス(Yes))、移動ポインタが示す 号の に関す るノ ドが ノ ドに属すること、を示す 報を生成し、メ 中に記憶する(ステッ 49 7)。たとえば、上記 報を 納するために、上記 納した配列を 中に生成しても良 し、 は、集計 列にお て、上記 報として、格納 号に関連 けて をセットしても良 。
0129 その 、CP 2は、 、 もとの ポインタが示す出現 に更新 する(ステッ 49 8)
0130 5 に示すよ に、移動ポインタが 3 を示す 態では、その
4となる。 5 出現 4とを 較すると、 5 4であ るため、ステッ 49 4でイ ス(Yes) 判断され、出現 4、 まり、ノ ド
4であるノ ドは、ノ ド 2である ノ ドに属し、その 報が、メ 中に記憶される。また、 、 (もとの ) (ポインタが示す出現 ) 6 に更新される。
0131 ステッ 49 6でノ ド 断された場合には、 ノ ドに関する部分ソ の 終了する。 5 Cに示すよ に、移動ポインタが 4を示 す 態では、その 7 となる。 新された 6 出現 7 とを 較 すると、 6 出現 7であるため、ステッ 49 6で (N ) 判断される。よ て、 ノ ド 2 の部 ソ は、符号5 で示される範囲 特定される。
0132 次に、 式の 列によ て表わされる 部分ソ の 式に て説明する。これは、集計 列にお て、全ての 値 ら、先頭の 号の を減じればよ 。 5 は、 5 ~Cに示す 理で特定された、部分 ソ の 式の 列を示す図である。ここでは、 式の ( 5 )の の ら、先頭の 号の 2 を減じる( 5 2 )。これにより、標準 された 式の 列を得ることができる( 5 3 )。 0133 ノ ドにおける 式の 列を考える。 48 に示す例にお て、末 端ノ ドのノ ド 、 3 、 5 、 6 、 および となる。したが て、末 端ノ ドのそれぞれを 式の 列で表わすと、 5 の 52 の に なる。たとえば、最初の 、出現 3 に ては( ノ ドであるため) 、その 数が (ゼ ) であることが示される。ここでも、標準 にお ては、そ れぞれの 列にお て、出現 に出現 を減じる、 まり、出現 (ゼ ) とす れば良 ( 52 2 )。
0134 トポ ジ
ソ 体にお て、 は、ある ノ ドにより特定される部分ソ にお て 、 は部分ソ 同じ 様、 まり、同一のトポ ジ を有する部分 を見出すことを考える。たとえば、 35 に示すソ にお て、 35 に示す 、ソ 同一のトポ ジ を有する部分、ソ を探すと、 35 にお て点線で示す 部分ソ を特定することができる。これを、トポ ジ 称する。トポ ジ 索 にお て、その 、検索により特定された部分ソ の ノ ドのノ ド を含む ( ノ ドスト)で表わすことができる。 35 、 の例では、検 索 、 7 となる。
0135 体 ら、検索 となる と同一トポ ジ の部 ソ を見出す場合 も、 ノ ドストにより特定される部分ソ 群 ら、検索 となる と同一ト ポ ジ の部 ソ を見出す場合も、ア ズムとしては同一であるため、以下の 明では区別することな 。
0136 なお、以下の 明にお て、検索 となる 、検索トポ ジ とも する。ト ポ ジ の 、 略的には、
検索 となる を表現する検索 として、ノ ド間の親子関係を表現 するための、 ト ド 外のノ ドである ト ドの に付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する配列を、記憶装置 に生成するステップ 、
検索 ノ ド セットを与え、オ セットが与えられたノ ド 、オ セットにしたが た の の 分に含まれる、対応するノ ド とを 較するステップ 、
比較により全てが一致した の の 分のノ ド を含む、検索 果を 示す ノ ドストを、記憶装置 に生成するステップ 、を備える。
0137 36は、本実施の 態に るトポ ジ 理を示す チヤ トである。
36に示すよ に、CP 2は、 4などの りに 納された検索トポ ジ を 表わすC P 列を参照して、先頭の 素を削除した、検索 列を生成する(ス テッ 36 )。 で、CP 2は、検索 列の値に加算する セット値を (ゼ ) に初期 (ステッ 36 2)、 、検索 、検索 象となるC P との間の比 をす き位置を示すポインタを初期 置に配置する(ステッ 36 3)。ステッ 36 3にお ては、ポインタは、C P 、オ セット値に を加え た位置に、初期的に位置する。たとえば、 に示すよ に、初期的には、 位 置を示すポインタは、C P 、 オ セット ( ) を示す。このため、後 述するよ に、検索 列の 頭の 素が、ポインタの C P 列の
の 素と比較されることになる。
0138 CP 2は、検索 列の 素のそれぞれに セット値を加算し、 、オ セット値が加算された検索 列の 素と、ポインタに示されるC P 列の 、当 列の 素に対応する要素とを 較し(ステッ 36 4)、それぞ れの 素が一致する 否 を判断する(ステッ 36 5)。ステッ 36 5でイ ス(Yes ) 判断された場合には、CP 2は、比較 象とな たC P 列の 分の 尾のさ らに次、 まり、末尾の 号に を加えた格納 号の 素を参照 、 素が、比較 象とな たC P 列の 分により特定される と同一 ッ クに属する 否 を判断する(ステッ 36 6)。 体的には、CP 2は、比較 象 とな たC P 列の 分の 尾のさらに次の要素が、オ セット 以上である 否 を調 、オ セット 以上であれば、同一 ックに属すると判断する。 0139 ステッ 36 6で (N ) 判断された場合には、オ セット値を、検索 果を 納 するための 上に生成した ノ ドストに 納する(ステッ 36 7)。その 、 CP 2は、ポインタを だけ 、 まり、格納 号が だけ増大するよ に移動するとともに(ステッ 36 8)、オ セット値を だけ増大さ る(ステップ36 9)。ポインタの 動にともな て、新たにC P 列にお て、比較 象となる部分 が存在する 否 を判断し(ステッ 3 )、 在する場合(ステッ 36 でイ ス( Yes))には、ステッ 4に戻る。
0140 37 の (オ セット の )では、検索 列の 素と、比較 象とな たC P 列の 分の ( ~ 4の )とは部分的に一致しな ため、ステッ 36 5で (N ) 判断される。 37 の (オ セット の ) では、検索 列の 素と、比較 象とな たC P 列の 分の (
2~ 5 の )とは全て一致する。し しながら、比較 象とな たC P 列の ( 5)のさらに ( 6)の 素が、 であ り、オ セット 上である。したが て、ステッ 36 6でイ ス(Yes) 判断される。
38 、 の (それぞれ、オ セット 2 3の )にお ても、ステッ 36 5で (N ) 判断される。 39の (オ セット 7)の例では、ステッ 36 5でイ ス( Yes)、ステッ 36 6で (No) 判断され、その 果、オ セット 7 が ノ ド ストに 納される。なお、 39の例では、比較 象とな たC P 列の (
)のさらに次の要素が存在しな ため、 ックの 続の ( ま り、次の要素と セットとの )は不要である。
0141 他のトポ ジ
たとえば、トポ ジ に加えて、そのノ ドの ( 2 を参照して説明したノ ドの )の 、検索条件とする場合も考えられる。この 合には、上 記 理にお て、上記ステッ 36 6の後に、比較された 素に対応するノ ドの タイプを 較し、 タイプが一致した場合には、オ セット値を頂点ノ ドストに 納すればよ 。
0142 式の 列を利用したトポ ジ
トポ ジ 、 式の 列を利用しても実現できる。 本的には、検 索 となる ( トポ ジ )を表現した、標準 された 式の
、 の 式の とを 較する。 53は、本実施の 態に る 式を利用したトポ ジ の 理を示す チヤ トである。 53の 、 36の (C P 列を用 たトポ ジ )とほぼ同様である。 36の 理にお ては、比較 分の次の要素が、 分と同一 ックに 属する ど の (ステッ 36 6)がされて たが、 式の 列を利用 すると、このステップを することができる。
0143 式の 列を利用したトポ ジ 、 略的には、
検索 となる を表現する検索 として、 ノ ドをも ノ ドに て、それぞれのノ ド 、 ノ ドを ノ ドとする ノ ドの 現数との組 を、ノ ド 子の順に配置した 式の 列を、記憶装置 に生成するス テップ 、
検索 ノ ド 、オ セットを与え、オ セットが与えられたノ ド 、オ セットにしたが た集計 の 分に含まれる、対応するノ ド とを 較するステップ 、
比較により全てが一致した集計 列の 分のノ ド とその 現数とを含む、 検索 果を示す 列を、記憶装置 納するステップ 、を備える。
0144 より 細には、CP 2は、R 4などの りに 納された検索トポ ジ を表 わす 式の 列を参照して、検索 列を生成する(ステッ 53 )。こ の 、標準 された 式の 列である。 で、CP 2は 、検索 、検索 象となる との間の比較す き位置を示すポインタ を初期 置に配置する(ステッ 53 2)。ステッ 53 3にお ては、ポインタは、集 計 列の (ゼ ) の 置に配置される。また、CP 2は、検索 列の に加算する セット値を、検索 列の 頭の および セット値の和と、比較 分の 頭の とが一致するよ に、初期 する(ステ 、 53 3)。 54 の 合、検索 列の 頭の (ゼ ) であり、 、比較 分の 頭の (ゼ ) であるため、オ セット値も ( となる。
0145 で、CP 2は、検索 、ポインタで示される 列の
分とを 較する(ステッ 53 4)。ここでは、ポインタで示される 置が、比較 分の 頭となる。
0146 たとえば、 55 に示すよ に、初期的には、検索 列の ) と、集計 列の 0(後者の (ゼ )は セット ) とを える よ に比較 置が決められる。
0147 で、CP 2は、検索 列の のそれぞれに セット値を加算し、 、オ セット値が加算された検索 列の 、および、出現 数の 、 比較 分の 応する 置の 、および、出現 数の とを 較する(ステ 、 53 4)。それぞれの 素の てが一致した場合には(ステッ 53 5でイ ス(Ye 、オ 、 値を、検索 果を 納するために 上に生成した ノ ドリス に 納する(ステッ 53 6)。その 、CP 2は、ポインタを だけ 、 まり、 格納 号が だけ増大するよ に移動するとともに(ステッ 53 7)、オ セッ ト値を、検索 列の 頭の および セット値の和が、ポインタ 動後の 分の 頭の と一致するよ に増分する(ステッ 53 8)。ポインタ の 動にともな て、新たに集計 列にお て、比較 象となる部分が存在する 否 を判断し(ステッ 53 9)、 在する場合(ステッ 53 9でイ ス(Yes))には、ス テッ 53 4に戻る。
0148 54 の (オ セット の )では、検索 列にお て セット値が加 えられた出現 、比較 分の とは一致するが、出現 数が一致しな 。したが て、ステッ 5で (No) 判断される。 54 の (オ セット の )にお ても、出現 一致するが、出現 数が一致しな 。さらに、 の (オ セット 2の )では、出現 が不一致となる。
0149 これに対して、 55 の (では、出現 および出現 数が全て一致する。したが て、検索 果を表わす ノ ドストは、 7 となる。
0150 式の 列を利用すると、検索 比較 分との間の比
理の 数を少な することができる。また、比較 理にお て、同一 ックの
( 36のステッ 36 6)を することができる。
0151 トポ ジ
次に、トポ ジ 計に て説明する。トポ ジ とは、以下のよ 2 の 様を考えることができる。
( )トポ ジ を次元として、 にお て、そのトポ ジ 種の件数を求める。 (2)トポ ジ を次元として、 にお て、そのトポ ジ 種に属する指定の ( たとえば、年齢、体重など)の 数、最大値、最小 、合計 、平均値などを求める。 0152 本的に、 ( )の ( のトポ ジ 称する。) 計を実行すれば、 (2)の
( 2のトポ ジ 称する。)、 まり、そのトポ ジ 種に属する 度の 容易である。したが て、まず、 のトポ ジ 計に て説明する。
0153 ここで、測度に て 単に説明する。 2 、 を参照して説明したよ に、実際 のノ ドにお て、 報、すなわち、ノ ドのタイプ 、 報、すなわち 、ノ ドの値が関連 けられて る。 ノ ドにおける、 (ノ ドのタイ プ)および (ノ ドの 際の )が、上記 度になる場合がある。
0154 のトポ ジ
4 に示すソ を考える。ここで、 ノ ドスト 2 7 8 で特定される部分 、ソ 群にお て、トポ ジ ごとの 数を求めることを考える。その 果、トポ ジ 4 が、 ノ ドスト 2 8 で示される2 の ノ ドとして現れる。また、ト ポ ジ 4 2は、 ノ ドスト 7で示される の ノ ドとして現れる。した が て、トポ ジ 4 が2 、トポ ジ 4 2が トポ ジ 果が得 られる( 4 )。
0155 トポ ジ 、 略的には、
部分ソ の ノ ドを 納した ノ ドストを、記憶装置 に生成する 、プ 、
ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれにより 特定される部分ソ を表す、 の の 分を特定するステップ 、
の の 分のそれぞれに て、部分ソ の ノ ドが、 ト・ノ ドとなるよ に、ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を、記憶装置 に 生成するステップ 、
生成された 2の 列を参照して、 2の 列の ご に、生成された配列 カウント 、配列 を第2の 列の 関連 けて、記憶装置 に記憶するステッ 、を備える。
0156 より具体的に、本実施の 態に る情報処理装置における のトポ ジ
理に て説明する。 4 に示すよ に、CP 2は、 4などの りに記 憶された ノ ドストを参照して、その ( ノ ドのノ ド )を取り出す( ステッ 4 )。 で、C P 2は、C P 、 ノ ドで指定される部分 の 囲を特定する(ステッ 4 2)。これは、たとえば、 42に示す 理により実 現できる。
0157 42に示すよ に、CP 2は、まず、C P 、 ノ ドのノ ド
を加えた格納 号が示す 素を参照する(ステッ 42 )。 で、参照さ れたC P の 素が、 ノ ドのノ ド 以上である 否 が判断され る(ステッ 42 2)。ステッ 42 2でイ ス(Yes) 判断された場合には、この 素に 関する格納 号に相当するノ ドは、 ノ ドで特定される部分ソ に属す るため、CP 2は、この 号を 中に一時的に記憶する(ステッ 42 3)。 で、CP 2は、C P の す き 号を 、
号が、C P 列の 尾の 号を超えな 限り(ステッ 42 5 で (No)) CP 2は、ステッ 42 2~42 4の 理を繰り返す。これにより、 ノ ドの ソ に属するノ ドのノ ド に対応する格納 号を取得 することができる。
0158 で、CP 2は、C P 、 ノ ドで指定される部分ソ に相当する 部分配列を標準 式に変換する(ステッ 3)。 、 24に示す 理を 実行することにより実現される。
0159 CP 2は、全ての ノ ドに て、ステッ 4 2および4 3の 理を実行 し(ステップ4 4 )、 ノ ドに て、標準 された部分配列を得てお 。 られた部分配列は、R 4など りに記憶しておけば良 。 で、CP 2 は、標準 式の 分配列を 較して、部分配列ごとに、幾 在した をカウントす る(ステッ 4 5)。この 分配列およびカウント値が、 のトポ ジ 計による 果となる。
0160 なお、 体を処理 象として、 のトポ ジ 計を実施する場合には、 ノ ドストに 全てのノ ド 納すればよ 。
0161 43 ~Cは のトポ ジ 理の例を示す図である。 43 ~Cのそれ ぞれにお て、 ノ ドで指定される部分ソ の ( 43 43 432 )の 定、標準 式による部分配列( 43 2 43 2 4322 )の 得に より、標準 式による部分配列 が2 、部分配列 が だけ 在する 果が得られる。
0 62 2のトポ ジ
2のトポ ジ 計にお ては、 のトポ ジ 計の 果 ら、分類された部 分配列ごとに、さらに、指定された 度の 数や、指定された値に関する演算 ( 大値、最 、値、合計 、平均値など)を求めればよ 。
0163 式の 列を利用したトポ ジ
トポ ジ 、 式の 列を利用しても実現できる。 4 に示す 、 式の 列を用 ると、 56のよ に表すことができる。 4 に 示す と同様に、 ノ ドスト 2 7 8 で特定される部分ソ 群にお て、トポ ジ ごとの 数を求めることを考える。
0164 式の 列を利用したトポ ジ 、 略的には、
部分ソ の ノ ドを 納した ノ ドストを、記憶装置 に生成する 、プ 、
集計 列にお て、 ノ ドのノ ド 、 ノ ド に関連 けら れた出現数とに基 き、少な とも子孫ノ ドとなるノ ドのノ ド を初期的に 算出するステップ 、
集計 列にお て、格納 号が増大するよ に、ノ ド を参照 、ノ ド に対応するノ ドが、 ノ ドの ノ ドとなる 否 を判断するととも に、 列のノ ド に関連 けられた出現数を参照して、子孫ノ ド のノ ド を更新するステップ 、
ノ ドの ノ ドとなると判断されたノ ドのノ ド とおよび け られた出現数との組を、部分配列 して記憶装置 に生成するステ プ 、
部分配列にお て、そのノ ド 子 ら、先頭のノ ド を減じて、標準 式の部分配列を、記憶装置 に生成するステップ 、
生成された 式の 分配列を参照して、標準 式の 分配列の ごとに、 生成された配列 カウント 、配列 を種別 関連 けて、記憶装置 に記憶する ステップ 、を備える。
0165 57は、 式の 列を利用したトポ ジ 計の 理を示す チヤ トである。 57に示すよ に、CP 2は、R 4などの りに記憶した ノ ドストを参照して、その ( ノ ドのノ ド )を取り出す(ステッ ) 。 で、CP 2は、処理 象とな た集計 、取り出された ノ ドの ソ の 囲を特定する(ステッ 57 2)。これは、 49の 理を実行することに より実現される。ステッ 57 2により、部分ソ の 囲を示す 列が生成され る。
0 66 CP は、ステップ57 2で得られた部分 の 囲を示す 列を標準 式に変換する(ステッ 57 3)。これは、 5 および 52を参照して説明したよ に 、集計 列にお て、全ての 値 ら、先頭の 号の を減じるこ とにより実現できる。
0167 ステッ 57 ~57 3の 理を全ての ノ ドに て実行した (ステッ
4 )、 ノ ドに て、標準 された( まり 式の) 列を得 てお 。 られた集計 、 4などの りに記憶しておけば良 。 で、 CP 2は、集計 列を 較して、集計 ごとに、幾 在した をカウントする( ステッ 57 5)。この ソ の 囲を示す およびそのカウント値が、トポ ジ 計の 果となる。
0 68 56の例にお ては、上記 理の 果、図58Aに示すよ に、それぞれの ノ ドに て、3 の 分、ソ の 囲を示す 列を得ることができる。 58 にお て、符号58 ~58 3は、それぞれ、 ノ ド 2 、 7 、 8 に関する部分 の 囲を示す 列である。したが て、 58 に示すよ 集計 果を得 ることができる。
0169 トポ ジ ソ
たとえば、上記 果に て、 数を昇 は として て表示するこ とが望まれる場合がある。 まり、推移 を満たす大小の 度に基 て、最小のも の ら最大のもの( はその )に連続してアクセスできる配列を生成することが望 まれる場合がある。このよ に上記 小の 度に基 列を生成することを 称する。
0170 44 に示すソ 群にお て、 ノ ドストを、 ノ ドに示される部分 、ソ のノ ド数で することを考える。この 合、図44 に示すよ に、 後の頂 ノ ド ストは、 2 8 7 となる。これは、 ノ ド 2、 8で示され る部分ノ ドのノ ド数が 3 となり、その 方、 ノ ド 7で示される部分ノ ド のノ ド数は 5 となる らである。 論、 順は、これに限定されるものではな 、集計に関して説明した 度を採用しても良 。
0171 トポ ジ ソ の 、 略的には、
の 列により特定される の ソ の 序を する方法であ て、 部分ソ の ノ ドを 納した ノ ドストを、記憶装置 に生成する 、プ 、
ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれにより 特定される部分ソ を表す、 の の 分を特定するステップ 、
の の 分のそれぞれに て、部分ソ の ノ ドが、 ト・ノ ドとなるよ に、ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を、記憶装置 に 生成するステップ 、
生成された 2の 列を参照して、設定された評価 準にしたが て、 ノ ド のノ ド の 序を入れ替えるステップ 、を備える。
0172 45は、本実施の 態に るトポ ジ ソ の 例を示す図である。 45に示 すよ に、この例に るトポ ジ ソ ト 、 のトポ ジ 理に類似 し、 45のステッ 45 ~45 4は、 4 のステッ 4 ~4 4 同様である。し たが て、 46 に示す ( 43 のもの 同様であるでは、 ノ ド スト中の 全ての ノ ドに て、ステッ 45 ~45 3の 理を実行すると、 ノ ド 2 、 7および 8 に て、それぞれ、 46 ~ に示す 式の 列を得る ことができる。 44 に示す 大 (ノ ド数で )にしたが 、 46 に示すよ に、 ノ ドの 序が入れ替えられた ノ ドストを得ること が可能となる。
0173 報処理装置
47は、 明の 施の 態に る デ タ 造を構築し、 ノ ド ストを生成し、 デ タ 造を構築する の 列を生成して、これを りに 記憶し、 、トポ ジ 索、トポ ジ およびトポ ジ ソ の 理を実行 する情報処理装置の例を示す機能 ックダイヤグラムである。この 報処理装置4 7 は、実際には、 に示す ンピ タ ステム に必要なプ グラムをインスト することにより実現される。
0174 47に示すよ に、情報処理装置47 は、 デ タ 造を表現するデ タ 、 ノ ドストを含む の 列を記憶する記憶 47 と、 ト ドを含む ノ ドに固有のノ ド を付与し、ノ ド を記憶 35 に 納するノ ド 47 2と、 ト ド 外のノ ドである ト ドの に付与され たノ ド 、 ト ドの の ノ ドに付与されたノ ド
、 けを示す 列であるC P 列を記憶 47 に 納する親子 関係 47 3と、記憶 47 に 納されたノ ド およびC P 列に基 て、部分ソ を表現する標準 された部分配列を生成する標準 理部47 4と、C P 部分配列を昇 式の 列に変換する 理部47 5と、トポ ジ 理を実行するトポ ジ 理部47 6と、トポ ジ
理を実行するトポ ジ 理部47 7と、トポ ジ ソ ト 理を実行するトポ ジ ソ ト 理部47 8とを有して る。 理部47 4、 理部47 5、トポ ジ 理部47 6、トポ ジ 理部47 7およびトポ ジ ソ ト 理部47 8による 生成された配列は、記憶 47 に記憶される。 0175 まし は、ノ ド 47 2 、ノ ド として数値を用 、より好まし は、 ノ ド として連続する 数を用 る。また、親子関係 47 3は、 ト ドの に付与されたノ ド 、関連 けられた ノ ドに付与された 、の組の配列を記憶 47 に 納する。
0176 また、入力 ( の 24 ) らの 示などにより、ノ ドが指定されると、 ノ ドスト 47 4 、指定されたノ ドのノ ド 、 ノ ドスト 中に 納する。また、入力 置 らの 示にしたが て、トポ ジ 理部47 6、トポ ジ 理部47 7、トポ ジ ソ ト 理部47 8 、前述したよ トポ ジ 理、トポ ジ およびトポ ジ ソ ト 理を、それぞれ 行 する。その際に、必要に応じて、標準 理部47 4および 理部47 5も 理を実行して所定の 列を生成し、その 列を記憶 47 に記憶する。 0177 、以上の実施の 態に限定されることな 、特許 求の 囲に記載された 発明の 囲内で、 の 更が可能であり、それらも 明の 囲内に包含される ものであることは までもな 。 0178 は、 明の 施の 態に る デ タ 造を取り扱 ンピ タ ステムの ックダイヤグラムである。
2 2 、 は、 デ タの 例である Sデ タの であり、 2 は、この デ タのデ タ ( 、トポ ジ ) デ タ値を視覚的に 表現した例であり、 2 は、同 ソ デ タをX 式で表現した例である。
3 3 ~Cは、ア ク ストを用 たソ デ タ 造の 現形式の例の説 である。
4 4 ~Cは、 明の による 係に基 デ タ 造の 法の である。
5 5は、 明の による デ タ 造を記憶装置上に構築する 方法の チャ である。
6 6 ~Cは、 明の により 式の 構造型デ タを整数 式の 構造型デ タ 換する 理の である。
7 7 ~Cは、 明の他の により 式の 構造型デ タを整 数 式の 構造型デ タ 換する 理の である。
8 8は、 明の による 先に基 ノ ド 理の チ ヤ トである。
9 9は、 明の により作成された 現に基 親子関係の 列の である。
10 は、 6Cに示された深さ 先の デ タ 造 ら作成された
現に基 親子関係の 列の である。
1 、 明の による 先に基 ノ ド 理の チ ヤ トである。
12 2は、 明の により作成された 現に基 親子関 係の 列の である。
13 3は、 7Cに示された 先の デ タ 造 ら作成された 現に基 親子関係の 列の である。
14 は、 ドに基 デ タ 造、図 4 は、
デ タ 造を、 現に基 親子関係の 列を示す図である。
15 は、 ノ ドストの 、図 5 は、 ノ ドストで特定される部分 ソ 群の例を示す図である。
16 は、検索 理により得られた ノ ドストの 、図 6 は、 ノ ドストで特定される部分 群の例を示す図である。
17 は、集計 理により得られた ノ ドストおよび集計 果を示す 列の 、図 7 は、 ノ ドストで特定され 、
る部分ソ 群の例を示す図である。 18 8 は、ノ ド数で された ノ ドスト、および、対応するノ ド数 を示す 列の 、図 8 は、 ノ ドストで特定される部分ソ の例を示す図 である。
19 、それぞれ、論理 算の 象となる ノ ドストの 、図 9 、 は、それぞれ ノ ドストで特定される部分ソ 群の例を示す図である。 20 2 は、論理 算の 果を示す ノ ドストの 、図2 は、 ノ ドストで特定される部分ソ 群を示す図である。
2 2 は、あるノ ドを表現するC P 、および、部分ソ 群を特定する ノ ドストの例を示す図である。 22 22は、 2 の ノ ドスト中の頂 ノ ドによりそれぞれ特定される部 分ソ を示す図である。
23 23 、 は、本実施の 態に る部分ソ の の 略を示す図で ある。
24 24は、本実施の 態に る部分ソ の の例を示す チヤ トである。
25 25は、部分ソ を表わす された部分配列の例を示す図である。 26 26は、本実施の 態に る 式の 列の例を説明するための図で ある。
27 27は、 式の 、C P との間の相互変換の 略を説明 する図である。
28 28は、本実施の 態に る 列 らC P 列 の 理の例 を示す チヤ トである。
29 29 、 は、集計 理 らC P 列 の 理の 体例を示す図であ る。
30 3 、 は、集計 理 らC P 列 の 理の 体例を示す図であ る。
31 3 、 は、集計 理 らC P 列 の 理の 体例を示す図であ る。
32 、 は、集計 理 らC P 列 の 理の 体例を示す図であ る。
33 33 、 は、集計 理 らC P 列 の 理の 体例を示す図であ る。
34 34 、 は、集計 理 らC P 列 の 理の 体例を示す図であ る。
35 35 、 は、本実施の 態に るトポ ジ の 略を説明する図であ る。
36 36は、本実施の 態に るトポ ジ 理の例を示す チヤ である。
37 37 、 は、 トポロジ 理の 体例を示す図である。
38 38A、 Bは、 トポロジ 理の 体例を示す図である。
39 39は、 トポ ジ 理の 体例を示す図である。
40 40 、 は、 本実施の 態にか る トポ ジ 計の 略を説明する 図である。
4 4 は、 本実施の 態に る トポ ジ 理の例を示す チャ である。
42 42は、 4 のステップ4 2をより 細に示す チャ である。 43 43 ~Cは、 のトポロジ 理の 体例を示す図である。
44 44 、 Bは、 本実施の 態に るトポ ジ ソ の 略を説明する図で ある。
45 45は、 本実施の 態に るトポ ジ ソ ト 理の例を示す チャ である。
46 46 ~ は、 本実施の 態に るトポ ジ ソ ト 理の 体例を示す 図である。
47 47は、 明の 施の 態に かる デ タ 造を構築し、 ノ ド ストを生成し、 造を構築する の 列を生成して、 これを りに記憶し、 、 ジ 索、 トポロジ およびトポ ジ ソ の 理 を実行する情報処理装置の例を示す機能ブ ックダイヤグラムである。
48 48 、 Bは、 ツリ の および ツリ を表わす 式の 列を 示す図である。
49 49は、 式の 列に基づ て、 ある ノ ドの リ を特 定する 理を示す チャ である。
50 50 ~Cは、 ノ ドの ツリ を特定する 理の 体例を示す図で ある。
5 5 は、 式の 列の 式を示す図である。
5 52は、 式の 列の 式を示す図である。 53 53は、本実施の 態に る 式を利用したトポ ジ の 理を 示す チヤ トである。
54 54 、 は、本実施の 態に る標準 式を利用したトポ ジ の 体例を示す図である。
55 55 、 は、本実施の 態に る標準 式を利用したトポ ジ の 体例を示す図である。
56 56は、 4 に示すソ を表わす 式の 、および、 ノ ドストの例を示す図である。
57 57は、 57は、 式の 列を利用したトポ ジ 計の 理を示 す チヤ トである。
58 58は、 58 、 は、 式の 列を利用したトポ ジ 計の 果を示す図である。
号の
ンピ タ ステム
2 CP
4
6 RO
8 定記憶装置
2 C O ドライ
22
24
26
47 報処理装置
47
47 2 ノ ド
47 3 子関係
47 4 理部
47 5 理部 47 6 トポ ジ 部 47 7 トポ ジ 理部 47 8 トポ ジ ソ ト 理部

Claims

求の
じ世代のノ ドよりも ノ ドを優先して、 ト ドを含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
それぞれが特定のノ ドおよびその ノ ドを含む 上のノ ド群である部分 ソ を表わすために、 定のノ ドを頂点ノ ドとして、そのノ ド
納した ノ ドストを、記憶装置 に生成するステップ 、
前記 ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれ により特定される部分ソ を表す、前記 の の 分を特定するステップ 、 前記 の の 分のそれぞれに て、前記 ソ の ノ ドが、 ト ドとなるよ に、前記ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に 関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を 、前記 憶装置 に生成するステップ 、を備えたことを特徴とする配列の 2 の の 分を特定するステップが、 ノ ドのノ ド が示す の の 置 ら、ノ ド が増大する方向に、前記 の 中 の値が、前記 ノ ド が示す の の より大き 範囲を特定 するステップを含むことを特徴とする に記載の 。
3 式の 2の 列を生成するステップが、前記 の 列の 分と同一 サイズの 列の 域であ て、その 号として、前記 ト ドのノ ド を初期 とする連続する 数が与えられた 域を、前記 憶装置 に確保 するステップ 、
前記 の 列の 分に 納された値 ら、 ノ ドのノ ド を減じた値 を、それぞれ、前記 域に 納するステップ 、を含むことを特徴とする は2に記載の 。
4 じ世代のノ ドよりも ノ ドを優先して、 ト ドを含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の 備えた ンピ にお て、
前記 の 列により特定される 中、検索 となる と同一のトポ ジ を有する、部分ソ を検索する方法であ て、
検索 となる を表現する検索 として、ノ ド間の親子関係を表現 するための、 ト ド 外のノ ドである ト ドの に付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する配列を、記憶装置 に生成するステップ 、
前記 ノ ド セットを与え、前記オ セットが与えられ たノ ド 、前記オ セットにしたが た前記 の の 分に含まれる、 対応するノ ド とを 較するステップ 、
前記 較により全てが 致した前記 の の 分のノ ド を含む、 検索 果を示す ノ ドストを、前記 憶装置 に生成するステップ 、を備え たことを特徴とする検索 。
5 ノ ド の てが一致した場合に、 の の 分の 尾の次 のノ ド を参照して、 ノ ド に対応するノ ドが、前記 ノ ド により特定される部分ソ に含まれる 否 を判断するステップ 、
前記 ソ に含まれな 場合に、前記 較により全てが一致した前記 の の 分のノ ド を含む、検索 果を示す ノ ドストを、前記 憶装 置に生成するステップ 、を備えたことを特徴とする 4に記載の 。6 ノ ドが、デ タを表わす な とも一 の 報が関連 けられ、
さらに、前記 較により全てが一致した部分のノ ド により特定されるノ ド に関連 けられた実体 報と、検索 列のノ ド により特定されたノ ド に関連 けられた実体 報とを、それぞれ 較するステップ 、
全ての 報が、前記 列に関する対応する実体 報と一致したよ 、前 記 の の 分のノ ド を含む、検索 果を示す ノ ドストを、 前記 憶装置 に生成するステップ 、を備えたことを特徴とする 4または5に 記載の 。
7 じ世代のノ ドよりも ノ ドを優先して、 ト ドを含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
の 列により特定される の ソ を集計する方法であ て、 前記 ソ の ノ ドを 納した ノ ドストを、前記 憶装置 に生成 するステップ 、
前記 ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれ により特定される部分ソ を表す、前記 の の 分を特定するステップ 、 前記 の の 分のそれぞれに て、前記 ソ の ノ ドが、 ト ドとなるよ に、前記ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に 関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を 、前記 憶装置 に生成するステップ 、
前記生成された 2の 列を参照して、 2の 列の ごとに、生成された配列 カウント 、配列 を前記 2の 列の 関連 けて、前記 憶装置 に記 憶するステップ 、を備えたことを特徴とする 。
8 じ世代のノ ドよりも ノ ドを優先して、 ト ドを含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
前記 の 列により特定される の ソ の 序を する方法であ て、
前記 ソ の ノ ドを 納した ノ ドストを、前記 憶装置 に生成 するステップ 、
前記 ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれ により特定される部分ソ を表す、前記 の の 分を特定するステップ 、 前記 の の 分のそれぞれに て、前記 ソ の ノ ドが、 ト ドとなるよ に、前記ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に 関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を 、前記 憶装置 に生成するステップ 、
前記生成された 2の 列を参照して、設定された評価 準にしたが て、前記 ノ ドのノ ド の 序を入れ替えるステップ 、を備えたことを特徴とする 。
9 ソ デ タ 造を記憶装置 に構築する方法であ て、
同じ世代よりも ノ ドを優先して、 ト ドを含むノ ドに、ノ ド とし て、固有の 続する 数を付与するステップ 、
ノ ドをも ノ ドに て、それぞれのノ ド 、 ノ ドをも ノ ドを ノ ドとする ノ ドの 現数との組を、前記ノ ド 子の順に配置した 式の 列を、前記 憶装置 に生成するステップ 、を備えたことを特徴と する デ タ 造の 。
0 じ世代のノ ドよりも ノ ドを優先して、 ト ドを含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
前記 の ノ ド 、前記 の 列にお てノ ド が出現 する数を示す出現数との組を、前記 の ノ ド 子の順に配置した 式の 列を、前記 憶装置 に生成するステップを備えたことを特徴とす る配列の 。
9に記載された集計 列に基 き、ノ ド間の親子関係を表現するための、 ト ド 外のノ ドである ト ドの に付与されたノ ド に 対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列を生成する方法であ て、
前記 の 現数に基 き、ノ ド 号とする の 列のための 域を、前記 憶装置 に確保するステップ 、
前記 および の 列のそれぞれにお て、 のポイ タおよび 2の ポインタを初期 置に配置するステップ 、
前記 、前記 のポインタが示すノ ド 、前記 2のポインタが 示す 号 ら を減じた値とが一致する場合に、前記 のポインタが示 すノ ド 、 の 列にお て、前記 2のポインタが示す 号に 対応する として 納するとともに、集計 、前記 のポインタが示す出現数 を だけ減じ、 、 のポインタおよび 2のポインタを、その 号が 増大するよ に移動さ るステップ 、
前記 、前記 のポインタが示すノ ド 、前記 2のポインタが 示す 号 ら を減じた値とが一致しな 場合に、前記 列にお て、前記 のポイ タに初期的に配置される 3のポイ タを、その 号 を減じるよ に移動さ て、最初に、集計 列にお て、その 現数が とならな 位置を特定して、 3のポインタが示すノ ド 、 の 列にお て、 前記 2のポインタが示す 号に対応する として 納するとともに、集計 、前記 3のポインタが示す出現数を だけ減じ、 、 2のポインタを、 その 号が増大するよ に移動さ るステップ 、を備えたことを特徴とする 配列の 。 2 9に記載された集計 列 ら、 ノ ドおよびその ノ ドを含む ソ を表わす部分配列を生成する方法であ て、
前記 列にお て、前記 ノ ドのノ ド 、 ノ ド に関 連 けられた出現数とに基 き、少な とも子孫ノ ドとなるノ ドのノ ド を 初期的に算出するステップ 、
前記 列にお て、格納 号が増大するよ に、ノ ド を参照 、 前記ノ ド に対応するノ ドが、前記 ノ ドの ノ ドとなる 否 を 判断するとともに、 列のノ ド に関連 けられた出現数を参照し て、前記子孫ノ ドのノ ド を更新するステップ 、
前記 ノ ドの ノ ドとなると判断されたノ ドのノ ド と前記 けられた出現数との組を、部分配列として記憶装置 に生成するステップ 、を備え たことを特徴とする配列の 。
3 さらに、前記 分配列にお て、そのノ ド 子 ら、先頭のノ ド を減じ て、標準 式の 分配列を、記憶装置 に生成するステップを備えたことを特徴とす る 2に記載の 列の 。
4 9に記載された集計 列により特定される 中、検索 となる と 同一のトポ ジ を有する部分ソ を検索する方法であ て、
前記 となる を表現する検索 として、 ノ ドをも ノ ドに て、それぞれのノ ド 、 ノ ドを ノ ドとする ノ ドの 現数と の組を、前記ノ ド 子の順に配置した 式の 列を、記憶装置 に生 成するステップ 、
前記 ノ ド 、オ セットを与え、前記オ セットが与えら れたノ ド 、前記オ セットにしたが た前記 の 分に含まれる 、対応するノ ド とを 較するステップ 、
前記 較により全てが一致した集計 列の 分のノ ド とその 現数とを 含む、検索 果を示す 列を、前記 憶装置 納するステップ 、を備え たことを特徴とする検索 。
5 ノ ドが、デ タを表わす な とも一 の 報が関連 けられ、 さらに、前記 較により全てが一致した部分のノ ド により特定されるノ ド に関連 けられた実体 報と、検索 列のノ ド により特定されたノ ド に関連 けられた実体 報とを、それぞれ 較するステップ 、
全ての 報が、前記 列に関する対応する実体 報と一致したよ 、前 記 の 分のノ ド とその 現数とを含む、検索 果を表わす 列を、前記 憶装置 に生成するステップ 、を備えたことを特徴とする 4 に記載の 。
6 9に記載された集計 列に基 き、 列により特定される の ソ を集計する方法であ て、
前記 ソ の ノ ドを 納した ノ ドストを、前記 憶装置 に生成 するステップ 、
前記 列にお て、前記 ノ ドのノ ド 、 ノ ド に関 連 けられた出現数とに基 き、少な とも子孫ノ ドとなるノ ドのノ ド を 初期的に算出するステップ 、
前記 列にお て、格納 号が増大するよ に、ノ ド を参照 、 前記ノ ド に対応するノ ドが、前記 ノ ドの ノ ドとなる 否 を 判断するとともに、 列のノ ド に関連 けられた出現数を参照し て、前記子孫ノ ドのノ ド を更新するステップ 、
前記 ノ ドの ノ ドとなると判断されたノ ドのノ ド とおよび けられた出現数との組を、部分配列として記憶装置 に生成するステップ 、 前記 分配列にお て、そのノ ド 子 ら、先頭のノ ド を減じて、標 準 式の 分配列を、記憶装置 に生成するステップ 、
前記生成された 式の 分配列を参照して、前記 式の 分配列の ごとに、生成された配列 カウント 、配列 を前記 関連 けて、前記 憶装置 に記憶するステップ 、を備えたことを特徴とする 。
7 じ世代のノ ドよりも ノ ドを優先して、 ト ドを含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの 与されたノ ド に対応する、 ト・ノ ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、部分ソ を表わす 列を生成するために、 前記 ンピ により み出し 能な ンピ プ グラムであ て、
前記 ンピ に、
それぞれが特定のノ ドおよびその ノ ドを含む 上のノ ド群である部分 ソ を表わすために、 定のノ ドを頂点ノ ドとして、そのノ ド
納した ノ ドストを、記憶装置 に生成するステップ 、
前記 ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれ により特定される部分ソ を表す、前記 の の 分を特定するステップ 、 前記 の の 分のそれぞれに て、前記 ソ の ノ ドが、 ト・ノ ドとなるよ に、前記ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に 関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を 、前記 憶装置 に生成するステップ 、を実行さ ることを特徴とする ンピ プ グラム。
8 の の 分を特定するステップにお て、
ノ ドのノ ド が示す の の 置 ら、ノ ド が増 大する方向に、前記 の 中の値が、前記 ノ ド が示す の の より大き 範囲を特定するステップを、前記 ンピ に実行さ ること を特徴とする 7に記載の ンピ プ グラム。
9 式の 2の 列を生成するステップにお て、
前記 の 列の 分と同一サイズの 列の 域であ て、その 号と して、前記 ト・ノ ドのノ ド を初期 とする連続する 数が与えられた 域を、前記 憶装置 に確保するステップ 、
前記 の 列の 分に 納された値 ら、 ノ ドのノ ド を減じた値 を、それぞれ、前記 域に 納するステップ 、を前記 ンピ に実行さ ること を特徴とする 7または 8に記載の ンピ プ グラム。 20 じ世代のノ ドよりも ノ ドを優先して、 ト ドを含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
前記 の 列により特定される 中、検索 となる と同一のトポ ジ を有する、部分ソ を検索するために、前記 ンピ により み出し 能な ン ピ プ グラムであ て、
前記 ンピ に、
検索 となる を表現する検索 として、ノ ド間の親子関係を表現 するための、 ト ド 外のノ ドである ト ドの に付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する配列を、記憶装置 に生成するステップ 、
前記 ノ ド セットを与え、前記オ セットが与えられ たノ ド 、前記オ セットにしたが た前記 の の 分に含まれる、 対応するノ ド とを 較するステップ 、
前記 較により全てが一致した前記 の の 分のノ ド を含む、 検索 果を示す ノ ドストを、前記 憶装置 に生成するステップ 、を実行さ せることを特徴とする ンピ プ グラム。
2 ンピ に、
前記ノ ド の てが一致した場合に、 列の 分の 尾の次のノ ド を参照して、 ノ ド に対応するノ ドが、前記 ノ ドにより特 定される部分ソ に含まれる 否 を判断するステップ 、
前記 ソ に含まれな 場合に、前記 較により全てが一致した前記 の の 分のノ ド を含む、検索 果を示す ノ ドストを、前記 憶装 。 置 に生成するステップ 、を実行さ ることを特徴とする 2 に記載の
プ グラム。 22 ノ ドが、デ タを表わす な とも一 の 報が関連 けられ、 さらに、前記 ンピ に、
前記 較により全てが一致した部分のノ ド により特定されるノ ドに関連 けられた実体 報と、検索 列のノ ド により特定されたノ ドに関連 けられた実体 報とを、それぞれ 較するステップ 、
全ての 報が、前記 列に関する対応する実体 報と一致したよ 、前 記 の の 分のノ ド を含む、検索 果を示す ノ ドストを、 前記 憶装置に生成するステップ 、を実行さ ることを特徴とする 2 または 2 に記載の ンピ プ グラム。
23 じ世代のノ ドよりも ノ ドを優先して、 ト ドを含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
の 列により特定される の ソ を集計するために、 ンピ によ り み出し 能な ンピ プ グラムであ て、
前記 ンピ に、
前記 ソ の ノ ドを 納した ノ ドストを、前記 憶装置 に生成 するステップ 、
前記 ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれ により特定される部分ソ を表す、前記 の の 分を特定するステップ 、 前記 の の 分のそれぞれに て、前記 ソ の ノ ドが、 ト ドとなるよ に、前記ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に 関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を 、前記 憶装置 に生成するステップ 、
前記生成された 2の 列を参照して、 2の 列の ごとに、生成された配列 数をカウント 、配列 を前記 2の 列の 関連 けて、前記 憶装置 に記 憶するステップ 、実行さ ることを特徴とする ンピ プ グラム。
24 じ世代のノ ドよりも ノ ドを優先して、 ト・ノ ドを含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト・ノ ド 外のノ ドである ト・ノ ドの に 付与されたノ ド に対応する、 ト・ノ ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、
前記 の 列により特定される の ソ の 序を するために、前 記 ンピ により み出し 能な ンピ プ グラムであ て、
前記 ンピ に、
前記 ソ の ノ ドを 納した ノ ドストを、前記 憶装置 に生成 するステップ 、
前記 ノ ドストに 納されたノ ド に対応する ノ ドのそれぞれ により特定される部分ソ を表す、前記 の の 分を特定するステップ 、 前記 の の 分のそれぞれに て、前記 ソ の ノ ドが、 ト・ノ ドとなるよ に、前記ノ ド間の親子関係が、 ノ ド 外のノ ドである ノ ドの に付与されたノ ド に対応する、 ノ ドの に 関連 けられた ノ ドのノ ド により 現された、標準 式の 2の 列を 、前記 憶装置 に生成するステップ 、
前記生成された 2の 列を参照して、設定された評価 準にしたが て、前記 ノ ドのノ ド の 序を入れ替えるステップ 、を実行さ ることを特徴とす る ンピ プ グラム。
25 デ タ 造を、 ンピ の 憶装置 に構築するために、 ンピ
により み出し 能な ンピ プ グラムであ て、
前記 ンピ に、
同じ世代よりも ノ ドを優先して、 ト・ノ ドを含むノ ドに、ノ ド し て、固有の 続する 数を付与するステップ 、 ノ ドをも ノ ドに て、それぞれのノ ド 、 ノ ドをも ノ ドを ノ ドとする ノ ドの 現数との組を、前記ノ ド 子の順に配置した 式の 列を、前記 憶装置 に生成するステップ 、を実行さ ることを特 徴とする ンピ プ グラム。
26 じ世代のノ ドよりも ノ ドを優先して、 ト ドを含むノ ドに、固有の 続する 数となるノ ド が付与され、
ノ ド間の親子関係が、 ト ド 外のノ ドである ト ドの に 付与されたノ ド に対応する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列によ て表現された、 デ タ 造の デ タを備えた ンピ にお て、前記 デ タ 造を、 ンピ の 憶装置 に構築するために、前記 ンピ により み出し 能な実行さ る ンピ プ グラムであ て、
前記 ンピ に、
前記 の ノ ド 、 の 現する数である出現数との組を、 前記 の ノ ド 子の順に配置した 式の 列を生成し、 列を、前記 憶装置に 納するステップを実行さ ることを特徴とする ン ピ プ グラム。
27 25に記載された集計 列に基 き、ノ ド間の親子関係を表現する、 ト ド 外のノ ドである ト ドの に付与されたノ ド に対応 する、 ト ドの に関連 けられた ノ ドのノ ド を有する の 列を生成するために、 ンピ により み出し 能な ンピ プ グラム であ て、
前記 ンピ に、
前記 の 現数に基 き、ノ ド 号とする の 列のための 域を、前記 憶装置 に確保するステップ 、
前記 および の 列のそれぞれにお て、 のポインタおよび 2の ポインタを初期 置に配置するステ プ 、
前記 、前記 のポインタが示すノ ド 、前記 2のポインタが 号 ら を減じた値とが一致する場合に、前記 のポインタが示 すノ ド 、 の 列にお て、前記 2のポインタが示す 号に 対応する として 納するとともに、集計 、前記 ポインタが示す出現数 を だけ減じ、 、 のポインタおよび 2のポインタを、その 号が 増大するよ に移動さ るステップ 、
前記 、前記 のポインタが示すノ ド 、前記 2のポインタが 示す 号 ら を減じた値とが一致しな 場合に、前記 列にお て、前記 のポインタに初期的に配置される 3のポインタを、その 号 を減じるよ に移動さ て、最初に、集計 列にお て、その 現数が とならな 位置を特定して、当議第3のポインタが示すノ ド 、 の 列にお て、 前記 2のポインタが示す 号に対応する として 納するとともに、集計 、前記 3のポインタが示す出現数を だけ減じ、 、 2のポインタを、 その 号が増大するよ に移動さ るステップ 、を実行さ ることを特徴と する ンピ プ グラム。
28 25に記載された集計 列 ら、 ノ ドおよびその ノ ドを含む ソ を表わす部分配列を生成するために、 ンピ により み出し 能な ンピ プ グラムであ て、
前記 ンピ に、
前記 列にお て、前記 ノ ドのノ ド 、 ノ ド に関 連 けられた出現数とに基 き、少な とも子孫ノ ドとなるノ ドのノ ド を 初期的に算出するステップ 、
前記 列にお て、格納 号が増大するよ に、ノ ド を参照 、 前記ノ ド に対応するノ ドが、前記 ノ ドの ノ ドとなる 否 を 判断するとともに、 列のノ ド に関連 けられた出現数を参照し て、前記子孫ノ ドのノ ド を更新するステップ 、
前記 ノ ドの ノ ドとなると判断されたノ ドのノ ド と前記 けられた出現数との組を、部分配列として記憶装置 に生成する 、プ 、を実行 さ ることを特徴とする ンピ プ グラム。 29 さらに、前記 ンピ に、
前記 分配列にお て、そのノ ド 子 ら、先頭のノ ド を減じて、標 準 式の 分配列を、記憶装置 に生成するステップを実行さ ることを特徴とする 28に記載の ンピ プ グラム。
30 25に記載された集計 列により特定される 中、検索 となる
と同一のトポ ジ を有する部分ソ を検索するために、 ンピ により み出 し 能な ンピ プ グラムであ て、
前記 ンピ に、
前記 となる を表現する検索 として、 ノ ドをも ノ ドに て、それぞれのノ ド 、 ノ ドを ノ ドとする ノ ドの 現数と の組を、前記ノ ド 子の順に配置した 式の 列を、記憶装置 に生 成するステップ 、
前記 ノ ド 、オ セットを与え、前記オ セットが与えら れたノ ド 、前記オ セットにしたが た前記 の 分に含まれる 、対応するノ ド とを 較するステップ 、
前記 較により全てが一致した集計 の 分のノ ド とその 現数と を含む、検索 果を示す 列を、前記 憶装置 に生成するステップ 、を実 行さ ることを特徴とする ンピ プ グラム。
3 ノ ドが、デ タを表わす な とも一 の 報が関連 けられ、
さらに、前記 ンピ に、
前記 較により全てが一致した部分のノ ド により特定されるノ ドに関連 けられた実体 報と、検索 列のノ ド により特定されたノ ドに関連 けられた実体 報とを、それぞれ 較するステップ 、
全ての 報が、前記 列に関する対応する実体 報と一致したよ 、前 記 の 分のノ ド とその 現数とを含む、検索 果を表わす 列を、前記 憶装置に生成するステップ 、を実行さ ることを特徴とする 3 に記載の ンピ プ グラム。
32 25に記載された集計 列に基 き、 列により特定される の部 ソ を集計するために、 ンピ により み出し 能な ンピ プ グラムであ て、
前記 ンピ に、
前記 ソ の ノ ドを 納した ノ ドストを、前記 憶装置 に生成 するステップ 、
前記 列にお て、前記 ノ ドのノ ド 、 ノ ド に関 連 けられた出現数とに基 き、少な とも子孫ノ ドとなるノ ドのノ ド を 初期的に算出するステップ 、
前記 列にお て、格納 号が増大するよ に、ノ ド を参照 、 前記ノ ド に対応するノ ドが、前記 ノ ドの ノ ドとなる 否 を 判断するとともに、 列のノ ド に関連 けられた出現数を参照し て、前記子孫ノ ドのノ ド を更新するステップ 、
前記 ノ ドの ノ ドとなると判断されたノ ドのノ ド とおよび けられた出現数との組を、部分配列として記憶装置 に生成するステップ 、 前記 分配列にお て、そのノ ド 子 ら、先頭のノ ド を減じて、標 準 式の 分配列を、記憶装置 に生成するステップ 、
前記生成された 式の 分配列を参照して、前記 式の 分配列の ごとに、生成された配列 カウント 、配列 を前記 関連 けて、前記 憶装置 に記憶するステップ 、を実行さ ることを特徴とする ンピ プ グラ ム。
PCT/JP2006/300940 2005-01-25 2006-01-23 ツリーの検索、集計、ソート方法、情報処理装置、および、ツリーの検索、集計、ソートプログラム WO2006080268A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US11/814,705 US7937399B2 (en) 2005-01-25 2006-01-23 Method, information processing apparatus, and program of searching for, aggregating and sorting trees
JP2007500493A JP4653157B2 (ja) 2005-01-25 2006-01-23 ツリーの検索、集計、ソート方法、情報処理装置、および、ツリーの検索、集計、ソートプログラム
CA002593118A CA2593118A1 (en) 2005-01-25 2006-01-23 Tree search, totalizing, sort method, information processing device, and tree search, totalizing, and sort program
EP06712156A EP1857945A1 (en) 2005-01-25 2006-01-23 Tree search, totalizing, sort method, information processing device, and tree search, totalizing, and sort program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005-016373 2005-01-25
JP2005016373 2005-01-25

Publications (2)

Publication Number Publication Date
WO2006080268A1 true WO2006080268A1 (ja) 2006-08-03
WO2006080268A9 WO2006080268A9 (ja) 2007-06-14

Family

ID=36740299

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/300940 WO2006080268A1 (ja) 2005-01-25 2006-01-23 ツリーの検索、集計、ソート方法、情報処理装置、および、ツリーの検索、集計、ソートプログラム

Country Status (7)

Country Link
US (1) US7937399B2 (ja)
EP (1) EP1857945A1 (ja)
JP (1) JP4653157B2 (ja)
KR (1) KR20070101288A (ja)
CN (1) CN101128825A (ja)
CA (1) CA2593118A1 (ja)
WO (1) WO2006080268A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013171953A1 (ja) * 2012-05-15 2016-01-12 日本電気株式会社 分散データ管理装置及び分散データ操作装置

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943045B2 (en) * 2009-01-28 2015-01-27 Oracle International Corporation Mechanisms for efficient autocompletion in XML search applications
JP5278535B2 (ja) * 2009-03-19 2013-09-04 富士通株式会社 データベース検索プログラムを記録するコンピュータ読取可能な記憶媒体、データベース検索装置、および、データベース検索方法
EP2256660B1 (en) 2009-05-28 2015-08-12 Sap Se Computer-implemented method, computer system, and computer program product for optimization of evaluation of a policy specification
US8370394B2 (en) * 2009-07-17 2013-02-05 International Business Machines Corporation Parallel processing of data organized in a tree structure
CN102402545B (zh) * 2010-09-14 2015-09-02 腾讯科技(深圳)有限公司 一种存储数据的方法及装置
US8713056B1 (en) 2011-03-30 2014-04-29 Open Text S.A. System, method and computer program product for efficient caching of hierarchical items
CN102681975B (zh) * 2012-05-10 2013-06-19 江苏省电力公司电力科学研究院 一种基于链表的pqdif文件树形结构比较方法
CN103020273B (zh) * 2012-12-27 2016-08-17 福建榕基软件股份有限公司 树形结构数据的展示及相关索引表生成的方法与装置
US9465523B2 (en) * 2013-06-27 2016-10-11 Sap Se Visual exploration of multidimensional data
US9830354B2 (en) 2013-08-07 2017-11-28 International Business Machines Corporation Accelerating multiple query processing operations
US9495418B2 (en) 2013-08-07 2016-11-15 International Business Machines Corporation Scalable acceleration of database query operations
US9619499B2 (en) * 2013-08-07 2017-04-11 International Business Machines Corporation Hardware implementation of a tournament tree sort algorithm
US9251218B2 (en) 2013-08-07 2016-02-02 International Business Machines Corporation Tunable hardware sort engine for performing composite sorting algorithms
JP6290443B2 (ja) * 2014-10-31 2018-03-07 株式会社東芝 通信制御装置、通信制御方法およびプログラム
US10310813B2 (en) 2014-12-29 2019-06-04 International Business Machines Corporation Hardware implementation of a tournament tree sort algorithm using an external memory
US9547478B1 (en) * 2015-09-30 2017-01-17 Semmle Limited Hierarchical dependency analysis enhancements using disjoint-or trees
GB201810392D0 (en) * 2015-11-25 2018-08-08 Teamifier Inc Methods for the augmentation, exploration, and maintenance of project hierarchies
CN105930514B (zh) * 2016-05-16 2019-05-24 珠海格力电器股份有限公司 配套关系检索方法和系统
CN110889022A (zh) * 2018-08-17 2020-03-17 迈普通信技术股份有限公司 数据查询方法、装置及电子设备
EP4014125A1 (en) * 2020-02-26 2022-06-22 Huawei Technologies Co., Ltd. A device and a method for indexing snapshots of multiple file systems
US11734243B2 (en) * 2021-11-04 2023-08-22 Google Llc Sparse mapping of hierarchical subset

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS648448A (en) * 1987-07-01 1989-01-12 Hitachi Ltd Expression system for tree structure data
JPH02148173A (ja) * 1988-11-30 1990-06-07 Fuji Xerox Co Ltd 木構造図作成システム
JPH10240741A (ja) * 1997-02-28 1998-09-11 Nippon Telegr & Teleph Corp <Ntt> 木構造型データの管理方法
JP2000348038A (ja) * 1999-06-02 2000-12-15 Fujitsu Ltd 半構造データベースのためのデータ格納装置および方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301583B1 (en) * 1997-05-16 2001-10-09 Paul Zellweger Method and apparatus for generating data files for an applet-based content menu using an open hierarchical data structure
US6029170A (en) * 1997-11-25 2000-02-22 International Business Machines Corporation Hybrid tree array data structure and method
US6397214B1 (en) * 1998-11-03 2002-05-28 Computer Associates Think, Inc. Method and apparatus for instantiating records with missing data
US6381605B1 (en) * 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
JP2001167087A (ja) * 1999-12-14 2001-06-22 Fujitsu Ltd 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法
US6981040B1 (en) * 1999-12-28 2005-12-27 Utopy, Inc. Automatic, personalized online information and product services
JP2001195406A (ja) 2000-01-06 2001-07-19 Media Fusion Co Ltd データベース管理システム
JP3513562B2 (ja) * 2000-04-20 2004-03-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 形状解析システム、3次元形状モデルの差分検出システム、類似形状検索システム、形状解析方法及び記憶媒体
JP4165086B2 (ja) 2002-02-25 2008-10-15 日本電気株式会社 Xmlデータのrdbへの格納装置及び方法、rdbからのxmlデータの取得装置及び方法並びにプログラム
WO2005088479A1 (ja) * 2004-03-16 2005-09-22 Turbo Data Laboratories Inc. ツリー型データ構造を取り扱う方法、情報処理装置、及び、プログラム
CA2567947A1 (en) * 2004-06-03 2005-12-15 Turbo Data Laboratories Inc. Layout generation method, information processing device, and program
US20090019067A1 (en) * 2004-06-23 2009-01-15 Turbo Data Laboratories Inc. Method, apparatus, and program for inserting node
US20060053122A1 (en) * 2004-09-09 2006-03-09 Korn Philip R Method for matching XML twigs using index structures and relational query processors
EP1811383A1 (en) * 2004-10-01 2007-07-25 Turbo Data Laboratories, Inc. Arrangement generation method and arrangement generation program
WO2007020850A1 (ja) * 2005-08-12 2007-02-22 Turbo Data Laboratories Inc. 情報処理方法、情報処理装置および情報処理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS648448A (en) * 1987-07-01 1989-01-12 Hitachi Ltd Expression system for tree structure data
JPH02148173A (ja) * 1988-11-30 1990-06-07 Fuji Xerox Co Ltd 木構造図作成システム
JPH10240741A (ja) * 1997-02-28 1998-09-11 Nippon Telegr & Teleph Corp <Ntt> 木構造型データの管理方法
JP2000348038A (ja) * 1999-06-02 2000-12-15 Fujitsu Ltd 半構造データベースのためのデータ格納装置および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013171953A1 (ja) * 2012-05-15 2016-01-12 日本電気株式会社 分散データ管理装置及び分散データ操作装置

Also Published As

Publication number Publication date
KR20070101288A (ko) 2007-10-16
CA2593118A1 (en) 2006-08-03
JP4653157B2 (ja) 2011-03-16
US7937399B2 (en) 2011-05-03
US20090106194A1 (en) 2009-04-23
JPWO2006080268A1 (ja) 2008-08-07
CN101128825A (zh) 2008-02-20
EP1857945A1 (en) 2007-11-21
WO2006080268A9 (ja) 2007-06-14

Similar Documents

Publication Publication Date Title
WO2006080268A1 (ja) ツリーの検索、集計、ソート方法、情報処理装置、および、ツリーの検索、集計、ソートプログラム
Berger et al. Asymptotic behavior and distributional limits of preferential attachment graphs
JP4537391B2 (ja) ツリー型データ構造を取り扱う方法、情報処理装置、及び、プログラム
JP4796970B2 (ja) ツリーデータの検索・集計・ソート方法及びプログラム
JP4681544B2 (ja) 配列の生成方法、情報処理装置、及び、プログラム
US7962524B2 (en) Computer program, device, and method for sorting dataset records into groups according to frequent tree
Li et al. Novel alarm correlation analysis system based on association rules mining in telecommunication networks
Boyabatli et al. Parameter selection in genetic algorithms
JP4712718B2 (ja) 配列の生成方法、及び、配列生成プログラム
Bertoin et al. The cut-tree of large Galton–Watson trees and the Brownian CRT
US8874610B2 (en) Pattern-based stability analysis of complex data sets
JP5588811B2 (ja) データ分析支援システム及び方法
CN109241278A (zh) 科研知识管理方法及系统
CN112667735A (zh) 一种基于大数据的可视化模型建立分析系统和方法
CN112860685A (zh) 对数据集的分析的自动推荐
JP2001117947A (ja) 高次元データを分類するための方法及びそれにより形成される分類木並びにコンピュータシステム
Yamamoto et al. Faster compact on-line Lempel-Ziv factorization
Jin et al. prague: A practical framework for blending visual subgraph query formulation and query processing
Saxena et al. A framework for multi-sensor data fusion in the context of IoT smart city parking data
JP2013130965A (ja) データ分析装置、データ分析方法及びプログラム
Durham et al. FDT 2.0: Improving scalability of the fuzzy decision tree induction tool-integrating database storage
JP4125951B2 (ja) テキスト自動分類方法及び装置並びにプログラム及び記録媒体
CN113433893A (zh) 一种基于回溯贝叶斯的机器人伺服系统性能指标标定方法
JP6828334B2 (ja) データベース管理装置、データベース管理システム、データベース管理方法、および、データベース管理プログラム
Chen et al. Blind identification of network protocols based on improved Apriori algorithm

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2593118

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2007500493

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2006712156

Country of ref document: EP

Ref document number: 200680003147.X

Country of ref document: CN

Ref document number: 1020077017189

Country of ref document: KR

Ref document number: 1020077017156

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2006712156

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11814705

Country of ref document: US