Automating Complex Problem Solving with TAP
Here’s a question for you: how similar are the words automation and solution? Sure, they’re both related to ThinkSmart, but how similar are they in terms of spelling?
At first glance, your answer might be: not very. But what if we needed a better answer than that? At ThinkSmart, we’ve grown pretty accustomed to seeing the world through the lens of workflow, so we’d actually like to use a workflow to answer our question in a bit more detail.
Essentially, we’ll use the concept of a workflow to show how challenges outside of business can be approached in a similar way to those challenges inside of business.
As it turns out, comparing words for similarity is a common problem outside of the question we posed. For example, computational biology needs to determine how similar two strands of DNA are, and the spell correction feature in your mobile device needs to find similar words to what you’ve typed before it can give you suggestions. In both cases, we need to know the “edit distance” between two strings of letters, or two words.
Edit distance is defined like this: The number of operations it takes to transform your first word into your second word, where an operation counts as a deletion, insertion, or substitution of a letter.
But how do we decide where the optimal locations are to use these operations? It might be easy to do the transformation in our heads or on paper when the words are small, but as the words get larger there are too many possible operations to account for. What we really need is a step-by-step process to compare the two words, with a clear start and end point—in other words, we need a workflow!
How a workflow can work out an answer
We can represent our workflow as a grid of points, connected by arrows (stages and relationships in TAP-speak). We’ll imagine our grid as having the word “automation” across the top, and “solution” down the side. Where a letter from each word meet, there’s a stage. At each stage, we need to assign a score, or a value that tells us the edit distance up to that point.
So, we’ll check whether the two intersecting letters match. If they do, we’ll just use the best score of a previous neighboring stage. If not, we’ll do the same but add one to it. Moving top to bottom and left to right, we’ll reach the bottom right corner of our workflow. When we get there, the score for that stage is the edit distance between our two words!
We’ve managed to use a workflow to answer our original question! It took us two deletions and three substitutions to transform “automation” into “solution,” so our edit distance is [deletions (two) + insertions (zero) + substitutions (three)] = five.
Of course, we don’t see TAP as a legitimate tool to implement algorithms for computational biology or spell correction. But when problems stemming from those fields are adapted into the structure of a workflow, it’s fun to think about how we might solve them.
At the same time, we can use examples like this to hint at a bigger idea—when we have complex problems, it makes sense to frame them as workflows. And when our problems become workflows, particularly those related to business (Legal Ops, Human Resources, and the like), it makes sense to automate them using TAP.
Cam is a Solutions Engineer who likes to think about new ways to use of workflow automation. If you were to stop by the office you might spot him listening to My Morning Jacket, or drinking a coffee sweetened with Vermont maple syrup.