SearcharxivSearch

arXiv subjects

Mohammad Ghodsi

Publications and source records attributed to Mohammad Ghodsi.

At least 19 recordsLinked to original sources

Quantum Complexity vs Classical Complexity: A Survey

Scientists have demonstrated that quantum computing has presented novel approaches to address computational challenges, each varying in complexity. Adapting problem-solving strategies is crucial to harness the full potential of quantum computing. Nonetheless, there are defined boundaries to the capabilities of quantum computing. This paper concentrates on aggregating prior research efforts dedicated to solving intricate classical computational problems through quantum computing. The objective is to systematically compile an exhaustive inventory of these solutions and categorize a collection of demanding open problems that await further exploration. Through statistical analysis, we help the researchers with their further investigations.

cs.CC

Massively-Parallel Heat Map Sorting and Applications To Explainable Clustering

Given a set of points labeled with $k$ labels, we introduce the heat map sorting problem as reordering and merging the points and dimensions while preserving the clusters (labels). A cluster is preserved if it remains connected, i.e., if it is not split into several clusters and no two clusters are merged. We prove the problem is NP-hard and we give a fixed-parameter algorithm with a constant number of rounds in the massively parallel computation model, where each machine has a sublinear memory and the total memory of the machines is linear. We give an approximation algorithm for a NP-hard special case of the problem. We empirically compare our algorithm with k-means and density-based clustering (DBSCAN) using a dimensionality reduction via locality-sensitive hashing on several directed and undirected graphs of email and computer networks.

cs.DS

A 2-Approximation Algorithm for Data-Distributed Metric k-Center

In a metric space, a set of point sets of roughly the same size and an integer $k\geq 1$ are given as the input and the goal of data-distributed $k$-center is to find a subset of size $k$ of the input points as the set of centers to minimize the maximum distance from the input points to their closest centers. Metric $k$-center is known to be NP-hard which carries to the data-distributed setting. We give a $2$-approximation algorithm of $k$-center for sublinear $k$ in the data-distributed setting, which is tight. This algorithm works in several models, including the massively parallel computation model (MPC).

cs.CG

A Massively Parallel Dynamic Programming for Approximate Rectangle Escape Problem

Sublinear time complexity is required by the massively parallel computation (MPC) model. Breaking dynamic programs into a set of sparse dynamic programs that can be divided, solved, and merged in sublinear time. The rectangle escape problem (REP) is defined as follows: For $n$ axis-aligned rectangles inside an axis-aligned bounding box $B$, extend each rectangle in only one of the four directions: up, down, left, or right until it reaches $B$ and the density $k$ is minimized, where $k$ is the maximum number of extensions of rectangles to the boundary that pass through a point inside bounding box $B$. REP is NP-hard for $k>1$. If the rectangles are points of a grid (or unit squares of a grid), the problem is called the square escape problem (SEP) and it is still NP-hard. We give a $2$-approximation algorithm for SEP with $k\geq2$ with time complexity $O(n^{3/2}k^2)$. This improves the time complexity of existing algorithms which are at least quadratic. Also, the approximation ratio of our algorithm for $k\geq 3$ is $3/2$ which is tight. We also give a $8$-approximation algorithm for REP with time complexity $O(n\log n+nk)$ and give a MPC version of this algorithm for $k=O(1)$ which is the first parallel algorithm for this problem.

cs.CG

An Efficient Construction of Yao-Graph in Data-Distributed Settings

A sparse graph that preserves an approximation of the shortest paths between all pairs of points in a plane is called a geometric spanner. Using range trees of sublinear size, we design an algorithm in massively parallel computation (MPC) model for constructing a geometric spanner known as Yao-graph. This improves the total time and the total memory of existing algorithms for geometric spanners from subquadratic to near-linear.

cs.CG

A parallel algorithm for Delaunay triangulation of moving points on the plane

Delaunay Triangulation(DT) is one of the important geometric problems that is used in various branches of knowledge such as computer vision, terrain modeling, spatial clustering and networking. Kinetic data structures have become very important in computational geometry for dealing with moving objects. However, when dealing with moving points, maintaining a dynamically changing Delaunay triangulation can be challenging. So, In this case, we have to update triangulation repeatedly. If points move so far, it is better to rebuild the triangulation. One approach to handle moving points is to use an incremental algorithm. For the case that points move slowly, we can give a faster algorithm than rebuilding it. Furthermore, sequential algorithms can be computationally expensive for large datasets. So, one way to compute as fast as possible is parallelism. In this paper, we propose a parallel algorithm for moving points. we propose an algorithm that divides datasets into equal partitions and give every partition to one block. Each block satisfay the Delaunay constraints after each time step and uses delete and insert algorithms to do this. We show this algorithm works faster than serial algorithms.

