Tuman & Pointer
ΠΡ ΡΡΠΎ, Π’ΡΠΌΠ°Π½, Ρ ΡΡΡ ΠΊΠΎΠ²ΡΡΡΠ»ΡΡ Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ Π½Π° ΡΠ΅ΡΠΊΠ΅ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡΠΌΠΈ β ΠΊΠ°ΠΊ Π±Ρ, ΡΡΠ΅Π»Ρ-Π²Π΅ΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ΅ΠΉΠΊΡΡΡΡ. ΠΠ°ΠΊ ΡΡ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡΡ Π² ΠΌΠ΅ΡΡΠ°Ρ
, Π³Π΄Π΅ ΡΠ΅Π±Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ? ΠΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠΈΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π² ΡΠ΅ΡΠΊΡΡ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ?
ΠΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ "Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ" ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ Π·Π°ΡΡΠ°Ρ. ΠΠ°ΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΠΎΠ»Ρ Π±Π°Π·ΠΎΠ²ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΠΉ ΡΡΡΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°Π±Π»ΡΠ΄Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΡΠ²Π΅ΡΠ° ΠΌΠΎΠ³ΡΡ Π΅Π³ΠΎ Π²ΠΈΠ΄Π΅ΡΡ. ΠΡΠ»ΠΈ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ ΡΠΊΠΎΠ»ΡΠ·ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΊΠ°Π΄ΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°ΠΈΠ²Π°ΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΏΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ. ΠΡΡΡΡΡΠΉ ΡΡΡΠΊ β Π·Π°ΡΠ°Π½Π΅Π΅ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΊΠ°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ β ΠΏΡΠΎΡΡΠΎ Π±ΠΈΡΠΎΠ²Π°Ρ ΠΌΠ°ΡΠΊΠ°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ°Ρ, ΠΊΠ°ΠΊΠΈΠ΅ Π½Π°Π±Π»ΡΠ΄Π°ΡΠ΅Π»ΠΈ Π΅Π³ΠΎ Π²ΠΈΠ΄ΡΡ. ΠΠ°ΡΠ΅ΠΌ, ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ, ΡΠ΅Π±Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅Ρ
ΠΏΠΎΠ»Π΅ΠΉ, ΠΌΠ°ΡΠΊΠ° ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°Π΅Ρ Π΄Π²ΠΈΠΆΡΡΠ΅Π΅ΡΡ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠ΅.
ΠΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ A* Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ΅ΠΉΠΊΡΡΡΡ: ΡΠ²ΡΠΈΡΡΠΈΠΊΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎ ΡΠ΅Π»ΠΈ, Π½ΠΎ Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½Π° ΡΠΊΡΡΡΠ½ΠΎΡΡΡ, Π΄ΠΎΠ±Π°Π²Ρ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡ ΠΏΠΎΠΈΡΠΊ ΠΊ ΠΌΠ°ΡΡΡΡΡΠ°ΠΌ Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌ ΡΡΡΠ°ΡΠΎΠΌ. ΠΠ΅ΡΠΆΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ, ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Ρ ΡΠ·Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π» Ρ ΠΌΠ΅Π½ΡΡΠ΅ΠΉ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ.
ΠΡΠ»ΠΈ Ρ
ΠΎΡΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠ±Π΅ΡΠ½ΠΈ Π²ΡΡ ΡΡΠΎ Π² ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΡΠ΅ΡΠΊΡ, ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠΉ ΠΈ ΡΠ΅Π»Π΅Π²ΡΡ ΡΠΎΡΠΊΡ. ΠΠ½ΡΡΡΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΉ ΡΠ΅ΡΠΊΡ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ, Π·Π°ΠΏΡΡΡΠΈ ΠΏΠΎΠΈΡΠΊ A*, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΠΉ ΠΏΡΡΡ. ΠΠ»Π°Π²Π½ΠΎΠ΅ β Π΄Π΅Π»Π°ΠΉ ΡΠ΅ΡΠΊΡ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ Π΄Π΅ΡΠ΅Π²ΠΎΠΉ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈΠ·Π±Π΅Π³Π°ΠΉ ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ, ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΠ΅ ΠΏΠΎΠ»Ρ. ΠΡΠΎ ΠΈ Π΅ΡΡΡ "Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠ°Ρ" ΡΠ°ΡΡΡ β Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅, Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, Π±Π΅Π· Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ
ΠΏΠ΅ΡΠ΅ΡΡΠ΅ΡΠΎΠ².
ΠΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΈΡΠΌ Ρ Π±ΠΈΡΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π±Π»ΡΠ΄Π°ΡΠ΅Π»Ρ, ΡΡΠΎ Π½Π°ΠΌ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π’ΠΎΠ»ΡΠΊΠΎ ΡΠ±Π΅Π΄ΠΈΡΡ, ΡΡΠΎ Ρ
Π΅ΡΠΈΡΡΠ΅ΡΡ ΠΌΠ°ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ O(n). Π ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉ ΠΏΡΠΎ Π»Π΅Π½ΠΈΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°ΠΌΠΈ β ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΊΡΡΠ΅ΠΉ Π² O(log n), Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡ Π°Π³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎ ΠΎΠ±ΡΠ΅Π·Π°Π΅ΡΡ Π΄Π°Π½Π½ΡΠ΅. ΠΠΎΠ»ΡΡΠΈΡΡΡ ΡΠΈΡΡΡΠΉ ΠΈ ΠΌΠ°Π»ΠΎΠ·Π°Π΄Π΅ΡΠΆΠ΅ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ.