Skip to main content
Log in

A new approach for maximizing bichromatic reverse nearest neighbor search

  • Regular Paper
  • Published:
Knowledge and Information Systems Aims and scope Submit manuscript

Abstract

Maximizing bichromatic reverse nearest neighbor (MaxBRNN) is a variant of bichromatic reverse nearest neighbor (BRNN). The purpose of the MaxBRNN problem is to find an optimal region that maximizes the size of BRNNs. This problem has lots of real applications such as location planning and profile-based marketing. The best-known algorithm for the MaxBRNN problem is called MaxOverlap. In this paper, we study the MaxBRNN problem and propose a new approach called MaxSegment for a two-dimensional space when the \(L_2\)-norm is used. Then, we extend our algorithm to other variations of the MaxBRNN problem such as the MaxBRNN problem with other metric spaces, and a three-dimensional space. Finally, we conducted experiments on real and synthetic datasets to compare our proposed algorithm with existing algorithms. The experimental results verify the efficiency of our proposed approach.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

References

  1. Beckmann N, Kriegel HP, Schneider R, Seeger B (1990) The R*-tree: an efficient and robust access method for points and rectangles. In: Garcia-Molina H, Jagadish HV (eds) Proceedings of the ACM SIGMOD international conference on management of data. Atlantic City, NJ, May 1990, pp 322–331

  2. Berg M, Kreveld M, Overmars M, Schwarzkopf O (eds) (2000) Computational geometry: algorithms and applications. Springer, Berlin

    MATH  Google Scholar 

  3. Cabello S, Diaz-Banex JM, Langerman S, Seara C (2010) Facility location problems in the plane based on reverse nearest neighbor queries. Eur J Oper Res 202(1):99–106

    Article  MATH  Google Scholar 

  4. Cabello S, Diaz-Banez JM, Langerman S, Seara C, Ventura I (2005) Reverse facility location problems. In: Proceedings of the 17th Canadian conference on computational geometry, Ontario, Canada, Aug 2005, pp 68–71

  5. Cardinal J, Langerman S (2006) Min-max-min geometric facility location problems. In: Proceedings of the 22nd European workshop on computational geometry, Delphi, Greece, March 2006

  6. Chazelle B (1986) New upper bounds for neighbor searching. Inf Control 68(1–3):105–124

    Article  MathSciNet  MATH  Google Scholar 

  7. Cheema MA, Lin X, Zhang W, Zhang Y (2011) Influence zone: efficiently processing reverse k nearest neighbors queries. In: Abiteboul S, Bohm K, Koch C (eds) Proceedings of the 27th international conference on data engineering. Hannover, Germany, April 2011, pp 577–588

  8. Cheema MA, Lin X, Zhang W, Zhang Y, Wang W, Zhang W (2009) Lazy updates: an efficient technique to continuously monitoring reverse kNN. Proc VLDB Endow 2(1):1138–1149

    Google Scholar 

  9. Du Y, Zhang D, Xia T (2005) The optimal-location query. In: Medeiros CB, Egenhofer MJ, Bertino E (eds) Proceedings of the 9th international symposium on advances in spatial and temporal databases. Angra dos Reis, Brazil, Aug 2005, pp 163–180

  10. Emrich T, Kriegel HP, Kröger P, Renz M, Xu N, Züfle A (2010) Reverse k-Nearest neighbor monitoring on mobile objects. In: Agrawal D, Abbadi AE, Mokbel MF (eds) Proceedings of the 18th ACM SIGSPATIAL international symposium on advances in geographic information systems. San Jose, CA, USA, Nov 2010, pp 494–497

  11. Kang JM, Mokbel MF, Shekhar S, Xia T, Zhang D (2007) Continuous evaluation of monochromatic and bichromatic reverse nearest neighbors. In: Chirkova R, Dogac A, Özsu MT, Sellis TK (eds) Proceedings of the 23rd international conference on data engineering. The Marmara Hotel, Istanbul, Turkey, April 2007, pp 806–815

  12. Khoshgozaran A, Shahabi C, Shirani-Mehr H (2011) Location privacy: going beyond K-anonymity, cloaking and anonymizers. Knowl Inf Syst 26(3):435–465

    Article  Google Scholar 

  13. Korn F, Muthukrishnan S (2000) Influence sets based on reverse nearest neighbor queries. In: Chen W, Naughton JF, Bernstein PA (eds) Proceedings of the ACM SIGMOD international conference on management of data. Dallas, Texas, USA, May 2000, pp 201–212

  14. Korn F, Muthukrishnan S, Srivastava D (2002) Reverse nearest aggregates over data stream. In: Proceedings of the 28th international conference on very large data bases, Hong Kong, China, August 2002, pp 814–825

  15. Krarup J, Pruzan PM (1983) The simple plant location problem: Survey and synthesis. Eur J Oper Res 12(1):36–57

    Article  MathSciNet  MATH  Google Scholar 

  16. Lian X, Chen L (2009) Efficient processing of probabilistic reverse nearest neighbor queries over uncertain data. VLDB J 18(3):787–808

    Article  Google Scholar 

  17. Lu EHC, Lee WC, Tseng VS (2011) Mining fastest path from trajectories with multiple destinations in road networks. Knowl Inf Syst 29(1):25–53

    Article  Google Scholar 

  18. Roussopoulos N, Kelley S, Vincent F (1995) Nearest neighbor queries. In: Carey MJ, Schneider DA (eds) Proceedings of the ACM SIGMOD international conference on management of data. San Jose, California, May 1995, pp 71–79

  19. Stanoi I, Agrawal D, ElAbbadi A (2000) Reverse nearest neighbor queries for dynamic databases. In: Gunopulos D, Rastogi R (eds) Proceedings of 2000 ACM SIGMOD workshop on research issues in data mining and knowledge discovery. Dallas, Texas, USA, May 2000, pp 44–53

  20. Stanoi I, Riedewald M, Agrawal D, Abbadi AE (2001) Discovery of influence sets in frequently updated databases. In: Apers PMG, Atzeni P, Ceri S, Paraboschi S, Ramamohanarao K, Snodgrass RT (eds) Proceedings of the 27th international conference on very large data bases. Roma, Italy, Sept 2001, pp 99–108

  21. Tan JSF, Lu EHC, Tseng VS (2012) Preference-oriented mining techniques for location-based store search. Knowl Inf Syst. doi:10.1007/s10115-011-0475-4

  22. Tansel BC, Francis RL, Lowe T (1983) Location on networks: a survey. Manag Sci 29(4):482–497

    Article  MathSciNet  MATH  Google Scholar 

  23. Tao Y, Papadias D, Lian X (2004) Reverse kNN search in arbitrary dimensionality. In: Nascimento MA, Özsu MT, Kossmann D, Miller RJ, Blakeley J, Schiefer KB (eds) Proceedings of the thirtieth international conference on very large data bases. Toronto, Canada, Sept 2004, pp 744–755

  24. Tao Y, Yiu ML, Mamoulis N (2006) Reverse nearest neighbor search in metric spaces. IEEE Trans Knowl Data Eng 18(8):1239–1252

    Google Scholar 

  25. Vadapalli S, Valluri SR, Karlapalem P (2006) A simple yet effective data clustering algorithm. In: Clifton CW, Zhong N, Liu J, Wah BW, Wu X (eds) Proceedings of the 6th IEEE international conference on data mining. Hong Kong, China, Dec 2006, pp 1108–1112

  26. Wong RCW, Özsu MT, Yu PS, Fu AWC, Liu L (2009) Efficient method for maximizing bichromatic reverse nearest neighbor. Proc VLDB Endow 2(1):1126–1137

    Google Scholar 

  27. Wong RCW, Özsu MT, Yu PS, Fu AWC, Liu L, Liu Y (2011) Maximizing bichromatic reverse nearest neighbor for Lp-norm in two- and three-dimensional spaces. VLDB J 20(6):893–919

    Article  Google Scholar 

  28. Wong RCW, Tao Y, Fu AWC, Xiao X (2007) On efficient spatial matching. In: Koch C, Gehrke J, Garofalakis MN, Srivastava D, Aberer K, Deshpande A, Florescu D, Chan CY, Ganti V, Kanne CC, Klas W, Neuhold EJ (eds) Proceedings of the 33rd international conference on very large data bases. University of Vienna, Austria, Sept 2007, pp 579–590

  29. Wu W, Yang F, Chan CY, Tan KL (2008) FINCH: evaluating reverse k-nearest-neighbor queries on location data. Proc VLDB Endow 1(1):1056–1067

    Google Scholar 

  30. Wu W, Yang F, Chan CY, Tan KL (2008) Continuous reverse k-nearest-neighbor monitoring. In: Meng X, Lei H, Grumbach S, Leong HV (eds) Proceedings of the 9th international conference on mobile data management. Beijing, China, April 2008, pp 132–139

  31. Xia T, Zhang D (2006) Continuous reverse nearest neighbor monitoring. In: Liu L, Reuter A, Whang K, Zhang J (eds) Proceedings of the 22nd international conference on data engineering. Atlanta, GA, USA, April 2006, p 77

  32. Xia T, Zhang D, Kanoulas E, Du Y (2005) On computing top-t most influential spatial sites. In: Bohm K, Jensen C, Haas LM, Kersten ML, Larson P, Ooi BC (eds) Proceedings of the 31st international conference on very large data bases. Trondheim, Norway, Sept 2005, pp 946–957

  33. Yang Y, Hao C (2011) Product selection for promotion planning. Knowl Inf Syst 29(1):223–236

    Article  Google Scholar 

  34. Yiu ML, Papadias D, Mamoulis N, Tao Y (2006) Reverse nearest neighbors in large graphs. IEEE Trans Knowl Data Eng 18(4):540–553

    Article  Google Scholar 

  35. Zhang D, Du Y, Xia T, Tao Y (2006) Progressive computation of the min-dist optimal-location query. In: Dayal U, Whang K, Lomet DB, Alonso G, Lohman GM, Kersten ML, Cha SK, Kim Y (eds) Proceedings of the 32nd international conference on very large data bases. Seoul, Korea, Sept 2006, pp 643–654

  36. Zhang M, Alhajj R (2011) Effectiveness of NAQ-tree in handling reverse nearest-neighbor queries in high-dimensional metric space. Knowl Inf Syst 31(2):307–343

    Article  Google Scholar 

  37. Zhang M, Alhajj R (2010) Effectiveness of NAQ-tree as index structure for similarity search in high dimensional metric space. Knowl Inf Syst 22(1):1–26

    Article  MATH  Google Scholar 

  38. Zhang S, Chen F, Wu X, Zhang C (2006) Identifying bridging rules between conceptual clusters. In: Eliassi-Rad T, Ungar LH, Craven M, Gunopulos D (eds) Proceedings of the twelfth ACM SIGKDD international conference on knowledge discovery and data mining. Philadelphia, PA, USA, Aug 2006, pp 815–820

  39. Zhou Z, Wu W, Li X, Lee ML, Hsu W (2011) MaxFirst for MaxBRkNN. In: Abiteboul S, Bohm K, Koch C, Tan K (eds) Proceedings of the 27th international conference on data engineering. Hannover, Germany, April 2011, pp 828–839

  40. Zhu L, Li C, Tung AKH, Wang S (2012) Microeconomic analysis using dominant relationship analysis. Knowl Inf Syst 30(1):179–211

    Article  Google Scholar 

