Problem Solving: Getting Stuck?

Are you currently stuck on a hard problem? I am. I’m actually stuck on several problems, which I think is a good thing. Let me explain why.

Let’s first look at the relationship between people and problems. I can think of four possibilities:

  1. One person vs. one problem. Assuming this problem is solvable but is very hard (i.e., there are only a few possible ways of solving it), what would be the chance that this one person is able to find a solution? It’s possible but would take a lot of (relevant) skill, luck, and persistence. If a person is stuck on a problem, does this mean he or she is not a good problem solver? No; maybe just not a good fit, or lucky enough, or spent enough time on it (e.g., time was consumed by self-doubting instead). Also, some problem may not be a good fit to any one person, it would take a team of diverse background to solve.
  2. Multiple people vs. one problem. Things are a bit more promising here. Maybe someone would come up with something, and another person can build on it, and so on. This is partially collective intelligence and partially just the tried-and-true brute force method of increasing the number of trials. For example, if you invite enough people to a party, someone will bring a gift you actually wanted.
  3. One person vs. multiple problems. From the perspective of increasing trails, this is similar to the one above, without having to bother other people! If you keep several problems in (the back of your) mind, and you are maybe not able to solve most of them most of the time, but you may get lucky occasionally on one of them. I often work in this mode, but I am aware of my limitations.
  4. Multiple people vs. multiple problems. I don’t fully understand this one yet, but to a limited degree this is how IRL operates.

Let’s now think about the problem of robot problem solving. Robots today are generally not good problem solvers, but we are trying to improve that.

  1. One robot vs. one problem. If the problem is what the robot programed for, it would work extremely well. Arguably this is not robot problem solving though, because the problem has already been solved. If the problem is not what the robot was prepared for, most likely it would get stuck. Yes, robots do get stuck quite often.
  2. Multiple robots vs. one problem. If each robot here makes its own decisions, this may become a robot swarm. A swarm is known to be able to solve problems not explicitly planned for, but we don’t fully understand it yet.
  3. One robot vs. multiple problems. If we stop optimizing around one particular cost/reward function, but instead celebrating every meaningful thing a robot did, we may find novel ways for a robot to solve many different problems. Those problems and solutions are mostly irrelevant, but could become useful at some point. There are much to be done to harvest these randomly gathered experiences.
  4. Multiple robots vs. multiple problems: If many robots are operating like #3 above, I really have no clue what would be the implications. It would be fun to try though.

Now back to us. You and I are particles participants in a giant Monte Carlo experiment called the human society, that’s how I see it at least. From a global perspective, it’s more important that someone solves the society’s big problems than who solves these problems. If the system is well designed (that’s a big if, and itself one of the hardest problems), creative ideas would emerge one after another. This is the hope for the multiple people vs. multiple problems argument. For us, individually, we don’t have control of when a good idea may come. But we can choose to be not totally stuck, and there may be ways to do that.

Turning Plants into Animals? Plantimals?

Do plants have feelings? Do they have desires? Do they have friends?

They probably do, but we cannot tell easily, because plants are quiet and don’t travel very often (other than through their offspring). There is little the plants can do because they are “landlocked” …

Can we free the plants? What if we give plants mobility so they can go wherever they want to, like animals?

Let’s say when a plant needs water, it goes to get water; when it needs sunlight, it moves out of the shade; when it needs pollinators, it gets close to bee hives; and when it needs friends, it goes to hang out with other plants…

It’s conceptually quite simple: first, we put motors and wheels on the plant pots; second, we plug in sensors into the plants and the soil to detect what the plants need/want; finally, we connect the collected signal to motors to control the pots. Ta da!

It’s of course not that easy, but not entirely impossible either (I actually know how to do the first and third steps above 😊). Wouldn’t it be fun to watch plants make their own decisions, learn to control themselves, compete and cooperate with each other, and have more control of their own fate? Would you like a plant more if it comes to you for treat once for a while? Would it makes your garden more beautiful by changing the layout every minute, all decided by the plants themselves?

Now, if only someone can help me to figure out what these plants want …

Getting Tossed Around on the Moon?

Well, I still haven’t gotten over the throwing and catching idea

Have you seen astronaut bunny hopping videos from the moon? The gravity seems to be a lot less there (0.166 g) so things can fly higher, with less effort. There is no air there either, so objects would fly more predictively, and easier to catch.

Let’s say if we have a network of robotic catching and tossing stations on the moon, objects will just hop up and down to get to places. By objects, I mean equipment, construction material, and astronauts.

Astronauts? yes, especially space tourists. Won’t it be fun to be throwing off a cliff, and get (gently) caught by a robot later?

A Swarm of One Robot?

Lately I’ve been looking at things a bit differently. Instead of seeing the big picture, I started to notice the trees in a forest…

Take this happy squirrel for an example, many of us see it as an autonomous, smart, and cute creature, capable of doing things we hope our robots can do. If we were to copy the design of a squirrel build a squirrel-inspired robot, we would put together a design with similar biomechanics and program it to mimic the observed squirrel behaviors. If this doesn’t work, we may blame it on not having good/similar materials or actuators, or not having good enough models of a squirrel’s body and mind.

This is a top-down way of copying nature’s designs, but we can look from the opposite direction as well.  A squirrel is made of billions of cells and the interaction of these cells shapes almost everything a squirrel does, theoretical speaking. Maybe a squirrel is not a good example here as it’s too complicated for us to understand its behaviors from a bottom-up perspective. If we look at plants instead, a quick YouTube search would lead to many cool time lapse videos of growing vines and roots and it would be hard to argue that these are not intelligent creatures making their own decisions. These high-level behaviors emerged from the local interactions of numerous cells. Trying to copy the behaviors without going through the bottom-up process (i.e., swarm #1) may not always be fruitful. I think people making animated movies understood this a long time ago. It’s like drawing clouds, snowflakes, and shadows by the hands of artists vs. using a physics engine.

Even if we don’t look at a squirrel from the cellular level, we can still see one as multiples. Have you watched the movie Groundhog Day? In the movie, every day is the same day, …, for everyone else, but not for the main character, Phil. For a squirrel, everyday is a new day, …, but more or less like the previous days. A squirrel could try different strategies each day, or copy a previous one and make adjustment based on lessons learned. In that sense, a month for a squirrel may be considered as a swarm (#2) of 30 interacting squirrels, each with a one-day experience.

Now, at a particular time, when a squirrel needs to make a particular decision (e.g., where to go for foraging?), could the decision also be made by a swarm instead of relying on a single decision-maker in the squirrel’s mind? It’s possible. There may be many rivaling thoughts (swarm #3, with some thoughts maybe coming from swarm #2) and the one that wins out at a moment would take the control of the squirrel body. At a different time, another opinion may prevail. This is like having several drivers fighting for the control of a bus, or political parties competing for influence of a country. Chaotic, maybe, but not without its merit.

So, can we make a swarm of one robot? I think so. We may actually be able to make three (or more) swarms out of one robot!

Squirrel drawing credit: Shuttlrstock.com 228696961