Φροντιστήριο 8 Λύσεις

Σχετικά έγγραφα
Φροντιστήριο 8 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Φροντιστήριο 9 Λύσεις

Φροντιστήριο 10 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 12: Μηχανές Turing

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))

Σειρά Προβλημάτων 5 Λύσεις

Σε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Θεωρία Υπολογισμού και Πολυπλοκότητα

Θεωρία Υπολογισμού και Πολυπλοκότητα Διαγνωσιμότητα

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

Ασκήσεις από παλιές εξετάσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 15: Διαγνωσιμότητα (Επιλυσιμότητα) ΙΙ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

CSC 314: Switching Theory. Chapter 3: Turing Machines

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 14: Διαγνωσιμότητα (Επιλυσιμότητα)

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.

Φροντιστήριο 11 Λύσεις

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Σειρά Προβλημάτων 1 Λύσεις

Σειρά Προβλημάτων 1 Λύσεις

Σειρά Προβλημάτων 3 Λύσεις

Σειρά Προβλημάτων 3 Λύσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Επανάληψη Μαθήματος

Σειρά Προβλημάτων 1 Λύσεις

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1

Θεωρία Υπολογισμού και Πολυπλοκότητα

Σειρά Προβλημάτων 1 Λύσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 4: Μη Ντετερμινιστικά (Αντιαιτιοκρατικά) Πεπερασμένα Αυτόματα (ΝFA)

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 10: Αυτόματα Στοίβας II

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Σειρά Προβλημάτων 3 Λύσεις

Σειρά Προβλημάτων 1 Λύσεις

CSC 314: Switching Theory

Σειρά Προβλημάτων 3 Λύσεις

Περιεχόμενα ΜΤ Τυχαίας Προσπέλασης Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ.

Τεχνητή Νοημοσύνη. 2η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Πληροφορική 2. Αλγόριθμοι

Αποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο;

Μηχανές Turing (T.M) I

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

ΗΥ252 - Οντοκεντρικός Προγραµµατισµός Προγραµµατιστική Εργασία Εαρινού Εξαµήνου 2004 Περιγραφή Παραδοτέων

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Υπολογίσιμες Συναρτήσεις

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

Πεπερασμένος έλεγχος καταστάσεων

Θεωρία Υπολογισμού και Πολυπλοκότητα Χρονική Πολυπλοκότητα

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Σειρά Προβλημάτων 1 Λύσεις

CSC 314: Switching Theory. Chapter 3: Turing Machines

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Σειρά Προβλημάτων 3 Λύσεις

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Σειρά Προβλημάτων 3 Λύσεις

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.

Ψευδοκώδικας. November 7, 2011

Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 5: Κανονικές Εκφράσεις

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές

Σειρά Προβλημάτων 1 Λύσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 16: Αναγωγές

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

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

Φροντιστήριο 7 Λύσεις

Λύσεις 4ης Σειράς Ασκήσεων

Διαδικασιακός Προγραμματισμός

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

Φροντιστήριο 2 Λύσεις

Transcript:

Άσκηση 1 Θεωρήστε την πιο κάτω Μηχανή Turing. Φροντιστήριο 8 Λύσεις Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία των φάσεων τις οποίες διατρέχει η μηχανή όταν δέχεται τη διδόμενη λέξη. (α) 11 (β) 1#1 (γ) 1##1 Θεωρούμε ότι όλες οι μεταβάσεις που απουσιάζουν, οδηγούν στην κατάσταση απόρριψης q απόρριψη. Για παράδειγμα δ(q 3, ) = (q απόρριψη,, Δ) (α) q 1 11 xq 3 1 x1q 3 x1 q reject (β) q 1 1#1 xq 3 #1 x#q 5 1 x#q 5 1 xq 6 #x q 7 x#x xq 1 #x x#q 8 x x#xq 8 x#x q αποδοχή (γ) q 1 1##1 xq 3 ##1 x#q 5 #1 x##q απόρριψη 1 Άσκηση 2 Να εξηγήσετε γιατί η ακόλουθη ΤΜ δεν είναι καλά ορισμένη. Μ εσφαλμένη = Για είσοδο p, p ένα πολυώνυμο των μεταβλητών x 1, x 2,, x k : 1. Βρίσκουμε όλους τους δυνατούς συνδυασμούς ακέραιων τιμών των x 1, x 2,, x k. Φροντιστήριο 8 Λύσεις Εαρινό Εξάμηνο 2015 Σελίδα 1 από 5

