Artificial Intelligence
Artificial Intelligence means getting computers to behave or perform as if they were intelligent.
Some of the intelligent task that AI is expected to perform are:
- Playing games like chess or go
- Proving theorems
- Classifying patterns, as in image recognition
- Understanding human language
- Providing advice
- ...
Origin
The origins of artificial intelligence trace back to the 1940s and 1950s, when pioneers like Alan Turing laid the groundwork for the field. Turing's seminal paper Computing Machinery and Intelligence (1950) proposed the concept of machines capable of simulating human intelligence, introducing the Turing Test as a measure of a machine's ability to exhibit intelligent behaviour. This era was marked by the development of early computers and theoretical models, such as Warren McCulloch and Walter Pitts' model of artificial neurons (1943), which provided a mathematical framework for understanding neural activity and logical operations. These foundational ideas set the stage for future research and experimentation in AI.
Symbolic AI
From the mid-1950s to the mid-1990s, the dominant paradigm in AI research was Symbolic AI (also called Classical
or Logical
AI). This approach to AI was based on logical reasoning, using symbols and rules—hand-written by human programmers—to represent concepts and the relationships between them, as opposed to perfoming calculations on numerical data.
It relies on a top-down, knowledge-based approach, where human experts encode rules and knowledge into the system. Classical AI systems typically use techniques like expert systems, logic programming, and rule-based reasoning to solve problems.
Classical AI had many successes, including AIs that could play games, hold basic conversations, and answer queries using expert systems.
In Symbolic Artificial Intelligence, a symbol is a representation of a real-world item or concept. One simple type of symbol is a picture. A symbol can also be a group of other symbols, such as the letters that make up the name of an object. In symbolic AI, symbols embody the total sum of the relevant facts and information required for the system to understand what something is. To achieve this, data is labeled and attached to a symbol.
AI's are programmed to follow strictly logical rules, with the aim of producing reliable conclusions. One such rule is the syllogism, which states: If all As are Bs and all Bs are Cs, then all As are Cs.
This simple principle enables AIs to know that all items of a particular class will always have a particular characteristic.
Heuristics
Some problems can be too complex for an algorithm to solve quickly. In such cases, all an AI can do is a brute-force search, which means to methodically work through and evaluate every possible solution. This is slow, however, and in some cases impossible.
A more efficient alternative is to use a heuristic. This practical method uses a common-sense approach, searching for an approximate solution by estimating a good enough
choice at every decision point based on the information available.
Rule-Based Systems
A rule-based AI system uses instructions, consisting of IF-THEN
statements, to draw conclusions based on an initial set of facts. In its simplest form, an IF-THEN statement says to the system: If this condition is true for the current facts, then do this; if it is false, do nothing.
Adding an ELSE
option allows for more complicated statements: If this is true, then do this; otherwise (else), do that.
Rule-based systems are predictable, reliable, and transparent,
meaning it is easy to see which rules the AI applies. However, rule-based AIs cannot learn
by adding to their store of rules and facts without human intervention.
Knowledge Representation in Symbolic Artificial Intelligence
Symbolic AI emphasises the representation of knowledge in a form that is both human-readable and machine-processable. Several key methods have been developed for knowledge representation, to wit:
- Semantic Networks
- are graph-based structures where nodes represent concepts and edges represent relationships between them, used to model hierarchical knowledge and relationships.
- Frames
- Frames, introduced by Marvin Minsky, are data structures for representing stereotypical situations, with each frame consisting of slots (attributes) and fillers (values), providing a structured way to represent knowledge about objects and events.
- Rules and Production Systems
- these encode knowledge in the form of
if-then
rules, which define actions to be taken when certain conditions are met, and are used to infer new knowledge or make decisions. - Ontologies
- Ontologies provide formal representations of a set of concepts and their relationships within a domain, used to standardise and organise knowledge, facilitating interoperability between different systems.
Data Structures in Symbolic Artificial Intelligence*
The more outstanding data structures found in Symbolic Artificial Intelligence are:
- weekly-typed lists (and other containers of weekly-typed elements)
-
These can contain atoms/objects of any legal datatype, including other containers. For example:
myList = [3, "year", [5, 4, true]]
where myList contains a sublist (
[5, 4, true]
) consisting of two integers and a truth value.Both in Prolog and in Lisp a list naturally splits into a head (its first element) and its tail (a list of its remaining elements).
- Graphs
-
These may be called conceptual graphs, semantic networks, etc. Basically, a symbol is related to another symbol, and thus a network of relationships is built up.
- Frames
- Very much like trivial objects in Object-Oriented Programming, or table rows in a relational database, or like C++ aggregate objects.
AI languages like Prolog lack an array-like data structure such as arrays in C and JavaScript or, more the more elaborate std::vector
in C++ despite it is pretty straighforward to implement array even if they are not in keeping with the spirit of AI. For instance, if a programmer wants to access the seventh element in a list she will need to unpack (that is, get the tail of the list) as many as seven times. So accessing the seventh element takes seven times as long as accessing the first element.
Statistical AI
In contrast to Symbolic AI, statistical AI, also called machine learning, takes a bottom-up, data-driven approach. Learning is achieved from data through various machine learning algorithms. It involves training AI systems on large datasets, allowing them to learn patterns and relationships in the data, and then applying that learned knowledge to make predictions or decisions. Statistical AI systems use techniques like neural networks, decision trees, and support vector machines to uncover hidden patterns and relationships in the data.
Although statistical AI has since overtaken classical AI, the old approach has not been entirely abandoned; many of its techniques have been incorporated into modern AI applications, such as natural language processing and robotics.
Classical AI is better suited for domains with well-defined rules and structured data, while statistical AI excels in domains with complex, unstructured data where patterns are not easily discernible by human experts.
In recent years, there has been a growing emphasis on combining the strengths of both approaches, leading to the development of hybrid AI systems that incorporate elements of both classical and statistical AI.
Much of what we do with machine learning happens beneath the surface.
Jeff Bezos
Machine Learning
[...]