Home Η Φυσική στο Δίκτυο
Η Ελληνική πύλη στο χώρο της Φυσικής

Εκδόσεις Κάτοπτρο Επιστημονικά Βιβλία Εκδόσεις Κάτοπτρο

Ενας Ναρκαλιευτής στο PC σας

Από τους μαθητές του 3ου Λ.Αθηνών Κυριακόπουλο Μανώλη και Κατσούλια Δημήτρη
14-Μαρτίου-2001

1η εικόνα ναρκαλιευτή Τα μαθηματικά προβλήματα που απασχολούν την ανθρωπότητα δεν είναι λίγα.Ο τετραγωνισμός του κύκλου,το πρόβλημα της χρυσής τομής, η λύση ενός προβλήματος σε πολυωνυμικό χρόνο κ.τ.λ. είναι διάφορα από αυτά τα προβλήματα.Πρόσφατα διατυπώθηκε ένα πρόβλημα τέτοιου είδους. Δεν είναι λίγοι εκείνοι που 'στήνονται' με τις ώρες μπροστά από εναν υπολογιστή προκειμένου να τερματίσουν ένα παιχνίδι ή να περάσουν απλά μια πίστα.
Πόσο μάλλον όταν το παιχνίδι συνδέεται άρρηκτα με ένα τεράστιο μαθηματικό πρόβλημα. Πρόκειται για ένα πολύ γνωστό παιχνίδι που σπάνια λείπει από τα προγράμματα ενός υπολογιστή,το Ναρκαλιευτή.   (Eικόνα 1η)--->

Για να καταλάβουμε όμως τη μαθηματική φύση του παιχνιδιού, πρέπει πρώτα να κατανοήσουμε πώς αυτό λειτουργεί.
Καθώς ο υπολογιστής ξεκινά το παιχνίδι, στην οθόνη παρουσιάζεται ένα ΄΄σύμπλεγμα΄΄ τετραγώνων. Ο παίκτης έχει τη δυνατότητα να ΄΄ανοίγει΄΄ όποιο από τα τετράγωνα επιθυμεί. Κάτω από ορισμένα από αυτά όμως υπάρχουν νάρκες οι οποίες πυροδοτούνται όταν αποκαλύπτονται.

Κατά το άνοιγμα λοιπόν ενός τετραγώνου υπάρχουν δύο περιπτώσεις.
Να πυροδοτηθεί κάποια νάρκη    ή Να αποκαλυφθεί ένας αριθμός από το 1 έως το 5 (συνήθως).

Στην περίπτωση που θα αποκαλυφθεί μια νάρκη, το παιχνίδι ξεκινάει από την αρχή. Εάν όμως κάτω από το τετράγωνο ΄΄κρύβεται΄΄  ένας αριθμός (από αυτούς που αναφέρθηκαν ήδη), τα πράγματα εξελίσσονται διαφορετικά. Τι σημαίνει αυτό όμως;
Ο αριθμός που φανερώθηκε,αντιστοιχεί ουσιαστικα στον αριθμό των παρακείμενων τετραγώνων που περιέχουν νάρκες. Αξιοποιώντας λοιπόν κάποιοςαυτή την πληροφορία, μπορεί (θεωρητικά) να καταλάβει σε ποιο τετράγωνο υπάρχει νάρκη και να το τσεκάρει με μια κόκκινη σημαία.

2η εικόνα ναρκαλιευτή3η εικόνα ναρκαλιευτή

Στις εικόνες 2 και 3 παρουσιάζονται η εικόνα του παιχνιδιού (όπως φαίνεται στον υπολογιστή) και η τυπική διάταξή του ύστερα από μερικές κινήσεις,αντίστοιχα. <---(Εικόνα 2η) (εικόνα 3η)---------->

Για να δούμε όμως πώς συνδέεται ο Ναρκαλιευτής με ένα μαθηματικό πρόβλημα.
Το πρόβλημα είναι γνωστό ως πρόβλημα Ρ vs ΝΡ. Το ζητούμενο είναι μια διαδικασία που να μπορεί να ΄΄τρέξει΄΄ στον υπολογιστή και να δώσει λύση στο πρόβλημα. Πολύ σημαντικότερο όμως είναι ο αριθμός των υπολογισμών που απαιτούνται για να δοθεί μια πλήρης απάντηση.

Το παραπάνω είναι αυτό που χωρίζει τα προβλήματα τέτοιου είδους σε Ρ και μη-Ρ. Ένα πρόβλημα είναι Ρ όταν λύνεται με κάποιον αλγόριθμο που ο χρόνος λειτουργίας του δεν αυξάνεται γρηγορότερα από μια καθορισμένη δύναμη του αριθμού των συμβόλων των αρχικών δεδομένων. Στην αντίθετη πεπρίπτωση το πρόβλημα είναι μη-Ρ.

