Artificial Intelligence Flashcards
In terms of predicate calculus what is unification?
- The inference system must be able to determine when two expressions are the same or match
- Two expressions match if, and only if, they are syntactically identical
- unification is an algorithm of determining the substitution list to make two predicate expressions match
- if p and q are logical expressions then unify(p,q) gives a substitution list (S) that makes p and q identical or fail
What are the core elements of a Artificial neural Network (ANN)?
- emulation of biological neural system
- consisting of nodes (artificial neurone) and weights (neural connection)
- each node has weighted connection to several other nodes in adjacent layers
- each node takes input received from the connected nodes and uses the weight together with a simple function to compute output values
- knowledge is stored in the connections between neurone
What are some problems with A*
- Doesnt adapt to changing environments
- doesnt plan around other AI objects
- speed
What dies language consist of in logical programming?
- Syntax = tells us how to build up sentences (^, V etc)
- Semantics = tells us meaning of sentences; assigning a truth value to each sentence;
What is a constant?
name objects or properties in the real world
What are Bayesian belief networks?
- Nodes = random variables
- Directed arcs = direct casual relationships, or conditional dependencies (X has a direct influence on Y)
- If there is no arc between nodes, these variables are assumed to be conditionally independent
- Captures both qualitative (which variables depend on others) and quantitative (probability values) relationships
What is logic programming?
- you present facts and rules to infer new facts just by asking questions
- when you ask a question, the run time system searches through the database of facts and rules to determine the answer
What is needed for an action to occur?
- Action helps us change state
- precondition
- effects
- chosen set of actions need to be both optimal and valid
what is the probability of an event in a sample space
P(E) = |E| / |S|
What is A* from a more technical standpoint?
- f(x) = g(x) + h(x)
- g(x) = cost from start node x, calculated in same way as Dijkstra’s
- h(x) = Heuristic function for node x = some estimate of the min cost to get to the destination from x
- open node with lowest f(x) is selected at each step
How do we train a ANN?
- find correct weight values
- supervised training = show the network the right asnwer
- apply a leaning method that will modify the weights
How do ANN’s work?
Have to train the Neuron -Intro data -Compute An output -compare output to desired output -weights are modified to reduce error Use the NN -intro new data to the network
What is a proof?
- A sequence of sentences where each sentence is either a premise or a sentence derived from earlier sentences in the proof by one of the inference rules
- the last sentence is the goal that we want to prove
How do we stop AI from colliding in games?
- When programming games with multiple AI units, possible to have them colliding through a bottleneck point of the shortest path
- can map onto a 3D grid by marking AI routes as obstacles for another AI, add a wait function, move from layer to layer at each step
How is Baye’s rule often described?
- P(A|B) = 1/c(P(B|A)P(A))
- Before equals sign is the posterior probability
- 1/c is normalisation factor
- P(B|A) is likelihood
- P(A) is prior probability
- A is event and B is evidence
Pros and cons of single layer network?
Pro -simple and easy to implement -fast learning Con -can only learn linearly separable functions
What is Baye’s rule?
Bayes’ rule; P(A|B) = (P(B|A)*P(A))/P(B)
- Expresses the relation between a conditional probability and its inverse
- Can also be written as; P(A|B) = 1/c(P(B|A)P(A))
What do we need for a Dijkstra’s algorithm implementation?
- set of nodes and pair costs to traverse from one to its neighbours
- start and end nodes
- open and closed nodes lists
- link to the neighbour which got us there for that cost
What are some characteristics of MLNN?
- overcome limitations of linear perception
- can learn non linear relationships
- can solve different problems
- stock prediction
- number of layers
- one hidden layer is usually enough
- learning
- more complex learning methods, can be very slow, require lots of training data to learn
How do single layer networks work?
- an adder sums up all the inputs modified by their respective weights (weight at pos x * item at pos x) + (weight at pos x+1 * item at pos x+1) … etc
- referee to as linear combination
- an activation function controls the amplitude of the output of the neuron
- acceptable range of output is 0-1 or -1-1
How do we choose between breadth and depth first search?
- in games we often want to look a fixed number of moves ahead, and look for the best outcomes = breadth first
- if we want to consider all outcomes, depth search usually uses less memory and is slightly easier to implement
- there are multiple ways to approach tree search, and choice often depends on what we already know about the search tree and what we want to achieve
Advantages of a ANN?
- good for real time application as massively parallel processing
- self trainable, learns by itself, needs training data
- excellent when it comes to generalisation and dealing with uncertain info
- works well with noisy data
- can perform tasks that a linear program can not
- does not need to be reprogrammed because it learns
What does an inference procedure consist of in logical programming?
-tells us which sentences are valid inferences from other sentences
What is a function?
used to evaluate statements (eg; plus(2,3) evaulatues to 5)
In predicate calculus what is substitution?
- assigning values to variables
- two terms unify if there is a substitution that makes those two terms identical
- eg; unifying f(x,2) and f(3,y) can be written 3/X, 2/Y
- the notation X/Y indicates that X is substituted for the variable Y in the original expression
what is a predicate?
- name relationship between objects in the world
- they are special functions with true/false as values
- predicates with the same name but different arguments are considered distinct
What are predicate calculus symbols?
- A….Z, a…z
- 0-9
- underscore
- any combination but must start with a letter
What does logic programming consist of?
Language and rules
What is an elementary/atomic event
a happening or occurrence that cannot be made up of other events
What is proof procedure?
-method of proving statements using inference rules
Step 1 = translate above statements into propositional logic
Step 2 = write down the premises and the goal into propositional logic
Step 3 = write a formal proof, a sequence of steps that state premises or apply inference rules to the previous step