What is an Algorithm?

In this edition of The Digital Change Podcast, our host, David Swank (CEO of Innovation Platform), sits down with returning guest, Dr. Tim Coburn, an expert in statistics and advanced analytics from Tulsa University, to discuss what exactly is an algorithm, how do they work, and what do they mean for the future of technology. Read the full transcript below.

David Swank: Welcome to another edition of The Digital Change Podcast. We're glad that you have joined us today. In this podcast, we discuss the digital transformation and what the Innovation Platform is doing to accelerate and be a part of that digital transformation. This podcast is brought by the Innovation Platform which is powered by Pitney Bowes; a platform that's all about digital maturity and how we increase the digital maturity for organizations, for communities, for developments and for buildings.

Dr. Coburn is an educator, business leader, management consultant, and analytics professional with a career centered at the intersection of business, science, data, and technology across the energy complex. He is the current Director of the School of Energy Economic, Policy and Commerce at TU and runs his own private practice in Energy Management Analytics.

Several weeks ago, we had a guest with us, Dr. Tim Coburn, who is an expert in advanced and predictive analytics. We're excited to have Dr. Coburn back with us today. We're going to talk about a subject that at some level is probably confusing to some, but I think is a subject matter that is extremely important to unpack and discuss. We're glad that you've joined us today, Dr. Coburn. Welcome again to The Digital Change Podcast.

Tim: Thank you.

David: Always great to have you here and we look forward to engaging with you today on what we're going to title “What is an Algorithm?”. Dr. Coburn, these days, we are hearing a lot about algorithms and models in the context of big data and analytics. It strikes me that even though there is a lot of information floating around, there is still some misunderstanding about these two terms. I'm hoping that you can help us develop a better perspective on them today. Because we are hearing more about algorithms in the media, I'd like to start off with that one. We'll come back and talk about models a little bit later. So, let's get started by really jumping in. If you could, in layman's terms, share with us what we mean by algorithms.

Tim: Sure, I'll give it a shot. The easiest way, I think, to describe an algorithm is to call it a recipe. Think about the directions given on the back of a cake mix box or a box of brownies. If you follow those directions exactly as stated, you'll always get a cake or pan of brownies and the outcome will always be the same. Of course, if you deviate the ingredients, the order of mixing, the cooking time, even by the slightest amounts, you may even get a different outcome. A very different outcome, in fact. An algorithm is just like that. It's a routine or a set of steps or instructions to follow in a specific order, for the purpose of accomplishing or completing a specific task or achieving a desired outcome. Like a cake recipe, in the context of big data and analytics, the steps or instructions are numerical or computational or data-driven and we need a computer to execute those kinds of steps.

David: That's very good and I think it begins to really help us understand better. I think I understand where you're going with this. One of the interesting statements in life is ‘out of sight, out of mind’ and I think one of the most challenging aspects about data, in general, is that it's out of sight. I think as organizations, as we think about this whole idea of advanced analytics and at the core of that, as we think about algorithms, how do we visualize it? What does it look like? So, could you describe what that means in terms of visualizing algorithms.

Tim: That's an interesting question and the answer is kind of yes and no. You could obviously observe a recipe, as I've described it on the back of a cake box, but the kinds of algorithms used in big data and analytics are not necessarily that easy to portray. That's because an algorithm is essentially procedural knowledge. That is the knowledge of how to do something or to achieve an intended result. Procedural knowledge doesn't necessarily exist in a tangible form except through written and verbal communication. A flowchart, like the ones that students often learn in an introductory computer science class, is a common way to visualize the procedural steps of an algorithm. Or sometimes you might say a tree diagram or tree like diagram with multiple branching paths, if you can kind of think about that, might also be used. Unfortunately, as the procedural complexity increases, it becomes more difficult to show all those steps or branches. The algorithm essentially becomes or, you might say, devolves into an extensive body of computer code, a long series of steps that is hard to put in a picture.

David: A follow-up question I have is what are the characteristics of algorithm? Or in other words, what makes an algorithm be an algorithm and how does one actually work?

