1 / 16

Project MLExAI uhaweb.hartford/compsci/ccli/

Download Presentation

Project MLExAI uhaweb.hartford/compsci/ccli/

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pedagogical Possibilities for theN-Puzzle ProblemZdravko Markov Central Connecticut State University, markovz@ccsu.eduIngrid Russell University of Hartford, irussell@hartford.eduTodd NellerGettysburg College, tneller@gettysburg.eduNeli ZlatarevaCentral Connecticut State University, zlatareva@ccsu.eduThis work was partially supported by NSF CCLI-A&I Award Number 0409497

  2. Project MLExAIhttp://uhaweb.hartford.edu/compsci/ccli/ Enhance the student learning experience in the introductory Artificial Intelligence (AI) course by: • Introducing Machine Learning (ML) elements into the AI course. • Implementing a set of unifying ML laboratory projects to tie together the core AI topics. • Developing, applying, and testing an adaptable framework for the presentation of core AI topics.

  3. Solving the N-Puzzle Problem Project • Good framework for illustrating the classical AI search in an interesting and motivating way. • Suitable for introducing students to Analytical (Explanation-Based) Learning (EBL) using search.  • Hands-on experiments with search algorithms combined with an EBL component give students a deep, experiential understanding of both search and EBL.

  4. The N-Puzzle Game Initial Configuration Moves Goal Configuration 5 → Down 6 → Down 2 → Left 3 → Up 6 → Right 5 → Up 8 → Left • Large state space (3x3)!/2 = 181440 • Not all states are reachable from a given state

  5. State Space Representation (Prolog) s(A,B,C,D,E,F) Variables A,B,V,D,E,F  [1,5] 0 – empty tile % Empty tile (0) in position A % Slide B left arc(s(0,B,C,D,E,F),s(B,0,C,D,E,F)). % Slide D up arc(s(0,B,C,D,E,F),s(D,B,C,0,E,F)).

  6. Why Prolog? • Prolog code is concise and easily understood. • Can be used at query level only. Access the database and run algorithms without actual programming. • Suits well other important AI topics such as FOL, KR and Reasoning. • Meta-programming features allow straightforward implementation of EBL techniques. • Free implementations available, e.g. SWI-Prolog (http://www.swi-prolog.org/)

  7. Sample Queries % Access database (one-move transitions) ?- arc(s(0,1,2,3,4,5),X). X = s(1,0,2,3,4,5) ; X = s(3,1,2,0,4,5) % A three-move solution does not exist ?- arc(s(0,4,5,1,2,3),X),arc(X,Y),arc(Y,s(4,2,5,1,0,3)). No % Find a two-move solution ?- arc(s(0,4,5,1,2,3),X),arc(X,s(4,2,5,1,0,3)). X = s(0,4,5,1,2,3) % Use the path predicate to find multiple move solutions ?- path(s(0,4,5,1,2,3),s(4,2,5,1,0,3),P). P = [s(4,0,5,1,2,3)]; P = [s(4,0,5,1,2,3),s(0,4,5,1,2,3),s(4,0,5,1,2,3)]

  8. Sample Student Assignments • Implement the state space representation of the 8-puzzle problem. • Investigate the state space by experimenting with state space transitions at query level. What is the branching factor? Are there repeated states and how many? • Use the path predicate to find paths between states. • Investigate when and why infinite loops occur. • What kind of search does the path predicate implement – depth-first or breadth-first?

  9. Search breadth_first(+[[Start]],+Goal,-Path,-ExploredNodes) (+ Input, - Output) ?- breadth_first([[s(4,5,3,0,1,2)]],s(1,2,3,4,5,0),P,N), length(P,L). P = [s(1,2,3,4,5,0),s(1,2,3,4,0,5),s(1,0,3,4,2,5), s(0,1,3,4,2,5),s(4,1,3,0,2,5),s(4,1,3,2,0,5), s(4,1,3,2,5,0), s(4,1,0,2,5,3),...] N = 1197 L = 19

  10. Sample Student Assignments • Run uninformed and informed search algorithms (depth-first, breadth-first, iterative deepening, best-first, A-star, beam search) to solve s(4,5,3,0,1,2) => s(1,2,3,4,5,0). • Represent the 8-puzzle problem s(2,3,5,0,1,4,6,7,8) => s(0,1,2,3,4,5,6,7,8). Try breadth-first, iterative deepening and depth-first. Explain why depth-first fails. • Use heuristic search for s(2,3,5,0,1,4,6,7,8) => s(0,1,2,3,4,5,6,7,8). Try best-first, A-star and beam search. For beam search use n = 100, 10, 1. Explain why beam search fails with n=1? • Collect statistics and analyze the time and space complexity of the above problems.

  11. Explanation-Based Learning • Target concept - state space search heuristic. • Training example - good (efficient) solution of a state space search. • Domain theory - state space representation. • Operationality criteria - constraints associated with the state space search.

  12. EBL in the N-Puzzle domain 1. Training example s(4,5,3,0,1,2) s(5,1,3,4,2,0) 2. Verify if this is an instance of the target concept ?- breadth_first([[s(4,5,3,0,1,2)]],s(5,1,3,4,2,0),P,N). P = [s(5,1,3,4,2,0),s(5,1,3,4,0,2),s(5,0,3,4,1,2), s(0,5,3,4,1,2),s(4,5,3,0,1,2)] N = 13 3. Explanation-Based Generalization (EBG) A4, B5, C3, E1, F2, 0 remains 4. Add a new transition (new fact in the beginning of the database) arc(s(A,B,C,0,E,F), s(B,E,C,A,F,0)).

  13. Speed-up Learning • Before EBL (without arc(s(A,B,C,0,E,F),s(B,E,C,A,F,0))) ?- breadth_first([[s(4,5,3,0,1,2)]],s(1,2,3,4,5,0),P,N), length(P,L). P = [s(1,2,3,4,5,0),s(1,2,3,4,0,5),s(1,0,3,4,2,5), s(0,1,3,4,2,5),s(4,1,3,0,2,5),s(4,1,3,2,0,5), s(4,1,3,2,5,0), s(4,1,0,2,5,3),...] N = 1197 L = 19 • After EBL (with arc(s(A,B,C,0,E,F),s(B,E,C,A,F,0))) ?- breadth_first([[s(4,5,3,0,1,2)]],s(1,2,3,4,5,0),P,N), length(P,L). P = [s(1,2,3,4,5,0),s(1,2,3,4,0,5),s(1,0,3,4,2,5), s(0,1,3,4,2,5),s(4,1,3,0,2,5),s(4,1,3,2,0,5), s(4,1,3,2,5,0), s(4,1,0,2,5,3),...] N = 647 L = 13

  14. Sample Student Assignments • Identify useful search heuristics and generate and verify the corresponding EBL training examples. • Perform experiments with training examples and update the state transition database. • Measure the improvement after the EBL step in terms of time and space complexity. • Evaluate the effect of learning if too many or bad examples are supplied.

  15. Conclusion • N-puzzle project is used in an AI class in Spring-2005 www.cs.ccsu.edu/~markov/ccsu_courses/ArtificialIntelligence.html • Other projects developed in the framework of MLExAI are also tested • Student surveys show positive results • More tests and evaluations are ongoing • All projects and other material are available at MLExAI web page at http://uhaweb.hartford.edu/compsci/ccli/

More Related