A Java implementation of Peirce’s Existential Graphs* faculty advisors: Bram van Heuveln (Philosophy) Dennis Higgins (Math & Computer Science) student.

Slides:



Advertisements
Similar presentations
1 Knowledge Representation Introduction KR and Logic.
Advertisements

Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Structured Design. 2 Design Quality – Simplicity “There are two ways of constructing a software design: One is to make it so simple that there are obviously.
Tutorial 8: Developing an Excel Application
Section 9.1 Identify multimedia design guidelines Identify sources of multimedia files Explain the ethical use of multimedia files Describe multimedia.
Programming Types of Testing.
VIDE als voortzetting van Cocktail SET Seminar 11 september 2008 Dr. ir. Michael Franssen.
Organisation for Economic Cooperation and Development (OECD)
C. Varela; Adapted w/permission from S. Haridi and P. Van Roy1 Declarative Computation Model Defining practical programming languages Carlos Varela RPI.
NaLIX: A Generic Natural Language Search Environment for XML Data Presented by: Erik Mathisen 02/12/2008.
1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
Formalizing Alpha: Soundness and Completeness Bram van Heuveln Dept. of Cognitive Science RPI.
Existential Graphs: Beta Introduction to Logic. Alpha Review: Symbolization ‘P’ ‘not P’ ‘P and Q’ ‘P or Q’ ‘if P then Q’ F EG PP PP P  Q P  Q P 
1 CA 208 Logic Logic Prof. Josef van Genabith Textbooks:  The Essence of Logic, John Kelly, Prentice Hall, 1997  Prolog Programming, Third Edition, Ivan.
Existential Graphs and Davis-Putnam April 3, 2002 Bram van Heuveln Department of Cognitive Science.
Using the EG Applet Bram van Heuveln. Contents General Comments –Some general comments regarding the use of the applet Work Area –Instructions for creating.
The C++ Tracing Tutor: Visualizing Computer Program Behavior for Beginning Programming Courses Rika Yoshii Alastair Milne Computer Science Department California.
Alpha: Symbolization and Inference Bram van Heuveln Minds and Machines Lab RPI.
Describing Syntax and Semantics
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Improvements and Extensions of the EG Interface Fall 2002.
Multimedia Enabling Software. The Human Perceptual System Since the multimedia systems are intended to be used by human, it is a pragmatic approach to.
Discrete Mathematics and its Applications
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Critical Systems Specification 3 Formal Specification.
Introduction to Computer Science. A Quick Puzzle Well-Formed Formula  any formula that is structurally correct  may be meaningless Axiom  A statement.
1 An Introduction to TI SmartView Emulator Software (Version 2.0) Jim Eiting Developmental Mathematics Department Collin County Community College August.
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
Presented by Steve Beutler, Career Counselor Minot Public Schools Minot, North Dakota.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Applications Software. Applications software is designed to perform specific tasks. There are three main types of application software: Applications packages.
INTRODUCTION TO COMPUTING CHAPTER NO. 06. Compilers and Language Translation Introduction The Compilation Process Phase 1 – Lexical Analysis Phase 2 –
Unit 1 – Improving Productivity Instructions ~ 100 words per box.
Unit 1 – Improving Productivity Ayesha begum. 1.1Why did you use a computer? What other systems / resources could you have used? We use a computer because.
A Java Implementation of Peirce’s Existential Graphs Bram van Heuveln Department of Philosophy State University College at Oneonta March 22, 2001.
Welcome to Honors Intro to CS Theory Introduction to CS Theory (Honors & Traditional): - formalization of computation - various models of computation (increasing.
The Beauty and Joy of Computing Lecture #3 : Creativity & Abstraction UC Berkeley EECS Lecturer Gerald Friedland.
March 16 & 21, Csci 2111: Data and File Structures Week 9, Lectures 1 & 2 Indexed Sequential File Access and Prefix B+ Trees.
Chapter 10: File-System Interface 10.1 Silberschatz, Galvin and Gagne ©2011 Operating System Concepts – 8 th Edition 2014.
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
WXGE6103 Software Engineering Process and Practice Formal Specification.
Welcome to Honors Intro to CS Theory Introduction to CS Theory (Honors & Traditional): - formalization of computation - various models of computation (increasing.
CMPF144 FUNDAMENTALS OF COMPUTING THEORY Module 5: Classical Logic.
Existential Graphs Intermediate Logic. Existential Graphs A graphical logic system developed by C.S. Peirce almost 100 years ago. Peirce studied semiotics:
Chapter 1 Introduction Chapter 1 Introduction 1 st Semester 2015 CSC 1101 Computer Programming-1.
Introduction to Flash Animation CS 318. Topics Introduction to Flash and animation The Flash development environment Creating Flash animations  Layers.
A Java implementation of Peirce’s Alpha Graphs Bram van Heuveln (RPI) Dennis Higgins (SUNY Oneonta) SUNY Oneonta undergraduate programmers: Elizabeth Hatfield,
Unit 1 – Improving Productivity Instructions ~ 100 words per box.
Introduction to JavaScript CS101 Introduction to Computing.
A Java implementation of Peirce’s Existential Graphs
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
XP Tutorial 8 New Perspectives on Microsoft Windows XP 1 Microsoft Windows XP Object Linking and Embedding Tutorial 8.
1 A Basic Introduction to Flash. Outline What is a flash? Macromedia Flash MX 2004 Flash concepts Flash Demos Conclusion Additional help 2.
Processing Hardware, Software. Hardware Hardware Processing is performed by a computer ’ s central processing unit and is measured by the clock speed.
Tutorial 7 Creating Animations. XP Objectives Learn about animation Create a timeline Add AP divs and graphics to a timeline Move and resize animation.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
The Existential Graphs Project Rensselaer Reasoning Group September 12, 2001.
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
6. (supplemental) User Interface Design. User Interface Design System users often judge a system by its interface rather than its functionality A poorly.
Power Point Mistakes Contrasting background and text Microsoft Office PowerPoint 2007 enables users to quickly create high-impact, dynamic presentations,
This is the interface for the Reflect version of the PebblePad system which is being made available by the IfL to its members. Colleagues can choose to.
Computer Software: Programming
The function of knowledge representation scheme is
Great Theoretical Ideas in Computer Science
Tutorial 10: Programming with javascript
Basic Concepts of Algorithm
Presentation transcript:

A Java implementation of Peirce’s Existential Graphs* faculty advisors: Bram van Heuveln (Philosophy) Dennis Higgins (Math & Computer Science) student programmers: Elizabeth Hatfield, Debbie Kilpatrick, Lut Wong *Funding made possible by a TLTC Fast Tech Grant

Overview Background: Logic Systems Peirce’s Existential Graphs Our Project and its Motivation Implementation Demonstration!

Logic Systems A Logic Puzzle The body of Mr. X was found murdered in his bedroom by the housemaid. Who did it? Inspector Clouseau collects the following information: –Only the butler and the housemaid could have had access to Mr. X’s bedroom –Only the butler knows about the secret alarm that Mr.X activates at night in his bedroom –The alarm did not go off.

Logic Systems Our Reasoning “Either the butler or the housemaid killed Mr. Body. However, if the housemaid would have killed Mr. Body, the alarm would have gone off, and the alarm didn’t go off, so the housemaid is in the clear. Therefore, the butler did it.” Can we formalize our reasoning? Yes. This is what logic systems do.

Logic Systems Step 1: Logical Symbolization Use symbols to represent simple propositions: –H: The housemaid did it –B: The butler did it –A: The alarm went off Use further symbols to represent complex claims: –H  B: The housemaid or the butler did it –H  A: If the housemaid did it, the alarm would go off –~A: The alarm did not go off

Logic Systems Step 2: Logical Inference Transform symbolic representations using basic rules that reflect valid inferences: H  B HAHA ~A ~H B 2, 3 MT A , 4 DS

Logic Systems Completeness and Soundness Logic Systems need to be complete and sound: –Expressive Completeness: The system needs to be able to represent every possible logical expression. –Deductive Completeness: The system needs to be able to infer anything that logically follows. –Deductive Soundness: The system should not be able to infer anything that does not logically follow. Logic Systems can be proven to be complete and sound.

Logic Systems The Trade-off The rules in logic systems reflect simple logical inferences. The simpler the inferences, the fewer rules the system will have to have in order to be complete, as more complex rules will reduce to sequences of more simple rules. However, this also means that the proof becomes longer. In other words, there is a trade-off between the number of rules of the system and the length of the proof.

Logic Systems Example of the Trade-off H  B HAHA ~A H A A ,4  E ~A ~H 3 R 4-6 ~I B B H ~B H ~H B B A. 10 R 7 R 8 R 1,8-9,10-14  E ~E 24 rules: 2 steps 11 rules: 12 steps

Existential Graphs Peirce’s Existential Graphs A graphical logic system developed by Peirce almost 100 years ago. Peirce studied semiotics: the relationship between symbols, meanings, and users. –Peirce found the linear notation and accompanying rules of traditional logic systems (which he helped develop) restrictive, involved, and unintuitive. –Existential Graphs allow the user to express logical statements in a completely graphical way.

Existential Graphs Syntax of EG ‘P’ ‘not P’ ‘P and Q’ ‘P or Q’ ‘if P then Q’ TraditionalEG PP ~P P&Q PQPQ PQPQ P Q QP P QP

Existential Graphs Inference Rules of EG Double Cut (De)Iteration Erasure Insertion PP QPQ QP QP P Q PP

Existential Graphs Proof in EG A B DE DC E BHAH ABH HAB DE H HAB

Existential Graphs Strength of EG Compact –Only Propositions and Cuts; Only 4 rules Easy to use –Less chance of making mistakes Fast –Transform rather than rewrite Intuitive –Many logical relationships come for free Maximum Logical Power –Expressively complete; deductively complete

Motivation Initial Student Response Bram has taught Existential Graphs in logic class: Even though students were forced to draw successive snapshots, students were more happy with Existential Graphs than traditional systems: –easier –faster –less mistakes –more fun Students were very excited at the idea of having an interactive interface

Motivation Further Motivation Interface for construction and manipulation of Existential Graphs does not seem to exist Conceptual advantages of the dynamic character of logic proofs in EG remain unexplored Software can be used in logic class Implementation in Java, so that an applet can be put on a home page for public use Good experience –Completed project can be presented at conference –Nice example of cross-curricular collaboration

The Project Required Functionality The user should be able to: –Generate Existential Graphs Draw, delete, move, resize, and copy propositions and cuts –Manipulate Existential Graphs Apply rules of inference The system should: –Keep track of the logical relationships as expressed by the Existential Graphs –Check if the rules of inference are correctly applied by the user

The Project Desired added Functionality File I/O –To load and save existential graphs –To load and save proofs as a series of images Proof Editor –Video buttons to play and rewind proofs –Edit existing proofs Help and Tutorial –Instructions for use –Examples

Implementation Programming Team We obtained a TLTC Fast Tech Grant We invited three upper division Computer Science students to develop this software: –Elizabeth Hatfield (now at IBM, Endicott) –Debbie Kilpatrick (working for Computer Services, SUNY Oneonta) –Lut Wong (senior, CS and Chemistry major) We held a weekly meeting

Implementation Division of Labor

Implementation Project Phasing We decided to implement in two phases: Phase one: develop a Work Area –Interface with full editing capabilities for generating Existential Graphs –Main problem: interaction between graphical operations and corresponding internal logical data structure Phase two: develop a Proof Area –Interface for the manipulation of Existential Graphs –Main Problem: Perform checking to insure user selections were legal

Implementation Current Status Both phases are now complete, and we have a minimally working system. Additional helpful features still need to be implemented On to the demonstration!