Tim: So, there are lots of ways to characterize algorithms and describe what might be called their fundamental properties. That's what I call them. Or you might say their DNA. A simple internet search can lead you to some very interesting explanations and examples, but I particularly like the ones that a gentleman whose name is Andrew Kuchling has compiled and posted on GitHub. I'm going to borrow a lot of his language and what he's already written without having to reinvent the wheel there. First, Mr. Kuchling notes an algorithm is an unambiguous description of what makes clear what has to be implemented or accomplished. For example, in a recipe, instructions such as bake until done is ambiguous because we don't know what done means but bake for 35 minutes at 375 degrees is really more explicit and less ambiguous description. So that's what we talked about the unambiguous aspect of it. Similarly, in a computational algorithm, the instruction ‘choose a large number’ is ambiguous because we don't know what large means and we don't know whether we're supposed to choose the same number over and over again or not. The instruction ‘choose a number larger than a thousand and then add one to it on the next iteration’ is a more direct and unambiguous statement. Mr. Kuchling’s second point is that an algorithm expects a defined set of inputs and it produces a defined set of outputs. Referring back to my illustration about a flow chart, an algorithm is like a very large collection of if-then statements or decision nodes. We use if-then statements when computing and computer science students learn how to do that early on. For example, if X is true, then Y happens or if X is not true, then go to the next step. These are instructions that are given, and they're followed by results. So that's what I mean by inputs and outputs. Third, an algorithm is guaranteed to terminate. Some folks call this converge in the computer science community and then they produce a result, always stopping after a specified time. Otherwise, an algorithm might run, we might say, forever and then it wouldn't be very useful because it wouldn't produce the result we're trying to get to. Finally, if an algorithm imposes a requirement on its inputs, we might call these constraints or preconditions, the requirements must be met. For example, if an algorithm is designed to choose an even number from the collection of whole numbers between 1 and 20, but it selects the value of 3 or 19, then the algorithm must be allowed to fail or not terminate because it hasn't produced the desired result. And so those are sort of the fundamental properties that I would say algorithms have.

David: Well Dr. Coburn, as we think about getting to this point of establishing, leveraging and using algorithms, a big part of this digital transformation, as organizations and community, it seems to me, is we first must understand our data and understand that data from a standpoint of business intelligence. I think there's a lot of confusion today, it seems to me, between what we would call business intelligence versus advanced analytics and advanced analytics versus algorithms. Of course, we all know what we're trying to do, in terms of advanced analytics, is get to a point where we can use data for making better decisions and better investments. The Innovation Platform is really all about that. At the heart is how do we help organizations, communities, and businesses make better decisions in investments, productivity, and growth and so forth. My next question is when we think about algorithms and its relation to big data analytics could you shed some light on that and the relevance of that and not just the relevance, but also the sequential order in which people must go through to get to a point of creating algorithms?

Tim: Sure, and I’m glad you asked that question. I'm glad you pointed out the idea about business intelligence and how it impacts companies because a lot of the things that we run on these days have to do with the idea of an artificial intelligence or machine learning. We hear a lot about that and there's a little bit of hysteria sometimes about that in the media that really isn't deserved, I don’t think. So, let me just kind of talk about the idea of artificial intelligence. These are very big topics and I don't want to get too far in the weeds about them. We can come back to them later on but let me give you a few things here. The term artificial sort of suggests fake and the idea of fakeness but there's not anything fake about it at all. What I prefer to call it is human intelligence that is somehow transcribed into computer code so the computer can actually execute those steps that our brain is actually thinking about.

Remember I said that an algorithm is really about procedural knowledge or when an algorithm encompasses the idea of procedural knowledge. In order to create an algorithm to correctly reproduce an action that you or I might take, we need to break down our mental processes and our procedures as finely as we can so the computer can execute all of those steps in a way that essentially mimics what we're trying to do. Obviously, we can't do all of that. We can't put all of our mental thoughts into the ideas of if-then statements because there would be too many. We just can’t make the computer work that way. So, the computer is trying to mimic that as best it can and clearly, it's not going to get it exactly right because it can't exactly mimic our brain. And that's where the artificial piece comes into it. It's trying to mimic what humans are doing and there might some mistakes, there might be some errors made, simply because we can't efficiently translate our brains and our neurons in a way that the computer can actually follow up on. In the context of machine learning, that's also very interesting and highly related to algorithms. A machine learning algorithm actually updates the path it's supposed to take, say along a flowchart, based on the previous result. So, if we give it an answer, it uses that answer to make a decision and it may be changing course based on that input. This gets back to the last fundamental property I talked about a little bit because we're now putting a constraint or a precondition on the situation that's imposing on the algorithm. Then, the algorithm has to honor that precondition and that constraint. If we allow the algorithm to run unchecked or unbounded, then there's the possibility a mistake or an improper result could be made. That kind of gets us into the ideas of some of the questions that people ask about the efficacy of machine learning and artificial intelligence. That's a really simplistic explanation. We could talk about that forever, but that should be enough to kind of get us over the hump.

