Daniel Tauritz

Associate Chair for Undergraduate Studies and Outreach Activities Associate Professor

Computer Science Department

Modern society is faced with ever more complex problems, many of which can be formulated as generate-and-test optimization problems. Such problems are characterized by the ability to generate trial solutions and evaluate their quality, so that in theory such problems can be solved by exhaustively generating all possible solutions and evaluating their quality. In practice, however, it is practically infeasible to generate even a fraction of the possible solutions, let alone all of them. Think of, for example, developing new cancer medications, modeling the stock market, designing optimal circuit diagrams for modern computer processors, identifying the most critical threats to our critical infrastructures and corresponding defenses, and many more. These problems have in common the extremely large number of potential solutions as well as that we do not need necessarily the theoretically best solution, but would be satisfied with a `good enough’ solution. Heuristic search algorithms are a type of algorithm which employs ‘rules of thumb’ to efficiently search for a `good enough’ solution; they obtain their efficiency at the expense of losing any guarantee of finding the theoretical best solution. My favorite type of heuristic search algorithm is the class of Evolutionary Algorithms, because they perform well over a wide variety of really hard types of problems. Evolutionary Algorithms are stochastic, population-based heuristic search algorithms inspired by neo-Darwinian evolution theory and Mendelian genetics. There are many flavors of Evolutionary Algorithms, including Genetic Algorithms and Genetic Programming.

In the real-world, there are a plentitude of scenarios where many instances of the same problem class need to be solved; think, for instance, of optimally routing network packets over dynamically changing computer networks. Evolutionary Algorithms are typically not well suited for such scenarios, because they are computationally expensive. However, in such scenarios one typically can afford a large amount of a priori computational time to subsequently solve many problem instances drawn from the particular problem class associated with the scenario. That a priori computational time can be effectively employed by a special type of algorithm called a hyper-heuristic to automate the design of algorithms to create a custom algorithm for a particular scenario. My favorite type of hyper-heuristic algorithm is powered by Genetic Programming.

My research focuses on the design of novel evolutionary algorithms and novel hyper-heuristics for real-world problem solving in a variety of domains, including cyber security, critical infrastructure protection, program understanding, and automated software engineering.

Selected Publications

Aaron S. Pope, Daniel R. Tauritz and Alexander D. Kent, “Evolving Bipartite Authentication Graph Partitions”, Accepted for publication in IEEE Transactions on Dependable and Secure Computing, 2017.

Aaron S. Pope, Daniel R. Tauritz and Alexander D. Kent. Evolving Random Graph Generators: A Case for Increased Algorithmic Primitive Granularity. In Proceedings of the 2016 IEEE Symposium Series on Computational Intelligence (IEEE SSCI 2016), Athens, Greece, December 6-9, 2016.

Aaron S. Pope, Daniel R. Tauritz and Alexander D. Kent. Evolving Multi-level Graph Partitioning Algorithms. In Proceedings of the 2016 IEEE Symposium Series on Computational Intelligence (IEEE SSCI 2016), Athens, Greece, December 6-9, 2016.

Alex R. Bertels, and Daniel R. Tauritz. Why Asynchronous Parallel Evolution is the Future of Hyper-heuristics: A CDCL SAT Solver Case Study. In Proceedings of the 18th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO '16), pages 1359-1365, Denver, Colorado, U.S.A., July 20-24, 2016.

Matthew A. Martin and Daniel R. Tauritz. Hyper-Heuristics: A Study On Increasing Primitive-Space. In Proceedings of the 17th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO '15), pages 1051-1058, Madrid, Spain, July 11-15, 2015.

Sean Harris, Travis Bueter, and Daniel R. Tauritz. A Comparison of Genetic Programming Variants for Hyper-Heuristics. In Proceedings of the 17th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO '15), pages 1043-1050, Madrid, Spain, July 11-15, 2015.

Matthew A. Martin, Alex R. Bertels, and Daniel R. Tauritz. Asynchronous Parallel Evolutionary Algorithms: Leveraging Heterogeneous Fitness Evaluation Times for Scalability and Elitist Parsimony Pressure. In Proceedings of the 17th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO '15), pages 1429-1430, Madrid, Spain, July 11-15, 2015.

Jasenko Hosic, Daniel R. Tauritz, and Samuel A. Mulder. Evolving Decision Trees for the Categorization of Software. In Proceedings of the 38th IEEE Annual Computers, Software and Applications Conference Workshops (COMPSACW '14), pages 337-342, Västerås, Sweden, July 21-25, 2014.

George Rush, Daniel R. Tauritz, and Alexander D. Kent. DCAFE: A Distributed Cyber Security Automation Framework for Experiments. In Proceedings of the 38th IEEE Annual Computers, Software and Applications Conference Workshops (COMPSACW '14), pages 134-139, Västerås, Sweden, July 21-25, 2014.

Matthew A. Martin and Daniel R. Tauritz, “Evolving Black-Box Search Algorithms Employing Genetic Programming”, In Proceedings of the 15th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO ‘13), pages 1497-1504, Amsterdam, The Netherlands, July 6-10, 2013.

Brian W. Goldman and Daniel R. Tauritz, “Linkage Tree Genetic Algorithms: Variants and Analysis”, In Proceedings of the 14th Annual Conference on Genetic and Evolutionary Computation (GECCO ‘12), pages 625-632, Philadelphia, U.S.A., July 7-11, 2012.

Brian W. Goldman and Daniel R. Tauritz, “Self-Configuring Crossover”, In Proceedings of the 13th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO ‘11), pages 575-582, Dublin, Ireland, July 12-16, 2011.

Recent Grants

Los Alamos National Laboratory (LANL), “Cyber Security Sciences Institute”, (PI, 100% credit), $500,000, 10/1/2013-9/30/2018.

Sandia National Laboratories (SNL), “Hyper-heuristics for solving real-world problems on diverse computational architectures”, (PI, 100% credit), $226,000, 10/1/2014-9/30/2017.

Sandia National Laboratories (SNL), “Computational Intelligence Techniques for Situational Awareness in Computing Networks”, (PI, 100% credit), $299,680, 11/4/2011-9/30/2014.

National Security Agency (NSA). “Peer to Peer Infrastructure Security" (Co-PI, 10% credit), $2,669, 9/11/2013-9/10/2014, (with Bruce McMillin et al).

 

Research Interests:

Evolutionary Computing, Automated Design of Algorithms, Cyber Security, Automated Software Engineering.

Personal Website:

Education: