 I had a cool idea for a problem-solving technique where you call someone and ask them if they know the answer to your problem. If they don't, you ask them to call someone else and see if they know. I call it a dialing tree. In my day job, I'm an engineer and designer, a sort of fulcrum between purely abstract concepts for products and devices and the nitty-gritty details of how those concepts are actually realized. Of course, that's not really remarkable. Almost everyone has to make plans and execute them in the course of a workday, but it's kind of my job to turn cool ideas into concrete plans for stuff that will actually work, most of the time. One of the most challenging parts of that process is knowing how long to spend looking for the best possible answer and when to roll up my sleeves and implement the best answer I've found so far. Everyone knows how much it sucks to screw that decision up in either direction. In one case, you spend hours working hard in a particular direction, get 90% of the way to done, and suddenly realize that you could have gotten the same result in half the time if you just thought a little bit harder before you started. Or even worse, that the answer that you've been slaving away on isn't going to work. In the other case, you keep putting off getting started, tying yourself in knots trying to find a solution that's more efficient or more clever or categorically superior in some fashion to the other ideas that you've had so far. Until finally, your time runs out and you end up slapping something together at the last minute, or realizing that you'd have been done already and saved huge amounts of time and resources if you had just gone with the simplest answer that sprung to mind. This is just one of the many issues that we all run into when we're trying to solve problems. In Thunk 101, I detailed a smattering of strategies and methods that can make the process a little easier and less fraught with uncertainty, but I recently stumbled onto a strategy that seems to be relatively unknown that I thought would make a compelling addition to the toolbox. But before we get there, let's discuss one of the metaphors that a lot of professional problem solvers use to think about the exercise, solution space. In many ways, coming up with good answers is like optimizing a massive equation. You need something that costs under this amount. You need it to be made from one of these materials. You need it to do this thing, or that thing, or hopefully both. You're combining and tweaking a whole bunch of different variables to try to maximize some things, like efficiency and effectiveness, and minimize others like cost and waste. The solution space is the set of all possible answers to the problem. Every single combination of those variables that will somehow solve what you need solved. This includes every possible variant of a particular category of solutions, like wedge-shaped door stops that are 15 degrees and 16 degrees and 15.5 degrees, and all the crappy solutions that you'd have to be some sort of idiot to pursue, like making a doorstop out of a solid gold brick or welding the hinges of the door open. Those answers are clearly inferior to other answers, but they still technically satisfy the requirements of the problem and are included in the solution space. This metaphor is useful for a few reasons. First, it encourages a questioning attitude towards the parameters of the problem itself. In our example, welding the door open would be an acceptable answer if the only problem we were trying to solve was how to keep a door open. But by exploring that solution space, we realized that the real problem is how to keep a door open sometimes, and not others, which narrows our solution space considerably. Second, trying to locate the furthest extents of what physics allows helps to break up some of the preconceptions we might have carried into our solutions, so we have some perspective on the whole range of possibilities. We might have only come up with a brick and a wedge for door stops initially, but there are so many other answers that would technically satisfy the requirements. Why not use the hinges? Maybe the top of the door? It might well end up that the best solutions are the most obvious ones, but parachuting in from way the hell outside gives us at least a quick overview of the whole landscape of solutions, so we can feel more confident that the one that we're pursuing seems like a good bet, that we're probably not missing anything particularly clever and that we can get started without feeling too stupid later on. Of course, this metaphor kind of just reframes the problem in a new context. How can we be sure that we're actually finding the outermost boundaries of our solution space? How can we be sure that we're capturing every nook and cranny of it? In a recent episode of the rationally speaking podcast, Ed Boyden, one of the researchers who pioneered the creative and massively influential technique of optogenetics, shared a method that he and other revolutionary scientists in the Dysaroth genetic engineering laboratory used to come up with every possible answer they could for a problem, which he called a tiling tree. The idea is similar to a binary search algorithm in computer science or the practice of differential diagnosis in medicine. You start with an incomprehensibly large set, your solution space, and break it down into smaller chunks by splitting it in half repeatedly until you finally whittle it down to something that you can parse easily, and if necessary, test. Importantly, you want every node of your tree to fork into two binary possibilities, so you can be sure that you're not leaving anything out by forgetting some category that doesn't spring to mind. Every node is either x or not x. So, for the solution space for door stops, let's split it in half somehow. Maybe door mounted and not door mounted. That might seem like a weird place to start, but it doesn't really matter. Every single possible solution is still contained under each of these nodes. Now, let's split door mounted somehow. Again, it doesn't really matter how, just that we do it. Maybe into moving and not moving. Hmm, that's weird. This node describes a set of solutions to our door problem, which are door mounted and can be engaged and disengaged to hold the door open, but don't move at all. I guess electromagnets? Maybe some sort of adhesive. Over on the other side, we've got not door mounted devices that move. This eliminates things like wedges and bricks. How about some sort of latching mechanism in the floor? These are solutions that I might not have come up with if I was just given a blank sheet of paper to fill with ideas, but because the set of nodes expands exponentially with each level of branching. In just two steps, I've discovered a couple nodes that describe a part of the solution space I didn't even realize was there. If I really wanted to be sure that I'd explored the space adequately, I might set an arbitrary minimum search depth, going four or five levels deep. Who knows what sort of weird stuff I might find. Maybe the next time that you're having trouble solving a problem or deciding when to stop solving a problem and when to start working on it, you might use a tiling tree approach to make sure that you've got a decent handle on what sort of solutions are possible and which ones look the most promising. You're still going to screw up at some point, of course, but at least it won't be because you didn't look hard enough. What sort of problems have you encountered where using a tiling tree approach to search a solution space might be a very useful tool? Please leave a comment below and let me know what you think. Thank you very much for watching. Don't forget to follow us, subscribe, and share, and don't stop thunking.