1 / 33

Languages. A Language is set of finite length strings on the symbol set

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 is generated or represented. So initially the comments apply to all kinds of languages regular. -regular

kimberly
Download Presentation

Languages. A Language is set of finite length strings on the symbol set

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 is • generated or represented. So initially the comments • apply to all kinds of languages • regular • -regular • push-down automata languages • Petri net languages … • A symbol can be made up of a vector of • variable values, e.g. 1a3de0 or 010010. • These are examples of a single symbol. • Languages can be manipulated as follows:

  2. Examples of Languages • Alphabet  = {a, b, c}. Language includes all the strings, in which all occurrences of a appear before all occurrences of b: , a, b, c, ab, ac, acb, cab, aacaabbbccb, … Strings not in the language: ba, aacabbaccc, … • Binary variables x, y. x = y = {0,1},  = x  y = {00, 01, 10, 11}. Language includes all the strings appearing as input/output combinations of the given circuit (reset to 0): (00), (10), (00)(00)(00), (00)(10)(11),… Strings not in the language: (01), (11), (00)(01), … x y DFF

  3. Union • Intersection - • Complement - • Catenation -

  4. Lowering and Raising • Given a Language over the alphabet projection is defined as – • Given a Language L over the alphabet Xlifting to the alphabet is defined as -

  5. Examples of Projection and Lifting • Binary variables x, y, z. x = y =z ={0,1}. xyz = x  y z = {000, 001, 010, 011, 100, 101, 110, 111}. Language includes all the strings that can appear as input/output combinations of the given circuit (reset to 0): ,(000), (110)(001)(100),… Projecting to alphabet xz : (00), (10)(01)(10),… Lifting to alphabet xyzu = xyz  u : (000-), (110-)(001-)(100-),… = (0000), (0001), (1100)(0010)(1000), (1100)(0010)(1001), (1100)(0011)(1000),… x z DFF y

  6. Given a Language L over the alphabet the restriction to X is defined as - where • Given a Language L over X and an alphabet Y disjoint from X, the expansion of L is defined as the language over such that -

  7. Regular Expressions. Regular Expressions over alphabet {} is a regular expression is a regular expression are regular expression If r and s are regular expressions then r+s, r s, and are regular expressions. The language associated with a regular expression is called a regular language. Theorem: The complement of a regular language is a regular language

  8. Examples of Regular Expressions • Regular expression a + b stands for {a,b} • Regular expression ab stands for {ab} • Regular expression a* stands for {,a, aa, aaa, aaaa, …} • Alphabet  = {a, b, c}. Language includes all the strings, in which all occurrences of a appear before all occurrences of b: (a+c)*(b+c)* • Alphabet  = x  y = {00, 01, 10, 11}. Language includes all the strings appearing as input/output combinations of the given circuit (reset to 0): ( (00)*(10)(11)*(01) )* 10 00 11 0 x y 1 DFF 01

  9. Classes of Languages • A language is prefix closed if • A language over is I-progressive if • A language over is I-Moore if

  10. Examples of Languages • Prefix-closed language includes, with its every string, all the prefixes of this string. Example 1: Language a*b* is prefix closed Example 2: Language a*b is not prefix closed • I-progressive language includes the strings, which, for each input symbol, have some output symbol Example 1: Language ( (00)*(10)(11)*(01) )* is I-progressive Example 2: Language ( (00)*(10)(01) )* is not I-progressive 10 10 00 00 11 0 1 0 1 01 01

  11. Classes of Languages • A language over is prefix closed if A language over is IO-progressive if

  12. Composition of Languages • Given disjoint alphabets I,U,O and languages L1 over and L2 over , their synchronous composition is • . • Given disjoint alphabets I,U,O and languages L1 over and L2 over , their parallel composition is .

  13. Synchronous Composition Specification • Spec is defined over IO • Fixed is defined over IVUO • Unknown should be over UV • The solution to the equation F  X  S is More specifically S I O Fixed F U V Unknown X

  14. “While synchronous product often is thought to be a simple – even uninteresting – type of coordination, it can be shown that, through the use of non-determinism, this conceptually simple coordination serves to model the most general ‘asynchronous’ coordination, i.e. where processes progress at arbitrary rates relative to one another. In fact the ‘interleaving’ model, the most common model for asynchrony in the software community, can be viewed as a special case of this synchronous product” – Kurshan, 1994. Uses non-determinism and self loops with null transitions at each state to model parallel with synchronous.

  15. Finite Automata A finite automaton (FA) is where S is a set of states, is an input alphabet, is a transition relation, r is the initial state, and is the set of accepting states.

  16. An input sequence leads from r to s’ if there exists a sequence of states, for all i = 0, ... ,n-1. w is in the language of F ( ) such that if and only if w leads from r to where i.e. denotes the set of states that can be reached from r under the input sequence w.

  17. Examples of Finite Automata Example 1: Language a*b* is prefix closed Example 2: Language a*b is not prefix closed a a b X Y X Y b b

  18. Theorem: A languages is regular if and only if it is the language of a finite automaton Theorem: The set of all languages for deterministic FA is the same as for non-deterministic FA. (we will show how this can be done using the so-called subset construction.)

  19. Operations on FA. • projection ( ): convert F over • into F’ over X by replacing each edge (xvs s’) by the edge (x s s’) • lifting ( ): convert F over X into F’ over where by replacing each edge (x s s’) by stands for any .

  20. 110 000 010100 x z DFF 111 y 001 011101 0 1 u 110- 10 00 10 000- 010-100- 11 111- 0 1 01 11 001- 011-101- 0 1 Examples of Projection and Lifting Projection y Lifting u Note: Automaton after projection is non-deterministic

  21. restriction ( ): convert F over to F’ over V, by changing every edge (v s s’) where into ( ) • expansion ( ): Change F over X into F’ over by adding for each state, a self-loop for all v, i.e. add an edge where stands for any

  22. Operations on FA. Product Given FAs both over , the product is where Complementation If F is deterministic, then . If F is non-deterministic, the only known way for complementation is to determinize it first. This is done by the sub-set construction.

  23. Example of Product of Automata

  24. Composition Synchronous Composition. Given two automata and over alphabets and their synchronous composition is i.e. the product of the two automata when they are made to have the same alphabet. Parallel Composition. Given two automata and on alphabets and their synchronous composition is i.e. the product of the two automata when they are made to have the same alphabet.

  25. s’ Subset Construction Given NFA we create a DFA F’ with the same language as F: where and Theorem: F and F’ have the same language. Proof:

  26. Interpretation of Subset Construction • Non-deterministic automaton (NDA) can transit into several states under the same input • We can think of these transitions happening at the same time • It means that the NDA can be in several states at the same time • If string s has driven an NDA into a subset of states containing at least one accepting state, s is accepted • Non-determinism is useful to compactly represent languages, but manipulation of NDAs is hard • Determinization consists in constructing a DA equivalent to the given NDA • Determinization procedure performs subset construction • The idea of subset construction is to transform (unfold) the NDA, which can be in a subset of states, into a DA, which can only be in one state, by associating each subset of states of the NDA with one state of the DA

  27. 10 00 10 11 0 1 01 11 Example of Subset Construction

  28. Finite State Machines as Automata A FSM is where I is the set of input symbols, O the set of output symbols, r the initial state, and T(s,i,s’,o) is the transition relation. A transition (s,i,s’,o) from state s to s’ with output o can happen on input i can if and only if If then M is complete, otherwise partial.

  29. It is deterministic if for all (s,i) there is at most one (s’,o) such that It is pseudo-non-deterministic if for all (s,i,o) there is at most one s’ such that A FSM is of Moore type if i.e. i’ can determine the next state but not the output.

  30. 11/0 00/0 01/010/0 x z DFF 11/1 y 1/0 0/0 1/0 00/1 01/110/1 0 1 1/1 0 1 0/1 1/1 0/0 1/0 1/1 0 1 0/1 Examples of FSMs Non-Deterministic FSM Circuit Deterministic FSM Pseudo-Non-Deterministic FSM

  31. s DCN Converting an FSM to an automaton An FSM M can be converted into an automaton F by the following: where Note that Q = S, i.e. all states are accepting The resulting automaton is typically not complete, since there are io combinations for which a next state is not defined. We can complete it by augmenting to include a transition to a new non-accepting state DCN.

  32. 11/0 110 00/0 01/010/0 000 010100 111 11/1 00/1 01/110/1 001 011101 0 0 1 1 Converting FSM into Automaton FSM Complete Automaton 110 000 010100 111 001 011101 0 1 Incomplete Automaton 001 011101111 000 010100110 3 - - -

  33. FSMs as Automata The language of an FSM is defined to be the language of the associated automaton A pseudo non-deterministic FSM is one whose automaton is deterministic. The language of an FSM is prefix closed. The language of an FSM is I-progressive Conversion is done by grouping i/o on edges to (io) and making all states accepting. Conversion can be done only if the language is prefix closed and I-progressive. In this case, delete all non-accepting states (prefix), and change edges from (io) to i/o.

More Related