Dr. Chris Martens - Principles of Expressive Machines Brief Autobio 2 NCSU Assistant Professor as of Fall 2016 in the Digital Games Research Center Ph.D. Carnegie Mellon University Fall 2015 Postdoc UC Santa Cruz, 2015-2016
Dr. Chris Martens - Principles of Expressive Machines 6 Talk Outline Intro Agenda 1: Narrative KR & generation Agenda 2: Game/Simulation Design Tools Agenda 3: Social Multi-Agent Systems Long-term Impact Working with Me
Dr. Chris Martens - Principles of Expressive Machines 14 in(ant, water) in(leaf, water) sees(dove, ant) ant falls in water ant climbs onto leaf dove drops leaf
Dr. Chris Martens - Principles of Expressive Machines 15 in(ant, water) in(leaf, water) sees(dove, ant) STATES ant falls in water ant climbs onto leaf dove drops leaf
Dr. Chris Martens - Principles of Expressive Machines 16 in(ant, water) in(leaf, water) sees(dove, ant) ant falls in water ant climbs onto leaf EVENTS dove drops leaf
Dr. Chris Martens - Principles of Expressive Machines Generating Stories: The Simulationist Approach 20 1. Author a story-world as collection of operators like climb_onto 2. Provide a starting configuration of states 3. Run an automatic procedure to select operators
Dr. Chris Martens - Principles of Expressive Machines Selecting Operators 23 1. Based on Author Goals e.g.: safe(ant) on(ant, right_bank) safe(dove) bitten(birdcatcher)
Dr. Chris Martens - Principles of Expressive Machines Selecting Operators 24 2. Based on controlled randomness at(Agent, Place) near_water(Place) drinking(Agent, Place)
Dr. Chris Martens - Principles of Expressive Machines Selecting Operators 25 2. Based on controlled randomness at(Agent, Place) near_water(Place) drinking(Agent, Place) thirsty(Agent) not thirsty(Agent)
Dr. Chris Martens - Principles of Expressive Machines 29 climb_onto : in(C,L) * $in(S,L) * $supports(S, C) -o on(C,S). C,S,L. ∀ Theorem prover answers: ? Δ ⊢ G G goal Δ initial state Codifying Actions in Linear Logic
Dr. Chris Martens - Principles of Expressive Machines Ceptre 30 Linear logic-based action description language Currently only incorporates forward-chaining simulation Future work: integrate backward chaining
Dr. Chris Martens - Principles of Expressive Machines 31 Talk Outline Intro Agenda 1: Narrative KR & generation Agenda 2: Game/Simulation Design Tools Agenda 3: Social Multi-Agent Systems Long-term Impact Working with Me
Dr. Chris Martens - Principles of Expressive Machines 33 A nice thing about forward-chaining simulation models is that they offer a good starting point for interactivity. {at(dove, tree), at(ant, water), near(water, tree), at(leaf, tree), portable(leaf) } move : at(X, L) * near(L, L’) -o at(X, L’) take : at(X, L) * at(Thing, L) * portable(Thing) -o has(X, Thing) drop : at(X, L) * has(X, Thing) -o at(Thing, L)
Dr. Chris Martens - Principles of Expressive Machines 34 A nice thing about forward-chaining simulation models is that they offer a good starting point for interactivity. You are a dove in a tree near the water. There is a leaf here. > take leaf Taken. > go water You are at the water. There is an ant here. > drop leaf You drop the leaf in the water. The ant climbs on.
Dr. Chris Martens - Principles of Expressive Machines 40 Authoring Open Worlds - Interface: typed text? selected options? - Responses to commands: - agency vs. author burden
Dr. Chris Martens - Principles of Expressive Machines 41 Property-based simulation If something (X) hard hits something (Y) brittle, then Y breaks When something brittle breaks, the pieces are sharp Sharp things can break soft things Rope is soft, Glass is brittle ==> Player with a rock and rope in a room with a window can formulate a plan to break the glass and cut the rope.
Dr. Chris Martens - Principles of Expressive Machines Generative Methods 42 Processes for recombining elements of an input corpus to create new content without the aid of human designers. e.g.: Procedural Content Generation (PCG)
Dr. Chris Martens - Principles of Expressive Machines ASP (Answer Set Programming) 46 1. Specify possible ways of constructing an artifact 2. Write rules that designate certain constructions as forbidden 3. Run an answer set solver to get satisfying examples
Dr. Chris Martens - Principles of Expressive Machines Future Projects 47 Develop tools that combine the simulation capabilities of Ceptre with the generative and constraint-driven expressiveness of ASP
Dr. Chris Martens - Principles of Expressive Machines Future Projects 48 Develop tools that combine the simulation capabilities of Ceptre with the generative and constraint-driven expressiveness of ASP Create better ways for generative processes and (multiple) humans to collaborate with one another
Dr. Chris Martens - Principles of Expressive Machines 49 Talk Outline Intro Agenda 1: Narrative KR & generation Agenda 2: Game/Simulation Design Tools Agenda 3: Social Multi-Agent Systems Long-term Impact Working with Me
Dr. Chris Martens - Principles of Expressive Machines Example: Pass a handout to everyone in a classroom 52 1. Instructor gives each student a handout individually. 2. Instructor hands stack to one student and says to “take one and pass it down” 3. Instructor divides the stack to hand to each row of seats
Dr. Chris Martens - Principles of Expressive Machines 54 Correctness property: At quiescence, all students should have one paper. Δ ⊢ has(student1, P1) * … * has(studentn, Pn) Research Problem: automatically derive constraints on initial conditions that ensure this property. e.g.: stack size >= number of students
Dr. Chris Martens - Principles of Expressive Machines 55 Correctness property: At quiescence, all students should have one paper. Δ ⊢ has(student1, P1) * … * has(studentn, Pn) Research Problem: verify that the centralized and distributed versions of this algorithm are equivalent in behavior, while the distributed version has more locality.
Dr. Chris Martens - Principles of Expressive Machines Selecting Operators 57 3. Based on character goals e.g.: ant: safe(ant) ant: not_thirsty(ant) dove: safe(dove) birdwatcher: caught(dove)
Dr. Chris Martens - Principles of Expressive Machines Other Multi-Agent Systems: 58 n-way conversation Particle systems Self-organizing robot swarms Multi-player games Cities Voting protocols Political processes
Dr. Chris Martens - Principles of Expressive Machines Ongoing project (with Markus Eger): representing asymmetric information in games with epistemic modal logic 59 Three logicians walk into a bar…
Dr. Chris Martens - Principles of Expressive Machines Ongoing project (with Hannah Morrison): modeling n agents in deliberative conversation with each other how emotion, relationships, and personality influence the course of conversation, e.g. belief change 60
Dr. Chris Martens - Principles of Expressive Machines 61 Talk Outline Intro Agenda 1: Narrative KR & generation Agenda 2: Game/Simulation Design Tools Agenda 3: Social Multi-Agent Systems Long-term Impact Working with Me
Dr. Chris Martens - Principles of Expressive Machines 65 common languages as extensible targets for numerous compilation sources Ceptre Rules Mapping from predicates to rendering instructions Extensible front-end extn extn extn
Dr. Chris Martens - Principles of Expressive Machines Working with Me 72 Games & Visual Narrative Suite in Venture II Neighbors: Dave Roberts Arnav Jhala The Visual Narrative Cluster
Dr. Chris Martens - Principles of Expressive Machines Working with Me 73 Day-to-day work (possibilities): Building systems (prefer Haskell, OCaml, JavaScript) Building models (Ceptre, ASP, Prolog) Designing languages and logics Writing proofs (paper, Coq, Agda, Twelf) Building games (browser, Unity, analog, live-action)
Dr. Chris Martens - Principles of Expressive Machines Working with Me 74 Venues I like: POPL - Principles of Programming Languages AIIDE - AI in Games FDG - Foundations of Digital Games ICIDS - Interactive Digital Storytelling
Dr. Chris Martens - Principles of Expressive Machines Advising Style 75 1st half of Ph.D.: Weekly meetings Structured semester planning and check-ins Task assignments if needed Always Be Writing
Dr. Chris Martens - Principles of Expressive Machines Advising Style 76 2nd half of Ph.D.: Weekly meetings, or as-needed Devise your own plans Teach me things! Always Be Writing