Introduction

This site is a sampling of my academic and professional work, conducted mostly during my time at the Rochester Institute of Technology and RedfishGroup. It is intended to be a resource for those who have some similar interests and research goals. At a high level, the aim of this research is to instill in computers the qualities that define life and intelligence. Many works listed here has associated with it some combination of a project web site and report (available in PDF, PS, or HTML).

For more information, contact me at dan@redfish.com.


...INDEX...

Personal Information

Master's Thesis

Peer Reviewed Publications

Commercial Projects

Visualization

Search and Optimization

Other


Résumé

résumé - education + work + skills


Automatically Classifying One-Dimensional Cellular Automata

Master's Thesis in Computer Science, Rochester Institute of Technology, 2003.

Abstract: Cellular automata, a class of discrete dynamical systems, show a wide range of dynamic behavior, some very complex despite the simplicity of the system's definition. This range of behavior can be organized into six classes, according to the Li-Packard system: null, fixed point, two-cycle, periodic, complex, and chaotic. An advanced method for automatically classifying cellular automata into these six classes is presented. Seven parameters were used for automatic classification, six from existing literature and one newly presented. These seven parameters were used in conjunction with neural networks to automatically classify an average of 98.3% of elementary cellular automata and 93.9% of totalistic k=2 r=3 cellular automata. In addition, the seven parameters were ranked based on their effectiveness in classifying cellular automata into the six Li-Packard classes.

Project Site

 

A Genetic Algorithm Search for Improved Halftone Masks

Peter G. Anderson, Jonathan S. Arney, Samuel A. Inverso, Daniel R. Kunkle, Timothy M. Lebo, and Chadd Merrigan. A Genetic Algorithm Search for Improved Halftone Masks. Accepted to Artificial Neural Networks in Engineering, 2003.

Abstract: We present a genetic algorithm that automatically generates halftone masks optimized for use in specific printing systems. The search is guided by a single figure of merit based on a detailed model of the printing process and the human visual system. Our experiments show that genetic algorithms are effective in finding improved halftone masks and that two methods of reducing the search space to particular subsets of possible halftone masks greatly enhance the performance of the GA.

 

 

Emergence of Constraint in Self-organizing Systems

Stephen Guerin and Daniel R. Kunkle. (Accepted for 2004). Emergence of Constraint in Self-organizing Systems. Nonlinear Dynamics, Psychology, and Life Sciences.

Abstract: Practitioners of agent-based modeling are often tasked to model or design self-organizing systems while the theoretical foundation of self-organization in science remains to be set. This paper explores self-organization in the context of an agent-based model of ant colony food foraging. We gather specific measures of order-creation and constraint construction particular to leading theories of nonequilibrium thermodynamics that purport to govern self-organizing dynamics. These measures are used to explore three claims (1) Constraints are constructed from entropy-producing processes in the bootstrapping phase of self-organizing systems; (2) Positive feedback loops are critical in the structure formation phase; and (3) Constraints tend to decay. The continued presence of far-from-equilibrium boundary conditions are required to reinforce constraints in the maintenance phase.

 

 

UK Criminal Justice System Modeling

An application of agent-based simulation to policy appraisal in The Criminal Justice System in England And Wales. The Criminal Justice System spans the work of three central government departments that are responsible for the activity of the: (1) Police Service; (2) Prison Service; (3) Probation Service; (4) Crown Prosecution Service; (5) Criminal Defence Service; and, (6) Court Services. All departments are about to undergo a fundamental government spending review.

The model and visualization focused on interactive effects when one part of the justice system impacts on the workload and costs in other parts. The model was designed primarily so that Parliamentary policy-makers could assess the impact of proposed policy changes on flows of activity through the system, and hence on the workload and costs in each area.

Developed in conjunction with the London School of Economics.

Screen Shots: Screen 1 - Screen 2 - Screen 3

 

 

High Dimensional Time Series Data Explorer

Allows for the visualization of a time series of high-dimensional data points. Data dimensions can be mapped to six different display properties, including: X, Y, and Z locations; size, shape, and color. The time series can be run using "VCR" type controls, or through random access.

Screen Shots: Screen 1 - Screen 2

 

 

Portfolio Engine Visualization

Visualization of adaptive resource allocation algorithms applied to a portfolio of projects. The visualization depicts changes to planned resource allocations as positive and negative information is gained during R&D work activities.

The evolution of the portfolio is displayed over time. The evolution can be viewed continuously, like a movie, or any point in the evolution can be viewed via random access.

Developed in conjunction with Icosystem Corporation.

Screen Shots: Screen 1 - Screen 2 - Screen 3 - Screen 4

 

 

Shape Shifter

Developed a web application that allows consumers to evolve the shape of future possible automobile shapes. Three-dimensional auto shapes were bred using genetic algorithms in a peer2peer web application that runs in a web browser and screensaver context. Car designs were traded between users without the need for intermediary servers.

Screen Shot: Screen 1

 

 

Party Box

Party Box is a 3D agent based model with simulated physics. The agents continually execute simple movement rules based on the positions of other agents. This model demonstrates that small changes in simple rules can lead to vastly different emergent, global behavior, and that a small amount of random noise can produce a more optimal global state.

Project Site

 

Graph Layout

Graphs are laid out in 3D here using simulated springs, a method known as force directed layout. A number of preset graphs can loaded or random graphs can be created. The elasticity and damping of the springs can be varied, effecting the length of time the nodes need to come to rest.

Project Site

 

Shape GA

Shape GA demonstrates the use of a genetic algorithm for evolving the shape of an abstract 3D object. This is a simple preliminary version of the project. Later versions will allow for the user to select two child objects to be the parents of the next generation.

