Artificial intelligence researchers have developed several specialized programming languages for artificial intelligence:
Languages
*
AIML (meaning "Artificial Intelligence Markup Language")
[according to (the intro page to) th]
AIML Repository
at nlp-addiction.com is an
XML dialect
[See th]
AIML "Intro" (web) page
at www.alicebot.org 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
A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech.
Types
* A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
was the first 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
Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Ka ...
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 in AI 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
Planner may refer to:
* A personal organizer (book) for planning
* Microsoft Planner
* Planner programming language
* Planner (PIM for Emacs)
* Urban planner
* Route planner
* Meeting and convention planner
* Japanese term for video game de ...
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 th
School of Computer Scienceat the
University of Birmingham which host
the Poplog website It is often used to introduce symbolic programming techniques to programmers of more conventional languages like
Pascal
Pascal, Pascal's or PASCAL may refer to:
People and fictional characters
* Pascal (given name), including a list of people with the name
* Pascal (surname), including a list of people and fictional characters with the name
** Blaise Pascal, Fren ...
, who find POP syntax more familiar than that of
Lisp
A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech.
Types
* A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
. 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
Natural language processing (NLP) is an interdisciplinary subfield of linguistics, computer science, and artificial intelligence concerned with the interactions between computers and human language, in particular how to program computers to pro ...
and
Neural Network
A neural network is a network or circuit of biological neurons, or, in a modern sense, an artificial neural network, composed of artificial neurons or nodes. Thus, a neural network is either a biological neural network, made up of biological ...
s. 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.
[Wolfram Language](_blank)
/ref>
* Julia, e.g. for machine learning, using native or non-native libraries.
See also
* Glossary of artificial intelligence
* List of constraint programming languages
* List of computer algebra systems
* List of logic programming languages
* List of constructed languages
* Fifth-generation programming language
A fifth-generation programming language (5GL) is any programming language based on problem-solving using constraints given to the program, rather than using an algorithm written by a programmer. Most constraint-based and logic programming languag ...
Notes
References
Major AI textbooks
:''See also the AI textbook survey''
*
*
*
*
*
History of AI
*
*
{{refend
Artificial intelligence
*