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

Σχετικά έγγραφα
Σειρά Προβλημάτων 1 Λύσεις

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

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

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

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

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

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

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

Ασκήσεις Επανάληψης Λύσεις

Ασκήσεις Επανάληψης Λύσεις

Ασκήσεις Επανάληψης Λύσεις

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

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

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

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

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

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

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

Σειρά Προβλημάτων 4 Ημερομηνία Παράδοσης: 13/11/13

CTL - Λογική Δένδρου Υπολογισμού

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

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

Αυτοματοποιημένη Επαλήθευση

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

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

Γραμμική και διακλαδωμένη χρονική λογική

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

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

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

CTL - Λογική Δένδρου Υπολογισμού (ΗR Κεφάλαιο 3.4)

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

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

ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΣΤΗ CTL/LTL

Πολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις.

Ασκήσεις μελέτης της 8 ης διάλεξης

Δώστε έναν επαγωγικό ορισμό για το παραπάνω σύνολο παραστάσεων.

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

Ανάλυση της Ορθότητας Προγραμμάτων

Ανάλυση της Ορθότητας Προγραμμάτων

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

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

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

Απειροστικός Λογισμός Ι, χειμερινό εξάμηνο Λύσεις έκτου φυλλαδίου ασκήσεων.

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

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

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

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

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

Εντοπισμός τερματισμού. Κατανεμημένα Συστήματα 1

Στοιχεία προτασιακής λογικής

