• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/20

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

20 Cards in this Set

  • Front
  • Back

Define Automata Theory

Branch of maths that includes Finite State Automata and Finite State Machines

Finite State Automata

Do not have outputs


Accepted purpose is to recognise whether or not an input string is accepted


Technical application - define grammars for programming languages

Finite State Machine

Have outputs


Technical application - model behaviour of systems

Finite State Machine 5 Tuple S,I,O,v,w

S = set of internal states


I = input alphabet for the machine


O = output alphabet for the machine


v = next state function S x I -> S


w = output function S x I -> O

State Design Pattern

Delegate state-specific processing to an object


Encapsulate attributes and behaviours that are unique to each state of the game




Three types - behavioural, creational, structural

Rule Based System

User Interface


Inference Engine


Knowledge (Rule) Base




If X..... (observe) Then Y..... (action/conclusion)


If rule is pick it is 'fired'

Explain Rule Based System

Dynamic - goes through a series of cycles


Each cycle attempts to pick appropriate rule from collection of rules based on the circumstance


As using a rule produces new info, it's possible for each cycle to take the reasoning process further than previous cycle

Recognise-Act cycle

Suitable data put in to working memory


When data in memory matches condition (recognise), rule is fired (act)

Extended Finite State Machines

Variables


Communicating


Heirarchical


Concurrent


Hybrid


Event driven

Variables in FSM

Introduce variables and predicates over variables


Expressive


Convenient


E.G don't count seconds of cooldown, have bool to say if cooldown is up

Communication in FSM

FSM communicate using a FIFO queue


E.G two player game that supports play comms


Without comms extension both players in one FSM (no modularisation)


With comms extension both players separate, modularised, queue used to communicate

Hierarchical FSM

Introduces abstraction mechanism (group similar objects together)


One state can be decomposed into another FSM


Abstraction is needed for large, complex models


E.G player is created, fights, die - many things happen during fight

Concurrent FSM

Can model concurrency


Concurrency is needed for many reactive, real-time systems

Event driven approach

Reactive program


Program waits for event to happen, calls appropriate event handler then waits for next event


Event handler = code that's executed each time specific event happens

RBS Strengths

Knowledge base easily expandable


Modularised so changing one won't affect others

RBS Limitations

Rules are not always independent i.e. multiple rules can exist that share similar features


Adding more rules later on can cause unexpected rule interactions


Large rule base becomes unwieldy

Fuzzy Logic

Degrees of membership
Can be in multiple sets i.e. partially hot and partially cold

Intersect

Only the values that are in both of the sets

Union

Everything that is in either of the sets

A Complement


~A

Everything outside A