Introduction to Artificial Intelligence

Miomir Arandelovic, DBA

Artificial Intelligence (AI), as an attempt to reproduce natural intelligence by human-created systems, had a long history, especially in chemistry and medicine.  AI, as an attempt to reproduce natural intelligence by human creation, had a long history, especially in chemistry and medicine.  One of the most significant milestones happened  in 17th century,when  Gottfried Leibniz extended the concept of the calculating machine that operates on discrete concepts.

AI as we know it, emerged at mid-20th century through Alan Turing’s theory of symbolic computation using zeros and ones.  Church-Turning thesis suggested that computers can simulate any formal reasoning. While this goal has not been accomplished yet, a prize has been given annually to computer programs that can interface people in most human way (Loebner.net/Prizef/loebner-prize.html).  Recent years demonstrated fast advancements in artificial intelligence in various areas, such as safe car behaviors, robotics, game play (computer won against chess world champion, Gary Kasparov) and Natural Language Processing . AI development promises an expanded use in all areas of life.

Even though the AI concepts had been developed throughout 20th century, the rapid expansion and wide industry use of AI happened in 21st century, as finally the computer hardware speed reached the levels needed for efficient processing.  However, AI is still successful mostly in specialized areas such as niche information provision, Google search, self-driving cars, robotics, computer vision and gaming.  The AI mechanisms are however also intensively developed for autonomous decision making, algorithm adaptation, data generalization, understanding speech and text, machine learning and assisted communication.

            Unlike SciFi views, where AI systems think or act as humans, in computer science, the AI  systems thinks and acts rationally, based on the specified sets of premises and under perceptual and computational limitations.  Within the computer science, AI has been considered as a capability of Artificial Systems to think and act rationally. In the Cognitive Pyramid (DIKW, Data Information, Knowledge, Wisdom) presented by Liew (2007), the artificial intelligence operates on the acquired knowledge, information and data, but it is not completely autonomous, as it is driven by human wisdom.  Thus, even though the AI can be widely applied, it doesn’t cover the very tip or singularity of the cognitive processing, which joins the rationalization to the domains beyond, such as Wisdom. In AI system implementations each level of cognitive pyramid is associated to the specific system fuction:

  • Data: raw system inputs and output
  • Information: processing and storage of data to various sets of databases or search domains
  • Knowledge: information views made possible for different purposes or expert systems
  • Intelligence: AI algorithms that include learning and self-adaptation

 

Cognitive Function Pyramid, adapted from Liew (2007).

Figure 1. Cognitive Function Pyramid, adapted from Liew (2007).

The difference between knowledge and intelligence is one of the key factors in delineating  different software functions. Knowledge is the collection of skills and information that was acquired in the system throughout its existence for the specific purposes. Intelligence is the ability to combine and apply various knowledge resources for the task at hand and to learn from such application. Thus, knowledge expert systems eventually fade in time, as techniques and technologies come and go. However, Intelligence sustains, as it functions beyond any technique or technology (Colangelo, 2014).

            At the current state of technology, the main role of AI technology is that it is used to build the Intelligent Agents. Agents that have physical presents are called robots (robotics mostly for the robot orientation in physical space)  Software agents do not have at physical presence and are implemented as software applications, such as web crawler, chess program, text translation utility or user sentiment analysis system. Both types of AI agents interact with the corresponding environments; however robotics has requires a special layer of adaptation of the AI application to physical space. The AI Agents are constructed to act rationally in their environments, produce the solutions for the specific problems or tasks, given goals and circumstances and learn from such experience. The AI Agents need to adapt to the specific circumstances, not only in relation to the problem definition, but also to make appropriate choices under perceptual and computational limitations.

AI Agents are utilized for various tasks, but most frequently to assist and support, rather than to replace humans, for instance for:

  • Perform the computations humans can't do
  • For entertainment, e.g. to produce realistic gaming environment
  • Where speed or other capabilities of robots is required
  • To assist humans in making decisions
  • To take over some sustainability-related tasks, such as temperature in smart houses etc.

Data, information and knowledge base for the AI agents can be specially prepared or deduced from the natural environment. Some of the functions that AI agents subsequently perform are:

  • Picking up necessary knowledge (including information and data)
  • Processes the knowledge
  • Stores the results
  • Based on goals and the own capabilities constructs the plan of action
  • Performs an action in its environment by the criteria to adapt it, based on plan

To perform these tasks, AI Agents need to represent the world where it operates, through multiple representational states, mapped into a computational model of the environment. A diagram that illustrates AI agent operations is presented in Figure 2 below.

AI Agent operation in its environment.

Figure 2. AI Agent operation in its environment.

For an efficient function of AI agent, the environment model on which it operates needs to be: extensible, as general as possible, as close to problem as possible and to be computation friendly. A consequence for the computation friendly requirement is that AI world model has to be optimized in the range to be just good enough to cover the problem and neither simpler, nor more generic. An AI agent should also be able to ensure optional adaptation of the accuracy vs. computation time trade off.  Some AI problems, like an optimal journey of travelling salesmen between various locations are very difficult and slow to resolve with full accuracy, but the usable results can be obtained fast.

            One of the other important characteristics of AI models is that they need to ensure a dynamic representation language that is not only rich enough, maintainable but can enable adaptation of problem definition in time, incorporating new facts during program execution. One of the most frequently used method to ensure dynamic AI processing is to allow updates of the constraint sets required for successful solution, based on constraint satisfaction criteria.

            Due to such dynamism in AI application execution, it is usually said that these applications operate in exploration mode, rather than exploitation mode characteristic for pre-programmed software applications.  To be able to accomplish such adaptation to the change, AI algorithms are not only subject to tests (as in other software application), but also to algorithm training. The success of such trainings are based on the scores that algorithm archives, similarly to  student. Goal of the training is usually to maximize that score to the level high enough for the successful algorithm application in the field.

The AI agents also to be able to expand upon its functionality by learning (either guided or by learning along the tasks), to be able to work with “perfect information” (chess) or  probabilistic (poker) and to be able to take deterministic (fixed set of input options) and stochastic approach (random input), based on  nature of problem.

One of the most simple illustrations of AI agent operation could be observed in Optical Character Recognition (OCR) application:

  • OCR AI agent decomposes problem into parts by identifying separate characters (in other applications these could be words or other tokens).
  • Subsequently it approaches the problem iteratively by digitalizing the character area into vectors of 0 and 1 that represent the character image.
  • Scales the representation (number of pixels) based on required computation time
  • Get taught by sample character fonts, however need to be able to estimate similar fonts, e.g. by Euclidian distance (sum the squares of difference for each element)

 

References

Colangelo, A. (2014). Knowledge vs. Intelligence. Retrieved from https://alistapart.com/blog/post/knowledge-vs-intelligence.

Liew, A. (2007). Understanding Data, Information, Knowledge And Their Inter-Relationships". Journal of Knowledge Management Practice. 8 (2). January 2009.

Knight, W. (2017). 5 Big Predictions for Artificial Intelligence in 2017. Retrieved from: https://www.technologyreview.com/s/603216/5-big-predictions-for-artificial-intelligence-in-2017/.