Download references

Acknowledgments

We thank anonymous reviewers for their very useful comments and suggestions. The work of Yubao Liu, Zhijie Li, Cheng Chen, and Zhitong Chen are supported by the National Natural Science Foundation of China (Grant Nos. 60703111, 61070005, and 61033010), the Science and Technology Planning Project of Guangdong Province of China (2010B080701062), and the Fundamental Research Funds for the Central Universities (11lgpy63). The research of Raymond Chi-Wing Wong is supported by HKRGC GRF 621309 and DAG11EG05G. Ke Wang’s work is partially supported by a Discovery Grant from Natural Sciences and Engineering Research Council of Canada.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yubao Liu.

Appendix: Computation of \((s_1, s_2)\)-circle, \((s_2, s_2)\)-plane and \(s_3\)-circle on plane in a three-dimensional space

Appendix: Computation of \((s_1, s_2)\)-circle, \((s_2, s_2)\)-plane and \(s_3\)-circle on plane in a three-dimensional space

In Sect. 5.3, given three NLSs, namely \(s_1, s_2\), and \(s_3\) as shown in Fig. 10, we describe the concepts of the \((s_1, s_2)\)-circle, the \((s_2, s_2)\)-plane, and the \(s_3\)-circle on a plane. In this section, we describe how we compute these three concepts.

