Post on 20-Dec-2015
transcript
Hierarchical Constraint Satisfaction in Spatial Database
Dimitris Papadias, Panos Kalnis And Nikos Mamoulis
Purpose of the Paper
• Show how systematic and local search make use of hierarchical decomposition of space.
• To efficiently guide search.
• Show conditions when hierarchical constraint satisfaction outperforms traditional methods
• Helps solves queries in spatial database and geographical information systems.
• For e.x. a user is searching for a residential area that covers a commercial center and the commercial center meets a park.
Hierarchical Constraint Satisfaction
Introduction
• Content based queries can be modeled as CSP.
• All objects in query variables.
• relation between variables constraints.
• The domain of the variables consists of objects in the database.
• For e.x. find residential areas(v1) that cover commercial centers(v2) that meets a park(v3).
x1 x2
Disjoint(x1, x2)
x1 x2
Meet(x1, x2)
x1 x2
Overlap(x1, x2)
x2x1
Cover( x1, x2)
Topological Relations
x1 x2
Equal(x1, x2)
x2x1
Contain(x1, x2)
x1x2
Covered-by(x1, x2)
x1x2
Inside(x1, x2)
Minimum Bounding Rectangles(MBR) are actual area objects on the map the R-tree is built by grouping rectangles at the lower level.
R-trees are used by CSP algorithms to accelerate search.
R-tree• Are an extension of B+-trees to many dimensions.• B+-trees is a balanced search tree which maintains
an ordered set of data and in which the keys are stored in a the leaves
• Is a height Balanced Tree that consists of intermediate and leaf nodes corresponding to disk in secondary memory.
• If h is the height of the tree the root is at level h-1 and the leaf is at the level 0.
• The intermediate levels are built by grouping rectangles at lower level.
• There is a R-tree for each type of object.
R-tree
R-tree
• Used for window queries.• Two Steps are involved.• Filter Step – retrieve a set of candidates that
includes all the results and some false hits.• Refinement Step – each candidate is examined
and false hits are eliminated.• The method can be extended for topological
relations.
R-tree
R-trees Join (RTJ)• The most influential algorithm for processing
intersection joins using R-trees.
• Based on enclosure property.
• Like window queries, in order to process arbitrary topological relations using RTJ we need to define conditions for intermediate nodes.
• The problem is viewed as a multi-way spatial join and processed by computing the result of one pair-wise join and joining the result with v3.
Hierarchical CSPs using R-trees• A set of variables v1,v2,v3…vn.• Domain di for variable vi is
for level 0 : {xi,1,…… xi,ci}
for level 1 to h-1:{Xi,1,…… Xi,ci}• For each pair of variables the binary constraint is for level 0 : Cij is a disjunction of topological
relations as specified by the query. for level 1 to h-1: Cij is derived by replacing each
relation in Cij by the corresponding condition for intermediate nodes in Table 2.
Table 2
• Two preprocessing heuristic
– Space Restriction.
– Path Consistency
• Space Restriction – scans the domains of all variables, removing the entries that cannot satisfy the query constraints given their positions w.r.t. to other nodes.
• Path Consistency – is a form of semantic query optimization to discard inconsistent queries.
Hierarchical CSPs using R-trees
• Using systematic and local search algorithms there are three cases :– Hierarchical systematic search.
– Hierarchical local search.
– Hierarchical local/systematic search.
Hierarchical CSPs using R-trees
Experiments
• Problems were randomly generated by modifying the paramters n,m,p1, p2.
• n = number of variables.
• m = size of datasets
• p1 = is the probability that a random pair of variables is constrained (network density).
• p2 = is the probability that assignment for a constrained pair is inconsistent (tightness).
• Typical values takes for the problem
• m = 104
• |x| = .0045 d .2( typical value for real datasets)
• h=3
• C=50-200
Using these values problems were randomly
generated.
Hierarchical Systematic Search
• Using Forward Checking with fail first dynamic variable ordering heuristic.
• 50 randomly generated problems.
• P1 = 1.
• n=5.
• m=104
D 0.2
Hierarchical Systematic Search
• Two searches were used – Forward Checking (FC)– Hierarchical FC (H-FC)
• Three types of problems were tested – Varying P2 without disjoint– Varying P2 with disjoint– Varying n with one solution
Results
• Varying P2 without disjoint
– H-FC outperforms FC by two orders of magnitude.
• Varying P2 with disjoint– For dense graphs the H-FC outperforms FC by two
orders of magnitude.– As tightness decreases the performance converges.
Hierarchical Systematic Search
Results• Varying n with one solution
– The performances converges as the number of variables increases.
– For n>25 FC outperforms H-FC.
Hierarchical Systematic Search
• Local search used is Hill Climbing with min-conflicts(MC) heuristic.
• Following Variations used – Flat MC
– Hierarchical uninformed MC (HU-MC)
– Hierarchical informed MC (HI-MC)
– Hierarchical root MC (HR-MC)
– Hierarchical root MC/FC (HR-MC/FC)
Hierarchical Local Search
• Problems created with the parameters– n=5
– m=103, 104, 105.
• All algorithms were executed 10 times for every setting.
• Their execution was terminated is solution could not be obtained after 109 checks.
Hierarchical Local Search
Results
• HR-MC outperforms HU-MC by at least one order of magnitude.
• HI-MC’s performance is between HR-MC and HU-MC.
• When m= 103 MC is better than hierarchical local search
• When m= 105 HR-MC outperforms MC by one order of magnitude.
Hierarchical Local Search
Results
• Due to large number of sultions at the upper level hierarchical local search succeeds fast but spends more time trying to find a soultion at the leaf level this motivated the replacement of MC at leaf level with FC
• For larger domains HR-MC/FC outperforms HR-MC by almost an order of magnitude.
Hierarchical Local Search
Conclusion• Provides a methodology for hierarchical
constraint satisfaction in spatial database using R-trees.
• Systematic search is significantly faster in the case of hierarchical CSPs for m 104 and n10
• Hierarchical local search is better for very large domains.
• Provides hints to improve performance.