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:

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

[...]