background image

23 

 

Κεφάλαιο 2  

 

Θεωρητικό Υπόβαθρο 

 

Σε αυτό το κεφάλαιο θα παρατεθούν μερικοί από τους όρους που χρησιμοποιούνται 

στην  εργασία,  καθώς  και  ορισμένα  προβλήματα  και  αλγόριθμοι.  Με  αυτόν  τον  τρόπο,  θα 

τεθούν οι βάσεις για την καλύτερη κατανόηση και την απρόσκοπτη ροή. 

2.1 Αυτοματοποιημένος Επιλυτής 

Στον  προγραμματιστικό  κόσμο,  οι  επιλυτές  αποτελούν  μία  εφαρμογή  η  οποία 

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

προβλημάτων. Δέχονται μία αρχική κατάσταση ή ένα σύνολο δεδομένων εισόδου που τηρούν 

ορισμένους  κανόνες,  οι  οποίοι  διαμορφώνονται  κατά  την  αναγνώριση  του  τύπου  του 

προβλήματος.  Ως  Αυτοματοποιημένος  Επιλυτής  για  την  παρούσα  εργασία  ορίζεται  ο 

αλγόριθμος ο οποίος, με τον κατάλληλο προγραμματισμό, μπορεί να επιβεβαιώσει τον τύπο 

αυτό  για  να  επιλέξει  τη  σωστή  στρατηγική  επίλυσης  και  να  συγκροτήσει  την  απαιτούμενη 

είσοδο χωρίς παρέμβαση από το χρήστη. 

 

2.2 Ναρκαλιευτής

  

 

 Η  παρτίδα  ξεκινάει  και  το  ταμπλό  καλύπτεται  από  ένα  πλέγμα  m×n  διαστάσεων  με 

κλειστά μπλοκ [Εικόνα 2.1α]. Κάνοντας την πρώτη κίνηση, ο παίκτης αποκαλύπτει το πρώτο 

μπλοκ της επιλογής του και βρίσκεται αντιμέτωπος με μία κατάσταση του ταμπλό όπως στην 

Εικόνα  2.1β.  Τα  νούμερα  που  περιέχουν  ορισμένα  ανοικτά  μπλοκ  συμβολίζουν  ότι  στα 

γειτονικά κελιά κρύβεται αντίστοιχος αριθμός ναρκών και έχουν εύρος από ένα έως και οκτώ. 

Σε  κάθε  κίνηση,  ο  παίκτης  πρέπει  να  λάβει  υπόψη  του  κάθε  αριθμό  που  γειτονεύει  με  ένα 

μπλοκ  προτού  αποφασίσει  ότι  το  εκάστοτε  μπλοκ  είναι  ασφαλές,  ειδάλλως  μπορεί  να 

αποκαλύψει νάρκη φέρνοντας το πρώιμο τέλος του παιχνιδιού όπως στην Εικόνα 2.1γ. Καλή 

πρακτική είναι η σήμανση των ναρκών ώστε να αποφεύγονται λάθη, αλλά δεν απαιτείται για 

την  ολοκλήρωση  μίας  παρτίδας.  Ο  παίκτης  κερδίζει  όταν  όλα  τα  μπλοκ  που  δεν  περιέχουν 

νάρκη έχουν αποκαλυφθεί, όπως στην Εικόνα 2.1δ.