650 likes | 703 Views
Course for CRN: 25382 CS 57200 Heuristic Problem Solving (3 cr.) Your level status must be: Graduate. http://www.free-management-ebooks.com/news/heuristic-techniques-for-problem-solving/.
E N D
Course for CRN: 25382CS 57200 Heuristic Problem Solving (3 cr.)Your level status must be: Graduate
http://www.free-management-ebooks.com/news/heuristic-techniques-for-problem-solving/http://www.free-management-ebooks.com/news/heuristic-techniques-for-problem-solving/
A heuristic is a rule or method that helps you solve problems faster than you would if you did all the computing. It sounds fancy, but you might know a heuristic as a "rule of thumb." Derived from a Greek word that means "to discover," heuristic describes a rule or a method that comes from experience and helps you think through things, like the process of elimination, or the process of trial and error. You can think of a heuristic as a shortcut. Besides finding it in philosophy books, if you are interested in computing, you'll find references to heuristic programming. You can use it as a noun or as an adjective.
Heuristic Techniques for Problem Solving Heuristic techniques are not a formal problem-solving model. The techniques can be used as an approach to problem solving, where solutions are not expected to produce a perfect or optimal solution.
Heuristics are usually mental shortcuts that help with the thinking processes in problem solving. We have either learnt these techniques – usually informally, or they are hard wired for survival. We often use them automatically to solve a problem.
Relying only heuristics to solve a problem works well as a quick fix or when the alternative solution is impractical – it may cost too much, be unusable in the current environment, or be a long-term project. • Examples of heuristics include using: • A rule of thumb • An educated guess • An intuitive judgment • Stereotyping • Profiling • Common sense • They can also be used as part of creative problem solving techniques, but should only be used as one of the ways to generate ideas, or overcome a barrier
Formal method problem solvers should always be aware that relying too heavily on one or more heuristics can introduce error or bias, and may constrain creativity and innovation.
Overview Heuristics are physiological concepts for simple, efficient rules that help to explain how people solve problems. These rules usually work but are prone to preconceptions, and can introduce errors. For example, an educated guess is based on knowledge and experience, but excludes what you have yet to learn.
Heuristics do not aim for novel solutions, but to implement the known, readily accessible, loosely applicable. It essentially limits problem solving in human beings, to focus on the immediately doable. It often uses trial and error to find the solution that works.
Here are a few other commonly used heuristics, from George Pólya’s 1945 book, ‘How to Solve It’. • If you are having difficulty understanding a problem, try drawing a picture. • If you can’t find a solution, try assuming that you have a solution and seeing what you can derive from that (‘working backward’). • If the problem is abstract, try examining a concrete example. • Try solving a more general problem first (the ‘inventor’s paradox’: the more ambitious plan may have more chances of success).
Toolkit Jonathan Bendor at Stanford University has developed a toolkit approach using some core heuristics. It is a very loose way of using a set of heuristics to solve a problem.
Toolkit • The idea is that problem solvers mix and match the cognitive shortcuts to discover their solution. • Decomposition – start small and break the overarching problem into smaller pieces. • Local Search – learn from experience, look for known, similar solutions and adapt them. • Seriality – getting from A to B. Make one small change first, then move on to the next. • Multiple Minds – many hands make light work. Don’t work on a problem alone, find out what others think, and use them as resources. • Imitation – don’t reinvent the wheel, find out what other organizations are doing and copy them. • Recombination – mix and match. Combine a number of different ideas to create a solution.
Using these heuristic elements is a not bound to being a linear or cyclical process; They can be used in any order, and as many times for different purposes as needed. Not every element needs to be used for every problem as shown in the example – ‘people missing dentist appointments’. Initially, the problem solving group might include the office manager, the receptionist and the dentist. Later on it might include other stakeholders, like patients (Multiple Minds). The problem solving group ask the wider team what they feel has worked well in the past and any experiences they have of working elsewhere (Local Search).
The team looks at how other dentists, GPs and Hospitals have dealt with missed appointments (Imitation). Then the problem solving group will then be assigned to smaller, individual tasks – survey, reminders, answering phones etc. (Decomposition).
Findings – this is not a heuristic in the toolkit, but a necessary part of problem solving. Research reveals that reminder letters are not effective, as people still forget appointments. Patients often can’t get through on the phone to cancel appointments or change them, or don’t like leaving messages. People lose their appointment cards. The team discover that automatic SMS reminders people have been used elsewhere, and are relatively inexpensive.
The team will implement a system where an SMS messages will be sent out as reminders, replacing letters – a week before and a day before. The patients can message back to cancel the appointment. Additionally, people will be able to email in cancellations. This should reduce the pressure on phones and allow other people to get through to cancel appointments. (Recombination) This is not a final solution. This has moved the practice from A to B. Now it needs to move from B to C. Once it is implemented, a solution for those that do not have access to mobile phones or email will need to be found and implemented (Seriality).
Heuristic techniques are not a formal problem solving method. They can be used alone, or in combination with other heuristics. The theory of heuristics is complex but are essentially the clichés of problem solving. They do not seek to find a final solution (although they may do). They are often a process of trial and error. If a rule of thumb fails, you may then use experience to try a different solution. If this fails, you may bring in multiple minds to help you solve it, and so one.
The advantage of heuristics is that they can rapidly solve a problem, but it may often result in an immediate, but ‘temporary fix’. Heuristics are prone to bias and introducing errors. They should be used with care, and as a trigger for formal problem solving, to develop a better, longer-term solution.
Key Points • Heuristics are usually mental shortcuts that help with the thinking processes in problem solving. • They include using: A rule of thumb, an educated guess, an intuitive judgment, stereotyping, profiling, and common sense. • Heuristics do not aim for novel solutions, but to implement the known, readily accessible, and loosely applicable. • The advantage of heuristics is that they can rapidly solve a problem, but it may often result in an immediate, but ‘temporary fix’ as they are prone to bias. • Heuristics should be used with care, and as a trigger for formal problem solving, to develop a better, longer term solution.
https://www.101computing.net/heuristic-approaches-to-problem-solving/https://www.101computing.net/heuristic-approaches-to-problem-solving/ “In computer science, a heuristic is a technique designed for solving a problem more quickly when classic methods are too slow, or for finding an approximate solution when classic methods fail to find any exact solution.This is achieved by trading optimality, completeness, accuracy, or precision for speed. In a way, it can be considered a shortcut.” (Source: Wikipedia)
The objective of a heuristic algorithm is to apply a rule of thumb approach to produce a solution in a reasonable time frame that is good enough for solving the problem at hand. There is no guarantee that the solution found will be the most accurate or optimal solution for the given problem. We often refer the solution as “good enough” in most cases.
Heuristic Algorithms can be found in: Artificial Intelligence Language recognition Big Data Analysis Shortest Path Algorithms Machine Learning
Let’s investigate a few basic examples where a heuristic algorithm can be used: Noughts & Crosses Game of Chess Top Trumps Language Recognition Shortest Path Algorithms
To help the computer make a decision as to where to place a token on a 3×3 noughts and crosses grid, a basic heuristic algorithm should be based on the rule of thumb that some cells of the grid are more likely to lead to a win: • Based on this approach, can you think of how a similar approach could be used for an algorithm to play: • Othello (a.k.a. Reversi Game) • A Battleship game? • Rock/Paper/Scissors?
When playing a game of chess, expert players can “see” several moves ahead. It would be tempting to design an algorithm that could investigate every single possible move that players can make and investigate the impacts of such moves on the outcome of the game. However such an algorithm would have to investigate far too many possible moves and would quickly become too slow and too demanding in terms of memory resources in order to perform effectively. It is hence essential to use a heuristic approach to quickly discard some moves which would most likely lead to a defeat while focusing on moves that would seem to be a good step towards a win!
Let’s consider the above scenario when investigating all the possible moves for this white pawn. Can the computer make a quick decision as to what would most likely be the best option? Heuristic approaches do not always give you the best solution. Can you explain how this could be the case with this scenario?
Sometimes your algorithm need to collect or analyse data before applying heuristic to make a decision. This can be done by providing the computer with some data or by implementing an algorithm based on machine learning.
For instance in a game of Top Trumps, if your algorithm knows the average value of each card for each category, it will be able to select the criteria which is most likely going to win the round. Alternatively, a machine learning algorithm could play the game and record and update statistics after playing each card to progressively learn which criteria is more likely to win the round for each card in the deck.You can investigate how machine learning can be used in a game of Top Trumps by reading this blog post.
Language Recognition: Heuristic methods can be used when developing algorithms which try to understand what the user is saying, or asking for. For instance, by looking for words associations, an algorithm can narrow down the meaning of words especially when a word can have two different meanings:
e.g. When using Google search a user types: “Raspeberry Pi Hardware” We can deduct that in this case Raspberry has nothing to do with the piece of fruit, so there is no need to give results on healthy eating, cooking recipes or grocery stores… However if the user searches for “Raspeberry Pie ingredients”, we can deduct that the user is searching for a recipe and is less likely to be interested in programming blogs or computer hardware online shops.
Short Path Algorithms used by GPS systems and self-driving cars also use a heuristic approach to decide on the best route to go from A to Z. This is for instance the case for the A* Search algorithm which takes into consideration the distance as the crow flies between two nodes to decide which paths to explore first and hence more effectively find the shortest path between two nodes.
You can compare two different algorithms used to find the shortest route from two nodes of a graph: • Dijkstra’s Shortest Path Algorithm (Without using a heuristic approach) • A* Search Algorithm (Using a heuristic approach)
This article explains the concept of the Heuristic Method, developed by George Pólya in a practical way. After reading it, you will understand the basics of this powerful Problem Solving tool.
What is the Heuristic Method? A heuristic method is an approach to finding a solution to a problem that originates from the ancient Greek word ‘eurisko’, meaning to ‘find’, ‘search’ or ‘discover’. It is about using a practical method that doesn’t necessarily need to be perfect. Heuristic methods speed up the process of reaching a satisfactory solution. Previous experiences with comparable problems are used that can concern problem situations for people, machines or abstract issues. One of the founders of heuristics is the Hungarian mathematician György (George) Pólya, who published a book about the subject in 1945 called ‘How to Solve It’. He used four principles that form the basis for problem solving.
Four principles Pólya describes the following four principles in his book: try to understand the problem make a plan carry out this plan evaluate and adapt (Look back, evaluate, and adjust)
If this sequence doesn’t lead to the right solution, Pólya advises to first look for a simpler problem. A solution may potentially be found by first looking at a similar problem that was possible to solve. With this experience, it’s possible to look at the current problem in another way.
First principle – understand the problem It’s more difficult than it seems, because it seems obvious. In truth, people are hindered when it comes to finding an initially suitable approachto the problem. It can help to draw the problem and to look at it from another angle. What is the problem, what is happening, can the problem be explained in other words, is there enough information available, etc. Such questions can help with the first evaluation of a problem issue.
Second principle – make a plan There are many ways to solve problems. This section is about choosing the right strategy that best fits the problem at hand. The reversed ‘working backwards’ can help with this; people assume to have a solution and use this as a starting point to work towards the problem. It can also be useful to make an overview of the possibilities, delete some of them immediately, work with comparisons, or to apply symmetry. Creativity comes into play here and will improve the ability to judge.
Third principle – carry out the plan Once a strategy has been chosen, the plan can quickly be implemented. However, it is important to pay attention to time and be patient, because the solution will not simply appear. If the plan doesn’t go anywhere, the advice is to throw it overboard and find a new way.
Fourth principle – evaluate and adapt Take the time to carefully consider and reflect upon the work that’s already been done. The things that are going well should be maintained, those leading to a lesser solution, should be adjusted. Some things simply work, while others simply don’t.
Heuristics There are many different heuristic methods, which Pólya also used. The most well-known heuristics are found below: 1. Dividing technique The original problem is divided into smaller sub-problems that can be solved more easily. These sub-problems can be linked to each other and combined, which will eventually lead to the solving of the original problem.
2. Inductive method This involves a problem that has already been solved, but is smaller than the original problem. Generalisation can be derived from the previously solved problem, which can help in solving the bigger, original problem.
3. Reduction method Because problems are often larger than assumed and deal with different causes and factors, this method sets limits for the problem in advance. This reduces the leeway of the original problem, making it easier to solve.