WHAT IS ARTIFICIAL INTELLIGENCE?
There are many definitions of artificial intelligence or AI. In fact, a Google search today returns 1.18 billion results. One of the funniest definitions I have run across is “AI is whatever hasn’t been done yet” – now there’s a vague and unhelpful answer!
One of the more useful definitions I have found is “AI is the ability of a computer program or a machine to think and learn. In general use, the term ‘artificial intelligence’ means a machine which mimics human cognition.”
So, machines being able to think and learn seems to be the crux of AI.
The way humans think is through what is called cognition (stems from the Latin word for “know” or “recognize”). It is the scientific word for a thought process, the mental action of acquiring knowledge and understanding through thought and experience.
The way humans learn is through either observational or associative means. Observational learning is watching others behavior, such as watching your parent drive a car. You learn from watching which levers and switches they push as they drive along. Associative learning, on the other hand, is learning by establishing connections between events. You know you will hear thunder when you see a lightning strike.
Humans make decisions based on thought and learning. We make sound or good decisions based on observational reasoning as well as associative patterns. We also sometimes make bad decisions that we can learn from to make us smarter the next time around. So our thought process gets smarter the more we learn.
If a machine can acquire knowledge and understand or recognize it, then it too can start to make informed (and hopefully good) decisions for me. I believe AI is really about a machine being able to make an informed decision that is a sound one. AI is a decision support system (DSS) that helps me make a better decision faster than I could have otherwise made.
THE PROBLEM WITH PROJECT PLANNING TODAY
One of the hardest challenges in project management is accurately forecasting future outcomes (project completion date, total cost) of very complicated and highly uncertain endeavors (projects) – we call this planning.
As an industry, we have developed some tried and trusted techniques such as critical path method (CPM) to assist in modeling project outcomes. But these models are only as good as the inputs we feed into them. Any worthy planning tool today uses CPM as its underlying forecasting engine. As the planner, we are still left with the onerous task of knowing not only which activities to include in our plan, but worse, what should their durations, cost and even sequence be? CPM does little more than convert durations and sequences of durations into a series of dates. It doesn’t help one bit with:
- What scope should I focus on when building my plan?
- What activities should we include?
- What should our durations be?
- What is the true sequence and logic between our activities?
- What risks or opportunities can I expect to encounter?
If CPM were a complete solution, then we wouldn’t continue to experience project cost and schedule overruns. The problem isn’t CPM though. The problem is our inability to accurately model what we think will happen during project execution because:
- There are a huge number of variables (tasks and sequence)
- There are a huge number of uncertainties associated with those variables (duration or scope uncertainty)
- Schedule risk analysis tools help tell us how bad our forecast may be, but they do nothing in terms of telling us what the inputs to our schedule should have been in the first place.
This is why I believe AI can massively help project planning. If AI can assist the planner by making suggestions that are sound, then the immense challenge described above starts to become surmountable. Added to that, if our planning tool can also start to make better suggestions by observational or associative learning, then we are headed down a seriously valuable and exciting path.
ARTIFICIAL INTELLIGENCE CATEGORIES
If you thought the number of AI definitions was daunting, Google returns 754,000 results when searching for Types of AI. Sadly, very few of those results return a common set of type definitions.
I have found it most beneficial to categorize AI into the following three types:
1) Artificial Narrow Intelligence (ANI)
Artificial Narrow Intelligence (ANI), also referred to as Weak or Applied AI, is a type of AI that specializes in one area. Examples of this would be the IBM Deep Blue computer beating a chess master at a game of chess. The machine was programmed to be very good at one thing – playing chess. You might be surprised to learn that Apple’s Siri is also an example of ANI. She is programmed to respond to a limited set of questions, but go beyond those questions and she cannot give an informed answer. The majority of today’s AI solutions are ANI-based. I believe, given the current state of AI-related technologies, ANI-based technologies are the most likely to support advancing the science of planning.
2) Artificial General Intelligence (AGI)
Artificial General Intelligence (AGI) is also referred to as Strong AI or Human AI. AGI refers to a computer that is as smart as a human across multiple domains. Computer science is nowhere close to achieving AGI yet.
3) Artificial Superintelligence (ASI)
Artificial Superintelligence (ASI) is “an intellect that is much smarter than the best human brains in practically every field, including scientific creativity, general wisdom and social skills.” This is an even greater leap than AGI, so let’s just move on.
CURRENT APPROACHES TO ARTIFICIAL NARROW INTELLIGENCE
Today, our implementation of ANI-based AI can be loosely classified into two categories: expert systems and neural networks.
Expert (Knowledge-Based) Systems
Originally developed for use in the 1980s, expert (or knowledge-based) systems (ES) came into their own as computing power got strong enough in the 1990s. An expert system is a program running on a computer that uses a set of rules to answer a question (typically in the form of IF…THEN).
When asked a question, an ES will filter a set of data, based on rules, to establish a subset of what it believes is the answer. In general, the more rules that can be used to answer the question, the stronger the chance that a correct answer will be given. For example, if I wanted to determine a type of two-legged animal, simply querying “IF number of legs = 2” doesn’t narrow down our search enough to give us a useful answer since there are a large number of animals with two legs. Combine this with an additional set of questions relating to height, weight, habitat, pouch, etc. and we can quickly deduce a more reasonable answer.
An expert system is comprised of a knowledge base and an inference engine. For a project planning tool, the knowledge base would contain data pertaining to activities and their durations for different types of projects. The inference engine is then responsible for trying to return a subset of this knowledge base back to the planner based on the question they may ask, such as “What activities should I include for my engineering scope of my hospital project?”
In this example, what is further useful is to understand how confident is the computer that the returned suggestion is correct. This is where concepts like fuzzy logic come into play. Rather than returning a definitive list of activities, the AI engine should return a subset of activities with associated degrees of confidence about their relevance.
A neural network (NN) tries to simulate the way a brain processes, learns and remembers information. Learning from experience it looks for similarities in the information that it is provided, as well as in previous data and then makes a decision based on that process – it looks for patterns. This pattern matching is called machine learning – you must teach a NN what is a match and what is not. Feed-in enough examples of characteristics of an alive human (breathing, pulse, eye movement) and a neural network will start to establish a pattern as to whether those inputs drive towards a correct diagnosis of “alive or dead?”
There are various forms of machine learning in a neural network including:
- Supervised: For example, feed-in an activity that has zero total float and tell the NN that the activity is ‘on the critical path’. After feeding in enough of these activities, it will establish a pattern that matches zero float activities to critical path activities.
- Unsupervised: Feed-in activities but don’t tell the NN which are on the critical path or not and let the NN try and categorize the activities based on its various attributes (e.g., total float). In this instance, the NN will perhaps group into zero and non-zero float without knowing this relates to a critical path – it simply groups activities together.
- Reinforcement: This is teaching through reward, like teaching a dog good behavior by offering a treat. With regards to our planning software examples, perhaps the license cost of the software should automatically go up or down depending on how good the AI engine suggestions are!
WHICH AI APPROACH IS BEST FOR HELPING WITH PROJECT PLANNING?
Unlike neural networks, expert systems do not require up-front learning, nor do they necessarily require large amounts of data to be effective. Yes, expert systems can and do absolutely learn and get smarter over time (by adjusting or adding rules in the inference engine) but they have the benefit of not needing to be “trained upfront” in order to function correctly.
Capturing planning knowledge can be a daunting task and arguably very specific and unique to individual organizations. If all organizations planned to use the same knowledge e.g., standard sub-nets, then we could simply put our heads together as an industry and establish a global “planning bible’ from which we could all subscribe. This, of course, isn’t the case and so for a neural network to be effective in helping us in project planning, we would need to mine a lot of data that, even if we could get our hands on it, wouldn’t be consistent enough to actually help with pattern recognition.
Neural networks have been described as black boxes – you feed in inputs, they establish algorithms based on learned patterns and then spit out an answer. The problem is, they don’t tell you why because neural networks don’t understand context. I honestly don’t think that as a diligent planning community, we should rely on a system that doesn’t have understanding, or even worse, cannot explain why a tool can come to a given answer. A computer providing guidance indicating “You need activities 1, 2 and 3” is not as useful as “you need these activities based on previous projects X, Y, Z and your currently defined scope and the phase of the project you are currently in.” The context is the key to our understanding and ultimately accepting the suggestions made.
Expert systems tend to excel in environments that are more sequential, logical and can be “tamed” by rules – doesn’t that remind you of a CPM network? Neural networks pertain more to problems such as recognition through pictures e.g., project drawings and BIM.
Planning can still benefit from a neural network approach as a way to make the tool smarter. As mentioned, expert systems can get smarter, but they need to be trained. If we can track a planner’s reaction to suggestions made by our expert system, then those reactions can be used to potentially adjust the weights we give to the various attributes in our expert system.
So then relating back to our original definition of AI, for a project planning tool, use an expert system to think and use a neural network to learn. Combine these two and we have at our disposal, an incredibly powerful planning aid. That is exactly what we have developed with our InEight planning, scheduling and risk solutions.
HOW WE ARE EMBRACING AI WITHIN THE INEIGHT PORTFOLIO OF SOLUTIONS
InEight planning, scheduling and risk solutions are knowledge-driven planning tools. We developed the software to make the process of building a CPM schedule faster and the resulting plan more accurate. We achieve this through a combination of AI as well as what we are calling HI or human intelligence.
With InEight planning, scheduling and risk solutions, there is an expert system AI engine. The knowledgebase (or library) contains an organization’s historical as-builts, standards, benchmarks, sub-net templates and even project risk registers. When developing a plan using InEight’s planning, scheduling and risk solutions, the AI engine makes informed suggestions to the planner as to:
- What activities should be included?
- In what sequence should the activities be established?
- What are reasonable or benchmark durations and costs?
- What risks should be considered?
Add to that the ability of the AI engine to learn from its planner and team-member users. By utilizing machine learning, the suggestions the AI engine makes actually evolve and get smarter over time.
Once a plane has been established using InEight planning, scheduling and risk solutions, Human Intelligence offers team members an opportunity to give their expert input and opinion to help drive towards a consensus-based plan. A plan that has a higher degree of buy-in from the team (validation) and one that is also based on knowledge from the knowledge library (calibration).
By combining the power of AI computing and human input into the development of your plan, using InEight planning, scheduling and risk solutions provides a better, faster, more reliable means of establishing an achievable baseline against which to execute your project. A giant leap forward.
To learn more about InEight’s planning, scheduling and risk solutions, visit InEight.com