cs.CG

Visibility Extension via Reflection

This paper studies a variant of the Art Gallery problem in which the ``walls" can be replaced by \emph{reflecting edges}, which allows the guards to see further and thereby see a larger portion of the gallery. Given a simple polygon $\cal P$, first, we consider one guard as a point viewer, and we intend to use reflection to add a certain amount of area to the visibility polygon of the guard. We study visibility with specular and diffuse reflections where the specular type of reflection is the mirror-like reflection, and in the diffuse type of reflection, the angle between the incident and reflected ray may assume all possible values between $0$ and $π$. Lee and Aggarwal already proved that several versions of the general Art Gallery problem are $NP$-hard. We show that several cases of adding an area to the visible area of a given point guard are $NP$-hard, too. Second, we assume all edges are reflectors, and we intend to decrease the minimum number of guards required to cover the whole gallery. Chao Xu proved that even considering $r$ specular reflections, one may need $\lfloor \frac{n}{3} \rfloor$ guards to cover the polygon. Let $r$ be the maximum number of reflections of a guard's visibility ray. In this work, we prove that considering $r$ \emph{diffuse} reflections, the minimum number of \emph{vertex or boundary} guards required to cover a given simple polygon $\cal P$ decreases to { $\bf \lceil \fracα{1+ \lfloor \frac{r}{8} \rfloor} \rceil$}, where $α$ indicates the minimum number of guards required to cover the polygon without reflection. We also generalize the $\mathcal{O}(\log n)$-approximation ratio algorithm of the vertex guarding problem to work in the presence of reflection.

cs.CG

Trajectory Range Visibility

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.

cs.CG

Clustering Geometrically-Modeled Points in the Aggregated Uncertainty Model

The $k$-center problem is to choose a subset of size $k$ from a set of $n$ points such that the maximum distance from each point to its nearest center is minimized. Let $Q=\{Q_1,\ldots,Q_n\}$ be a set of polygons or segments in the region-based uncertainty model, in which each $Q_i$ is an uncertain point, where the exact locations of the points in $Q_i$ are unknown. The geometric objects segments and polygons can be models of a point set. We define the uncertain version of the $k$-center problem as a generalization in which the objective is to find $k$ points from $Q$ to cover the remaining regions of $Q$ with minimum or maximum radius of the cluster to cover at least one or all exact instances of each $Q_i$, respectively. We modify the region-based model to allow multiple points to be chosen from a region and call the resulting model the aggregated uncertainty model. All these problems contain the point version as a special case, so they are all NP-hard with a lower bound 1.822. We give approximation algorithms for uncertain $k$-center of a set of segments and polygons. We also have implemented some of our algorithms on a data-set to show our theoretical performance guarantees can be achieved in practice.

cs.CG

A Constant-Factor Approximation Algorithm for Point Guarding an Art Gallery

Given a simple polygon $\cal P$, in the Art Gallery problem the goal is to find the minimum number of guards needed to cover the entire $\cal P$, where a guard is a point and can see another point $q$ when $\overline{pq}$ does not cross the edges of $\cal P$. This paper studies a variant of the Art Gallery problem in which guards are restricted to lie on a dense grid inside $\cal P$. In the general problem, guards can be anywhere inside or on the boundary of $\cal P$. The general problem is called the \emph{point} guarding problem. It was proved that the point guarding problem is APX-complete, meaning that we cannot do better than a constant-factor approximation algorithm unless $P = NP$. A huge amount of research is committed to the studies of combinatorial and algorithmic aspects of this problem, and as of this time, we could not find a constant factor approximation for simple polygons. The last best-known approximation factor for point guarding a simple polygon was $\mathcal{O}(\log (|OPT|))$ introduced by E. Bonnet and T. Miltzow in 2020, where $|OPT|$ is the size of the optimal solution. Here, we propose an algorithm with a constant approximation factor for the point guarding problem where the location of guards is restricted to a grid. The running time of the proposed algorithm depends on the number of cells of the grid. The approximation factor is constant regardless of the grid we use, the running time could be super-polynomial if the grid size becomes exponential.

cs.CG

Online Fair Revenue Maximizing Cake Division with Non-Contiguous Pieces in Adversarial Bandits

The classic cake-cutting problem provides a model for addressing the fair and efficient allocation of a divisible, heterogeneous resource among agents with distinct preferences. Focusing on a standard formulation of cake cutting, in which each agent must receive a contiguous piece of the cake in an offline setting, this work instead focuses on online allocating non-contiguous pieces of cake among agents and establishes algorithmic results for fairness measures. In this regard, we made use of classic adversarial multi-armed bandits to achieve sub-linear Fairness and Revenue Regret at the same time. Adversarial bandits are powerful tools to model the adversarial reinforcement learning environments, that provide strong upper-bounds for regret of learning with just observing one action's reward in each step by applying smart trade-off between exploration and exploitation. This work studies the power of the famous EXP_3 algorithm that is based on exponential wight{-}importance updating probability distribution through time horizon.

cs.LG

Approximating The p-Mean Curve of Large Data-Sets

A set of piecewise linear functions, called polylines, $P_1,\ldots,P_L$ each with at most $n$ vertices can be simplified into a polyline $M$ with $k$ vertices, such that the Fréchet distances $ε_1,\ldots,ε_L$ to each of these polylines are minimized under the $L_p$ distance. We call $M$ for $L_p$ with $p\geq 1$ a $p$-mean curve ($p$-MC). We discuss $p\geq 1$, for which $L_p$ distance satisfies the triangle inequality and $p$-mean has not been discussed before for most values $p$. Computing the $p$-mean polyline is NP-hard for $L=Ω(1)$ and some values of $p$, so we discuss approximation algorithms. We give a $O(n^2\log k)$ time exact algorithm for $L=2$ and $p\geq 1$. Also, we reduce the Fréchet distance to the discrete Fréchet distance which adds a factor $2$ to both $k$ and $ε$. Then we use our exact algorithm to find a $3$-approximation for $L>2$ in $\operatorname{poly}(n,L)$ time. Our method is based on a generalization of the free-space diagram (FSD) for Fréchet distance and composable core-sets for approximate summaries.

cs.CG

Art Gallery Plus Single Specular-reflection

Given a simple polygon $\cal P$, in the Art Gallery problem, the goal is to find the minimum number of guards needed to cover the entire $\cal P$, where a guard is a point and can see another point $q$ when $\overline{pq}$ does not cross the edges of $\cal P$. This paper studies a variant of the Art Gallery problem in which the boundaries of $\cal P$ are replaced by single specular-reflection edges, allowing the view rays to reflect once per collision with an edge. This property allows the guards to see through the reflections, thereby viewing a larger portion of the polygon. For this problem, the position of the guards in $\cal P$ can be determined with our proposed $\mathcal{O}(\log n)$-approximation algorithm. Besides presenting an algorithm with the mentioned approximation factor, we will see that reflection can decrease the number of guards in practice. The proposed algorithm converts the generalized problem to the Set Cover problem.

cs.CG

Computing The Packedness of Curves

A polygonal curve $P$ with $n$ vertices is $c$-packed, if the sum of the lengths of the parts of the edges of the curve that are inside any disk of radius $r$ is at most $cr$, for any $r>0$. Similarly, the concept of $c$-packedness can be defined for any scaling of a given shape. Assuming $L$ is the diameter of $P$ and $δ$ is the minimum distance between points on disjoint edges of $P$, we show the approximation factor of the existing $O(\frac{\log (L/δ)}εn^3)$ time algorithm is $1+ε$-approximation algorithm. The massively parallel versions of these algorithms run in $O(\log (L/δ))$ rounds. We improve the existing $O((\frac{n}{ε^3})^{\frac 4 3}\polylog \frac n ε)$ time $(6+ε)$-approximation algorithm by providing a $(4+ε)$-approximation $O(n(\log^2 n)(\log^2 \frac{1}ε)+\frac{n}ε)$ time algorithm, and the existing $O(n^2)$ time $2$-approximation algorithm improving the existing $O(n^2\log n)$ time $2$-approximation algorithm. Our exact $c$-packedness algorithm takes $O(n^5)$ time, which is the first exact algorithm for disks. We show using $α$-fat shapes instead of disks adds a factor $α^2$ to the approximation. We also give a data-structure for computing the curve-length inside query disks. It has $O(n^6\log n)$ construction time, uses $O(n^6)$ space, and has query time $O(\log n+k)$, where $k$ is the number of intersected segments with the query shape. We also give a massively parallel algorithm for relative $c$-packedness with $O(1)$ rounds.

