4.1 - Abstraction and Automation
- logical reasoning = to reach a conclusion or logical consequence from premises using deductive, inductive and/or abductive reasoning.
- Requires putting models into action to solve problems
- create algorithm
- implement algorithms in program code
- implementing models in data structures
- executing the code
- logic
- argument = actual statements
- compound proposition: if X then Y
- deduction
- \(P \implies Q\) = P implies Q
- P is the hypothesis/antecedent/premise
- Q is the conclusion/consequence
- If P is true then Q is true.
- argument form: \(P \therefore Q\)
- Logical reasoning
- if P then Q, if Q then R, therefore, if P then R
-
\[P \implies Q, Q \implies R \vdash P \implies R\]
- induction
- Netwon’s Principle: Whatever is true of everything before our eyes is true of everthing in the universe.
- Inductive reasoning kinda the opposite of deductive reasoning (look for rules from facts):
- E.g: If John Smith is a footballer, then he wears football boots when playing football.
- can then generalise using Newton’s Principle:
- If x is a footballer, then x wears football boots when playing football.
- AKA: All footballers wear football boots when playing football.
- problem solving = process of finding a solution
- automation = the technology by which a process or procedure is performed with minimum human assistance.
- abstraction
- representational abstraction
- unnecessary details removed (only info required to solve problem remains)
- ‘looking at the big picture’
- abstraction by generalisation/categorisation = putting similar aspects of problem into hierarchal categories
- procedural abstraction = solutions broken down into procedures or subroutines
- functional abstraction = breaking down a complex problem into reusable functions