Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin.

Slides:



Advertisements
Similar presentations
Modelling with expert systems. Expert systems Modelling with expert systems Coaching modelling with expert systems Advantages and limitations of modelling.
Advertisements

Writing. Writing Process Prewriting Drafting Revising Editing/Proofreading Publishing/Presenting.
GOALS OF SCIENCE I_________ and un__________ nature
Introduction. IC-Parc2 ECLiPSe Components Constraint Logic Programming system, consisting of  A runtime core Data-driven computation, backtracking, garbage.
Apr. 2007SatisfiabilitySlide 1 Satisfiability A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Computational Methods for Management and Economics Carla Gomes Module 3 OR Modeling Approach.
Minesweeper is a game of logic. It originated from “Relentless Logic,” which was written by Conway, Hong, and Smith around In Relentless Logic, the.
Slides prepared by Rose Williams, Binghamton University Chapter 3 Flow of Control Loops in Java.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Branch and Bound Algorithm for Solving Integer Linear Programming
Building Knowledge-Driven DSS and Mining Data
Testing 1… 2… 3… a play test of an as yet Untitled game M i c h a e l Y a b l o n s k y ● K e l v i n T u ● A l e x Y a n g ● A le x L o r i m e r.
Guide to College Reading, 8/e Kathleen T. McWhorter
Writing a literary analysis essay English II Honors.
How to write a story First you have to…..  Decide who the characters are.  Who is going to be in the story?  What sort of characters are they?
Plot the Most pieces of literature -- whether they are a short story, a novel, or a play -- contain a plot. The plot is the way the events unfold in the.
Linear Programming Models: Graphical and Computer Methods
How to Play Sudoku & Win Integer Programming Formulation of a Popular Game Sven LeyfferSven Leyffer, Argonne, Feb. 15, 2005 (windoze powerpoint sumi painting.
School of Computing and Mathematics, University of Huddersfield Computing Science: WEEK 17 Announcement: next few weeks… 9 nd Feb: Comparative Programming.
Unit 3: Linear and Exponential Functions Today’s Standard: A.REI.10 “Represent and solve equations and inequalities graphically.”
Evolution of Programming Languages Generations of PLs.
/425 Declarative Methods - J. Eisner /425 Declarative Methods Prof. Jason Eisner MWF 3-4pm (sometimes 3-4:15)
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
CONSTRAINT PROGRAMMING Computer Science Seminar April 9 th, 2004 Kerem Kacel.
Linear Programming McGraw-Hill/Irwin Copyright © 2012 by The McGraw-Hill Companies, Inc. All rights reserved.
Computer Science Department Data Structure & Algorithms Lecture 8 Recursion.
Ethan Jackson, Nikolaj Bjørner and Wolfram Schulte Research in Software Engineering (RiSE), Microsoft Research 1. A FORMULA for Abstractions and Automated.
Lecture on Programming Languages
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
Definition of Terms Software/Programs Programs that directs the operation of a computer system Set of instructions Codes Programming Process of planning,
WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 3 Basics of the Simplex Algorithm.
Ontology-Based Computing Kenneth Baclawski Northeastern University and Jarg.
Logic Programming CSC 358/ Outline Pattern matching Unification Logic programming.
Thinking Mathematically Algebra: Equations and Inequalities 6.4 Linear Inequalities in One Variable.
Introduction to Quantitative Business Methods (Do I REALLY Have to Know This Stuff?)
Narrative Writing English Language Arts 8. What is CONFLICT? Conflict is the problem in the story. Conflict is the problem in the story. It is the drama.
Notes 6.5, Date__________ (Substitution). To solve using Substitution: 1.Solve one equation for one variable (choose the variable with a coefficient of.
Paper Presentation Classroom Assignment using Constraint Logic Programming [Slim Abdennadher, Matthias Saft, Sebastian Will] University of Munich Presented.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Reading Strategies We Use Every Day. 1. Creating Mental Images Good readers:  Visualize and create pictures in their mind  Organize details in a “mental.
Writing a literary analysis essay English 11/12. Begin with the basics Read the book or books assigned Read the book or books assigned Ask relevant questions.
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
Automatic Test Generation
AVID Ms. Richardson.
Polynomial and Rational Inequalities
7th Grade ELA Lake Cormorant Middle School
Software Design and Development
Introduction to Expert Systems Bai Xiao
Potter’s Wheel: An Interactive Data Cleaning System
Computer Programming.
Bellwork Assignment Answer the following prompt in one paragraph (5 to 8 sentences). Remember this is MY time, so there is NO TALKING!! What do you know.
Chapter 12: Computer Programming
Objective of This Course
Prof. Jason Eisner MWF 3-4pm (sometimes 3-4:15)
How to write a story.
How to write a story.
Writing a literary analysis essay
Chapter 6: Programming Languages
Flowcharting & Algorithms
How to write a story.
Basic Concepts of Algorithm
Semantic and Declarative Technologies AIT Budapest
“A Rose for Emily” Questions
Elements of a Story.
Presentation transcript:

Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin Chiu Hau Computer Science McGill University Winter 2004

Comp763: Modern Computer Games Overview  Introduction  “A Rose to Emily” by William Faulkner  Constraint Logic Programming  The Constraint Satisfaction Algorithm and Conflict Sets  Useful Extensions  Conclusion

Comp763: Modern Computer Games Introduction  Narratives In movies: »Essential component –Every movie In games: »Interesting component –Some games

Comp763: Modern Computer Games Introduction  A good story Quality »The storyline »Character Development »Plot twist »Logical

Comp763: Modern Computer Games Introduction  A good story may have Flaws Conflicts  Human beings are Sensitive to these issues Good in spotting conflicts

Comp763: Modern Computer Games Introduction  Movies / Novels Conflicts could »Lead us to confusion »Ruin the storyline  Games Conflicts could cause serious problems »Hinder game completion

Comp763: Modern Computer Games Introduction  Dealing with conflicts Detecting Removing

Comp763: Modern Computer Games Overview  Introduction  “A Rose to Emily” by William Faulkner  Constraint Logic Programming  The Constraint Satisfaction Algorithm and Conflict Sets  Useful Extensions  Conclusion

Comp763: Modern Computer Games A Rose For Emily  Novel Written by William Faulkner Originally published on April 30, 1930  The story Not told in chronological order Broken into countless pieces Very difficult to understand

Comp763: Modern Computer Games A Rose For Emily  The challenge English literature courses »Story Analysis –Developing a list of the descriptive details associated with Emily ·Her appearance ·Surroundings – Reconstructing a chronological list of events This paper »Analysis –Events sorting –Conflicts detection

Comp763: Modern Computer Games Overview  Introduction  “A Rose to Emily” by William Faulkner  Constraint Logic Programming  The Constraint Satisfaction Algorithm and Conflict Sets  Useful Extensions  Conclusion

Comp763: Modern Computer Games Constraint Logic Programming  In this paper, CLP is applied to analyze the chronology of “A Rose for Emily”  What is CLP? Family of programming languages that allow »Declarative problem statements »Expression of constraints in specialized domains

Comp763: Modern Computer Games Constraint Logic Programming  CLP language allows a programmer to Express a problem declaratively rather than procedurally »Augmented with expression of constraints –Integers, rational numbers and Boolean values –Equations and inequalities Find a solution »Solving the system of constraints –Resolution-based inference –Constraint satisfaction

Comp763: Modern Computer Games Constraint Logic Programming  CLP is used to solve problems Circuit design Resource allocation Discrete optimization applications Analyze the Chronology in a William Faulkner Story Detecting conflicts in computer games

Comp763: Modern Computer Games CLP(R) Applied to Time Elements  Analyze the Chronology in a William Faulkner Story ··· Table 1 Variables and Their Meaning

Comp763: Modern Computer Games CLP(R) Applied to Time Elements Table 2 Constraints and Their Meaning ···

Comp763: Modern Computer Games Overview  Introduction  “A Rose to Emily” by William Faulkner  Constraint Logic Programming  The Constraint Satisfaction Algorithm and Conflict Sets  Useful Extensions  Conclusion

Comp763: Modern Computer Games The Constraint Satisfaction Algorithm  CLP program can be divided into two components An inference engine »Binding of variables A constraint solver »Each inequality constraint: a 1 x 1 + … + a n x n ≤ b »System of constraints

Comp763: Modern Computer Games Prolog  PROgramming in LOGic  A declarative language Knowledge Base »Facts Inference »Rules Query  In this paper, CLP(R) is implemented in Prolog

Comp763: Modern Computer Games Conflict Sets  The system Satisfiable Not satisfiable  Not satisfiable => There are conflicts Conflict sets

Comp763: Modern Computer Games The Conflict in "A Rose for Emily"  B ≥ E  D – E ≥ 8  E = B

Comp763: Modern Computer Games Removing the Conflict  The conflict uncovered by the CLP(R) Minimal conflict  To resolve the conflict Removing any conflicting constraint  In this example (A Rose For Emily) We choose to remove E = B And the solver finds 5 solutions

Comp763: Modern Computer Games A solution for “A Rose for Emily”

Comp763: Modern Computer Games Overview  Introduction  “A Rose to Emily” by William Faulkner  Constraint Logic Programming  The Constraint Satisfaction Algorithm and Conflict Sets  Useful Extensions  Conclusion

Comp763: Modern Computer Games Useful Extensions  CLP(R) Useful for chronological sorting of events »In stories where events are related out-of-order.  How is it related to games? Adventure games have »Events »Puzzles CLP(R) can be applied to games

Comp763: Modern Computer Games Useful Extensions  Providing an graphical interface define points in time, indicate which points are before which others give dates where dates are known ask for a sort receive a list of conflicting constraints

Comp763: Modern Computer Games Overview  Introduction  “A Rose to Emily” by William Faulkner  Constraint Logic Programming  The Constraint Satisfaction Algorithm and Conflict Sets  Useful Extensions  Conclusion

Comp763: Modern Computer Games Conclusion  Novels / Movies A story should not have any conflicts  Games Puzzles and story should not have any conflicts  CLP(R) is a powerful tool Can be used to analyze a story »Sort events »Detect conflicts

Comp763: Modern Computer Games Questions?

Comp763: Modern Computer Games