Η δυσκολία έγκειται στο ότι ο υπολογιστής μπορεί να διαχειρισθεί ένα πρόβλημα μόνο όταν αυτό είναι τύπου Ρ. Τα μη-Ρ προβλήματα, αντίθετα δεν μπορούν να αντιμετωπισθούν από έναν υπολογιστή γιατί θα χρειασθεί υπερβολικά μεγάλο χρονικό διάστημα για να δοθεί μια απάντηση.

Το βασικό είναι να αποδειχθεί σε ποιο είδος ανήκει ένα τέτοιο πρόβλημα. Εάν βρεθεί ένας αλγόριθμος που να λύνει το πρόβλημα σε πολυωνυμικό χρόνο, τότε αυτό είναι τύπου Ρ. Για παράδειγμα Ρ πρόβλημα είναι η κατάταξη των αριθμών από το μικρότερο στον μεγαλύτερο και αντίστροφα (ήδη επιτυγχάνεται από υπολογιστές που χειρίζονται βάσεις δεδομένων). Αντίθετα, ευρέως διαδεδομένα μη-Ρ προβλήματα (αν και κάτι τέτοιο δεν έχει αποδειχθεί), θεωρούνται η εύρεση της μικρότερης διαδρομής που πρέπει να ακολουθήσει ένας ταχυδρόμος για να περάσει από όλες τις πόλεις με κάποιο δρομολόγιο και η εύρεση των πρώτων διαιρεταίων ενός δεδομένου ακεραίου.

Γιατί όμως δεν είναι εύκολο να λυθεί ένα μη-Ρ πρόβλημα; Προφανώς γιατί για να λυθεί πρέπει να συλλογιστεί κανείς όλους τους πιθανούς αλγόριθμους, κάτι που είναι πολύ δύσκολο. Έως τώρα το μόνο που έχει αποδειχθεί είναι ότι ένα μεγάλο μέρος από μη-Ρ προβλήματα έχουν την ίδια βάση. Αν κάποιο λύνεται σε πολυωνυμικό χρόνο,τότε και όλα τ'άλλα μπορούν να λυθούν έτσι. Τέτοια προβλήματα ονομάζονται ΝΡ.

Τα ΝΡ διαφέρουν από τα μη-Ρ ως προς το γεγονός ότι κάποιος μπορεί να ελέγξει στα πρώτα αν μια προτεινόμενη λύση είναι σωστή σε πολυωνυμικό χρόνο. Σπουδαίο παράδειγμα ΝΡ προβλήματος είναι τα puzzle. Ο χρόνος ΄΄λύσης΄΄ ενός puzzle είναι τεράστιος όμως εάν κάποιος καταφέρει να το συναρμολογίσει, τότε εύκολα κάποιος άλλος μπορεί να ελέγξει εάν έχει συναρμολογηθεί σωστά. Αν η εύρεστη ενός πολυωνυμικού χρόνου λύσης για ένα ΝΡ πρόβλημα συνεπάγεται την λύση όλων των ΝΡ προβλημάτων, τότε το πρόβλημα αυτό ονομάζεται ΝΡ -πλήρες. 

Ας επιστρέψουμε όμως στον Ναρκαλιευτή. Το πρόβλημα ουσιαστικά δεν έγκειται στην ανακάλυψη των ναρκών αλλά στον έλεγχο της συνέπειας μίας δεδομένης θέσης.  Εάν, δηλαδή, συναντούσε κανείς τη διάταξη του σχήματος 3 θα νόμιζε ότι ο προγραμματιστής έχει κάνει λάθος αφού οι θέσεις των ναρκών δεν θα ήταν συνεπείς με τα νούμερα στα τετράγωνα. Το βασικό λοιπόν είναι ότι εάν λυθεί το πρόβλημα του Ναρκαλιευτή σε πολυωνυμικό χρόνο τότε θα έχουν λυθεί όλα τα ΝΡ προβλήματα αφού και ο Ναρκαλιευτής είναι ΝΡ-πλήρης.

Ωστόσο το πρόβλημα συνέπειας του Ναρκαλιευτή είναι πάρα πολύ δύσκολο. Λίγοι βέβαια είναι εκείνοι που πιστεύουν ότι υπάρχει λύση του παραπάνω προβλήματος, η οποία να ΄΄τρέχει΄΄ σε πολυωνυμικό χρόνο.

Hosted by www.Geocities.ws

1