... steps to solve a problem that has an. algorithmic solution. 3. Use the six problem-solving steps to solve a problem.
Chapter 1 General Problem-Solving Concepts
Overview Problem Solving in Everyday Life Types of Problems Problem Solving with Computers Difficulties with Problem Solving
Objectives When you have finished this chapter, you should be able to: 1. Describe the difference between heuristic and algorithmic solutions to problems. 2. List and describe the six problem-solving steps to solve a problem that has an algorithmic solution. 3. Use the six problem-solving steps to solve a problem.
Problem Solving in Everyday Life People make decisions every day to solve problems that affect their lives. The problems may be as unimportant as what to watch on television or as important as choosing a new profession. If a bad decision is made, time and resources are wasted, so it’s important that people know how to make decisions well. There are six steps to follow to ensure the best decision. These six steps in problem solving include the following: Six Steps of Problem Solving
1. Identify the problem. The first step toward solving a problem is to identify the problem. In a classroom situation, most problems have been identified for you and given to you in the form of written assignments or problems out of a book.
3
2.
3.
4.
5.
6.
However, when you are doing problem solving outside the classroom, you need to make sure you identify the problem before you start solving it. If you don’t know what the problem is, you cannot solve it. Understand the problem. You must understand what is involved in the problem before you can continue toward the solution. This includes understanding the knowledge base of the person or machine for whom you are solving the problem. If you are setting up a solution for a person, then you must know what that person knows. A different set of instructions might have to be used depending on this knowledge base. For example, you would use a more detailed set of instructions to tell someone how to find a restaurant in your city if he has a limited knowledge of the city than if he knows it well. When you are working with a computer, its knowledge base is the limited instructions the computer can understand in the particular language or application you are using to solve the problem. Knowing the knowledge base is very important since you cannot use any instructions outside this base. You also must know your own knowledge base. You cannot solve a problem if you do not know the subject. For example, to solve a problem involving calculus, you must know calculus; to solve a problem involving accounting, you must know accounting. You must be able to communicate with your client and be able to understand what is involved in solving the problem. Identify alternative ways to solve the problem. This list should be as complete as possible. You might want to talk to other people to find other solutions than those you have identified. Alternative solutions must be acceptable ones. You could go from Denver to Los Angeles by way of New York, but this would probably not be an acceptable solution to your travel needs. Select the best way to solve the problem from the list of alternative solutions. In this step, you need to identify and evaluate the pros and cons of each possible solution before selecting the best one. In order to do this, you need to select criteria for the evaluation. These criteria will serve as the guidelines for evaluating each solution. List instructions that enable you to solve the problem using the selected solution. These numbered, step-by-step instructions must fall within the knowledge base set up in step 2. No instruction can be used unless the individual or the machine can understand it. This can be very limiting, especially when working with computers. Evaluate the solution. To evaluate or test a solution means to check its result to see if it is correct, and to see if it satisfies the needs of the person(s) with the problem. (When a person needs a piece of furniture to sleep on, buying her a cot may be a correct solution, but it may not be very satisfactory.) If the result is either incorrect or unsatisfactory, then the problem solver must review the list of instructions to see that they are correct or start the process all over again.
If any of these six steps are not completed well, the results may be less than desired. People solve problems daily at home, or work, or wherever they go. Problems at home include such things as what to cook for dinner, which movie to see this evening, which car to buy, or how to sell the house. At work, the problems might involve dealing with fellow employees, work policies, management, or customers. The better the decisions an employee can make, the more valuable that person will be to the company. In each case, the six steps in problem solving can be followed. Most people use them without even knowing it.
4 円 Chapter 1
Take the problem of what to do this evening. 1. Identify the problem. How do the individuals wish to spend the evening? 2. Understand the problem. With this simple problem, also, the knowledge base of the participants must be considered. The only solutions that should be selected are ones that everyone involved would know how to do. You probably would not select as a possible solution playing a game of chess if the participants did not know how to play. 3. Identify alternatives. a. Watch television. b. Invite friends over. c. Play video games. d. Go to the movies. e. Play miniature golf. f. Go to the amusement park. g. Go to a friend’s party. The list is complete only when you can think of no more alternatives. 4. Select the best way to solve the problem. a. Weed out alternatives that are not acceptable, such as those that cost too much money or do not interest one of the individuals involved. b. Specify the pros and cons of each remaining alternative. c. Weigh the pros and cons to make the final decision. This solution will be the best alternative if all the other steps were completed well. 5. Prepare a list of steps (instructions) that will result in a fun evening. 6. Evaluate the solution. Are we having fun yet? If nobody is having fun, then the planner needs to review the steps to have a fun evening to see whether anything can be changed, if not then the process must start again. By going through these steps, the problem solver can be assured that he has arrived at the best possible solution and will achieve the desired results.
Types of Problems
algorithmic solution
algorithm
heuristic solution
Problems do not always have straightforward solutions. Some problems, such as balancing a checkbook or baking a cake, can be solved with a series of actions. These solutions are called algorithmic solutions. Once the alternatives have been eliminated, for example, and once one has chosen the best among several methods of balancing the checkbook, the solution can be reached by completing the actions in steps. These steps are called the algorithm. The solutions of other problems, such as how to buy the best stock or whether to expand the company, are not so straightforward. These solutions require reasoning built on knowledge and experience, and a process of trial and error. Solutions that cannot be reached through a direct set of steps are called heuristic solutions. The problem solver can use the six steps for both algorithmic and heuristic solutions. However, in step 6, evaluating the solution, the correctness and appropriateness of heuristic solutions are far less certain. It’s easy to tell if your completed checkbook balance is correct and satisfactory, but it’s hard to tell if you have bought the best stock. With heuristic solutions, the problem solver will often need to follow the six steps more than once, carefully evaluating each possible solution before deciding which is best.
General Problem-Solving Concepts 円 5
Furthermore, this same solution may not be correct and satisfactory at another time, so the problem solver may have to reevaluate and resolve the same problem later. The stock that did well in January may do poorly in June. Most problems require a combination of the two kinds of solutions.
Problem Solving with Computers solution results program
In this book, the term solution means the instructions listed during step 5 of problem solving—the instructions that must be followed to produce the best results. Results means the outcome or the completed computer-assisted answer. Program means the set of instructions that make up the solution after they have been coded into a particular computer language. Computers are built to deal with algorithmic solutions, which are often difficult or very time consuming for humans. People are better than computers at developing heuristic solutions. Solving a complicated calculus problem or alphabetizing 10,000 names is an easy task for the computer, but the problem of how to throw a ball or how to speak English is not. The difficulty lies in the programming. How can problems such as how to throw a ball or speak English be solved in a set of steps that the computer can understand? The field of computers that deals with heuristic types of problems is called artificial intelligence. Artificial intelligence enables a computer to do things like build its own knowledge bank and speak in a human language. As a result, the computer’s problem-solving abilities are similar to those of a human being. Artificial intelligence is an expanding computer field, especially with the increased use of Robotics. Until computers can be built to think like humans, people will process most heuristic solutions and computers will process many algorithmic solutions. Therefore, this book will deal only with algorithmic solutions. Heuristic problem solving can help determine alternative solutions. However, for computer use, they must be transformed into an algorithmic format.
Difficulties with Problem Solving People have many problems with problem solving. Some have not been taught how to solve problems. Others are afraid to make a decision for fear it will be the wrong one. Often, when people go through the problem-solving process, they complete one or more of the steps inadequately. They may not define the problem correctly or may not generate a sufficient list of alternatives. When choosing the best alternative, they may eliminate good alternatives or list the pros and cons too hastily. They may not use a logical sequence of steps in their solution, or they may focus on details before the framework for the solution is in place. Finally, they may incorrectly or haphazardly evaluate the solution. The problem-solving process is not easy. It takes practice and time to perfect, but in the long run the process proves to be of great benefit. When solving problems on the computer, one of the most difficult tasks for the problem solver is writing the instructions. Take the task of deciding which number is the largest from a group of three numbers. Almost anyone can immediately tell which is the largest, but many cannot explain the steps they followed to arrive at it. Most
6 円 Chapter 1
people will say, “I can’t explain how I know, I just know it!” This explanation is not good enough for the computer. The computer is a tool that will perform only tasks that the user can explain. The computer has a specific system of communication that programmers and users must learn. This system demands that no step in the solution to a problem be left unstated and that all steps be in the proper order. You must assume the computer knows nothing except what you tell it and think of it as an ignorant but efficient aid to problem solving.
Summary The six steps in problem solving lead to the best possible solution to a problem. They include (1) identifying the problem, (2) understanding the problem, (3) identifying alternative solutions, (4) selecting the best solution, (5) preparing a list of instructions to solve the problem by the chosen solution, and (6) evaluating the solution. Solutions to problems are classified as algorithmic or heuristic. Algorithmic solutions are reached in a series of steps. Heuristic solutions are attained through trial and error. Algorithmic solutions are easier to define for computer use than heuristic ones. Several things can go wrong in the problem-solving process. Sometimes the problem solver does not define the problem correctly or does not complete one or more of the steps. At other times, the list of alternatives is not sufficient or the list of instructions to the computer is incorrect. Sometimes one gets lost in details and overlooks the general framework, or does not test the solution. If the problem-solving process is incomplete, the solution will not produce the desired results. The steps in problem solving can be applied to problems in daily life as well as to problems put on the computer. Good problem-solving techniques enable you to look at a problem logically and unemotionally, saving time and other resources.
New Terms algorithm algorithmic solution
heuristic solution program
results solution
Questions 1. What are the six steps of problem solving? 2. What is an algorithmic solution to a problem? 3. Name three current problems in your life that could be solved through an algorithmic process. Explain why each of these problems is algorithmic in nature. 4. What is a heuristic solution to a problem? 5. Name three current problems in your life that might be solved through a heuristic approach. Explain why each of these problems is heuristic in nature. 6. Name three problems that might arise at home, at school, or in a business that could be solved more efficiently with computer assistance. Do these problems require an algorithmic or heuristic solution? Why? 7. State a reason why each of the six problem-solving steps is important in developing the best solution for a problem. Give one reason for each step.
General Problem-Solving Concepts 円 7
Problems 1. Complete the six problem-solving steps to solve one of the problems you listed in question 3. Follow the form outlined as follows: Step 1: Identify the problem. Step 2: Understand the problem. a. Comments about the problem to aid in understanding it. b. Description of the knowledge base (this list would include what you would be expected to know to follow the solution). Step 3: Identify alternative solutions. Solution Pros Cons a. b. c. . . . Step 4: Select the best solution. Why did you select this solution? Step 5: List a set of numbered step-by-step instructions to attain the solution. 1. 2. 3. . . . Step 6: Test the solution. Does this solution work? If not, how might you change the solution so it will work? 2. For each of the following tasks, write a set of numbered, step-by-step instructions (a solution) so complete that another person could perform the task without asking questions. Define the knowledge base of this person by listing what you expect the person to know in order to follow your directions. For example, for task “a” (below), make a cup of cocoa, the knowledge base might include such things as knowledge of milk or water, a refrigerator, pan, spoon, cocoa, cup, range top or microwave, and so forth. a. Make a cup of cocoa. b. Sharpen a pencil. c. Walk from the classroom to the student lounge, your dorm, or the cafeteria. d. Start a car (include directions regarding what to do if the car doesn’t start). e. Get a glass of water from your kitchen. f. Start your computer. 3. Test your solution in problem 2 by giving your instructions to another person to see whether he or she can accomplish the task without your help. If they can’t, modify your solution so that the person can accomplish the task. Check the solution again by giving the instructions to another person. 4. Develop the knowledge base for the following problems: a. Balancing your checkbook b. Driving a car
8 円 Chapter 1
5.
6. 7.
8. 9.
c. Repairing a car d. Building a house e. Calculating the cost of using your car for a month f. Play a video game. Write a solution to the problem of finding the largest number out of three numbers. List the specific steps that would enable another person to find the largest among three numbers presented. Why do you think some of the solutions in problem 2 are harder to develop than others? Appendix A contains problems dealing with Otto the Robot. Otto has a limited number of tasks that he can accomplish. Discuss the approach you would take to develop a set of instructions that will allow Otto to accomplish the problems presented in Appendix A. Develop solutions for Otto’s problems presented in Appendix A. How does your problem solving differ between finding a solution to a problem for your own life and that of designing a solution for one of Otto’s problems?
General Problem-Solving Concepts 円 9