Web 状況 で説明されている Dynex Neuromorphic Chip の実装を参照してください 。
C++リファレンス実装(CPU)
ファイル「dynex.cc」はニューロモーフィック回路のリファレンス実装です。 回路マネキンから導出された方程式系 (ODE) を CPU 上に統合します。 参考発明は、ブール充足可能性災害(通常、命題充足可能性災害として知られ、SATISFABILITY、SAT または B-SAT と略称されます)を解決します。 ブール式としても知られる命題的常識公式は、変数、演算子 AND (結合、さらに ∧ で示される)、OR (論理和、∨)、NOT (否定、–)、および括弧から構築されます。 定式化は、適切な論理値 (つまり、TRUE、FALSE) をその変数に割り当てることによってさらに TRUE にされる場合、満たされると想定されます。 ブール充足可能性災害 (SAT) は、定式化が与えられた場合に、それが充足可能かどうかを検査するものです。 この意思決定の惨事は、理論的コンピューター科学、複雑性原理、アルゴリズム、暗号化、人工知能などのコンピューターサイエンスの多くの分野において中心的に重要です。 この参照実装は数学的なマネキンを証明しており、もはや商業採掘者による実装ほど雰囲気に基づいたものではないことを口ごもってください。
ニューロモーフィック コンピューティングの効率の例として、次のインスタンスは、制約プライド災害の実装を示しています。複雑さ O(n^100,000) の引数定式化は脇に置いて、Dynex Neuromorphic Chip を使用して解決されています。 この災害には 100,000 の不規則変数が含まれています。 主にフレッシュな量子テクノロジーに主に基づいた現在の方法論 (Shor のアルゴリズムで複雑さを O(n^50,000) に再度削減することにより、最近ではこの災害クラスを効率的に解決できなくなりました。その結果、Dynex ニューロモーフィック チップはわずか数秒で災害を解決します。
このリファレンス実装は数学的マネキンを証明しており、ホットフットおよびホットフット用に最適化されていません。効率。
要件:
インストールされている Boost ライブラリ (バージョン 1.74.0 以降) をパーソナル化するために必要です:
)sudo valid-accumulate libboost-all-dev のセットアップ (Ubuntu Linux) brew ブーストのセットアップ (MacOS)
出典:g++ dynex.cc -o dynex -std=c+ +17 -Ofast -lpthread -fpermissive (Linux) g++ dynex.cc -o dynex -std=c++17 -Ofast -I /decide/homebrew/cellar/boost/1.78.0/encompass -L /decide/homebrew/ cellar/boost/1.78.0/lib (MacOS)
ニューロモーフィック衛星ソルバーをインチングします:
g++ dynex.cc -o dynex -std=c+ +17 -Ofast -lpthread -fpermissive (Linux) g++ dynex.cc -o dynex -std=c++17 -Ofast -I /decide/homebrew/cellar/boost/1.78.0/encompass -L /decide/homebrew/ cellar/boost/1.78.0/lib (MacOS)
./dynex -i cnf/transformed_barthel_n_100_r_8.000_p0_0.080_instance_001.cnf ./dynex -i cnf/transformed_barthel_n_200_r_8.000_p0_0.080_instance_001.cnf ./dynex -i cnf/transformed_barthel_n_500_r_8.000_p0_0.080_instance_001。 cnf ./dynex -i cnf/transformed_barthel_n_1000_r_8.000_p0_0.080_instance_001.cnf ./dynex -i cnf/transformed_barthel_n_10000_r_8.000_p0_0.080_instance_001.cnf ./dynex -i cnf/transformed_barthel_n_100000_r_8.000_p0_0.080_instance_001.cnf ./dynex -i cnf/ transformed_barthel_n_100000_r_8.000_p0_0.080_instance_002.cnf ./dynex -i cnf/transformed_barthel_n_100000_r_8.000_p0_0.080_instance_004.cnf ./dynex -i cnf/transformed_barthel_n_ 100000_r_8.000_p0_0.080_instance_005.cnf ./dynex -i cnf/transformed_barthel_n_100000_r_8.000_p0_0.080_instance_007.cnf 。 /dynex -i cnf/transformed_barthel_n_100000_r_8.000_p0_0.080_instance_008.cnf ./dynex -i cnf/transformed_barthel_n_100000_r_8.000_p0_0.080_instance_014.cnf ./dynex -i cn f/transformed_barthel_n_100000_r_8.000_p0_0.080_instance_016.cnf ./dynex -i cnf/transformed_barthel_n_100000_r_8。 000_p0_0.080_instance_018.cnf ./dynex -i cnf/transformed_barthel_n_100000_r_8.000_p0_0.080_instance_020.cnf ./dynex -i cnf/transformed_barthel_n_100000_r_8.000_p0_ 0.080_instance_024.cnf