Department of Computer Science, Western Michigan University, Kalamazoo, MI;Department of Computer Science, Western Michigan University, Kalamazoo, MI;Department of Computer Science, Western Michigan University, Kalamazoo, MI;Department of Computer Science, Western Michigan University, Kalamazoo, MI;Department of Mathematics and Statistics, Washington State University, Pullman, Washington