problem recognition Flashcards
computable problems
a problem where there is an ALGORITHM that can solve EVERY instance of it within a FINITE number of steps (can be theoretically solvable but practically unsolvable/insoluble if takes millions of yrs to solve)
ways of problem solving
enumeration
simulation
theoretical approach
creative solution
enumeration
solve problems by exhaustive search (eg finding owner of DNA in database) - trying all possible solutions. Once insoluble are now soluble bc power of computers. BUT inefficient, and as size of problem inc, number of poss solutions inc exponentially. eg magic squares
simulation
process of designing a model for a real system to understand the behaviour of the system and evaluate various strategies for its operation. Model used to evaluate performance or test outcomes.
problems for simulation
financial risk analysis population predictions climate change predictions queue problems engineering design problems
abstraction in simulation
removes unnecessary details, reducing problems to essentials
eg of queuing problems
number of queues on toll roads, or checkouts at supermarkets or number of people on helplines for software support
simulation: real life models
build physical model of eg spacecraft to study behaviour. When impractical, dangerous, expensive to do tests on real thing. Used to evaluate performance and test outcomes
strategies for problem solving
top down design: good for breaking down into small, manageable subtasks
divide and conquer: technique that reduces size of problem with every iteration eg binary search (halves problem with each iteration), not always as fast as binary search
problem abstraction
problem abstraction
removing details until problem is represented in a way that it is possible to solve because reduced to one that has already been solved
graph unfolding
a method of solving a problem: eg for knights problem on p279, number squares then draw node graphs with edges to all possible moves. then open it up to a circle
eg the knights problem is a …
REDUCTION to a more general problem that has already been solved in the same way
automation
building and putting into action models to solve problems. Includes: what are you gonna put in the model and what assumptions you are going to make, create and implement algorithms, execute and test results
automating the abstraction
tells us more about the reality we are modelling/physical scenario
physical world scenario–> mathematical model
abstraction is created