4 research outputs found
Functional Generative Design: An Evolutionary Approach to 3D-Printing
Consumer-grade printers are widely available, but their ability to print
complex objects is limited. Therefore, new designs need to be discovered that
serve the same function, but are printable. A representative such problem is to
produce a working, reliable mechanical spring. The proposed methodology for
discovering solutions to this problem consists of three components: First, an
effective search space is learned through a variational autoencoder (VAE);
second, a surrogate model for functional designs is built; and third, a genetic
algorithm is used to simultaneously update the hyperparameters of the surrogate
and to optimize the designs using the updated surrogate. Using a car-launcher
mechanism as a test domain, spring designs were 3D-printed and evaluated to
update the surrogate model. Two experiments were then performed: First, the
initial set of designs for the surrogate-based optimizer was selected randomly
from the training set that was used for training the VAE model, which resulted
in an exploitative search behavior. On the other hand, in the second
experiment, the initial set was composed of more uniformly selected designs
from the same training set and a more explorative search behavior was observed.
Both of the experiments showed that the methodology generates interesting,
successful, and reliable spring geometries robust to the noise inherent in the
3D printing process. The methodology can be generalized to other functional
design problems, thus making consumer-grade 3D printing more versatile.Comment: 8 pages, 12 figures, GECCO'1
AirIndex: Versatile Index Tuning Through Data and Storage
The end-to-end lookup latency of a hierarchical index -- such as a B-tree or
a learned index -- is determined by its structure such as the number of layers,
the kinds of branching functions appearing in each layer, the amount of data we
must fetch from layers, etc. Our primary observation is that by optimizing
those structural parameters (or designs) specifically to a target system's I/O
characteristics (e.g., latency, bandwidth), we can offer a faster lookup
compared to the ones that are not optimized. Can we develop a systematic method
for finding those optimal design parameters? Ideally, the method must have the
potential to generate almost any existing index or a novel combination of them
for the fastest possible lookup.
In this work, we present new data and an I/O-aware index builder (called
AirIndex) that can find high-speed hierarchical index designs in a principled
way. Specifically, AirIndex minimizes an objective function expressing the
end-to-end latency in terms of various designs -- the number of layers, types
of layers, and more -- for given data and a storage profile, using a
graph-based optimization method purpose-built to address the computational
challenges rising from the inter-dependencies among index layers and the
exponentially many candidate parameters in a large search space. Our empirical
studies confirm that AirIndex can find optimal index designs, build optimal
indexes within the times comparable to existing methods, and deliver up to 4.1x
faster lookup than a lightweight B-tree library (LMDB), 3.3x--46.3x faster than
state-of-the-art learned indexes (RMI/CDFShop, PGM-Index, ALEX/APEX, PLEX), and
2.0 faster than Data Calculator's suggestion on various dataset and storage
settings.Comment: 13 pages, 3 appendices, 19 figures, to appear at SIGMOD 202