FSM Toolkit Exercises



Σχετικά έγγραφα
FSM Toolkit Exercises Part II

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Homework 3 Solutions

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Τομέας Τηλεπικοινωνιών Αναπληρωτής Καθηγητής: Αλέξανδρος Ποταμιάνος

The challenges of non-stable predicates

C.S. 430 Assignment 6, Sample Solutions

Galatia SIL Keyboard Information

Mean bond enthalpy Standard enthalpy of formation Bond N H N N N N H O O O

Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3

(C) 2010 Pearson Education, Inc. All rights reserved.

Review Test 3. MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

1. Πόσοι αριθμοί μικρότεροι του διαιρούνται με όλους τους μονοψήφιους αριθμούς;

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Τοµέας Τηλεπικοινωνιών Αναπληρωτής Καθηγητής: Αλέξανδρος Ποταµιάνος

2 Composition. Invertible Mappings

Finite Field Problems: Solutions

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version ΗΜΙΤΕΛΗΣ!!!!

The Simply Typed Lambda Calculus

LTL to Buchi. Overview. Buchi Model Checking LTL Translating LTL into Buchi. Ralf Huuck. Buchi Automata. Example

Section 8.3 Trigonometric Equations

Econ 2110: Fall 2008 Suggested Solutions to Problem Set 8 questions or comments to Dan Fetter 1

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

