← All videosTHE SHORT VERSION
Watch more experiments ↗

python / optimization / machine learning

Can NSGA-II find a better spot for your router?

Gradient descent and NSGA-II search for a router position in a simulated home. The loss counts receiver points below a −57 dBm signal target. Four small gradient tests return the same count, leaving the estimated slope at zero. NSGA-II explores 32 positions, selects better candidates, and creates new candidates through crossover and mutation.

With 1,200 objective evaluations each, the featured run ends at 100 covered points for gradient descent and 209 for NSGA-II. Their initialization differs: gradient descent starts at one position, while NSGA-II begins with a population across the room. This experiment uses NSGA-II with one objective. The Python code and experiment details are available at https://github.com/austin-starks/router-rumble.

Transcript

0:00Can an evolutionary algorithm find

0:01a better spot for your

0:02router?

0:02I tested gradient descent against

0:04NSGA-II in this simulated home.

0:07Gradient descent follows the local

0:09slope toward a lower loss.

0:10Here, the loss counts places

0:12with weak signal.

0:13Yellow tests 4 tiny moves,

0:15but every test gives the

0:16same count.

0:17The estimated slope is 0,

0:19so it stays put.

0:20NSGA-II starts with 32 router

0:23positions across the home.

0:24It selects better candidates, crosses

0:26their coordinates, and mutates them

0:28to create new positions.

0:29Pink can search beyond the

0:31flat patch that trapped yellow.

0:33Both get 1,200 coverage tests,

0:34but they start differently.

0:36Yellow covers 100 points.

0:38Pink reaches 209, more than

0:41double.

0:42On this thresholded objective, exploring

0:44beats following a flat slope.

Join the conversation

Loading conversation…