IoT and AI are two of the hottest topics in tech, which is a good reason why enterprise technologists must understand them. The two technologies are very symbiotic, so it's critical to plan for how they can support each other to benefit enterprise users.
What is IoT?
IoT is a network of devices rather than people. IoT applications are normally built from devices that sense real-world conditions and then trigger actions to respond in some way. Often the response includes steps that influence the real world. A simple example is a sensor that, when activated, turns on some lights, but many IoT applications require more complicated rules to link triggers and actions.
The messages that represent triggers and actions/commands in IoT flow through what's commonly called a control loop. The part of an IoT application that receives the triggers and initiates the actions is the center point of that loop and the place where IoT rules reside.
The control loop is only a part of the total information flow in an IoT application -- the part that actually receives information on real-world process conditions and generates real-world responses. Most IoT applications also generate some business transactions. For example, the reading of a shipping manifest at the entry to a warehouse might open the gate for the driver -- a control loop decision -- and also generate a transaction to receive the goods represented on the manifest into inventory -- a business transaction. Decisions made in the control loop must meet application latency requirements, which are often referred to as the length of the control loop.
Often control loops only require simple processing to close the loop and create a real-world response to an event. Entering a code to open a gate is an example of this. In other cases, the processing needed to decide is more complicated. When the processing must apply more decision factors, the time required to make these decisions can affect the length of the control loop and the ability of IoT to provide the features expected. A half-minute delay in having a worker scan a manifest before admitting a truck into a freight yard, for example, could reduce yard capacity. IoT could read a QR code on the manifest and make the necessary decisions much faster, speeding the movement of goods.
What is AI?
AI is a class of applications that interpret conditions and make decisions, similar to the way people respond to their senses, but without requiring direct human intervention.
There are three broad forms of AI in use today, which are the following:
- Simple or rule-based AI is software that has rules or policies that relate trigger events to actions. These rules are programmed, so some people might not recognize this as a form of AI. However, many AI platforms rely on this strategy.
- Machine learning (ML) is a form of AI where the application learns behavior rather than having it programmed in. The learning can take the form of monitoring a live system and relating human responses to events, then repeating them when the same conditions occur, by either analyzing past behaviors or having an expert provide the data.
- Inference or neural networks use AI to build an "engine" that is designed to mimic a simple biological brain and make deductions that generate responses to triggers based on what the engine "infers" the conditions are. Today, this technology is applied most often to image analysis and complex analytics.
All three of these forms of AI are designed to stand in for human intelligence, but their ability to represent something even approaching actual human intelligence is greater as you progress through the three in the order above.
How can IoT and AI support each other?
In IoT, real-world events are signaled and processed to create an appropriate response. In a simple sense, then, any IoT application that uses software to generate a response to a trigger event is at least a basic form of AI, and AI is then essential to IoT. The question for IoT users and developers isn't whether to use AI, but how far AI can be taken. That depends on the complexity and variability of the real-world system IoT supports.
Simple rule-based AI would say "If trigger-switch is pressed, turn on light A," and a more sophisticated evolution might say "If trigger-switch is pressed, and it's dark, turn on light A." This represents not just event (trigger-switch) recognition, but also state (it's dark) recognition. Programmers use state/event tables to describe how a series of events are interpreted in multiple states, but this only works if there are a limited number of states that can be easily recognized.
Referencing the example of a truck arriving at a warehouse with goods to store, simple AI could provide a means for the driver to enter a code to pass through a security gate. This would eliminate the cost of hiring a worker attend the gate. It's also possible to read a barcode or RFID tag on the vehicle itself and allow entry without the entry of a code. This would allow the truck to keep moving as its right to enter was validated, further speeding the process.
If more conditions must be analyzed to determine a response to an IoT event, the process falls outside the capabilities of the simple AI application. If the it's dark state was substituted with one called, I need more light, and the IoT system was to respond not to a specific trigger switch but to the task a person was trying to perform, simple AI wouldn't be enough.
In that situation, the ML form of AI might monitor the arrival of a truckload of goods at the warehouse. Over time, it could learn when the drivers and workers needed more light and activate the switch without the person needing to act. Alternatively, an expert might perform expected tasks and "teach" the software when more light would be appropriate. AI/ML software would then eliminate the need for a programmer to build each IoT application.
In the inference form of AI, the IoT application attempts to gather as much information as possible, mimicking what a person senses. It then applies inference rules, such as people can't work where light levels are below x, and from the conditions sensed and the application of those rules, decides to turn on a light.
Inference-based AI requires more complicated software to gather conditions and define inference rules, but it can respond to a wider range of conditions without being programmed. The same level of inference processing could determine whether additional workers should be assigned to unloading, because the goods are critically needed, the work is getting behind schedule or simply because workers are available. All this could improve the movement of goods and the overall efficiency of truckers and warehouse personnel.
IoT is about using computer tools to automate real-world processes, and like all automation tasks, it's expected to reduce the need for direct human participation. Although IoT is aimed at reducing human work, it doesn't eliminate the need for human judgments and decisions. That's where AI can step in and improve the IoT system significantly.