David: No, that's good. As I listened to you talk today, Dr. Coburn, I hear you talk about procedural and about the transfer of how we think. I know for all of us who have been a part of managing and leading organizations, we all can a truly appreciate how important processes are, how important procedures are, especially to what we would call the value chain. I think sometimes we forget when we're talking about productivity and when we're talking about processes that really what we're talking about, in large part, is also customer satisfaction and loyalty. Because we're creating a better experience for these folks. I want to close here, in just a moment, in your sharing some thoughts on this if you would. I've recently read a book called Innovation and Its Enemies and the book really is about how throughout time, whether it be planes, trains or automobiles, there's always been enemies of technology and of innovation.

Tim: Correct.

David: Always thinking that technology is going to be a detriment to society. I really believe today when we talk about big data and machine learning and algorithms and artificial intelligence, there seems to be really some deep-rooted concern about where that's leading us. Where that may go. But as I listen to you today, I'm reminded of what's driven our economic fabric as a nation, as communities, as organizations and that is this continual drive for increased productivity. As we close today, could you bring a little more connection to those thoughts? I really liked today, as you described algorithms as procedural and kind of connecting that dot. I think it's important for our audience to know as we talk about these subjects that sometimes are very difficult to even think about because they're somewhat complex, but that complexity can be brought back to really simple thinking in regard to process mapping and productivity. I've shared some thoughts there.

Tim: Gosh, you’ve pretty much said the whole story there. [laughing]

David: Could you expand on that as we close? I really appreciate today how you unpacked this idea of algorithms, but could you also shed some light on this as I just spoke to?

Tim: Yeah, there is a little bit of a fear factor, if nothing else, about computers taking over the world. There's always this fear of innovation and change and going directions that we're not used to, but the world is really driven on innovation. Industry is our businesses, particularly energy, or driven by innovation. We have to innovate in order to keep our economy and our lives and the way we live going the same way. There may be things that were not used to. I'm reminded of a famous story about Henry Ford when he started out talking about what kind of mode of transportation people wanted. Well, they wanted a faster horse [laughing]. They didn’t want it, but he built an automobile. Right now, if we used that same kind of analogy when thinking about the future, innovation is going to take us to places we cannot see. There's clearly going to be fear about going into the future, but if we live our lives in fear, we'll never get to the point we need to be. If we didn't innovate, we wouldn't have sent a man to the moon.

David: Yeah. Well Dr. Coburn, as I've gotten to know you, one of the things I appreciate already is that much of what you're talking about is driven by a desire to increase quality of life, increase productivity and efficiencies. This Digital Change Podcast is, in large part, about trying to highlight how we, as leaders, can capture and harness the value of technology. You mentioned people like Henry Ford, and we could go on and on about people even in our time and generation who have captured and harnessed you know cell phones, for example.

Tim: That’s right. [laughing]

David: You think about the technologies that so many enjoy today. You know, I don't live in the same community I grew up in, Dr. Coburn. My family is back in Missouri, six hours away, and I think about when I went to college, we were just beginning to talk about computers. Today we can connect to people in real and meaningful ways because of technology. I'm so thankful for that because even though I may not live where I used to live, I can still connect with my family and my friends in ways that are meaningful. So, I'm excited about continuing this discussion with you. Dr. Coburn is going to be joining us on a consistent basis in talking about this. We're so excited about that and hope that you'll join us as we continue to talk about, not just digital change, but as we talk about algorithms, machine learning, and big data. I want to close again by saying that a big part of our discussion is always going to be about increasing our AIM. That means talking about things that are achievable, impactful, and meaningful. Today, you've given us a lot to think about in how we can achieve results with algorithms and how it can lead to impactful and meaningful experiences. We thank you so much for joining us again, here on The Digital Change Podcast.

For questions or comments about today’s episode or other topics related to the digital transformation, contact Innovation Platform at digitalchange@ieconet.org or send us a message on Facebook, Twitter, or LinkedIn @IPSmartBuzz. To listen to all past and future episodes from any device, anywhere, subscribe to our channel on iTunes, Google Play, or Spotify.