A Quest for Kleene Algebra in 2 Dimensions Gheorghe Stefanescu University of Bucharest RAMiCS 2015 Braga, Portugal, September 28-th, 2015.

Slides:



Advertisements
Similar presentations
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Advertisements

Lecture 24 MAS 714 Hartmut Klauck
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
Timed Automata.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
ISBN Chapter 3 Describing Syntax and Semantics.
December 5, 2013Computer Vision Lecture 20: Hidden Markov Models/Depth 1 Stereo Vision Due to the limited resolution of images, increasing the baseline.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Formal Languages and Automata Theory Applied to Transportation Engineering Problem of Incident Management Neveen Shlayan Ph.D. Candidate.
1 Finite Automata. 2 Finite Automaton Input “Accept” or “Reject” String Finite Automaton Output.
Towards a HOL Framework for the Deductive Analysis of Hybrid Control Systems ADPM’2000 Norbert Völker University of Essex, England.
Languages. A Language is set of finite length strings on the symbol set i.e. a subset of (a b c a c d f g g g) At this point, we don’t care how the language.
Describing Syntax and Semantics
Fall 2004COMP 3351 Another NFA Example. Fall 2004COMP 3352 Language accepted (redundant state)
1 Relational Algebra and Calculus Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
Model Checking Lecture 5. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Lectures on Cellular Automata Continued Modified and upgraded slides of Martijn Schut Vrij Universiteit Amsterdam Lubomir Ivanov Department.
Important Problem Types and Fundamental Data Structures
1 Relational Algebra and Calculus Chapter 4. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.
Finite-State Machines with No Output
1 Mathematical Institute Serbian Academy of Sciences and Arts, Belgrade DEUKS Meeting Valencia, September 9-11, 2008, Valencia New PhD modules proposal.
THEORY OF COMPUTATION 08 KLEENE’S THEOREM.
Transformation of Timed Automata into Mixed Integer Linear Programs Sebastian Panek.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
Constraint Satisfaction Problems (CSPs) CPSC 322 – CSP 1 Poole & Mackworth textbook: Sections § Lecturer: Alan Mackworth September 28, 2012.
1 Models of Computation o Turing Machines o Finite store + Tape o transition function: o If in state S1 and current cell is a 0 (1) then write 1 (0) and.
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
1 Relational Algebra and Calculas Chapter 4, Part A.
Relational Algebra.
1 Closures of Relations: Transitive Closure and Partitions Sections 8.4 and 8.5.
Regular Expressions CIS 361. Need finite descriptions of infinite sets of strings. Discover and specify “regularity”. The set of languages over a finite.
Regular Expressions Chapter 6 1. Regular Languages Regular Language Regular Expression Finite State Machine L Accepts 2.
Kleene’s Theorem Group No. 3 Presented To Mam Amina Presented By Roll No Roll No Roll No Roll No Group No. 3 Presented To Mam.
Specifying Languages Our aim is to be able to specify languages for use in the computer. The sketch of an FSA is easy for us to understand, but difficult.
Matrices: Simplifying Algebraic Expressions Combining Like Terms & Distributive Property.
Regular Expressions Chapter 6. Regular Languages Regular Language Regular Expression Finite State Machine L Accepts.
Chapter 3 Regular Expressions, Nondeterminism, and Kleene’s Theorem Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Data Design and Implementation. Definitions Atomic or primitive type A data type whose elements are single, non-decomposable data items Composite type.
UNIT - I Formal Language and Regular Expressions: Languages Definition regular expressions Regular sets identity rules. Finite Automata: DFA NFA NFA with.
CSCI 115 Chapter 1 Fundamentals. CSCI 115 §1.1 Sets and Subsets.
 A sequence is a list of objects arranged in a specific order.  A sequence in computer science is known as an array. An array hold objects of the same.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Conversions Regular Expression to FA FA to Regular Expression.
Matrices. Matrix - a rectangular array of variables or constants in horizontal rows and vertical columns enclosed in brackets. Element - each value in.
Lecture 09: Theory of Automata:2014 Asif NawazUIIT, PMAS-Arid Agriclture University Rawalpindi. Kleene’s Theorem and NFA.
7/7/20161 Formal Methods in software development a.a.2015/2016 Prof.Anna Labella.
Functional Programming
CIS Automata and Formal Languages – Pei Wang
Analysis Classes Unit 5.
Kleene’s Theorem and NFA
Formal Methods in software development
Copyright © Zeph Grunschlag,
Non Deterministic Automata
FORMAL LANGUAGES AND AUTOMATA THEORY
Relational Algebra Chapter 4, Part A
Chapter 5 Structures.
Refinement of structured interactive systems
CSEP590 – Model Checking and Automated Verification
Kleene’s Theorem Muhammad Arif 12/6/2018.
Lecture 5 Theory of AUTOMATA
Formal Methods in software development
Abstraction.
Dichotomies in CSP Karl Lieberherr inspired by the paper:
Important Problem Types and Fundamental Data Structures
Matrices.
Matrix Operations Ms. Olifer.
Presentation transcript:

