Week 1 - Basics Flashcards

1
Q

Which natural systems can benefit computing?

A

Evolution

Human-like activity (e.g. brain, immune system)

Collective behaviours (e.g. ant colonies, swarms)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why should natural systems be used as inspiration for new algorithms?

A

Evolution - created some of the most complex objects we know of (ourselves)

Human-like activity - we solve many seemingly difficult problems

Collective behaviours - a collection of seemingly unintelligent individuals can display intelligence as a part of a collective.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What problems can be solved by using nature inspired
computation?

A

Some tasks that organisms have had to evolve to be good at, are also
tasks we’re interested in in computing:

  • Recognising patterns
  • Finding shortest paths
  • Searching (e.g. for food etc..)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Name an advantage of nature-inspired computation, and give 3 examples.

A

Nature-Inspired techniques tend to produce good results in
reasonable computational time on a vast array of real-world
problems

Examples:

  • Evolutionary algorithms are able to optimise complex systems on
    relatively modest hardware – generally better than classical
    optimisation methods.
  • Artificial neural networks are generally more successful than the
    classical methods for pattern recognition.
  • Artificial immune system methods are better at spotting potential
    threats than classical rule-based monitoring methods.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Name 6 application areas of nature-inspired computation.

A
  1. Planning (Routing, scheduling, packing)
  2. Design (Electronic circuits, neural networks, structure design)
  3. Simulation (Model economic interactions of competing firms in a market)
  4. Identification (Fit a function to medical data to predict future values)
  5. Control (Design a controller for gas turbine engine, design control system for mobile robots)
  6. Classification (Game playing, diagnosis of heart disease, detecting SPAM)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the 3 basic steps of EAs?

A

Selection, variation, population update.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Give some examples of uses for EAs.

A

Scheduling university lecture timetables.

Pipe network designs for delivering water.

Antenna designs within given requirements.

A formula that best fits a curve.

Placement strategy for mobile phone masts.

Finding the most efficient orbits for satellites.

Strategy for flying a fighter aircraft.

Finding the most accurate neural network for a data mining or control problem.

Finding the best treatment plan (beam shapes and angles) for radiotherapy cancer treatment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is optimisation?

A

Trying to find the best solution (usually in a short time) to a given problem. S is the set of possible solutions, which may be small or large or infinitely large.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a fitness function?

A

Every candidate solution s in S can be given a score, or a “fitness”, by a so-called fitness function. We usually write f(s) to indicate the fitness of solution s. We want to find the s in S which has the best score. The fitness function determines how “good” a solution is.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is an exhaustive search?

A

Generate every possible solution, compute its fitness, and hence discover which is best (aka enumeration).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is an Exact Algorithm?

A

An algorithm that can solve a problem, guaranteeing to find the best answer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Describe problems with polynomial complexity.

A

These are called tractable, and easy problems. Fast algorithms are known which provide the best solution. Pairwise alignment of vectors is one such problem. Sorting is another.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Describe problems with exponential complexity.

A

These are called intractable, and hard problems. The fastest known algorithm which exactly solves it is usually not significantly faster than exhaustive search. An exponential curve always takes over a polynomial one.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is Prim’s algorithm?

A

Start with empty tree (no edges)

Repeat: choose cheapest edge which feasibly extends the tree.

Until: n-1 edges have been chosen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What do approximate algorithms do?

A

Deliver solutions in reasonable time.

Try to find pretty good (`near optimal’) solutions, and often get optimal ones.

Do not (cannot) guarantee that they have delivered the optimal solution.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Describe generalisation, connectionism and graceful degradation.

A

Connectionism:
Connectionism refers to the computational paradigm or approach in neural networks that emphasizes the importance of interconnected units or nodes. In connectionist models, information processing occurs through the activation and propagation of signals across interconnected nodes. These nodes, often referred to as artificial neurons or units, perform simple computations and communicate with each other through weighted connections.

Graceful Degradation:
Graceful degradation refers to the ability of a neural network or a system to maintain a certain level of functionality or performance even when faced with partial damage, failures, or missing information. In the context of neural networks, graceful degradation implies that the network can continue to provide useful outputs or responses even when some of its units or connections are disrupted or compromised.

Generalizability:
Generalizability refers to the ability of a trained neural network or model to perform well on unseen or new inputs that are different from the ones it was trained on. A neural network with good generalizability can effectively generalize the patterns and knowledge learned from the training data to make accurate predictions or classifications on new, unseen data.