Σχεδιασμός και υλοποίηση εφαρμογής με γραφικό περιβάλλον για μετατροπή NFA σε κανονική έκφραση

Στο πλαίσιο της παρούσας διπλωματικής αναπτύχθηκε εφαρμογή με γραφικό περιβάλλον για τη μετατροπή δοσμένου Μη Ντετερμινιστικού Πεπερασμένου Αυτομάτου (Non-deterministic Finite Automaton – NFA) σε ισοδύναμη κανονική έκφραση (Regular expression). Η μετατροπή πεπερασμένου αυτομάτου σε ισοδύναμη κανονικ...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Τράμπαρης, Ζήσης-Στυλιανός
Άλλοι συγγραφείς: Tramparis, Zisis-Stylianos
Γλώσσα:Greek
Έκδοση: 2022
Θέματα:
Διαθέσιμο Online:https://hdl.handle.net/10889/23569
id nemertes-10889-23569
record_format dspace
institution UPatras
collection Nemertes
language Greek
topic Κανονικές εκφράσεις
Μετατροπή
Ψηφιακές εφαρμογές
NFA
Regular expressions
Conversion
Digital applications
spellingShingle Κανονικές εκφράσεις
Μετατροπή
Ψηφιακές εφαρμογές
NFA
Regular expressions
Conversion
Digital applications
Τράμπαρης, Ζήσης-Στυλιανός
Σχεδιασμός και υλοποίηση εφαρμογής με γραφικό περιβάλλον για μετατροπή NFA σε κανονική έκφραση
description Στο πλαίσιο της παρούσας διπλωματικής αναπτύχθηκε εφαρμογή με γραφικό περιβάλλον για τη μετατροπή δοσμένου Μη Ντετερμινιστικού Πεπερασμένου Αυτομάτου (Non-deterministic Finite Automaton – NFA) σε ισοδύναμη κανονική έκφραση (Regular expression). Η μετατροπή πεπερασμένου αυτομάτου σε ισοδύναμη κανονική έκφραση είναι πάντα εφικτή. Η σχετική κατασκευαστική διαδικασία-απόδειξη αποτελεί μέρος της ύλης μαθημάτων στην περιοχή της Θεωρίας Υπολογισμού αλλά ανακύπτει συχνά στην πράξη και σε πραγματικές περιστάσεις. Σκοπός της εφαρμογής είναι να υποστηρίξει τόσο πρακτικές εφαρμογές που απαιτούν τη μετατροπή NFA σε ισοδύναμη κανονική έκφραση όσο και κάθε εκπαιδευτική διαδικασία που περιλαμβάνει τη διδασκαλία και εκπαίδευση στη μέθοδο μετατροπής NFA σε ισοδύναμη κανονική έκφραση. Η εφαρμογή δέχεται σαν είσοδο ένα πεπερασμένο αυτόματο και επιστρέφει μια ισοδύναμη κανονική έκφραση δίνοντας επιπλέον τη δυνατότητα για παρακολούθηση της διαδικασίας μετατροπής. Η εισαγωγή του αρχικού αυτομάτου, που αποτελεί την είσοδο στην εφαρμογή, γίνεται με γραφικό τρόπο. Εκτός από τον άμεσο υπολογισμό κανονικής έκφρασης ισοδύναμης με το δοσμένο Μη Ντετερμινιστικό Πεπερασμένο Αυτόματο (Non-deterministic Finite Automaton – NFA), η εφαρμογή που αναπτύχθηκε παρέχει επιπλέον τη δυνατότητα παρακολούθησης της διαδικασίας σταδιακής μετατροπής του αρχικού NFA σε ισοδύναμη κανονική έκφραση. Η εφαρμογή υλοποιήθηκε στη δημοφιλή πλατφόρμα ανάπτυξης γραφικών εφαρμογών Unity με συμπληρωματική χρήση της γλώσσας προγραμματισμού C# για τη διαχείριση των λειτουργιών των γραφικών αντικειμένων και την υλοποίηση των επιμέρους λειτουργιών της εφαρμογής. Τα γραφικά υποστηρίχτηκαν από τις βιβλιοθήκες γραφικών DirectX 11 που ενσωματώνει η Unity. Η συγγραφή του κώδικα έγινε στην πλατφόρμα Visual Studio. Για την σχεδίαση εικονιδίων και γραφικών αντικειμένων χρησιμοποιήθηκε το πρόγραμμα επεξεργασίας γραφικών Gimp.
author2 Tramparis, Zisis-Stylianos
author_facet Tramparis, Zisis-Stylianos
Τράμπαρης, Ζήσης-Στυλιανός
author Τράμπαρης, Ζήσης-Στυλιανός
author_sort Τράμπαρης, Ζήσης-Στυλιανός
title Σχεδιασμός και υλοποίηση εφαρμογής με γραφικό περιβάλλον για μετατροπή NFA σε κανονική έκφραση
title_short Σχεδιασμός και υλοποίηση εφαρμογής με γραφικό περιβάλλον για μετατροπή NFA σε κανονική έκφραση
title_full Σχεδιασμός και υλοποίηση εφαρμογής με γραφικό περιβάλλον για μετατροπή NFA σε κανονική έκφραση
title_fullStr Σχεδιασμός και υλοποίηση εφαρμογής με γραφικό περιβάλλον για μετατροπή NFA σε κανονική έκφραση
title_full_unstemmed Σχεδιασμός και υλοποίηση εφαρμογής με γραφικό περιβάλλον για μετατροπή NFA σε κανονική έκφραση
title_sort σχεδιασμός και υλοποίηση εφαρμογής με γραφικό περιβάλλον για μετατροπή nfa σε κανονική έκφραση
publishDate 2022
url https://hdl.handle.net/10889/23569
work_keys_str_mv AT tramparēszēsēsstylianos schediasmoskaiylopoiēsēepharmogēsmegraphikoperiballongiametatropēnfasekanonikēekphrasē
AT tramparēszēsēsstylianos designandimplementationofdigitalapplicationwithgraphicalenviromentfortheconversionofnfatoregularexpression
_version_ 1771297235083984896
spelling nemertes-10889-235692022-11-01T04:35:45Z Σχεδιασμός και υλοποίηση εφαρμογής με γραφικό περιβάλλον για μετατροπή NFA σε κανονική έκφραση Design and implementation of digital application with graphical enviroment for the conversion of NFA to regular expression Τράμπαρης, Ζήσης-Στυλιανός Tramparis, Zisis-Stylianos Κανονικές εκφράσεις Μετατροπή Ψηφιακές εφαρμογές NFA Regular expressions Conversion Digital applications Στο πλαίσιο της παρούσας διπλωματικής αναπτύχθηκε εφαρμογή με γραφικό περιβάλλον για τη μετατροπή δοσμένου Μη Ντετερμινιστικού Πεπερασμένου Αυτομάτου (Non-deterministic Finite Automaton – NFA) σε ισοδύναμη κανονική έκφραση (Regular expression). Η μετατροπή πεπερασμένου αυτομάτου σε ισοδύναμη κανονική έκφραση είναι πάντα εφικτή. Η σχετική κατασκευαστική διαδικασία-απόδειξη αποτελεί μέρος της ύλης μαθημάτων στην περιοχή της Θεωρίας Υπολογισμού αλλά ανακύπτει συχνά στην πράξη και σε πραγματικές περιστάσεις. Σκοπός της εφαρμογής είναι να υποστηρίξει τόσο πρακτικές εφαρμογές που απαιτούν τη μετατροπή NFA σε ισοδύναμη κανονική έκφραση όσο και κάθε εκπαιδευτική διαδικασία που περιλαμβάνει τη διδασκαλία και εκπαίδευση στη μέθοδο μετατροπής NFA σε ισοδύναμη κανονική έκφραση. Η εφαρμογή δέχεται σαν είσοδο ένα πεπερασμένο αυτόματο και επιστρέφει μια ισοδύναμη κανονική έκφραση δίνοντας επιπλέον τη δυνατότητα για παρακολούθηση της διαδικασίας μετατροπής. Η εισαγωγή του αρχικού αυτομάτου, που αποτελεί την είσοδο στην εφαρμογή, γίνεται με γραφικό τρόπο. Εκτός από τον άμεσο υπολογισμό κανονικής έκφρασης ισοδύναμης με το δοσμένο Μη Ντετερμινιστικό Πεπερασμένο Αυτόματο (Non-deterministic Finite Automaton – NFA), η εφαρμογή που αναπτύχθηκε παρέχει επιπλέον τη δυνατότητα παρακολούθησης της διαδικασίας σταδιακής μετατροπής του αρχικού NFA σε ισοδύναμη κανονική έκφραση. Η εφαρμογή υλοποιήθηκε στη δημοφιλή πλατφόρμα ανάπτυξης γραφικών εφαρμογών Unity με συμπληρωματική χρήση της γλώσσας προγραμματισμού C# για τη διαχείριση των λειτουργιών των γραφικών αντικειμένων και την υλοποίηση των επιμέρους λειτουργιών της εφαρμογής. Τα γραφικά υποστηρίχτηκαν από τις βιβλιοθήκες γραφικών DirectX 11 που ενσωματώνει η Unity. Η συγγραφή του κώδικα έγινε στην πλατφόρμα Visual Studio. Για την σχεδίαση εικονιδίων και γραφικών αντικειμένων χρησιμοποιήθηκε το πρόγραμμα επεξεργασίας γραφικών Gimp. In this work, we address the constructive conversion of Nondeterministic Finite Automata (NFAs) to equivalent Regular Expressions (REs). Such a conversion is often required in practical scenaria and it is a standard part of the curriculum of courses on Theory of Computation. It is always feasible and can be done by the application of a particular recursive technique, also known as the GNFA algorithm. This technique gradually eliminates states and transitions among them and replaces them with equivalent regular expressions, which are eventually combined into a single regular expression. We designed and implemented an online application offering a very user-friendly graphical environment. The application receives as input a user-designed NFA and computes an equivalent RE, while enabling users to observe every step of the conversion process. Launching the application, users are presented with a canvas where they can design in a simple and straight-forward way the input NFA. Then, by the press of a button, an equivalent regular expression is computed and presented on-screen. Users can graphically observe in a step-by-step fashion the overall conversion process, thus gaining insight for the algorithm behind the conversion. A comprehensive tutorial for the supported functionalities and the design procedure is also provided. For the development, we used Unity (version 2022.1) in combination with the default DirectX 11 libraries and C#. We used Visual Studio 2022 as our code editor as well as for writing C# scripts and for debugging purposes. Our application can be of practical usefulness especially due to the graphical design environment; it can also be exploited for student education and training both in real or virtual learning environments, in an online or offline manner. 2022-10-31T12:56:03Z 2022-10-31T12:56:03Z 2022-10 https://hdl.handle.net/10889/23569 el application/pdf