How to Compute \((s_1, s_2)\)-Circle: In the following, we want to describe a method to compute the \((s_1, s_2)\)-circle given two NLS \(s_1\) and \(s_2\).

Assume NLS \(s_1\) centered at \(o_1 (x_1, y_1, z_1)\) with radius \(r_1\) and NLS \(s_2\) centered at \(o_2 (x_2, y_2, z_2)\) with radius \(r_2\). Then, we would have the following equations.

$$\begin{aligned} (x-x_1)^2+(y-y_1)^2+(z-z_1)^2=r_1^2 \end{aligned}$$
(1)
$$\begin{aligned} (x-x_2)^2+(y-y_2)^2+(z-z_2)^2=r_2^2 \end{aligned}$$
(2)

From Eqs. (1) and (2), we have: \(-2x(x_1-x_2)+(x_1^2-x_2^2)-2y(y_1-y_2)+(y_1^2-y_2^2)-2z(z_1-z_2)+(z_1^2-z_2^2)=r_1^2-r_2^2\) Next, we have

$$\begin{aligned} x(x_1-x_2)+y(y_1-y_2)+z(z_1-z_2)=\frac{r_1^2-r_2^2+x_2^2+y_2^2+z_2^2-x_1^2-y_1^2-z_1^2}{-2} \end{aligned}$$
(3)

