comp763: modern computer games using constraint logic programming to analyze the chronology in a...
TRANSCRIPT
![Page 1: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/1.jpg)
Comp763: Modern Computer Games
Using Constraint Logic Programmingto Analyze the Chronology in a William Faulkner Story
Jennifer Burg Sheau-Dong Lang
Irwin Chiu HauComputer ScienceMcGill University
Winter 2004
![Page 2: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/2.jpg)
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
![Page 3: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/3.jpg)
Comp763: Modern Computer Games
Introduction
Narratives• In movies:
» Essential component– Every movie
• In games:» Interesting component
– Some games
![Page 4: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/4.jpg)
Comp763: Modern Computer Games
Introduction
A good story• Quality
» The storyline
» Character Development
» Plot twist
» Logical
![Page 5: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/5.jpg)
Comp763: Modern Computer Games
Introduction
A good story may have• Flaws
• Conflicts
Human beings are• Sensitive to these issues
• Good in spotting conflicts
![Page 6: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/6.jpg)
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
![Page 7: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/7.jpg)
Comp763: Modern Computer Games
Introduction
Dealing with conflicts• Detecting
• Removing
![Page 8: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/8.jpg)
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
![Page 9: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/9.jpg)
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
![Page 10: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/10.jpg)
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
![Page 11: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/11.jpg)
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
![Page 12: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/12.jpg)
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
![Page 13: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/13.jpg)
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
![Page 14: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/14.jpg)
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
![Page 15: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/15.jpg)
Comp763: Modern Computer Games
CLP(R) Applied to Time Elements
Analyze the Chronology in a William Faulkner Story
···
Table 1 Variables and Their Meaning
![Page 16: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/16.jpg)
Comp763: Modern Computer Games
CLP(R) Applied to Time Elements
Table 2 Constraints and Their Meaning
···
![Page 17: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/17.jpg)
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
![Page 18: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/18.jpg)
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: a1x1 + … + anxn ≤ b
» System of constraints
![Page 19: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/19.jpg)
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
![Page 20: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/20.jpg)
Comp763: Modern Computer Games
Conflict Sets
The system• Satisfiable
• Not satisfiable
Not satisfiable => There are conflicts• Conflict sets
![Page 21: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/21.jpg)
Comp763: Modern Computer Games
The Conflict in "A Rose for Emily"
B ≥ E D – E ≥ 8 E = B
![Page 22: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/22.jpg)
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
![Page 23: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/23.jpg)
Comp763: Modern Computer Games
A solution for “A Rose for Emily”
![Page 24: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/24.jpg)
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
![Page 25: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/25.jpg)
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
![Page 26: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/26.jpg)
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
![Page 27: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/27.jpg)
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
![Page 28: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/28.jpg)
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
![Page 29: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/29.jpg)
Comp763: Modern Computer Games
Questions?
![Page 30: Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649f1d5503460f94c34365/html5/thumbnails/30.jpg)
Comp763: Modern Computer Games