<p>Let <i>P</i> be a set of <i>m</i> points in <InlineEquation ID="IEq1"> <EquationSource Format="TEX">\({\mathbb R}^2\)</EquationSource> <EquationSource Format="MATHML"><math> <msup> <mrow> <mi mathvariant="double-struck">R</mi> </mrow> <mn>2</mn> </msup> </math></EquationSource> </InlineEquation>, let <InlineEquation ID="IEq2"> <EquationSource Format="TEX">\(\Sigma \)</EquationSource> <EquationSource Format="MATHML"><math> <mi mathvariant="normal">Σ</mi> </math></EquationSource> </InlineEquation> be a set of <i>n</i> semi-algebraic sets of constant complexity in <InlineEquation ID="IEq3"> <EquationSource Format="TEX">\({\mathbb R}^2\)</EquationSource> <EquationSource Format="MATHML"><math> <msup> <mrow> <mi mathvariant="double-struck">R</mi> </mrow> <mn>2</mn> </msup> </math></EquationSource> </InlineEquation>, let <InlineEquation ID="IEq4"> <EquationSource Format="TEX">\((S,+)\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mo stretchy="false">(</mo> <mi>S</mi> <mo>,</mo> <mo>+</mo> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation> be a semigroup, and let <InlineEquation ID="IEq5"> <EquationSource Format="TEX">\(w: P \rightarrow S\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>w</mi> <mo>:</mo> <mi>P</mi> <mo stretchy="false">→</mo> <mi>S</mi> </mrow> </math></EquationSource> </InlineEquation> be a weight function on the points of <i>P</i>. We describe a randomized algorithm for computing <InlineEquation ID="IEq6"> <EquationSource Format="TEX">\(w(P\cap \sigma ) = \sum _{p\in P\cap \sigma } w(p)\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>w</mi> <mrow> <mo stretchy="false">(</mo> <mi>P</mi> <mo>∩</mo> <mi>σ</mi> <mo stretchy="false">)</mo> </mrow> <mo>=</mo> <msub> <mo>∑</mo> <mrow> <mi>p</mi> <mo>∈</mo> <mi>P</mi> <mo>∩</mo> <mi>σ</mi> </mrow> </msub> <mi>w</mi> <mrow> <mo stretchy="false">(</mo> <mi>p</mi> <mo stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation> for every <InlineEquation ID="IEq7"> <EquationSource Format="TEX">\(\sigma \in \Sigma \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>σ</mi> <mo>∈</mo> <mi mathvariant="normal">Σ</mi> </mrow> </math></EquationSource> </InlineEquation> in overall expected time <InlineEquation ID="IEq8"> <EquationSource Format="TEX">\(O^*\bigl ( m^{\frac{2s}{5s-4}}n^{\frac{5s-6}{5s-4}} + m^{2/3}n^{2/3} + m + n \bigr )\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msup> <mi>O</mi> <mo>∗</mo> </msup> <mrow> <mo maxsize="1.2em" minsize="1.2em" stretchy="true">(</mo> </mrow> <msup> <mi>m</mi> <mfrac> <mrow> <mn>2</mn> <mi>s</mi> </mrow> <mrow> <mn>5</mn> <mi>s</mi> <mo>-</mo> <mn>4</mn> </mrow> </mfrac> </msup> <msup> <mi>n</mi> <mfrac> <mrow> <mn>5</mn> <mi>s</mi> <mo>-</mo> <mn>6</mn> </mrow> <mrow> <mn>5</mn> <mi>s</mi> <mo>-</mo> <mn>4</mn> </mrow> </mfrac> </msup> <mo>+</mo> <msup> <mi>m</mi> <mrow> <mn>2</mn> <mo stretchy="false">/</mo> <mn>3</mn> </mrow> </msup> <msup> <mi>n</mi> <mrow> <mn>2</mn> <mo stretchy="false">/</mo> <mn>3</mn> </mrow> </msup> <mo>+</mo> <mi>m</mi> <mo>+</mo> <mi>n</mi> <mrow> <mo maxsize="1.2em" minsize="1.2em" stretchy="true">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation>, where <InlineEquation ID="IEq9"> <EquationSource Format="TEX">\(s&gt;0\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>s</mi> <mo>&gt;</mo> <mn>0</mn> </mrow> </math></EquationSource> </InlineEquation> is the number of degrees of freedom of the regions of <InlineEquation ID="IEq10"> <EquationSource Format="TEX">\(\Sigma \)</EquationSource> <EquationSource Format="MATHML"><math> <mi mathvariant="normal">Σ</mi> </math></EquationSource> </InlineEquation>, and where the <InlineEquation ID="IEq11"> <EquationSource Format="TEX">\(O^*(\cdot )\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msup> <mi>O</mi> <mo>∗</mo> </msup> <mrow> <mo stretchy="false">(</mo> <mo>·</mo> <mo stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation> notation hides subpolynomial factors. For <InlineEquation ID="IEq12"> <EquationSource Format="TEX">\(s\ge 3\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>s</mi> <mo>≥</mo> <mn>3</mn> </mrow> </math></EquationSource> </InlineEquation>, surprisingly, this bound is smaller than the best-known bound for answering <i>m</i> such queries in an on-line manner; the latter takes <InlineEquation ID="IEq13"> <EquationSource Format="TEX">\(O^*(m^{\frac{s}{2s-1}}n^{\frac{2s-2}{2s-1}}+m+n)\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msup> <mi>O</mi> <mo>∗</mo> </msup> <mrow> <mo stretchy="false">(</mo> <msup> <mi>m</mi> <mfrac> <mi>s</mi> <mrow> <mn>2</mn> <mi>s</mi> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> </msup> <msup> <mi>n</mi> <mfrac> <mrow> <mn>2</mn> <mi>s</mi> <mo>-</mo> <mn>2</mn> </mrow> <mrow> <mn>2</mn> <mi>s</mi> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> </msup> <mo>+</mo> <mi>m</mi> <mo>+</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation> time. Let <InlineEquation ID="IEq14"> <EquationSource Format="TEX">\(\Phi : \Sigma \times P \rightarrow \{0,1\}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="normal">Φ</mi> <mo>:</mo> <mi mathvariant="normal">Σ</mi> <mo>×</mo> <mi>P</mi> <mo stretchy="false">→</mo> <mo stretchy="false">{</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <mo stretchy="false">}</mo> </mrow> </math></EquationSource> </InlineEquation> be the Boolean predicate (of constant complexity) such that <InlineEquation ID="IEq15"> <EquationSource Format="TEX">\(\Phi (\sigma ,p) = 1\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="normal">Φ</mi> <mo stretchy="false">(</mo> <mi>σ</mi> <mo>,</mo> <mi>p</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mn>1</mn> </mrow> </math></EquationSource> </InlineEquation> if <InlineEquation ID="IEq16"> <EquationSource Format="TEX">\(p\in \sigma \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>p</mi> <mo>∈</mo> <mi>σ</mi> </mrow> </math></EquationSource> </InlineEquation> and 0 otherwise, and let <InlineEquation ID="IEq17"> <EquationSource Format="TEX">\(\Sigma \mathop {\Phi } P = \{ (\sigma ,p) \in \Sigma \times P \mid \Phi (\sigma ,p)=1\}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="normal">Σ</mi> <mi mathvariant="normal">Φ</mi> <mi>P</mi> <mo>=</mo> <mo stretchy="false">{</mo> <mo stretchy="false">(</mo> <mi>σ</mi> <mo>,</mo> <mi>p</mi> <mo stretchy="false">)</mo> <mo>∈</mo> <mi mathvariant="normal">Σ</mi> <mo>×</mo> <mi>P</mi> <mo>∣</mo> <mi mathvariant="normal">Φ</mi> <mo stretchy="false">(</mo> <mi>σ</mi> <mo>,</mo> <mi>p</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mn>1</mn> <mo stretchy="false">}</mo> </mrow> </math></EquationSource> </InlineEquation>. Our algorithm actually computes a partition <InlineEquation ID="IEq18"> <EquationSource Format="TEX">\(\mathscr {B}_\Phi \)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="script">B</mi> <mi mathvariant="normal">Φ</mi> </msub> </math></EquationSource> </InlineEquation> of <InlineEquation ID="IEq19"> <EquationSource Format="TEX">\(\Sigma \mathop {\Phi } P\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="normal">Σ</mi> <mi mathvariant="normal">Φ</mi> <mi>P</mi> </mrow> </math></EquationSource> </InlineEquation> into (edge-disjoint) bipartite cliques (bicliques) of size (i.e., sum of the sizes of the vertex sets of its bicliques) <InlineEquation ID="IEq20"> <EquationSource Format="TEX">\(O^*\bigl ( m^{\frac{2s}{5s-4}}n^{\frac{5s-6}{5s-4}} + m^{2/3}n^{2/3} + m + n \bigr )\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msup> <mi>O</mi> <mo>∗</mo> </msup> <mrow> <mo maxsize="1.2em" minsize="1.2em" stretchy="true">(</mo> </mrow> <msup> <mi>m</mi> <mfrac> <mrow> <mn>2</mn> <mi>s</mi> </mrow> <mrow> <mn>5</mn> <mi>s</mi> <mo>-</mo> <mn>4</mn> </mrow> </mfrac> </msup> <msup> <mi>n</mi> <mfrac> <mrow> <mn>5</mn> <mi>s</mi> <mo>-</mo> <mn>6</mn> </mrow> <mrow> <mn>5</mn> <mi>s</mi> <mo>-</mo> <mn>4</mn> </mrow> </mfrac> </msup> <mo>+</mo> <msup> <mi>m</mi> <mrow> <mn>2</mn> <mo stretchy="false">/</mo> <mn>3</mn> </mrow> </msup> <msup> <mi>n</mi> <mrow> <mn>2</mn> <mo stretchy="false">/</mo> <mn>3</mn> </mrow> </msup> <mo>+</mo> <mi>m</mi> <mo>+</mo> <mi>n</mi> <mrow> <mo maxsize="1.2em" minsize="1.2em" stretchy="true">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation>. It is straightforward to compute <InlineEquation ID="IEq21"> <EquationSource Format="TEX">\(w(P\cap \sigma )\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>w</mi> <mo stretchy="false">(</mo> <mi>P</mi> <mo>∩</mo> <mi>σ</mi> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation> for all <InlineEquation ID="IEq22"> <EquationSource Format="TEX">\(\sigma \in \Sigma \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>σ</mi> <mo>∈</mo> <mi mathvariant="normal">Σ</mi> </mrow> </math></EquationSource> </InlineEquation> from <InlineEquation ID="IEq23"> <EquationSource Format="TEX">\(\mathscr {B}_\Phi \)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="script">B</mi> <mi mathvariant="normal">Φ</mi> </msub> </math></EquationSource> </InlineEquation>. Similarly, if <InlineEquation ID="IEq24"> <EquationSource Format="TEX">\(\eta : \Sigma \rightarrow S\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>η</mi> <mo>:</mo> <mi mathvariant="normal">Σ</mi> <mo stretchy="false">→</mo> <mi>S</mi> </mrow> </math></EquationSource> </InlineEquation> is a weight function on the regions of <InlineEquation ID="IEq25"> <EquationSource Format="TEX">\(\Sigma \)</EquationSource> <EquationSource Format="MATHML"><math> <mi mathvariant="normal">Σ</mi> </math></EquationSource> </InlineEquation>, <InlineEquation ID="IEq26"> <EquationSource Format="TEX">\(\sum _{\sigma \in \Sigma : p \in \sigma } \eta (\sigma )\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msub> <mo>∑</mo> <mrow> <mi>σ</mi> <mo>∈</mo> <mi mathvariant="normal">Σ</mi> <mo>:</mo> <mi>p</mi> <mo>∈</mo> <mi>σ</mi> </mrow> </msub> <mi>η</mi> <mrow> <mo stretchy="false">(</mo> <mi>σ</mi> <mo stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation>, for every point <InlineEquation ID="IEq27"> <EquationSource Format="TEX">\(p\in P\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>p</mi> <mo>∈</mo> <mi>P</mi> </mrow> </math></EquationSource> </InlineEquation>, can be computed from <InlineEquation ID="IEq28"> <EquationSource Format="TEX">\(\mathscr {B}_\Phi \)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="script">B</mi> <mi mathvariant="normal">Φ</mi> </msub> </math></EquationSource> </InlineEquation> in a straightforward manner, in the same asymptotic time bound. A recent work of Chan et al. [<CitationRef CitationID="CR28">28</CitationRef>] solves the on-line version of this dual <i>point enclosure</i> problem within the same performance bound as our off-line solution.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Semi-Algebraic Off-line Range Searching and Biclique Partitions in the Plane

  • Pankaj K. Agarwal,
  • Esther Ezra,
  • Micha Sharir

摘要

Let P be a set of m points in \({\mathbb R}^2\) R 2 , let \(\Sigma \) Σ be a set of n semi-algebraic sets of constant complexity in \({\mathbb R}^2\) R 2 , let \((S,+)\) ( S , + ) be a semigroup, and let \(w: P \rightarrow S\) w : P S be a weight function on the points of P. We describe a randomized algorithm for computing \(w(P\cap \sigma ) = \sum _{p\in P\cap \sigma } w(p)\) w ( P σ ) = p P σ w ( p ) for every \(\sigma \in \Sigma \) σ Σ in overall expected time \(O^*\bigl ( m^{\frac{2s}{5s-4}}n^{\frac{5s-6}{5s-4}} + m^{2/3}n^{2/3} + m + n \bigr )\) O ( m 2 s 5 s - 4 n 5 s - 6 5 s - 4 + m 2 / 3 n 2 / 3 + m + n ) , where \(s>0\) s > 0 is the number of degrees of freedom of the regions of \(\Sigma \) Σ , and where the \(O^*(\cdot )\) O ( · ) notation hides subpolynomial factors. For \(s\ge 3\) s 3 , surprisingly, this bound is smaller than the best-known bound for answering m such queries in an on-line manner; the latter takes \(O^*(m^{\frac{s}{2s-1}}n^{\frac{2s-2}{2s-1}}+m+n)\) O ( m s 2 s - 1 n 2 s - 2 2 s - 1 + m + n ) time. Let \(\Phi : \Sigma \times P \rightarrow \{0,1\}\) Φ : Σ × P { 0 , 1 } be the Boolean predicate (of constant complexity) such that \(\Phi (\sigma ,p) = 1\) Φ ( σ , p ) = 1 if \(p\in \sigma \) p σ and 0 otherwise, and let \(\Sigma \mathop {\Phi } P = \{ (\sigma ,p) \in \Sigma \times P \mid \Phi (\sigma ,p)=1\}\) Σ Φ P = { ( σ , p ) Σ × P Φ ( σ , p ) = 1 } . Our algorithm actually computes a partition \(\mathscr {B}_\Phi \) B Φ of \(\Sigma \mathop {\Phi } P\) Σ Φ P into (edge-disjoint) bipartite cliques (bicliques) of size (i.e., sum of the sizes of the vertex sets of its bicliques) \(O^*\bigl ( m^{\frac{2s}{5s-4}}n^{\frac{5s-6}{5s-4}} + m^{2/3}n^{2/3} + m + n \bigr )\) O ( m 2 s 5 s - 4 n 5 s - 6 5 s - 4 + m 2 / 3 n 2 / 3 + m + n ) . It is straightforward to compute \(w(P\cap \sigma )\) w ( P σ ) for all \(\sigma \in \Sigma \) σ Σ from \(\mathscr {B}_\Phi \) B Φ . Similarly, if \(\eta : \Sigma \rightarrow S\) η : Σ S is a weight function on the regions of \(\Sigma \) Σ , \(\sum _{\sigma \in \Sigma : p \in \sigma } \eta (\sigma )\) σ Σ : p σ η ( σ ) , for every point \(p\in P\) p P , can be computed from \(\mathscr {B}_\Phi \) B Φ in a straightforward manner, in the same asymptotic time bound. A recent work of Chan et al. [28] solves the on-line version of this dual point enclosure problem within the same performance bound as our off-line solution.