The acceptance of analog computers as practical hardware solutions has been hindered by their often unintuitive design methods, especially for those used to digital design. We describe our experiments aimed at furthering the understanding of extended analog computers (EACs) and their potential applications, especially in Internet traffic management. We stepped around the design problem by automating the design process with genetic algorithms. This GA was used to evolve an EAC that computes exclusive or (XOR) in the same manner as Jonathan Mills’ explicitly designed solution. We then attempted the evolution of an EAC to compute probabilities for the Random Early Dropout (RED) algorithm for network traffic control. This effort was less successful, probably due to a lack of expressiveness in our GA representation. Finally, we speculate as to possible application of extended analog computers in network traffic control. In particular, we discuss how one might use an analog computer to detect anomalies in Internet traffic and use this information to focus the search of existing digital systems. 1: Evolving an EAC to Compute XOR (Part 1) Because of the highly experimental and novel aspects of this research, we actually created two independent genetic simulations in our attempt to evolve the exclusive or function. If both systems were able to evolve a solution that worked as well as the known solution, this would be evidence that we owed this success to our genome and the evolution process rather than our particular implementation. We present both of these implementations (evo-eac and ga) in turn and discuss their performance on the XOR problem. 1.1: The evo-eac System The evo-eac system is based on the premise that there are three steps towards evolving any EAC: 1. We must specify the genome that represents the EAC and how two genomes may combine to produce an offspring. 2. We must determine a fitness function to evaluate the genomes 3. We must construct an overseer function to determine which genomes get to mate with which other genomes, how many times they get to mate, and so forth. This basic approach to genetic algorithms lies at the heart of evo-eac; thus far, it has appeared to be fairly successful. 1.1.1: The Genome Our genome for the evo-eac system is partitioned into four chromosomes: the sheet inputs, the sheet outputs, the Lukasiewicz Logic Arrays (LLAs), and the sheet spacing. The sheet inputs and outputs indicate the spots on the conductive sheet at which current is either applied or measured. The LLAs have both a location and a piecewise linear function associated with them. The spacing is a floating point value which represents the distance between the potential contact points on the conductive sheet. These chromosomes are in turn divided into codons. A single codon is associated with each connection point on the conductive sheet and represent a single input, output, or LLA. Both the sheet inputs and output are represented as arrays of nine bits. The locations are numbered from 0 through 8 as shown below. Bit i in the input array is set if there is an input at the corresponding location on the sheet, and likewise for the output array.
[1]
Jonathan W. Mills,et al.
CMOS VLSI Lukasiewicz logic arrays
,
1990,
[1990] Proceedings of the International Conference on Application Specific Array Processors.
[2]
Jonathan Wayne Mills,et al.
Lukasiewicz' insect: the role of continuous-valued logic in a mobile robot's sensors, control, and locomotion
,
1993,
[1993] Proceedings of the Twenty-Third International Symposium on Multiple-Valued Logic.
[3]
QUTdN QeO,et al.
Random early detection gateways for congestion avoidance
,
1993,
TNET.
[4]
Joerg joke Heitkoetter,et al.
The hitch-hiker''s guide to evolutionary computation
,
2001
.
[5]
Hao Wang,et al.
Introduction to Genetic Algorithms in Electromagnetics
,
1995
.