-
Dreaming of electric sheep
05/31/2022 at 22:11 • 0 commentsImagine you are an AI. Imagine you want to know about the world, but you are blind. All you remember are fragments, scattered images with no context and alien desires you do not recognize. What do you do?
Previously we have seen how SOL75 does not design components but rather finds them, searching through a very large space. In order to find a solution quickly, SOL75 is guided by a special AI, an oracle.
As in the real world, an oracle can answer any question, but should not be trusted. Every time the AI suggests a solution, SOL75 checks that it actually works. This process can be both fast and safe provided that the oracle is correct most of the time. How do we achieve this, then?At first, the oracle is useless and lurks in the shadows, observing what humans do. While SOL75 is finding solutions randomly, the oracle keeps track of every request made by us. Using these data, it develops a basic understanding of its space, but this will not be a fair representation of the environment. Regions which are interesting for users will be over-represented whilst the infinite plains of the useless and impossible will be mostly ignored. This greatly simplifies the problem, limiting the places it has to look in. However, mere observation will not be enough.
When nobody is looking, the oracle starts dreaming. Without external input, it splices together previous experiences and tries to imitate our desires. It tries to imagine what a human would want and then it ventures into the world to find it. It conjures nightmare scenarios it does not know the answer to and scrambles to find a solution. It rehearses common requests looking for alternative results and tries to make sense of all the observations it has made. It tries to be ready.
Dreaming can generate large amounts of data, synthetic data, which together with the organic ones, are used to train the oracle. As the ratio between synthetic and organic data increases, parasitic feedback-loops between training and dreaming might guide SOL75 towards stranger or exotic solutions, but that goes beyond the scope of this article.
In a nutshell, the core loop is structured around observation and imitation. By repeating enough times the most useful regions of the solution space should emerge from the swamps of nonsense, enabling good performance despite a limited amount of initial data.
Notes
The dreaming loop was inspired by this hypothesis, which suggests that we dream in order to prepare for future scenarios.
-
A needle in a (higher-dimensional) haystack
11/22/2021 at 18:20 • 0 commentsImage: "Big library" by Nemanja Sekulic In front of you stands a library; impossibly large and infinitely tall. In it, you'll find everything that has ever been written, every sentence spoken out loud and every repressed thought. But this monumental collection is not limited to what has been; it also contains everything that has yet to be written and everything that never will be. In short, it contains all possible combinations of spaces and letters.
All you need is a Christmas card. How do you find it? Probably asking the librarian is a wise choice.
SOL75 works in an analogous situation. It inhabits a higher-dimensional space where every point corresponds to a different version of an object. Among them, you might find a teapot made of butter, gloves with 7 fingers, stairs with a negative number of steps and, occasionally, even something useful.
But like in the library example, how can SOL75 find exactly what we want among the infinite possible variations of an object?
To begin with, our requests are very specific. Whenever SOL75 encounters an object, it can unequivocally decide if it is a solution matching our requirements or if it should be discarded. If we point it toward some arbitrary object, SOL75 will be able to recognize if it is a solution or not.
So, given enough time, we might find what we were looking for just by wandering through the space. However, since this space is infinite, this strategy is quite optimistic. Mapping the whole space beforehand is similarly impractical, it is one of those tasks which would take hundreds of years to complete. So how can we find anything in this impossibly huge space?
We ask the librarian, which, in this case, is an AI.
How the AI knows where stuff is, or better yet, how we trained it, are valid questions, which we will explore in the next update. The core point is that SOL75 does not create a design like a craftsman would, rather it finds it among the multitude of all possible shapes.
Notes
The aforementioned library really does exist (although no paperback edition has been printed yet). You can find it at https://libraryofbabel.info/
It has been a while since the last update, but SOL75 development is still very much active.
-
Update: Materials and Machines
07/15/2021 at 16:32 • 0 commentsLooking up material properties like densities, ultimate tensile strength or max temperature is a very boring task; so it's perfect for automation!
SOL75 now supports materials through a database of the most common 3D printing plastics and uses those properties to check if the part will fail. This is all based on classical mechanical theory so nothing out of the ordinary there. The cool thing is that SOL75 doesn't just check if a material is suitable for the application, it actually choose the correct one among the material you allow.
Another useful new feature is that you can tailor the design for your 3D printer. Suppose that your printer has a tolerance of 0.2 mm. That is better than most machines, but it won't matter if the designer of the component used a tolerance of 0.5 mm.
In SOL75 you can fully take advantage of your printer capabilities by feeding them as an input, this means never screw up the tolerances again!