本文介绍了什么算法/方法用于采用强制的方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在阅读making从给定角色的独特组合的上是这样,我想知道,这是该技术的方案中使用的蛮力的方法申请?我的意思是让92组合,打破了用户ID或密码。一个典型的Windows键盘上有一些92字符可以在密码中使用。

While reading making unique combinations from the given characters on SO , I was wondering if is this the technique the programs the use Brute-Force method apply ? I mean making 92 combinations to break a userID or a password. A typical windows keyboard has some 92 characters that can be used in a password.

我不问如何用这种方法来破解密码,而是想知道用什么方法做一些复杂的程序使用了的蛮力的方法?

I am not asking how to break a password by this method but wanted to know what method do some sophisticated programs use for a Brute-Force method ?

推荐答案

用简单的方式来解决使用蛮力的问题确实是一个简单的,其中探讨各种可能性,评估它们,并选择最好的。

The Naive way to solve problems using brute force is indeed a simple backtracking, which explore all possibilities, evaluates them, and chose the best.

不过,对于有些问题 - 你可能有更多的信息,那么它解决它或它不解决它。例如,对于 SAT 问题(如果发现一个布尔公式有一个解决方案) - 你可以得到知识究竟是如何弄来的矛盾(哪些变量不能得到满意的分配)。通常我们将这一问题作为约束传播史。它是根据适用于SAT的 DPLL 算法,这是经常使用(在变化)的SAT求解器。
如果你有兴趣 - 使用SAT求解现实生活中的程序是不同的,软件验证算法是使用SAT解算器,以证明的软件(或更常见的硬件)的工作,因为它应该。

However, for some problems - you might have more information then "It solves it" or "It doesn't solve it". For example, for the SAT problem (Finding if a boolean formula has a solution) - you can get knowledge on "how exactly did you get the contradiction" (Which variables could not be satisfied with the assignment). Usually we refer this issue as Constraint Propogation. It is applied for SAT under the DPLL algorithm which is often used (in variations) for SAT solvers.
If you are interested - real life programs that use SAT solvers are various, Software verification algorithms are one example that use SAT solvers in order to prove a software (or more commonly hardware) is working as it should.

另一种常见的优化是 分枝限界 - 这意味着,你可裁剪搜索树到达前叶。一个例子是旅行商问题。如果你已经发现了超过100个的路径,而你正在探索一个新的,并达到了101,没必要继续探索这种可能性。

Another common optimization is Branch and Bound - meaning, you can trim your "search tree" before you reach the leaves. An example will be for Traveling Salesman Problem. If you already found a path of length 100, and you are exploring a new one, and reached 101, no need to keep exploring this possibility.

这篇关于什么算法/方法用于采用强制的方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-26 23:29