Research Areas

Formal methods

Computers are used everywhere in modern society. Software errors can be disastrous for public safety and the economy. Formal methods are a field of computer science that uses algebra and logic as tools for software design and analysis. By applying rigorous mathematical techniques in the software engineering process, more reliable software can be produced, and errors can be more easily avoided. Faculty research explores different topics in formal methods, ranging from program specification and refinement, program verification, formal database design, and new approaches to mathematical reasoning.

Example publications

  • “Categories of Relations for Variable-Basis Fuzziness.” M. Winter and E. Jackson, Fuzzy Sets and Systems , http://dx.doi.org/10.1016/j.fss.2015.07.004, 2015
  • “Rough set clustering.” I. Düntsch and G. Gediga. In C. M. Henning, M. Meila, F. Murtagh, and R. Rocci, editors, Handbook of Cluster Analysis, Handbooks of Modern Statistical Methods, chapter 5. Chapman & Hall, 2015

Algorithms

The study of algorithms is a fundamental research topic in computer science. Research explores the design of algorithms to accomplish important tasks, as well as their effectiveness, complexity, and relationships to other known approaches. Faculty members are working in a number of areas of algorithm research. The study of parallelism is an active area of research in the department. This research uses mathematical modelling to analyze the properties of parallel systems. New algorithms are developed that exploit parallelism in innovative ways. The design of effective parallel algorithms results in faster and more efficient programs and networks.

Faculty are also studying topics in coding theory, which is concerned with the development and implementation of representations of information. Developed systems can aid in the detection and correction of errors in transmitted messages. Other research in coding theory explores cryptography, which is concerned with ways to hide message content for privacy reasons. Related to coding theory, combinatorial optimization research involves the study of ways to find optimal configurations of information and mathematical objects. This research often explores whether these optimal objects exist at all, and finding efficient ways to determine them. Coding theory and combinatorial optimization have many practical applications, for example, problems in bioinformatics.

Example publications

  • “Hall’s Matching Theorem to Optimal Routing on Hypercubes”. S. Gao, B. Novick, K. Qiu. Journal of Combinatorial Theory, Series B, Vol. 74, Issue2, Nov. 1998, 291-301
  • “Build a Sporadic Group in Your Basement”, P.E. Becker, M. Derka, S. Houghten and J. Ulrich, American Mathematical Monthly 124, p. 291-301, 2017.

Computational Intelligence

Computational intelligence is a branch of artificial intelligence that studies nature-inspired approaches to solving complex problems. Faculty research concentrates in a number of areas of computational intelligence. Evolutionary computation uses Darwin’s theory of evolution as an inspiration for problem-solving by computers. Faculty are applying genetic algorithms towards finding efficient solutions for complex problems in scheduling, graph layouts, bio-informatics, and other problems. Other research is studying genetic programming, and applying it in a number of application areas, ranging from network design, biological modelling, 2D art, and 3D graphics.

Particle swarm optimization is a relatively new nature-inspired approach that uses an algorithm based on the flocking behaviour of birds. Particle swarm research has been used to solve problems in system optimization, among others.

Some faculty participate in the Bio-inspired Computational Intelligence Group (BICIG).

Example publications

  • ” Vector-Evaluated Particle Swarm Optimization with Local Search”. D. Dibblee, J. Maltese, B. Ombuki-Berman and A. Engelbrecht. IEEE CEC 2015, Sendai, Japan, pp.1343-1350, May 2015
  • “Exploring Non-photorealistic Rendering with Genetic Programming”. M. Baniasadi and B.J. Ross. Genetic Programming and Evolvable Machines, 16(2), pp.211-239, June 2015
  • “Permutation Problems, Genetic Algorithms, and Dynamic Representations”, J.A. Hughes, S. Houghten and D. Ashlock, book chapter for “Nature Inspired Computing and Optimization: Theory and Applications”, Springer book series on Modelling and Optimization in Science and Technology, p.123-149, 2017.