-
[show abstract]
[hide abstract]
ABSTRACT: Identifying conserved gene clusters is an important step toward understanding the evolution of genomes and predicting the functions of genes. A famous model to capture the essential biological features of a conserved gene cluster is called the gene-team model. The problem of finding the gene teams of two general sequences is the focus of this paper. For this problem, He and Goldwasser had an efficient algorithm that requires O(mn) time using O(m + n) working space, where m and n are, respectively, the numbers of genes in the two given sequences. In this paper, a new efficient algorithm is presented. Assume m ≤ n. Let C = Σ<sub>αϵΣ</sub> o<sub>1</sub>(α)o<sub>2</sub>(α), where Σ is the set of distinct genes, and o<sub>1</sub>(α) and o<sub>2</sub>(a) are, respectively, the numbers of copies of a in the two given sequences. Our new algorithm requires O(min{C lg n,mn}) time using O(m + n) working space. As compared with He and Goldwasser's algorithm, our new algorithm is more practical, as C is likely to be much smaller than mn in practice. In addition, our new algorithm is output sensitive. Its running time is O(lg n) times the size of the output. Moreover, our new algorithm can be efficiently extended to find the gene teams of k general sequences in O(k C Ig (n<sub>1</sub>n<sub>2</sub>...n<sub>k</sub>)) time, where n<sub>i</sub> is the number of genes in the ith input sequence.
IEEE/ACM Transactions on Computational Biology and Bioinformatics 05/2012; · 1.54 Impact Factor
-
IEEE/ACM Trans. Comput. Biology Bioinform. 01/2012; 9:330-344.
-
Comput. Geom. 01/2011; 44:148-159.
-
[show abstract]
[hide abstract]
ABSTRACT: A gene team is a set of genes that appear in two or more species, possibly in a different order yet with the distance between adjacent genes in the team for each chromosome always no more than a certain threshold δ. A gene team tree is a succinct way to represent all gene teams for every possible value of δ. In this paper, improved algorithms are presented for the problem of finding the gene teams of two chromosomes and the problem of constructing a gene team tree of two chromosomes. For the problem of finding gene teams, Beal et al. had an O(n lg2 n)-time algorithm. Our improved algorithm requires O(n lg t) time, where t ≤ n is the number of gene teams. For the problem of constructing a gene team tree, Zhang and Leong had an O(n lg2 n)-time algorithm. Our improved algorithm requires O(n lg n lglg n) time. Similar to Beal et al.'s gene team algorithm and Zhang and Leong's gene team tree algorithm, our improved algorithms can be extended to k chromosomes with the time complexities increased only by a factor of k.
IEEE/ACM transactions on computational biology and bioinformatics / IEEE, ACM 11/2010; 8(5):1258-72. · 2.25 Impact Factor
-
J. Comput. Syst. Sci. 01/2010; 76:697-708.
-
Algorithms and Computation - 21st International Symposium, ISAAC 2010, Jeju Island, Korea, December 15-17, 2010, Proceedings, Part II; 01/2010
-
Theor. Comput. Sci. 01/2009; 410:867-876.
-
J. Comput. Syst. Sci. 01/2009; 75:451-464.
-
Combinatorial Optimization and Applications, Third International Conference, COCOA 2009, Huangshan, China, June 10-12, 2009. Proceedings; 01/2009
-
Computing and Combinatorics, 15th Annual International Conference, COCOON 2009, Niagara Falls, NY, USA, July 13-15, 2009, Proceedings; 01/2009
-
ACM Transactions on Algorithms. 01/2008; 4.
-
IEEE/ACM Trans. Comput. Biology Bioinform. 01/2008; 5:281-290.
-
Proceedings of the 2007 International Conference on Foundations of Computer Science, FCS 2007, June 25-28, 2007, Las Vegas, Nevada, USA; 01/2007
-
J. Algorithms. 01/2006; 59:107-124.
-
Computing and Combinatorics, 12th Annual International Conference, COCOON 2006, Taipei, Taiwan, August 15-18, 2006, Proceedings; 01/2006
-
Algorithms and Computation, 17th International Symposium, ISAAC 2006, Kolkata, India, December 18-20, 2006, Proceedings; 01/2006
-
[show abstract]
[hide abstract]
ABSTRACT: This paper studies the problem of finding the 1-median on a graph where vertex weights are uncertain and the uncertainty is
characterized by given intervals. It is required to find a minmax regret solution, which minimizes the worst-case loss in
the objective function. Averbakh and Berman had an O(mn
2log n)-time algorithm for the problem on a general graph, and had an O(nlog2
n)-time algorithm on a tree. In this paper, we improve these two bounds to O(mn
2 + n
3log n) and O(nlog n), respectively.
01/2006;
-
Biing-Feng Wang
[show abstract]
[hide abstract]
ABSTRACT: Let T=(V, E) be an edge-weighted tree with |V|=n vertices embedded in the Euclidean plane. Let IE denote the set of all points on the edges of T. Let X and Y be two subsets of IE and let r be a positive real number. A subset D⊆X is an X/Y/r-dominating set if every point in Y is within distance r of a point in D. The X/Y/r-dominating set problem is to find an X/Y/r-dominating set D* with minimum cardinality. Let p≥1 be an integer. The X/Y/p-center problem is to find a subset C*⊆X of p points such that the maximum distance of any point in Y from C* is minimized. Let X and Y be either V or IE. In this paper, efficient parallel algorithms on the EREW PRAM are first presented for the X/Y/r-dominating set problem. The presented algorithms require O(log<sup>2</sup>n) time for all cases of X and Y. Parallel algorithms on the EREW PRAM are then developed for the X/Y/p-center problem. The presented algorithms require O(log<sup>3</sup>n) time for all cases of X and Y. Previously, sequential algorithms for these two problems had been extensively studied in the literature. However, parallel solutions with polylogarithmic time existed only for their special cases. The algorithms presented in this paper are obtained by using an interesting approach which we call the dependency-tree approach. Our results are examples of parallelizing sequential dynamic-programming algorithms by using the approach.
IEEE Transactions on Parallel and Distributed Systems 09/2004; · 1.40 Impact Factor
-
J. Algorithms. 01/2004; 52:82-100.
-
[show abstract]
[hide abstract]
ABSTRACT: A Cartesian product network is obtained by applying the cross operation on two graphs. We study the problem of constructing the maximum number of edge-disjoint spanning trees (abbreviated to EDSTs) in Cartesian product networks. Let G=(V<sub>G</sub>, E<sub>G</sub>) be a graph having n<sub>1</sub> EDSTs and F=(V<sub>F</sub>, E<sub>F</sub>) be a graph having n<sub>2</sub> EDSTs. Two methods are proposed for constructing EDSTs in the Cartesian product of G and F, denoted by G×F. The graph G has t<sub>1</sub>=|E<sub>G</sub>|·n<sub>1</sub>(|V<sub>G</sub>|-1) more edges than that are necessary for constructing n<sub>1</sub> EDSTs in it, and the graph F has t2=|E<sub>F</sub>'-n<sub>2</sub>(|V<sub>F</sub>|-1) more edges than that are necessary for constructing n<sub>2</sub> EDSTs in it. By assuming that t<sub>1</sub>≥n<sub>1</sub> and t<sub>2</sub>≥n<sub>2</sub>, our first construction shows that n<sub>1</sub>+n<sub>2</sub> EDSTS can be constructed in G×F. Our second construction does not need any assumption and it constructs n<sub>1</sub>+n<sub>2</sub>-1 EDSTs in G×F. By applying the proposed methods, it is easy to construct the maximum numbers of EDSTs in many important Cartesian product networks, such as hypercubes, tori, generalized hypercubes, mesh connected trees, and hyper Petersen networks.
IEEE Transactions on Parallel and Distributed Systems 04/2003; 14(3):213- 221. · 1.40 Impact Factor