cs.CG

Point-Location in The Arrangement of Curves

An arrangement of $n$ curves in the plane is given. The query is a point $q$ and the goal is to find the face of the arrangement that contains $q$. A data-structure for point-location, preprocesses the curves into a data structure of polynomial size in $n$, such that the queries can be answered in time polylogarithmic in $n$. We design a data structure for solving the point location problem queries in $O(\log C(n)+\log S(n))$ time using $O(T(n)+S(n)\log(S(n)))$ preprocessing time, if a polygonal subdivision of total size $S(n)$, with cell complexity at most $C(n)$ can be computed in time $T(n)$, such that the order of the parts of the curves inside each cell has a monotone order with respect to at least one segment of the boundary of the cell. We call such a partitioning a curve-monotone polygonal subdivision.

cs.CG

Parsisanj: a semi-automatic component-based approach towards search engine evaluation

Accessing to required data on the internet is wide via search engines in the last two decades owing to the huge amount of available data and the high rate of new data is generating daily. Accordingly, search engines are encouraged to make the most valuable existing data on the web searchable. Knowing how to handle a large amount of data in each step of a search engines' procedure from crawling to indexing and ranking is just one of the challenges that a professional search engine should solve. Moreover, it should also have the best practices in handling users' traffics, state-of-the-art natural language processing tools, and should also address many other challenges on the edge of science and technology. As a result, evaluating these systems is too challenging due to the level of internal complexity they have, and is crucial for finding the improvement path of the existing system. Therefore, an evaluation procedure is a normal subsystem of a search engine that has the role of building its roadmap. Recently, several countries have developed national search engine programs to build an infrastructure to provide special services based on their needs on the available data of their language on the web. This research is conducted accordingly to enlighten the advancement path of two Iranian national search engines: Yooz and Parsijoo in comparison with two international ones, Google and Bing. Unlike related work, it is a semi-automatic method to evaluate the search engines at the first pace. Eventually, we obtained some interesting results which based on them the component-based improvement roadmap of national search engines could be illustrated concretely.

cs.IR

On the Distortion Value of the Elections with Abstention

In Spatial Voting Theory, distortion is a measure of how good the winner is. It is proved that no deterministic voting mechanism can guarantee a distortion better than $3$, even for simple metrics such as a line. In this study, we wish to answer the following question: how does the distortion value change if we allow less motivated agents to abstain from the election? We consider an election with two candidates and suggest an abstention model, which is a more general form of the abstention model proposed by Kirchgassner. We define the concepts of the expected winner and the expected distortion to evaluate the distortion of an election in our model. Our results fully characterize the distortion value and provide a rather complete picture of the model.

cs.GT

A Composable Coreset for k-Center in Doubling Metrics

A set of points $P$ in a metric space and a constant integer $k$ are given. The $k$-center problem finds $k$ points as centers among $P$, such that the maximum distance of any point of $P$ to their closest centers $(r)$ is minimized. Doubling metrics are metric spaces in which for any $r$, a ball of radius $r$ can be covered using a constant number of balls of radius $r/2$. Fixed dimensional Euclidean spaces are doubling metrics. The lower bound on the approximation factor of $k$-center is $1.822$ in Euclidean spaces, however, $(1+ε)$-approximation algorithms with exponential dependency on $\frac{1}ε$ and $k$ exist. For a given set of sets $P_1,\ldots,P_L$, a composable coreset independently computes subsets $C_1\subset P_1, \ldots, C_L\subset P_L$, such that $\cup_{i=1}^L C_i$ contains an approximation of a measure of the set $\cup_{i=1}^L P_i$. We introduce a $(1+ε)$-approximation composable coreset for $k$-center, which in doubling metrics has size sublinear in $|P|$. This results in a $(2+ε)$-approximation algorithm for $k$-center in MapReduce with a constant number of rounds in doubling metrics for any $ε>0$ and sublinear communications, which is based on parametric pruning. We prove the exponential nature of the trade-off between the number of centers $(k)$ and the radius $(r)$, and give a composable coreset for a related problem called dual clustering. Also, we give a new version of the parametric pruning algorithm with $O(\frac{nk}ε)$ running time, $O(n)$ space and $2+ε$ approximation factor for metric $k$-center.

cs.DS