for for for for( . */

Άλγεβρες ιεργασιών και Τροπικές Λογικές

Κατανεμημένα Συστήματα Ι

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

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

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

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

Σειρά Προβλημάτων 3 Ημερομηνία Παράδοσης: 04/04/16

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

Θέματα στη Μοντελοποίηση Συστημάτων

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

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

Κατανεμημένα Συστήματα Ι

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

ΚΕΦΑΛΑΙΟ 4 Η ΑΡΧΗ ΕΓΚΛΕΙΣΜΟΥ ΑΠΟΚΛΕΙΣΜΟΥ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

Ηλεκτρονικοί Υπολογιστές

Προγραμματισμός PASCAL

Γιώργος Καριπίδης-Ανθούλα Σοφιανοπούλου ΜΑΘΗΜΑΤΙΚΑ Γ ΛΥΚΕΙΟΥ ΚΑΤΕΥΘΥΝΣΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΣΤΑ ΟΡΙΑ ΣΥΝΑΡΤΗΣΗΣ

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

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

Διάλεξη 9: Αλγόριθμοι Αμοιβαίου Αποκλεισμού με τη χρήση μεταβλητών Ανάγνωσης/Εγγραφής. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 7: ΣΥΝΕΠΕΙΕΣ ΘΕΩΡΗΜΑΤΟΣ ΜΕΣΗΣ ΤΙΜΗΣ

Διακριτά Μαθηματικά Ι

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

Α Ρ Ι Θ Μ Ο Σ : 6.913

m + s + q r + n + q p + s + n, P Q R P Q P R Q R F G

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Δομές Δεδομένων Ενότητα 2

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

IMPLICIT NONE INTEGER :: a, b, c

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

5o Επαναληπτικό Διαγώνισμα 2016

Μορφοποίηση της εξόδου

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. 2x 1. είναι Τότε έχουμε: » τον χρησιμοποιούμε κυρίως σε θεωρητικές ασκήσεις.

CTL Έλεγχος Μοντέλου (ΗR Κεφάλαιο 3.5 και 3.6.1)

Κεφάλαιο 5ο: Εντολές Επανάληψης

Πώς να λύσετε τον κύβο του Rubik

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

Να εξετάσετε αν είναι συναρτήσεις πυκνότητας πιθανότητας, κι αν είναι να υπολογίσετε τη συνάρτηση κατανομής πιθανότητας F x (x).

ιαφάνειες παρουσίασης #3

Transcript:

Άσκηση 1 Σειρά Προβλημάτων 1 Λύσεις (α) Χρησιμοποιούμε τις επιπλέον μεταβλητές PC 0, PC 1, (program counters) οι οποίες παίρνουν ως τιμές ονόματα των γραμμών του κώδικα όπως φαίνεται πιο κάτω. P[0] P[1] while true do{ A 1 atomic{ if (fork[i] = false then fork[i] = true; goto line 2 A 2 atomic{ if (fork[(i+1)mod n] = false then fork[(i+1)mod n] = true; goto line 6 A 3 //eat; A 4 fork[i] = false; A 5 fork[(i+1)mod n] = false; while true do{ B 1 atomic{ if (fork[i] = false then fork[i] = true; goto line 2 B 2 atomic{ if (fork[(i+1)mod n] = false then fork[(i+1)mod n] = true; goto line 6 B 3 //eat; B 4 fork[i] = false; B 5 fork[(i+1)mod n] = false; Ο γράφος μεταβάσεων δίνεται από την πλειάδα (V, S, T, p) όπου V = {PC 0, PC 1, fork[2], S = σύνολο όλων των δυνατών αναθέσεων τιμών στις πιο πάνω μεταβλητές Τ = { T 1 : PC 0=A 1 fork[0] = false (PC 0, fork[0]) := (A 2, true), T 2 : PC 0=A 1 fork[0] = true PC 0 := A 1, T 3 : PC 0=A 2 fork[1] = false (PC 0, fork[1]) := (A 3, true), T 4 : PC 0=A 2 fork[0] = true (PC 0) := A 2, T 5 : PC 0=A 3 PC 0 := A 4, T 6 : PC 0=A 4 (PC 0, fork[0]) := (A 5, false), T 7 : PC 1=A 5 (PC 0, fork[1]) := (A 1, false), T 8 : PC 1=B 1 fork[1] = false (PC 1, fork[1]) := (B 2, true), T 9 : PC 1=B 1 fork[1] = true PC 1 := B 1, T 10 : PC 1=B 2 fork[0] = false (PC 1, fork[0]) := (B 3, true), T 11 : PC 1=B 2 fork[1] = true PC 1 := B 2, T 12 : PC 1=B 3 PC 1 := A 4, T 13 : PC 1=B 4 (PC 1, fork[1]) := (B 5, false), T 14 : PC 1=B 5 (PC 1, fork[0]) := (B 1, false), Λύσεις Σειράς Προβλημάτων 1 Εαρινό Εξάμηνο 2017 Σελίδα 1

και p PC 0=A 1 PC 1=B 1 fork[0] = false fork[1] = false (β) Tο σύστημα μεταβάσεων αποτελείται από τετράδες (Α,Β,t,x,) που αναφέρονται στις τιμές των μεταβλητών (PC 0, PC 1, fork[0] και fork[1]) που ισχύουν στην κάθε κατάσταση, βάζοντας 1 για true και 0 και για false. Ακολουθεί το σχετικό σχεδιάγραμμα. A 1,0,0 A 2,1,0 A 1,B 2,0,1 A 3 A 2,B 2 A 1,B 3 A 4 A 1,B 4 A 5,0,1 A 1,B 5,1,0 (γ) Από τη μελέτη του γράφου μεταβάσεων στο μέρος (β) οδηγούμαστε στο συμπέρασμα ότι οι διεργασίες μπορούν να οδηγηθούν σε κατάσταση όπου καμιά δεν μπορεί να προχωρήσει, άρα κανένας φιλόσοφος δεν μπορεί να φάει. Αυτό μπορεί να συμβεί, για παράδειγμα, μετά από την ακολουθία μεταβάσεων: Τ 1, Τ 8 όπου οδηγούμαστε στην κατάσταση με το πράσινο χρώμα Άσκηση 2 (α) Χρησιμοποιούμε τις επιπλέον μεταβλητές PC 1, PC 2, (program counters) οι οποίες παίρνουν ως τιμές ονόματα των γραμμών του κώδικα όπως φαίνεται πιο κάτω. Θεωρήστε τις δύο πιο κάτω παράλληλες διεργασίες: P 1 P 2 A 0: if lock = 0 then lock:= 1; B 0: if lock = 0 then lock:= 1; A 1: x := 1; B 1: x := 2; A 2: if lock = 1 then lock:= 0; B 2: if lock = 1 then lock:= 0; A 3: B 3: Ο γράφος μεταβάσεων δίνεται από την πλειάδα (V, S, T, p) όπου V = {PC 1, PC 2, lock, x Λύσεις Σειράς Προβλημάτων 1 Εαρινό Εξάμηνο 2017 Σελίδα 2

S = σύνολο όλων των δυνατών αναθέσεων τιμών στις πιο πάνω μεταβλητές Τ = { T 1 : PC 1=A 0 lock = 0 (PC 1, lock) := (A 1, 1), T 2 : PC 1=A 0 lock!= 0 PC 1 := A 1, T 3 : PC 1=A 1 (PC 1, x) := (A 2, 1), T 4 : PC 1=A 2 lock = 1 (PC 1, lock) := (A 3, 0), T 5 : PC 1=A 2 lock!= 1 PC 1 := A 3, T 6 : PC 2=B 0 lock = 0 (PC 2, lock) := (B 1, 1), T 7 : PC 2=B 0 lock!= 0 PC 2 := B 1, T 8 : PC 2=B 1 (PC 2, x) := (B 2, 2), T 9 : PC 2=B 2 lock = 1 (PC 2, lock) := (B 3, 0), T 10 : PC 2=B 2 lock!= 1 PC 2 := B 3, p PC 1=A 0 PC 2=B 0 lock = 0 x = 0 Tο σύστημα μεταβάσεων αποτελείται από τετράδες (Α,Β,l,x,) που αναφέρονται στις τιμές των μεταβλητών (PC 1, PC 2, lock και x) που ισχύουν στην κάθε κατάσταση. Ακολουθεί το σχετικό σχεδιάγραμμα. A 0,B 0,0,0 A 1,B 0,1,0 A 0,1,0 A 2,B 0 A 1,1,0 A 0,B 2,1,2 A 3,B 0,0,1 A 2 A 1,B 2,1,2 A 0,B 3,0,2 A 3 A 3,0,1 A 2,B 2,1,2 A 2,B 2 A 1,B 3,0,2 A 1,B 3,1,2 A 3,B 2,1,2 A 3,B 2,0,2 A 2,B 3,0,2 A 3,B 2,0,1 A 2,B 3,0,1 A 2,B 3 A 3,B 3,0,2 A 3,B 3,0,1 Λύσεις Σειράς Προβλημάτων 1 Εαρινό Εξάμηνο 2017 Σελίδα 3

(β) i. Η διεργασία 1 τελικά θα φτάσει στη γραμμή 3: Παρατηρούμε ότι σε κάθε εκτέλεση του συστήματος, η ιδιότητα ικανοποιείται αφού είναι δυνατή η μετάβαση στις καταστάσεις με πορτοκαλί χρώμα. ii. Εάν το lock είναι ίσο με 1 τότε κάποτε θα γίνει ίσο με 0: Η ιδιότητα ικανοποιείται αφού οι καταστάσεις που φαίνονται με πορτοκαλί χρώμα έχουν το lock ίσο με 0. Όλες οι καταστάσεις μετά από ένα αριθμό μεταβάσεων καταλήγουν σε μια από αυτές τις δύο καταστάσεις. iii. Όταν η διεργασία 1 φτάσει στη γραμμή 2, στο επόμενο βήμα θα πάει στη γραμμή 3: Η ιδιότητα δεν ικανοποιείται, αφού υπάρχει μετάβαση (γαλάζιες καταστάσεις) όπου η διεργασία 1 είναι στη γραμμή 2 αλλά στο επόμενο βήμα παρεμβάλλεται η διεργασία 2. iv. Σε κάθε εκτέλεση στο μέλλον και οι δύο διεργασίες βρίσκονται στη δική τους πρώτη γραμμή ταυτόχρονα: Η ιδιότητα δεν ικανοποιείται αφού υπάρχουν εκτελέσεις κατά τις οποίες οι δύο διεργασίες δεν θα βρεθούν ταυτόχρονα στην πρώτη τους γραμμή. v. Εάν η διεργασία 1 φτάσει στην γραμμή 3 τότε θα μείνει για πάντα στην γραμμή 3: Η ιδιότητα ικανοποιείται αφού από τον πιο πάνω γράφο παρατηρούμε σε κάθε κατάσταση στην οποία pc1 = 3, δεν έχει μετάβαση όπου οδηγεί σε κατάσταση όπου pc1!= 3 Άσκηση 3 (α) H ατομική πρόταση active ικανοποιείται απείρως συχνά. G F active Η πρόταση ικανοποιείται από την αρχική κατάσταση της δομής αφού κάθε μονοπάτι θα πρέπει να περάσει απείρως συχνά από τουλάχιστον την κατάσταση 1. (β) (γ) (δ) (ε) (ζ) H ατομική πρόταση entry ικανοποιείται απείρως συχνά. G F entry Η πρόταση δεν ικανοποιείται από την αρχική κατάσταση της δομής. Για παράδειγμα, το μονοπάτι 0123123123123 είναι τέτοιο ώστε η πρόταση entry να ικανοποιείται μόνο από την αρχική κατάσταση. Είναι πάντα δυνατή η ικανοποίηση της ατομικής πρότασης entry. Η πρόταση δεν μπορεί να διατυπωθεί στην LTL Κάθε αίτημα ακολουθείται από μια ανταπόκριση. G (request F response) Η πρόταση ικανοποιείται από την αρχική κατάσταση της δομής αφού σε κάθε μονοπάτι η κατάσταση 2 (ύπαρξη αιτήματος) ακολουθείται από την κατάσταση 3 (ύπαρξη ανταπόκρισης). Αν από κάποια στιγμή και μετά δεν υπάρξει καινούργιο request, τότε θα ικανοποιηθεί απείρως συχνά η ατομική πρόταση entry. FG request GF entry Η πρόταση ικανοποιείται από την αρχική κατάσταση της δομής αφού στα μονοπάτια στα οποίa ικανοποιείται η πρόταση FG request (δηλαδή τα μονοπάτια που οδηγούνται στον κύκλο 010101...) ικαοποιείται απείρως συχνά η ατομική πρόταση entry. Η ατομική πρόταση response ικανοποιείται μόνο εφόσον έχει προηγηθεί ικανοποίηση της ατομικής πρότασης request. Λύσεις Σειράς Προβλημάτων 1 Εαρινό Εξάμηνο 2017 Σελίδα 4

G response G( response U request) Η πρόταση ικανοποιείται από την αρχική κατάσταση της δομής αφού σε κάθε μονοπάτι η κατάσταση 3 (ύπαρξη ανταπόκρισης) ακολουθεί την κατάσταση 2 (ύπαρξη αιτήματος). Άσκηση 4 i. Χ (a F a) F a Έστω δομή Μ με αρχική κατάσταση s και μονοπάτι w που ξεκινά από την s. Έχουμε ότι: ω Χ (a F a) αν και μόνο αν ω 1 a F a αν και μόνο αν ω 1 a ή ω 1 F a αν και μόνο αν ω 1 a ή j 0, τ.ω. (ω 1 ) j a αν και μόνο αν ω 1 a ή j 1, τ.ω. ω j a αν και μόνο αν j 1, τ.ω. ω j a τότε Μ, s F a ii. Από την πιο πάνω απόδειξη παρατηρούμε ότι το αντίστροφο δεν θα ισχύει εάν το a αληθεύει στην αρχική κατάσταση και δεν το βρίσκουμε στη συνέχεια. Αντιπαράδειγμα: a b iii. GF p FG q FG (F p q) iv. Έστω δομή Μ με αρχική κατάσταση s και μονοπάτι w που ξεκινά από την s. Έχουμε ότι: Αν w GF p FG q αν και μόνο αν ω GF p και ω FG q αν και μόνο αν (1) i 0, j 0, τέτοιο ώστε (ω i ) j p και (2) k 0, τέτοιο ώστε, m 0 (ω k ) m q αν και μόνο αν (1) i 0, j i, τέτοιο ώστε ω j p και (2) k 0, τέτοιο ώστε, m k ω m q τότε k 0, τέτοιο ώστε, m k, ω m q τότε k 0, τ.ω. m k, ω m F p q αν και μόνο αν k 0, τ.ω. m 0, (ω k ) m F p q αν και μόνο αν w FG (F p q) v. GF p FG q FG (F p q) Αντιπαράδειγμα όπου ισχύει το αριστερό μέλος (GF p FG q ) αλλά όχι το δεξί FG (F p q). { q Λύσεις Σειράς Προβλημάτων 1 Εαρινό Εξάμηνο 2017 Σελίδα 5

Άσκηση 5 (i) (ii) Γράφουμε φ α για την πρόταση που εκφράζει ασθενή δικαιοσύνη σε σχέση με την ενέργεια a: φ a = FG enabled_a GF executed_a Τότε η ζητούμενη ιδιότητα είναι η φ a φ Γράφουμε ψ α για την πρόταση που εκφράζει ισχυρή δικαιοσύνη σε σχέση με την ενέργεια a: ψ a = GF enabled_a GF executed_a Τότε η ζητούμενη ιδιότητα είναι η ψ a φ Λύσεις Σειράς Προβλημάτων 1 Εαρινό Εξάμηνο 2017 Σελίδα 6