Author (Your Name)

Andreea Olea, Colby College

Date of Award


Document Type

Honors Thesis (Colby Access Only)


Colby College. Computer Science Dept.


John Augustine


Graph Partitioning is a well-known NP hard problem that asks to separate a given graph into mutually disjoint subgraphs, given specific constraints. This problem has great applicability in designing systems where hardware/software partitioning becomes essential. Given a sequential program written in a procedural language, a compiler is required to split it into a combination of hardware and software implementations, and therefore needs an efficient partitioning tool to achieve this task. The goal is to keep the execution time at a minimum, while keeping the total hardware area within the physical constraints of the available resources. This project deals with the implementation of two heuristics that can perform the aforementioned task efficiently: the Kernighan-Lin algorithm and Simulated Annealing, and improves on each of them by combining them with a stochastic technique called WalkSAT.


Full-text download restricted to Colby College campus only.


Computer algorithms, Graph theory -- Data processing, Stochastic systems, Simulated annealing (Mathematics)