2. Υπολογίζουμε την τιμή του p για κάθε ένα από αυτούς 3. Αν για κάποιο συνδυασμό το p ισούται με 0, αποδεχόμαστε, διαφορετικά, απορρίπτουμε. Η περιγραφή αυτή δεν είναι νόμιμη αφού τόσο το πρώτο όσο και το δεύτερο βήμα αναφέρονται σε εργασίες οι οποίες απαιτούν μη πεπερασμένο χρόνο για να ολοκληρωθούν. Συγκεκριμένα οι δυνατοί συνδυασμοί ακέραιων τιμών για τις μεταβλητές x 1, x 2,, x k είναι άπειροι. Επομένως, το βήμα 1 της Μ εσφαλμένη που θέτει ως στόχο την εύρεση αυτών των συνδυασμών δεν θα τερματίσει ποτέ και η ροή της εκτέλεσης δεν θα προχωρήσει ποτέ στα βήματα 2 και 3. (Τα βήματα σε αφ υψηλού περιγραφές μηχανών Turing, όπως επίσης και στην περιγραφή αλγορίθμων, οφείλουν να τερματίζουν μέσα σε πεπερασμένο χρόνο.) Άσκηση 3 Να διατυπώσετε μια λεπτομερή περιγραφή κάποιας ΤΜ που να διαγιγνώσκει την ακόλουθη γλώσσα. Στη συνέχεια να αναπτύξετε την περιγραφή σας σε μια τυπική περιγραφή. L = {w {0,1} * η w περιέχει διπλάσια 0 από 1} Η λεπτομερής περιγραφή της ζητούμενης ΤΜ έχει ως εξής: M = Με δεδομένο w: 1. Αν w = ε, τότε αποδέξου τη λέξη. 2. Προχώρησε δεξιά μέχρι να βρεις το πρώτο 1. Αν δεν βρεις κάποιο 1 προχώρησε στο Βήμα 5. Διαφορετικά, διάγραψε το 1 και επέστρεψε στην αρχή της ταινίας. 3. Προχώρησε δεξιά μέχρι να βρεις το πρώτο 0. Αν δεν βρεις κάποιο 0 απόρριψε τη λέξη. Διαφορετικά διάγραψε το 0. 4. Προχώρησε δεξιά μέχρι να βρεις το επόμενο 0. Αν δεν βρεις κάποιο 0 απόρριψε τη λέξη. Διαφορετικά διάγραψε το 0, επέστρεψε στην αρχή της ταινίας και επανάλαβε από το Βήμα 2. 5. Επέστρεψε στην αρχή της ταινίας. 6. Διάσχισε την ταινία. Αν βρεις κάποιο 0 απόρριψε διαφορετικά αποδέξου τη λέξη. Μετατρέπουμε την πιο πάνω περιγραφή σε μια τυπική περιγραφή ως εξής: Μ = ({q 1, q 2, q 3, q 4, q 5, q 6, q 7, q 8, q 8, q αποδοχή, q απόρριψη }, οι καταστάσεις {0,1}, το αλφάβητο εισόδου {0,1,,X}, το αλφάβητο ταινίας δ, συνάρτηση μεταβάσεων q 1, q αποδοχή, q απόρριψη ) η αρχική κατάσταση η κατάσταση αποδοχής η κατάσταση απόρριψης Φροντιστήριο 8 Λύσεις Εαρινό Εξάμηνο 2015 Σελίδα 2 από 5

