ソフトウェア士官学校ジャングル開発ログ-完全探索


フルナビゲーション(ブルトポス)


コンピュータの高速計算を使用して、可能な限りの数をリストします.
答えを探す方法で、高校数学シミュレーション試験の主観問題で、
すべてを探し出して、問題を自分の実力で解決したと言える.
これはブルートフォス攻撃,鍵伝授調査,無差別対入攻撃などとも呼ばれる.
主に暗号学やアルゴリズムの分野に用いられる.

かんぜんナビゲーションぎじゅつ


これは主に完全なナビゲーション方法を用いるための技術である.
  • 単純Bluetooth
  • シーケンス、組合せ
  • 再帰関数
  • BFS/DFS
  • ビットマスク(バイナリ表現を用いる)
  • 並べ替えと組合せ


    シーケンス(シーケンス式:npr=n!/(n-r)!)
    n個の要素を用いてr個の配列として並べ替える
    シーケンスには順序があるので、要素の種類が同じでも、
    順番が違うと違う配列になります.
    組み合わせ(組み合わせ式:nCr=nPr/r!)
    n個の要素をr個の配列として表し、順序を考慮しない
    組み合わせは無秩序であり,元素の種類が同じであれば同じ配列として表される.
    Pythonでディスプレイスメント、コンビネーションを使用
    from itertools import permutations, combination
    a = [1,2,3]
    # 순열
    permute = permutations(a,2)
    print(list(permute)) # [(1,2),(1,3),(2,1),(2,3),(3,1),(3,2)] - 6가지
    
    # 조합
    combi = combinations(a,2)
    print(list(combi)) # [(1,2),(1,3),(2,3)] - 3가지