zoukankan      html  css  js  c++  java
  • 3.2.1 Toy problems 8-puzzle problem

    3.2.1 Toy problems
    The first example we examine is the vacuum world first introduced in Chapter 2. (See
    Figure 2.2.) This can be formulated as a problem as follows:
    • States: The state is determined by both the agent location and the dirt locations. The
    agent is in one of two locations, each of which might or might not contain dirt. Thus,
    there are 2 × 2^2 = 8 possible world states. A larger environment with n locations has
    n · 2^n states.
    • Initial state: Any state can be designated as the initial state.
    • Actions: In this simple environment, each state has just three actions: Left, Right, and
    Suck. Larger environments might also include Up and Down.
    • Transition model: The actions have their expected effects, except that moving Left in
    the leftmost square, moving Right in the rightmost square, and Sucking in a clean square
    have no effect. The complete state space is shown in Figure 3.3.
    • Goal test: This checks whether all the squares are clean.
    • Path cost: Each step costs 1, so the path cost is the number of steps in the path.
    Compared with the real world, this toy problem has discrete locations, discrete dirt, reliable
    cleaning, and it never gets any dirtier. Chapter 4 relaxes some of these assumptions.
    8-PUZZLE The 8-puzzle, an instance of which is shown in Figure 3.4, consists of a 3×3 board with
    eight numbered tiles and a blank space. A tile adjacent to the blank space can slide into the
    space. The object is to reach a specified goal state, such as the one shown on the right of the
    figure. The standard formulation is as follows:

    • States: A state description specifies the location of each of the eight tiles and the blank
    in one of the nine squares.
    • Initial state: Any state can be designated as the initial state. Note that any given goal
    can be reached from exactly half of the possible initial states (Exercise 3.4).
    • Actions: The simplest formulation defines the actions as movements of the blank space
    Left, Right, Up, or Down. Different subsets of these are possible depending on where
    the blank is.
    • Transition model: Given a state and action, this returns the resulting state; for example,
    if we apply Left to the start state in Figure 3.4, the resulting state has the 5 and the blank
    switched.
    • Goal test: This checks whether the state matches the goal configuration shown in Figure
    3.4. (Other goal configurations are possible.)
    • Path cost: Each step costs 1, so the path cost is the number of steps in the path.
    What abstractions have we included here? The actions are abstracted to their beginning and
    final states, ignoring the intermediate locations where the block is sliding. We have abstracted
    away actions such as shaking the board when pieces get stuck and ruled out extracting the
    pieces with a knife and putting them back again. We are left with a description of the rules of
    the puzzle, avoiding all the details of physical manipulations.
    The 8-puzzle belongs to the family SLIDING-BLOCK of sliding-block puzzles, which are often used as
    PUZZLES
    test problems for new search algorithms in AI. This family is known to be NP-complete,
    so one does not expect to find methods significantly better in the worst case than the search
    algorithms described in this chapter and the next. The 8-puzzle has 9!/2=181, 440 reachable
    states and is easily solved. The 15-puzzle (on a 4×4 board) has around 1.3 trillion states, and
    random instances can be solved optimally in a few milliseconds by the best search algorithms.
    The 24-puzzle (on a 5 × 5 board) has around 1025 states, and random instances take several
    hours to solve optimally.

    COS 226 Programming Assignment

    https://github.com/aimacode/aima-csharp/tree/master/aima-csharp/environment/eightpuzzle

    https://github.com/aimacode/aima-java/blob/AIMA3e/aima-gui/src/main/java/aima/gui/demo/search/EightPuzzleDemo.java

    https://coursera.cs.princeton.edu/algs4/assignments/8puzzle/specification.php

    https://www.cnblogs.com/mingyueanyao/p/10250877.html

  • 相关阅读:
    服务端渲染和客户端渲染
    node(基础)_node.js中的http服务以及模板引擎的渲染
    node基础(二)_模块以及处理乱码问题
    node(基础)_node中的javascript
    vue购物车和地址选配(三)
    nyoj 169 素数
    nyoj 205 求余数
    nyoj 65另一种阶乘问题
    nyoj 734奇数阶魔方
    nyoj64 鸡兔同笼
  • 原文地址:https://www.cnblogs.com/chucklu/p/14753648.html
Copyright © 2011-2022 走看看