We assume that the \((s_1, s_2)\)-circle \(c_{12}\) is centered at \(o_{12} (x_{12}, y_{12}, z_{12})\) with radius \(r_{12}\). In the following, we need to compute the coordinates of the three-dimensional point \(o_{12}\) and the radius \(r_{12}\). Since the point \(o_{12}\) is along the line segment between \(o_1\) and \(o_2\), we can assume that \(\overrightarrow{o_1o_{12}}=\lambda \overrightarrow{o_1o_{2}}\), \((0<\lambda <1)\). Then, we have

$$\begin{aligned} (x_1-x_{12},y_1-y_{12},z_1-z_{12})=\lambda (x_1-x_2,y_1-y_2,z_1-z_2) \end{aligned}$$
(4)

That is,

$$\begin{aligned} x_{12}=x_1+\lambda (x_2-x_1), y_{12}=y_1+\lambda (y_2-y_1), z_{12}=z_1+\lambda (z_2-z_1) \end{aligned}$$
(5)

Since the point \(o_{12} (x_{12}, y_{12}, z_{12})\) is on the plane \(\alpha \), we can put \(x_{12}\), \(y_{12}\) and \(z_{12}\) in Eq. (5) into Eq. (3) (i.e., replacing \(x\), \(y\), \(z\), respectively). Then, we have

