ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΡΡΠΊΠΎΠΌ ΡΡΠ±
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π²ΠΎ Π²ΡΠ΅ΠΌΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π». Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΎΡ Π¦ΠΠ£ ΠΊ ΠΠΠ£ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π²Π΅ΡΠ½ΡΠΌ Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π½Π° Π¦ΠΠ£ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° ΠΠΠ£. Π Π΅ΡΠ°Π΅ΡΡΡ ΡΡΠ° Π·Π°Π΄Π°ΡΠ°… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΡΡΠΊΠΎΠΌ ΡΡΠ± (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΡΡΠΊΠΎΠΌ ΡΡΠ±, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Π² 2002 Π³ΠΎΠ΄Ρ, — ΡΡΠΎΡ Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΊΠΎΡΡΠΊΠ° ΡΡΠ±. Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ°Π»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ, Ρ ΡΠΎΡΡΠΎΠΌ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠΈΠΉ, Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠ»ΠΎΠ½Π½ΠΎ ΡΠ°ΡΡΡΡ.
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΠΈΡΡ Π² ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»Π΅Π½Π½ΡΠ΅, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄Π΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Ρ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎΠΉ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΡΠ½ΠΎΡΡΡΡ ΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ. Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ, ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ ΠΈ ΡΡΠ΅Π½ΡΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π»ΠΈΡΡ ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π±ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ CUDA (Compute Unified Device Architecture), ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠ°Ρ NVIDIA.
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½Π΅ΠΈΠ·Π²Π΅Π΄Π°Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΡΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΡΡΠΊΠΎΠΌ ΡΡΠ± Π½Π° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π² CUDA.
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ
1.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π² CUDA
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡΠ°Π»ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ (ΠΠΠ£), ΠΊΠΎΡΠΎΡΡΠ΅, Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΌΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΈ Π±ΡΡΡΡΡΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ, Π±ΡΠ»ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π΄Π»Ρ ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ, Π½Π°ΡΠΈΠ½Π°Ρ ΡΠΈΠ·ΠΈΠΊΠΎΠΉ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΡΠΈΠ½Π°Π½ΡΠ°ΠΌΠΈ.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠΈΠ»ΠΈΡ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΠΠ£, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° CUDA ΡΠ°ΠΊ ΠΈ ΠΎΡΡΠ°Π²Π°Π»ΠΎΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΡΡΠ΄ΠΎΠ·Π°ΡΡΠ°ΡΠ½ΡΠΌ. ΠΠ»Ρ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° ΠΠΠ£, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ NVIDIA ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»Π° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π½Π°Π·ΡΠ²Π°ΡΡΡΡΡΡ CUDA. CUDA ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ Π² ΠΠΠ£.
CUDA ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ Π½Π°ΠΏΡΡΠΌΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΠΠ£, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ. Π£ CUDA Π΅ΡΡΡ 3 Π³Π»Π°Π²Π½ΡΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ: ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ Π³ΡΡΠΏΠΏ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡΡ ΠΈ Π±Π°ΡΡΠ΅ΡΡ Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ NVIDIA. ΠΡΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π·Π°Π΄Π°ΡΡ Π½Π° ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅ΡΠ΅Π½Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠ° Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π±ΠΈΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ΅ΡΠ°Π΅ΠΌΡΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΠΈΠ· Π±Π»ΠΎΠΊΠ°.
ΠΠ»Π°Π²Π½ΡΠΌ ΡΠ·ΠΊΠΈΠΌ ΠΌΠ΅ΡΡΠΎΠΌ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ CUDA ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Ρ ΠΎΡΡΠΎΠΌ (Π¦ΠΠ£) ΠΈ ΠΠΠ£. ΠΡΠ±Π°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΎΡ Π¦ΠΠ£ ΠΊ ΠΠΠ£ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΠ°ΡΠ°ΡΡΡΡ ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈΠ· Π¦ΠΠ£ Π½Π° ΠΠΠ£. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π΅Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΈΠ»ΠΈ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ, Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΠΠ£ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±ΡΡΡΡΠ΅Π΅, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ .
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° CUDA ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΠΠ£, ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π·Π½ΠΈΡΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ, Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π±Π»ΠΎΠΊ ΠΏΠΎΡΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠ°ΠΌΡΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π²ΡΠ΅ΠΌ ΠΏΠΎΡΠΎΠΊΠ°ΠΌ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ°. Π’Π°ΠΊΠΆΠ΅ Π²ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ΅ ΡΡΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ: ΡΠ°ΠΌΠΎΠΉ Π±ΡΡΡΡΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ, Π° ΡΠ°ΠΌΠΎΠΉ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ; Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π²ΠΌΠ΅ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π±ΡΠ΄Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ, Π° Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ±ΡΡΠΌΠΎΠΌ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΠ°ΠΌΡΡΡ.
ΠΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΌ Π°ΡΠΏΠ΅ΠΊΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±Π°ΡΡΠ΅ΡΠΎΠ² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ³ΠΎ ΡΡΡΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊ ΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° Π²ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ ΠΈΠ· Π±Π»ΠΎΠΊΠ° Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ Π±Π°ΡΡΠ΅Ρ. ΠΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΠΠΠ£, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡ ΡΠ΄ΡΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
2. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ CUDA
ΠΠ°ΡΠ΅ΠΉ ΡΠ΅Π»ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π½Π° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ .
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ
ΠΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ:
1) Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ½Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ ΠΊΠ°ΠΊ f (X), Π»Π΅ΠΆΠ°Ρ Π² ΠΎΠ±Π»Π°ΡΡΠΈ [-r; r];
2) ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ Π·Π°Π΄Π°ΡΠΈ D;
3) ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠΈΠΈ N.
Π’ΠΎΠ³Π΄Π° ΠΎΠ±ΡΡΠ²ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅:
Β· X: ΠΌΠ°ΡΡΠΈΠ² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΡΡΠ±ΠΊΠΈ
Β· Π₯Π : ΠΌΠ°ΡΡΠΈΠ² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ Π΄ΠΎΠ±ΡΡΠΈ ΡΡΠ±ΠΎΠΊ
Β· XS: ΠΌΠ°ΡΡΠΈΠ² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΡΠΎΡ ΡΡΠ±ΠΎΠΊ
Β· XF: ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΡΡΠ±ΠΊΠΈ
Β· DIST: ΠΌΠ°ΡΡΠΈΠ² ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ, ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½Π½ΡΡ ΡΡΠ±ΠΊΠΎΠΉ
Β· TESTF: ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΡΠ½Π΅ΡΡ-ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ±ΠΊΠΈ.
Π Π°Π·ΠΌΠ΅Ρ X, XP, XS ΠΈ XF ΡΠ°Π²Π½Ρ; ΡΠ°Π·ΠΌΠ΅Ρ DIST ΡΠ°Π²Π΅Π½; ΡΠ°Π·ΠΌΠ΅Ρ TESTF ΡΠ°Π²Π΅Π½ ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ X, XP, XS, XF ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΡΡ Ρ N ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ D ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ.
ΠΠ°ΠΆΠ½Π΅ΠΉΡΠΈΠΌ ΡΠ°ΠΊΡΠΎΡΠΎΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΌ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΄ΡΠ°, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±Π»ΠΎΠΊΠ° ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ΅ΡΠΊΠΈ. Π£ΠΌΠ΅ΡΡΠ½ΡΠΌ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡ ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ:
Β· Block1 = (BS, BS, 1)
Β· Grid1 = (WIDTH/BS + 1, HEIGHT/BS + 1,1)
Β· Grid2 =(N/BS + 1, N/BS + 1,1)
ΠΠ΄Π΅ΡΡ BS ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, WIDTH ΠΈ HEIGHT ΡΠΈΡΠ»ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠ² Grid1 Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ x ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ y ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π‘ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ymin, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ½Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ Π²Π²Π΅Π΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ iterNum, ΡΠ»ΡΠΆΠ°ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΡΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ .
3. ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π»
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π²ΠΎ Π²ΡΠ΅ΠΌΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π». Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΎΡ Π¦ΠΠ£ ΠΊ ΠΠΠ£ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π²Π΅ΡΠ½ΡΠΌ Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π½Π° Π¦ΠΠ£ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° ΠΠΠ£. Π Π΅ΡΠ°Π΅ΡΡΡ ΡΡΠ° Π·Π°Π΄Π°ΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: M ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ Π½Π° Π¦ΠΠ£ Π΄ΠΎ Π·Π°ΠΏΡΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π½Π° ΠΠΠ£, Π° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² RAND, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΄ΡΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° RAND, ΠΏΠ΅ΡΠ΅Π΄Π°Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ [0; M-N] - ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ Π½Π° Ρ ΠΎΡΡΠ΅.
4. Π‘ΡΡΡΠΊΡΡΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΠΠΠ£
Π‘ΡΡΡΠΊΡΡΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΠΠΠ£ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ 1. ΠΠΎΠ΄ΠΏΡΠΎΡΠ΅ΡΡΡ Π² ΡΠΈΠΊΠ»Π΅ for ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ 7 ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ΄ΡΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ 1:
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΡΡΠ± ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΎΡ Π¦ΠΠ£ ΠΊ ΠΠΠ£
Ymin
For iter to iterNum
Do Π Π°ΡΡΡΠΈΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ½Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΠ΅Ρ ΡΡΠ±: TESTF
ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ: Ymin
Π Π°ΡΡΡΠΈΡΠ°ΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ±Π°ΠΌΠΈ: DIST
ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ±Ρ: Π₯ ΠΠ΅ΡΠ΅Π΄Π°ΡΡ Ymin ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Π¦ΠΠ£ ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ
A. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ΄Π΅Ρ
Π Π°ΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΈΡΠ½Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΠ΅Ρ ΡΡΠ±
ΠΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±Π»ΠΎΠΊΠ° ΡΠ°Π²Π½ΡΠΌΠΈ grid1 ΠΈ block1 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ΄ΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ N ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠΈΡΠ½Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΡΠ±Ρ.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°:
1) ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΈΡΠ½Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡ: i
2) ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊ X[i] ΠΈ Ρ ΡΠ°Π½ΠΈΠΌ ΠΏΠΎΡΡΠΈΡΠ°Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ½Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² TESTF[i].
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΡΠΊΠΈ ΠΈ Π±Π»ΠΎΠΊΠ° ΡΠ°Π²Π½ΡΠΌ 1, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΄ΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ 1 ΠΏΠΎΡΠΎΠΊ. ΠΡΠΎ ΡΠ΄ΡΠΎ ΡΠΊΠ°Π½ΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² TESTF[i] ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΠ½Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Ymin
Π Π°ΡΡΠ΅Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ±Π°ΠΌΠΈ
Π Π°Π·ΠΌΠ΅Ρ ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ grid2 ΠΈ block1 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π‘ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΠ΄ΡΠ° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΡ ΡΡΠ±ΠΎΠΊ ΠΈ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. ΠΠ»Ρ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΡ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΌΡ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°Π΅ΠΌ X ΠΊ ΡΠ΅ΠΊΡΡΡΡΠ΅ Π΄Π»Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² X ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΡΡΡ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ.
ΠΡΠΈΠ²Π΅Π΄ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ:
1) ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ, Π΄Π»Ρ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ°ΡΡ ΡΡΠ± Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡΠΈ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅: (i1, i2)
2) If i1? N or i2? N or i2i1 then return
Π Π°ΡΡΡΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΡΠ±Π°ΠΌΠΈ (i1, i2)
3) Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΠΌΠ°ΡΡΠΈΠ² DIST: DIST[i1] [i2] ΠΈ DIST[i2] [i1] ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ±ΡΡΠΈ
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π΄ΠΎΠ±ΡΡΠΈ, ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ±Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΈ, Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ, Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π», ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ»ΡΠΆΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° RAND, Ρ ΡΠ°Π½ΡΡΠ΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΠΠ£.
ΠΡΠΈΠ²Π΅Π΄ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π΄ΠΎΠ±ΡΡΠΈ:
1) ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ, Π΄Π»Ρ ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ±Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ½ ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ±ΡΡΠΈ: i
2)
3) For to tryNum
Do PREY (pr2t-1, pr2t, XP, i)
If preySuccess=false
Then XP[i]X[i] + RAND [r+i]
ΠΡΠΎΡΠ΅ΡΡ ΠΈΠ½ΡΡΠΈΠ½ΠΊΡΠΈΠ²Π½ΠΎ-ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ
ΠΡΠΈΠ²Π΅Π΄ΡΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ-ΠΈΠ½ΡΡΠΈΠ½ΠΊΡΠΈΠ²Π½ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅. Xc ΠΈ nf Π·Π΄Π΅ΡΡ Π²Π»ΡΡΡΡΡ ΡΠ΅Π½ΡΡΠΎΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΠΏΡΡΠ½ΠΈΠΊΠΎΠ² ΡΡΠ±Ρ ΠΈ ΡΠΈΡΠ»ΠΎΠΌ ΡΠΏΡΡΠ½ΠΈΠΊΠΎΠ² ΡΡΠ±Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Xc-X[i]
ΠΠ»Π³ΠΎΡΠΈΡΠΌ:
1) ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ±ΡΡΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ: i
2)
3) If i? N
Then return
Π Π°ΡΡΡΠΈΡΡΠ²Π°Π΅ΠΌ. Xc ΠΈ nf
If ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ ΠΈΠ½ΡΡΠΈΠ½ΠΊΡΠΈΠ²Π½ΠΎ-ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ
Then
If
Then ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ±ΡΡΠΈ
ΠΡΠΎΡΠ΅ΡΡ ΠΈΠ½ΡΡΠΈΠ½ΠΊΡΠΈΠ²Π½ΠΎ-Π²ΠΎΠ»Π΅Π²ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ½ΡΡΠΈΠ½ΠΊΡΠΈΠ²Π½ΠΎ-Π²ΠΎΠ»Π΅Π²ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ΄Π΅ΡΡ Xmin ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΡΠ± Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΠ½Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, Π° Fmin — ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΈΡΠ½Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΡΠΎΠ½ΠΎΠ² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ±Ρ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ:
1) ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ±ΡΡΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
2)
3) If i? N
Then return
4) ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΡΠΎΠ½Π° ΡΡΠ±Ρ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΠ½Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ
5) Π Π°ΡΡΡΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠΈΡΠ»ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΡΠΎΠ½ΠΎΠ² ΡΡΠ±Ρ nf
If nf≠ 0 and Fmin < TESTF[i] and nf/N < Π΄
Then
If then Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ±ΡΡΠΈ
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ Π²ΡΠ΅Ρ ΡΡΠ±
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±Π»ΠΎΠΊΠ° ΡΠ°Π²Π½ΡΠΌ grid1 ΠΈ block1 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΄ΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ N ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ±Ρ. ΠΡΠΈΠ²Π΅Π΄ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ:
1) ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ, ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ±Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ: i
2) ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠΈΡΠ½Π΅ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ XP[i] ΠΈ Ρ ΡΠ°Π½ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ pF[i]
3) ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠΈΡΠ½Π΅ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ XS[i] ΠΈ Ρ ΡΠ°Π½ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ sF[i]
4) ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠΈΡΠ½Π΅ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ XF[i] ΠΈ Ρ ΡΠ°Π½ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ fF[i]
5) Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π»ΡΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠ· ΡΡΡΡ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ X[i]
5. ΠΡΠ΅Π½ΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΡΠ»ΠΈ Π·Π°ΠΏΡΡΠ΅Π½Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ: Intel® Core™ 2 Duo CPU E7500 2.93 ΠΠ³Ρ, Ρ 4.0 ΠΠ RAM. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ — NVIDIA GTX 260. Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΎ Π½Π° ΡΠ΅ΡΡΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ (ΡΠΌ. ΡΠ°Π±Π»ΠΈΡΡ 1)
Π’Π°Π±Π»ΠΈΡΠ° 1. Π’Π΅ΡΡΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ | Π£ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ | ΠΠ±Π»Π°ΡΡΡ ΠΏΠΎΠΈΡΠΊΠ° | |
Π‘ΡΠ΅ΡΠ° | |||
Π Π°ΡΡΡΠΈΠ³ΠΈΠ½Π° | |||
ΠΡΠΈΠ²ΠΎΠ½ΠΊΠ° | |||
Π ΠΎΠ·Π΅Π½Π±ΡΠΎΠΊΠ° | |||
ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠΈΠΈ
ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠΈΠΈ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ D=50 Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ², Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ iterNum ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ ΡΠ°Π²Π½ΡΠΌ 100. Π¨Π°Π³ ΠΈ Π΄ ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ 3.5 ΠΈ 0.618 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π½ΠΈΠΆΠ΅, ΡΠΌ. ΡΠ°Π±Π»ΠΈΡΡ 2,3,4,5.
Π’Π°Π±Π»ΠΈΡΠ° 2. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅ΡΡ
N | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π¦ΠΠ£ | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΠΠ£ | Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° Π¦ΠΠ£ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΠΠ£ | |
140.042 | 5.810 | 24.103 | 1.28Π΅-005 | 1.16Π΅-005 | ||
254.140 | 8.754 | 29.031 | 4.23Π΅-006 | 3.37Π΅-006 | ||
358.110 | 12.778 | 28.025 | 1.95Π΅-006 | 1.77Π΅-006 | ||
561.158 | 17.431 | 32.192 | 2.27Π΅-007 | 2.39Π΅-007 | ||
Π’Π°Π±Π»ΠΈΡΠ° 3. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π Π°ΡΡΡΠΈΠ³ΠΈΠ½Π°
N | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π¦ΠΠ£ | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΠΠ£ | Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° Π¦ΠΠ£ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΠΠ£ | |
147.859 | 5.881 | 25.140 | 1.69e-001 | 1.80e-001 | ||
237.621 | 8.822 | 26.933 | 1.22e-001 | 1.12e-001 | ||
382.117 | 12.854 | 29.728 | 6.35e-002 | 5.85e-002 | ||
515.869 | 17.498 | 29.481 | 2.45e-002 | 2.45e-002 | ||
Π’Π°Π±Π»ΠΈΡΠ° 4. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΡΠΈΠ½Π²ΠΎΠ½ΠΊΠ°
N | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π¦ΠΠ£ | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΠΠ£ | Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° Π¦ΠΠ£ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΠΠ£ | |
154.799 | 5.886 | 26.301 | 1.79e-007 | 1.19e-007 | ||
249.339 | 8.823 | 28.260 | 2.55e-010 | 2.59e-010 | ||
387.780 | 12.831 | 30.218 | 2.61e-010 | |||
555.247 | 17.460 | 31.801 | ||||
Π’Π°Π±Π»ΠΈΡΠ° 5. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π ΠΎΠ·Π΅Π½Π±ΡΠΎΠΊΠ°
N | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π¦ΠΠ£ | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΠΠ£ | Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° Π¦ΠΠ£ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΠΠ£ | |
134.151 | 5.872 | 4.844 | 1.63e-003 | 1.78 e -003 | ||
248.331 | 8.811 | 28.183 | 1.31e-003 | 1.28 e -003 | ||
367.370 | 12.834 | 28.623 | 2.05e-004 | 1.98 e -004 | ||
523.468 | 17.487 | 29.934 | 2.27e-005 | 3.71 e -005 | ||
ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°
ΠΡΠΎΠ²Π΅Π΄Π΅ΠΌ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ Π³ΡΡΠΏΠΏΡ ΡΠ΅ΡΡΠΎΠ², Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠΈΠΈ (N=1000). Π¨Π°Π³ ΠΈ Π΄ ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ 3.5 ΠΈ 0.618 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½ΠΈΠΆΠ΅, ΡΠΌ. ΡΠ°Π±Π»ΠΈΡΡ 6,7,8,9.
Π’Π°Π±Π»ΠΈΡΠ° 6. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅ΡΡ
D | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π¦ΠΠ£ | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΠΠ£ | Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° Π¦ΠΠ£ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΠΠ£ | |
25.282 | 1.852 | 13.650 | 1.00e-003 | 3.04 e-003 | ||
40.018 | 2.463 | 16.248 | 1.40 e-005 | 4.95 e-005 | ||
51.108 | 2.978 | 17.161 | 9.25 e-006 | 9.97 e-006 | ||
59.856 | 3.536 | 16.927 | 2.67 e-004 | 2.28 e-004 | ||
Π’Π°Π±Π»ΠΈΡΠ° 7. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π Π°ΡΡΡΠΈΠ³ΠΈΠ½Π°
D | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π¦ΠΠ£ | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΠΠ£ | Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° Π¦ΠΠ£ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΠΠ£ | |
24.978 | 1.878 | 13.297 | 8.93 e-003 | 5.67 e-003 | ||
40.664 | 2.497 | 16.281 | 1.54 e-002 | 4.72 e-002 | ||
52.182 | 3.030 | 17.218 | 2.18 e-002 | 1.82 e-002 | ||
66.542 | 3.613 | 18.413 | 2.85 e-001 | 3.14 e-001 | ||
Π’Π°Π±Π»ΠΈΡΠ° 8. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΡΠΈΠ½Π²ΠΎΠ½ΠΊΠ°
D | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π¦ΠΠ£ | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΠΠ£ | Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° Π¦ΠΠ£ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΠΠ£ | |
27.405 | 1.892 | 14.480 | 3.26 e-004 | 3.65 e-004 | ||
43.653 | 2.514 | 17.361 | 1.78 e-007 | 1.54 e-007 | ||
55.574 | 3.046 | 18.242 | 2.38 e-006 | |||
66.044 | 3.630 | 18.188 | 6.20 e-006 | 1.79 e-006 | ||
Π’Π°Π±Π»ΠΈΡΠ° 8. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π ΠΎΠ·Π΅Π½Π±ΡΠΎΠΊΠ°
D | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π¦ΠΠ£ | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΠΠ£ | Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° Π¦ΠΠ£ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΠΠ£ | |
27.405 | 1.892 | 14.480 | 3.26 e-004 | 3.65 e-004 | ||
43.653 | 2.514 | 17.361 | 1.78 e-007 | 1.54 e-007 | ||
55.574 | 3.046 | 18.242 | 2.38 e-006 | |||
66.044 | 3.630 | 18.188 | 6.20 e-006 | 1.79 e-006 | ||
ΠΠ½Π°Π»ΠΈΠ· ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
ΠΠ· ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ:
Β· ΠΠ»Π³ΠΎΡΠΈΡΠΌ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π¦ΠΠ£, ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠΠ£, Π΄Π°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π°ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π° ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Π°.
Β· ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π½Π° ΠΠΠ£ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Π½Π° Π¦ΠΠ£. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ΅ Π»ΡΡΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±ΡΠ»Π° ΠΎΡΠΌΠ΅ΡΠ΅Π½Π° ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅ΡΡ: ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΠ»ΠΎ Π΄ΠΎ ΠΎΡΠΌΠ΅ΡΠΊΠΈ Π² 32 ΡΠ°Π·Π°. ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ΅ Π»ΡΡΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±ΡΠ»Π° ΠΎΡΠΌΠ΅ΡΠ΅Π½Π° ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π Π°ΡΡΡΠΈΠ³ΠΈΠ½Π°: ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΠΈΠ³Π»ΠΎ ΠΎΡΠΌΠ΅ΡΠΊΠΈ Π² 18.4.
ΠΠ°ΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² Π½Π°ΡΠ΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄ΡΡ Π²ΡΡΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°, Π² ΡΠΈΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ±Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΠΠ£ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»ΠΈ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π±Π»ΠΎΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΡΡΠΊΠΎΠΌ ΡΡΠ± Π½Π° ΠΠΠ£ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ CUDA. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π° Π² ΠΏΠ»Π°Π½ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΎΠ½Π°Ρ Π½Π° Π¦ΠΠ£. ΠΠ°Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡΠ°, Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π½Π°Π»ΠΈΡΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠΈΠΈ.
1. Yifan Hu, Baozhong Yu, Jianliang Ma, Tianzhou Chen, Parallel Fish Swarm Algorithm Based on GPU-Acceleration // College of Computer Science and Technology, Zhejiang University, Hangzhou, P.R. China, Intelligent Systems and Applications (ISA), 2011
2. Anthony J.C.C. Lins, Carmelo J.A. Bastos-Filho, Debora N.O. Nascimento, Marcos A.C. Oliveira Junior and Fernando B. de Lima-Neto, Analysis of the Performance of the Fish School Search Algorithm Running in Graphic Processing Units // Polytechnic School of Pernambuco, University of Pernambuco, Brazil, Theory and New Applications of Swarm Intelligence, 2012, pp. 18−31.