| |
 |
 |
 |
|
 |
 |
 |
|
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. |
|
Personal Information
Master's Thesis
Peer Reviewed Publications
Commercial Projects
Visualization
Search and Optimization
Other
|
|
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 |
|
|
|
|
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 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  |
|
|
|
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 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 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  |
|
|
Abstract images were created using StarLogo,
a programming environment for simulating complex,
distributed systems. It might be art, it might
not. |
|
Project Site  |
|
|
|
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
|
| |
|
|
|
|