Βίντεο: Αστυνομικός απέδειξε πως η βία δεν είναι λύση: Αφόπλισε άνδρα με μία αγκαλιά! 2024
Μια λύση βίαιης δύναμης είναι μια λύση στην οποία δοκιμάζετε κάθε πιθανή απάντηση σε μια στιγμή, για να εντοπίσετε την καλύτερη δυνατή απάντηση. Είναι λεπτομερές, αυτό είναι πολύ σίγουρο, αλλά και σπατάλη χρόνου και πόρων στις περισσότερες περιπτώσεις. Η δοκιμή κάθε απάντησης, ακόμη και όταν είναι εύκολο να αποδειχθεί ότι μια συγκεκριμένη απάντηση δεν έχει καμία πιθανότητα επιτυχίας, χάνει χρόνο που ένας αλγόριθμος μπορεί να χρησιμοποιήσει σε απαντήσεις που έχουν περισσότερες πιθανότητες επιτυχίας.
Επιπλέον, η δοκιμή των διαφόρων απαντήσεων χρησιμοποιώντας αυτήν την προσέγγιση γενικά σπαταλά τους πόρους, όπως η μνήμη. Σκεφτείτε με αυτό τον τρόπο: Θέλετε να σπάσετε τον συνδυασμό για κλειδαριά, έτσι ξεκινάτε από 0, 0, 0, αν και γνωρίζετε ότι αυτός ο συγκεκριμένος συνδυασμός δεν έχει καμία πιθανότητα επιτυχίας λαμβάνοντας υπόψη τα φυσικά χαρακτηριστικά των κλειδαριών συνδυασμού. Μια λύση brute-force θα συνεχιζόταν με τη δοκιμή 0, 0, 0 οπωσδήποτε και στη συνέχεια να προχωρήσουμε στο εξίσου γελοίο 0, 0, 1.
Είναι σημαντικό να καταλάβουμε ότι κάθε τύπος λύσης έρχεται με πλεονεκτήματα, μερικές φορές αρκετά μικρά. Μια λύση βίαιης δύναμης έχει ένα τέτοιο πλεονέκτημα. Επειδή δοκιμάζετε κάθε απάντηση ούτως ή άλλως, δεν χρειάζεται να εκτελέσετε κανένα είδος προεπεξεργασίας όταν εργάζεστε με μια λύση βίαιης δύναμης. Ωστόσο, ο χρόνος που εξοικονομείται για την παράκαμψη της προεπεξεργασίας, είναι απίθανο να επιστρέψει ποτέ το χρόνο που χάσατε προσπαθώντας να απαντήσω σε κάθε απάντηση. Ωστόσο, μπορεί να βρείτε την ευκαιρία να χρησιμοποιήσετε μια λύση brute-force όταν
- Η εξεύρεση λύσης, εάν υπάρχει, είναι απαραίτητη.
- Το μέγεθος του προβλήματος είναι περιορισμένο.
- Μπορείτε να χρησιμοποιήσετε heuristics για να μειώσετε το μέγεθος του σετ διαλύματος.
- Η απλότητα στην εφαρμογή είναι πιο σημαντική από την ταχύτητα.