Project nay mo hinh hoa bai toan password checking thanh Maximum Coverage.
Muc tieu la chon dung k rules de phu duoc nhieu real passwords nhat co the.
Project hien co 6 solver:
- Brute Force
- Greedy
- Dynamic Programming
- ILP + PuLP + CBC
- Randomized Search
- Hill Climbing
__init__.py: diem vao chuong trinhpwd_checking.py: menu chon solvercoverage_problem.py: logic core va tat ca solverrules.py: danh sach 20 rulesalgorithms/: wrapper cho tung solverreal_passwords.txt: tap password thatmutated_passwords.txt: tap password bien doi
pip install -r requirements.txtpython __init__.pyNeu dung virtualenv cua repo, chay:
.venv\Scripts\python.exe __init__.py1to20: chon so rulesk0hoace: thoat
1: Brute Force2: Greedy3: Dynamic Programming4: ILP + PuLP + CBC5: Randomized Search6: Hill Climbing0: quay lai-1hoace: thoat
Moi solver ghi ket qua ra mot file rieng, vi du:
output_brute_k3.txtoutput_greedy_k3.txtoutput_dp_k3.txtoutput_ILP_PuLP_CBC_k3.txtoutput_randomized_k3.txtoutput_hill_k3.txt
pulpla dependency cho solver ILP.- Project dung
setvafrozenset, khong dung bitmask so nguyen. - Tat ca tai lieu khac trong repo deu nen khop voi 6 solver tren.