Illustration of gradient descent for 3
different starting points; two
parameters (represented by the plan
coordinates) are adjusted in order to
minimize the loss function (the
height)
Distributed search processes can coordinate via swarm
intelligence algorithms. Two popular swarm algorithms used in
search are particle swarm optimization (inspired by bird flocking)
and ant colony optimization (inspired by ant trails).[77]
Formal logic is used for reasoning and knowledge
representation.[78] Formal logic comes in two main forms:
propositional logic (which operates on statements that are true or
false and uses logical connectives such as "and", "or", "not" and
"implies")[79] and predicate logic (which also operates on objects,
predicates and relations and uses quantifiers such as "Every X is a
Y" and "There are some Xs that are Ys").[80]
Deductive reasoning in logic is the process of proving a new
statement (conclusion) from other statements that are given and assumed to be true (the premises).[81]
Proofs can be structured as proof trees, in which nodes are labelled by sentences, and children nodes are
connected to parent nodes by inference rules.
Given a problem and a set of premises, problem-solving reduces to searching for a proof tree whose root
node is labelled by a solution of the problem and whose leaf nodes are labelled by premises or axioms. In
the case of Horn clauses, problem-solving search can be performed by reasoning forwards from the
premises or backwards from the problem.[82] In the more general case of the clausal form of first-order
logic, resolution is a single, axiom-free rule of inference, in which a problem is solved by proving a
contradiction from premises that include the negation of the problem to be solved.[83]
Inference in both Horn clause logic and first-order logic is undecidable, and therefore intractable.
However, backward reasoning with Horn clauses, which underpins computation in the logic
programming language Prolog, is Turing complete. Moreover, its efficiency is competitive with
computation in other symbolic programming languages.[84]
Fuzzy logic assigns a "degree of truth" between 0 and 1. It can therefore handle propositions that are
vague and partially true.[85]
Non-monotonic logics, including logic programming with negation as failure, are designed to handle
default reasoning.[28] Other specialized versions of logic have been developed to describe many complex
domains.
Many problems in AI (including in reasoning, planning, learning, perception, and robotics) require the
agent to operate with incomplete or uncertain information. AI researchers have devised a number of tools
to solve these problems using methods from probability theory and economics.[86] Precise mathematical
tools have been developed that analyze how an agent can make choices and plan, using decision theory,
decision analysis,[87] and information value theory.[88] These tools include models such as Markov
decision processes,[89] dynamic decision networks,[90] game theory and mechanism design.[91]
Logic
Probabilistic methods for uncertain reasoning