Professional Documents
Culture Documents
Instructor
Problem Solving
Problem Solving
Problem solving is a mental process and is part of the larger problem process that includes problem finding and problem determining.
Problem-solving is a mental process that involves discovering, analyzing and solving problems.
Problem solving is the process of applying previously acquired knowledge to obtain a satisfactory solution to new and unfamiliar problems.
Problem Solving
Representing the problem includes calling up the appropriate context knowledge, and identifying the goal and the relevant starting conditions for the problem.
Solution search includes refining the goal and developing a plan of action to reach the goal.
Implementing the Solution includes executing the plan of action and evaluating the results. One kind of goal-based-agent is Problem Solving agent. Goal based agent that use more advanced factored or structured representation are usually called planning agents. Problem solving is a process of generating the solutions Problem solving has Initial State and Goal state that specify set of Rules and describe the Action (Operations)
Contiu.
Allocating Resources: Of course, we don't always have unlimited money, time and other resources to solve a problem. Before you begin to solve a problem, you need to determine how high priority it is. If it is an important problem, it is probably worth allocating more resources to solving it. If, however, it is a fairly unimportant problem, then you do not want to spend too much of your available resources into coming up with a solution. Monitoring Progress: Effective problem-solvers tend to monitor their progress as they work towards a solution. If they are not making good progress toward reaching their goal, they will reevaluate their approach or look for new strategies.
Evaluating the Results: After a solution has been reached, it is important to evaluate the results to determine if it is the best possible solution to the problem. This evaluation might be immediate, such as checking the results of a math problem to ensure the answer is correct, or it can be delayed, such as evaluating the success of a therapy program after several months of treatment.
Problem formulation is the process of deciding what actions and states to consider, given a goal.
We will assume the environment is known, so that the agent knows which states are reached by each action
if we assume that the environment is deterministic, so that each action has exactly one outcome.
Example: Romania
On holiday in Romania; currently in Arad. Flight leaves tomorrow from Bucharest Formulate goal:
be in Bucharest
Formulate problem:
states: various cities actions: drive between cities sequence of cities, e.g., Arad, Sibiu, Fagaras, Bucharest
Find solution:
An example
Example
Our agent has now adopted the goal of driving to Bucharest, and is considering where to go from Arad. There are three roads out of Arad, one toward Sibiu, one to Timisoara, and one to Zerind. But suppose the agent has a map of Romania. The point of a map is to provide the agent with information about the states it might get itself into, and the actions it can take. The agent can use this information to consider subsequent stages of a hypothetical journey via each of the three towns, trying to find a journey that eventually gets to Bucharest
Formulating problems
Finding Path
Suppose you are in the middle of a forest with 50 different potential routes in front of you, you have almost no energy and need to find the best way out, how would you do it? One option would be to follow each of the 50 routes; a trial and error method. You will certainly get out but that would take too much time. This isnt a new problem and many people have come up with ideas of how to solve it. One of them was Edsger W. Dijkstra who developed an algorithm to get the shortest path given a graph, a source and a target. Before we can start solving the problem, we must create those elements, the graph which contains all the information, the nodes which are the waypoint of the graph, and the edges that connect the nodes. Think of it as the graph being a map: the nodes are the cities and the edges the highways that connect them.
Finding Path
Breadth-first search
Breadth-first search is a simple strategy in which the root node is expanded first, then all the successors of the root node are expanded next, then their successors, and so on. In general, all the nodes are expanded at a given depth in the search tree before any nodes at the next level are expanded. Breadth-first search is an instance of the general graph search algorithm. This is achieved very simply by using a FIFO queue for the frontier.
Depth-first search
Depth-first search always expands the deepest node in the current frontier of the search tree. The search proceeds immediately to the deepest level of the search tree, where the nodes have no successors. As those nodes are expanded, they are dropped from the frontier, so then the search backs up to the next deepest node that still has unexplored successors. depth-first search uses a LIFO queue
A search strategy which searches the most hopeful branches of the state-space first can:
find a solution more quickly, find solutions even when there is limited time available, often find a better solution, since more profitable parts of the state-space can be examined, while ignoring the unprofitable parts.
A search strategy which is better than another at identifying the most promising branches of a search-space is said to be more informed.