Semantic and Declarative Technologies AIT Budapest

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

Introduction. IC-Parc2 ECLiPSe Components Constraint Logic Programming system, consisting of  A runtime core Data-driven computation, backtracking, garbage.
Ontological Logic Programming by Murat Sensoy, Geeth de Mel, Wamberto Vasconcelos and Timothy J. Norman Computing Science, University of Aberdeen, UK 1.
CMSC 104, Version 8/061L04Algorithms1.ppt Algorithms, Part 1 of 3 Topics Definition of an Algorithm Algorithm Examples Syntax versus Semantics Reading.
An Introduction to Artificial Intelligence. Introduction Getting machines to “think”. Imitation game and the Turing test. Chinese room test. Key processes.
CPSC 322, Lecture 19Slide 1 Propositional Logic Intro, Syntax Computer Science cpsc322, Lecture 19 (Textbook Chpt ) February, 23, 2009.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
The Semantic Web Week 18: Part 4 Introduction to Web Services and Intelligent Web Agents Module Website: Practical.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
CS101- Lecture 11 CS101 Fall 2004 Course Introduction Professor Douglas Moody –Monday – 12:00-1:40 – – –Web Site: websupport1.citytech.cuny.edu.
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Artificial Intelligence: Definition “... the branch of computer science that is concerned with the automation of intelligent behavior.” (Luger, 2009) “The.
Copyright © Curt Hill Using Propositional Logic Several applications.
Applications of Propositional Logic
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
ดร.สุรศักดิ์ มังสิงห์ SPU, Computer Science Dept.
Constraint Satisfaction Problems (CSPs) CPSC 322 – CSP 1 Poole & Mackworth textbook: Sections § Lecturer: Alan Mackworth September 28, 2012.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
Algorithms, Part 1 of 3 Topics  Definition of an Algorithm  Algorithm Examples  Syntax versus Semantics Reading  Sections
MATH 224 – Discrete Mathematics
Logic Programming CSC 358/ Outline Pattern matching Unification Logic programming.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Unit 2 – Week 5 Reasoning with Linear Equations and Inequalities Lesson 3 Students describe the solution set of two equations or inequalities joined by.
DEDUCTION PRINCIPLES AND STRATEGIES FOR SEMANTIC WEB Chain resolution and its fuzzyfication Dr. Hashim Habiballa University of Ostrava.
Programming Models/ Paradigms Chapter 5: Programming Languages.
1 UMBC CMSC 104, Section Fall 2002 Algorithms, Part 1 of 3 Topics Definition of an Algorithm Algorithm Examples Syntax versus Semantics Reading.
Programming. In your own words, explain what an algorithm is, and give an example of how people use algorithms every day.
Island of Logic Assignment #4 Programming Language, Spring 2003.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
CMSC 104, L041 Algorithms, Part 1 of 3 Topics Definition of an Algorithm Example: The Euclidean Algorithm Syntax versus Semantics Reading Sections 3.1.
Artificial Intelligence
Introduction to Artificial Intelligence Heshaam Faili University of Tehran.
Discrete Structures MT217 Lecture 01. Course Objectives Express statements with the precision of formal logic Analyze arguments to test their validity.
Chapter 4 Introduction to Set Theory
Automatic Test Generation
CSC 533: Programming Languages Spring 2016
CSC 533: Programming Languages Spring 2015
Artificial Intelligence
Algorithms, Part 1 of 3 The First step in the programming process
Algorithms, Part 1 of 3 Topics Definition of an Algorithm
CS344: Introduction to Artificial Intelligence (associated lab: CS386)
CSCI-235 Micro-Computer Applications
Computer Science cpsc322, Lecture 20
Niu Kun Discrete Mathematics Chapter 1 The Foundations: Logic and Proof, Sets, and Functions Niu Kun 离散数学.
Propositional Logic Session 3
GC211Data Structure Lecture2 Sara Alhajjam.
Algorithms I: An Introduction to Algorithms
EA C461 – Artificial Intelligence Logical Agent
Liar liar.
Unit 18: Computational Thinking
CS Programming I Jim Williams, PhD.
2008/09/17: Lecture 4 CMSC 104, Section 0101 John Y. Park
Intro to CSC270 Survey of Programming Languages
Artificial Intelligence Includes:
Applications of Propositional Logic
Objective of This Course
Logic for Artificial Intelligence
CS 220: Discrete Structures and their Applications
UMBC CMSC 104 – Section 01, Fall 2016
Programming Languages 2nd edition Tucker and Noonan
Algorithms, Part 1 of 3 Topics Definition of an Algorithm
Presented By: Darlene Banta
This Lecture Substitution model
Knights and Knaves.
Discrete Structures Prepositional Logic 2
Representations & Reasoning Systems (RRS) (2.2)
Design and Analysis of Algorithms (04 Credits / 4 hours per week)
Algorithms, Part 1 of 3 Topics Definition of an Algorithm
Habib Ullah qamar Mscs(se)
Presentation transcript:

Semantic and Declarative Technologies AIT Budapest Péter Szeredi http://cs.bme.hu/~szeredi/ait/

Semantic? Declarative? What the hell…? According to the Merriam-Webster dictionary: Semantic (adjective): relating to the meanings of words and phrases Declarative (adjective): having the form of a statement rather than a question or a command And in conjunction with technology? Semantic web: let search engines understand the web, not just read it Declarative programming: solve tasks by just describing the desired solution Why together in the same course? Common foundation: (mathematical) logic

Question: X? Answer: X?

A puzzle scheme from the book … Imagine an island on which every native is either a knight – who always tells the truth; or a knave – who always lies But they cannot be distinguished otherwise… If you hear Alf saying: “1+1=2”, he is a … If you hear Bob saying “1+1=3”, he is a … What if Cecil says: “I am a knight”? Can Cecil be a knight? Can he be a knave? Can it happen that Dan says: “I am a knave”?

Puzzle # 28 from the book In this problem, there are two natives, A and B. A makes the following statement: “At least one of us is a knave.” (*) What are A and B? Think of writing a program in your favorite programming language, which takes (*) or some similar text as input, and returns the solution(s)…

Let’s use “controlled English” input <person> ::= A | B | C | … <native> ::= knight | knave <statement> ::= <person> is a <native> | <person> says <statement> | <statement> and <statement> | <statement> or <statement> “A says: at least one of us is a knave.” becomes: A says A is a knave or B is a knave Given this input format, how many lines of code would the puzzle solver require in your favorite programming language?

Prolog - Programming in logic (or English?) Prolog is a simple, yet very flexible programming language based on a subset of First Order Logic Examples (use syntax extensions, additional operators, etc.) statements of a knight have truth value 1. % truth(knight, 1). statements of a knave have truth value 0. % truth(knave, 0).    statement (Native1 is a Native2) evaluates to B  if      statements of a Native1 have truth value B1 and     statements of a Native2 have truth value B2 and     B is 1-abs(B1-B2). % is is a built in for arithmetic, here B = 1 iff B1==B2 statement (Native1 says S) evaluates to B  if              statements of a Native1 have truth value B1 and      statement S evaluates to B2 and B is 1-abs(B1-B2). statement (S1 or S2) evaluates to B if     statement S1 evaluates to B1 and      statement S2 evaluates to B2 and     B is B1 \/ B2.  % B is the disjunction of B1 and B2

SWISH: a web environment for Prolog

Adding constraints to Prolog Constraint Logic Programming (CLP) – what is it? It extends Prolog with much stronger reasoning capabilities for a limited data domain (e.g. integers, Booleans, etc.) CLPFD (CLP for Finite Domain) – very efficient solution of combinatorial problems, e.g. Sudoku puzzles 7 4 2 1 9 3 5 8 6 7 4 2 1 9 3 5 8 6

The Semantic Web (SW) part of the course Description Logics (DL) – the maths behind SW DL variants with different complexity Transforming human knowledge to DL format Reasoning algorithms (outline) The practical side of the Semantic Web OWL 2 (Web Ontology Language) The Protégé editor and reasoning framework

Course summary Rough course layout: Requirements: Course webpage: Introduction to (First Order) Logic Weeks 1-2 Prolog programming Weeks 2-7 Constraint programming Weeks 8-12 Logics for the Semantic Web Weeks 12-14 Requirements: 2 assignments (15% each) 30% total 2 tests (mid-term & final, 20% each) 40% total Many small exercises + class activity 30% Course webpage: http://cs.bme.hu/~szeredi/ait/

Abilities helpful for this course The ability of clean, logical formulation of one’s expectations of a function or a procedure The ability to write recursive programs The acceptance of the single assignment principle: a variable can be assigned a value only once

Why should you attend this course? Learn a very different programming paradigm, which you can also use in other languages such as C, Java, etc. Learn techniques to quickly and concisely solve difficult algorithmic problems Learn Description Logics – the maths behind the next generation „intelligent" Web 3.0 It’s a niche market – experts of declarative and semantic technologies enjoy high-paying jobs

Some real-life applications Clarissa: natural voice processing used in systems on the International Space Station NRM: network management system for configuring multi-vendor IP backbone networks ContractExpress: intelligent contract creation system for law firms COPLEX: real-time logistics optimization Watson: cognitive system that defeated former human champions in the Jeopardy! quiz show SecuritEase: the dominant stock broking system in New Zealand