$$\begin{aligned}&(x_1+\lambda (x_2-x_1))(x_1-x_2)+(y_1+\lambda (y_2-y_1))(y_1-y_2)\\&\quad +(z_1+\lambda (z_2-z_1))(z_1-z_2)\\&\quad = \frac{r_1^2-r_2^2+x_2^2+y_2^2+z_2^2-x_1^2-y_1^2-z_1^2}{-2} \end{aligned}$$

Next, we have \(\lambda =\frac{r_1^2-r_2^2}{2(x_2-x_1)^2}+\frac{1}{2}\). Then, we put \(\lambda \) into Eq. (5) and compute the coordinates of the three-dimensional point \(o_{12}\). That is,

$$\begin{aligned} \left\{ \begin{array}{l} x_{12}=x_1+\left(\frac{r_1^2-r_2^2}{2(x_2-x_1)^2}+\frac{1}{2}\right)(x_2-x_1)\\ y_{12}=y_1+\left(\frac{r_1^2-r_2^2}{2(x_2-x_1)^2}+\frac{1}{2}\right)(y_2-y_1)\\ z_{12}=z_1+\left(\frac{r_1^2-r_2^2}{2(x_2-x_1)^2}+\frac{1}{2}\right)(z_2-z_1) \end{array}\right. \end{aligned}$$
(6)

where \(o_1 (x_1, y_1, z_1)\), \(o_2 (x_2, y_2, z_2)\), \(r_1\), and \(r_2\) are known.

The radius \(r_{12}\) can be computed as follows. As shown in Fig. 10a, we can easily image the following sectional drawing in Fig. 20 for NLS \(s_1\), NLS \(s_2\), and circle \(c_{12}\). So, we have \(r_{12}=\sqrt{r_1^2-| o_1o_{12}|^2}=\sqrt{r_1^2-\lambda ^2|o_1o_2|^2}\), where \(o_1\), \(o_2\), \(r_1\) and \(\lambda \) are known. Thus, we derive the \((s_1, s_2)\)-circle.

Fig. 20
figure 20

A sectional drawing for \(s_1\), \(s_2\) and \(c_{12}\)

It is easy to verify that the above computation of the \((s_1, s_2)\)-circle takes \(O(1)\) time.

How to Compute \((s_1, s_2)\) -Plane and \(s_3\)-Circle: In the following, we describe how to compute the \((s_1, s_2)\)-plane, says \(\alpha \), and the \(s_3\)-circle on plane \(\alpha \), says \(c_3\).

Assume that NLS \(s_3\) is centered at \(o_3 (x_3, y_3, z_3)\) with radius \(r_3\). Assume the center of circle \(c_3\) in the three-dimensional space is \(o_{c3} (x_{c3},\) \( y_{c3}, z_{c3})\) and its radius is \(r_{c3}\). From Fig. 10, it is easy to know that both points \(o_{12}\) and \(o_{c3}\) are on the plane \(\alpha \). We can build a coordinate system, \(X_\alpha Y_\alpha \), on the two-dimensional plane \(\alpha \) whose origin is \(o_{12}\). The relationship between the three-dimensional space and the two-dimensional plane \(\alpha \) can be shown in Fig. 21. From Fig. 21, we can know the coordinates of point \(o_{c3}\) in the two-dimensional space \((X_{\alpha }, Y_{\alpha })\) correspond to \(u\) and \(v\), respectively. Before computing \(u\) and \(v\), we need to find the vectors \(\overrightarrow{X_\alpha }\) and \(\overrightarrow{Y_\alpha }\) that correspond to the axes of the coordinate system on the two-dimensional plane \(\alpha \). From Fig. 10a, we can know the normal vector \(\overrightarrow{N}=\overrightarrow{o_2}-\overrightarrow{o_1}\) to the plane \(\alpha \). That is, we have \(\overrightarrow{N} = (x_2-x_1, y_2-y_1, z_2- z_1)\). This normal vector can denote the \((s_1, s_2)\)-plane.

Fig. 21
figure 21

The computation for the circle \(c_3\)

Next, we construct two vectors as follows.

$$\begin{aligned} \left\{ \begin{array}{l} X_\alpha =(y_2-y_1,x_1-x_2,0) \\ Y_\alpha =\left(\frac{-(x_2-x_1)(z_2-z_1)}{(x_2-x_1)^2+(y_2-y_1)^2},\frac{-(y_2-y_1)(z_2-z_1)}{(x_2-x_1)^2+(y_2-y_1)^2},1\right) \end{array}\right. \end{aligned}$$
(7)

It is easy to verify the vectors \(\overrightarrow{X_\alpha }\), \(\overrightarrow{Y_\alpha }\), and \(\overrightarrow{N}\) are perpendicular to each of the other two vectors. Then, we can take \(\overrightarrow{X_\alpha }\) and \(\overrightarrow{Y_\alpha }\) as the axes of the coordinate system on the two-dimensional plane \(\alpha \). It is also easy to know that \(\overrightarrow{o_{c3}o_3}=\varphi \overrightarrow{N}\), where \(\varphi \) is a real number and \(\overrightarrow{N}\) is the normal vector to the plane \(\alpha \). Then, we have the following Eq. (8) in which \(x_N\), \(y_N\), and \(z_N\) denote the vector components of vector \(\overrightarrow{N}\), respectively.

$$\begin{aligned} x_3-x_{c3}=\varphi x_N, y_3-y_{c3}=\varphi y_N,z_3-z_{c3}=\varphi z_N \end{aligned}$$
(8)

Since \(\overrightarrow{o_{12}o_{c3}}\perp \overrightarrow{N}\),we have \((x_{c3}-x_{12})x_N + (y_{c3}-y_{12})y_N + (z_{c3}-z_{12})z_N = 0\). Next, we can replace \(x_{c3}\), \(y_{c3}\) and \(z_{c3}\) using Eq. (8).

Then, we have \(\varphi =\frac{x_N (x_3-x_{12})+ y_N(y_3-y_{12}) + z_N(z_3-z_{12})}{x_N^2 + y_N^2 + z_N^2}\). Next, we put \(\varphi \) into Eq. (8) and have \(o_{c3} (x_{c3}, y_{c3}, z_{c3})\). That is,

$$\begin{aligned} \left\{ \begin{array}{l} x_{c3}=x_3-\varphi x_N \\ y_{c3}=y_3-\varphi y_N \\ z_{c3}=z_3-\varphi z_N \end{array}\right. \end{aligned}$$
(9)

where \(x_3\), \(y_3\), \(z_3\), \(x_N\), \(y_N\), \(z_N\), and \(\varphi \) are known. From Fig. 21, we have \(u\), \(v\) and the radius of \(c_3\) as follows.

$$\begin{aligned} \left\{ \begin{array}{l} u=|o_{12}o_{c3}| \cdot \cos {\theta }=\frac{\overrightarrow{o_{12}o_{c3}}\cdot \overrightarrow{X_\alpha }}{|X_\alpha |}\\ v=|o_{12}o_{c3}| \cdot \sin {\theta }=\frac{\overrightarrow{o_{12}o_{c3}}\cdot \overrightarrow{Y_\alpha }}{|Y_\alpha |}\\ r_{c3}=\sqrt{r_3^2-|o_3o_{c3}|^2} \end{array}\right. \end{aligned}$$
(10)

where \(r_3\), \(o_3\), \(o_{c3}\), \(\overrightarrow{X_\alpha }\) and \(\overrightarrow{Y_\alpha }\) are known. Thus, we derive the \(s_3\)-circle.

It is easy to verify that the computation of the \((s_1, s_2)\)-plane and the \(s_3\)-circle takes \(O(1)\) time.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Liu, Y., Wong, R.CW., Wang, K. et al. A new approach for maximizing bichromatic reverse nearest neighbor search. Knowl Inf Syst 36, 23–58 (2013). https://doi.org/10.1007/s10115-012-0527-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10115-012-0527-4

Keywords

Navigation