Assalamu `alaikum wr. wb.

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

Approximation of distance between locations on earth given by latitude and longitude

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

14 Lesson 2: The Omega Verb - Present Tense

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Written Examination. Antennas and Propagation (AA ) April 26, 2017.

Matrices and Determinants

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ. «Θεσμικό Πλαίσιο Φωτοβολταïκών Συστημάτων- Βέλτιστη Απόδοση Μέσω Τρόπων Στήριξης»

ΔΙΠΛΩΜΑΣΙΚΗ ΕΡΓΑΙΑ. του φοιτητή του Σμήματοσ Ηλεκτρολόγων Μηχανικών και. Σεχνολογίασ Τπολογιςτών τησ Πολυτεχνικήσ χολήσ του. Πανεπιςτημίου Πατρών

Numerical Analysis FMN011

derivation of the Laplacian from rectangular to spherical coordinates

Math221: HW# 1 solutions

Models for Probabilistic Programs with an Adversary

If we restrict the domain of y = sin x to [ π, π ], the restrict function. y = sin x, π 2 x π 2

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.

1) Abstract (To be organized as: background, aim, workpackages, expected results) (300 words max) Το όριο λέξεων θα είναι ελαστικό.

Homomorphism in Intuitionistic Fuzzy Automata

ΤΕΧΝΟΛΟ ΓΙ ΚΟ ΕΚΠΑ ΙΔ ΕΥ Τ ΙΚΟ Ι ΔΡΥ Μ Α 'ΠΕ Ι ΡΑ ΙΑ ΤΜΗΜΑ ΚΛΩΣΤΟΥΦΑΝΤΟΥΡΓΙΑΣ ΕΙΔΙΚΟΤΗΤΑ ΒΑΦΙΚΗΣ ΠΤΥΧΙΑΚΉ ΕΡΓ ΑΣΙΑ ΤΙΤΛΟΣ ΕΥΧΡΗΣΤΙΑ ΕΞΕΙΔΙΚΕΥΜΕΝΟΥ

If we restrict the domain of y = sin x to [ π 2, π 2

k A = [k, k]( )[a 1, a 2 ] = [ka 1,ka 2 ] 4For the division of two intervals of confidence in R +

Areas and Lengths in Polar Coordinates

PARTIAL NOTES for 6.1 Trigonometric Identities

Volume of a Cuboid. Volume = length x breadth x height. V = l x b x h. The formula for the volume of a cuboid is

EE512: Error Control Coding

Instruction Execution Times

Partial Differential Equations in Biology The boundary element method. March 26, 2013

ΤΕΙ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

Chap. 6 Pushdown Automata

Second Order RLC Filters

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 10η: Basics of Game Theory part 2 Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

LESSON 16 (ΜΑΘΗΜΑ ΔΕΚΑΕΞΙ) REF : 102/018/16-BEG. 4 March 2014

Tridiagonal matrices. Gérard MEURANT. October, 2008

( ) 2 and compare to M.

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?

2. THEORY OF EQUATIONS. PREVIOUS EAMCET Bits.

ΗΜΥ 220: ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ Ι Ακαδημαϊκό έτος Εαρινό Εξάμηνο Κατ οίκον εργασία αρ. 2

Areas and Lengths in Polar Coordinates

How to register an account with the Hellenic Community of Sheffield.

Μεταπτυχιακή διατριβή. Ανδρέας Παπαευσταθίου

Solutions to Exercise Sheet 5

상대론적고에너지중이온충돌에서 제트입자와관련된제동복사 박가영 인하대학교 윤진희교수님, 권민정교수님

Advanced Subsidiary Unit 1: Understanding and Written Response

Συντακτικές λειτουργίες

Statistical Inference I Locally most powerful tests

Example Sheet 3 Solutions

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

Απόκριση σε Μοναδιαία Ωστική Δύναμη (Unit Impulse) Απόκριση σε Δυνάμεις Αυθαίρετα Μεταβαλλόμενες με το Χρόνο. Απόστολος Σ.

[1] P Q. Fig. 3.1

Exercises 10. Find a fundamental matrix of the given system of equations. Also find the fundamental matrix Φ(t) satisfying Φ(0) = I. 1.

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου. Σχεδίαση Συστήματος

ΑΚΑ ΗΜΙΑ ΕΜΠΟΡΙΚΟΥ ΝΑΥΤΙΚΟΥ ΜΑΚΕ ΟΝΙΑΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΧΗΜΙΚΑ ΠΡΟΣΘΕΤΑ ΠΟΥ ΠΡΟΟΡΙΖΟΝΤΑΙ ΓΙΑ ΤΟ ΝΕΡΟ ΤΟΥ ΑΤΜΟΛΕΒΗΤΑ

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

Other Test Constructions: Likelihood Ratio & Bayes Tests

STARTING STEPS IN GRAMMAR, FINAL TEST C TERM 2012 UNITS 1-18

ΤΕΧΝΟΛΟΓΙΕΣ ΠΟΛΥΜΕΣΩΝ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ

Jesse Maassen and Mark Lundstrom Purdue University November 25, 2013

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1

Srednicki Chapter 55

S. Gaudenzi,. π υ, «aggregation problem»

Section 7.6 Double and Half Angle Formulas

Όλνκα πνπδάζηξηαο: Γξεγνξία αββίδνπ Α.Δ.Μ:7859. Δπηβιέπνλ Καζεγεηήο: Παζραιίδεο Αζαλάζηνο ΑΝΩΣΑΣΟ ΣΔΥΝΟΛΟΓΗΚΟ ΔΚΠΑΗΓΔΤΣΗΚΟ ΗΓΡΤΜΑ ΚΑΒΑΛΑ

Reminders: linear functions

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

Overview. Transition Semantics. Configurations and the transition relation. Executions and computation

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

Second Order Partial Differential Equations

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ. Ειδική διάλεξη 2: Εισαγωγή στον κώδικα της εργασίας

MathCity.org Merging man and maths

CHAPTER 48 APPLICATIONS OF MATRICES AND DETERMINANTS

Transcript:

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Τομέας Τηλεπικοινωνιών Αναπληρωτής Καθηγητής: Αλέξανδρος Ποταμιάνος Ονοματεπώνυμο: Α Μ : ΗΜΕΡΟΜΗΝΙΑ: ΤΗΛ 413 : Συστήματα Επικοινωνίας Φυσικής Γλώσσας Εαρινό Εξάμηνο 2007 1η Εργαστηριακή Άσκηση FSM Toolkit Exercises The following problems are designed to familiarize you with the FSM tools and methodsyou should use the tools throughout to solve these problems and to test your solutions Exercise 1 Given the alphabet L=(a, b,, z, A, B,, Z, <space>) create an automaton that : a) Accepts a letter in L including space b) Accepts a single space c) Accepts a capitalized word (where a word is a string of letters in L excluding space and a capitalized word has its initial letter uppercase and remaining letters lowercase) d) Accepts a word containing the letter a Exercise 2 Using the automata in Problem 1 as the building blocks use appropriate FSM operations on them to create an automaton that: a) Accepts zero or more capitalized words followed by spaces b) Accepts a word beginning or ending in a capitalized letter c) Accepts a word that is capitalized and contains the letter a d) Accepts a word that is capitalized or does not contain an a Exercise 3 Epsilonremove, determinize and minimize each of the automata in Problem2 Give the number of states and arcs before and after these operations

Exercise 4 Consider the automaton: 0 1 1 0 2 2 1 1 1 2 3 4 4 4 3 3 4 a) How many states can be reached from the initial state? b) How many states can reach a final state? c) Compile this automaton and then remove all useless states HAND OUT ΠΡΟΣΟΧΗ: Τοποθετείστε τα binaries του FSM Toolbox στο path: C:\FSM\bin\ Για να μπορέσουμε να καλέσουμε απευθείας τις εφαρμογές του FSM Toolbox θα πρέπει να έχουμε δηλώσει στο /etc/profile το path που έχουμε τα binaries του FSM (PATH = $PATH:::/cygdrive/c/FSM/bin ) Διαφορετικά θα πρέπει στο script να δηλώσουμε μία μεταβλητή στην οποία θα έχουμε καταχωρήσει το path των FSM binaries (πχ $fsm = /cygdrive/c/fsm/bin) και να καλέσουμε την system( $fsm/fsmdraw Εναλλακτικά θα μπορούσαμε να καλέσουμε την system δηλώνοντας explicitly το path: system( /cygdrive/c/bin/fsmdraw ); Από command line του cygwin εκτελούμε κανονικά εφόσον έχει δηλωθεί το path των binaries του FSM διαφορετικά το δίνουμε explicit fsmcompile i 01_inputlab /01a_automatondef > 01afsa fsmdraw i 01_inputlab /01afsa dot T ps > 01aps /cygdrive/c/fsm/bin/fsmdraw Άσκηση 1 a) Αρχικά πρέπει να δημιουργούμε ένα αρχείο το οποία στην ουσία ορίζει το FSM που θέλουμε να κατασκευάσουμε Στην ουσία έχουμε δύο καταστάσεις, αρχική την 0 και τελική την 1 και όλα τα γράμματα της αλφαβήτου μικρά, κεφαλαία και το <space> τα οποία μας οδηγούν από την αρχική στην τελική κατάσταση Το αρχείο μας δηλαδή θα πρέπει να είναι της μορφής : 0 1 a 0 1 b

0 1 A 0 1 B 0 1 <space> 1 // Η γραμμή αυτή δηλώνει την τελική κατάσταση του FSM Στη συνέχεια πρέπει να δημιουργήσουμε το αρχείο συμβόλων στο οποίο αντιστοιχίζουμε τα γράμματα και το <space> με καταστάσεις μετάβασης Το αρχείο αυτό δίνεται σαν όρισμα κατά την κλίση των εφαρμογών fsmcompile και fsmdraw Το αρχείο αυτό θα πρέπει να είναι της παρακάτω μορφής: eps 0 //Epsilon transitions a 1 b 2 A 27 B 28 Z 52 <space> 53 Στη συνέχεια αφού δημιουργήσουμε τα δύο αυτά αρχεία τα οποία έχουν τα ονόματα «01a_automatondef και 01_inputlab» χτίζουμε την μηχανή πεπερασμένης κατάστασης με την εντολή: System( fsmcompile I /01_inputlab /01a_automatondef > /01afsa ); Η παραπάνω εντολή εκτελείται μέσα από κάποιο perl script Εναλλακτικά μπορούμε από command line να εκτελέσουμε απευθείας την εντολή: fsmcompile i /01_inputlab /01a_automatondef > /01afsa Τέλος για να σχεδιάσουμε την μηχανή μας εκτελούμε την παρακάτω εντολή: fsmdraw i /inputsyms /fsa dot T ps G rotate=0 >/fsaps Η παραπάνω εντολή μας σχεδιάζει την μηχανή σε ένα ps αρχείο το οποίο στη συνέχεια μπορούμε να το ανοίξουμε κάνοντας δεξί κλικ στο

αρχείο μέσα από τον windows explorer και επιλέγοντας Convert to Adobe PDF Μπορούμε αν βάλουμε όρισμα στο dot αντί για ps gif να δημιουργήσουμε gif αρχείο αντί για ps Σχεδιάστε το γραφικό αποτέλεσμα b) Για το δεύτερο ερώτημα πρέπει να δημιουργήσουμε με τον ίδιο τρόπο μία μηχανή πάλι δύο καταστάσεων που να δέχεται μόνο το <space> Το αρχείο που θα δημιουργήσετε για τη μηχανή θα έχει όνομα spacedef και θα έχει τη μορφή: 0 1 <space> 1 Για αρχείο συμβόλων θα χρησιμοποιήσουμε το ίδιο με την προηγούμενη μηχανή αφού έχουμε δηλώσει το <space> σε αυτό Πάλι θα δημιουργήσουμε τη μηχανή μας με την παρακάτω εντολή: fsmcompile i /01_inputlab /spacedef > /spacefsa και θα την σχεδιάσουμε με την : fsmdraw i /01_inputlab /spacsfsa dot T ps G rotate =0 > /spaceps Ανοίγουμε πάλι το ps αρχείο κάνοντας δεξί κλικ στο αρχείο μέσα από τον windows explorer και επιλέγοντας Convert to Adobe PDF Σχεδιάστε το γραφικό αποτέλεσμα

c) Για το τρίτο ερώτημα θα πρέπει να δημιουργήσουμε δύο μηχανές, όπως παραπάνω, μία που να δέχεται μόνο ένα κεφαλαίο γράμμα U1 και μία που να δέχεται μόνο ένα μικρό L2 Στη συνέχεια θα πρέπει να δημιουργήσουμε τη έκφραση U1(L2)* Την (L2)* την δημιουργούμε καλώντας τη εφαρμογή: fsmclosure /lowerfsa >/closl2fsa Τέλος την U1(L2)* με την κλήση της εφαρμογής: fsmconcat /uperfsa /closl2fsa > /cap_wordfsa Την σχεδιάζουμε με την εντολή: fsmdraw i /01_inputlab /cap_wordfsa dot T ps Grotate=0 > /cap_wordps Προσοχή, θα πρέπει για το compile των δύο μηχανών, για λεξικό, να χρησιμοποιήσουμε ένα αρχείο και για τις δύο μηχανές έτσι ώστε το κάθε σύμβολο μετάβασης να αντιστοιχεί σε διαφορετικό index number d) Για το ερώτημα αυτό θα πρέπει να υλοποιήσουμε αρχικά μία μηχανή που να δέχεται το σύμβολο a και στην συνέχεια την έκφραση (U1 U L2)(L2)*a (L2)* Στην ουσία χρησιμοποιούμε τις μηχανές του προηγουμένου ερωτήματος upperfsa, και closl2fsa και την μηχανή που δημιουργήσαμε σε αυτό το ερώτημα Για να υλοποιήσουμε λοιπόν τη μηχανή του ερωτήματος εκτελούμε τις εντολές : fsmunion /uperfsa /L2fsa > frst_letterfsa fsmconcat /frst_letterfsa /closl2fsa /afsa /closl2fsa > finalfsa Την σχεδιάζουμε πάλι με την χρήση της fsmdraw Σχεδιάστε το γραφικό αποτέλεσμα:

Άσκηση 2 a) Για το ερώτημα αυτό πρέπει παίρνουμε την μηχανή από την προηγούμενη άσκηση η οποία δεχόταν κάθε λέξη με κεφαλαίο γράμμα σαν αρχική μηχανή cap_wordfsa, στη συνέχεια παίρνουμε το concatenation της μηχανής που δέχεται μόνο το <space> με την μηχανή που δέχεται μία λέξη με κεφαλαίο γράμμα και δημιουργούμε μία νέα μηχανή Α2 Μετά παίρνουμε το closure της Α2* Τέλος παίρνουμε το concatenation Α1(Α2*) και το closure όλης αυτής της μηχανής για να δέχεται και το τίποτα fsmconcat /spacefsa /cup_wordfsa > /a2fsa fsmclosure / a2fsa > /clos_a2fsa fsmconcat /cup_wordfsa /clos_a2fsa > /a3fsa fsmclosure /a3fsa > /fin1fsa fsmdraw -i/01_inputlab /fin1fsa dot Tps G rotate=0 > /finps b) Παίρνουμε την ένωση (Union) της μηχανής που δέχεται λέξεις με που ξεκινάνε με κεφαλαία γράμματα και μίας μηχανής που δέχεται λέξεις που το τελευταίο γράμμα τους είναι κεφαλαίο Την μηχανή η οποία δέχεται μία λέξη που τελειώνει σε κεφαλαίο γράμμα μπορούμε να την δημιουργήσουμε αντιστρέφοντας την πρώτη μηχανή με την εντολή fsmreverse Δηλαδή: fsminverse /cup_wordfsa > /rev_cup_wordfsa fsmunion /cup_wordfsa /rev_cup_wordfsa > /2bfsa fsmdraw i /01_inputlab /2bfsa dot Tps > 2bps

c) Παίρνουμε τη μηχανή που δέχεται μόνο ένα κεφαλαίο γράμμα έστω U1 στη συνέχεια παίρνουμε το closure της μηχανή που δέχεται μόνο ένα μικρό γράμμα έστω L1, και τέλος παίρνουμε και τη μηχανή που δέχεται μόνο το γράμμα a έστω Α1 και υλοποιούμε την έκφραση U1(L1)*A1 (L1)* d) Παίρνουμε το union της μηχανής που δέχεται λέξεις με το πρώτο γράμμα κεφαλαίο με μία μηχανή έστω word2 που φτιάχνουμε η οποία δέχεται λέξη που δεν περιέχει το γράμμα a Για να φτιάξουμε αυτή τη μηχανή παίρνουμε μία μηχανή που δέχεται μόνο ένα γράμμα έστω any_letter, αφαιρούμε τη μηχανή που δέχεται μόνο το γράμμα a και μετά παίρνουμε το closure της διαφοράς τους Την διαφορά δύο μηχανών την παίρνουμε με την εντολή fsmdifference Είναι δηλαδή της μορφής: (cup_word)u(any_letter - a)* Τέλος σχεδιάζουμε το αποτέλεσμα με την fsmdraw Άσκηση 3 Για την λύση της άσκησης αυτής χρησιμοποιούμε τις εφαρμογές του FSM Toolkit στις μηχανές που δημιουργήσαμε στα ερωτήματα της προηγούμενης άσκησης Έστω μηχανή a2fsa τότε για την άσκηση αυτή εκτελούμε τις παρακάτω εντολες: fsminfo n a2fsa fsmrmepsilon a2fsa > bfsa fsmdeterminize bsa > cfsa fsmminimize cfsa > dfsa fsminfo n dfsa

H fsminfo n μας δίνει τις πληροφορίες για τον αριθμό καταστάσεων, μεταβάσεων μίας μηχανής κα Η fsmrmepsilon μετατρέπει την μηχανή σε μία άλλη η οποία δεν έχει μεταβάσεις epsilon H fsmdeterminize μετατρέπει τη μηχανή από μη deterministic σε deterministic Τέλος η fsmminimize κάνει minimization στη μηχανή ΠΑΡΑΔΟΤΕΟ: FSM Ερωτήματος States/Before Arcs/Before States/After Arcs/After Μηχανή ερωτήματος (2a) Μηχανή ερωτήματος (2b) Μηχανή ερωτήματος (2c) Μηχανή ερωτήματος (2d) Άσκηση 4 Για την άσκηση αυτή αφού δημιουργήσουμε τη μηχανή με βάση τα δεδομένα την άσκησης, έστω 4fsa στη συνέχεια καλούμε την fsmconnent η οποία καθαρίζει την μηχανή μας από τις άχρηστες καταστάσεις και μεταβάσεις fsmconnect 4fsa > finalfsa Τέλος σχεδιάζουμε το αποτέλεσμα με την fsmdraw a) b) c) Σχεδιάστε το αποτέλεσμα