ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Π»Π³ΠΎΡΠΈΡΠΌ A* / Habr
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠ³Ρ Π½Π°ΠΌ ΡΠ°ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΏΡΡΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π² Π΄ΡΡΠ³ΡΡ. ΠΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ΅ΠΌΠΈΠΌΡΡ Π½Π°ΠΉΡΠΈ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅, Π½Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΡΠ΅ΡΡΡ ΠΈ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ. ΠΠ΅ΡΠ΅Π΄Π²ΠΈΠ³Π°ΠΉΡΠ΅ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΡ (Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΡΠΊΡ) ΠΈ ΠΊΡΠ΅ΡΡΠΈΠΊ (ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠΊΡ), ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ. [ΠΡΠΈΠΌ. ΠΏΠ΅Ρ.: Π² ΡΡΠ°ΡΡΡΡ ΡΡΠΎΠ³ΠΎ Π°Π²ΡΠΎΡΠ° Π²ΡΠ΅Π³Π΄Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ Π²ΡΡΠ°Π²ΠΎΠΊ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΡ ΠΎΠ΄ΠΈΡΡ Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π» ΡΡΠ°ΡΡΠΈ.]ΠΠ»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠΎΠ³ΠΎ ΠΏΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ Π³ΡΠ°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ, Π΅ΡΠ»ΠΈ ΠΊΠ°ΡΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π³ΡΠ°Ρ. A* ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ Π³ΡΠ°ΡΡ. ΠΠΎΠΈΡΠΊ Π² ΡΠΈΡΠΈΠ½Ρ β ΡΡΠΎ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΠΈΠ· Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ Π³ΡΠ°ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½ΡΠΌ Ρ Π½Π΅Π³ΠΎ ΠΈ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΠΌ ΠΊ A*.
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΡΡΡ
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° β ΠΏΠΎΠ½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅. Π§ΡΠΎ ΠΏΠΎΠ΄Π°ΡΡΡΡ Π½Π° Π²Ρ ΠΎΠ΄? Π§ΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅?
ΠΡ ΠΎΠ΄: Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ Π³ΡΠ°ΡΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ A*, ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π³ΡΠ°Ρ. ΠΡΠ°Ρ β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠΎΡΠ΅ΠΊ (Β«ΡΠ·Π»ΠΎΠ²Β») ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ (Β«ΡΡΠ±Π΅ΡΒ») ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. ΠΠΎΡ Π³ΡΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π» A*:
A* Π½Π΅ Π²ΠΈΠ΄ΠΈΡ Π½ΠΈΡΠ΅Π³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΠ½ Π²ΠΈΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π³ΡΠ°Ρ. ΠΠ½ Π½Π΅ Π·Π½Π°Π΅Ρ, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈ ΡΡΠΎ-ΡΠΎ Π² ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π·Π° Π΅Π³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ, Π΄Π²Π΅ΡΡ ΡΡΠΎ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ½Π°ΡΠ°, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅Π»ΠΈΠΊΠ° ΠΎΠ±Π»Π°ΡΡΡ. ΠΠ½ Π²ΠΈΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π³ΡΠ°Ρ! ΠΠ½ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ°ΡΡΠΎΠΉ ΡΠ²Π΅ΡΡ Ρ ΠΈ Π²ΠΎΡ ΡΡΠΎΠΉ:
ΠΡΡ ΠΎΠ΄: ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ A* ΠΏΡΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ·Π»ΠΎΠ² ΠΈ ΡΡΠ±Π΅Ρ. Π ΡΠ±ΡΠ° β ΡΡΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅. A* ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Π½Π°ΠΌ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π² Π΄ΡΡΠ³ΡΡ, Π½ΠΎ Π½Π΅ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΎΠ½ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΎ ΠΊΠΎΠΌΠ½Π°ΡΠ°Ρ ΠΈΠ»ΠΈ Π΄Π²Π΅ΡΡΡ , ΠΎΠ½ Π²ΠΈΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π³ΡΠ°Ρ. ΠΡ ΡΠ°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅ΡΠΈΡΡ, ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅Π±ΡΠΎ Π³ΡΠ°ΡΠ°, Π²ΠΎΠ·Π²ΡΠ°ΡΡΠ½Π½ΠΎΠ΅ A* β ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Ρ ΡΠ°ΠΉΠ»Π° Π½Π° ΡΠ°ΠΉΠ», Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΠΏΡΡΠΌΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ, ΠΎΡΠΊΡΡΡΠΈΠ΅ΠΌ Π΄Π²Π΅ΡΠΈ, Π±Π΅Π³ΠΎΠΌ ΠΏΠΎ ΠΊΡΠΈΠ²ΠΎΠΌΡ ΠΏΡΡΠΈ.
ΠΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΡ: Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΡΡ Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π³ΡΠ°ΡΠ° ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ A*. ΠΠ°ΡΡΠ° Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π²ΡΡΠ΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π²Π΅ΡΠΈ Π² ΡΠ·Π»Ρ.
Π ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠΌ Π΄Π²Π΅ΡΠΈ Π² ΡΡΠ±ΡΠ°?
Π Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΡΠ΅ΡΠΊΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠΈ?
ΠΡΠ°Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΅ΠΌ ΠΆΠ΅, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π²Π°ΡΠ΅ΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΡΠ΅. Π ΠΊΠ°ΡΡΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΡΠ°Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠΈ Π±Π΅Π· ΡΠ΅ΡΠΎΠΊ, ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. A* Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±ΡΡΡΡΠ΅Π΅ Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ·Π»ΠΎΠ² Π³ΡΠ°ΡΠ°. Π‘ ΡΠ΅ΡΠΊΠ°ΠΌΠΈ ΡΠ°ΡΡΠΎ ΠΏΡΠΎΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½ΠΎ Π² Π½ΠΈΡ
ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ·Π»ΠΎΠ². Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ A*, Π° Π½Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½ Π³ΡΠ°ΡΠΎΠ². ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ Π³ΡΠ°ΡΠ°Ρ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π½Π° ΠΌΠΎΠ΅ΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅. ΠΠ»Ρ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠΉ Ρ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Ρ Π³ΡΠ°ΡΠ°ΠΌΠΈ. Π― ΡΠ°ΡΡΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
ΠΠΎΠΈΡΠΊ Π² ΡΠΈΡΠΈΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ Π²ΠΎ Π²ΡΠ΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΡ . ΠΡΠΎ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠΈ, Π½ΠΎ ΠΈ Π΄Π»Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΡ, ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠ°ΡΡ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ (ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΏΠΎΠΈΡΠΊΠΎΠΌ Ρ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΡΠ΅ΠΉ. ΠΠΌΠ΅ΡΡΠΎ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΡΡΠ΅ΠΉ ΠΎΠ½ ΠΎΡΠ΄Π°ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΡΡΠΌ Ρ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π°ΡΡ ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½ΡΠ΅ Π·Π°ΡΡΠ°ΡΡ, ΡΡΠΎΠ±Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π²ΠΈΠ³Π°Π»ΡΡ ΠΏΠΎ Π΄ΠΎΡΠΎΠ³Π°ΠΌ, ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π»Π΅ΡΠΎΠ² ΠΈ Π²ΡΠ°Π³ΠΎΠ², ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠΎΠ³Π΄Π° ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π½ΠΎΠΉ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Π³ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π² ΡΠΈΡΠΈΠ½Ρ.
A* β ΡΡΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ΅ΠΉΠΊΡΡΡΡ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π΄Π»Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΏΡΡΠΈ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠΎΡΠΊΠ°ΠΌ, A* Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΏΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΊΠ΅. ΠΠ½ ΠΎΡΠ΄Π°ΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΏΡΡΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅Π΄ΡΡ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΡΠ΅Π»ΠΈ.
Π― Π½Π°ΡΠ½Ρ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ β ΠΏΠΎΠΈΡΠΊΠ° Π² ΡΠΈΡΠΈΠ½Ρ, ΠΈ Π±ΡΠ΄Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Ρ Π΅Π³ΠΎ Π² A*.
ΠΠΎΠΈΡΠΊ Π² ΡΠΈΡΠΈΠ½Ρ
ΠΠ»ΡΡΠ΅Π²Π°Ρ ΠΈΠ΄Π΅Ρ Π²ΡΠ΅Ρ ΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎΡΡ ΠΊΠΎΠ»ΡΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ? ΠΠΎΠ²ΡΠΎΡΡΠ΅ΠΌ ΡΡΠΈ ΡΠ°Π³ΠΈ, ΠΏΠΎΠΊΠ° Π³ΡΠ°Π½ΠΈΡΠ° Π½Π΅ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΡΡΡΠΎΠΉ:
- ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΈ ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΡΠΎΡΠΊΡ ΠΈΠ· Π³ΡΠ°Π½ΠΈΡΡ.
- ΠΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ ΡΠΎΡΠΊΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅ΡΡΠ½Π½ΡΡ, ΡΡΠΎΠ±Ρ Π·Π½Π°ΡΡ, ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ.
- Π Π°ΡΡΠΈΡΡΠ΅ΠΌ Π³ΡΠ°Π½ΠΈΡΡ, Π³Π»ΡΠ΄Ρ Π½Π° Π΅Ρ ΡΠΎΡΠ΅Π΄Π΅ΠΉ. ΠΡΠ΅Ρ
ΡΠΎΡΠ΅Π΄Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΡ
ΠΌΡ Π΅ΡΡ Π½Π΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΊ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅. Π’Π°ΠΉΠ»Ρ Π½ΡΠΌΠ΅ΡΡΡΡΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈΡ ΠΏΠΎΡΠ΅ΡΠ΅Π½ΠΈΡ:
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π²ΡΠ΅Π³ΠΎ Π² Π΄Π΅ΡΡΡΠΈ ΡΡΡΠΎΠΊΠ°Ρ ΠΊΠΎΠ΄Π° Π½Π° Python:
frontier = Queue()
frontier.put(start )
visited = {}
visited[start] = True
while not frontier.empty():
current = frontier.get()
for next in graph.neighbors(current):
if next not in visited:
frontier.put(next)
visited[next] = True
Π ΡΡΠΎΠΌ ΡΠΈΠΊΠ»Π΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π²ΡΡ ΡΡΡΠ½ΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ Π³ΡΠ°ΡΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ A*. ΠΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½Π°ΠΉΡΠΈ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ? Π¦ΠΈΠΊΠ» Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΠ΅ΠΉ, ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ Π½Π°ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅ΡΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ Π½Π° ΠΊΠ°ΡΡΠ΅. Π’Π°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΠΎΠΈΡΠΊ Π² ΡΠΈΡΠΈΠ½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΈΡΠΊ ΠΏΡΡΠ΅ΠΉ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΠΈΠ³ΡΠ°Ρ tower defense, Π½ΠΎ Π΅Π³ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΡΠ°Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ, Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ Π·Π΄Π΅ΡΡ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠ΅ΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠΈΠΊΠ» ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ,
visited
Π² came_from
:frontier = Queue() frontier.put(start ) came_from = {} came_from[start] = None while not frontier.empty(): current = frontier.get() for next in graph.neighbors(current): if next not in came_from: frontier.put(next) came_from[next] = current
Π’Π΅ΠΏΠ΅ΡΡ came_from Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΌΠ΅ΡΡΠΎ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΡΠΈΡΠ»ΠΈ. ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° Β«Ρ Π»Π΅Π±Π½ΡΠ΅ ΠΊΡΠΎΡΠΊΠΈΒ» ΠΈΠ· ΡΠΊΠ°Π·ΠΊΠΈ. ΠΠ°ΠΌ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ Π²ΠΎΡΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π»ΠΎΠ³ΠΎ ΠΏΡΡΠΈ. ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠ΅Π»ΠΊΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΊ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ.
ΠΠΎΠ΄ Π²ΠΎΡΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΡΠ΅ΠΉ ΠΏΡΠΎΡΡ: ΡΠ»Π΅Π΄ΡΠ΅ΠΌ ΠΏΠΎ ΡΡΡΠ΅Π»ΠΊΠ°ΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΎΡ ΡΠ΅Π»ΠΈ ΠΊ Π½Π°ΡΠ°Π»Ρ. ΠΡΡΡ β ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΠ±Π΅Ρ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠ΅ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ·Π»Ρ:
current = goal path = [current] while current != start: current = came_from[current] path.append(current) path.append(start) # optional path.reverse() # optional
Π’Π°ΠΊΠΎΠ² ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠ΅ΠΉ. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΡΠΊΠ°Ρ , ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, Π½ΠΎ ΠΈ Π² Π»ΡΠ±ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅ Π³ΡΠ°ΡΠΎΠ². Π ΠΏΠΎΠ΄Π·Π΅ΠΌΠ΅Π»ΡΠ΅ ΡΠΎΡΠΊΠΈ Π³ΡΠ°ΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠΎΠΌΠ½Π°ΡΠ°ΠΌΠΈ, Π° ΡΡΠ±ΡΠ° β Π΄Π²Π΅ΡΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. Π ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ΡΠ΅ ΡΠ·Π»Ρ Π³ΡΠ°ΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»ΠΎΠΊΠ°ΡΠΈΡΠΌΠΈ, Π° ΡΡΠ±ΡΠ° β Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ: ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡΡΡ Π²Π»Π΅Π²ΠΎ, Π²ΠΏΡΠ°Π²ΠΎ, ΠΏΠΎΠ΄ΠΏΡΡΠ³Π½ΡΡΡ, ΡΠΏΡΡΠ³Π½ΡΡΡ Π²Π½ΠΈΠ·. Π ΡΠ΅Π»ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π³ΡΠ°Ρ ΠΊΠ°ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠ°ΡΡ Ρ Π½Π°ΠΏΠΈΡΠ°Π» Π·Π΄Π΅ΡΡ. Π ΠΎΡΡΠ°Π²ΡΠ΅ΠΉΡΡ ΡΠ°ΡΡΠΈ ΡΡΠ°ΡΡΠΈ Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΡΠ΅ΡΠΊΠ°ΠΌΠΈ, ΠΈ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠΎΠΌ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π² ΡΠΈΡΠΈΠ½Ρ.
Π Π°Π½Π½ΠΈΠΉ Π²ΡΡ ΠΎΠ΄
ΠΠΎΠ΄ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΡΠΌΠΎΠ»ΠΈΠ½Π΅Π΅Π½:
frontier = Queue()
frontier.put(start )
came_from = {}
came_from[start] = None
while not frontier.empty():
current = frontier.get()
if current == goal:
break
for next in graph.neighbors(current):
if next not in came_from:
frontier.put(next)
came_from[next] = current
Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠΎΠΊΠ° ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ ΡΠ°Π³ΠΈ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠ΅ΠΉ Ρ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π΅ΡΡΡ ΡΠ°Π·Π½Π°Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Civilization Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠ°Π²Π½ΠΈΠ½Ρ ΠΈΠ»ΠΈ ΠΏΡΡΡΡΠ½Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΠΈΡΡ 1 ΠΎΡΠΊΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ, Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· Π»Π΅Ρ β 5 ΠΎΡΠΊΠΎΠ² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ. ΠΠ° ΠΊΠ°ΡΡΠ΅ Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΡΡΠ°ΡΡΠΈ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· Π²ΠΎΠ΄Ρ ΡΡΠΎΠΈΡ Π² 10 ΡΠ°Π· Π΄ΠΎΡΠΎΠΆΠ΅, ΡΠ΅ΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠ°Π²Π΅. ΠΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠΎΠΈΡ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΡΠΌ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΈΡΠΊ ΠΏΡΡΠΈ ΡΡΠΈΡΡΠ²Π°Π» ΡΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΡΠ°Π²Π½ΠΈΠΌ
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ (ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΏΠΎΠΈΡΠΊΠΎΠΌ Ρ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ). Π§Π΅ΠΌ ΠΎΠ½ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΠΎΠΈΡΠΊΠ° Π² ΡΠΈΡΠΈΠ½Ρ? ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, ΡΡΠΎΠ±Ρ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΠΎΠ±ΡΠ΅ΠΉ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ. ΠΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΠΎΡΠ΅ΠΊ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠΌ Π½Π°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°ΠΌΠΈ. ΠΠ΅Π½Π΅Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ ΡΠΎ, ΡΡΠΎ Ρ Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΎΠ΄Π½Π° ΡΠΎΡΠΊΠ° ΠΏΠΎΡΠ΅ΡΠ°Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Ρ ΡΠ°Π·Π½ΠΎΠΉ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΡ. ΠΠΌΠ΅ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ ΠΊ Π³ΡΠ°Π½ΠΈΡΠ΅ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΡΠΎΡΠΊΡ Π½ΠΈ ΡΠ°Π·Ρ Π½Π΅ ΠΏΠΎΡΠ΅ΡΠ°Π»ΠΈ, ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅Ρ, Π΅ΡΠ»ΠΈ Π½ΠΎΠ²ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠΎΡΠΊΠ΅ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π½Π°ΠΈΠ»ΡΡΡΠΈΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΏΡΡΡ.
frontier = PriorityQueue() frontier.put(start, 0) came_from = {} cost_so_far = {} came_from[start] = None cost_so_far[start] = 0 while not frontier.empty(): current = frontier.get() if current == goal: break for next in graph.neighbors(current): new_cost = cost_so_far[current] + graph.cost(current, next) if next not in cost_so_far or new_cost < cost_so_far[next]: cost_so_far[next] = new_cost priority = new_cost frontier.put(next, priority) came_from[next] = current
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°ΠΌΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π³ΡΠ°Π½ΠΈΡΡ. ΠΠΎΠ½ΡΡΡΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ. ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½Π°Π±Π»ΡΠ΄Π°ΡΡ, ΠΊΠ°ΠΊ Π³ΡΠ°Π½ΠΈΡΠ° ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΡΠ΅ΡΠ΅Π· Π»Π΅ΡΠ°, ΠΈ ΠΏΠΎΠΈΡΠΊ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²ΠΎΠΊΡΡΠ³ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π»Π΅ΡΠ°, Π° Π½Π΅ ΡΠΊΠ²ΠΎΠ·Ρ Π½Π΅Π³ΠΎ:
Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ, ΠΎΡΠ»ΠΈΡΠ°ΡΡΠ°ΡΡΡ ΠΎΡ 1, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π³ΡΠ°ΡΡ, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠΊΠΈ. ΠΠ° ΠΊΠ°ΡΡΠ΅ Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΠ°ΡΡΠΈ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠ½Π°ΡΠ°ΠΌΠΈ. Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π±Π»ΠΈΠ·ΠΎΡΡΠΈ Π²ΡΠ°Π³ΠΎΠ² ΠΈΠ»ΠΈ ΡΠΎΡΠ·Π½ΠΈΠΊΠΎΠ². ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ Π΄Π΅ΡΠ°Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ: ΠΎΠ±ΡΡΠ½Π°Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°ΠΌΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ, Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²Π΅ΡΡΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ΅ΠΉΠΊΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈ ΡΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠ°Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°ΠΌΠΈ. Π― Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΈ ΠΎΠ±ΡΡΡΠ½ΡΡ ΡΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠ²ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠΈΡΠΊ
Π ΠΏΠΎΠΈΡΠΊΠ΅ Π² ΡΠΈΡΠΈΠ½Ρ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΠΠ΅ΠΉΠΊΡΡΡΡ Π³ΡΠ°Π½ΠΈΡΠ° ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΡ . ΠΡΠΎ Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠ΅ΡΠ΅ ΠΏΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠΎΡΠΊΠ°ΠΌ ΠΈΠ»ΠΈ ΠΊΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ ΡΠΎΡΠ΅ΠΊ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠΈΡΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π³ΡΠ°Π½ΠΈΡΠ° ΡΠ°ΡΡΠΈΡΡΠ»Π°ΡΡ ΠΊ ΡΠ΅Π»ΠΈ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π² Π΄ΡΡΠ³ΠΈΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΡ . ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΠ²ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΡΠΎΠΎΠ±ΡΠ°ΡΡΡΡ Π½Π°ΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΡ Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ ΡΠ΅Π»ΠΈ:
def heuristic(a, b):
# Manhattan distance on a square grid
return abs(a.x - b.x) + abs(a.y - b.y)
Π Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΠΠ΅ΠΉΠΊΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°ΠΌΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡ Π½Π°ΡΠ°Π»Π°. Π ΠΆΠ°Π΄Π½ΠΎΠΌ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΏΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ Π½Π°ΠΈΠ»ΡΡΡΠ΅ΠΌΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°ΠΌΠΈ ΠΌΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΡΠ΅Π½Π΅Π½Π½ΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ ΡΠ΅Π»ΠΈ. Π’ΠΎΡΠΊΠ°, Π±Π»ΠΈΠΆΠ°ΠΉΡΠ°Ρ ΠΊ ΡΠ΅Π»ΠΈ, Π±ΡΠ΄Π΅Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ. Π ΠΊΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ· ΠΏΠΎΠΈΡΠΊΠ° Π² ΡΠΈΡΠΈΠ½Ρ, Π½ΠΎ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ
cost_so_far
ΠΈΠ· Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ΅ΠΉΠΊΡΡΡΡ:frontier = PriorityQueue()
frontier.put(start, 0)
came_from = {}
came_from[start] = None
while not frontier.empty():
current = frontier.get()
if current == goal:
break
for next in graph.neighbors(current):
if next not in came_from:
priority = heuristic(goal, next)
frontier.put(next, priority)
came_from[next] = current
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
ΠΠ³ΠΎ! ΠΠΎΡΡΡΡΠ°ΡΡΠ΅, ΠΏΡΠ°Π²Π΄Π°? ΠΠΎ ΡΡΠΎ ΡΠ»ΡΡΠΈΡΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΊΠ°ΡΡΠ΅?
ΠΡΠΈ ΠΏΡΡΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΌΠΈ. ΠΡΠ°ΠΊ, ΡΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠ΅Π΅, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠΉ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΏΡΡΠΈ Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½Ρ. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ? ΠΠΎΠ½Π΅ΡΠ½ΠΎ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ A*
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ Ρ ΠΎΡΠΎΡ Π² ΠΏΠΎΠΈΡΠΊΠ΅ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ, Π½ΠΎ ΠΎΠ½ ΡΡΠ°ΡΠΈΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ, Π΄Π°ΠΆΠ΅ Π±Π΅ΡΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΡΡ . ΠΠ°Π΄Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π½Π°ΠΉΡΠΈ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ A* ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡ Π½Π°ΡΠ°Π»Π°, ΠΈ ΠΎΡΠ΅Π½Π΅Π½Π½ΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ ΡΠ΅Π»ΠΈ.
ΠΠΎΠ΄ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ:
frontier = PriorityQueue()
frontier.put(start, 0)
came_from = {}
cost_so_far = {}
came_from[start] = None
cost_so_far[start] = 0
while not frontier.empty():
current = frontier.get()
if current == goal:
break
for next in graph.neighbors(current):
new_cost = cost_so_far[current] + graph.cost(current, next)
if next not in cost_so_far or new_cost < cost_so_far[next]:
cost_so_far[next] = new_cost
priority = new_cost + heuristic(goal, next)
frontier.put(next, priority)
came_from[next] = current
Π‘ΡΠ°Π²Π½ΠΈΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ: Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ. ΠΠ°Π΄Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ Π½Π°ΠΈΠ»ΡΡΡΠ΅ΠΌΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ ΡΠΎΡΠΊΠΈ ΡΠ΅Π»ΠΈ. A* ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΌΠΌΡ ΡΡΠΈΡ Π΄Π²ΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ.
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π΅ ΡΡΠ°ΡΡΠΈ Π΄Π΅Π»Π°ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠΈΡ Π² ΡΠ°Π·Π½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ ΡΡΠ΅Π½Ρ. ΠΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅, ΡΡΠΎ ΠΆΠ°Π΄Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ, A* ΡΠΎΠΆΠ΅ Π΅Π³ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡ, ΠΈΡΡΠ»Π΅Π΄ΡΡ ΡΡ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡΡ. ΠΠΎΠ³Π΄Π° ΠΆΠ°Π΄Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ Π½Π°ΠΈΠ»ΡΡΡΠ΅ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ (Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΠΏΡΡΡ), A* Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ, ΠΊΠ°ΠΊ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ, Π½ΠΎ Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ.
A* Π±Π΅ΡΡΡ Π»ΡΡΡΠ΅Π΅ ΠΎΡ Π΄Π²ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ²ΡΠΈΡΡΠΈΠΊΠ° Π½Π΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ, A* Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²ΡΠΈΡΡΠΈΠΊΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΎΡΠ²Π΅ΡΠ°. ΠΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ, ΠΊΠ°ΠΊ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ. A* ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²ΡΠΈΡΡΠΈΠΊΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΡΠ·Π»ΠΎΠ², ΡΡΠΎΠ±Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½Π΅Π³ΠΎ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ·Π»Π° ΡΠ΅Π»ΠΈ.
Πβ¦ Π½Π° ΡΡΠΎΠΌ Π²ΡΡ! Π ΡΡΠΎΠΌ ΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ A*.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅
ΠΡ Π³ΠΎΡΠΎΠ²Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ? ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π³ΡΠ°ΡΠΎΠ², ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠΈ Π½Π° Python, C++ ΠΈ C#.
ΠΠ°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠ΅ΠΉ Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΡΠ΅?
- ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΡΡΠΈ ΠΈΠ· ΠΈΠ»ΠΈ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠΎΡΠΊΠ°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΠΈΡΠΊ Π² ΡΠΈΡΠΈΠ½Ρ ΠΈΠ»ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΠΈΡΠΊ Π² ΡΠΈΡΠΈΠ½Ρ, Π΅ΡΠ»ΠΈ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
- ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΡΡΠΈ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΆΠ°Π΄Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ Π½Π°ΠΈΠ»ΡΡΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΠΈΠ»ΠΈ A*. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΡΠΎΠΈΡ ΠΎΡΠ΄Π°ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ A*. ΠΠΎΠ³Π΄Π° Π΅ΡΡΡ ΠΈΡΠΊΡΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΆΠ°Π΄Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ, ΡΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ Π½Π°Π΄ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ A* Ρ Β«Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉΒ» ΡΠ²ΡΠΈΡΡΠΈΠΊΠΎΠΉ.
Π ΡΡΠΎ Π½Π°ΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΡΠ΅ΠΉ? ΠΠΎΠΈΡΠΊ Π² ΡΠΈΡΠΈΠ½Ρ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ Π½Π°ΠΉΠ΄ΡΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΏΠΎ Π³ΡΠ°ΡΡ. ΠΠ°Π΄Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΅Π³ΠΎ Π½Π°ΠΉΠ΄ΡΡ. A* Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ Π½Π°ΠΉΠ΄ΡΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ, Π΅ΡΠ»ΠΈ ΡΠ²ΡΠΈΡΡΠΈΠΊΠ° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ. ΠΠΎΠ³Π΄Π° ΡΠ²ΡΠΈΡΡΠΈΠΊΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅, A* ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ. ΠΠΎΠ³Π΄Π° ΡΠ²ΡΠΈΡΡΠΈΠΊΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠ΅, A* ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΠΆΠ°Π΄Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ Π½Π°ΠΈΠ»ΡΡΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ.
Π ΠΊΠ°ΠΊ Π½Π°ΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ? ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΡΡΠ°Π½ΠΈΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ Π³ΡΠ°ΡΠ°. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ΅ΡΠΊΡ, ΡΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠΎ. Π£ΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π³ΡΠ°ΡΠ° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²ΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ Π³ΡΠ°ΡΠ°ΠΌ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². ΠΡΠΎΡΡΡΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±ΡΡΡΡΠ΅Π΅. ΠΠ°Π΄Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ, Π½ΠΎ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΡΠ΅ΠΉ. ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° Π·Π°Π΄Π°Ρ ΠΏΠΎ ΠΏΠΎΠΈΡΠΊΡ ΠΏΡΡΠ΅ΠΉ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ A*.
Π ΡΡΠΎ Π½Π°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ Π½Π° ΠΊΠ°ΡΡΠ°Ρ ? Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π² ΡΡΠ°ΡΡΠ΅ ΠΊΠ°ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π½Π° Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ Π³ΡΠ°ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° Π»ΡΠ±ΡΡ Π³ΡΠ°ΡΠ°Ρ , Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΊΠ°ΡΡΠ°Ρ , ΠΈ Ρ ΠΏΡΡΠ°Π»ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π² Π²ΠΈΠ΄Π΅, Π½Π΅ Π·Π°Π²ΠΈΡΡΡΠ΅ΠΌ ΠΎΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΡ ΡΠ΅ΡΠΎΠΊ. Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΊΠ°ΡΡΠ°Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ Π²Π΅ΡΠ° ΡΡΠ±Π΅Ρ Π³ΡΠ°ΡΠ°. ΠΠ²ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΡ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²ΡΠΈΡΡΠΈΠΊΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π³ΡΠ°ΡΠ°. ΠΠ»Ρ ΠΏΠ»ΠΎΡΠΊΠΈΡ ΠΊΠ°ΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π·Π΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΈΡ .
Π― Π½Π°ΠΏΠΈΡΠ°Π» Π΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅Π³ΠΎ ΠΎ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΏΡΡΠ΅ΠΉ Π·Π΄Π΅ΡΡ. ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅, ΡΡΠΎ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ Π³ΡΠ°ΡΠ°ΠΌ β ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΡΠ°ΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ. Π‘Π°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ A* Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠΉ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΡΡΡ, ΠΎΡΠ΅Π½ΠΊΡ ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ, ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ°Π΄ΠΈΡΡΡ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ°, ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π°Π½ΠΈΠΌΠ°ΡΠΈΡ, ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΡΡΠ΅ΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
ΠΡΠΎΡΡΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠΈ ΠΈ A* / Habr
Π§Π°ΡΡΡ 1. ΠΠ±ΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ°
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠΎΠΈΡΠΊ ΠΏΡΡΠΈ β ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ΅Ρ ΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΌΡΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΠ³Ρ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠ»ΠΎΡ ΠΎ Π»ΡΠ΄ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ A*, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ Π½Π΅ΠΏΠΎΡΡΠΈΠΆΠΈΠΌΠ°Ρ ΠΌΠ°Π³ΠΈΡ.
Π¦Π΅Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ β ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ ΠΏΡΡΠΈ Π² ΡΠ΅Π»ΠΎΠΌ ΠΈ A* Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΠ»ΠΎΠΆΠΈΠ² ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΠΎΠΌΡ Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ° ΡΠ΅ΠΌΠ° ΡΠ»ΠΎΠΆΠ½Π°. ΠΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠΈ Π²ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ.
Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ Π² ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΏΠΎΠΈΡΠΊ ΠΏΡΡΠΈ Π΄Π»Ρ ΠΈΠ³Ρ; Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΡΠ°ΡΠ΅ΠΉ, ΠΌΡ ΠΎΠΏΡΡΡΠΈΠΌ ΡΠ°ΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ°, ΠΊΠ°ΠΊ ΠΏΠΎΠΈΡΠΊ Π² Π³Π»ΡΠ±ΠΈΠ½Ρ (Depth-First) ΠΈΠ»ΠΈ ΠΏΠΎΠΈΡΠΊ Π² ΡΠΈΡΠΈΠ½Ρ (Breadth-First). ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΠΎΡΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅ Π΄ΠΎΠΉΡΠΈ ΠΎΡ Π½ΡΠ»Ρ Π΄ΠΎ A*.
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΌΡ ΠΎΠ±ΡΡΡΠ½ΠΈΠΌ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠΈ. Π Π°Π·ΠΎΠ±ΡΠ°Π²ΡΠΈΡΡ Ρ ΡΡΠΈΠΌΠΈ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌΠΈ, Π²Ρ ΠΏΠΎΠΉΠΌΡΡΠ΅, ΡΡΠΎ A* Π½Π° ΡΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½.
ΠΡΠΎΡΡΠ°Ρ ΡΡ Π΅ΠΌΠ°
Π₯ΠΎΡΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΈ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΡΠ»ΠΎΠΆΠ½ΡΠΌ 3D-ΡΡΠ΅Π΄Π°ΠΌ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΡΡ-ΡΠ°ΠΊΠΈ Π½Π°ΡΠ½ΡΠΌ Ρ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡ Π΅ΠΌΡ: ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 5 x 5. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Ρ ΠΏΠΎΠΌΠ΅ΡΠΈΠ» ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΠ΅ΠΉΠΊΡ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡΠΊΠ²ΠΎΠΉ.
ΠΡΠΎΡΡΠ°Ρ ΡΠ΅ΡΠΊΠ°.
Π‘Π°ΠΌΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ β ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΡΡ ΡΡΠ΅Π΄Ρ Π² Π²ΠΈΠ΄Π΅ Π³ΡΠ°ΡΠ°. Π― Π½Π΅ Π±ΡΠ΄Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π³ΡΠ°Ρ; Π΅ΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΡΠΎΡΡΠΎ, ΡΠΎ ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΊΡΡΠΆΠΊΠΎΠ², ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΡ ΡΡΡΠ΅Π»ΠΊΠ°ΠΌΠΈ. ΠΡΡΠΆΠΊΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Β«ΡΠ·Π»Π°ΠΌΠΈΒ», Π° ΡΡΡΠ΅Π»ΠΊΠΈ β Β«ΡΡΠ±ΡΠ°ΠΌΠΈΒ».
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ·Π΅Π» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Β«ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅Β», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° β ΡΡΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ·Π»Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ ΡΠ΅ΡΠΊΠΈ:
Π£Π·Π»Ρ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ ΡΠ΅ΡΠΊΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΡΠ±ΡΠ°. ΠΠ½ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Β«Π΄ΠΎΡΡΠΈΡΡΒ» ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ; Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠΉΡΠΈ ΠΈΠ· Π»ΡΠ±ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ Π² ΡΠΎΡΠ΅Π΄Π½ΡΡ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΡ :
ΠΡΠ³ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ΅ΠΉΠΊΠ°ΠΌΠΈ ΡΠ΅ΡΠΊΠΈ.
ΠΡΠ»ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΈΠ· A Π² B, ΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ, ΡΡΠΎ B ΡΠ²Π»ΡΠ΅ΡΡΡ Β«ΡΠΎΡΠ΅Π΄Π½ΠΈΠΌΒ» Ρ A ΡΠ·Π»ΠΎΠΌ.
Π‘ΡΠΎΠΈΡ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠ±ΡΠ° ΠΈΠΌΠ΅ΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅; Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΡΠ±ΡΠ° ΠΈ ΠΈΠ· A Π² B, ΠΈ ΠΈΠ· B Π² A. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΠΌ, Π½ΠΎ Π½Π΅ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Β«ΡΠΎΡΡΠΎΡΠ½ΠΈΡΒ». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΠ°ΡΡΡ Ρ ΠΊΡΡΡΠΈ Π½Π° ΠΏΠΎΠ», Π½ΠΎ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π΄ΠΎΠΏΡΡΠ³Π½ΡΡΡ Ρ ΠΏΠΎΠ»Π° Π½Π° ΠΊΡΡΡΡ. ΠΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Β«ΠΆΠΈΠ²Β» Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Β«ΠΌΡΡΡΠ²Β», Π½ΠΎ Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. Π ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΡΠΈΠΌΠ΅Ρ
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡΡΡ ΠΈΠ· A Π² T. ΠΡ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ Ρ A. ΠΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΠ²Π½ΠΎ Π΄Π²Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ: ΠΏΡΠΎΠΉΡΠΈ Π² B ΠΈΠ»ΠΈ ΠΏΡΠΎΠΉΡΠΈ Π² F.
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΠ»ΠΈΡΡ Π² B. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π²Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ: Π²Π΅ΡΠ½ΡΡΡΡΡ Π² A ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² C. ΠΡ ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΡΠΆΠ΅ Π±ΡΠ»ΠΈ Π² A ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΡ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΠΌ, ΡΠ°ΠΊ ΡΡΠΎ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ½ΠΎΠ²Π° (ΠΈΠ½Π°ΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π²Π΅ΡΡ Π΄Π΅Π½Ρ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ A β B β A β Bβ¦). ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΠΎΠΉΠ΄ΡΠΌ Π² C.
ΠΠ°Ρ ΠΎΠ΄ΡΡΡ Π² C, Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π½Π°ΠΌ Π½Π΅ΠΊΡΠ΄Π°. ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π² B Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΠΎ, ΡΠΎ Π΅ΡΡΡ ΡΡΠΎ ΡΡΠΏΠΈΠΊ. ΠΡΠ±ΠΎΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π² B, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π² A, Π±ΡΠ» ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΈΠ΄Π΅Π΅ΠΉ; Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎΠΈΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ F?
ΠΡ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΠΊΠ°ΠΆΠ΅ΠΌΡΡ Π² T. Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π²ΠΎΡΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΡΡ ΠΈΠ· A, Π²Π΅ΡΠ½ΡΠ²ΡΠΈΡΡ ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠ°Π³Π°ΠΌ. ΠΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π² T; ΠΊΠ°ΠΊ ΠΌΡ ΡΡΠ΄Π° Π΄ΠΎΠ±ΡΠ°Π»ΠΈΡΡ? ΠΠ· O? Π’ΠΎ Π΅ΡΡΡ ΠΊΠΎΠ½Π΅Ρ ΠΏΡΡΠΈ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄ O β T. ΠΠ°ΠΊ ΠΌΡ Π΄ΠΎΠ±ΡΠ°Π»ΠΈΡΡ Π² O? Π ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΌΡ Π½Π΅ Π΄Π²ΠΈΠΆΠ΅ΠΌΡΡ; Π²ΡΡ ΡΡΠΎ Π±ΡΠ»ΠΎ Π»ΠΈΡΡ ΠΌΡΡΠ»Π΅Π½Π½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ. ΠΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡΡΠΎΡΡΡ Π² A, ΠΈ Π½Π΅ ΡΠ΄Π²ΠΈΠ½Π΅ΠΌΡΡ ΠΈΠ· Π½Π΅Ρ, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄ΡΠΌ ΠΏΡΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ. ΠΠΎΠ³Π΄Π° Ρ Π³ΠΎΠ²ΠΎΡΡ Β«ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΠ»ΠΈΡΡ Π² BΒ», ΡΠΎ ΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Ρ Β«ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΠ»ΠΈΡΡ Π² BΒ».
ΠΠ±ΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ
ΠΡΠΎΡ ΡΠ°Π·Π΄Π΅Π» β ΡΠ°ΠΌΠ°Ρ Π²Π°ΠΆΠ½Π°Ρ ΡΠ°ΡΡΡ Π²ΡΠ΅ΠΉ ΡΡΠ°ΡΡΠΈ. ΠΠ°ΠΌ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΡΡΡ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΏΠΎΠΈΡΠΊ ΠΏΡΡΠΈ; ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ A*) β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π΄Π΅ΡΠ°Π»ΠΈ. Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠΉΠΌΡΡΠ΅ ΡΠΌΡΡΠ».
Π ΡΠΎΠΌΡ ΠΆΠ΅ ΡΡΠΎΡ ΡΠ°Π·Π΄Π΅Π» Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΏΡΠΎΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π°Ρ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ² Π΅Π³ΠΎ Π² ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄.
ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ·Π»Ρ, ΠΊΠΎΡΠΎΡΡΡ
ΠΌΡ Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ Π΄ΠΎΡΡΠΈΡΡ ΠΈΠ· Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π°. Π Π½Π°ΡΠ°Π»Π΅ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ·Π΅Π», Π½ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Β«ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡΒ» ΡΠ΅ΡΠΊΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ·Π½Π°Π²Π°ΡΡ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±ΠΈΡΠ°ΡΡΡΡ Π΄ΠΎ Π΄ΡΡΠ³ΠΈΡ
ΡΠ·Π»ΠΎΠ². ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°Π·ΠΎΠ²ΡΠΌ ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ·Π»ΠΎΠ² reachable
:
reachable = [start_node]
Π’Π°ΠΊΠΆΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ·Π»Ρ, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈΡ ΡΠ½ΠΎΠ²Π°. ΠΠ°Π·ΠΎΠ²ΡΠΌ ΠΈΡ
explored
:explored = []
ΠΠ°Π»ΡΡΠ΅ Ρ ΠΈΠ·Π»ΠΎΠΆΡ ΡΠ΄ΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°: Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ ΠΏΠΎΠΈΡΠΊΠ° ΠΌΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ·Π»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΡΡΠΈΡΡ, ΠΈ ΡΠΌΠΎΡΡΠΈΠΌ, Π΄ΠΎ ΠΊΠ°ΠΊΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ·Π»ΠΎΠ² ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΈΠ· Π½Π΅Π³ΠΎ. ΠΡΠ»ΠΈ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΡΡΠΈΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ (ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ) ΡΠ·Π»Π°, ΡΠΎ Π·Π°Π΄Π°ΡΠ° ΡΠ΅ΡΠ΅Π½Π°! Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΏΠΎΠΈΡΠΊ.
Π’Π°ΠΊ ΠΏΡΠΎΡΡΠΎ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²ΡΠ²Π°Π΅Ρ? Π ΡΡΠΎ Π²Π΅ΡΠ½ΠΎ. ΠΠΎ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΈ ΡΠΎΡΡΠΎΠΈΡ Π²Π΅ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ΠΎΠΌ.
ΠΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΈΡΠΊΠ°ΡΡ, ΠΏΠΎΠΊΠ° ΠΈΠ»ΠΈ Π½Π΅ Π΄ΠΎΠ±Π΅ΡΡΠΌΡΡ Π΄ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π° (Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π½Π°ΡΠ»ΠΈ ΠΏΡΡΡ ΠΈΠ· Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ·Π΅Π»), ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° Ρ Π½Π°Ρ Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠ°ΡΡΡ ΡΠ·Π»Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠΈΡΠΊ (Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠ·Π»Π°ΠΌΠΈ ΠΏΡΡΠΈ Π½Π΅Ρ).
while reachable is not empty:
ΠΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ·Π»ΠΎΠ², Π΄ΠΎ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΈ ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½:
node = choose_node(reachable)
ΠΡΠ»ΠΈ ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π°, ΡΠΎ Π·Π°Π΄Π°ΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°! ΠΠ°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΏΡΡΡ, ΡΠ»Π΅Π΄ΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌ
previous
ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΊ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠ·Π»Ρ: if node == goal_node:
path = []
while node != None:
path.add(node)
node = node.previous
return path
ΠΠ΅Ρ ΡΠΌΡΡΠ»Π° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ·Π΅Π» Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ:
reachable.remove(node)
explored.add(node)
ΠΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠ·Π»Ρ, Π΄ΠΎ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΎΡΡΡΠ΄Π°. ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ ΡΠΎ ΡΠΏΠΈΡΠΊΠ° ΡΠ·Π»ΠΎΠ², ΡΠΎΡΠ΅Π΄Π½ΠΈΡ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ, ΠΈ ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠΆΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΈ:
new_reachable = get_adjacent_nodes(node) - explored
ΠΡ Π±Π΅ΡΡΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ :
for adjacent in new_reachable:
ΠΡΠ»ΠΈ ΠΌΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΡΡΠΈΡΡ ΡΠ·Π»Π°, ΡΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΡΠΏΠΈΡΠΎΠΊ
reachable
, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ, ΠΊΠ°ΠΊ Π² Π½Π΅Π³ΠΎ ΠΏΠΎΠΏΠ°Π»ΠΈ: if adjacent not in reachable:
adjacent.previous = node # Remember how we got there.
reachable.add(adjacent)
ΠΠ°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π° β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»Π°. ΠΡΠΎΡΠΎΠΉ β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π°
reachable
ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΡΡΡΠΌ: Ρ Π½Π°Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈΡΡ ΡΠ·Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ, ΠΈ ΠΌΡ Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π°, ΡΠΎ Π΅ΡΡΡ ΠΈΠ· Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ·Π΅Π» ΠΏΡΡΠΈ Π½Π΅Ρ:return None
Πβ¦ Π½Π° ΡΡΠΎΠΌ Π²ΡΡ. ΠΡΠΎ Π²Π΅ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ, Π° ΠΊΠΎΠ΄ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΡΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄:
function find_path (start_node, end_node):
reachable = [start_node]
explored = []
while reachable is not empty:
# Choose some node we know how to reach.
node = choose_node(reachable)
# If we just got to the goal node, build and return the path.
if node == goal_node:
return build_path(goal_node)
# Don't repeat ourselves.
reachable.remove(node)
explored.add(node)
# Where can we get from here?
new_reachable = get_adjacent_nodes(node) - explored
for adjacent in new_reachable:
if adjacent not in reachable
adjacent.previous = node # Remember how we got there.
reachable.add(adjacent)
# If we get here, no path was found :(
return None
ΠΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠΎΠΈΡ ΠΏΡΡΡ, ΡΠ»Π΅Π΄ΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌ
previous
ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΊ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠ·Π»Ρ:function build_path (to_node):
path = []
while to_node != None:
path.add(to_node)
to_node = to_node.previous
return path
ΠΠΎΡ ΠΈ Π²ΡΡ. ΠΡΠΎ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ A*.
ΠΠ΅ΡΠ΅ΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΡΡΠΎΡ ΡΠ°Π·Π΄Π΅Π», ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠΉΠΌΡΡΠ΅, ΠΊΠ°ΠΊ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΈ, ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ΄Π΅Π°Π»ΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΡΡΠ½ΡΡ Π½Π° Π±ΡΠΌΠ°Π³Π΅, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ Π΄Π΅ΠΌΠΎ:
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ Π΄Π΅ΠΌΠΎ
ΠΠΎΡ Π΄Π΅ΠΌΠΎ ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° (Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π° ΡΡΠ°ΡΡΠΈ).
choose_node
ΠΏΡΠΎΡΡΠΎ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ ΡΠ·Π΅Π». ΠΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠΏΠΈΡΠΎΠΊ ΡΠ·Π»ΠΎΠ² reachable
ΠΈ explored
, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π° ΡΠΎ, ΠΊΡΠ΄Π° ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΡΠ»ΠΊΠΈ previous
.ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΠΏΠΎΠΈΡΠΊ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΡΡ; ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΠΈΡΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ·Π»Ρ Π΄Π°ΠΆΠ΅ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π·Π΄Π΅ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ β ΡΡΠΎ ΠΎΠ±ΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠΈ.
ΠΠΎ ΡΡΠΎ ΠΆΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ A* β ΡΡΠΎ A*?
ΠΠΎΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°: Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΠΎΠΈΡΠΊ Π² Π΄Π΅ΠΌΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΠΎ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΏΡΡΡ. ΠΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΡΡ, ΠΈ ΡΡΠΎΡ ΠΏΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΌ. ΠΠΎΡΠ΅ΠΌΡ?
Π§Π°ΡΡΡ 2. Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ°
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ½ΡΠ»ΠΈ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΡΠΎ Π²Π΅ΡΠ½ΠΈΡΠ΅ΡΡ ΠΊ Π½Π΅ΠΌΡ ΠΈ ΠΏΡΠΎΡΡΠΈΡΠ΅ Π·Π°Π½ΠΎΠ²ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠΎΠ³Π΄Π° Π²Ρ Π² Π½ΡΠΌ ΡΠ°Π·Π±Π΅ΡΡΡΠ΅ΡΡ, A* ΠΏΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π²Π°ΠΌ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΈ Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ.
Π‘Π΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΈΠ½Π³ΡΠ΅Π΄ΠΈΠ΅Π½Ρ
Π ΠΊΠΎΠ½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ Ρ ΠΎΡΡΠ°Π²ΠΈΠ» ΠΎΡΠΊΡΡΡΡΠΌΠΈ Π΄Π²Π° Π²ΠΎΠΏΡΠΎΡΠ°: Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄, ΠΏΠΎΡΠ΅ΠΌΡ A* Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ A*? Π ΠΏΠΎΡΠ΅ΠΌΡ Π΄Π΅ΠΌΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΡΠΈ?
ΠΡΠ²Π΅ΡΡ Π½Π° ΠΎΠ±Π° Π²ΠΎΠΏΡΠΎΡΠ° ΡΠ²ΡΠ·Π°Π½Ρ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. Π₯ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈ Ρ ΠΎΡΠΎΡΠΎ Π·Π°Π΄Π°Π½, Ρ ΠΎΡΡΠ°Π²ΠΈΠ» Π½Π΅ΡΠ°ΡΠΊΡΡΡΡΠΌ ΠΎΠ΄ΠΈΠ½ Π°ΡΠΏΠ΅ΠΊΡ, ΠΈ ΠΊΠ°ΠΊ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ°:
node = choose_node(reachable)
ΠΠΌΠ΅Π½Π½ΠΎ ΡΡΠ° Π½Π΅Π²ΠΈΠ½Π½ΠΎ Π²ΡΠ³Π»ΡΠ΄ΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΡ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
choose_node
Π·Π°Π²ΠΈΡΠΈΡ Π²ΡΡ.Π’Π°ΠΊ ΠΏΠΎΡΠ΅ΠΌΡ ΠΆΠ΅ Π΄Π΅ΠΌΠΎ Π½Π°Ρ
ΠΎΠ΄ΠΈΡ ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΡΠΈ? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ choose_node
Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠ·Π΅Π» ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΠ»ΠΈΠ½Π° ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠΎΠ³ΡΡΠΆΠ°ΡΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
choose_node
, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π² ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π΅Π΄ΠΎΡΠΌΠΎΡΡ.ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ ΡΠ·Π»Ρ, ΡΠΎΡΠ΅Π΄Π½ΠΈΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ, ΡΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΡΡΠΈΡΡ:
if adjacent not in reachable:
adjacent.previous = node # Remember how we got there.
reachable.add(adjacent)
ΠΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ°: ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΠΎ Π½Π΅Π³ΠΎ? Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠ»ΠΊΡ
previous
ΡΠ·Π»Π°, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π·ΠΈΡΡ ΡΡΠΎΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΏΡΡΡ.Π§ΡΠΎΠ±Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ Π΄Π»ΠΈΠ½Ρ ΠΏΡΡΠΈ ΠΎΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π° Π΄ΠΎ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ·Π»Π°. ΠΡ Π½Π°Π·ΠΎΠ²ΡΠΌ ΡΡΠΎ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ (cost
) ΠΏΡΡΠΈ. ΠΠΎΠΊΠ° ΠΏΡΠΈΠΌΠ΅ΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ·Π»Π° Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΎΡΠ΅Π΄Π½ΠΈΡ
ΡΠ·Π»ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ, ΡΠ°Π²Π½ΡΡ 1
.
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΏΠΎΠΈΡΠΊ, ΠΌΡ ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ cost
ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·Π»Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ infinity
; Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ Π»ΡΠ±ΠΎΠΉ ΠΏΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΡΠΎΡΠ΅ ΡΡΠΎΠ³ΠΎ. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ cost
ΡΠ·Π»Π° start_node
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0
.
Π’ΠΎΠ³Π΄Π° Π²ΠΎΡ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠΎΠ΄:
if adjacent not in reachable:
reachable.add(adjacent)
# If this is a new path, or a shorter path than what we have, keep it.
if node.cost + 1 < adjacent.cost:
adjacent.previous = node
adjacent.cost = node.cost + 1
ΠΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π°Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠΈΡΠΊΠ°
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄
choose_node
. ΠΡΠ»ΠΈ ΠΌΡ ΡΡΡΠ΅ΠΌΠΈΠΌΡΡ Π½Π°ΠΉΡΠΈ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ ΠΏΡΡΡ, ΡΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠ·Π΅Π» ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ β Π½Π΅ ΡΠ°ΠΌΠ°Ρ Π»ΡΡΡΠ°Ρ ΠΈΠ΄Π΅Ρ.ΠΡΡΡΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠ·Π΅Π», ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΡΡΠΈΡΡ ΠΈΠ· Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΠΏΠΎ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅ΠΌΡ ΠΏΡΡΠΈ; Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΌΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Π΄Π»ΠΈΠ½Π½ΡΠΌ ΠΏΡΡΡΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅. ΠΡΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΠΏΡΡΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π²ΠΎΠ²ΡΠ΅, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΏΡΡΠΈ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Π½Π°ΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΏΡΡΠΈ.
ΠΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ choose_node
:
function choose_node (reachable):
best_node = None
for node in reachable:
if best_node == None or best_node.cost > node.cost:
best_node = node
return best_node
ΠΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΏΠΎΠΈΡΠΊ ΡΡΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ Β«ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΠΎΒ» ΠΎΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π°, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ. ΠΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ Π΄Π΅ΠΌΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎΡΡΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΠΏΠΎΡΠΎΠ±Π΅ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ·Π»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π½Π°ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ: ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΎΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π°.
ΠΠΎ ΡΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΎΡΡΠ°ΡΡΡΡ Β«Π³Π»ΡΠΏΡΠΌΒ». ΠΠ½ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΠΏΠΎΠ²ΡΡΠ΄Ρ, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΡΠΊΠ½ΡΡΡΡ Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ·Π΅Π». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΌΡΡΠ» Π² ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠΈΡΠΊ Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ A, Π΅ΡΠ»ΠΈ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΌΡ ΠΎΡΠ΄Π°Π»ΡΠ΅ΠΌΡΡ ΠΎΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π°?
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ choose_node
ΡΠΌΠ½Π΅Π΅? ΠΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π°ΠΏΡΠ°Π²Π»ΡΠ» ΠΏΠΎΠΈΡΠΊ Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π°, Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Ρ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ?
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ β Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΠΌΡ Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ Π΄ΠΎΠΉΠ΄ΡΠΌ Π΄ΠΎ choose_node
, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΠΎΠ±ΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠΈ Π² A*.
Π§Π°ΡΡΡ 3. Π‘Π½ΠΈΠΌΠ°Π΅ΠΌ Π·Π°Π²Π΅ΡΡ ΡΠ°ΠΉΠ½Ρ Ρ A*
ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ ΠΎΡΠΎΡ: ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΎΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π° Π΄ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΎΠ½ ΡΡΠ°ΡΠΈΡ ΡΠΈΠ»Ρ Π²ΠΏΡΡΡΡΡ: ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΏΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ Π½Π°Π·ΠΎΠ²ΡΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΌΠΈ β ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΄Π°Π»ΡΡΡΡΡ ΠΎΡ ΡΠ΅Π»ΠΈ. ΠΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ?
ΠΠΎΠ»ΡΠ΅Π±Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° Π½Π° ΠΎΡΠΎΠ±ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Ρ ΡΠΈΠΏΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²ΠΎΡΠΈΡΡ ΠΌΠ°Π³ΠΈΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΏΠΎΡΡΡΡΠ°ΡΡΠ΅ΠΌΡ ΡΠΈΠΏΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡΠ°Π·ΠΈΡΡ
choose_node
ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ, Π½Π΅ ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ½ΡΡ
ΠΏΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΈΠΊΡΠ΄Π° Π½Π΅ Π²Π΅Π΄ΡΡ:function choose_node (reachable):
return magic(reachable, "Π»ΡΠ±ΠΎΠΉ ΡΠ·Π΅Π», ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π½Π° ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅ΠΌ ΠΏΡΡΠΈ")
ΠΠ²ΡΡΠΈΡ ΡΠΎΠ±Π»Π°Π·Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΈΠΏΠ°ΠΌ Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΊΠΎΠ΄. ΠΠΎΡ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ ΠΎΡΠΎΡΠ°Ρ Π°ΠΏΠΏΡΠΎΠΊΡΠΈΠΌΠ°ΡΠΈΡ:
function choose_node (reachable):
min_cost = infinity
best_node = None
for node in reachable:
cost_start_to_node = node.cost
cost_node_to_goal = magic(node, "ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΊ ΡΠ΅Π»ΠΈ")
total_cost = cost_start_to_node + cost_node_to_goal
if min_cost > total_cost:
min_cost = total_cost
best_node = node
return best_node
ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΠ±ΠΎΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ·Π»Π°: Π²Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ·Π΅Π», Π΄Π°ΡΡΠΈΠΉ Π½Π°ΠΌ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΎΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π°, ΡΡΠΎ Π½Π°ΠΌ ΠΈ Π½ΡΠΆΠ½ΠΎ.
Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΠΌΠ°Π³ΠΈΠΈ: ΠΌΡ ΡΠΎΡΠ½ΠΎ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊΠΎΠ²Π° ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ·Π»Ρ (ΡΡΠΎ node.cost
), ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ°Π³ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡ ΡΠ·Π»Π° ΠΊ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ ΡΠ·Π»Ρ.
ΠΠ΅ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠΉ, Π½ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΡΡΡΡΠ°ΡΡΠΈΠΉ A*
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΠΏΡ β ΡΡΠΎ Π½ΠΎΠ²ΠΈΠ½ΠΊΠ°, Π° Π½Π°ΠΌ Π½ΡΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° Π½Π°Ρ ΡΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
# Throws MuggleProcessorException
cost_node_to_goal = magic(node, "ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΊ ΡΠ΅Π»ΠΈ")
Π’ΠΎ Π΅ΡΡΡ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°Π³ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π΅ΡΡ Π½Π΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ. ΠΡ Π»Π°Π΄Π½ΠΎ, ΡΠΎΠ³Π΄Π° Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΏΡΠΎΠ³Π½ΠΎΠ·. ΠΡΠ΄Π΅ΠΌ ΠΎΠΏΡΠΈΠΌΠΈΡΡΠΈΡΠ½ΡΠΌΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠ·Π»Π°ΠΌΠΈ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π½Π°ΠΏΡΡΠΌΠΈΠΊ:
cost_node_to_goal = distance(node, goal_node)
ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°Π·Π½ΡΠ΅: ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ, ΡΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠ·Π»Π°ΠΌΠΈ Π½Π΅Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠΉ.
ΠΡΡ ΠΎΡΠ΅Π½ΠΊΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ. Π Π½Π°ΡΠΈΡ
ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
Ρ ΡΠ΅ΡΠΊΠ°ΠΌΠΈ ΡΡΠΎ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π³ΠΎΡΠΎΠ΄ΡΠΊΠΈΡ
ΠΊΠ²Π°ΡΡΠ°Π»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠ·Π»Π°ΠΌΠΈ (ΡΠΎ Π΅ΡΡΡ abs(Ax - Bx) + abs(Ay - By)
). ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ°Π²Π½ΠΎ sqrt( (Ax - Bx)^2 + (Ay - By)^2 )
, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π‘Π°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ ΡΠΎ, ΡΡΠΎ ΠΌΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²ΡΡΠΎΠΊΡΡ ΠΎΡΠ΅Π½ΠΊΡ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ.
ΠΡΠ°ΠΊ, Π²ΠΎΡ Π½Π΅ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ choose_node
:
function choose_node (reachable):
min_cost = infinity
best_node = None
for node in reachable:
cost_start_to_node = node.cost
cost_node_to_goal = estimate_distance(node, goal_node)
total_cost = cost_start_to_node + cost_node_to_goal
if min_cost > total_cost:
min_cost = total_cost
best_node = node
return best_node
Π€ΡΠ½ΠΊΡΠΈΡ, ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΠ°Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π΄ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·Π»Π°, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ²ΡΠΈΡΡΠΈΠΊΠΎΠΉ, ΠΈ ΡΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ°, Π»Π΅Π΄ΠΈ ΠΈ Π΄ΠΆΠ΅Π½ΡΠ»ΡΠΌΠ΅Π½Ρ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ β¦ A*.
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ Π΄Π΅ΠΌΠΎ
ΠΠΎΠΊΠ° Π²Ρ ΠΎΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ΡΡ ΠΎΡ ΡΠΎΠΊΠ°, Π²ΡΠ·Π²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠΎΠ·Π½Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π·Π°Π³Π°Π΄ΠΎΡΠ½ΡΠΉ A* Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π΄Π΅ΠΌΠΎ (ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π΅ ΡΡΠ°ΡΡΠΈ). ΠΡ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΏΠΎΠΈΡΠΊ ΡΡΠ°ΡΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² Π½Π΅Π²Π΅ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΠΌΡ Π΄ΠΎΡΠ»ΠΈ Π΄ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° A*, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΠ΅ΠΌ ΠΈΠ½ΡΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΠ°ΡΡΠΈ ΠΎΠ±ΡΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΏΠΎΠΈΡΠΊΠ° Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ
choose_node
, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠ·Π΅Π», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ Π½Π°ΡΠ΅ΠΉ ΠΎΡΠ΅Π½ΠΊΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°Π΅Ρ Π½Π°Ρ ΠΊ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ ΡΠ·Π»Ρ. ΠΠΎΡ ΠΈ Π²ΡΡ.ΠΠΎΡ Π²Π°ΠΌ Π΄Π»Ρ ΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°:
function find_path (start_node, end_node):
reachable = [start_node]
explored = []
while reachable is not empty:
# Choose some node we know how to reach.
node = choose_node(reachable)
# If we just got to the goal node, build and return the path.
if node == goal_node:
return build_path(goal_node)
# Don't repeat ourselves.
reachable.remove(node)
explored.add(node)
# Where can we get from here that we haven't explored before?
new_reachable = get_adjacent_nodes(node) - explored
for adjacent in new_reachable:
# First time we see this node?
if adjacent not in reachable:
reachable.add(adjacent)
# If this is a new path, or a shorter path than what we have, keep it.
if node.cost + 1 < adjacent.cost:
adjacent.previous = node
adjacent.cost = node.cost + 1
# If we get here, no path was found :(
return None
ΠΠ΅ΡΠΎΠ΄
build_path
:function build_path (to_node):
path = []
while to_node != None:
path.add(to_node)
to_node = to_node.previous
return path
Π Π²ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄
choose_node
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ Π² A*:function choose_node (reachable):
min_cost = infinity
best_node = None
for node in reachable:
cost_start_to_node = node.cost
cost_node_to_goal = estimate_distance(node, goal_node)
total_cost = cost_start_to_node + cost_node_to_goal
if min_cost > total_cost:
min_cost = total_cost
best_node = node
return best_node
ΠΠΎΡ ΠΈ Π²ΡΡ.
Π Π·Π°ΡΠ΅ΠΌ ΠΆΠ΅ Π½ΡΠΆΠ½Π° ΡΠ°ΡΡΡ 4?
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ A*, Ρ Ρ ΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΡΡΡΠ°ΡΡΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΠΏΡΡΠ΅ΠΉ Π² ΡΠ΅ΡΠΊΠ΅ ΡΡΠ΅Π΅ΠΊ.
Π§Π°ΡΡΡ 4. A* Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅
ΠΠ΅ΡΠ²ΡΠ΅ ΡΡΠΈ ΡΠ°ΡΡΠΈ ΡΡΠ°ΡΡΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΠ°ΠΌΡΡ ΠΎΡΠ½ΠΎΠ² Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠ΅ΠΉ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ ΡΡΡΠΊΠΈΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° A*. ΠΡΡ ΡΡΠΎ Π·Π΄ΠΎΡΠΎΠ²ΠΎ Π² ΡΠ΅ΠΎΡΠΈΠΈ, Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ β ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π΄ΡΡΠ³Π°Ρ ΡΠ΅ΠΌΠ°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ Π½Π°Ρ ΠΌΠΈΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠΊΠΎΠΉ?
Π§ΡΠΎ Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Π½Π° 90 Π³ΡΠ°Π΄ΡΡΠΎΠ²?
ΠΠ°ΠΊ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π³ΡΠ°Ρ, Π΅ΡΠ»ΠΈ ΠΌΠΈΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ΅Π½?
Π§ΡΠΎ Π΅ΡΠ»ΠΈ Π½Π°Ρ Π½Π΅ Π²ΠΎΠ»Π½ΡΠ΅Ρ Π΄Π»ΠΈΠ½Π° ΠΏΡΡΠΈ, Π½ΠΎ ΠΌΡ Π·Π°Π²ΠΈΡΠΈΠΌ ΠΎΡ ΡΠΎΠ»Π½Π΅ΡΠ½ΠΎΠΉ ΡΠ½Π΅ΡΠ³ΠΈΠΈ ΠΈ Π½Π°ΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΠΎΠ΄ ΡΠΎΠ»Π½Π΅ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ?
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΊ Π»ΡΠ±ΠΎΠΌΡ ΠΈΠ· Π΄Π²ΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠ·Π»ΠΎΠ²?
Π€ΡΠ½ΠΊΡΠΈΡ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΌΡ ΠΈΡΠΊΠ°Π»ΠΈ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠ·Π»Π°ΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ½ΡΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΏΡΡΠ΅ΠΉ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
length
, ΠΌΡ Π½Π°Π·Π²Π°Π»ΠΈ Π΅Ρ cost
. ΠΠΎΡΠ΅ΠΌΡ?ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΡΡΠ°Π²ΠΈΡΡ A* ΠΈΡΠΊΠ°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ, Π½ΠΎ ΠΈ Π»ΡΡΡΠΈΠΉ ΠΏΡΡΡ, ΠΏΡΠΈΡΡΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Β«Π»ΡΡΡΠ΅Π³ΠΎΒ» ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ, ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π½Π°ΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ, ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π»ΠΈΠ½Π° ΠΏΡΡΠΈ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΏΠ»ΠΈΠ²Π°, ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ. ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Β«Π²ΡΠ΅ΠΌΡ, ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΏΠΎΠ΄ ΡΠΎΠ»Π½ΡΠ΅ΠΌΒ», ΡΠΎ Π·Π°ΡΡΠ°ΡΡ β ΡΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠΎΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ΅ Π±Π΅Π· ΡΠΎΠ»Π½ΡΠ°. Π ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ΅Π±ΡΠΎΠΌ Π³ΡΠ°ΡΠ° ΡΠ²ΡΠ·Π°Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π°ΡΡΠ°ΡΡ. Π ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΡ
Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π·Π°Π΄Π°Π²Π°Π»Π°ΡΡ Π½Π΅ΡΠ²Π½ΠΎ ΠΈ ΡΡΠΈΡΠ°Π»Π°ΡΡ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎΠΉ 1
, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ ΡΡΠΈΡΠ°Π»ΠΈ ΡΠ°Π³ΠΈ Π½Π° ΠΏΡΡΠΈ. ΠΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΡΠ΅Π±ΡΠ° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΊΡΠΈΡΠ΅ΡΠΈΡ
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π½Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡ β ΡΡΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ, ΠΈ Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΠΎ Π·Π°ΠΏΡΠ°Π²ΠΊΠΈ. ΠΠ°Ρ ΡΡΡΡΠΎΠΈΡ Π»ΡΠ±Π°Ρ Π·Π°ΠΏΡΠ°Π²ΠΊΠ°. Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅ΠΉ ΠΠΠ‘.
ΠΠ°ΠΈΠ²Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ Π΄ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°ΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ. ΠΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π·Π°ΡΡΠ°ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ.
Π§ΡΠΎ Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ goal_node
Π½Π° ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠ·Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠΎΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΊΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅ΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. Π’Π°ΠΊΠΆΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²ΡΠΈΡΡΠΈΠΊΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π²ΡΠ΅Ρ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ
ΡΠ·Π»ΠΎΠ².
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄ΠΎΡΡΠΈΡΡ ΡΠ΅Π»ΠΈ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ, ΠΈΠ»ΠΈ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠΈΡΡ (Π΅ΡΠ»ΠΈ ΠΌΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ ΠΊΠ°ΡΡΡ, ΡΠ°ΠΊ Π»ΠΈ Π²Π°ΠΆΠ½Π° ΡΠ°Π·Π½ΠΈΡΠ° Π² ΠΎΠ΄ΠΈΠ½ Π΄ΡΠΉΠΌ?), ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄ is_goal_node
ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ true
, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌΡΡ Β«Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±Π»ΠΈΠ·ΠΊΠΎΒ».
ΠΠΎΠ»Π½Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΡΡΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΈΡΠ° Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΌ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ³Ρ. ΠΠΎΠ·ΡΠΌΡΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠ΅Ρ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π»ΠΈΡΠ° ΠΈΠ»ΠΈ Π³ΠΎΠ½ΠΎΡΠ½ΡΡ ΠΈΠ³ΡΡ. ΠΠΈΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠ΅Π½, Π½ΠΎ Π΅Π³ΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΡΠΊΠΈ.
ΠΠΎ Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ ΠΏΠΎΡΠ΅ΡΡΡΠ·Π½Π΅ΠΉ: ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΌΠΈΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ΅Π½? Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΡΠΊΠΈ, ΡΠΎ Ρ Π½Π°Ρ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ΅ΡΠΊΠ΅ Π³ΡΠ°Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ.
ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ Π²ΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½ΠΎ. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π΄Π»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ Π³ΡΠ°ΡΠ°ΠΌ Π½Π°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎ Π½ΡΠΆΠ΅Π½ Π³ΡΠ°Ρ. ΠΠΎ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠ», ΡΡΠΎ Π³ΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠΈΠΌ!
ΠΡΠ»ΠΈ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΌΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ Ρ Π³ΡΠ°ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΅Π»ΡΠΌ; ΠΌΡ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌ Π³ΡΠ°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠ·Π»Ρ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΡΡΠΈΡΡ ΠΈΠ· ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ·Π»Π°. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π΄Π΅ΠΌΠΎ A*, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ·Π»Ρ Π³ΡΠ°ΡΠ° Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΈΡΡΠ»Π΅Π΄ΡΡΡΡΡ.
Π’Π°ΠΊ ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΡΡΠΎΠΈΡΡ Π³ΡΠ°Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ?
ΠΡ Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ·Π»ΠΎΠΌ. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ get_adjacent_nodes
ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡΡΡ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·Π»Π°, ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΎΡΠ΅Π΄Π½ΠΈΠ΅ ΡΠ·Π»Ρ Π½Π° Π»Π΅ΡΡ.
ΠΠ° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΡΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ
ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Π°Ρ ΠΌΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ 2D-ΡΠ΅ΡΠΊΠΎΠΉ, Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Π½Π° 90 ΠΈΠ»ΠΈ 180 Π³ΡΠ°Π΄ΡΡΠΎΠ², ΠΊΠ°ΠΊ ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈ Π±ΡΠ²Π°Π΅Ρ?
Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ·Π»ΠΎΠΌ ΠΏΠΎΠΈΡΠΊΠ°, Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ; Π½Π°ΠΏΡΠΎΡΠΈΠ², ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ²ΠΎΡΠΎΡΡ Π½Π° 90 Π³ΡΠ°Π΄ΡΡΠΎΠ² Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ Π² Π΄ΡΡΠ³ΡΡ, ΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡΡΡ ΠΊΠ°ΠΊ [position, heading]
. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ·Π΅Π» ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°, Π½ΠΎ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π²Π·Π³Π»ΡΠ΄Π°; ΠΈ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ±ΡΠ° Π³ΡΠ°ΡΠ° (ΡΠ²Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½ΡΠ΅) ΠΎΡΡΠ°ΠΆΠ°ΡΡ ΡΡΠΎ.
ΠΡΠ»ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΡΠΊΠ΅ 5×5, ΡΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ [A, East]
. Π‘ΠΎΡΠ΅Π΄Π½ΠΈΠΌΠΈ ΡΠ·Π»Π°ΠΌΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ²Π»ΡΡΡΡΡ [B, East]
ΠΈ [A, South]
β Π΅ΡΠ»ΠΈ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ Π΄ΠΎΡΡΠΈΡΡ F, ΡΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΏΡΡΡ ΠΎΠ±ΡΡΠ» Π²ΠΈΠ΄ [A, East]
, [A, South]
, [F, South]
.
Π¨ΡΡΠ΅Ρ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π»ΠΈΡΠ°? ΠΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΠ΅ΡΡΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ: [X, Y, Z, Heading]
. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ [X, Y, Z, Heading, Health, Ammo]
.
Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ ΡΠ΅ΠΌ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ²ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ. Π‘Π°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ A* ΠΏΡΠΎΡΡ; ΠΈΡΠΊΡΡΡΡΠ²ΠΎ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΡΠ²ΡΠΈΡΡΠΈΠΊΠ΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π¦Π΅Π»Ρ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ β ΡΠ°Π· ΠΈ Π½Π°Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π·Π²Π΅ΡΡΡ ΠΌΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ A* β ΡΡΠΎ Π½Π΅ΠΊΠΈΠΉ ΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ, Π½Π΅ ΠΏΠΎΠ΄Π΄Π°ΡΡΠΈΠΉΡΡ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ. ΠΠ°ΠΏΡΠΎΡΠΈΠ², Ρ ΠΏΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ Π² Π½ΡΠΌ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π·Π°Π³Π°Π΄ΠΎΡΠ½ΠΎΠ³ΠΎ, ΠΈ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²Π΅ΡΡΠΈ, Π½Π°ΡΠ°Π² Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½ΡΠ»Ρ.
ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΡΡΠ΅Π½ΠΈΠ΅
Π£ ΠΠΌΠΈΡΠ° ΠΠ°ΡΠ΅Π»Π° Π΅ΡΡΡ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Β«ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Π»Π³ΠΎΡΠΈΡΠΌ A*Β» [ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π½Π° Π₯Π°Π±ΡΠ΅] (ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π΅Π³ΠΎ ΡΡΠ°ΡΡΠΈ Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅ΠΌΡ ΡΠΎΠΆΠ΅ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Ρ!).
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ β ΠΠΈΠΊΠΈΡΡΠ΅Π±Π½ΠΈΠΊ
- ΠΡΡ ΠΎΠ΄Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΡΠ°ΡΡΠΈ (ΠΠΎΡΠΎΠΆΡΠΎΠ²Β Π.Β Π., Β«Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ?Β») Π±ΡΠ»Π° ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π² ΠΆΡΡΠ½Π°Π»Π΅ Β«ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»Β»
ΠΠ΅ΠΎΠΌΠ΅ΡΡΠΈΡ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅Ρ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΡΡΠ»Π΅Π½ΠΈΠ΅, ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ° β Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅, Π»ΠΎΠ³ΠΈΠΊΠ° β Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅, ΡΠΈΠ·ΠΈΠΊΠ° β ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅β¦ Π ΠΊΠ°ΠΊΠΎΠ΅ ΠΌΡΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ°? ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ° Π΅ΡΡΡ Π½Π°ΡΠΊΠ°, ΡΠ»ΡΠΆΠ°ΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌ. ΠΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΡΡΠΎΠΉ Π½Π°ΡΠΊΠΈ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ Π½Π΅ ΡΠ°ΠΌΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π° ΠΎΠ±ΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ. ΠΠ°Π·ΠΈΡΠΎΠΌ ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ° ΡΠ°Π·Π²ΠΈΠ²Π°Π΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΡΡΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΠΏΠΎΠ½ΡΡΠΈΡΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ. ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, Π½Π΅ ΡΠ°ΠΊ-ΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΡΠ½ΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠΎΠ½ΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°[ΠΏΡΠ°Π²ΠΈΡΡ]
ΠΠΎΠ½ΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° β ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅[1]. ΠΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅ΡΠΈΡΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠ΅ΠΌ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΡΡΡ ΡΠΎΠ»ΠΊΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΌΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ. ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΡΡΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΎ. ΠΠ΅ΠΉΡΡΠ²ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎ ΡΡΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠΌΠΈ.
ΠΠ°ΠΏΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. ΠΠ½ΠΎΠ³Π΄Π° ΡΠ°ΠΌΠΎ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΡΠΎΠΆΠ΄Π΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ Π΅Π³ΠΎ Π·Π°ΠΏΠΈΡΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠ»ΠΎΠ²Π° Β«Π°Π»Π³ΠΎΡΠΈΡΠΌΒ» ΠΈ Β«ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Β» β ΠΏΠΎΡΡΠΈ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΡ. ΠΠ΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ΄ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΈΠ΄Π΅Ρ Π΅Π³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΆΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ²ΡΠ·Π°Π½Π° Ρ Π·Π°ΠΏΠΈΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
ΠΡΠΈΠ²Π΅Π΄ΡΠΌ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠΎΡΡΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π΅ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΡΠ»ΠΈΡΡ:
- ΠΠΎΠ΄ΠΎΠΉΡΠΈ ΠΊ Π΄ΠΎΡΠΎΠ³Π΅.
- ΠΠΎΠΆΠ΄Π°ΡΡΡΡ Π·Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° ΡΠ²Π΅ΡΠΎΡΠΎΡΠ°.
- ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π΄ΠΎΡΠΎΠ³Ρ.
- ΠΡΠ»ΠΈ Π²ΠΏΠ΅ΡΠ΅Π΄ΠΈ Π΅ΡΡΡ Π΅ΡΡ ΠΎΠ΄Π½Π° Π΄ΠΎΡΠΎΠ³Π°, ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ°Π³Ρ 1.
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΡΡΠΈ): ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π³ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ ΡΠ°Π³Π° ΠΊ ΡΠ°Π³Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΌΠΎΠ³ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
ΠΡΠΎΠΌΠ΅ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ, Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ°ΡΡΠΎΠ²ΠΎΡΡΠΈ:
- ΠΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ
- ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π·Π° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π³ΠΎΠ², Π½ΠΎ ΡΡΠΎ ΡΠΈΡΠ»ΠΎ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΡΠ²Π΅ΡΡ Ρ.
- ΠΠ°ΡΡΠΎΠ²ΠΎΡΡΡ
- ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ (ΡΠΈΡΠ΅Π», ΠΏΠ°Ρ ΡΠΈΡΠ΅Π», Π½Π°Π±ΠΎΡΡ Π±ΡΠΊΠ² ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌΡ). ΠΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π° ΡΡΡΠΎΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΡ ΡΠΈΡΠ΅Π» 10 ΠΈ 15.
ΠΠΎΡΡΠ½ΠΈΠΌ ΡΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½Π° ΠΏΡΠΎΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠΎΡΠΌΡΠ»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π° Ο{\displaystyle \pi }: Ο=4(1β13+15β17+β¦)=4βi=0β(β1)i2i+1{\displaystyle \pi =4\left(1-{\frac {1}{3}}+{\frac {1}{5}}-{\frac {1}{7}}+\dots \right)=4\sum _{i=0}^{\infty }{\frac {(-1)^{i}}{2i+1}}}.
Π―Π²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΡΠ° ΡΠΎΡΠΌΡΠ»Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π° Ο{\displaystyle \pi }? ΠΡΠ²Π΅Ρ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ β Β«Π½Π΅ΡΒ», ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π·Π΄Π΅ΡΡ Π½Π΅Ρ Π½ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΌΠ°ΡΡΠΎΠ²ΠΎΡΡΠΈ (Π½Π΅Ρ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ), Π½ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΠΈ (ΡΡΠΌΠΌΠ° Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΈΡΠ΅Π»)[2].
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΄Π° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎΠΉ Π½ΠΈ Π΄Π»Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ², Π½ΠΈ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π° Π΅ΡΠ»ΠΈ ΡΠ°Π·Π»ΠΎΠΆΠΈΡΡ ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π³ΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π³ΠΎΠ². ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΆΠ΅ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π·Π° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π³ΠΎΠ² ΠΈ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π³ΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.
ΠΠΎΠ½ΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ[ΠΏΡΠ°Π²ΠΈΡΡ]
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π½Π°Π΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½Ρ, Π° ΠΊΠ°ΠΊΠΈΠ΅ β Π½Π΅Ρ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ (Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ). ΠΠ°Π±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ ΡΡΡΠΊΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½. ΠΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΠΏΠ΅ΡΠΈΡΡΡΡ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ . Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΈ ΠΈΡΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ[3]. ΠΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΈΡ β ΡΡΠΎ ΡΡΠ΅ΠΉΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ ΡΠΈΡΠ»ΠΎ 0 ΠΈΠ»ΠΈ 1. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°Π±ΠΎΡΠ° Π±ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ΅Π»ΡΠ΅ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ 0{\displaystyle 0} Π΄ΠΎ 28β1=255{\displaystyle 2^{8}-1=255} Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ 8 Π±ΠΈΡ:
0 | β 00000000 |
1 | β 00000001 |
2 | β 00000010 |
3 | β 00000011 |
4 | β 00000100 |
5 | β 00000101 |
β¦ | β β¦ |
250 | β 11111010 |
251 | β 11111011 |
252 | β 11111100 |
253 | β 11111101 |
254 | β 11111110 |
255 | β 11111111 |
Π£ΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½ΡΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ ΡΠΈΡΠ»Π°. ΠΠ°ΠΆΠ΄ΠΎΠΌΡ Π±ΠΈΡΡ Π² ΡΡΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅ΠΏΠ΅Π½Ρ Π΄Π²ΠΎΠΉΠΊΠΈ. Π‘Π°ΠΌΠΎΠΌΡ ΠΏΡΠ°Π²ΠΎΠΌΡ Π±ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ 1=20{\displaystyle 1=2^{0}}, Π²ΡΠΎΡΠΎΠΌΡ ΡΠΏΡΠ°Π²Π° β 2=21{\displaystyle 2=2^{1}}, ΡΡΠ΅ΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π° β 4=22{\displaystyle 4=2^{2}}, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠ²ΠΎΠΈΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΈΡΠ»Π° Π² ΡΡΠΌΠΌΡ Π½Π΅ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ ΡΡΠ΅ΠΏΠ΅Π½Π΅ΠΉ Π΄Π²ΠΎΠΉΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ°Π΄Π°ΡΠ° 1
ΠΠΎΠΊΠ°ΠΆΠΈΡΠ΅, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π½Π°ΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠΌΠΌΡ Π½Π΅ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ ΡΡΠ΅ΠΏΠ΅Π½Π΅ΠΉ Π΄Π²ΠΎΠΉΠΊΠΈ. ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°: Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° n{\displaystyle n} Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅ΠΏΠ΅Π½Ρ Π΄Π²ΠΎΠΉΠΊΠΈ 2m{\displaystyle 2^{m}}, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠ΅Π½ΡΡΠ΅ n{\displaystyle n}. Π Π°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ nβ²=nβ2m{\displaystyle n’=n-2^{m}}. ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½Π΄ΡΠΊΡΠΈΠΈ.
ΠΠΎΠ½Π΅ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π»ΠΈΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ 8 Π±ΠΈΡ (ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ) ΠΈΠΌΠ΅Π΅Ρ 256 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ· ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅: ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΡ (Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ) ΡΠΈΡΠ΅Π».
ΠΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²Ρ Π²ΡΡΡΠ΅ΡΠΈΡΠ΅ΡΡ Ρ ΡΠ°ΠΊΠΈΠΌ ΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ β ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎΠΉ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠΈΡΠ΅Π», ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ.
ΠΡΠ°ΠΊ, Π΄Π»Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² Π»ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΡΠ²Π»ΡΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ[4]ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠΈΡ
ΡΠΈΡΠ΅Π» ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ. ΠΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½Ρ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠΈΡΠ΅Π». Π¦Π΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π΅Π·Π΄Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ
Ρ 32-Π±ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π² 32 Π±ΠΈΡΠ°Ρ
. ΠΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΠΈΡΠ΅Π» Π² 32 Π±ΠΈΡΠ° ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ Π΄Π²ΠΎΠΈΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ. ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌΡΡ
ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΈΡΠ΅Π» β ΡΡΠΎ Π²ΡΠ΅ Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΌΠ΅Π½ΡΡΠ΅ 232{\displaystyle 2^{32}}. ΠΡΠΎΠΌΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
unsigned int
. ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ ΡΠ»ΠΎΠΆΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π΄Π²Π° ΡΠΈΡΠ»Π° ΡΠΈΠΏΠ° unsigned int
, ΡΡΠΌΠΌΠ° ΠΊΠΎΡΠΎΡΡΡ
Π±ΠΎΠ»ΡΡΠ΅ Π»ΠΈΠ±ΠΎ ΡΠ°Π²Π½Π° 232{\displaystyle 2^{32}}, ΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ β ΡΡΠ°ΡΡΠΈΠΉ 33-ΠΉ Π±ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π±ΡΠ΄Π΅Ρ ΡΡΠ΅ΡΡΠ½.
ΠΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΠΈΡΠ΅Π» Π² Π²ΠΈΠ΄Π΅ 32 Π±ΠΈΡ ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ΄ Π·Π½Π°ΠΊ β Β«ΠΏΠ»ΡΡΒ» ΠΈΠ»ΠΈ Β«ΠΌΠΈΠ½ΡΡΒ». ΠΠ΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°, ΠΌΠ΅Π½ΡΡΠΈΠ΅ 231{\displaystyle 2^{31}}, Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ. Π‘ΡΠ°ΡΡΠΈΠΉ Π±ΠΈΡ Ρ Π½ΠΈΡ
ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ. ΠΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ βa{\displaystyle -a}, ΠΌΠΎΠ΄ΡΠ»Ρ a{\displaystyle a} ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ Π»ΠΈΠ±ΠΎ ΡΠ°Π²Π΅Π½ 231{\displaystyle 2^{31}}, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² 32 Π±ΠΈΡΠ°Ρ
ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠΈΡΠ»Π° 232βa{\displaystyle 2^{32}-a}. Π‘ΡΠ°ΡΡΠΈΠΉ Π±ΠΈΡ Π΄Π»Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΠΈΡΠ΅Π» ΡΠ°Π²Π΅Π½ 1. ΠΡΠΎΠΌΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΈΠΏ int
. ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌΡΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΈΡΠ»Π° β ΡΡΠΎ ΡΠΈΡΠ»Π° Π½Π° ΠΎΡΡΠ΅Π·ΠΊΠ΅ [β231,231β1]{\displaystyle [-2^{31},\;2^{31}-1]}.
ΠΠΎΠ΄Π²Π΅Π΄ΡΠΌ ΠΈΡΠΎΠ³ΠΈ:
Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π΅ΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ (Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ), ΠΎΠΏΠ΅ΡΠΈΡΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
ΠΡ ΠΎΠ΄ΠΎΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΈΡ. ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π·Π°ΠΏΠΈΡΠΈ ΡΠΈΡΠ΅Π» (Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ , ΡΠ΅Π»ΡΡ , ΠΈ ΡΠ΅Π»ΡΡ Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ) Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΠΈΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π²Ρ ΠΎΠ΄Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΡΠΈΠΌ ΠΎΠ½ ΡΠ΅ΠΌ-ΡΠΎ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΠΎΠ±ΡΠΊΠ½ΠΎΠ²Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π΄Π°Π½Π° Π½Π΅ΡΠ²Π½ΠΎ, Π° Π°Π»Π³ΠΎΡΠΈΡΠΌ β Π½Π΅Ρ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ Π²Ρ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠΌΠΈ: ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ ΠΊΠΎΠ½Π΅ΡΠ½Π°, ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠ½Π΅ΡΠ΅Π½ ΠΈ ΡΡΡΠΊΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π²Π½Π΅ΡΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ Π΅ΡΡΡ ΡΠΊΠΎΠ»Ρ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΡΠΎΠ² Π±ΡΠΌΠ°Π³ΠΈ, ΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΡΠ΄ (ΡΡΠ΅Π΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ Π»ΠΈΡΡΠΊΠ΅ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡΡΡ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ ΠΈ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΅ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π° Π»ΠΈΡΡΠ°Ρ .
Π‘ΠΏΠΎΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²[ΠΏΡΠ°Π²ΠΈΡΡ]
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ β ΡΠ»ΠΎΠ²Π°ΠΌΠΈ. Π’Π°ΠΊ ΠΈ Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ β Π²ΡΠ΅ ΡΠ΅ΠΎΡΠ΅ΠΌΡ ΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π±Π΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΠΆΠΈΠ·Π½Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ°ΠΌ: ΠΈΡΡΠ΅Π·Π°Π΅Ρ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΡΡΡ, ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΊΡΠ°ΡΠΊΠΎΡΡΡ ΠΈ ΡΡΠ½ΠΎΡΡΡ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΡ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ°ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΈ ΠΏΠΈΡΠ°ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΈ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΈΠΌΠ΅ΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΠ΅ΡΡΡ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π·Π°Π³ΡΠΎΠΌΠΎΠΆΠ΄Π°ΡΡ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ. ΠΠ΄Π΅ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠ·ΡΠΊ Pascal, Π½ΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΡΡΡΠΎΠ³ΠΈΠΌ.
Π Π°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ β ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄, ΡΡ Π΅ΠΌΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π·Π°Π΄Π°ΡΠΈ. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° β ΡΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π° ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΠ»Π³ΠΎΡΠΈΡΠΌ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΈΠ΄Π΅ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡ Π΅ΠΌΠΎΠΉ:
- ΠΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ β ΠΠ»Π³ΠΎΡΠΈΡΠΌ β ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
Π‘ΡΡΠ΅Π»ΠΊΠ° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΡΠ°ΠΏΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ²Π½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ²ΠΊΠ»ΠΈΠ΄Π°[ΠΏΡΠ°Π²ΠΈΡΡ]
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°:
- ΠΡΠ»ΠΈ a=b{\displaystyle a=b}, ΡΠΎ ΠΠΠ (Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΠΎΠ±ΡΠΈΠΉ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ) =a=b{\displaystyle =a=b} ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ.
- ΠΡΠ»ΠΈ a>b{\displaystyle a>b}, ΡΠΎ ΠΈΠ· a{\displaystyle a} Π²ΡΡΠΈΡΠ°Π΅ΠΌ b{\displaystyle b} (aβaβb{\displaystyle a\gets a-b}). ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ 1.
- ΠΡΠ»ΠΈ ΠΆΠ΅ b>a{\displaystyle b>a}, ΡΠΎ ΠΈΠ· b{\displaystyle b} Π²ΡΡΠΈΡΠ°Π΅ΠΌ a{\displaystyle a} (bβbβa{\displaystyle b\gets b-a}). ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ 1.
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΡΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π°.
ΠΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ 1. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ²ΠΊΠ»ΠΈΠ΄Π°
1 Function ΠΠΠ(a, b)
2 While aβ b{\displaystyle a\neq b}
3 If a>b{\displaystyle a>b}
4 aβaβb{\displaystyle a\gets a-b}
5 Else
6 bβbβa{\displaystyle b\gets b-a}
7 End If
8 End While
9 Return a
10 End Function
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ While(A) B End While
ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ B
, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
Π² ΡΠ΅Π»Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° While
, ΠΏΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ A
Β». Π’Π΅Π»ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° While
β ΡΡΠΎ Π²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ While(A)
ΠΈ End While
. ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ A
Π½Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅, ΡΠΎ ΡΠ΅Π»ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° While
Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½ΠΈ ΡΠ°Π·Ρ. ΠΠ΄ΠΈΠ½ ΡΠ°Π³ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠΈΠΊΠ»Π°.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ If(A) B Else C End If
Β» ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«Π΅ΡΠ»ΠΈ Π²Π΅ΡΠ½ΠΎ A
, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ B
, ΠΈΠ½Π°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ C
Β».
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ return a
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«Π²Π΅ΡΠ½ΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ a
Β».
ΠΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΡΡΠΎ Π½Π°Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΠΠΠ° ΡΠΈΡΠ΅Π» a{\displaystyle a} ΠΈ b{\displaystyle b}.
ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΠΠ(a,b)={\displaystyle (a,\;b)=\;}ΠΠΠ(aβb,b){\displaystyle (a-b,\;b)} ΠΏΡΠΈ a>b{\displaystyle a>b}, ΠΏΠΎΡΡΠΎΠΌΡ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠΈΡΠ΅Π», Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠΠ(a,b){\displaystyle (a,\;b)} ΠΎΡΡΠ°ΡΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ· ΡΠΈΡΠ΅Π» a{\displaystyle a} ΠΈ b{\displaystyle b} Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ°Π³ΠΎΠΌ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ, ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ½ΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΡΠ°Π²Π½Ρ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ ΠΈ ΡΠ°Π²Π½Ρ ΠΈΡΠΊΠΎΠΌΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΠ°Π΄Π°ΡΠ° 2
ΠΠΎΠΊΠ°ΠΆΠΈΡΠ΅, ΡΡΠΎ ΠΠΠ(a,b)={\displaystyle (a,\;b)=\;}ΠΠΠ(aβb,b){\displaystyle (a-b,\;b)} Π΄Π»Ρ Π»ΡΠ±ΡΡ Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ a{\displaystyle a} ΠΈ b{\displaystyle b}, ΡΠ°ΠΊΠΈΡ ΡΡΠΎ a>b{\displaystyle a>b}.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ[ΠΏΡΠ°Π²ΠΈΡΡ]
Π ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ΅ΠΊΡΡΡΠ΅Π½ΡΠ½ΡΠ΅ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π΄ΡΡΠ³ΠΈΡ (ΠΎΠ±ΡΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠΈΡ ) Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ . ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ 1, 1, 2, 3, 5, 8, 13, β¦, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΠΌΠΈ:
F1=1,F2=1,Fn=Fnβ1+Fnβ2{\displaystyle F_{1}=1,\quad F_{2}=1,\quad F_{n}=F_{n-1}+F_{n-2}}.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎ ΡΠ΅ΠΊΡΡΡΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ:
ΠΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ 2. Π§ΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ
1 Function Fibo(n)
2 If n = 1 Or n = 2
3 Return 1
4 End If
5 Return Fibo(n - 1) + Fibo(n - 2)
6 End Function
ΠΡΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π΄Π²Π° Π²ΠΎΠΏΡΠΎΡΠ°: ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½Π° Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ? ΠΡΠ²Π΅Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΡΡ, β Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΡΠ΅Π½ΡΠ½ΡΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Ρ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ (ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ) ΡΡΠ°Π±ΠΎΡΠ°Π» ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, β ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅. ΠΠΎ Π΅ΡΡΡ Π΅ΡΡ Π΄ΡΡΠ³Π°Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ[5].
ΠΠ°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ Π² ΡΡΠΎΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠΎΡΠΊΠ° 5:
Return Fibo(n - 1) + Fibo(n - 2)
ΠΠ½Π° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅: Β«ΠΠ°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Fibo(n - 1)
, Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Fibo(n - 2)
, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΡΠ»ΠΎΠΆΠΈΡΡ ΠΈ Π²Π΅ΡΠ½ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°Β». ΠΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΡΡΠΎ Π² ΡΡΠΎΠΉ ΡΡΡΠΎΡΠΊΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠΎΡΠΈΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΡ Fibo(n - 1)
, Π° ΡΠ°ΠΌ ΠΆΠ΄ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ. Π£Π·Π½Π°ΡΡ Ρ Π½Π΅Π³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΏΡΠΎΡΠΈΡ Π²ΡΡΠΈΡΠ»ΠΈΡΡ Fibo(n - 2)
ΠΈ ΡΠ½ΠΎΠ²Π° ΠΆΠ΄ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. ΠΠ²Π° ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΌΠΌΡ ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ. ΠΠ½ΡΠ΅ΡΠ΅Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΏΠΎ ΡΠ°ΠΊΠΎΠΌΡ ΠΆΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ β Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠ΅ 1, ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½ΡΠΆΠ½ΡΡ
Π΅ΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ΅ΡΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ Π² Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ².
Π ΠΈΡ. 1. ΠΠ΅ΡΠ΅Π²ΠΎ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄Π»Ρ F6{\displaystyle F_{6}}.
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 1 ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΎ Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠ΅Π΅ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ F6{\displaystyle F_{6}}. ΠΡΠΎ Π΄Π΅ΡΠ΅Π²ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΌΠ° ΡΠ΅Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ F6{\displaystyle F_{6}} Π±ΡΠ»ΠΈ Π²ΡΠ·Π²Π°Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ F5{\displaystyle F_{5}} ΠΈ F4{\displaystyle F_{4}}. ΠΠ»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ F5{\displaystyle F_{5}} ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΈΡΡ F4{\displaystyle F_{4}} ΠΈ F3{\displaystyle F_{3}}, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π» ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΡΠΈ Π»ΡΠ±ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΡΠ²Π°Π»ΠΎΡΡ ΠΈ Π±ΡΠ»ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΎΠ±ΡΡΠ²Π°Π΅ΡΡΡ Π½Π° F1{\displaystyle F_{1}} ΠΈ F2{\displaystyle F_{2}}, Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ.
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ Β«Π·Π°Π²ΠΈΡΠ°Π½ΠΈΠ΅Β» ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ»ΠΎΡ ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΠΈΠ΄Π΅ΠΉ. ΠΠ°Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠΆΠ΅ ΠΏΠ»ΠΎΡ β ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ n{\displaystyle n}.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π±ΠΎΡΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΡΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌΠΈ. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΡ n{\displaystyle n}-ΠΉ ΡΠ»Π΅Π½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ (Π·Π΄Π΅ΡΡ ΠΏΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ ΡΡΡΠΎΡΠΊΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅). ΠΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ ΡΡΠΎ ΡΠΈΡΠ»ΠΎ ΠΊΠ°ΠΊ T(n){\displaystyle T(n)}.
ΠΠ»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Fibo(n)
Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠ·Π²Π°ΡΡ Fibo(n - 1)
ΠΈ Fibo(n - 2)
, ΠΏΠΎΡΡΠΎΠΌΡ T(n)β₯T(nβ1)+T(nβ2){\displaystyle T(n)\geq T(n-1)+T(n-2)}. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΎ, ΡΡΠΎ T(1)=T(2)>1{\displaystyle T(1)=T(2)>1}, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΠΈΠ½Π΄ΡΠΊΡΠΈΠΈ Π΄ΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ T(n)β₯Fn{\displaystyle T(n)\geq F_{n}}. ΠΠΎ ΡΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΡΡΡΠΎ (F50=20365011074{\displaystyle F_{50}=20365011074}). ΠΠΎΡΡΠΎΠΌΡ Π΄Π°ΠΆΠ΅ Π½Π° ΠΌΠΎΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π°ΠΌ Π½Π΅ ΡΠ΄Π°ΡΡΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΡΡΡΠΊΠΎΠ² ΡΠ»Π΅Π½ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ. ΠΡ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠΆΠ΅ Π΄ΠΎΠ³Π°Π΄ΡΠ²Π°Π΅ΡΠ΅ΡΡ, Π² ΡΡΠΌ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. Π Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ² β Π² Π΄Π΅ΡΠ΅Π²Π΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Fibo(n - 2)
Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½Π° Π΄Π²Π° ΡΠ°Π·Π°: ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠ· Fibo(n)
, Π° ΠΏΠΎΡΠΎΠΌ ΠΈΠ· Fibo(n - 1)
, ΠΈ ΠΎΠ±Π° ΡΠ°Π·Π° Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ. ΠΡΠΎΡΡΠΎΠΉ Β«ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΉΒ» Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π±ΡΡΡΡΠ΅Π΅: Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π° ΡΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ, Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΡΡΠΎΡ ΡΠ°Π³ Π½ΡΠΆΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π·. ΠΡΠΈΠ²Π΅Π΄ΡΠΌ Π΅Π³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π΅ (ΡΠΌ. ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ 3).
ΠΠ»Π³ΠΎΡΠΈΡΠΌ 3 Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Fn{\displaystyle F_{n}} Π²ΡΠΏΠΎΠ»Π½ΠΈΡ nβ2{\displaystyle n-2} ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠΊΠ»Π° While
. ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ°ΡΡΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Ρ n{\displaystyle n} (ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ n{\displaystyle n} Π² k{\displaystyle k} ΡΠ°Π· ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΎΠΆΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² k{\displaystyle k} ΡΠ°Π·).
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ (Π΄ΠΎΠ»ΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌ ΠΏΡΠΈ Π±ΠΎΠ»ΡΡΠΈΡ n{\displaystyle n}), Π½Π΅ΠΆΠ΅Π»ΠΈ Π½Π΅ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ.
ΠΠΎ ΡΡΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΡ Π½Π΅ Π½Π°Π΄ΠΎ. Π Π΅ΠΊΡΡΡΠΈΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ Π²Π°ΠΆΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ: ΡΠ°Π·Π΄Π΅Π»ΡΠΉ ΠΈ Π²Π»Π°ΡΡΠ²ΡΠΉ.
ΠΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅ΡΠΈΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°ΡΡ β ΡΡΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π΅Ρ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΡ ΠΈ Β«ΡΠ°Π·Π΄Π΅Π»Π°ΡΡΡΡΒ» Ρ Π½ΠΈΠΌΠΈ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΎ ΡΡΡΠΈ, ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΠΆΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΡΡΠ»Π΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ.
ΠΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ 3. Π§ΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ: Π½Π΅ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ
1 Function FiboNR(n)
2 If n<3{\displaystyle n<3} Then
3 Return 1
4 Else
5 bβ1{\displaystyle b\gets 1} \\ ΠΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ
6 aβ1{\displaystyle a\gets 1} \\ ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ
7 For iβ3β¦n{\displaystyle i\in 3\ldots n}
8 cβa+b{\displaystyle c\gets a+b} \\ ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ
9 bβa{\displaystyle b\gets a} \\ Π‘ΡΠ°ΡΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΠΈΡΠ»ΠΎ ΡΡΠ°Π»ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ
10 aβc{\displaystyle a\gets c} \\ ΠΠΎΠ²ΠΎΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΡΠ°Π»ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ
11 End For
12 Return c
13 End If
14 End Function
ΠΡ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π»Π΅Π³ΠΊΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π ΠΈΠΌΠ΅Π½Π½ΠΎ, Π² ΠΏΠ°ΠΌΡΡΠΈ Ρ ΡΠ°Π½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΆΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΎ ΠΈ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, ΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ Π»ΠΈΡΡ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΅ΡΡ Π½ΠΈ ΡΠ°Π·Ρ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π»Π°ΡΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°Π΄Π°ΡΠ° Β«Π₯Π°Π½ΠΎΠΉΡΠΊΠΈΠ΅ Π±Π°ΡΠ½ΠΈΒ»[ΠΏΡΠ°Π²ΠΈΡΡ]
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ β ΠΈΠ³ΡΡ Β«Π₯Π°Π½ΠΎΠΉΡΠΊΠΈΠ΅ Π±Π°ΡΠ½ΠΈΒ», ΠΏΡΠΈΠ΄ΡΠΌΠ°Π½Π½ΡΡ Π΅ΡΡ Π² 1883 Π³ΠΎΠ΄Ρ ΠΠ΄ΡΠ°ΡΠ΄ΠΎΠΌ ΠΡΠΊΠ°. ΠΡΡΡ ΡΡΠΈ ΡΡΠ΅ΡΠΆΠ½Ρ ΠΈ 64 ΠΊΠΎΠ»ΡΡΠ°Μ, Π½Π°Π½ΠΈΠ·Π°Π½Π½ΡΡ Π½Π° Π½ΠΈΡ . Π Π½Π°ΡΠ°Π»Π΅ Π²ΡΠ΅ ΠΊΠΎΜΠ»ΡΡΠ° Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ΅ΡΠΆΠ½Π΅, ΠΏΡΠΈΡΡΠΌ Π²ΡΠ΅ ΠΊΠΎΜΠ»ΡΡΠ° ΡΠ°Π·Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠ°, ΠΈ ΠΌΠ΅Π½ΡΡΠΈΠ΅ ΠΊΠΎΜΠ»ΡΡΠ° Π»Π΅ΠΆΠ°Ρ Π½Π° Π±ΠΎΜΠ»ΡΡΠΈΡ . ΠΠ° Ρ ΠΎΠ΄ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ Π²Π·ΡΡΡ Π²Π΅ΡΡ Π½Π΅Π΅ ΠΊΠΎΠ»ΡΡΠΎ Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΡΠ΅ΡΠΆΠ½Ρ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ΅ΡΠΆΠ΅Π½Ρ ΡΠ²Π΅ΡΡ Ρ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΊΠ»Π°ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΡΡΠΎ Π½Π° ΠΌΠ΅Π½ΡΡΠ΅Π΅. Π¦Π΅Π»Ρ ΠΈΠ³ΡΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π²ΡΡ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠ΅ΡΠΆΠ½Ρ Π½Π° Π²ΡΠΎΡΠΎΠΉ.
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ, Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΈ ΡΠ°ΠΌΠΎΠ΅ Π½ΠΈΠΆΠ½Π΅Π΅ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΡΡΠΎ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΜΠ»ΡΡΠ° Π±ΡΠ»ΠΈ Π½Π° ΡΡΠ΅ΡΡΠ΅ΠΌ ΡΡΡΡΠ΅. ΠΠ½Π°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ N{\displaystyle N} ΠΊΠΎΠ»Π΅Ρ, Π½Π°ΠΌ ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠΎΠ»Π±ΠΈΠΊ ΠΈΠ· Π²Π΅ΡΡ Π½ΠΈΡ Nβ1{\displaystyle N-1} ΠΊΠΎΠ»Π΅Ρ Π½Π° ΡΡΠ΅ΡΠΈΠΉ ΡΡΠ΅ΡΠΆΠ΅Π½Ρ, Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ°ΠΌΠΎΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΡΡΠΎ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π½Π° Π²ΡΠΎΡΠΎΠΉ ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠΎΠ»Π±ΠΈΠΊ ΠΈΠ· Nβ1{\displaystyle N-1} ΠΊΠΎΠ»Π΅Ρ Ρ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΡΡΠ΅ΡΠΆΠ½Ρ Π½Π° Π²ΡΠΎΡΠΎΠΉ.
ΠΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ 4. Π₯Π°Π½ΠΎΠΉΡΠΊΠΈΠ΅ Π±Π°ΡΠ½ΠΈ
1 Function Move(n, x, y)
2 If n = 1 Then
3 ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ½ΡΡΡ ΠΊΠΎΠ»ΡΡΠΎ Ρ ΡΡΠ΅ΡΠΆΠ½Ρ x Π½Π° ΡΡΠ΅ΡΠΆΠ΅Π½Ρ y
4 End If
5 Move(n - 1, x , 6 - x - y)
6 Move(1 , x , y )
7 Move(n - 1, 6 - x - y, y )
8 End Function
ΠΡΠ°ΠΊ, ΠΌΡ ΠΎΠΏΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ: Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ Π΄Π»Ρ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ ΠΈΠ· N{\displaystyle N} ΠΊΠΎΠ»Π΅Ρ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ Π΅Ρ Π΄Π»Ρ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ ΠΈΠ· Nβ1{\displaystyle N-1} ΠΊΠΎΠ»Π΅Ρ. ΠΠΎΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΡΡΡΡ f(N){\displaystyle f(N)} β Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ ΠΈΠ· n{\displaystyle n} ΠΊΠΎΠ»Π΅Ρ. ΠΠ»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΡΡΠ° ΠΎΡΠ²Π΅Ρ ΡΠ°Π²Π΅Π½ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅: f(1)=1{\displaystyle f(1)=1}, Π΄Π»Ρ N{\displaystyle N} ΠΎΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ f(N)=f(Nβ1)+1+f(Nβ1)=2f(
Π‘ΠΏΠΈΡΠΎΠΊ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² β ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ
ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΈΠ· ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ β ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΡΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΠΈ
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠΌ. ΠΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΏΠΈΡΠΊΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΡΠ΅ΠΎΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²[1]
ΠΠ±ΡΠΈΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΎΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΎΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Π½Π° Π³ΡΠ°ΡΠ°Ρ [ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
n{\displaystyle n} β ΡΠΈΡΠ»ΠΎ Π²Π΅ΡΡΠΈΠ½, m{\displaystyle m} β ΡΠΈΡΠ»ΠΎ ΡΡΠ±Π΅Ρ, U{\displaystyle U} β Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ°Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠΈ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ°[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Π½Π° ΡΡΡΠΎΠΊΠ°Ρ [ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΡΠΎΠΊΠΈ[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ²[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΠ½Π΄Π΅ΠΊΡΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊ[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
- Bogosort
- Stooge sort
- Timsort β Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΡΠΎΡΠ΅ΡΠ°ΡΡΠΈΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ
- ΠΠ°ΠΈΠ²Π½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°Β β Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π²ΡΠ΅Ρ n!{\displaystyle n!} Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ
- ΠΠ»ΠΈΠ½Π½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°
- ΠΠ»ΠΎΡΠ½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° (ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠ°ΠΊ ΠΊΠΎΡΠ·ΠΈΠ½Π½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°), ΡΡ. Ρ ΠΏΠΎΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΉ
- ΠΡΡΡΡΠ°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°Β β Ρ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ Π½Π° Π΄Π²Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΡΠ°ΠΊ, ΡΡΠΎ Π»ΡΠ±ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²ΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ; Π·Π°ΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅
- ΠΠ½ΠΎΠΌΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°Β β ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ±ΡΠ΅Π΅ Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΡΠ·ΡΡΡΠΊΠΎΠΌ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°Β β O(n2){\displaystyle O(n^{2})}.
- ΠΠΈΡΠ°ΠΌΠΈΠ΄Π°Π»ΡΠ½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° (Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΊΡΡΠ΅ΠΉ)Β β ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π² ΠΊΡΡΡ, Π±Π΅ΡΡΠΌ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°
- ΠΠ»Π°Π²Π½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°
- ΠΠΎΡΠ°Π·ΡΡΠ΄Π½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°Β β ΡΠΎΡΡΠΈΡΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Π±ΡΠΊΠ²Π° Π·Π° Π±ΡΠΊΠ²ΠΎΠΉ.
- Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΠ΅Π½ΡΠ»ΠΈ β Π‘Π΅Π΄ΠΆΠ²ΠΈΠΊΠ° (Π°Π½Π³Π».Β BeSe sort)Β β ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π±ΡΡΡΡΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ, Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΠ°ΡΡΡ Π² Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π΅ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ, Π° Π½Π° ΡΡΠΈ ΡΠ°ΡΡΠΈΒ β Π² ΡΡΠ΅ΡΡΡ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ (ΠΏΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ) ΠΊΠ»ΡΡΠΈ
- Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²Π° (Π°Π½Π³Π».Β Tree sort)
- Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π²ΡΡΠ°Π²ΠΎΠΊΒ β ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ, Π³Π΄Π΅ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅, ΠΈ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΡΠ΄Π°
- Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π²ΡΠ±ΠΎΡΠ°Β β Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΠΈΠ»ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ Π² Π½Π°ΡΠ°Π»ΠΎ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π΅Ρ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°
- Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ (Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΊΠΎΠΊΡΠ΅ΠΉΠ»Π΅ΠΌ)
- Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΡΠΎΠΌΒ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠΈΡΠ»ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² (3 Π²Π°ΡΠΈΠ°Π½ΡΠ°)
- Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠ·ΡΡΡΠΊΠΎΠΌ
- Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ°ΡΡΡΡΠΊΠΎΠΉ
- Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌΒ β ΡΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΡΡ ΠΈ Π²ΡΠΎΡΡΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΡΠΏΠΈΡΠΊΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Π° Π·Π°ΡΠ΅ΠΌΒ β ΡΠ»ΠΈΠ²Π°Π΅ΠΌ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ
- Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π¨Π΅Π»Π»Π°Β β ΠΏΠΎΠΏΡΡΠΊΠ° ΡΠ»ΡΡΡΠΈΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ
- Π’ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°
- Π₯ΠΈΡΡΠ°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°Β β ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Ρ ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Ρ ΡΠΆΠ΅ ΠΈΠ·Π²Π»Π΅ΡΡΠ½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ
- Π¦ΠΈΡΡΠΎΠ²Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°Β β ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ ΠΠΎΡΠ°Π·ΡΡΠ΄Π½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΡ[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π±ΡΠ»Π΅Π²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΆΠ°ΡΠΈΡ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
- ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠ°ΡΡΠΎΡΠ·Π° β Π£ΠΈΠ»Π΅ΡΠ° (ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠ°ΠΊ Π°Π½Π³Π».Β BWT)Β β ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΠΆΠ°ΡΠΈΡ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ
- ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π¨ΠΈΠ½Π΄Π»Π΅ΡΠ° (Π°Π½Π³Π».Β ST)Β β ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΠ°ΡΡΠΎΡΠ·Π°Β β Π£ΠΈΠ»Π΅ΡΠ°
- ΠΠ»Π³ΠΎΡΠΈΡΠΌ DEFLATEΒ β ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΆΠ°ΡΠΈΡ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ zlib)
- ΠΠ΅Π»ΡΡΠ°-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅Β β ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ Ρ ΡΠ°ΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠΌΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΠΌΠΈ
- ΠΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅Β β Π΄Π΅Π»ΡΡΠ°-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ΅ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΡΠΎΠΊ
- Π‘Π΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠ»ΠΎΠ²Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠΆΠ°ΡΠΈΡ ΠΠ΅ΠΌΠΏΠ΅Π»ΡΒ β ΠΠΈΠ²Π°:
- LZ77Β β ΡΠΎΠ΄ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΈΠΊ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° LZ77-Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²
- LZ78Β β ΡΠΎΠ΄ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΈΠΊ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° LZ78-Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²
- LZMAΒ β ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ Π°Π½Π³Π».Β Lempel-Ziv-Markov chain-Algorithm
- LZOΒ β Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΆΠ°ΡΠΈΡ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ
- ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΆΠ°ΡΠΈΡ PPM
- ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½ ΡΠ΅ΡΠΈΠΉ (ΠΡΡΠΏΠΏΠΎΠ²ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠ°ΠΊ Π°Π½Π³Π».Β RLE)Β β ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅ΡΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° Π΄Π²Π° ΡΠΈΠΌΠ²ΠΎΠ»Π°: ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈ ΡΠΈΡΠ»ΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ
- ΠΠ»Π³ΠΎΡΠΈΡΠΌ SEQUITUR (Π°Π½Π³Π».)Β β ΡΠΆΠ°ΡΠΈΠ΅ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ-ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ
- ΠΠ΅ΠΉΠ²Π»Π΅Ρ-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π½ΡΠ»Ρ-Π΄Π΅ΡΠ΅Π²ΡΠ΅Π² (Π°Π½Π³Π».) (EZW-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅)
- ΠΠ½ΡΡΠΎΠΏΠΈΠΉΠ½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅Β β ΡΡ Π΅ΠΌΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ΄Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΡΠ½Π΅ΡΡΠΈ Π΄Π»ΠΈΠ½Ρ ΠΊΠΎΠ΄ΠΎΠ² Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
- ΠΠ½ΡΡΠΎΠΏΠΈΠΉΠ½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ
- Π£Π½Π°ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅Β β ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΡΠ»ΠΎ n{\displaystyle n} Π² Π²ΠΈΠ΄Π΅ n{\displaystyle n} Π΅Π΄ΠΈΠ½ΠΈΡ Ρ Π·Π°ΠΌΡΠΊΠ°ΡΡΠΈΠΌ Π½ΡΠ»ΡΠΌ
- Π΄Π΅Π»ΡΡΠ°|Π³Π°ΠΌΠΌΠ°|ΠΎΠΌΠ΅Π³Π°-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠ»ΠΈΠ°ΡΠ° (Π°Π½Π³Π».Β Elias coding)Β β ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΠ΄ΠΈΡΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°
- ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈΒ β ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ΄ΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° Π² Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΡΠ΅ ΡΠ»ΠΎΠ²Π°
- ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠΎΠ»ΠΎΠΌΠ±Π°Β β ΡΠΎΡΠΌΠ° ΡΠ½ΡΡΠΎΠΏΠΈΠΉΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½Π° Π΄Π»Ρ Π°Π»ΡΠ°Π²ΠΈΡΠΎΠ² Ρ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ
- ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π Π°ΠΉΡΠ°Β β ΡΠΎΡΠΌΠ° ΡΠ½ΡΡΠΎΠΏΠΈΠΉΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½Π° Π΄Π»Ρ Π°Π»ΡΠ°Π²ΠΈΡΠΎΠ² Ρ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΆΠ°ΡΠΈΡ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ[ΠΏΡΠ°Π²ΠΈΡΡ | ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄]
ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ? ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ β ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠ’Π΅Π³ΠΈ: ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, Π°Π»Π³ΠΎΡΠΈΡΠΌ, rsa, Π±ΡΡΡΡΠ°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°, ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Π°Π»ΡΠ½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°, ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΡΠ΅, Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π΅ΠΉΠΊΡΡΡΡ, Π°Π»Π³ΠΎΡΠΈΡΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ Ρ ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π°Π½Π°Π»ΠΈΠ· ΡΠ²ΡΠ·Π΅ΠΉ, ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΡΠ½ΠΎ-Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΡΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΡΠΆΠ°ΡΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π»
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π·Π½Π°Π΅Ρ ΠΎ Π²Π°ΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈ ΠΊΠ°ΠΊΠΈΠΌΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΎΠ½ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ. Π ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ β ΡΠΎΡΡΠ°Π²ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ, ΡΡΠ°Π»ΠΎ Π±ΡΡΡ, Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ β ΡΡΠΎ ΡΡΠΎ?
ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π½Π΅ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ, ΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ Π»ΡΠ±ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π° Π²Ρ ΠΎΠ΄ ΠΏΠΎΠ΄Π°ΡΡΡΡ ΠΊΠ°ΠΊΠ°Ρ-Π½ΠΈΠ±ΡΠ΄Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π° Π»ΠΈΠ±ΠΎ Π½Π°Π±ΠΎΡ Π²Π΅Π»ΠΈΡΠΈΠ½, Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΡΡ ΠΎΠ΄Π½Π°Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π° Π»ΠΈΠ±ΠΎ Π½Π°Π±ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ β ΡΡΠΎ Π½Π΅ΠΊΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π³ΠΎΠ², Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ΅ΠΌΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅.
Π’Π°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°Π³ΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅ΡΠ°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΡ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½: 1. Π Π°Π±ΠΎΡΠ°ΡΡ Π·Π° ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΎΠ±ΡΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠ»ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π·Π° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π΅Π½. 2. ΠΠΌΠ΅ΡΡ ΡΡΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΡΠ±ΠΎΠΉ ΡΠ°Π³ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½Ρ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ. 3. ΠΡΡΡ ΠΏΡΠΈΠ³ΠΎΠ΄Π΅Π½ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π Π΅ΡΡ ΠΈΠ΄ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π΄Π»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ°ΠΊ Π² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΡΠ°ΠΊ ΠΈ Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅. ΠΡΡΠ°ΡΠΈ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΠΌΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΡΡΠ΅ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»ΠΈ ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡΠ½Ρ β ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π² Π΄ΡΠ΅Π²Π½Π΅ΠΌ ΠΠ°Π²ΠΈΠ»ΠΎΠ½Π΅ Π΅ΡΡ Π² 1600 Π³. Π΄ΠΎ Π½. Ρ. ΠΠΎ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΡ ΠΎΠ΄ΠΈΡΡ Π΄Π°Π»Π΅ΠΊΠΎ Π² ΠΏΡΠΎΡΠ»ΠΎΠ΅, Π° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±Π΅ΡΠ°Π»ΠΈ, ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ (ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Π°Π»ΡΠ½Π°Ρ, Π±ΡΡΡΡΠ°Ρ, ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ)
ΠΠ°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠΈΡΠ°ΡΡ Π»ΡΡΡΠΈΠΌ? ΠΠ΄Π΅ΡΡ Π½Π΅Ρ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ°, Π²Π΅Π΄Ρ Π²ΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°ΡΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ Π·Π°Π΄Π°Ρ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²: 1. Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ. ΠΠ°ΠΆΠ½Π΅ΠΉΡΠΈΠΉ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ. ΠΠ°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Β«ΡΠ°Π·Π΄Π΅Π»ΡΠΉ ΠΈ Π²Π»Π°ΡΡΠ²ΡΠΉΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ ΡΠ΅ΡΠ°Π»ΠΈΡΡ Π·Π° Π²ΡΠ΅ΠΌΡ O (n^2). Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ Π±ΡΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΎΠΌ ΠΠΆΠΎΠ½ΠΎΠΌ ΡΠΎΠ½ ΠΠ΅ΠΉΠΌΠ°Π½ΠΎΠΌ Π² Π΄Π°Π»ΡΠΊΠΎΠΌ 1945 Π³ΠΎΠ΄Ρ. 2. ΠΡΡΡΡΠ°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°. ΠΡΠΎ ΡΠΆΠ΅ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅. Π’ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ Π½Π° in-place ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ, ΡΠ°ΠΊ ΠΈ Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Β«ΡΠ°Π·Π΄Π΅Π»ΡΠΉ ΠΈ Π²Π»Π°ΡΡΠ²ΡΠΉΒ». ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°, ΡΡΠΎ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. ΠΠ°ΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. 3. ΠΠΈΡΠ°ΠΌΠΈΠ΄Π°Π»ΡΠ½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°. ΠΠ»Π³ΠΎΡΠΈΡΠΌ in-place ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ (Π·Π° ΡΡΡΡ ΡΡΠΎΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΊΡΠ°ΡΠ°Π΅ΡΡΡ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π°Π½Π½ΡΡ ).
Π‘ΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π»ΡΡΡΠ΅, Π΅ΡΠ»ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΡΠ·ΡΡΡΠΊΠΎΠΌ. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Ρ Π½Π°Ρ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π΅ΡΡΡ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡ, Π³Π»ΡΠ±ΠΈΠ½Π½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½ΡΡ ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π€ΡΡΡΠ΅. ΠΡΡΡΡΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π€ΡΡΡΠ΅
ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎ-Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π€ΡΡΡΠ΅. Π ΡΠ΅Π»Π΅ΡΠΎΠ½, ΠΈ ΡΠΌΠ°ΡΡΡΠΎΠ½, ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, ΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡ, ΠΈ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ β Π²ΡΡ ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π΅Π· Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΡΠΎ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ΅ΠΉΠΊΡΡΡΡ
ΠΠ΅Π· ΡΡΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, ΠΎΠΏΡΡΡ ΠΆΠ΅, Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΡΠ°ΡΡΡΡ Π·Π°Π΄Π°ΡΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π³ΡΠ°ΡΠ°, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΏΠΎΠΈΡΠΊ Π½Π°ΠΈΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ 2-ΠΌΡ ΡΠ·Π»Π°ΠΌΠΈ. ΠΠ°ΠΆΠ΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ»ΡΡΡΠ΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΠΎΠΈΡΠΊ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡ ΠΈΠ΄ΡΡ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΡΡΠ΅Π±ΡΡΡΠΈΡ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ RSA
ΠΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΈΡΡΠ» ΠΊ Π½Π°ΠΌ ΠΈΠ· ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ. ΠΠ½ ΡΠ΄Π΅Π»Π°Π» ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π²ΡΠ΅ΠΌ, ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ² Π΅Ρ Π±ΡΠ΄ΡΡΠ΅Π΅. ΠΠΎΠΎΠ±ΡΠ΅, RSA-Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ΄Π΅Π»Π°Π½ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Ρ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅Π»ΠΈΡΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ Ρ ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΡ, ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ. Π‘ΠΊΠΎΡΠ΅Π΅, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎΠΌ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Ρ ΡΡ-ΡΡΠ½ΠΊΡΠΈΠΉ (SHA-1, SHA-2 ΠΈ Ρ.Π΄.), ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π² Π‘Π¨Π ΠΈ ΠΈΠΌΠ΅ΡΡ Π²Π°ΠΆΠ½Π΅ΠΉΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°. ΠΠ½ΡΠΈΠ²ΠΈΡΡΡΡ, ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ°, ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΈ Ρ. ΠΏ. β Π²ΠΎ Π²ΡΡΠΌ ΡΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ Ρ ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½Π° Π΄Π΅Π»Π΅ Ρ ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΈΡ ΡΠ°Π±ΠΎΡΡ). ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΡΠ΄Π°Π»ΠΎΡΡ Π»ΠΈ Π²Π°ΠΌ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠΎ, ΡΡΠΎ Ρ ΠΎΡΠ΅Π»ΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π»ΠΈΡΡ Π»ΠΈ Π²Ρ ΡΠΈΡΠΈΠ½Π³Ρ ΠΈΠ»ΠΈ Π°ΡΠ°ΠΊΠ΅ Β«ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅Β».
ΠΠ½Π°Π»ΠΈΠ· ΡΠ²ΡΠ·Π΅ΠΉ
ΠΠ΄Π΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ²ΡΠ·Π΅ΠΉ ΠΏΡΠΎΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ Π»Π΅Π³ΠΊΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π³ΡΠ°ΡΠΈΠΊ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΡΡ, ΡΡΠΎ ΡΠ²Π΅Π΄ΡΡ Π·Π°Π΄Π°ΡΡ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ ΡΡΠΎΠ²Π½Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π·Π½Π°ΡΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·Π»Π°. ΠΠ°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΡΡΡΠΊΡΡΡΠ΅ Π³ΡΠ°ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²Π°ΠΆΠ½ΠΎΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΡΠ½ Π² ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π² Π΄Π°Π»ΡΠΊΠΎΠΌ 1976 Π³ΠΎΠ΄Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΏΡΠΈ ΡΠ°Π½ΠΆΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΠ°Π½ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΠΈΡΠΊΠ° Π² Google, ΠΏΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π»Π΅Π½ΡΡ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΏΡΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΠΏΠΈΡΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π΄ΡΡΠ·Π΅ΠΉ Π½Π° Facebook, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌΠΈ Π² LinkedIn ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ . ΠΡΠ±ΠΎΠΉ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΌΠ° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ° ΠΏΠΎ ΡΡΡΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
ΠΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΡΠ½ΠΎ-Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΡΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π»ΠΈ Π²Ρ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΌ, ΡΠ°ΠΌΠΎΠ»ΡΡΠΎΠΌ, ΡΠΎΡΠΎΠ²ΠΎΠΉ ΡΠ²ΡΠ·ΡΡ? ΠΠΈΠ΄Π΅Π»ΠΈ Π»ΠΈ Π²Ρ ΡΠΎΠ±ΠΎΡΠ° Π² ΡΠ°Π±ΠΎΡΠ΅? ΠΠΎ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π²ΠΈΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ.
ΠΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΡΠ½ΠΎ-Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΡΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π·Π°ΠΌΠΊΠ½ΡΡΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ Π²ΡΡ ΠΎΠ΄Π½ΡΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ ΠΈ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΌ Π²ΡΡ ΠΎΠ΄Π½ΡΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅ΡΡΡ ΡΠ°ΠΌ, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΈΠ³Π½Π°Π»Π° Π»ΠΈΠ±ΠΎ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³ΠΈΠ΄ΡΠ°Π²Π»ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ, ΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈ ΡΠ΅ΠΏΠ»ΠΎΠ²ΡΠΌΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΆΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ
Π‘Π»ΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ΅Π½, Π²Π΅Π΄Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΎΡ zip Π΄ΠΎ mp3 Π»ΠΈΠ±ΠΎ ΠΎΡ JPEG Π΄ΠΎ MPEG-2. ΠΠΎ ΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π²Π°ΠΆΠ½Ρ ΠΏΠΎΡΡΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΠ΅Ρ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΆΠ°ΡΠΈΡ β ΡΡΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΆΠ°ΡΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΈ ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΠ»ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅ΡΡΡ Π² Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ , Π²ΠΈΠ΄Π΅ΠΎ, ΠΌΡΠ·ΡΠΊΠ΅, ΠΎΠ±Π»Π°ΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΡ . ΠΠΎ ΡΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΆΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π΅ΡΠ΅Π²Π»Π΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π»
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Β«Π½Π°ΡΡΠΎΡΡΠ΅Π³ΠΎΒ» Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π», ΠΈ ΠΌΡ ΡΠΆΠ΅ ΠΎΠ± ΡΡΠΎΠΌ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ. ΠΠ°ΡΠΎ Ρ Π½Π°Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π», ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ Ρ ΡΡΠΈΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ. ΠΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ Π²Π°ΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡ, Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Ρ ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³ΡΡ, ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡ, ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Ρ. Π΄.
Π£Π·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΠΊΡΡΡΠ΅ «ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²». ΠΠ΄ΡΠΌ Π²Π°Ρ!
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π° ΠΠΠΠΠ ΠΠ’Π. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΠΠΠΠ ΠΠ’Π?
ΠΠ»Π³ΠΎΡΠΈΜΡΠΌ β Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. Π ΡΡΠ°ΡΠΎΠΉ ΡΡΠ°ΠΊΡΠΎΠ²ΠΊΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ»ΠΎΠ²Π° Β«ΠΏΠΎΡΡΠ΄ΠΎΠΊΒ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΎΡΡ ΡΠ»ΠΎΠ²ΠΎ Β«ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΒ», Π½ΠΎ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΡΡΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² ΡΠ»ΠΎΠ²ΠΎ Β«ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΒ» ΡΡΠ°Π»ΠΈ Π·Π°ΠΌΠ΅Π½ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ Β«ΠΏΠΎΡΡΠ΄ΠΎΠΊΒ». ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΠΈ.Π Π°Π½Π΅Π΅ Π² ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΠΈΡΠ°Π»ΠΈ Β«Π°Π»Π³ΠΎΡΠΈΡΠΌΒ», ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°ΠΊΠΎΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅Π΄ΠΊΠΎ, Π½ΠΎ, ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ (Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ°ΡΠΊΠΎΠ²Π°).
Π§Π°ΡΡΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, Π½ΠΎ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ, ΡΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠΊΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΡΠ΅ΠΏΡ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ Π±Π»ΡΠ΄Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ, Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ (Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΡΠΊΠ°ΡΠΊΠΈΠΉ ΡΡΠ°Π½ΠΎΠΊ, ΠΈ ΠΏΡ.).
ΠΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ (ΠΎ Π½ΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΠ΄Π΅Ρ Π΄Π°Π»Π΅Π΅ ΡΠ΅ΡΡ), ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅. ΠΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎ ΡΡΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅, ΡΠ΅Π°Π»ΠΈΠ·ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘Π΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΈ ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΠΊ Π²ΡΠ΄Π°ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π»ΠΈΠ±ΠΎ Π² Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π»ΠΈΠ±ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π°ΠΊΡΠΈΠΈ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ (Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ ΠΏΡΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ).
ΠΠΎΠ½ΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΌ, ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ, Π±Π°Π·ΠΈΡΠ½ΡΠΌ ΠΏΠΎΠ½ΡΡΠΈΡΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ. ΠΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ° (Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π°Π΄ ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ, Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π΄Π²ΡΡ ΡΠΈΡΠ΅Π» ΠΈ Ρ. Π΄.) ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΡΠ²Ρ Ρ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΉ Π΄ΡΠ΅Π²Π½ΠΎΡΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ²Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ Π»ΠΈΡΡ Π² Π½Π°ΡΠ°Π»Π΅ XX Π²Π΅ΠΊΠ°.
Π§Π°ΡΡΠΈΡΠ½Π°Ρ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ½ΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π°ΡΠ°Π»Π°ΡΡ Ρ ΠΏΠΎΠΏΡΡΠΎΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ (Π½Π΅ΠΌ. Entscheidungsproblem), ΠΊΠΎΡΠΎΡΡΡ ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π» ΠΠ°Π²ΠΈΠ΄ ΠΠΈΠ»ΡΠ±Π΅ΡΡ Π² 1928 Π³ΠΎΠ΄Ρ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ°ΠΏΡ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Β«ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°Β»; ΡΡΠ΅Π΄ΠΈ ΡΠ°ΠΊΠΈΡ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΉ β ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΠ΅Π΄Π΅Π»Ρ β ΠΡΠ±ΡΠ°Π½Π° β ΠΠ»ΠΈΠ½ΠΈ 1930, 1934 ΠΈ 1935 Π³Π³., Ξ»-ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΠ»ΠΎΠ½Π·ΠΎ Π§ΡΡΡΠ° 1936 Π³., Β«Π€ΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ° 1Β» ΠΠΌΠΈΠ»Ρ ΠΠΎΡΡΠ° 1936 Π³ΠΎΠ΄Π° ΠΈ ΠΌΠ°ΡΠΈΠ½Π° Π’ΡΡΡΠΈΠ½Π³Π°. Π ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π°Π·ΠΈΡΠ½ΡΠΌ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΡΠ΅ΠΌΠΎΠΌΡ Π°Π±ΡΠΎΠ»ΡΡΡ. Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΌΠΈΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π² ΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ , ΠΏΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΡ.
ΠΠΠΠΠ ΠΠ’Π | ΠΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡ ΠΡΡΠ³ΠΎΡΠ²Π΅Ρ
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈΠΠΠΠΠ ΠΠ’Π β ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ°Π²ΠΈΠ», ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ ΡΠ·ΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΎΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΌΠ°ΡΡΠΎΠ²ΠΎΡΡΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΠΈ, Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ.
Π‘Π»ΠΎΠ²ΠΎ Β«Π°Π»Π³ΠΎΡΠΈΡΠΌΒ» ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π²Π΅Π»ΠΈΠΊΠΎΠ³ΠΎ ΡΡΠ΅Π΄Π½Π΅Π°Π·ΠΈΠ°ΡΡΠΊΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΎΠ³ΠΎ 8β9 Π²Π². ΠΠ»Ρ-Π₯ΠΎΡΠ΅Π·ΠΌΠΈ (Π₯ΠΎΡΠ΅Π·ΠΌ β ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π½Π° ΡΠ΅ΡΡΠΈΡΠΎΡΠΈΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π£Π·Π±Π΅ΠΊΠΈΡΡΠ°Π½Π°). ΠΠ· ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°Π±ΠΎΡ ΠΠ»Ρ-Π₯ΠΎΡΠ΅Π·ΠΌΠΈ Π΄ΠΎ Π½Π°Ρ Π΄ΠΎΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ β Π°Π»Π³Π΅Π±ΡΠ°ΠΈΡΠ΅ΡΠΊΠ°Ρ (ΠΎΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΡΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΡΠ»ΠΎΠ²ΠΎ Π°Π»Π³Π΅Π±ΡΠ°) ΠΈ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ. ΠΡΠΎΡΠ°Ρ ΠΊΠ½ΠΈΠ³Π° Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΡΠΈΡΠ°Π»Π°ΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Π½ΠΎΠΉ, Π½ΠΎ Π² 1857 Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΠΠ΅ΠΌΠ±ΡΠΈΠ΄ΠΆΡΠΊΠΎΠ³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° Π±ΡΠ» Π½Π°ΠΉΠ΄Π΅Π½ Π΅Π΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π½Π° Π»Π°ΡΠΈΠ½ΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ. Π Π½Π΅ΠΉ ΠΎΠΏΠΈΡΠ°Π½Ρ ΡΠ΅ΡΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ ΠΆΠ΅, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈ ΡΠ΅ΠΉΡΠ°Ρ. ΠΠ΅ΡΠ²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Ρ ΡΠ°ΠΊ: Β«Π‘ΠΊΠ°Π·Π°Π» ΠΠ»Π³ΠΎΡΠΈΡΠΌΠΈ. ΠΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ½ΡΡ Ρ Π²Π°Π»Ρ ΠΠΎΠ³Ρ, Π½Π°ΡΠ΅ΠΌΡ Π²ΠΎΠΆΠ΄Ρ ΠΈ Π·Π°ΡΠΈΡΠ½ΠΈΠΊΡΒ». Π’Π°ΠΊ ΠΈΠΌΡ ΠΠ»Ρ-Π₯ΠΎΡΠ΅Π·ΠΌΠΈ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΎ Π² ΠΠ»Π³ΠΎΡΠΈΡΠΌΠΈ, ΠΎΡΠΊΡΠ΄Π° ΠΈ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΡΠ»ΠΎΠ²ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ. Π’Π΅ΡΠΌΠΈΠ½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΠ»ΡΡ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΡΠ΅Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΠ°ΠΊΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΠΎΠ½ ΠΈ Π²ΠΎΡΠ΅Π» Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΅Π²ΡΠΎΠΏΠ΅ΠΉΡΠΊΠΈΠ΅ ΡΠ·ΡΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π°Π²ΡΠΎΡΠΈΡΠ΅ΡΠ½ΠΎΠΌ ΡΠ»ΠΎΠ²Π°ΡΠ΅ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Webster’s New World Dictionary, ΠΈΠ·Π΄Π°Π½Π½ΠΎΠΌ Π² 1957, ΡΠ»ΠΎΠ²ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ½Π°Π±ΠΆΠ΅Π½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠΊΠΎΠΉ Β«ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π΅Β» ΠΈ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΠ°Π±ΡΠΊΠΈΡ ΡΠΈΡΡ.
Π‘Π»ΠΎΠ²ΠΎ Β«Π°Π»Π³ΠΎΡΠΈΡΠΌΒ» Π²Π½ΠΎΠ²Ρ ΡΡΠ°Π»ΠΎ ΡΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΠ΄Π΅ΡΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π½ΠΎ ΠΈ ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ΅ΡΠ΅ΠΏΡ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°, Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅, β Π²ΡΠ΅ ΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ²Π»ΡΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ. Π‘Π»ΠΎΠ²ΠΎ Β«Π°Π»Π³ΠΎΡΠΈΡΠΌΒ» Π² Π½Π°ΡΠΈ Π΄Π½ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ, ΠΎΠ½ΠΎ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ ΡΠ°Π³Π½ΡΠ»ΠΎ Π² ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ Π³Π°Π·Π΅Ρ, Π² Π²ΡΡΡΡΠΏΠ»Π΅Π½ΠΈΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΎΠ² Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Β«Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡΒ», Β«Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΡΠΏΠ΅Ρ Π°Β» ΠΈ Ρ.Π΄.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ½ΡΡΠΈΡ Β«Π°Π»Π³ΠΎΡΠΈΡΠΌΒ».
ΠΠ° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π²Π΅ΠΊΠΎΠ² ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ²ΡΠ·ΡΠ²Π°Π»ΠΎΡΡ Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ Π½Π°Π΄ Π½ΠΈΠΌΠΈ, Π΄Π° ΠΈ ΡΠ°ΠΌΠ° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ° Π±ΡΠ»Π°, ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ, Π½Π°ΡΠΊΠΎΠΉ ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΡ , Π½Π°ΡΠΊΠΎΠΉ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ»ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΡΠΌΡΠ». ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΡΠ°Π³ΠΎΠ² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π·Π°Π΄Π°Π²Π°Π»ΡΡ ΡΠ°ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΡΠΊΠΎΠ±ΠΎΠΊ, Π° ΡΠ°ΠΌΠΈ ΡΠ°Π³ΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π»ΠΈΡΡ Π² Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ (ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π²Π΅Π½ΡΡΠ²Π°, Π½Π΅ΡΠ°Π²Π΅Π½ΡΡΠ²Π° ΠΈ Ρ.Π΄.). Π§Π°ΡΡΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌΠΈ, Π° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²ΡΡΡΠ½ΡΡ β ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΌΠΈ, Π½ΠΎ ΡΡΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΡΡΠ°Π²Π°Π»Π°ΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠΉ. Π£ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΎΠ² Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»Π° ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² ΠΎΡΠΎΠ·Π½Π°Π½ΠΈΠΈ ΠΈ ΡΡΡΠΎΠ³ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΠ½ΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, Π² Π΅Π³ΠΎ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠΈ. ΠΠΎ Ρ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ ΠΏΠΎΡΠ²Π»ΡΠ»ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΎΠΏΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ: Π²Π΅ΠΊΡΠΎΡΡ, Π³ΡΠ°ΡΡ, ΠΌΠ°ΡΡΠΈΡΡ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΈ Π΄Ρ. ΠΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄Π»Ρ Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΡΡΡ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°Π³ΠΈ ΡΡΠΈΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠΌΠΈ? Π 1920-Ρ Π·Π°Π΄Π°ΡΠ° ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ½ΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΡΠ°Π»Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ Π΄Π²Π΅ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
ΠΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·ΡΠ΅ΡΠΈΠΌΡ, Π½ΠΎ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΅ΡΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΅ΡΠ΅ Π½Π΅ ΡΠ°Π·Π²ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ.
ΠΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ.
ΠΠ΄Π΅Ρ ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠΈΠΌΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ Π²Π΅ΡΠ½ΠΎΠΉ, Π½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΅Π΅ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ»ΠΎ Π΄Π°ΡΡ ΡΠΎΡΠ½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΠΎΠΏΡΡΠΊΠΈ Π²ΡΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠ΅ΠΎΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ Π²ΠΎΡΠ»ΠΈ ΡΡΡΠ΄Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΎΠ² β Π.ΠΠ΅Π΄Π΅Π»Ρ, Π.Π§Π΅ΡΡ, Π‘.ΠΠ»ΠΈΠ½ΠΈ, Π.Π’ΡΡΡΠΈΠ½Π³, Π.ΠΠΎΡΡ, Π.ΠΠ°ΡΠΊΠΎΠ², Π.ΠΠΎΠ»ΠΌΠΎΠ³ΠΎΡΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅.
Π’ΠΎΡΠ½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄Π°Π»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠΊΠ°Π·Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΡΡ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠΈΠΌΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ ΡΡΠΈΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π»ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ , Π²Π²ΠΈΠ΄Ρ ΠΈΡ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΎΡΡΠΈ, Π±ΡΠ»ΠΎ ΡΠ°Π½Π΅Π΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ. ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ» ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ².
ΠΠΎΠ½ΡΡΠΈΠ΅ Β«Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°Β».
Π ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΡΡ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ ΡΠ°ΠΌΠΎΠΉ ΡΠ°Π·Π½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΡΡΡΠ΄Π½Ρ ΠΈ ΡΡΠ΅Π±ΡΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π·ΠΌΡΡΠ»Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ΅ΡΠ΅Π½ΠΈΠΉ (Π° ΠΈΠ½ΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΡΠ°ΠΊ ΠΈ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ), Π΄ΡΡΠ³ΠΈΠ΅ ΠΆΠ΅, Π½Π°ΠΏΡΠΎΡΠΈΠ², ΡΡΠΎΠ»Ρ ΠΏΡΠΎΡΡΡ ΠΈ ΠΏΡΠΈΠ²ΡΡΠ½Ρ, ΡΡΠΎ ΡΠ΅ΡΠ°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°ΠΆΠ΅ ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ°ΠΏΠΎΠ² (ΡΠ°Π³ΠΎΠ²). Π Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π³ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π·Π°Π΄Π°Ρ, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΈΠ· ΡΠΊΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΡΠ° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ: ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΡΠΎΠ±Π΅ΠΉ ΠΊ ΠΎΠ±ΡΠ΅ΠΌΡ Π·Π½Π°ΠΌΠ΅Π½Π°ΡΠ΅Π»Ρ, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΠΏΡΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ , ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΏΠΎ ΡΡΠ΅ΠΌ ΡΡΠΎΡΠΎΠ½Π°ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΠΊΡΠ»Ρ ΠΈ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΠΈ Ρ.Π΄. Π’Π°ΠΊΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°Π³ΠΎΠ² Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°ΡΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ β ΡΡΠΎ ΡΠ°Π³ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°Π³ΠΎΠ² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π°, Ρ.Π΅. ΡΠ°Π³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΌΠΈ. ΠΡΠ°Π²Π΄Π°, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΡΠΎΠ±Π»ΡΠ΄Π°Π΅ΡΡΡ.
ΠΠΎΠ½ΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ½ΡΡΠΈΡΠΌ, ΡΠ°ΠΊΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄ (ΠΌΠ΅ΡΠΎΠ΄ ΠΠ°ΡΡΡΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ), ΡΠΏΠΎΡΠΎΠ± (ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΏΠΎ ΡΡΠ΅ΠΌ ΡΡΠΎΡΠΎΠ½Π°ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΠΊΡΠ»Ρ ΠΈ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ). ΠΠΎΠΆΠ½ΠΎ ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ².
ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ β ΡΡΠΎ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ Π΄Π΅Π»Π΅Π½ΠΈΡ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΡΠ΅Π» Π΄Π΅Π»ΠΈΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ, Π° Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ.
ΠΠ°ΡΡΠΎΠ²ΠΎΡΡΡ, Ρ.Π΅. Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ»ΡΠΆΠΈΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π·Π°Π΄Π°Ρ. Π’Π°ΠΊ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊ Π»ΡΠ±ΠΎΠΉ ΠΏΠ°ΡΠ΅ Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π».
ΠΠ΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ.
ΠΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ Π²ΡΠ΅Π³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΏΠΎΡΡΠΎΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Π±ΡΠΎΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ½Π΅ΡΡ, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°Π·Π²Π°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΈΠ²Π½ΠΎΡΡΡ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ Π΅Π³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠ° ΠΌΠ΅ΡΠ΅ΠΎΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠΎΡΡΠΎΠΈΡ Π² Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ (Β«ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Π²ΠΎΠ·Π΄ΡΡ Π°Β», Β«ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π°ΡΠΌΠΎΡΡΠ΅ΡΠ½ΠΎΠ΅ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅Β»), Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ (ΡΠ΅ΡΠ΅Π· ΠΌΠΈΠ½ΡΡΡ, ΡΠ°Ρ) Π²ΠΎ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΡ.
ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Ρ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΡΠΊΠΎ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ. Π¨Π°Π³ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌΠΈ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠΌΠΈ, Π° ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠΌΡΡΠ» ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π³Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ (ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π»ΡΠ±ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π½ΡΠΆΠ½ΠΎ ΡΠΌΠ΅ΡΡ ΡΠΌΠ½ΠΎΠΆΠ°ΡΡ ΠΈ ΡΡΠ°ΠΊΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΠΊ Β«xΒ» ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°ΠΊ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅). ΠΠΎΡΡΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡ ΠΎ Π²ΡΠ±ΠΎΡΠ΅ ΡΠΎΡΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ΅Π½. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΡΠΎΠΌ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π·Π°ΠΏΠΈΡΠ°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ.
Π€ΠΎΡΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ².
ΠΠ»Ρ Π·Π°ΠΏΠΈΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ·ΡΠΊ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ·ΡΠΊ Π²ΡΠ±ΡΠ°Π½. ΠΠ°ΠΏΠΈΡΡΠ²Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ (ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅) Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΎ ΠΈ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ²ΠΊΠ»ΠΈΠ΄Π° Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΠΠ (Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ) Π΄Π²ΡΡ ΡΠ΅Π»ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ΅Ρ ΡΠ°Π³ΠΎΠ². Π¨Π°Π³ 1: Π Π°Π·Π΄Π΅Π»ΠΈΡΡ m Π½Π° n. ΠΡΡΡΡ p β ΠΎΡΡΠ°ΡΠΎΠΊ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ.
Π¨Π°Π³ 2: ΠΡΠ»ΠΈ p ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ, ΡΠΎ n ΠΈ Π΅ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΠΠ.
Π¨Π°Π³ 3: ΠΡΠ»ΠΈ p Π½Π΅ ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ, ΡΠΎ ΡΠ΄Π΅Π»Π°Π΅ΠΌ m ΡΠ°Π²Π½ΡΠΌ n, Π° n ΡΠ°Π²Π½ΡΠΌ p. ΠΠ΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΠ°Π³Ρ 1.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π·Π΄Π΅ΡΡ Π·Π°ΠΏΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΠΠ ΠΎΡΠ΅Π½Ρ ΡΠΏΡΠΎΡΠ΅Π½Π½Π°Ρ. ΠΠ°ΠΏΠΈΡΡ, Π΄Π°Π½Π½Π°Ρ ΠΠ²ΠΊΠ»ΠΈΠ΄ΠΎΠΌ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΠ°, ΠΏΡΠΈΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅ΠΉ.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π·Π°ΠΏΠΈΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΏΠΈΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌ. ΠΠ°ΠΏΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² (Π±Π»ΠΎΠΊΠΎΠ²), ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ ΡΡΡΠ΅Π»ΠΊΠ°ΠΌΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ β ΡΡΠΎ Β«ΡΠ°Π³Β» Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΡ Π΄Π΅Π»ΡΡΡΡ Π½Π° Π΄Π²Π° Π²ΠΈΠ΄Π°. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°ΠΌΠΈ, Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΡΠ»ΠΎΠ²ΠΈΡ β ΡΠΎΠΌΠ±Π°ΠΌΠΈ. ΠΠ· ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² Π²ΡΠ΅Π³Π΄Π° Π²ΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΡΡΡΠ΅Π»ΠΊΠ° (Π²Ρ ΠΎΠ΄ΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ), Π° ΠΈΠ· ΡΠΎΠΌΠ±ΠΎΠ² β Π΄Π²Π΅ (ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ»ΠΎΠ²ΠΎΠΌ Β«Π΄Π°Β», Π΄ΡΡΠ³Π°Ρ β ΡΠ»ΠΎΠ²ΠΎΠΌ Β«Π½Π΅ΡΒ», ΠΎΠ½ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅).
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΠΠ:
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ.
Π€ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ½ΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². Π’Π΅ΠΎΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ².
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π΅Π»ΡΠ·Ρ ΡΡΠΈΡΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ Π² ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠΌΡΡΠ»Π΅. ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠ³ΡΡ, ΡΠΈΡΠ΅Π», ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ, Π½Π΅ΡΠ°Π²Π΅Π½ΡΡΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΡΠ΅Π½Ρ ΡΠ΅ΡΠΊΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ ΠΏΠΎ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ ΠΏΠ΅ΡΠΈΠΌΠ΅ΡΡΠ°. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² β Π²Π°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ°Π½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄Π²Π΅ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°Π²Π½ΠΈΡΡ Π΄Π²Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· ΡΠ»ΠΈΡΡ Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡΠ½Ρ. Π‘ ΡΡΠΎΠΉ ΡΠ΅Π»ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, Ρ.Π΅. ΠΎΡΠ²Π»Π΅ΡΡΡΡ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π° ΡΠ΅ΡΠ°Π΅ΠΌΠΎΠΉ Π΄Π°Π½Π½ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ Π·Π°Π΄Π°ΡΠΈ, ΠΈ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°Ρ ΠΊ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π³ΠΎ ΡΠΎΡΠΌΡ Π·Π°ΠΏΠΈΡΠΈ. ΠΠ°Π΄Π°ΡΠ° Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠΉ ΡΠΎΡΠΌΡ Π·Π°ΠΏΠΈΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΡΠ΅ΡΠ°ΡΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π·Π°Π΄Π°Ρ ΡΠ΅ΠΎΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². Π ΡΠ΅ΠΎΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π³ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ°ΠΊΠΎΠ², ΡΡΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ (ΠΌΠ°ΡΠΈΠ½Π°), ΠΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π±ΡΠ»ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ, Ρ.Π΅. ΡΡΠΎΠ±Ρ Π½Π° Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π»ΡΠ±ΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ°Π±ΠΎΡΡ ΠΌΠ°ΡΠΈΠ½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌ ΠΏΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅, Π½ΠΎ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ½ΡΠΌ, ΡΡΠΎΠ±Ρ ΡΡΠ° ΡΡΡΡΠΊΡΡΡΠ° ΠΌΠΎΠ³Π»Π° ΡΠ»ΡΠΆΠΈΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΏΠ΅ΡΠ²ΡΠ΅ ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΎΠΌ ΠΠΌΠΈΠ»Π΅ΠΌ ΠΠΎΡΡΠΎΠΌ Π² 1936 (ΠΌΠ°ΡΠΈΠ½Π° ΠΠΎΡΡΠ°) Π΅ΡΠ΅ Π΄ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ ΠΈ (ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ) Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΎΠΌ ΠΠ»Π°Π½ΠΎΠΌ Π’ΡΡΡΠΈΠ½Π³ΠΎΠΌ (ΠΌΠ°ΡΠΈΠ½Π° Π’ΡΡΡΠΈΠ½Π³Π°).
ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΎΠ²: ΠΌΠ°ΡΠΈΠ½Π° ΠΠΎΡΡΠ° ΠΈ ΠΌΠ°ΡΠΈΠ½Π° Π’ΡΡΡΠΈΠ½Π³Π°.
ΠΠ°ΡΠΈΠ½Π° ΠΠΎΡΡΠ° β Π°Π±ΡΡΡΠ°ΠΊΡΠ½Π°Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π°, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΠΠΎΡΡΠΎΠΌ (Emil L.Post), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΌΠ°ΡΠΈΠ½Ρ Π’ΡΡΡΠΈΠ½Π³Π° Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΠΏΡΠΎΡΡΠΎΡΠΎΠΉ. ΠΠ±Π΅ ΠΌΠ°ΡΠΈΠ½Ρ Β«ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΒ» ΠΈ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ Π΄Π»Ρ ΡΡΠΎΡΠ½Π΅Π½ΠΈΡ ΠΏΠΎΠ½ΡΡΠΈΡ Β«Π°Π»Π³ΠΎΡΠΈΡΠΌΒ».
Π 1935 Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊ ΠΠΎΡΡ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π² Β«ΠΡΡΠ½Π°Π»Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈΒ» ΡΡΠ°ΡΡΡ Π€ΠΈΠ½ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΎΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ° 1. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΈ ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΉΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² Π’ΡΡΠ΄Π°Ρ ΠΠΎΠ½Π΄ΠΎΠ½ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΡΡΠ°ΡΡΠ΅ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ° Π’ΡΡΡΠΈΠ½Π³Π° Π Π²ΡΡΠΈΡΠ»ΠΈΠΌΡΡ ΡΠΈΡΠ»Π°Ρ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π±ΡΠ»ΠΈ Π΄Π°Π½Ρ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΡΠΎΡΠ½Π΅Π½ΠΈΡ ΠΏΠΎΠ½ΡΡΠΈΡ Β«Π°Π»Π³ΠΎΡΠΈΡΠΌΒ». ΠΠ°ΠΆΠ½ΠΎΡΡΡ ΠΈΠ΄Π΅ΠΉ ΠΠΎΡΡΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π±ΡΠ» ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ ΠΏΠΎΡΡΡΠΎΠΈΠ» Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ (Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΠΎΡΡΠ°). ΠΠΎΡΡ Π΄ΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ Π΅Π³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ»Π½ΠΎΡΠΎΠΉ. Π 1967 ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π.Π£ΡΠΏΠ΅Π½ΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅ΡΠΊΠ°Π·Π°Π» ΡΡΠΈ ΡΡΠ°ΡΡΠΈ Ρ Π½ΠΎΠ²ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ. ΠΠ½ Π²Π²Π΅Π» ΡΠ΅ΡΠΌΠΈΠ½ Β«ΠΌΠ°ΡΠΈΠ½Π° ΠΠΎΡΡΠ°Β». ΠΠ°ΡΠΈΠ½Π° ΠΠΎΡΡΠ° β Π°Π±ΡΡΡΠ°ΠΊΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, ΠΎΠ½Π° ΡΠ΅ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ: Π΅ΡΠ»ΠΈ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΠΎΡΡΠ°, ΡΠΎ ΠΎΠ½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·ΡΠ΅ΡΠΈΠΌΠ°. Π 1970 ΠΌΠ°ΡΠΈΠ½Π° ΠΠΎΡΡΠ° Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° Π² ΠΌΠ΅ΡΠ°Π»Π»Π΅ Π² Π‘ΠΈΠΌΡΠ΅ΡΠΎΠΏΠΎΠ»ΡΡΠΊΠΎΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ΅. ΠΠ°ΡΠΈΠ½Π° Π’ΡΡΡΠΈΠ½Π³Π° Π±ΡΠ»Π° ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° Π² ΠΌΠ΅ΡΠ°Π»Π»Π΅ Π² 1973 Π² ΠΠ°Π»ΠΎΠΉ ΠΡΡΠΌΡΠΊΠΎΠΉ ΠΠΊΠ°Π΄Π΅ΠΌΠΈΠΈ ΠΠ°ΡΠΊ.
ΠΠ±ΡΡΡΠ°ΠΊΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° ΠΠΎΡΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΡ Π»Π΅Π½ΡΡ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΊΠ»Π΅ΡΠΊΠΈ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΏΡΡΡΠΎΠΉ, Π»ΠΈΠ±ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΌΠ΅ΡΠΊΠΎΠΉ Β«VΒ». Π£ ΠΌΠ°ΡΠΈΠ½Ρ Π΅ΡΡΡ Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ Π²Π΄ΠΎΠ»Ρ Π»Π΅Π½ΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΊΠ»Π΅ΡΠΊΡ Π²ΠΏΡΠ°Π²ΠΎ ΠΈΠ»ΠΈ Π²Π»Π΅Π²ΠΎ, Π½Π°Π½ΠΎΡΠΈΡΡ Π² ΠΊΠ»Π΅ΡΠΊΡ Π»Π΅Π½ΡΡ ΠΌΠ΅ΡΠΊΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎΠΉ ΠΌΠ΅ΡΠΊΠΈ ΡΠ°ΠΌ ΡΠ°Π½Π΅Π΅ Π½Π΅ Π±ΡΠ»ΠΎ, ΡΡΠΈΡΠ°ΡΡ ΠΌΠ΅ΡΠΊΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π±ΡΠ»Π°, Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π² ΠΊΠ»Π΅ΡΠΊΠ΅ ΠΌΠ΅ΡΠΊΠΈ. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ ΠΊΠ»Π΅ΡΠΊΠ°Ρ Π»Π΅Π½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π»Π΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΌΠ°ΡΠΈΠ½Ρ. Π ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π°Π΄ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠ»Π΅ΡΠΎΠΊ Π»Π΅Π½ΡΡ ΠΈ, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΡΡ, ΠΎΠ±ΠΎΠ·ΡΠ΅Π²Π°Π΅Ρ Π΅Π΅. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Π»Π΅Π½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ ΠΠΎΡΡΠ°. Π Π°Π±ΠΎΡΠ° ΠΌΠ°ΡΠΈΠ½Ρ ΠΠΎΡΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ³Π°Π΅ΡΡΡ Π²Π΄ΠΎΠ»Ρ Π»Π΅Π½ΡΡ (Π½Π° ΠΎΠ΄Π½Ρ ΠΊΠ»Π΅ΡΠΊΡ Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³) Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡΠ°Π²ΠΎ, Π½Π°Π½ΠΎΡΠΈΡ ΠΈΠ»ΠΈ ΡΡΠΈΡΠ°Π΅Ρ ΠΌΠ΅ΡΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ, Π΅ΡΡΡ Π»ΠΈ ΠΌΠ΅ΡΠΊΠ° Π² ΠΊΠ»Π΅ΡΠΊΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, ΡΠΎΡΡΠΎΡΡΠ΅ΠΉ ΠΈΠ· ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΠ°ΡΠΈΠ½Π° Π’ΡΡΡΠΈΠ½Π³Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΅ΡΠ½ΠΎΠΉ Π»Π΅Π½ΡΡ (ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π½Π° ΡΡΠ΅ΠΉΠΊΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΡΠ»Π΅Π²Π°, Π½ΠΎ Π½Π΅ ΡΠΏΡΠ°Π²Π°), ΡΠΈΡΠ°ΡΡΠ΅ΠΉ ΠΈ ΠΏΠΈΡΡΡΠ΅ΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, Π»Π΅Π½ΡΠΎΠΏΡΠΎΡΡΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ q0, q1, β¦, qs , ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΠΈ (Π°Π»ΡΠ°Π²ΠΈΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ), ΠΏΡΠΈ ΡΡΠΎΠΌ q0 Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ. Π§ΠΈΡΠ°ΡΡΠ°Ρ ΠΈ ΠΏΠΈΡΡΡΠ°Ρ Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΈΡΠ°ΡΡ Π±ΡΠΊΠ²Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π°Π»ΡΠ°Π²ΠΈΡΠ° A = {a0, a1, β¦, at }, ΡΡΠΈΡΠ°ΡΡ ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΠ΅ΠΉΠΊΠ° Π»Π΅Π½ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°Π½ΡΡΠ° Π±ΡΠΊΠ²ΠΎΠΉ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π±ΡΠΊΠ²Π° Π°0 β Β«ΠΏΡΠΎΠ±Π΅Π»Β». ΠΠΎΠ»ΠΎΠ²ΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°Π΄ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΎΠΉ Π»Π΅Π½ΡΡ β ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ΅ΠΉΠΊΠΎΠΉ. ΠΠ΅Π½ΡΠΎΠΏΡΠΎΡΡΠΆΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ Π»Π΅Π½ΡΡ ΡΠ°ΠΊ, ΡΡΠΎ Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π°Π΄ ΡΠΎΡΠ΅Π΄Π½Π΅ΠΉ ΡΡΠ΅ΠΉΠΊΠΎΠΉ Π»Π΅Π½ΡΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠΈΡΡΠ°ΡΠΈΡ Π²ΡΡ ΠΎΠ΄Π° Π·Π° Π»Π΅Π²ΡΠΉ ΠΊΡΠ°ΠΉ Π»Π΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠΉ (Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ), ΠΈΠ»ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΠ°ΡΠΈΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅.
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π²Π·Π³Π»ΡΠ΄ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΠ·Π°ΡΠΈΡ.
Π’Π΅ΠΎΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΡΡΠΎΠΈΡ ΠΈ ΠΈΠ·ΡΡΠ°Π΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². Π‘ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΈ ΡΠ΅ΠΎΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ, ΡΠΏΠΎΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅, ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ. ΠΡΠΎΠ±ΡΠΉ ΡΠΈΠΏ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² β ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅, Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ β Π΄Π°ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅. Π’Π°ΠΊΠΈΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ·ΡΠΊΠΈ.
ΠΠ½Π½Π° Π§ΡΠ³Π°ΠΉΠ½ΠΎΠ²Π°