10-Variable Nonlinear System
[MAL-Seeker's First Battle] Exploring a 10-Variable, 1,024-Solution Nonlinear System
10-Variable Nonlinear System of Equations
Roots: 1024 Points in 10D Space
1. The Target Equation (A 10-Variable Labyrinth)
"MAL-Seeker (Antares Ver 3.1.1)" is the all-solution search solver newly developed in our Laboratory. For its first test case, I am sharing the record of our challenge to perform an all-solution search on a "10-variable nonlinear system of equations" that possesses over 1,000 solutions.
The target equation has a structure where, for each variable $x_i$, a nonlinear function $g(x_j)$ of all variables intertwines and sums up. As a result of mathematical analysis, it is known that the number of "true solutions (valley bottoms)" this equation has reaches a staggering 1,024. This means 1,024 correct points are scattered within an invisible 10-dimensional hyperspace.
2. Passing the Baton from SPICE-Oriented Analysis
Until now, our Laboratory has mainly utilized the "SPICE-oriented analysis method" (Newton's method and homotopy methods). This method is extremely useful for carefully tracing the continuous behavior of equations or the trajectory to a specific solution.
However, when it comes to a brute-force global search where we say, "There are over 1,000 solutions, so we just want to find them all," it requires deploying the problem on a massive scale as a circuit network on the simulator or writing extensive loop processing scripts. This inevitably deviates somewhat from the original purpose of SPICE, leading to inflated computational costs.
Therefore, to overcome this, I built "MAL-Seeker" from scratch in C language as a dedicated tool specialized purely for searching.
3. The Approach with MAL-Seeker (Deploying 100,000 Marus)
MAL-Seeker runs on a somewhat unrefined algorithm modeled after the 5 senses of my pet dog (a Pomeranian named "Maru"). We scatter 100,000 Marus (initial seeds) across the entire space and perform the following extreme pre-processing:
- 👃 Sense of Smell (Deflation Method): Attach a strong stench penalty to already found solutions to prevent other Marus from digging the exact same hole.
- 👅 Sense of Taste (Gradient Test): Lick the slope at their feet to check the gradient, avoiding places that are too flat or excessively steep cliffs.
- 👂 Sense of Hearing (Clustering): Listen to the footsteps of peers; Marus that are too close to each other yield the way to eliminate redundant calculations.
Only the few elite Marus that pass this strict "5-sense examination" finally press the switch for Newton's method and slide straight down to the valley floor.
4. Execution Results
Here is the final terminal log of running MAL-Seeker in a local MacBook environment.
=========================================
Total Valid Roots Found: 1024 (Out of 1024 local minima)
Execution Time: 240.492646 seconds
=========================================
We successfully discovered all 1,024 solutions without missing a single one. The computation time was approximately 240.5 seconds (about 4 minutes).
I am honestly quite relieved that my custom program worked as intended and successfully picked up all 1,024 solutions this time.
It is a rather gritty and tenacious algorithm—"release 100,000 Marus and keep searching endlessly until the batch processing misses 100 times in a row"—but as a result, we were able to complete the global search in a realistic timeframe of about 4 minutes. Moving forward, I plan to experiment with various other complex equations using this MAL-Seeker.
5. Analysis Environment
- Analysis Engine: MAL-Seeker (Antares Ver 3.1.1 / C Language)
- PC: MacBook
- OS: macOS Monterey 12.7.6
- CPU: 1.2GHz Dual-Core Intel Core m5
- Memory: 8GB