Υλοποίηση και Πειραματική Σύγκριση Δύο Γενικών Αλγορίθμων Συνέπειας Τόξου (Arc Consistency)
Abstract
Το αντικείμενο αυτής της διπλωματικής εργασίας είναι η συνέπεια τόξου σε δυαδικά
προβλήματα ικανοποίησης περιορισμών με την χρήση των αλγορίθμων AC-3 και AC-4. Τα
προβλήματα ικανοποίησης περιορισμών είναι προβλήματα αναζήτησης με ιδιαίτερα
χαρακτηριστικά που τα διαφοροποιούν από τα τυπικά προβλήματα αναζήτησης. Ανήκουν σε
μια σημαντική υποκατηγορία της Τεχνητής Νοημοσύνης.
Ο στόχος της παρούσας διπλωματικής εργασίας είναι η υλοποίηση και έπειτα η
πειραματική σύγκριση δύο αλγορίθμων επίτευξης συνέπειας τόξου ,των AC-3 (Arc
Consistency 3 Alan Mackworth,1977) και AC-4 (Arc Consistency 4 Mohr & Henderson
,1986). Η υλοποίηση των δύο αυτών αλγορίθμων έγινε προγραμματιστικά ,με την χρήση της
γλώσσας προγραμματισμού Java. Η πειραματική σύγκριση έγινε με την βοήθεια κάποιων
δεδομένων προβλημάτων με περιορισμούς τα οποία χρησιμοποιήθηκαν ως δεδομένα εισόδου
για τους παραπάνω αλγορίθμους. Τα αποτελέσματα που παρήγαγε η χρήση αυτών
προβλημάτων σε συνδυασμό με τους αλγορίθμους είναι ικανά και αρκετά για να έχουμε μια
έγκυρη πειραματική σύγκριση.
Τα κύρια συμπεράσματα της εργασίας αφορούν την αποτελεσματικότητα, και την
αποδοτικότητα των αλγορίθμων. Η τελευταία θα αξιολογηθεί με κριτήρια την χωρική αλλά
και την χρονική πολυπλοκότητα.
Όσον αφορά λοιπόν την αποτελεσματικότητα των αλγορίθμων, τα αποτελέσματα τις
εργασίας επιβεβαιώνουν ότι και οι δύο αλγόριθμοι διαγράφουν ακριβώς τις ίδιες τιμές από τα
πεδία τιμών των μεταβλητών που συμμετέχουν στους περιορισμούς.
Όσον αφορά την αποδοτικότητα της χωρικής πολυπλοκότητας , με βάση τα
αποτελέσματα τις εκτέλεσης των αλγορίθμων μπορούμε να πούμε ότι ο αλγόριθμος AC-3
πετυχαίνει πάντα καλύτερα αποτελέσματα επιβεβαιώνοντας τον ισχυρισμό της χωρικής
ανάλυσης που θέλει τον αλγόριθμο AC-3 να έχει O(e) χωρική πολυπλοκότητα έναντι O(ed^2)
για τον AC-4.
Όσον αφορά την αποδοτικότητα της χρονικής πολυπλοκότητας , παρά το γεγονός ότι
με βάση την χρονική ανάλυση ο αλγόριθμος AC-3 έχει χρόνο χειρότερης εκτέλεσης O(ed^3)
ενώ ο AC-4 έχει O(ed^2) (όπου e o αριθμός των περιορισμών και d ο αριθμός των τιμών του μέγιστου πεδίου ορισμού), αποδείχθηκε ότι ο αλγόριθμος AC-3 καταναλώνει λιγότερο χρόνο
εκτέλεσης για τα προβλήματα που έχουν λίγες μεταβλητής και μικρό μέγιστο πεδίο ορισμού
σε σύγκριση με τον AC-4. Επίσης ο αλγόριθμος AC-3 πετυχαίνει καλύτερα αποτελέσματα
όταν χρησιμοποιείται σε προβλήματα που παρουσιάζουν εξ αρχής συνέπεια τόξου, ή είναι εξ
αρχής κοντά στην συνέπεια τόξου, οπότε και οι τελικές διαγραφές τιμών είναι λίγες. Ωστόσο
για τα προβλήματα με μεγάλο αριθμό μεταβλητών και μέγιστου πεδίου ορισμού που
βρίσκονται εξ αρχής μακριά από την συνέπεια τόξου, οπότε και ο αλγόριθμος AC-4
πραγματοποιεί πολλές διαγραφές τιμών, τα αποτελέσματα τις χρονικής ανάλυσης
επιβεβαιώνονται περίτρανα και γίνεται φανερό ότι ο αλγόριθμος AC-4 πετυχαίνει καλύτερα
χρονικά αποτελέσματα από τον AC-3.
The topic of this diploma thesis is achieving arc consistency in binary constraint
satisfaction problems by using the AC-3 and AC-4 algorithms. Constraint satisfaction
problems are search problems with particular characteristics ,which differentiate them from
typical search problems. They belong to an important subclass of Artificial Intelligence.
The purpose of this diploma thesis is to implement and then to experimentally compare
two arc consistency algorithms; AC-3, (Arc Consistency 3, credited to Alan Mackworth, 1977)
and AC-4 (Arc Consistency 4, credited to Mohr & Henderson ,1986). The implementation of
these algorithms was done using the Java programming language. The experimental
comparison was done using some constraint problems as data input to the algorithms named
above. The results produced by the use of these problems in combination with the algorithms
are capable and sufficient to achieve an accurate experimental comparison.
The main conclusions from this diploma thesis concern the effectiveness and the
efficiency of these algorithms. The latter will be evaluated using space and time complexity as
our main criteria.
Concerning the effectiveness of the algorithms, all execution results confirm that both
algorithms are capable of achieving the exact same local consistency by deleting the same
values from the domain of the variables which participate in the constraints.
Concerning space complexity efficiency ,based on the execution results, we can claim
that the AC-3 algorithm can achieve better results, confirming the assertion of space
complexity that AC-3 has a O(e) space complexity versus O(ed^2) for AC-4.
With respect to time complexity efficiency, despite the fact that time analysis gives to
AC-3 a time complexity of O(ed^3) whereas AC-4 has a time complexity of O(ed^2) (where
“e” stands for the number of constraints and “d” is the number of values that the biggest
domain has), it is proved that the AC-3 algorithm uses less time to execute when problems
with a small number of variables and a small maximum domain are given as input ,compared
to AC-4. Furthermore the AC-3 algorithm achieves better time results when it is used on
problems which are arc consistent or which are close to arc consistency from the beginning, thus only a few value deletions are finally made by the algorithm. Never the less, the results of
time complexity are to be soundly confirmed for problems with a large number of variables
and a large maximum domain, especially when these problems are from the beginning far
from arc consistency, thus the AC-4 algorithm will finally delete many values. In such cases it
becomes obvious that the AC-4 algorithm can achieve better time results than the AC-3
algorithm.