title: Hamiltonian paths & social graph algorithm
body: <p>I have a random undirected social graph. </p>
  
  <p>I want to find a Hamiltonian path if possible. Or if not possible (or not possible to know if possible in polynomial time) a series of paths. In this "series of paths" (where all N nodes are used exactly once), I want to <strong>minimize the number of paths</strong> and <strong>maximize the average length</strong> of the paths. (So no trivial solution of N paths of a single node). </p>
  
  <p>I have generated an adjacency matrix for the nodes and edges already.</p>
  
  <p>Any suggestions? Pointers in the right direction? I realize this will require heuristics because of the NP-complete (?) nature of the problem, and I am OK with a "good enough" answer.  Also I would like to do this in Java. </p>
  
  <p>Thanks!</p>