-
Trajectory Range Visibility
Authors:
Seyed Mohammad Hussein Kazemi,
Arash Vaezi,
Mohammad Ali Abam,
Mohammad Ghodsi
Abstract:
Consider two entities with constant but not necessarily equal velocities, moving on two given piece-wise linear trajectories inside a simple polygon $P$. The Trajectory Range Visibility problem deals with determining the sub-trajectories on which two entities become visible to each other. A more straightforward decision version of this problem is called Trajectory Visibility, where the trajectorie…
▽ More
Consider two entities with constant but not necessarily equal velocities, moving on two given piece-wise linear trajectories inside a simple polygon $P$. The Trajectory Range Visibility problem deals with determining the sub-trajectories on which two entities become visible to each other. A more straightforward decision version of this problem is called Trajectory Visibility, where the trajectories are line segments. The decision version specifies whether the entities can see one another. This version was studied by P. Eades et al. in 2020, where they supposed given constant velocities for the entities. However, the approach presented in this paper supports non-constant complexity trajectories. Furthermore, we report every pair of constant velocities with which the entities can see each other. In particular, for every constant velocity of a moving entity, we specify: $(1)$ All visible parts of the other entity's trajectory. $(2)$ All possible constant velocities of the other entity to become visible.
Regarding line-segment trajectories, we present $\mathcal{O}(n \log n)$ running time algorithm which obtains all pairs of sub-trajectories on which the moving entities become visible to one another, where $n$ is the complexity of $P$. Regarding the general case, we provide an algorithm with $\mathcal{O}(n \log n + m(\log m + \log n))$ running time, where $m$ indicates the complexity of both trajectories. We offer $\mathcal{O}(\log n)$ query time for line segment trajectories and $\mathcal{O}(\log m + k)$ for the non-constant complexity ones s.t. $k$ is the number of velocity ranges reported in the output. Interestingly, our results require only $\mathcal{O}(n + m)$ space for non-constant complexity trajectories.
△ Less
Submitted 27 February, 2023; v1 submitted 29 August, 2022;
originally announced September 2022.
-
Maximum Weight Convex Polytope
Authors:
Mohammad Ali Abam,
Ali Mohammad Lavasani,
Denis Pankratov
Abstract:
We study the maximum weight convex polytope problem, in which the goal is to find a convex polytope maximizing the total weight of enclosed points. Prior to this work, the only known result for this problem was an $O(n^3)$ algorithm for the case of $2$ dimensions due to Bautista et al. We show that the problem becomes $\mathcal{NP}$-hard to solve exactly in $3$ dimensions, and $\mathcal{NP}$-hard…
▽ More
We study the maximum weight convex polytope problem, in which the goal is to find a convex polytope maximizing the total weight of enclosed points. Prior to this work, the only known result for this problem was an $O(n^3)$ algorithm for the case of $2$ dimensions due to Bautista et al. We show that the problem becomes $\mathcal{NP}$-hard to solve exactly in $3$ dimensions, and $\mathcal{NP}$-hard to approximate within $n^{1/2-ε}$ for any $ε> 0$ in $4$ or more dimensions. %\polyAPX-complete in $4$ dimensions even with binary weights. We also give a new algorithm for $2$ dimensions, albeit with the same $O(n^3)$ running time complexity as that of the algorithm of Bautsita et al.
△ Less
Submitted 26 July, 2022;
originally announced July 2022.
-
Geodesic Spanners for Points in $\mathbb{R}^3$ amid Axis-parallel Boxes
Authors:
Mohammad Ali Abam,
Mohammad Javad Rezaei Seraji
Abstract:
Let $P$ be a set of $n$ points in $\mathbb{R}^3$ amid a bounded number of obstacles. When obstacles are axis-parallel boxes, we prove that $P$ admits an $8\sqrt{3}$-spanner with $O(n\log^3 n)$ edges with respect to the geodesic distance.
Let $P$ be a set of $n$ points in $\mathbb{R}^3$ amid a bounded number of obstacles. When obstacles are axis-parallel boxes, we prove that $P$ admits an $8\sqrt{3}$-spanner with $O(n\log^3 n)$ edges with respect to the geodesic distance.
△ Less
Submitted 8 August, 2020; v1 submitted 3 April, 2020;
originally announced April 2020.
-
Geodesic Spanners for Points on a Polyhedral Terrain
Authors:
Mohammad Ali Abam,
Mark de Berg,
Mohammad Javad Rezaei Seraji
Abstract:
We show that there exists a geodesic spanner with almost linear number of edges.
We show that there exists a geodesic spanner with almost linear number of edges.
△ Less
Submitted 5 November, 2015;
originally announced November 2015.
-
Kinetic $k$-Semi-Yao Graph and its Applications
Authors:
Zahed Rahmati,
Mohammad Ali Abam,
Valerie King,
Sue Whitesides
Abstract:
This paper introduces a new proximity graph, called the $k$-Semi-Yao graph ($k$-SYG), on a set $P$ of points in $\mathbb{R}^d$, which is a supergraph of the $k$-nearest neighbor graph ($k$-NNG) of $P$. We provide a kinetic data structure (KDS) to maintain the $k$-SYG on moving points, where the trajectory of each point is a polynomial function whose degree is bounded by some constant. Our techniqu…
▽ More
This paper introduces a new proximity graph, called the $k$-Semi-Yao graph ($k$-SYG), on a set $P$ of points in $\mathbb{R}^d$, which is a supergraph of the $k$-nearest neighbor graph ($k$-NNG) of $P$. We provide a kinetic data structure (KDS) to maintain the $k$-SYG on moving points, where the trajectory of each point is a polynomial function whose degree is bounded by some constant. Our technique gives the first KDS for the theta graph (\ie, $1$-SYG) in $\mathbb{R}^d$. It generalizes and improves on previous work on maintaining the theta graph in $\mathbb{R}^2$.
As an application, we use the kinetic $k$-SYG to provide the first KDS for maintenance of all the $k$-nearest neighbors in $\mathbb{R}^d$, for any $k\geq 1$. Previous works considered the $k=1$ case only. Our KDS for all the $1$-nearest neighbors is deterministic. The best previous KDS for all the $1$-nearest neighbors in $ \mathbb{R}^d$ is randomized. Our structure and analysis are simpler and improve on this work for the $k=1$ case. We also provide a KDS for all the $(1+ε)$-nearest neighbors, which in fact gives better performance than previous KDS's for maintenance of all the exact $1$-nearest neighbors.
As another application, we present the first KDS for answering reverse $k$-nearest neighbor queries on moving points in $ \mathbb{R}^d$, for any $k\geq 1$.
△ Less
Submitted 17 December, 2014;
originally announced December 2014.
-
A Simple, Faster Method for Kinetic Proximity Problems
Authors:
Zahed Rahmati,
Mohammad Ali Abam,
Valerie King,
Sue Whitesides,
Alireza Zarei
Abstract:
For a set of $n$ points in the plane, this paper presents simple kinetic data structures (KDS's) for solutions to some fundamental proximity problems, namely, the all nearest neighbors problem, the closest pair problem, and the Euclidean minimum spanning tree (EMST) problem. Also, the paper introduces KDS's for maintenance of two well-studied sparse proximity graphs, the Yao graph and the Semi-Yao…
▽ More
For a set of $n$ points in the plane, this paper presents simple kinetic data structures (KDS's) for solutions to some fundamental proximity problems, namely, the all nearest neighbors problem, the closest pair problem, and the Euclidean minimum spanning tree (EMST) problem. Also, the paper introduces KDS's for maintenance of two well-studied sparse proximity graphs, the Yao graph and the Semi-Yao graph.
We use sparse graph representations, the Pie Delaunay graph and the Equilateral Delaunay graph, to provide new solutions for the proximity problems. Then we design KDS's that efficiently maintain these sparse graphs on a set of $n$ moving points, where the trajectory of each point is assumed to be an algebraic function of constant maximum degree $s$. We use the kinetic Pie Delaunay graph and the kinetic Equilateral Delaunay graph to create KDS's for maintenance of the Yao graph, the Semi-Yao graph, all the nearest neighbors, the closest pair, and the EMST. Our KDS's use $O(n)$ space and $O(n\log n)$ preprocessing time.
We provide the first KDS's for maintenance of the Semi-Yao graph and the Yao graph. Our KDS processes $O(n^2β_{2s+2}(n))$ (resp. $O(n^3β_{2s+2}^2(n)\log n)$) events to maintain the Semi-Yao graph (resp. the Yao graph); each event can be processed in time $O(\log n)$ in an amortized sense. Here, $β_s(n)$ is an extremely slow-growing function.
Our KDS for maintenance of all the nearest neighbors and the closest pair processes $O(n^2β^2_{2s+2}(n)\log n)$ events. For maintenance of the EMST, our KDS processes $O(n^3β_{2s+2}^2(n)\log n)$ events. For all three of these problems, each event can be handled in time $O(\log n)$ in an amortized sense.
We improve the previous randomized kinetic algorithm for maintenance of all the nearest neighbors by Agarwal, Kaplan, and Sharir, and the previous EMST KDS by Rahmati and Zarei.
△ Less
Submitted 4 January, 2014; v1 submitted 8 November, 2013;
originally announced November 2013.
-
Kinetic Data Structures for the Semi-Yao Graph and All Nearest Neighbors in R^d
Authors:
Zahed Rahmati,
Mohammad Ali Abam,
Valerie King,
Sue Whitesides
Abstract:
This paper presents a simple kinetic data structure for maintaining all the nearest neighbors of a set of $n$ moving points in $\mathbb{R}^d$, where the trajectory of each point is an algebraic function of at most constant degree $s$. The approach is based on maintaining the edges of the Semi-Yao graph, a sparse graph whose edge set includes the pairs of nearest neighbors as a subset.
Our kineti…
▽ More
This paper presents a simple kinetic data structure for maintaining all the nearest neighbors of a set of $n$ moving points in $\mathbb{R}^d$, where the trajectory of each point is an algebraic function of at most constant degree $s$. The approach is based on maintaining the edges of the Semi-Yao graph, a sparse graph whose edge set includes the pairs of nearest neighbors as a subset.
Our kinetic data structure (KDS) for maintaining all the nearest neighbors is deterministic. It processes $O(n^2β_{2s+2}^2(n)\log n)$ events with a total cost of $O(n^2β_{2s+2}(n)\log^{d+1} n)$. Here, $β_s(n)$ is an extremely slow-growing function. The best previous KDS for all the nearest neighbors in $ \mathbb{R}^d$ is by Agarwal, Kaplan, and Sharir (TALG 2008). It is a randomized result. Our structure and analysis are simpler than theirs. Also, we improve their result by a factor of $\log^d n$ in the number of events and by a $\log n$ factor in the total cost.
This paper generalizes and improves the 2013 work of Rahmati, King and Whitesides (SoCG 2013) on maintaining the Semi-Yao graph in $\mathbb{R}^2$; its new technique provides the first KDS for the Semi-Yao graph in $\mathbb{R}^d$. Our KDS is local in the worst case, meaning that only a constant number of events is associated with any one point at any time.
For maintaining all the nearest neighbors, neither our KDS nor the KDS by Agarwal~\etal~is local, and furthermore, each event in our KDS and in their KDS is handled in polylogarithmic time in an amortized sense.
Finally, in this paper, we also give a KDS for maintenance of all the $(1+ε)$-nearest neighbors which is local and each event can be handled in a polylogarithmic worst-case time.
△ Less
Submitted 14 November, 2013; v1 submitted 10 July, 2013;
originally announced July 2013.