AI Specialised languages for artificial intelligence have been developed, such as Lisp, Prolog, Smalltalk, TensorFlow and many others. Hardware developed for AI includes AI accelerators and neuromorphic computing.
AI specialised languages for artificial intelligence programming
Artificial intelligence researchers have developed several AI specialised languages for programming of artificial intelligence:
- AIML (meaning “Artificial Intelligence Markup Language”) is an XML dialect for use with A.L.I.C.E.-type chatterbots
- C# can be used to develop high level machine learning models using Microsoft’s .NET suite. ML.NET was developed with integration to existing .NET projects in mind, simplifying the process for existing software using the .NET platform
- Lisp was the first AI specialised language developed for artificial intelligence. It includes features intended to support programs that could perform general problem solving, such as lists, associations, schemas (frames), dynamic memory allocation, data types, recursion, associative retrieval, functions as arguments, generators (streams), and cooperative multitasking
- Smalltalk has been used extensively for simulations, neural networks, machine learning and genetic algorithms. It implements the purest and most elegant form of object-oriented programming using message passing
- Prolog is a declarative language where programs are expressed in terms of relations, and execution occurs by running queries over these relations. Prolog is particularly useful for symbolic reasoning, database and language parsing applications. Prolog is widely used as an AI specialised language today
- STRIPS is a language for expressing automated planning problem instances. It expresses an initial state, the goal states, and a set of actions. For each action preconditions (what must be established before the action is performed) and postconditions (what is established after the action is performed) are specified
- Planner is a hybrid between procedural and logical languages. It gives a procedural interpretation to logical sentences where implications are interpreted with pattern-directed inference
- POP-11 is a reflective, incrementally compiled programming language with many of the features of an interpreted language. It is the core language of the Poplog programming environment developed originally by the University of Sussex, and recently in the School of Computer Science at the University of Birmingham which hosts the Poplog website, It is often used to introduce symbolic programming techniques to programmers of more conventional languages like Pascal, who find POP syntax more familiar than that of Lisp. One of POP-11’s features is that it supports first-class functions
- R is widely used in new-style artificial intelligence, involving statistical computations, numerical analysis, the use of Bayesian inference, neural networks and in general Machine Learning. In domains like finance, biology, sociology or medicine it is considered one of the main standard languages. It offers several paradigms of programming like vectorial computation, functional programming and object-oriented programming
- Python is widely used for artificial intelligence, with packages for several applications including General AI, Machine Learning, Natural Language Processing and Neural Networks. The application of AI to develop programs that do human-like jobs and portray human skills is Machine Learning. Both Artificial Intelligence and Machine Learning are closely connected and are being used widely today
- Haskell is also a very good programming language for AI. Lazy evaluation and the list and LogicT monads make it easy to express non-deterministic algorithms, which is often the case. Infinite data structures are great for search trees. The language’s features enable a compositional way of expressing the algorithms. The only drawback is that working with graphs is a bit harder at first because of purity
- Wolfram Language includes a wide range of integrated machine learning capabilities, from highly automated functions like Predict and Classify to functions based on specific methods and diagnostics. The functions work on many types of data, including numerical, categorical, time series, textual, and image
- Java (programming language) is mostly used to create machine learning solutions, genetic programming, search algorithms, neural networks and multi-robot systems
- Julia (programming language), e.g. for machine learning, using native or non-native libraries.
Hardware for artificial intelligence
Artificial Intelligence (AI) has been around for decades, but limited access to large data sets and lack of appropriate computing architectures have restrained AI developments, until recently. The emergence of deep learning, cloud, parallel computing architectures, and the race for sophisticated AI capabilities such as speech, image, video, and text recognition, have accelerated AI research.
One of the layers in the technology stack for artificial intelligence, such as storage, memory, logic, and networking, AI hardware orchestrates and coordinates computations among accelerators, serving as a differentiator in AI.
AI Hardware Types
The hardware used for AI today mainly consists of one or more of the following:
- CPU – Central Processing Units
- GPU – Graphics Processing Units
- FPGA – Field Programmable Gate Arrays
- ASIC – Application Specific Integrated Circuits.