όπου η συνάρτηση μεταβάσεων δίνεται στον πιο κάτω πίνακα. δ Σύμβολο ταινίας Κατάσταση 0 1 # Χ q 1 q 2,#,Δ q 3,#,Δ q rej,,δ q rej,,δ q acc,,δ q 2 q 2,0,Δ q 2,1,Δ q rej,,δ q rej,,δ q 4,0,Α q 3 q 3,0,Δ q 3,1,Δ q rej,,δ q rej,,δ q 4,1,Α q 4 q 4,0,Α q 4,1,Α q 5,#,Δ q 4,X,Α q 4,,Α q 5 q 6,0,Δ q 7,Χ,Α q rej,,δ q 5,X,Δ q acc,,δ q 6 q 6,0,Δ q 7,Χ,Α q rej,,δ q 6,X,Δ q rej,,δ q 7 q 7,0,Α q 7,1,Α q 8,#,Δ q 7,X,Α q 7,,Α q 8 q 9,Χ,Δ q 8,1,Δ q rej,,δ q 8,X,Δ q rej,,δ q 9 q 4,Χ,Α q 9,1,Δ q rej,,δ q 9,X,Δ q rej,,δ Επεξήγηση: Οι καταστάσεις q 1, q 2, και q 3 χρησιμοποιούνται για να γράψουν το σύμβολο # στην αρχή της ταινίας (δίνοντας μας έτσι τη δυνατότητα να την αναγνωρίζουμε) και να μεταφέρουν το στοιχείο που χάθηκε από την πρώτη θέση στο τέλος της ταινίας. Το μονοπάτι q 1, q 2, q 4 χρησιμοποιείται στην περίπτωση που το πρώτο σύμβολο της ταινίας είναι το 0 (στην περίπτωση αυτή γράφουμε 0 στο τέλος της ταινίας όπως διαφαίνεται στη μετάβαση (q 2, q 4 )), ενώ το μονοπάτι q 1, q 3, q 4 χρησιμοποιείται στην περίπτωση που το πρώτο σύμβολο της ταινίας είναι το 1. Στη συνέχεια έχουμε τα εξής: Κατάσταση q 4 : Γράψαμε # στην αρχή της ταινίας και μεταφέραμε το στοιχείο της θέσης αυτής στο τέλος της ταινίας. Θα επιστρέψουμε στην αρχή της ταινίας. Κατάσταση q 5 : Επιστρέψαμε στην αρχή της ταινίας και ψάχνουμε το πρώτο 1, προσπερνώντας όποια Χ συναντήσουμε. Αν φτάσουμε στο τέλος της ταινίας (σύμβολο ) χωρίς να εντοπίσουμε 0 ή 1 προχωρούμε στην κατάσταση αποδοχής. Κατάσταση q 6 : Έχουμε διαβάσει τουλάχιστον ένα 0 και ψάχνουμε ένα 1. Προσπερνούμε όποια Χ και 0 συναντήσουμε. Κατάσταση q 7 : Έχουμε βρει και διαγράψει ένα 1 και θα επιστρέψουμε στην αρχή της ταινίας. Κατάσταση q 8 : Επιστρέψαμε στην αρχή της ταινίας και ξεκινούμε μια διάσχιση για να βρούμε και να διαγράψουμε δύο 0. Κατάσταση q 9 : Έχουμε βρει και διαγράψει ένα 0 και συνεχίζουμε τη διάσχιση μέχρι να βρούμε και να διαγράψουμε ακόμη ένα 0. Ακολουθεί η μηχανή σχηματικά. Από αυτήν παραλείπονται όλες οι ακμές που οδηγούν στην κατάσταση απόρριψης. Φροντιστήριο 8 Λύσεις Εαρινό Εξάμηνο 2015 Σελίδα 3 από 5