A Quest for Kleene Algebra in 2 Dimensions Gheorghe Stefanescu University of Bucharest RAMiCS 2015 Braga, Portugal, September 28-th, 2015

Sequential vs. parallel computation Sequential computation … based on FA - finite automata Parallel, distributed, interactive computation … based on 2-dim FA, called here SATS – self-assembling tiling systems Natural fork and join

Control-flow/Data-flow networks 3 Mixed control-flow + dataflow model??

Kleene algebra – 1 Automata

Kleene algebra - 2 Algebraic formalization:

Kleene algebra - 3 Fundamental results

LPP – a language product problem LPP: Lrow x Lcol: find all 2-dim words such that  each maximal row sequence is in Lrow  each maximal column sequence is in Lcol

LPP - example The Dutch roof language: Lrow = a*c(2a*c+0)* and Lcol = c(0+2+a)*

2-dimensional words & scenarios Words Scenarios

SATS, scenarios, accepted words SATS (self-assembling tile system)  set of tiles + specification of labels for external borders Example Accepted scenarios/words:

Classical regular 2-dim expressions 2RE (a classical approach based on rectangular words)

2-dim regular expressions – 2RE (classic, rectangular words) Simple 2-dim regular expressions – additive operators: +, 0 – vertical composition operators: I, ;, * – horizontal composition operators: -, >, ^ 2RE – add: – intersection: /\ – renaming: rho:V->V’ – (V,V’ – the old and new vocabulary) Example: (b*; a; c*)^ /\ (c^ > a > b^)*

Example

Connecting 2RE's to SATS's Theorem: The languages of rectangular words represented by SATS (self-assembling tile systems) and those specified by classical 2-dimensional regular expressions 2RE are the same.

Problems Intersection is a nonintuitive operator :  difficult to grasp what you get by intersecting of 2 or more languages The formalism is not robust under renaming:  E3 = ( a* ; a ; a*)^ /\ (a^ > a > a^)*, does not generates square of a’s,  but E1 = ( b* ; a ; c*)^ /\ (c^ > a > b^)* does generate Renaming is yet a still more nonintuitive operator:  it's like writing in Chinese and getting an English text using a letter-to-letter renaming

Arbitrary shape words

Scenario composition Given scenarios: Composed scenarios:

Word vs. scenario composition Border agnostic word composition vs. scenario composition 13 cases

Gluing constraints How to get only those 3 compositions? General composition

Constraints on words borders Elements of interest: – side border (e,…) – land corner (nw,…) – golf corner (ne’,…) Constrain formulas: – = - equal (e=w) – < - included in (e<w) – # - overlap (e#w)

Examples – restricted compositions 3 composed words … obtained with restricted compositions  for (a): v (w=e) w  for (b): v (sw'=sw) w  for (c): v (ne>nw) w

Regular expressions – n2RE Basic class: n2RE  Use composition and itereated composition corresponding to the following restrictions: Elements on contours: side borders, land corners, and golf corners; Comparison relations: equal-to (=), included-in (<), overlap-with (#) General formulas: boolean formulas built on top of these atomic formulas Extended: x2RE  Use extreme cells (= cells with no more than 1 neighbour in the word)

Recursive definitions Definition Example

A particular case: SATS with 2-colors for borders

2x2 SATS 2-color border tiles Subsets: e.g., F02ac External w/n/e/s borders: e.g., 1100=c General representation of a 2x2 SATS:  F02ac.c

A case study: the Dutch roof language F02ac.c Transitions External borders:  w=1, n=1, e=0, s=0

hv-connected components Basic form - “hat” General form (hats connected via right-left legs)

Recursive specification: basic form Recursive system

A research programme: From SATS to 2RE:

Distributed Programs

A slogan Distributed programs  = (control & interaction)  + (temporal & spatial) data Moreover: control & interaction => modeled by SATS

A glimpse on AGAPIA programming Agapia: a programming language based on recatangular 2- dim words/scenarios 2 versions: v0.1 (basic) and v0.2 (supporting recursive computation) Towards the v1 release (current partial developments) :  adding spatial and temporal pointers  integrating object-oriented concepts A compiler with MPI and OpenMP targets  C Parudaru's PhD Thesis

33 Code W Composition :

Free combination of imperative/dataflow models

Applications (a few samples)

Applications A few samples: 1) From strings to images: lift problems, algorithms, and packages from 1 to 2 dimensions 2) Verification of interactive, parallel, distributed programs using spatial-temporal logics 3) New data types – generalized arrays – for dealing with arbitrary shape words 4) Space-time resource management – e.g., job scheduling using synchronizations via temporal pointers

Thank you !