Project Site

 

Sphere CA

Sphere CA is a simple cellular automata that has been mapped onto the surface of a sphere. This project was done mainly as a learning exercise to explore the real-tim manipulation of 3D meshes in Macromedia Director.

Project Site

 

Searching for a Synchronizing 2-D Cellular Automata

Genetic algorithms are employed to find a set of state transition rules for cellular automata that lead to global synchronization. This is an extension of research conducted by the Evolving Cellular Automata (EvCA) group at the Santa Fe Institute. In the work of the EvCA the CAs were 1-D, where in my work they are 2-D.

 

Report  

Evolutionary Methods for 2-D Cellular Automata Computation

Abstract: This paper describes methods for evolving 2-D cellular automata to perform global computations. This is a difficult task because global behaviors must arise from local computations of many parallel cells. We present the results of numerous tests involving different genetic algorithm methods to perform the 2-D equivalent of classic 1-D CA tasks, including density classification and synchronization, and our own 2-D CA balanced surface minimization task. The performance of the GA was improved greatly by the use of totalistic CA rule tables, increasing the fidelity of fitness functions, and with coevolutionary techniques.

Note: this project is an extension of the above project "Searching for a Synchronizing 2-D Cellular Automata" and is co-authored by Samuel Inverso and Chadd Merrigan.

 

Report  

Ordered Greed for N SuperQueens

Abstract: This is an extension of the Ordered Greed technique introduced by Anderson and Gustafson in [1]. The Ordered Greed algorithm (OG) is a hybrid greedy algorithm using permutations. OG is applicable to many classical optimization problems, including job assignment, graph coloring, bin packing, and satisfiability. Here, OG is applied to a variant of the N Queens problem, the N SuperQueens problem. The performance of the OG method and that of the Plain Permutation GA in solving the N SuperQueens problem are compared. The results here support those found in [1], that the OG method is far superior to the Plain Permutation GA.

[1] Peter G. Anderson and William T. Gustafson. Ordered Greed.

 

Report  

Self-organizing Computation: Ant Systems and Algorithms

Abstract: In general, this paper is about self-organizing systems (which are responsible for most, if not all of the complex order we see in our universe) and how the science of self-organization can be applied to computation and information systems. In specific, this paper will examine ant systems and algorithms as an example of a self-organizing computation system. Further, the ant algorithm will be applied to a classic optimization algorithm benchmark, the Traveling Salesman Problem (TSP).

 

Report  

The Effects of Parameter Variation on Genetic Algorithm Performance

Explores the effects of varying GA parameters such as mutation rate and population size. A MATLAB implementation of a generation based GA is also given.

 

Report  

Solving the 8 Puzzle: An Application of the A* Algorithm

Abstract: The 8 Puzzle is a simple game, but one with a state space large enough to warrant the use of heuristic search, as opposed to an exhaustive or blind search. The A* algorithm is applied, guaranteeing that the best solution (that with the least number of moves) will be found. Heuristics are examined to allow the algorithm to find the optimal solution while examining as few states as possible (maximizing the informedness of the heuristic).

 

Report  

Empirical Complexities of LCS Algorithms

Abstract: The empirical time complexities of several algorithms for finding the Length of Longest Common Subsequence (LLCS) and the actual Longest Common Subsequence (LCS) of two sequences are examined. These algorithms include a naive recursive algorithm, a recursive method with memoization, dynamic programming, and the Hirschberg LCS algorithm. The empirical time complexities are compared to theoretical time complexities in order to find the "hidden" constant ignored by the theoretical limits. Further, the effects of sequence structure and alphabet size on empirical time complexity are examined.

 

Report  

Pulsed Neural Networks and their Application

Abstract: Pulsed neural networks are networks of spiking neurons, which represent an entirely new class of artificial neurons. Here we present an overview of pulsed neural networks, including the structure, function and available training mechanisms for networks of spiking neurons. We highlight differences between this model, “first generation” threshold gates, and “second generation” sigmoid activation gates, and we examine current research into pulsed neural networks and the use of temporal information in neural processing. Lastly, we summarize our own research toward the end of using pulsed neural networks to identify computer users by the cadence of their keystrokes.

See also: the Spiking Neural Network Simulator for windows (mentioned in the report). Developed by my co-author on this project, Chadd Merrigan. Unfortunately no documentation exists for this application yet, email me if you have interest in the simulator and would like further information about it.

 

Report  

The Game of Go and Multiagent Systems

Abstract: Go is a two-player board game that poses one of the largest challenges to game programmers today. Multiagent systems are those composed of multiple autonomous, interacting computer systems, or agents. These two seemingly diverse areas have a number of similarities, which will be explored here.

 

Report  

Virtual World of Decision Making Turtles

Abstract: Decision making and evolution are two complex procedures of life; the first relates to individuals and the second to populations. This project aims to simulate these complex, lifelike procedures in an artificial environment and explore the connection between the two. Also, the project aims to make these procedures easily understood by viewers of the virtual world. Special attention has been paid to the visualization of the world, maximizing the ease with which viewers can (1) differentiate between different individual behaviors and decisions, (2) witness the interaction between those individuals and their environment and (3) observe the evolution of the population over time.

Project Site

Report

Art Using StarLogo

Abstract images were created using StarLogo, a programming environment for simulating complex, distributed systems. It might be art, it might not.

Project Site

 

Quantum Life Forms

Complex, emergent life forms spring from the chaos of the simple actions of thousands of decentralized dots. Simulated using StarLogo.

Project Site

 

John von Neumann: Genius of Man and Machine

A biography of John von Neumann.

 

Report  

Page Last Updated: February 14, 2005
Daniel Kunkle - dan@redfish.com