As search spaces become larger and as problems scale up, an efficient way to speed up the search is to use a more accurate heuristic function. A better heuristic function might be obtained by the following general idea. Many problems can be divided into a set of subproblems and subgoals that should be achieved. Interactions and conflicts between unsolved subgoals of the problem might provide useful knowledge which could be used to construct an informed heuristic function. In this paper we demonstrate this idea on the graph partitioning problem (GPP). We first show how to format GPP as a search problem and then introduce a sequence of admissible heuristic functions estimating the size of the optimal partition by looking into different interactions between vertices of the graph. We then optimally solve GPP with these heuristics. Experimental results show that our advanced heuristics achieve a speedup of up to a number of orders of magnitude. Finally, we experimentally compare our approach to other states of the art graph partitioning optimal solvers on a number of classes of graphs. The results obtained show that our algorithm outperforms them in many cases.
Similar content being viewed by others
References
DIMACS Implementation Challenge: The Traveling Salesman Problem, available at http://www.research.att.com/~dsj/chtsp/
L. Brunetta, M. Conforti and N. Rinaldi, A branch-and-cut algorithm for the equicut problem, Mathematical Programming 78 (1997) 243–263.
T.N. Bui and B.R. Moon, Genetic algorithm and graph partitioning, IEEE Transactions on Computers 45(7) (1996) 87–101.
P.P. Chakrabarti, S. Ghose, A. Acharya and S.C. de Sarkar, Heuristic search in restricted memory, Artificial Intelligence 41(2) (1989) 197–221.
J. Clausen and J. Larsson-Traff, Implementation of parallel branch and bound algorithms – Experiences with the graph partitioning problem, Annals of Operation Research 33 (1991) 331–349.
J.C. Cullberson and J. Schaeffer, Pattern databases, Computational Intelligence 14(3) (1998) 318–334.
R. Dechter and J. Pearl, Generalized best-first search strategies and the optimality of A*, Journal of the Association for Computing Machinery 32(3) (1985) 505–536.
J.F. Dillenburg and P.C. Nelson, Perimeter search, Artificial Intelligence 65 (1994) 165–178.
S. Edelkamp, Planning with Pattern Databases, Proceedings of the 6th European Conference on Planning (ECP-01) (2001).
A. Felner, Improving search techniques and using them on different environments, Ph.D thesis, Department of Computer Science, Bar-Ilan University, Ramat-Gan, Israel, available at http://www.ise.bgu.ac.il/facutly/felner, 2001.
A. Felner, R.E. Korf and Sarit Hanan, Additive pattern database heuristics, Journal of Artificial Intelligence Research (JAIR) 22 (2004) 279–318.
A. Ferreira, A. Martin, C.C. de Souza, R. Weismantel and L.A. Wolsey, The node capacitated graph partitioning problem: A computational study, Mathematical Programming 81 (1998) 229–256.
M. Garey, D. Johnson and L. Stockmeyer, Some simplefied np-complete graph problems, Theorethical Computer Science 1 (1976) 237–267.
P.E. Hart, N.J. Nilsson and B. Raphael, A formal basis for the heuristic determination of minimum cost paths, IEEE Transactions on Systems Science and Cybernetics, SCC-4(2) (1968) 100–107.
B. Hendrickson and R. Leland, The chaco user’s guide, Technical Report, SAND94-2692, Sandia National Laboratories (1994).
I.T. Hernádvölgyi, Searching for Macro Operators with Automatically Generated Heuristics, Advances in Artificial Intelligence – Proceedings of the Fourteenth Biennial Conference of the Canadian Society for Computational Studies of Intelligence (LNAI 2056), pp. 194–203, 2001.
Feng-Hsiung Hsu, Behind Deep Blue: Building the Computer that Defeated the World (Princeton University Press, 2002).
D.S. Johnson, C.R. Aragon, L.A. McGeoch and C. Schevon, Optimization by simulated allealing: An experimental evaluation: Part 1. Graph Partitioning, Operations Research 37 (1989) 121–133.
E.L. Johnson, A. Mehrotra and G.L. Nemhauser, Min-cut clustering, Mathematical Programming 62 (1993) 133–151.
A. Junghanns and J. Schaeffer, Sokoban: Enhancing general single-agent search methods using domain knowledge, Artificial Intelligence 129 (2001) 219–251.
S.E. Karisch, F. Rendl and J. Clausen, Solving graph bisection problems with semidefinite programming informs, Journal of Computing 12(3) (2000) 177–191.
G. Karypis and V. Kumar, A fast and high quality multilevel scheme for partitioning irregular graphs, Technical Report, 95-035, 1995.
B. Kernigham and S. Lin, An efficient heiristic procedure for partitioning graphs, Bell Systems Technical Journal 49 (1970) 291–307.
R.E. Korf, Depth-first iterative-deepening: An optimal admissible tree search, Artificial Intelligence 27(1) (1985) 97–109.
R.E. Korf, Finding Optimal Solutions to Rubik’s Cube Using Pattern Databases, Proceedings of the Fourteenth National Conference on Artificial Intelligence, 700–705, 1997, Providence, Rhode Island.
R.E. Korf and A. Felner, Disjoint pattern database heuristics, Artificial Intelligence 134 (2002) 9–22.
R.E. Korf, L. Taylor, Finding optimal solutions to the twenty-four puzzle, in: Proc of AAAI-96, (Portland Or., 1996) pp. 1202-1207.
G. Manzini, BIDA*: an improved perimeter search algorithm, Artificial Intelligence 75 (1995) 347–360.
J.B. Oommen and E.V. de St. Croix, Graph partitioning using learning automata, IEEE Transactions On Computers 45(2) (1995) 195–208.
B. Patrick, M. Amulla and M. Newborn, An upper bound on the time complexity of iteratively-deepening A*, International Journal of Artificial Intelligence and Mathematics 5 (1992) 265–277.
F. Pellgrini and J. Roman, SCOTCH: A software package for static mapping by dual recursive bipartitioning of process and architecture graphs, HPCN-Europe, Springer LNCS 1067 (1996) pp. 493–498.
H. Pirkul and E. Rolland, New heuristic solution procedures for the uniform graph partitioning problem, Computers and Operations research (1991).
R. Preis and R. Diekmann, PARTY – A software library for graph partitioning, Technical Report, University of Paderborn, 1997.
E. Rolland and H. Pirkul, A Lagrangian Based Heuristic for Uniform Graph Partitioning, Computers and Operations research (1999) 87–99.
S.J. Russell, Efficient memory-bounded search methods, Proc of ECAI-92 (1992).
K. Schloegel, G. Karypis and V. Kumar, Graph Partitioning for High Performance Scientific Simulations, CRPC Parallel Computing Handbook, 2000.
A. Sen and A. Bagchi, Fast recursive formulations for best-first search that allow controlled use of memory, in: Proc of IJCAI-89, (Detroit, MI, 1989) pp. 297–302
N. Sensen, Lower Bounds and Exact Algorithms for the Graph Partitioning Problem with Multicommodity FLows, Algorithms – ESA (2001) pp. 391–403, 2001.
C. Walshaw, Parallel JOSTLE userguide, Technical Report, 1998.
W. Zhang and R.E. Korf, Performance of linear-space search algorithms, Artificial Intelligence 79 (1995) 241–292.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Felner, A. Finding optimal solutions to the graph partitioning problem with heuristic search. Ann Math Artif Intell 45, 293–322 (2005). https://doi.org/10.1007/s10472-005-9001-2
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10472-005-9001-2