0,x Α 1,0 Δ q 6 q 2 1,0,x Α x Δ 0 Δ 1 x, A 1, x Δ 1, x Δ # Δ q 1 q 4 q q # Δ 5 7 q 8 q 1 x, A 9 0 x, Δ q 3 1,0,x Α 1,0 Δ, Δ q acc, Δ 0 x, Α Ότι λείπει q rej Άσκηση 4 Μια μηχανή Turing αριστερής επαναφοράς είναι παρόμοια με μια συνήθη ΤΜ με τη διαφορά ότι η συνάρτηση μεταβάσεων έχει τη μορφή δ: Q Γ Q Γ {Δ,Ε} Αν δ(q,a) = (r,b,e), τότε, όποτε η ταινία βρίσκεται στην κατάσταση q και διαβάζει το σύμβολο a, μεταβαίνει στην κατάσταση r, γράφει στην ταινία το σύμβολο b και επαναφέρει την κεφαλή της στο αριστερότερο άκρο της ταινίας. Επομένως, η μηχανή μπορεί να μετακινήσει την κεφαλή της είτε μία θέση προς τα δεξιά είτε στην αρχή της ταινίας (και όχι μία θέση προς τα αριστερά). Να δείξετε ότι αυτή η παραλλαγή των ΤΜ είναι ισοδύναμη με το απλό μοντέλο. Η μία κατεύθυνση είναι εύκολη. Συγκεκριμένα, είναι εύκολο να δείξουμε ότι οι απλές μηχανές Turing μπορούν να προσομοιώσουν τις μηχανές Turing αριστερής επαναφοράς: Η ισοδύναμη απλή μηχανή θα πρέπει να ξεκινήσει σημαδεύοντας το σύμβολο στην πρώτη θέση της ταινίας και, στη συνέχεια, να αντικαταστήσει κάθε μετάβαση δ(q,a) = (r,b,e) με μια ακολουθία μεταβάσεων η οποία θα μετακινήσει την κεφαλή αριστερά μέχρι την πρώτη θέση (σεσημασμένο στοιχείο) αφήνοντας τα στοιχεία που διαβάζει ανέπαφα. Για την αντίθετη κατεύθυνση, ας υποθέσουμε ότι μας δίνεται μια απλή μηχανή Turing και θέλουμε να κατασκευάσουμε μια ισοδύναμη μηχανή Turing αριστερής επαναφοράς. Για να το πετύχουμε, θα πρέπει να εντοπίσουμε μια μέθοδο μέσω της οποίας να προσομοιώσουμε τη μετακίνηση μια θέση αριστερά από την Φροντιστήριο 8 Λύσεις Εαρινό Εξάμηνο 2015 Σελίδα 4 από 5

παρούσα χρησιμοποιώντας την αριστερή επαναφορά. Έχοντας στη διάθεσή μας μια τέτοια μέθοδο, θα πρέπει να αντικαταστήσουμε κάθε κίνηση Α της απλής μηχανής με τη συγκεκριμένη μέθοδο στη μηχανή αριστερής επαναφοράς. Η ζητούμενη μέθοδος υλοποιείται από τον πιο κάτω αλγόριθμο: Υπογραμμίζουμε την πρώτη θέση, έτσι ώστε να γνωρίζουμε που βρίσκεται η αρχή της ταινίας. Έστω ότι θέλουμε να μετακινήσουμε την κεφαλή της ταινίας μια θέση αριστερά από την παρούσα θέση: 1. Αν το στοιχείο είναι υπογραμμισμένο, τότε βρισκόμαστε στην αρχή της ταινίας και δεν χρειάζεται να κάνουμε τίποτα. 2. Διαφορετικά, τοποθετούμε το σύμβολο ^ πάνω από το στοιχείο της παρούσας θέσης. 3. Μετακινούμαστε στην αρχή της ταινίας (κίνηση αριστερής επαναφοράς Ε) και τοποθετούμε το σύμβολο * πάνω από αυτή. 4. Μετακινούμαστε στην αρχή της ταινίας και προχωρούμε μέχρι να βρούμε τη θέση με το *. 5. Προχωρούμε μια θέση δεξιά. 6. Αν η θέση στην οποία βρισκόμαστε είναι σεσημασμένη με ^, τότε η θέση που ψάχνουμε είναι η θέση με το *. 7. Διαφορετικά, αν η θέση στην οποία βρισκόμαστε δεν είναι σεσημασμένη τη σημαδεύουμε με *, επανερχόμαστε στην αρχή, προχωρούμε μέχρι να βρούμε το πρώτο στοιχείο με * και σβήνουμε το *. Επαναλαμβάνουμε από το βήμα 4. Η βασική ιδέα του αλγόριθμου είναι να σημαδέψει τη θέση από την οποία ξεκινούμε με ^ και στη συνέχεια, ξεκινώντας από την αρχή, να σημαδεύει μια μια θέσεις με *, πρώτα την πρώτη, μετά τη δεύτερη, και ούτω καθεξής, μέχρι η θέση που είναι σημαδεμένη με * να βρίσκεται μια θέση αριστερά από τη θέση που είναι σημαδεμένη με ^. Τότε, η θέση που ψάχνουμε είναι αυτή που έχει το *. Φροντιστήριο 8 Λύσεις Εαρινό Εξάμηνο 2015 Σελίδα 5 από 5