Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Наткнулся Π½Π° интСрСсный ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΎΠ± искусствСнном ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π΅ Π² ΠΈΠ³Ρ€Π°Ρ…. Π‘ объяснСниСм Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ ΠΏΡ€ΠΎ ИИ Π½Π° простых ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, Π° Π΅Ρ‰Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… инструмСнтов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Π΅Π³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ проСктирования. Как, Π³Π΄Π΅ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ β€” Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² написаны Π² псСвдокодС, поэтому Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠ΅ знания программирования Π½Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ. Под ΠΊΠ°Ρ‚ΠΎΠΌ 35 листов тСкста с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ ΠΈ Π³ΠΈΡ„ΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ΡΡŒ.

UPD. Извиняюсь, Π½ΠΎ собствСнный ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π° Π₯Π°Π±Ρ€Π΅ ΡƒΠΆΠ΅ Π΄Π΅Π»Π°Π» PatientZero. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ здСсь, Π½ΠΎ ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€ΠΎΡˆΠ»Π° ΠΌΠΈΠΌΠΎ мСня (поиском пользовался, Π½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ). А Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΈΡˆΡƒ Π² Π±Π»ΠΎΠ³, посвящСнный Π³Π΅ΠΉΠΌΠ΄Π΅Π²Ρƒ, Ρ€Π΅ΡˆΠΈΠ» ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ свой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° для подписчиков (Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Ρƒ мСня ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Ρ‹ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ β€” Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹ ΠΏΠΎ совСту Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²).

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ИИ?

Π˜Π³Ρ€ΠΎΠ²ΠΎΠΉ ИИ сосрСдоточСн Π½Π° Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ дСйствия Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, исходя ΠΈΠ· условий, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… находится. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Β«ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π°Π³Π΅Π½Ρ‚Π°ΠΌΠΈΒ», Π³Π΄Π΅ Π°Π³Π΅Π½Ρ‚ являСтся ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌ пСрсонаТСм, транспортным срСдством, Π±ΠΎΡ‚ΠΎΠΌ, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ абстрактным: Ρ†Π΅Π»ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ сущностСй ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Ρ†ΠΈΠ²ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ случаС это Π²Π΅Ρ‰ΡŒ, которая Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΈΠ΄Π΅Ρ‚ΡŒ своС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½Π° Π΅Π³ΠΎ основС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² соотвСтствии с Π½ΠΈΠΌΠΈ. Π­Ρ‚ΠΎ называСтся Ρ†ΠΈΠΊΠ»ΠΎΠΌ Sense/Think/Act (Π§ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ/ΠœΡ‹ΡΠ»ΠΈΡ‚ΡŒ/Π”Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ):

  • Sense: Π°Π³Π΅Π½Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Π΅Ρ‰Π°Ρ… Π² своСй срСдС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (ΡƒΠ³Ρ€ΠΎΠ·Ρ‹ поблизости, ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ для сбора, интСрСсныС мСста для исслСдования).
  • Think: Π°Π³Π΅Π½Ρ‚ Ρ€Π΅ΡˆΠ°Π΅Ρ‚, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (рассматриваСт, достаточно Π»ΠΈ бСзопасно ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ ΠΈΠ»ΠΈ сначала ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ/ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ).
  • Act: Π°Π³Π΅Π½Ρ‚ выполняСт дСйствия для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ (Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΡƒ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρƒ).
  • β€¦Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ситуация измСнилась ΠΈΠ·-Π·Π° дСйствий пСрсонаТСй, поэтому Ρ†ΠΈΠΊΠ» повторяСтся с Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ИИ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, концСнтрируСтся Π½Π° Sense-части Ρ†ΠΈΠΊΠ»Π°. НапримСр, Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ снимки Π΄ΠΎΡ€ΠΎΠ³ΠΈ, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ ΠΈΡ… с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ€Π°Π΄Π°Ρ€Π° ΠΈ Π»ΠΈΠ΄Π°Ρ€Π°, ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это Π΄Π΅Π»Π°Π΅Ρ‚ машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ входящиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΏΡ€ΠΈΠ΄Π°Π΅Ρ‚ ΠΈΠΌ смысл, извлСкая ΡΠ΅ΠΌΠ°Π½Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ Β«Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ Π² 20 ярдах Π²ΠΏΠ΅Ρ€Π΅Π΄ΠΈ вас». Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ classification problems.

Π˜Π³Ρ€Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Π° слоТная систСма для извлСчСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ большая Ρ‡Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠΆΠ΅ являСтся Π΅Π΅ Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ. НСт нСобходимости Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ распознавания ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π²Ρ€Π°Π³ Π²ΠΏΠ΅Ρ€Π΅Π΄ΠΈ β€” ΠΈΠ³Ρ€Π° ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ свСдСния прямо Π² процСссС принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‡Π°ΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Π° Sense часто Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ Think ΠΈ Act.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ИИ

Π£ ИИ Π΅ΡΡ‚ΡŒ ряд ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ:

  • ИИ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π±ΡƒΠ΄Ρ‚ΠΎ это Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ машинного обучСния. БСссмыслСнно ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ΠΉΡ€ΠΎΡΠ΅Ρ‚ΡŒ Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π·Π° дСсятками тысяч ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΈΠ³Ρ€Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π½ΠΈΡ…. ΠŸΠΎΡ‡Π΅ΠΌΡƒ? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠ³Ρ€Π° Π½Π΅ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π°, Π° ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² Π½Π΅Ρ‚.
  • Π˜Π³Ρ€Π° Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈ Π±Ρ€ΠΎΡΠ°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ², поэтому Π°Π³Π΅Π½Ρ‚Ρ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€ΠΎΡ‚ΠΈΠ² людСй.
  • АгСнтам Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ рСалистичными, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ³Ρ€ΠΎΠΊΠΈ чувствовали Π±ΡƒΠ΄Ρ‚ΠΎ ΠΈΠ³Ρ€Π°ΡŽΡ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ² настоящих людСй. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° AlphaGo ΠΏΡ€Π΅Π²Π·ΠΎΡˆΠ»Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π½ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ шаги Π±Ρ‹Π»ΠΈ сильно Π΄Π°Π»Π΅ΠΊΠΈ ΠΎΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ понимания ΠΈΠ³Ρ€Ρ‹. Если ΠΈΠ³Ρ€Π° ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠ°-Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Ρ‚Π°ΠΊΠΎΠ³ΠΎ чувства Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ. Алгоритм Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π» ΠΏΡ€Π°Π²Π΄ΠΎΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π° Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹Π΅.
  • ИИ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ использованиС процСссора Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π”Π°ΠΆΠ΅ 10 миллисСкунд Π½Π° это β€” слишком Π΄ΠΎΠ»Π³ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ ΠΈΠ³Ρ€ достаточно ΠΎΡ‚ 16 Π΄ΠΎ 33 миллисСкунд, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всю ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠ°Π΄Ρ€Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ.
  • ИдСально, Ссли хотя Π±Ρ‹ Ρ‡Π°ΡΡ‚ΡŒ систСмы управляСтся Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Β«Π½Π΅ΠΊΠΎΠ΄Π΅Ρ€Ρ‹Β» ΠΌΠΎΠ³Π»ΠΈ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния, ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ происходили быстрСС.

Рассмотрим ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ИИ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ вСсь Ρ†ΠΈΠΊΠ» Sense/Think/Act.

ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΈΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

НачнСм с ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ ΠΈΠ³Ρ€Ρ‹ β€” Pong. ЦСль: ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ (paddle) Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ мяч отскакивал ΠΎΡ‚ Π½Π΅Π΅, Π° Π½Π΅ ΠΏΡ€ΠΎΠ»Π΅Ρ‚Π°Π» ΠΌΠΈΠΌΠΎ. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ тСннис, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚Π΅, Ссли Π½Π΅ ΠΎΡ‚Π±ΠΈΠ²Π°Π΅Ρ‚Π΅ мяч. Π—Π΄Π΅ΡΡŒ Ρƒ ИИ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ лСгкая Π·Π°Π΄Π°Ρ‡Π° β€” Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

УсловныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

Для ИИ Π² Pong Π΅ΡΡ‚ΡŒ самоС ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” всСгда ΡΡ‚Π°Ρ€Π°Ρ‚ΡŒΡΡ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΠΎΠ΄ мячом.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ для этого, написанный Π² псСвдокодС:

every frame/update while the game is running:
if the ball is to the left of the paddle:
move paddle left
else if the ball is to the right of the paddle:
move paddle right

Если ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° двигаСтся со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ мяча, Ρ‚ΠΎ это ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ для ИИ Π² Pong. НС Π½ΡƒΠΆΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡƒΡΠ»ΠΎΠΆΠ½ΡΡ‚ΡŒ, Ссли Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… дСйствий для Π°Π³Π΅Π½Ρ‚Π° Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ.

Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ прост, Ρ‡Ρ‚ΠΎ вСсь Ρ†ΠΈΠΊΠ» Sense/Think/Act Π΅Π΄Π²Π° Π·Π°ΠΌΠ΅Ρ‚Π΅Π½. Но ΠΎΠ½ Π΅ΡΡ‚ΡŒ:

  • Π§Π°ΡΡ‚ΡŒ Sense находится Π² Π΄Π²ΡƒΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… if. Π˜Π³Ρ€Π° Π·Π½Π°Π΅Ρ‚ Π³Π΄Π΅ мяч ΠΈ Π³Π΄Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, поэтому ИИ обращаСтся ΠΊ Π½Π΅ΠΉ Π·Π° этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.
  • Π§Π°ΡΡ‚ΡŒ Think Ρ‚ΠΎΠΆΠ΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π΄Π²Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° if. Они Π²ΠΎΠΏΠ»ΠΎΡ‰Π°ΡŽΡ‚ Π² сСбС Π΄Π²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выбираСтся ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… дСйствий β€” ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Π²Π»Π΅Π²ΠΎ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π²ΠΏΡ€Π°Π²ΠΎ, ΠΈΠ»ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΎΠ½Π° ΡƒΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ располоТСна.
  • Π§Π°ΡΡ‚ΡŒ Act находится Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… Move Paddle Left ΠΈ Move Paddle Right. Π’ зависимости ΠΎΡ‚ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΈΠ³Ρ€Ρ‹, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΈΠ»ΠΈ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ.

Π’Π°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΠΈ β€” Π΅ΡΡ‚ΡŒ простой Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ» (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ if Π² ΠΊΠΎΠ΄Π΅), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС ΠΌΠΈΡ€Π° ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚.

Π”Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с ΠΈΠ³Ρ€ΠΎΠΉ Pong фактичСски Ρ€Π°Π²Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ИИ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Алгоритм ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ «листа» β€” Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠ΅ дСйствиС ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ.

Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π±Π»ΠΎΠΊ-схСму Π΄Π΅Ρ€Π΅Π²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° нашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹:

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

КаТдая Ρ‡Π°ΡΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²Π° называСтся node (ΡƒΠ·Π΅Π») β€” ИИ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π΅ΠΎΡ€ΠΈΡŽ Π³Ρ€Π°Ρ„ΠΎΠ² для описания ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… структур. Π•ΡΡ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΡƒΠ·Π»ΠΎΠ²:

  • Π£Π·Π»Ρ‹ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ: Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°ΠΌΠΈ Π½Π° основС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ условия, Π³Π΄Π΅ каТдая Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° прСдставлСна Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π°.
  • ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ ΡƒΠ·Π»Ρ‹: дСйствиС для выполнСния, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Алгоритм начинаСтся с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° («корня» Π΄Π΅Ρ€Π΅Π²Π°). Он Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌΡƒ ΡƒΠ·Π»Ρƒ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ, Π»ΠΈΠ±ΠΎ выполняСт дСйствиС, хранящССся Π² ΡƒΠ·Π»Π΅, ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ.

Π’ Ρ‡Π΅ΠΌ ΠΆΠ΅ прСимущСство, Ссли Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, выполняСт Ρ‚Ρƒ ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρ‡Ρ‚ΠΎ ΠΈ if-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅? Π—Π΄Π΅ΡΡŒ Π΅ΡΡ‚ΡŒ общая систСма, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ условиС ΠΈ Π΄Π²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Π­Ρ‚ΠΎ позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ИИ ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² Π΄Π΅Ρ€Π΅Π²Π΅, ΠΈΠ·Π±Π΅ΠΆΠ°Π² Π΅Π³ΠΎ Ρ…Π°Ρ€Π΄ΠΊΠΎΠ΄ΠΈΠ½Π³Π°. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹:

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

На сторонС ΠΊΠΎΠ΄Π° Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ систСму для чтСния строк. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΡƒΠ·Π΅Π» для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ…, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π»ΠΎΠ³ΠΈΠΊΡƒ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° основС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ столбца ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ ΡƒΠ·Π»Ρ‹ Π½Π° основС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ ΠΈ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ³ΠΎ столбцов. Π’Π°ΠΌ всС Π΅Ρ‰Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ условия ΠΈ дСйствия, Π½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ структура ΠΈΠ³Ρ€Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ слоТнСС. Π’ Π½Π΅ΠΉ Π²Ρ‹ добавляСтС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ дСйствия, Π° Π·Π°Ρ‚Π΅ΠΌ настраиваСтС вСсь ИИ, просто ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π² тСкстовый Ρ„Π°ΠΉΠ» с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π΅Ρ€Π΅Π²Π°. Π”Π°Π»Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ Ρ„Π°ΠΉΠ» Π³Π΅ΠΉΠΌΠ΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ смоТСт ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±Π΅Π· пСрСкомпилирования ΠΈΠ³Ρ€Ρ‹ ΠΈ измСнСния ΠΊΠΎΠ΄Π°.

Π”Π΅Ρ€Π΅Π²ΡŒΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ вСсьма ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ строятся автоматичСски Π½Π° основС большого Π½Π°Π±ΠΎΡ€Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ID3). Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΡ… эффСктивным ΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ инструмСнтом для классификации ситуаций Π½Π° основС ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Однако ΠΌΡ‹ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ Π·Π° Ρ€Π°ΠΌΠΊΠΈ простой систСмы для Π²Ρ‹Π±ΠΎΡ€Π° дСйствий Π°Π³Π΅Π½Ρ‚Π°ΠΌΠΈ.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ

ΠœΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ систСму Π΄Π΅Ρ€Π΅Π²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, которая использовала Π·Π°Ρ€Π°Π½Π΅Π΅ созданныС условия ΠΈ дСйствия. Π§Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ИИ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ρ…ΠΎΡ‡Π΅Ρ‚, Π½ΠΎ ΠΎΠ½ всС Π΅Ρ‰Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° ΠΊΠΎΠ΄Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ это всС Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π». Π§Ρ‚ΠΎ Ссли ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π΄Π°Ρ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρƒ инструмСнты для создания собствСнных условий ΠΈΠ»ΠΈ дСйствий?

Π§Ρ‚ΠΎΠ±Ρ‹ программисту Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ для условий Is Ball Left Of Paddle ΠΈ Is Ball Right Of Paddle, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ систСму, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ условия для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ этих Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’ΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π΅Ρ€Π΅Π²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

По сути это Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя ΠΈΠΌΠ΅ΡŽΡ‚ свой собствСнный ΠΊΠΎΠ΄, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ if-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. На сторонС ΠΊΠΎΠ΄Π° это ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π»ΠΎΡΡŒ Π±Ρ‹ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ столбцС для ΡƒΠ·Π»ΠΎΠ² принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Π½ΠΎ вмСсто поиска ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ условия для выполнСния (Is Ball Left Of Paddle), ΠΎΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚ условноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true ΠΈΠ»ΠΈ false соотвСтствСнно. Π­Ρ‚ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скриптового языка Lua ΠΈΠ»ΠΈ Angelscript. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² своСй ΠΈΠ³Ρ€Π΅ (ball ΠΈ paddle) ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ доступны Π² сцСнарии (ball.position). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, язык сцСнариСв ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ C++. Он Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠΉ стадии компиляции, поэтому идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для быстрой ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ позволяСт Β«Π½Π΅ΠΊΠΎΠ΄Π΅Ρ€Π°ΠΌΒ» самим ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ язык сцСнариСв ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΡ†Π΅Π½ΠΊΠΈ условного выраТСния, Π½ΠΎ Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ для дСйствий. НапримСр, Π΄Π°Π½Π½Ρ‹Π΅ Move Paddle Right, ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ сцСнария (ball.position.x += 10). Π’Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ дСйствиС Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ»ΠΎΡΡŒ Π² скриптС, Π±Π΅Π· нСобходимости программирования Move Paddle Right.

МоТно ΠΏΠΎΠΉΡ‚ΠΈ Π΅Ρ‰Π΅ дальшС ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° языкС сцСнариСв. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠ΄ Π² Π²ΠΈΠ΄Π΅ ТСстко Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… (hardcoded) условных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Π½ΠΎ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ находится Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ… скрипта, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ Π±Π΅Π· пСрСкомпиляции всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» сцСнария прямо Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ быстро ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ ИИ.

Π Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° события

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²Ρ‹ΡˆΠ΅ идСально подходят ΠΊ Pong. Они Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Ρ†ΠΈΠΊΠ» Sense/Think/Act ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π° основС послСднСго состояния ΠΌΠΈΡ€Π°. Но Π² Π±ΠΎΠ»Π΅Π΅ слоТных ΠΈΠ³Ρ€Π°Ρ… Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ события, Π° Π½Π΅ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ всС ΠΈ сразу. Pong Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΡƒΠΆΠ΅ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’Ρ‹Π±Π΅Ρ€Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΡˆΡƒΡ‚Π΅Ρ€, Π³Π΄Π΅ Π²Ρ€Π°Π³ΠΈ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½Ρ‹ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ°Ρ‚ ΠΈΠ³Ρ€ΠΎΠΊΠ°, послС Ρ‡Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π² зависимости ΠΎΡ‚ своСй «спСциализации»: ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ±Π΅ΠΆΠΈΡ‚ Β«Ρ€Π°ΡˆΠΈΡ‚ΡŒΒ», ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π°Ρ‚Π°ΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·Π΄Π°Π»Π΅ΠΊΠ°. Π­Ρ‚ΠΎ всС Π΅Ρ‰Π΅ базовая Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ систСма β€” «Ссли ΠΈΠ³Ρ€ΠΎΠΊ Π·Π°ΠΌΠ΅Ρ‡Π΅Π½, Ρ‚ΠΎ сдСлай Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒΒ», β€” Π½ΠΎ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ логичСски Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° событиС Player Seen (ΠΈΠ³Ρ€ΠΎΠΊ Π·Π°ΠΌΠ΅Ρ‡Π΅Π½) ΠΈ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ (Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ).

Π­Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ нас ΠΊ Ρ†ΠΈΠΊΠ»Ρƒ Sense/Think/Act. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ Sense-Ρ‡Π°ΡΡ‚ΡŒ, которая ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ β€” Π²ΠΈΠ΄ΠΈΡ‚ Π»ΠΈ ИИ ΠΈΠ³Ρ€ΠΎΠΊΠ°. Если Π½Π΅Ρ‚ β€” Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ происходит, Π½ΠΎ Ссли Π²ΠΈΠ΄ΠΈΡ‚, Ρ‚ΠΎ создаСтся событиС Player Seen. Π£ ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ говорится: Β«ΠΊΠΎΠ³Π΄Π° происходит событиС Player Seen, сдСлай Β», Π³Π΄Π΅ β€” ΠΎΡ‚Π²Π΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ для обращСния ΠΊ частям Think ΠΈ Act. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ настроитС Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ ΠΊ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ Player Seen: Π½Π° Β«Ρ€Π°ΡˆΡƒΡ‰Π΅Π³ΠΎΒ» пСрсонаТа β€” ChargeAndAttack, Π° Π½Π° снайпСра β€” HideAndSnipe. Π­Ρ‚ΠΈ связи ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ Π΄Π°Π½Π½Ρ‹Ρ… для быстрого рСдактирования Π±Π΅Π· нСобходимости Π·Π°Π½ΠΎΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. И здСсь Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ язык сцСнариСв.

ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΈΠ΅ слоТных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

Π₯ΠΎΡ‚ΡŒ простыС систСмы Ρ€Π΅Π°ΠΊΡ†ΠΈΠΉ ΠΎΡ‡Π΅Π½ΡŒ дСйствСнны, Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ситуаций, ΠΊΠΎΠ³Π΄Π° ΠΈΡ… нСдостаточно. Иногда Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, основанныС Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π°Π³Π΅Π½Ρ‚ Π΄Π΅Π»Π°Π΅Ρ‚ Π² настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ это Π·Π° условиС тяТСло. Иногда сущСствуСт слишком ΠΌΠ½ΠΎΠ³ΠΎ условий, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эффСктивно ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π² Π΄Π΅Ρ€Π΅Π²Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ скриптС. Иногда Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ измСнится ситуация, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этих ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹.

Finite state machine

Finite state machine ΠΈΠ»ΠΈ FSM (ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚) β€” это способ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ наш Π°Π³Π΅Π½Ρ‚ Π² настоящСС врСмя находится Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… состояний, ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ состояния Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π’Π°ΠΊΠΈΡ… состояний ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ количСство β€” ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. Π›ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· ΠΆΠΈΠ·Π½ΠΈ β€” Π΄ΠΎΡ€ΠΎΠΆΠ½Ρ‹ΠΉ свСтофор. Π’ Ρ€Π°Π·Π½Ρ‹Ρ… мСстах Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ³Π½Π΅ΠΉ, Π½ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ‚ΠΎΡ‚ ΠΆΠ΅ β€” ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ состояниС прСдставляСт Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ (стой, ΠΈΠ΄ΠΈ ΠΈ Ρ‚.Π΄.). Π‘Π²Π΅Ρ‚ΠΎΡ„ΠΎΡ€ находится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ состоянии Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ Π½Π° основС простых ΠΏΡ€Π°Π²ΠΈΠ».

Π‘ NPC Π² ΠΈΠ³Ρ€Π°Ρ… похоТая история. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° возьмСм страТа с Ρ‚Π°ΠΊΠΈΠΌΠΈ состояниями:

  • ΠŸΠ°Ρ‚Ρ€ΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ (Patrolling).
  • ΠΡ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ (Attacking).
  • Π£Π±Π΅Π³Π°ΡŽΡ‰ΠΈΠΉ (Fleeing).

И Ρ‚Π°ΠΊΠΈΠΌΠΈ условиями для измСнСния Π΅Π³ΠΎ состояния:

  • Если страТ Π²ΠΈΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠ°, ΠΎΠ½ Π°Ρ‚Π°ΠΊΡƒΠ΅Ρ‚.
  • Если страТ Π°Ρ‚Π°ΠΊΡƒΠ΅Ρ‚, Π½ΠΎ большС Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠ°, ΠΎΠ½ возвращаСтся ΠΊ ΠΏΠ°Ρ‚Ρ€ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.
  • Если страТ Π°Ρ‚Π°ΠΊΡƒΠ΅Ρ‚, Π½ΠΎ сильно Ρ€Π°Π½Π΅Π½, ΠΎΠ½ ΡƒΠ±Π΅Π³Π°Π΅Ρ‚.

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ if-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-состояниСм страТа ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ: Π΅ΡΡ‚ΡŒ Π»ΠΈ поблизости Π²Ρ€Π°Π³, ΠΊΠ°ΠΊΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ NPC ΠΈ Ρ‚. Π΄. Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Ρ‰Π΅ нСсколько состояний:

  • БСздСйствиС (Idling) β€” ΠΌΠ΅ΠΆΠ΄Ρƒ патрулями.
  • Поиск (Searching) β€” ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²Ρ€Π°Π³ скрылся.
  • ΠŸΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΠΈ (Finding Help) β€” ΠΊΠΎΠ³Π΄Π° Π²Ρ€Π°Π³ Π·Π°ΠΌΠ΅Ρ‡Π΅Π½, Π½ΠΎ слишком силСн, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ с Π½ΠΈΠΌ Π² ΠΎΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΡƒ.

Π’Ρ‹Π±ΠΎΡ€ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, страТ Π½Π΅ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡΠΊΡ€Ρ‹Π²ΡˆΠ΅Π³ΠΎΡΡ Π²Ρ€Π°Π³Π°, Ссли Ρƒ Π½Π΅Π³ΠΎ Π½ΠΈΠ·ΠΊΠΎΠ΅ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅.

Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ список «Ссли <x ΠΈ y, Π½ΠΎ Π½Π΅ z>, Ρ‚ΠΎ <p>Β», ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ слишком Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ, поэтому слСдуСт Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² ΡƒΠΌΠ΅ состояния ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ состояниями. Π§Ρ‚ΠΎΠ±Ρ‹ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΏΡ€ΠΈΠΌΠ΅ΠΌ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ всС состояния, ΠΈ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ состояниСм запишСм Π² список всС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ состояния, вмСстС с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ для Π½ΠΈΡ… условиями.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π­Ρ‚ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² состояний β€” комплСксный способ прСдставлСния FSM. НарисуСм Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ мСняСтся ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ NPC.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡΡƒΡ‚ΡŒ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для этого Π°Π³Π΅Π½Ρ‚Π° Π½Π° основС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ситуации. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ каТдая стрСлка ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρƒ состояниями, Ссли условиС рядом с Π½Π΅ΠΉ истинно.

КаТдоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΡ‹ провСряСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Π°Π³Π΅Π½Ρ‚Π°, просматриваСм список ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ², ΠΈ Ссли условия для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹, ΠΎΠ½ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½ΠΎΠ²ΠΎΠ΅ состояниС. НапримСр, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ провСряСтся истСк Π»ΠΈ 10-сСкундный Ρ‚Π°ΠΉΠΌΠ΅Ρ€, ΠΈ Ссли Π΄Π°, Ρ‚ΠΎ ΠΈΠ· состояния Idling страТ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Patrolling. Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, состояниС Attacking провСряСт Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ Π°Π³Π΅Π½Ρ‚Π° β€” Ссли ΠΎΠ½ΠΎ Π½ΠΈΠ·ΠΊΠΎΠ΅, Ρ‚ΠΎ ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состояниС Fleeing.

Π­Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ состояниями, Π½ΠΎ ΠΊΠ°ΠΊ насчСт повСдСния, связанного с самими состояниями? Π§Ρ‚ΠΎ касаСтся Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ фактичСского повСдСния для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ состояния, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ сущСствуСт Π΄Π²Π° Ρ‚ΠΈΠΏΠ° Β«ΠΊΡ€ΡŽΠΊΠ°Β», Π³Π΄Π΅ ΠΌΡ‹ присваиваСм дСйствия ΠΊ FSM:

  • ДСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ пСриодичСски выполняСм для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния.
  • ДСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ состояния Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. БостояниС Patrolling ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π°Π³Π΅Π½Ρ‚Π° ΠΏΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρƒ патрулирования. БостояниС Attacking ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π°Ρ‚Π°ΠΊΡƒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² состояниС, ΠΊΠΎΠ³Π΄Π° это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° рассмотрим ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ «Ссли Π²Ρ€Π°Π³ Π²ΠΈΠ΄Π΅Π½ ΠΈ Π²Ρ€Π°Π³ слишком силСн, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² состояниС Finding Help. АгСнт Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, ΠΊΡƒΠ΄Π° ΠΏΠΎΠΉΡ‚ΠΈ Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ, ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ состояниС Finding Help Π·Π½Π°Π»ΠΎ ΠΊΡƒΠ΄Π° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Π°, Π°Π³Π΅Π½Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² состояниС Attacking. Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ½ Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΡΠΎΡŽΠ·Π½ΠΈΠΊΡƒ ΠΎΠ± ΡƒΠ³Ρ€ΠΎΠ·Π΅, поэтому ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ дСйствиС NotifyFriendOfThreat.

И снова ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° эту систСму Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΈΠ·ΠΌΡƒ Ρ†ΠΈΠΊΠ»Π° Sense/Think/Act. Sense воплощаСтся Π² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. Think β€” ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌΠΈ, доступными Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ состоянии. А Act осущСствляСтся дСйствиями, ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅ΠΌΡ‹ΠΌΠΈ пСриодичСски Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… состояния ΠΈΠ»ΠΈ Π½Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ состояниями.

Иногда Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ опрос условий ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ дорогостоящим. НапримСр, Ссли ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π°Π³Π΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ слоТныС вычислСния ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΈΡ‚ Π»ΠΈ ΠΎΠ½ Π²Ρ€Π°Π³ΠΎΠ² ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚ состояния Patrolling ΠΊ Attacking β€” это Π·Π°ΠΉΠΌΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ процСссора.

Π’Π°ΠΆΠ½Ρ‹Π΅ измСнСния Π² состоянии ΠΌΠΈΡ€Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ события, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΠΈΡ… появлСния. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ FSM ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ провСрял условиС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Β«ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΌΠΎΠΉ Π°Π³Π΅Π½Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΠ°?Β», ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ систСму, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π΅ΠΆΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 5 Ρ€Π°Π· Π² сСкунду). А Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ Player Seen, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚.

Π­Ρ‚ΠΎ пСрСдаСтся Π² FSM, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² условиС Player Seen event received ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ ΠΎΡ‚Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π˜Ρ‚ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ. Π—Π°Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ стала Π»ΡƒΡ‡ΡˆΠ΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ отдСлСния части Sense Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Hierarchical finite state machine

Однако Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с большими FSM Π½Π΅ всСгда ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Если ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ состояниС Π°Ρ‚Π°ΠΊΠΈ, Π·Π°ΠΌΠ΅Π½ΠΈΠ² Π΅Π³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ MeleeAttacking (Π±Π»ΠΈΠΆΠ½ΠΈΠΉ Π±ΠΎΠΉ) ΠΈ RangedAttacking (дальний Π±ΠΎΠΉ), Π½Π°ΠΌ придСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΈΠ· всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… состояний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Π΄ΡƒΡ‚ Π² состояниС Attacking (Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ ΠΈ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅).

НавСрняка Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ². Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² Π² состоянии Idling ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌ Π² состоянии Patrolling. Π₯ΠΎΡ€ΠΎΡˆΠΎ Π±Ρ‹ Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ, особСнно Ссли ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ большС ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… состояний. Π˜ΠΌΠ΅Π΅Ρ‚ смысл ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Idling ΠΈ Patrolling ΠΏΠΎΠ΄ ΠΎΠ±Ρ‰ΠΈΠΌ ярлыком Β«Π½Π΅Π±ΠΎΠ΅Π²Ρ‹Π΅Β», Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±Ρ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² Π² Π±ΠΎΠ΅Π²Ρ‹Π΅ состояния. Если ΠΌΡ‹ прСдставим этот ярлык ΠΊΠ°ΠΊ состояниС, Ρ‚ΠΎ Idling ΠΈ Patrolling станут подсостояниями. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² для Π½ΠΎΠ²ΠΎΠ³ΠΎ Π½Π΅Π±ΠΎΠ΅Π²ΠΎΠ³ΠΎ подсостояния:

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ состояния:
Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

БостояниС Π²Π½Π΅ боя:
Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

И Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹:

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π­Ρ‚ΠΎ Ρ‚Π° ΠΆΠ΅ самая систСма, Π½ΠΎ с Π½ΠΎΠ²Ρ‹ΠΌ Π½Π΅Π±ΠΎΠ΅Π²Ρ‹ΠΌ состояниСм, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Idling ΠΈ Patrolling. Π‘ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ состояниСм, содСрТащим FSM с подсостояниями (Π° эти подсостояния, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, содСрТат собствСнныС FSM β€” ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ сколько Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ), ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Hierarchical Finite State Machine ΠΈΠ»ΠΈ HFSM (иСрархичСский ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚). Π‘Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Π² Π½Π΅Π±ΠΎΠ΅Π²ΠΎΠ΅ состояниС, ΠΌΡ‹ Π²Ρ‹Ρ€Π΅Π·Π°Π»ΠΈ ΠΊΡƒΡ‡Ρƒ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ². Π’ΠΎ ΠΆΠ΅ самоС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для Π»ΡŽΠ±Ρ‹Ρ… Π½ΠΎΠ²Ρ‹Ρ… состояний с ΠΎΠ±Ρ‰ΠΈΠΌΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌΠΈ. НапримСр, Ссли Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΡ‹ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠΌ состояниС Attacking Π΄ΠΎ состояний MeleeAttacking and MissileAttacking, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ подсостояниями, пСрСходящими ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π½Π° основС расстояния Π΄ΠΎ Π²Ρ€Π°Π³Π° ΠΈ наличия боСприпасов. Π’ ΠΈΡ‚ΠΎΠ³Π΅ слоТныС ΠΌΠΎΠ΄Π΅Π»ΠΈ повСдСния ΠΈ ΠΏΠΎΠ΄ΠΌΠΎΠ΄Π΅Π»ΠΈ повСдСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ с ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠΌ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ².

Π”Π΅Ρ€Π΅Π²ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΉ

Π‘ HFSM ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ слоТныС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΉ простым способом. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΅ΡΡ‚ΡŒ нСбольшая Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ принятиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€Π°Π²ΠΈΠ» ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° тСсно связано с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ состояниСм. И Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ³Ρ€Π°Ρ… это ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ. А Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ использованиС ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ состояний ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅. Но ΠΈΠ½ΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΌ состоянии Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ ΠΈΠ»ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΡ‡Ρ‚ΠΈ Π² Π»ΡŽΠ±Ρ‹Ρ… состояниях. НапримСр, Ссли Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ Π°Π³Π΅Π½Ρ‚Π° ΡƒΠΏΠ°Π»ΠΎ Π΄ΠΎ 25%, Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΡƒΠ±Π΅Π³Π°Π» нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π±Ρ‹Π» Π»ΠΈ ΠΎΠ½ Π² бою, Π±Π΅Π·Π΄Π΅Π»ΡŒΠ½ΠΈΡ‡Π°Π» ΠΈΠ»ΠΈ Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Π» β€” Π²Π°ΠΌ придСтся Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ это условиС Π² ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ состояниС. А Ссли ваш Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ ΠΏΠΎΠ·ΠΆΠ΅ Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡ€ΠΎΠ³ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ с 25% Π΄ΠΎ 10%, Ρ‚ΠΎ этим снова придСтся Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ.

Π’ ΠΈΠ΄Π΅Π°Π»Π΅ для этой ситуации Π½ΡƒΠΆΠ½Π° систСма, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Β«Π² ΠΊΠ°ΠΊΠΎΠΌ состоянии ΠΏΡ€Π΅Π±Ρ‹Π²Π°Ρ‚ΡŒΒ», находятся Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ самих состояний, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС ΠΈ Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ условия ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. Π—Π΄Π΅ΡΡŒ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Π΅Ρ€Π΅Π²ΡŒΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΉ.

БущСствуСт нСсколько способов ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ ΡΡƒΡ‚ΡŒ для всСх ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π° ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ: Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ начинаСтся с Β«ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎΒ» ΡƒΠ·Π»Π°, Π° Π² Π΄Π΅Ρ€Π΅Π²Π΅ находятся ΡƒΠ·Π»Ρ‹, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π»ΠΈΠ±ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π»ΠΈΠ±ΠΎ дСйствия. ΠŸΡ€Π°Π²Π΄Π° Π΅ΡΡ‚ΡŒ нСсколько ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ:

  • Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠ·Π»Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: Succeeded (Ссли Ρ€Π°Π±ΠΎΡ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°), Failed (Ссли нСльзя Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ) ΠΈΠ»ΠΈ Running (Ссли ΠΎΠ½Π° всС Π΅Ρ‰Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° ΠΈ Π½Π΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°).
  • Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π½Π΅Ρ‚ ΡƒΠ·Π»ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для Π²Ρ‹Π±ΠΎΡ€Π° ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°ΠΌΠΈ. ВмСсто Π½ΠΈΡ… ΡƒΠ·Π»Ρ‹ Decorator, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ ΡƒΠ·Π΅Π». Если ΠΎΠ½ΠΈ Succeed, Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ свой СдинствСнный Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ ΡƒΠ·Π΅Π».
  • Π£Π·Π»Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ дСйствия, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Running для прСдставлСния выполняСмых дСйствий.

Π­Ρ‚ΠΎΡ‚ нСбольшой Π½Π°Π±ΠΎΡ€ ΡƒΠ·Π»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ для создания большого количСства слоТных ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ повСдСния. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ HFSM страТа ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π² Π²ΠΈΠ΄Π΅ Π΄Π΅Ρ€Π΅Π²Π° повСдСния:

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π‘ этой структурой Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ явного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΎΡ‚ состояний Idling/Patrolling ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Attacking ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Если Π²Ρ€Π°Π³ Π²ΠΈΠ΄Π΅Π½, Π° Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ пСрсонаТа Π½ΠΈΠ·ΠΊΠΎΠ΅, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ остановится Π½Π° ΡƒΠ·Π»Π΅ Fleeing, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΡƒΠ·Π΅Π» ΠΎΠ½ Ρ€Π°Π½Π΅Π΅ выполнял β€” Patrolling, Idling, Attacking ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π”Π΅Ρ€Π΅Π²ΡŒΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΉ слоТны β€” Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ способов ΠΈΡ… ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Π΄Π° ΠΈ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ сочСтаниС Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ составных ΡƒΠ·Π»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ. Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ вопросы ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ часто ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ β€” ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½ΠΎ ΠΈΠ· условий измСнилось? Как Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ состояниС, относящССся ΠΊ ΡƒΠ·Π»Π°ΠΌ β€” ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π±Ρ‹Π»ΠΈ Π² состоянии Idling Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 10 сСкунд ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΡƒΠ·Π»Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π² ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ Ρ€Π°Π·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ?

ИмСнно поэтому сущСствуСт мноТСство Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ. НапримСр, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… систСмах ΡƒΠ·Π»Ρ‹ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Π° Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ встроСнными Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ. Они ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ условий Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Π°, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΊ ΡƒΠ·Π»Π°ΠΌ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ пСриодичСскиС обновлСния.

Utility-based system

Π£ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ³Ρ€ Π΅ΡΡ‚ΡŒ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊ. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ всС прСимущСства простых ΠΈ ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ» ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° повСдСния. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‡Ρ‘Ρ‚ΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€ Π²Ρ‹Π±ΠΎΡ€ΠΎΠ² ΠΈΠ»ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… дСйствий, ΠΏΡ€ΠΎΡ‰Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ всС дСйствия ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ самоС подходящСС Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚.

Utility-based system (систСма, основанная Π½Π° полСзности) ΠΊΠ°ΠΊ Ρ€Π°Π· Π² этом ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚. Π­Ρ‚ΠΎ систСма, Π³Π΄Π΅ Ρƒ Π°Π³Π΅Π½Ρ‚Π° Π΅ΡΡ‚ΡŒ мноТСство дСйствий, ΠΈ ΠΎΠ½ сам Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ полСзности ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ. Π“Π΄Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡ‚ΡŒ β€” ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Π°Ρ ΠΌΠ΅Ρ€Π° Ρ‚ΠΎΠ³ΠΎ, насколько Π²Π°ΠΆΠ½ΠΎ ΠΈΠ»ΠΈ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этого дСйствия для Π°Π³Π΅Π½Ρ‚Π°.

Π Π°ΡΡΡ‡ΠΈΡ‚Π°Π½Π½ΡƒΡŽ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡ‚ΡŒ дСйствия Π½Π° основС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния ΠΈ срСды, Π°Π³Π΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящСС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ состояниС Π² любоС врСмя. Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° FSM, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΎΡ†Π΅Π½ΠΊΠΎΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ состояния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ самоС ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ дСйствиС для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° (ΠΈΠ»ΠΈ остаСмся, Ссли ΡƒΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π΅Π³ΠΎ). Для большСго разнообразия это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π·Π²Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΉ, Π½ΠΎ случайный Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· нСбольшого списка.

БистСма Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ полСзности β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ 0 (ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ) Π΄ΠΎ 100 (ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ). Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ дСйствия Π΅ΡΡ‚ΡŒ ряд ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π²Π»ΠΈΡΡŽΡ‰ΠΈΡ… Π½Π° вычислСниС этого значСния. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ со страТСм:

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ дСйствиями Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹ β€” любоС состояниС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ. ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹ дСйствий находятся Π² Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… значСниях полСзности. Если Π²Ρ€Π°Π³ Π²ΠΈΠ΄Π΅Π½, ΠΈ этот Π²Ρ€Π°Π³ силСн, Π° Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ пСрсонаТа Π½ΠΈΠ·ΠΊΠΎΠ΅, Ρ‚ΠΎ ΠΈ Fleeing, ΠΈ FindingHelp Π²Π΅Ρ€Π½ΡƒΡ‚ высокиС Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ значСния. ΠŸΡ€ΠΈ этом FindingHelp всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΡˆΠ΅. Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π΅Π±ΠΎΠ΅Π²Ρ‹Π΅ дСйствия Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ большС 50, поэтому ΠΎΠ½ΠΈ всСгда Π±ΡƒΠ΄ΡƒΡ‚ Π½ΠΈΠΆΠ΅ Π±ΠΎΠ΅Π²Ρ‹Ρ…. НуТно ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ это ΠΏΡ€ΠΈ создании дСйствий ΠΈ вычислСнии ΠΈΡ… полСзности.

Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ дСйствия Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π»ΠΈΠ±ΠΎ фиксированноС постоянноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π»ΠΈΠ±ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… фиксированных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π‘ΠΎΠ»Π΅Π΅ рСалистичная систСма ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΈΠ· Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. НапримСр, дСйствиС Fleeing Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ высокиС значСния полСзности, Ссли Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ Π°Π³Π΅Π½Ρ‚Π° Π½ΠΈΠ·ΠΊΠΎΠ΅, Π° дСйствиС Attacking Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠ΅, Ссли Π²Ρ€Π°Π³ слишком силСн. Из-Π·Π° этого дСйствиС Fleeing ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π°Π΄ Attacking Π² любой ситуации, ΠΊΠΎΠ³Π΄Π° Π°Π³Π΅Π½Ρ‚ чувствуСт, Ρ‡Ρ‚ΠΎ Ρƒ Π½Π΅Π³ΠΎ нСдостаточно Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ для ΠΏΠΎΠ±Π΅Π΄Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠΎΠΌ. Π­Ρ‚ΠΎ позволяСт ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹ дСйствий Π½Π° основС любого числа ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π², Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ Π²Π°Ρ€ΠΈΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ, Ρ‡Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²ΠΎ повСдСния ΠΈΠ»ΠΈ FSM.

КаТдоС дСйствиС ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ условий для расчСта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° языкС сцСнариСв ΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ сСрии матСматичСских Ρ„ΠΎΡ€ΠΌΡƒΠ». Π’ The Sims, которая ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ распорядок дня пСрсонаТа, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ вычислСний β€” Π°Π³Π΅Π½Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ряд Β«ΠΌΠΎΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΉΒ», Π²Π»ΠΈΡΡŽΡ‰ΠΈΡ… Π½Π° ΠΎΡ†Π΅Π½ΠΊΠΈ полСзности. Если пСрсонаТ Π³ΠΎΠ»ΠΎΠ΄Π΅Π½, Ρ‚ΠΎ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΠ»ΠΎΠ΄Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ сильнСС, ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ полСзности дСйствия EatFood Π±ΡƒΠ΄Π΅Ρ‚ расти Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° пСрсонаТ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Π΅Π³ΠΎ, снизив ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π³ΠΎΠ»ΠΎΠ΄Π°, ΠΈ Π²Π΅Ρ€Π½ΡƒΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ EatFood Ρ€Π°Π²Π½Ρ‹ΠΌ Π½ΡƒΠ»ΡŽ.

ИдСя Π²Ρ‹Π±ΠΎΡ€Π° дСйствий Π½Π° основС систСмы ΠΎΡ†Π΅Π½ΠΎΠΊ довольно проста, поэтому Utility-based system ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ процСссов принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ИИ, Π° Π½Π΅ ΠΊΠ°ΠΊ ΠΈΡ… ΠΏΠΎΠ»Π½ΡƒΡŽ Π·Π°ΠΌΠ΅Π½Ρƒ. Π”Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΎΡ†Π΅Π½ΠΊΡƒ полСзности Π΄Π²ΡƒΡ… Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΡƒΠ·Π»ΠΎΠ² ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ. Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄Π΅Ρ€Π΅Π²ΠΎ повСдСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ составной ΡƒΠ·Π΅Π» Utility для ΠΎΡ†Π΅Π½ΠΊΠΈ полСзности дСйствий, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ элСмСнт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ.

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈ навигация

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Ρƒ нас Π±Ρ‹Π»Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π»ΠΈ Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ, ΠΈ страТ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ€ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π» ΠΈΠ»ΠΈ Π°Ρ‚Π°ΠΊΠΎΠ²Π°Π». Но ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π°Π³Π΅Π½Ρ‚Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ? Как ΠΌΡ‹ устанавливаСм ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈΠ·Π±Π΅Π³Π°Π΅ΠΌ прСпятствий, ΠΈ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚, Ссли Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ мСста назначСния слоТнСС, Ρ‡Π΅ΠΌ просто Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΏΠΎ прямой? Π”Π°Π²Π°ΠΉΡ‚Π΅ это рассмотрим.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅

На Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ этапС Π±ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π°Π³Π΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ скорости, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя, ΠΊΠ°ΠΊ быстро ΠΎΠ½ двигаСтся ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Она ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π° Π² ΠΌΠ΅Ρ‚Ρ€Π°Ρ… Π² сСкунду, ΠΊΠΈΠ»ΠΎΠΌΠ΅Ρ‚Ρ€Π°Ρ… Π² час, пиксСлСй Π² сСкунду ΠΈ Ρ‚. Π΄. Вспоминая Ρ†ΠΈΠΊΠ» Sense/Think/Act, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‡Π°ΡΡ‚ΡŒ Think Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, Π° Ρ‡Π°ΡΡ‚ΡŒ Act примСняСт эту ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΊ Π°Π³Π΅Π½Ρ‚Ρƒ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² ΠΈΠ³Ρ€Π°Ρ… Π΅ΡΡ‚ΡŒ физичСская систСма, которая выполняСт эту Π·Π°Π΄Π°Ρ‡Ρƒ Π·Π° вас, изучая Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ скорости ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ рСгулируя Π΅Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ИИ с ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ β€” Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π°Π³Π΅Π½Ρ‚. Если извСстно, Π³Π΄Π΅ Π°Π³Π΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ с установлСнной ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ. ΠžΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅:

desired_travel = destination_position – agent_position

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ 2D-ΠΌΠΈΡ€. АгСнт находится Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ (-2,-2), ΠΏΡƒΠ½ΠΊΡ‚ назначСния Π³Π΄Π΅-Ρ‚ΠΎ Π½Π° сСвСро-востокС Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ (30, 20), Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΏΡƒΡ‚ΡŒ для Π°Π³Π΅Π½Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΌ β€” (32, 22). Допустим, эти ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Ρ€ΡΡŽΡ‚ΡΡ Π² ΠΌΠ΅Ρ‚Ρ€Π°Ρ… β€” Ссли ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π°Π³Π΅Π½Ρ‚Π° Π·Π° 5 ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² сСкунду, Ρ‚ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ наш Π²Π΅ΠΊΡ‚ΠΎΡ€ пСрСмСщСния ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ (4.12, 2.83). Π‘ этими ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π°Π³Π΅Π½Ρ‚ ΠΏΡ€ΠΈΠ±Ρ‹Π» Π±Ρ‹ ΠΊ мСсту назначСния ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· 8 сСкунд.

ΠŸΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ значСния ΠΌΠΎΠΆΠ½ΠΎ Π² любоС врСмя. Если Π°Π³Π΅Π½Ρ‚ Π±Ρ‹Π» Π½Π° ΠΏΠΎΠ»ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ†Π΅Π»ΠΈ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ максимальная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π°Π³Π΅Π½Ρ‚Π° 5 ΠΌ/с (ΠΌΡ‹ это Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅), ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для двиТущихся Ρ†Π΅Π»Π΅ΠΉ, позволяя Π°Π³Π΅Π½Ρ‚Ρƒ Π²Π½ΠΎΡΠΈΡ‚ΡŒ нСбольшиС измСнСния ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΠΈΡ… пСрСмСщСния.

Но ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ большС вариативности β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π½Π°Ρ€Π°ΡΡ‚ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΈΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ пСрсонаТа, двиТущСгося ΠΈΠ· стоячСго состояния ΠΈ пСрСходящСго ΠΊ Π±Π΅Π³Ρƒ. Π’ΠΎΠΆΠ΅ самоС ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΠ΅Ρ€Π΅Π΄ остановкой. Π­Ρ‚ΠΈ Ρ„ΠΈΡ‡ΠΈ извСстны ΠΊΠ°ΠΊ steering behaviours, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°: Seek (поиск), Flee (бСгство), Arrival (ΠΏΡ€ΠΈΠ±Ρ‹Ρ‚ΠΈΠ΅) ΠΈ Ρ‚. Π΄. ИдСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ силы ускорСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊ скорости Π°Π³Π΅Π½Ρ‚Π°, Π½Π° основС сравнСния полоТСния Π°Π³Π΅Π½Ρ‚Π° ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ скорости с ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ назначСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы пСрСмСщСния ΠΊ Ρ†Π΅Π»ΠΈ.

КаТдоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ†Π΅Π»ΡŒ. Seek ΠΈ Arrival β€” это способы пСрСмСщСния Π°Π³Π΅Π½Ρ‚Π° ΠΊ Ρ‚ΠΎΡ‡ΠΊΠ΅ назначСния. Obstacle Avoidance (ΠΈΠ·Π±Π΅Π³Π°Π½ΠΈΠ΅ прСпятствий) ΠΈ Separation (Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅) ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π°Π³Π΅Π½Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ прСпятствия Π½Π° ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ†Π΅Π»ΠΈ. Alignment (согласованиС) ΠΈ Cohesion (связь) Π΄Π΅Ρ€ΠΆΠ°Ρ‚ Π°Π³Π΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ вмСстС. Π›ΡŽΠ±ΠΎΠ΅ число Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… steering behaviours ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ суммировано для получСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΏΡƒΡ‚ΠΈ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ всСх Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ². АгСнт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ повСдСния Arrival, Separation ΠΈ Obstacle Avoidance, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ подальшС ΠΎΡ‚ стСн ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Π³Π΅Π½Ρ‚ΠΎΠ². Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… локациях Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ.

Π’ Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹Ρ… условиях, слоТСниС Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΡƒΠΆΠ΅ β€” ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π°Π³Π΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΡΡ‚Ρ€ΡΡ‚ΡŒ Π² стСнС ΠΈΠ·-Π·Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° Arrival ΠΈ Obstacle Avoidance. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слоТнСС, Ρ‡Π΅ΠΌ просто слоТСниС всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Бпособ Ρ‚Π°ΠΊΠΎΠΉ: вмСсто слоТСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ повСдСния, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ€Π°Π·Π½Ρ‹Ρ… направлСниях ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

Однако Π² слоТной срСдС с Ρ‚ΡƒΠΏΠΈΠΊΠ°ΠΌΠΈ ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ, Π² ΠΊΠ°ΠΊΡƒΡŽ сторону ΠΈΠ΄Ρ‚ΠΈ, Π½Π°ΠΌ понадобится Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠ΅.

Поиск ΠΏΡƒΡ‚ΠΈ

Steering behaviours ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для простого двиТСния Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ мСстности (Ρ„ΡƒΡ‚Π±ΠΎΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΈΠ»ΠΈ Π°Ρ€Π΅Π½Π°), Π³Π΄Π΅ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ А Π΄ΠΎ Π‘ β€” это прямой ΠΏΡƒΡ‚ΡŒ с нСбольшими отклонСниями ΠΌΠΈΠΌΠΎ прСпятствий. Для слоТных ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ² Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ pathfinding (поиск ΠΏΡƒΡ‚ΠΈ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся способом изучСния ΠΌΠΈΡ€Π° ΠΈ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ.

Π‘Π°ΠΌΡ‹ΠΉ простой β€” Π½Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ сСтку Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ рядом с Π°Π³Π΅Π½Ρ‚ΠΎΠΌ ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π² ΠΊΠ°ΠΊΠΈΡ… ΠΈΠ· Π½ΠΈΡ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ. Если ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΈΠ· Π½ΠΈΡ… являСтся ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ назначСния, Ρ‚ΠΎ слСдуйтС ΠΈΠ· Π½Π΅Π³ΠΎ ΠΏΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρƒ ΠΎΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠΉΠ΄Π΅Ρ‚Π΅ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π°. Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС повторяйтС процСсс с блиТайшими Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°ΠΌΠΈ, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ мСсто назначСния ΠΈΠ»ΠΈ Π½Π΅ закончатся ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Ρ‹ (это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°). Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ извСстно ΠΊΠ°ΠΊ Breadth-First Search ΠΈΠ»ΠΈ BFS (Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ). На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС ΠΎΠ½ смотрит Π²ΠΎ всСх направлСниях (поэтому breadth, Β«ΡˆΠΈΡ€ΠΈΠ½Π°Β»). ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ поиска ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π²ΠΎΠ»Π½ΠΎΠ²ΠΎΠΉ Ρ„Ρ€ΠΎΠ½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСмСщаСтся, ΠΏΠΎΠΊΠ° Π½Π΅ достигнСт искомоС мСсто β€” ΠΎΠ±Π»Π°ΡΡ‚ΡŒ поиска Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π² Π½Π΅Π΅ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ конСчная Ρ‚ΠΎΡ‡ΠΊΠ°, послС Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ список ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ², ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ составляСтся Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚. Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ (ΠΎΡ‚ΡΡŽΠ΄Π°, pathfinding) β€” список мСст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π³Π΅Π½Ρ‚ посСтит, слСдуя ΠΊ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ назначСния.

Учитывая, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° Π² ΠΌΠΈΡ€Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ steering behaviours, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ β€” ΠΎΡ‚ ΡƒΠ·Π»Π° 1 ΠΊ ΡƒΠ·Π»Ρƒ 2, Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ ΡƒΠ·Π»Π° 2 ΠΊ ΡƒΠ·Π»Ρƒ 3 ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°, Π½ΠΎ Π΅Ρ‰Π΅ Π»ΡƒΡ‡ΡˆΠ΅ β€” ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Π½Π° сСрСдинС Π³Ρ€Π°Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ. Из-Π·Π° этого Π°Π³Π΅Π½Ρ‚ смоТСт ΡΡ€Π΅Π·Π°Ρ‚ΡŒ ΡƒΠ³Π»Ρ‹ Π½Π° ΠΊΡ€ΡƒΡ‚Ρ‹Ρ… ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°Ρ….

Π£ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° BFS Π΅ΡΡ‚ΡŒ ΠΈ минусы β€” ΠΎΠ½ исслСдуСт ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² Π² Β«Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌΒ» Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, сколько Π² Β«ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌΒ». Π—Π΄Π΅ΡΡŒ появляСтся Π±ΠΎΠ»Π΅Π΅ слоТный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ A* (A star). Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅, Π½ΠΎ вмСсто слСпого изучСния ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ²-сосСдСй (Π·Π°Ρ‚Π΅ΠΌ сосСдСй сосСдСй, Π·Π°Ρ‚Π΅ΠΌ сосСдСй сосСдСй сосСдСй ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅), ΠΎΠ½ собираСт ΡƒΠ·Π»Ρ‹ Π² список ΠΈ сортируСт ΠΈΡ… Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ исслСдуСмый ΡƒΠ·Π΅Π» всСгда Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅ΠΌΡƒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρƒ. Π£Π·Π»Ρ‹ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° основС эвристики, которая ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π²Π΅ Π²Π΅Ρ‰ΠΈ β€” Β«ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΒ» гипотСтичСского ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Ρƒ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π»ΡŽΠ±Ρ‹Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅) ΠΈ ΠΎΡ†Π΅Π½ΠΊΡƒ Ρ‚ΠΎΠ³ΠΎ, насколько Π΄Π°Π»Π΅ΠΊΠΎ этот ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ ΠΎΡ‚ мСста назначСния (смСщая поиск Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ).

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π°Π³Π΅Π½Ρ‚ исслСдуСт ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Ρƒ Π·Π° Ρ€Π°Π·, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· выбирая сосСдний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся самым пСрспСктивным. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ BFS, Π½ΠΎ Π² процСссС Π±Ρ‹Π»ΠΎ рассмотрСно мСньшС ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² β€” Π° это ΠΈΠΌΠ΅Π΅Ρ‚ большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ³Ρ€Ρ‹.

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· сСтки

Но Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ³Ρ€ Π½Π΅ Π²Ρ‹Π»ΠΎΠΆΠ΅Π½Ρ‹ Π½Π° сСткС, ΠΈ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π΅Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π±Π΅Π· ΡƒΡ‰Π΅Ρ€Π±Π° рСалистичности. НуТны компромиссы. ΠšΠ°ΠΊΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Ρ‹? Блишком большими β€” ΠΈ ΠΎΠ½ΠΈ Π½Π΅ смогут ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ нСбольшиС ΠΊΠΎΡ€ΠΈΠ΄ΠΎΡ€Ρ‹ ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Ρ‹, слишком малСнькими β€” Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² для поиска, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΠΈΡ‚ΠΎΠ³Π΅ Π·Π°ΠΉΠΌΠ΅Ρ‚ ΠΊΡƒΡ‡Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ β€” сСтка Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ Π³Ρ€Π°Ρ„ связанных ΡƒΠ·Π»ΠΎΠ². Алгоритмы A* ΠΈ BFS фактичСски Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ… ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ заботятся ΠΎ нашСй сСткС. ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ·Π»Ρ‹ Π² Π»ΡŽΠ±Ρ‹Ρ… мСстах ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°: ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π»ΡŽΠ±Ρ‹ΠΌΠΈ двумя соСдинСнными ΡƒΠ·Π»Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡƒΠ·Π»ΠΎΠ² β€” Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΊΠ°ΠΊ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅. Часто это Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ систСмой ΠΏΡƒΡ‚Π΅Π²Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ (waypoint), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΠ·Π΅Π» прСдставляСт собой Π·Π½Π°Ρ‡ΠΈΠΌΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² ΠΌΠΈΡ€Π΅, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ любого количСства гипотСтичСских ΠΏΡƒΡ‚Π΅ΠΉ.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: ΡƒΠ·Π΅Π» Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π΅. Поиск начинаСтся ΠΈΠ· ΡƒΠ·Π»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится Π°Π³Π΅Π½Ρ‚, ΠΈ заканчиваСтся Π² ΡƒΠ·Π»Π΅ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: мСньший Π½Π°Π±ΠΎΡ€ ΡƒΠ·Π»ΠΎΠ² (ΠΏΡƒΡ‚Π΅Π²Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ). Поиск начинаСтся Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π΅ с Π°Π³Π΅Π½Ρ‚ΠΎΠΌ, ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ количСство ΡƒΠ·Π»ΠΎΠ², ΠΈ Π·Π°Ρ‚Π΅ΠΌ продолТаСтся Π΄ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° назначСния.

Π­Ρ‚ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ гибкая ΠΈ мощная систСма. Но Π½ΡƒΠΆΠ½Π° нСкоторая ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ…, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ waypoint, ΠΈΠ½Π°Ρ‡Π΅ Π°Π³Π΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ просто Π½Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΈ Π½Π΅ смогут Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ. Π‘Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΡ€ΠΎΡ‰Π΅, Ссли ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ автоматичСски Ρ€Π°ΡΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚Π΅Π²Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° основС Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΌΠΈΡ€Π°.

Π’ΡƒΡ‚ появляСтся navigation mesh ΠΈΠ»ΠΈ navmesh (навигационная сСтка). Π­Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 2D-сСтка Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ², которая накладываСтся Π½Π° Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ ΠΌΠΈΡ€Π° β€” Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π°Π³Π΅Π½Ρ‚Ρƒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Π² сСткС становится ΡƒΠ·Π»ΠΎΠΌ Π² Π³Ρ€Π°Ρ„Π΅ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄ΠΎ Ρ‚Ρ€Π΅Ρ… смСТных Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ становятся сосСдними ΡƒΠ·Π»Π°ΠΌΠΈ Π² Π³Ρ€Π°Ρ„Π΅.

Π­Ρ‚Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° являСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΈΠ· Π΄Π²ΠΈΠΆΠΊΠ° Unity β€” ΠΎΠ½ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π» Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ Π² ΠΌΠΈΡ€Π΅ ΠΈ создал navmesh (Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅ свСтло-Π³ΠΎΠ»ΡƒΠ±Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ Π² navmesh β€” это ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π°Π³Π΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹ мСньшС этаТСй, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ΠΈ располоТСны β€” сдСлано для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡ‡Π΅ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π°Π³Π΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π΅Π³ΠΎ номинального полоТСния.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ Ρ‡Π΅Ρ€Π΅Π· эту сСтку, снова ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ A*. Π­Ρ‚ΠΎ даст Π½Π°ΠΌ практичСски ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ Π² ΠΌΠΈΡ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ всю Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ ΠΈ ΠΏΡ€ΠΈ этом Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π»ΠΈΡˆΠ½ΠΈΡ… ΡƒΠ·Π»ΠΎΠ² ΠΈ создания ΠΏΡƒΡ‚Π΅Π²Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ.

Pathfinding β€” слишком ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ Ρ‚Π΅ΠΌΠ°, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ°Π»ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° ΡΡ‚Π°Ρ‚ΡŒΠΈ. Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, Ρ‚ΠΎ Π² этом ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ сайт Амита ΠŸΠ°Ρ‚Π΅Π»Ρ.

ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠœΡ‹ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ с pathfinding, Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° нСдостаточно просто Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ β€” ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколько ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ мСста назначСния. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ эту идСю: достиТСниС Ρ†Π΅Π»ΠΈ это Π½Π΅ просто ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг, Π° цСлая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π³Π΄Π΅ ΠΈΠ½ΠΎΠΉ Ρ€Π°Π· трСбуСтся Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π²ΠΏΠ΅Ρ€Π΅Π΄ Π½Π° нСсколько шагов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ. Π­Ρ‚ΠΎ называСтся ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Pathfinding ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ планирования. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния нашСго Ρ†ΠΈΠΊΠ»Π° Sense/Think/Act, это Ρ‚ΠΎ, Π³Π΄Π΅ Ρ‡Π°ΡΡ‚ΡŒ Think ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚ нСсколько частСй Act Π½Π° Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅.

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹ Magic: The Gathering. ΠœΡ‹ Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ с Ρ‚Π°ΠΊΠΈΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠ°Ρ€Ρ‚ Π½Π° Ρ€ΡƒΠΊΠ°Ρ…:

  • Swamp β€” Π΄Π°Π΅Ρ‚ 1 Ρ‡Π΅Ρ€Π½ΡƒΡŽ ΠΌΠ°Π½Ρƒ (ΠΊΠ°Ρ€Ρ‚Π° Π·Π΅ΠΌΠ»ΠΈ).
  • Forest β€” Π΄Π°Π΅Ρ‚ 1 Π·Π΅Π»Π΅Π½ΡƒΡŽ ΠΌΠ°Π½Ρƒ (ΠΊΠ°Ρ€Ρ‚Π° Π·Π΅ΠΌΠ»ΠΈ).
  • Fugitive Wizard β€” Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ 1 синию ΠΌΠ°Π½Ρƒ для ΠΏΡ€ΠΈΠ·Ρ‹Π²Π°.
  • Elvish Mystic β€” Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ 1 Π·Π΅Π»Π΅Π½ΡƒΡŽ ΠΌΠ°Π½Ρƒ для ΠΏΡ€ΠΈΠ·Ρ‹Π²Π°.

ΠžΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ Ρ‚Ρ€ΠΈ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‰Π΅. По ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΈΠ³Ρ€ΠΎΠΊΡƒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ 1 ΠΊΠ°Ρ€Ρ‚Ρƒ Π·Π΅ΠΌΠ»ΠΈ Π·Π° Ρ…ΠΎΠ΄, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Β«Ρ‚Π°ΠΏΠ½ΡƒΡ‚ΡŒΒ» эту ΠΊΠ°Ρ€Ρ‚Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· Π½Π΅Π΅ ΠΌΠ°Π½Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ заклинания (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Ρ‹Π·ΠΎΠ² сущСства) ΠΏΠΎ количСству ΠΌΠ°Π½Ρ‹. Π’ этой ситуации ΠΈΠ³Ρ€ΠΎΠΊ-Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Forest, Β«Ρ‚Π°ΠΏΠ½ΡƒΡ‚ΡŒΒ» 1 Π·Π΅Π»Π΅Π½ΡƒΡŽ ΠΌΠ°Π½Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Elvish Mystic. Но ΠΊΠ°ΠΊ ΠΎΠ± этом Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ ИИ?

ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π’Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ β€” ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ дСйствиС ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, ΠΏΠΎΠΊΠ° Π½Π΅ останСтся подходящих. Глядя Π½Π° ΠΊΠ°Ρ€Ρ‚Ρ‹, ИИ Π²ΠΈΠ΄ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‹Π³Ρ€Π°Ρ‚ΡŒ Swamp. И ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π΅Π³ΠΎ. ΠžΡΡ‚Π°Π»ΠΈΡΡŒ Π»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия Π½Π° этом Ρ…ΠΎΠ΄Ρƒ? Он Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π½ΠΈ Elvish Mystic, Π½ΠΈ Fugitive Wizard, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ для ΠΈΡ… ΠΏΡ€ΠΈΠ·Ρ‹Π²Π° трСбуСтся соотвСтствСнно зСлСная ΠΈ синяя ΠΌΠ°Π½Π°, Π° Swamp Π΄Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π½ΡƒΡŽ ΠΌΠ°Π½Ρƒ. И ΠΎΠ½ ΡƒΠΆΠ΅ Π½Π΅ смоТСт ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Forest, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ сыграл Swamp. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ сходил ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, Π½ΠΎ сдСлал это ΠΏΠ»ΠΎΡ…ΠΎ. МоТно ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ.

ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ список дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приводят ΠΈΠ³Ρ€Ρƒ Π² ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ состояниС. Π’Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ каТдая ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ Π½Π° ΠΏΡƒΡ‚ΠΈ ΠΈΠΌΠ΅Π» сосСдСй (Π² pathfinding), ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ дСйствиС Π² ΠΏΠ»Π°Π½Π΅ Ρ‚ΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ сосСдСй ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊΠΎΠ². ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΊΠ°Ρ‚ΡŒ эти дСйствия ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия, ΠΏΠΎΠΊΠ° Π½Π΅ достигнСм ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ состояния.

Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Β«Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ сущСство, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΒ». Π’ Π½Π°Ρ‡Π°Π»Π΅ Ρ…ΠΎΠ΄Π° ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… дСйствия, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ ΠΈΠ³Ρ€Ρ‹:

1. Π‘Ρ‹Π³Ρ€Π°Ρ‚ΡŒ Swamp (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Swamp Π² ΠΈΠ³Ρ€Π΅)
2. Π‘Ρ‹Π³Ρ€Π°Ρ‚ΡŒ Forest (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Forest Π² ΠΈΠ³Ρ€Π΅)

КаТдоС принятоС дСйствиС ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ дальнСйшим дСйствиям ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ Π² зависимости ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠ» ΠΈΠ³Ρ€Ρ‹. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сыграли Swamp β€” это ΡƒΠ΄Π°Π»ΠΈΡ‚ Swamp Π² качСствС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ шага (ΠΌΡ‹ Π΅Π³ΠΎ ΡƒΠΆΠ΅ сыграли), Ρ‚Π°ΠΊΠΆΠ΅ это ΡƒΠ΄Π°Π»ΠΈΡ‚ ΠΈ Forest (ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‹Π³Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΊΠ°Ρ€Ρ‚Ρƒ Π·Π΅ΠΌΠ»ΠΈ Π·Π° Ρ…ΠΎΠ΄). ПослС этого ИИ добавляСт Π² качСствС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ шага β€” ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ 1 Ρ‡Π΅Ρ€Π½ΠΎΠΉ ΠΌΠ°Π½Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π½Π΅Ρ‚. Если ΠΎΠ½ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ дальшС ΠΈ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ Tap the Swamp, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ 1 Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Ρ‡Π΅Ρ€Π½ΠΎΠΉ ΠΌΠ°Π½Ρ‹ ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ с Π½Π΅ΠΉ Π½Π΅ смоТСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

1. Π‘Ρ‹Π³Ρ€Π°Ρ‚ΡŒ Swamp (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Swamp Π² ΠΈΠ³Ρ€Π΅)
1.1 Β«Π’Π°ΠΏΠ½ΡƒΡ‚ΡŒΒ» Swamp (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Swamp Β«Ρ‚Π°ΠΏΠ½ΡƒΡ‚Π°Β», +1 Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Ρ‡Π΅Ρ€Π½ΠΎΠΉ ΠΌΠ°Π½Ρ‹)
НСт доступных дСйствий – ΠšΠžΠΠ•Π¦
2. Π‘Ρ‹Π³Ρ€Π°Ρ‚ΡŒ Forest (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Forest Π² ΠΈΠ³Ρ€Π΅)

Бписок дСйствий Π²Ρ‹ΡˆΠ΅Π» ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ, ΠΌΡ‹ зашли Π² Ρ‚ΡƒΠΏΠΈΠΊ. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅ΠΌ процСсс для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ дСйствия. ΠœΡ‹ ΠΈΠ³Ρ€Π°Π΅ΠΌ Forest, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ дСйствиС Β«ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ 1 Π·Π΅Π»Π΅Π½ΡƒΡŽ ΠΌΠ°Π½ΡƒΒ», которая Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ дСйствиС β€” ΠΏΡ€ΠΈΠ·Ρ‹Π² Elvish Mystic.

1. Π‘Ρ‹Π³Ρ€Π°Ρ‚ΡŒ Swamp (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Swamp Π² ΠΈΠ³Ρ€Π΅)
1.1 Β«Π’Π°ΠΏΠ½ΡƒΡ‚ΡŒΒ» Swamp (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Swamp Β«Ρ‚Π°ΠΏΠ½ΡƒΡ‚Π°Β», +1 Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Ρ‡Π΅Ρ€Π½ΠΎΠΉ ΠΌΠ°Π½Ρ‹)
НСт доступных дСйствий – ΠšΠžΠΠ•Π¦
2. Π‘Ρ‹Π³Ρ€Π°Ρ‚ΡŒ Forest (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Forest Π² ΠΈΠ³Ρ€Π΅)
2.1 Β«Π’Π°ΠΏΠ½ΡƒΡ‚ΡŒΒ» Forest (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Forest Β«Ρ‚Π°ΠΏΠ½ΡƒΡ‚Π°Β», +1 Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π·Π΅Π»Π΅Π½ΠΎΠΉ ΠΌΠ°Π½Ρ‹)
2.1.1 ΠŸΡ€ΠΈΠ·Π²Π°Ρ‚ΡŒ Elvish Mystic (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Elvish Mystic Π² ΠΈΠ³Ρ€Π΅, -1 Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π·Π΅Π»Π΅Π½ΠΎΠΉ ΠΌΠ°Π½Ρ‹)
НСт доступных дСйствий – ΠšΠžΠΠ•Π¦

НаконСц, ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ дСйствия ΠΈ нашли ΠΏΠ»Π°Π½, ΠΏΡ€ΠΈΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ сущСство.

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π½, Π° Π½Π΅ любой, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ критСриям. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ»Π°Π½Ρ‹ Π½Π° основС ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΈΠ»ΠΈ совокупной Π²Ρ‹Π³ΠΎΠ΄Ρ‹ ΠΎΡ‚ ΠΈΡ… выполнСния. МоТно Π½Π°Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ сСбС 1 ΠΎΡ‡ΠΊΠΎ Π·Π° ΠΈΠ³Ρ€Ρƒ ΠΊΠ°Ρ€Ρ‚Ρ‹ Π·Π΅ΠΌΠ»ΠΈ ΠΈ 3 ΠΎΡ‡ΠΊΠ° Π·Π° Π²Ρ‹Π·ΠΎΠ² сущСства. Π˜Π³Ρ€Π°Ρ‚ΡŒ Swamp Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΠ»Π°Π½ΠΎΠΌ, Π΄Π°ΡŽΡ‰ΠΈΠΌ 1 ΠΎΡ‡ΠΊΠΎ. А ΡΡ‹Π³Ρ€Π°Ρ‚ΡŒ Forest β†’ Tap the Forest β†’ ΠΏΡ€ΠΈΠ·Π²Π°Ρ‚ΡŒ Elvish Mystic β€” сразу даст 4 ΠΎΡ‡ΠΊΠ°.

Π’ΠΎΡ‚ Ρ‚Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Magic: The Gathering, Π½ΠΎ ΠΏΠΎ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΠ΅ это примСняСтся ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ситуациях. НапримСр, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ΅ΡˆΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ мСсто для Ρ…ΠΎΠ΄Π° слона Π² ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π°Ρ…. Или ΡƒΠΊΡ€Ρ‹Ρ‚ΡŒΡΡ Π·Π° стСной, Ρ‡Ρ‚ΠΎΠ±Ρ‹ бСзопасно ΡΡ‚Ρ€Π΅Π»ΡΡ‚ΡŒ Π² XCOM Ρ‚Π°ΠΊ. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, Π²Ρ‹ поняли ΡΡƒΡ‚ΡŒ.

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π½ΠΎΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Иногда Π±Ρ‹Π²Π°Π΅Ρ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… дСйствий, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ с Magic: The Gathering: допустим, Ρ‡Ρ‚ΠΎ Π² ΠΈΠ³Ρ€Π΅ ΠΈ Π½Π° Ρƒ вас Π½Π° Ρ€ΡƒΠΊΠ°Ρ… ΠΏΠΎ нСсколько ΠΊΠ°Ρ€Ρ‚ Π·Π΅ΠΌΠ»ΠΈ ΠΈ сущСств β€” количСство Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ Ρ…ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΡ‡ΠΈΡΠ»ΡΡ‚ΡŒΡΡ дСсятками. Π•ΡΡ‚ΡŒ нСсколько Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ β€” backwards chaining (ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ†Π΅ΠΏΠΈ). ВмСсто ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСх ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ, Π»ΡƒΡ‡ΡˆΠ΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ с ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΉΡ‚ΠΈ прямой ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚. ВмСсто ΠΏΡƒΡ‚ΠΈ ΠΎΡ‚ корня Π΄Π΅Ρ€Π΅Π²Π° ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ листу, ΠΌΡ‹ двигаСмся Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ β€” ΠΎΡ‚ листа ΠΊ ΠΊΠΎΡ€Π½ΡŽ. Π­Ρ‚ΠΎΡ‚ способ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ быстрСС.

Если Ρƒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠ° 1 Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠ»Π°Π½ «нанСсти 1 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ† ΡƒΡ€ΠΎΠ½Π°Β». Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этого Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ряд условий:

1. Π£Ρ€ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ нанСсти Π·Π°ΠΊΠ»ΠΈΠ½Π°Π½ΠΈΠ΅ β€” ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π² Ρ€ΡƒΠΊΠ΅.
2. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ‹Π³Ρ€Π°Ρ‚ΡŒ Π·Π°ΠΊΠ»ΠΈΠ½Π°Π½ΠΈΠ΅ β€” Π½ΡƒΠΆΠ½Π° ΠΌΠ°Π½Π°.
3. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΌΠ°Π½Ρƒ β€” Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Ρ‹Π³Ρ€Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Ρƒ Π·Π΅ΠΌΠ»ΠΈ.
4. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ‹Π³Ρ€Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Ρƒ Π·Π΅ΠΌΠ»ΠΈ β€” Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΅Π΅ Π² Ρ€ΡƒΠΊΠ΅.

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ β€” best-first search (Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ поиск). ВмСсто ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСх ΠΏΡƒΡ‚Π΅ΠΉ, ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящий. Π§Π°Ρ‰Π΅ всСго этот способ Π΄Π°Ρ‘Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π½ Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° поиски. A* β€” это Ρ„ΠΎΡ€ΠΌΠ° Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ поиска β€” исслСдуя Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ пСрспСктивныС ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ с самого Π½Π°Ρ‡Π°Π»Π°, ΠΎΠ½ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ Π±Π΅Π· нСобходимости ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ΠΌ ΠΈ всС Π±ΠΎΠ»Π΅Π΅ популярным Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ best-first search являСтся Monte Carlo Tree Search. ВмСсто угадывания, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ»Π°Π½Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ дСйствия, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ случайных ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊΠΎΠ² Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС, ΠΏΠΎΠΊΠ° Π½Π΅ достигнСт ΠΊΠΎΠ½Ρ†Π° (ΠΊΠΎΠ³Π΄Π° ΠΏΠ»Π°Π½ ΠΏΡ€ΠΈΠ²Π΅Π» ΠΊ ΠΏΠΎΠ±Π΅Π΄Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ€Π°ΠΆΠ΅Π½ΠΈΡŽ). Π—Π°Ρ‚Π΅ΠΌ ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ пониТСния ΠΎΡ†Π΅Π½ΠΊΠΈ «вСса» ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΡ этот процСсс нСсколько Ρ€Π°Π· подряд, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΄Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΎΡ†Π΅Π½ΠΊΡƒ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг Π»ΡƒΡ‡ΡˆΠ΅, Π΄Π°ΠΆΠ΅ Ссли ситуация измСнится (Ссли ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ ΠΌΠ΅Ρ€Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΡƒ).

Π’ рассказС ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π² ΠΈΠ³Ρ€Π°Ρ… Π½Π΅ обойдСтся Π±Π΅Π· Goal-Oriented Action Planning ΠΈΠ»ΠΈ GOAP (Ρ†Π΅Π»Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ дСйствий). Π­Ρ‚ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΈ обсуТдаСмый ΠΌΠ΅Ρ‚ΠΎΠ΄, Π½ΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ это, ΠΏΠΎ сути, ΠΌΠ΅Ρ‚ΠΎΠ΄ backwards chaining, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Ρ€Π°Π½Π΅Π΅. Если Π·Π°Π΄Π°Ρ‡Π° Π±Ρ‹Π»Π° Β«ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΠ°Β», ΠΈ ΠΈΠ³Ρ€ΠΎΠΊ находится Π·Π° ΡƒΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ, ΠΏΠ»Π°Π½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ: ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΡŒ Π³Ρ€Π°Π½Π°Ρ‚ΠΎΠΉ β†’ Π΄ΠΎΡΡ‚Π°Π½ΡŒ Π΅Π΅ β†’ Π±Ρ€ΠΎΡΡŒ.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ сущСствуСт нСсколько Ρ†Π΅Π»Π΅ΠΉ, каТдая со своим ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ. Если Ρ†Π΅Π»ΡŒ с Π½Π°ΠΈΠ²Ρ‹ΡΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° (Π½ΠΈ ΠΎΠ΄Π½Π° комбинация дСйствий Π½Π΅ создаСт ΠΏΠ»Π°Π½ Β«ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΠ°Β», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠ³Ρ€ΠΎΠΊ Π½Π΅ Π²ΠΈΠ΄Π΅Π½), ИИ вСрнСтся ΠΊ цСлям с Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ.

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ адаптация

ΠœΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для управлСния Π°Π³Π΅Π½Ρ‚Π°ΠΌΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Но это Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ нСльзя Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠ·Π°ΠΈΠΌΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· этой области. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠ° Π² ΡˆΡƒΡ‚Π΅Ρ€Π΅, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅ΠΌΡƒ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ. НапримСр, ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Π»ΡƒΡ‡ΡˆΠΈΡ… позициях Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅. Или ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠ° Π² Ρ„Π°ΠΉΡ‚ΠΈΠ½Π³Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π» Π±Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ ΠΊΠΎΠΌΠ±ΠΎ-ΠΏΡ€ΠΈΠ΅ΠΌΡ‹, мотивируя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π² Ρ‚Π°ΠΊΠΈΡ… ситуациях ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вСсьма ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.

Бтатистика ΠΈ вСроятности

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ слоТным ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ, ΠΏΡ€ΠΈΠΊΠΈΠ½Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄Π°Π»Π΅ΠΊΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΉΡ‚ΠΈ, взяв нСсколько простых ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ… для принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, стратСгия Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ β€” ΠΊΠ°ΠΊ Π½Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ смоТСт Π»ΠΈ ΠΈΠ³Ρ€ΠΎΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π°Ρ‚Π°ΠΊΡƒ Π² ΠΏΠ΅Ρ€Π²Ρ‹Π΅ нСсколько ΠΌΠΈΠ½ΡƒΡ‚ ΠΈΠ³Ρ€Ρ‹ ΠΈ ΠΊΠ°ΠΊΡƒΡŽ ΠΎΠ±ΠΎΡ€ΠΎΠ½Ρƒ ΠΏΡ€ΠΎΡ‚ΠΈΠ² этого ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ? ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ ΠΈΠ³Ρ€ΠΎΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ будущая рСакция. НачнСм с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π½Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΡ… исходных Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΌΡ‹ ΠΈΡ… ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ β€” ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ИИ ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ врСмя ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π°Ρ‚Π°ΠΊΠΈ. Бпустя нСсколько сСссий ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ срСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ³Ρ€ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π°Ρ‚Π°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

Π£ срСдних Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΅ΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Ссли ΠΈΠ³Ρ€ΠΎΠΊ 20 Ρ€Π°Π· Β«Ρ€Π°ΡˆΠΈΠ»Β», Π° 20 Ρ€Π°Π· ΠΈΠ³Ρ€Π°Π» ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Ρ‚ΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ значСния Π±ΡƒΠ΄ΡƒΡ‚ Π³Π΄Π΅-Ρ‚ΠΎ Π² сСрСдинС, Π° это Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Π½Π°ΠΌ Π½Π΅ даст. Одним ΠΈΠ· Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ являСтся ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… β€” ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ послСдниС 20 ΡˆΡ‚ΡƒΠΊ.

Аналогичный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ΅ вСроятности ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… дСйствий, прСдполагая, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡˆΠ»Ρ‹Π΅ прСдпочтСния ΠΈΠ³Ρ€ΠΎΠΊΠ° Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Если ΠΈΠ³Ρ€ΠΎΠΊ Π°Ρ‚Π°ΠΊΡƒΠ΅Ρ‚ нас ΠΏΡΡ‚ΡŒ Ρ€Π°Π· Ρ„Π°Π΅Ρ€Π±ΠΎΠ»ΠΎΠΌ, Π΄Π²Π° Ρ€Π°Π·Π° ΠΌΠΎΠ»Π½ΠΈΠ΅ΠΉ ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π²Ρ€ΡƒΠΊΠΎΠΏΠ°ΡˆΠ½ΡƒΡŽ, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ Ρ„Π°Π΅Ρ€Π±ΠΎΠ». ЭкстраполируСм ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ использования Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ оруТия: Ρ„Π°Π΅Ρ€Π±ΠΎΠ»=62,5%, молния=25% ΠΈ Ρ€ΡƒΠΊΠΎΠΏΠ°ΡˆΠ½Π°Ρ=12,5%. ΠΠ°ΡˆΠ΅ΠΌΡƒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ ИИ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΊ Π·Π°Ρ‰ΠΈΡ‚Π΅ ΠΎΡ‚ огня.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ интСрСсный ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Naive Bayes Classifier (Π½Π°ΠΈΠ²Π½Ρ‹ΠΉ байСсовский классификатор) для изучСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ИИ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Π» Π½ΡƒΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. БайСсовскиС классификаторы Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстны Π·Π° использованиС Π² Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ… спама элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹. Π’Π°ΠΌ ΠΎΠ½ΠΈ ΠΈΡΡΠ»Π΅Π΄ΡƒΡŽΡ‚ слова, ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ ΠΈΡ… с Ρ‚Π΅ΠΌ, Π³Π΄Π΅ появлялись эти слова Ρ€Π°Π½Π΅Π΅ (Π² спамС ΠΈΠ»ΠΈ Π½Π΅Ρ‚), ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΎ входящих ΠΏΠΈΡΡŒΠΌΠ°Ρ…. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС Π΄Π°ΠΆΠ΅ с мСньшим количСством Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. На основС всСй ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²ΠΈΠ΄ΠΈΡ‚ ИИ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊΠΈΠ΅ враТСскиС ΡŽΠ½ΠΈΡ‚Ρ‹ созданы, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ заклинания ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΠ½ΠΈ исслСдовали), ΠΈ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° (Π²ΠΎΠΉΠ½Π° ΠΈΠ»ΠΈ ΠΌΠΈΡ€, Β«Ρ€Π°ΡˆΠΈΡ‚ΡŒΒ» ΠΈΠ»ΠΈ ΠΎΠ±ΠΎΡ€ΠΎΠ½ΡΡ‚ΡŒΡΡ ΠΈ Ρ‚. Π΄.) β€” ΠΌΡ‹ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ИИ.

ВсСх этих способов обучСния достаточно, Π½ΠΎ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· тСстирования. ИИ научится Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ стратСгиям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовали ваши плэйтСстСры. ИИ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ адаптируСтся ΠΊ ΠΈΠ³Ρ€ΠΎΠΊΡƒ послС Ρ€Π΅Π»ΠΈΠ·Π°, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ слишком прСдсказуСмым ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ слишком слоТным для ΠΏΠΎΠ±Π΅Π΄Ρ‹.

Адаптация Π½Π° основС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Учитывая Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ нашСго ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π° ΠΈ ΠΏΡ€Π°Π²ΠΈΠ», ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° принятиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Π° Π½Π΅ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π”Π΅Π»Π°Π΅ΠΌ Ρ‚Π°ΠΊ:

  • ΠŸΡƒΡΡ‚ΡŒ ИИ собираСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ состоянии ΠΌΠΈΡ€Π° ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… событиях Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹ (ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅).
  • ИзмСним нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (value) Π½Π° основС этих Π΄Π°Π½Π½Ρ‹Ρ….
  • Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ свои Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, основанныС Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ»ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ΅ этих Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρƒ Π°Π³Π΅Π½Ρ‚Π° Π΅ΡΡ‚ΡŒ нСсколько ΠΊΠΎΠΌΠ½Π°Ρ‚ для Π²Ρ‹Π±ΠΎΡ€Π° Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅ ΡˆΡƒΡ‚Π΅Ρ€Π° ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π»ΠΈΡ†Π°. КаТдая ΠΊΠΎΠΌΠ½Π°Ρ‚Π° ΠΈΠΌΠ΅Π΅Ρ‚ своС value, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ опрСдСляСт насколько ΠΎΠ½Π° ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Π° для посСщСния. ИИ случайно Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π² ΠΊΠ°ΠΊΡƒΡŽ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ ΠΈΠ΄Ρ‚ΠΈ, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ value. Π—Π°Ρ‚Π΅ΠΌ Π°Π³Π΅Π½Ρ‚ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅ Π΅Π³ΠΎ ΡƒΠ±ΠΈΠ»ΠΈ, ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π΅Π΅ value (Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‚ΡƒΠ΄Π° вСрнСтся). Аналогично для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ситуации β€” Ссли Π°Π³Π΅Π½Ρ‚ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠΎΠ², Ρ‚ΠΎ value ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹ увСличиваСтся.

ΠœΠ°Ρ€ΠΊΠΎΠ²ΡΠΊΠ°Ρ модСль

Π§Ρ‚ΠΎ Ссли ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ собранныС Π΄Π°Π½Π½Ρ‹Π΅ для прогнозирования? Если Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²ΠΈΠ΄ΠΈΠΌ ΠΈΠ³Ρ€ΠΎΠΊΠ° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΡƒΡŽ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ ΠΈΠ³Ρ€ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ. ΠžΡ‚ΡΠ»Π΅Π΄ΠΈΠ² ΠΈ записав пСрСмСщСния ΠΈΠ³Ρ€ΠΎΠΊΠ° ΠΏΠΎ ΠΊΠΎΠΌΠ½Π°Ρ‚Π°ΠΌ (values), ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ….

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ Ρ‚Ρ€ΠΈ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹: ΠΊΡ€Π°ΡΠ½ΡƒΡŽ, Π·Π΅Π»Π΅Π½ΡƒΡŽ ΠΈ синюю. А Ρ‚Π°ΠΊΠΆΠ΅ наблюдСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ записали ΠΏΡ€ΠΈ просмотрС ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ сСссии:

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ наблюдСний Π·Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚ΠΎΠΉ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ€Π°Π²Π½ΠΎΠ΅ β€” Π³Π΄Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ мСсто для засады ΠΌΡ‹ Π΄ΠΎ сих ΠΏΠΎΡ€ Π½Π΅ Π·Π½Π°Π΅ΠΌ. Π‘Π±ΠΎΡ€ статистики Ρ‚Π°ΠΊΠΆΠ΅ ослоТняСтся рСспауном ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ ΠΏΠΎ всСй ΠΊΠ°Ρ€Ρ‚Π΅. Но Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ΠΈ входят послС появлСния Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅ β€” ΡƒΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹.

Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ зСлСная ΠΊΠΎΠΌΠ½Π°Ρ‚Π° устраиваСт ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² β€” Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ людСй ΠΈΠ· красной пСрСходят Π² Π½Π΅Π΅, 50% ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… остаСтся Ρ‚Π°ΠΌ ΠΈ дальшС. Биняя ΠΊΠΎΠΌΠ½Π°Ρ‚Π° Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ, Π² Π½Π΅Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ ходят, Π° Ссли ходят, Ρ‚ΠΎ Π½Π΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ.

Но Π΄Π°Π½Π½Ρ‹Π΅ говорят Π½Π°ΠΌ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅ β€” ΠΊΠΎΠ³Π΄Π° ΠΈΠ³Ρ€ΠΎΠΊ находится Π² синСй ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅, Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ½Π°Ρ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Π΅Π³ΠΎ скорСС всСго ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ красной, Π° Π½Π΅ Π·Π΅Π»Π΅Π½ΠΎΠΉ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ зСлСная ΠΊΠΎΠΌΠ½Π°Ρ‚Π° популярнСС красной, ситуация мСняСтся, Ссли ΠΈΠ³Ρ€ΠΎΠΊ находится Π² синСй. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ состояниС (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ½Π°Ρ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ³Ρ€ΠΎΠΊ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚) зависит ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ состояния (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ³Ρ€ΠΎΠΊ находится сСйчас). Из-Π·Π° исслСдования зависимостСй ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Ρ‹ Ρ‚ΠΎΡ‡Π½Π΅Π΅, Ρ‡Π΅ΠΌ Ссли Π±Ρ‹ ΠΌΡ‹ просто подсчитывали наблюдСния нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°.

ΠŸΡ€Π΅Π΄ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π½ΠΈΠ΅ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ состояния Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ состояния называСтся марковской модСлью (Markov model), Π° Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ (с ΠΊΠΎΠΌΠ½Π°Ρ‚Π°ΠΌΠΈ) Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ марковскими цСпями. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ состояниями, Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΠ½ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ FSM с Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΊΠΎΠ»ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. Π Π°Π½Π΅Π΅ ΠΌΡ‹ использовали FSM для прСдставлСния повСдСнчСского состояния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находился Π°Π³Π΅Π½Ρ‚, Π½ΠΎ эта концСпция распространяСтся Π½Π° любоС состояниС, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, связано это с Π°Π³Π΅Π½Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Π’ этом случаС состояния ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π°Π³Π΅Π½Ρ‚:

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π­Ρ‚ΠΎ простой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ прСдставлСния ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ вСроятности ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ состояний, Π΄Π°ΡŽΡ‰ΠΈΠΉ ИИ Π½Π΅ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ состояниС. МоТно ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ нСсколько шагов Π²ΠΏΠ΅Ρ€Π΅Π΄.

Если ΠΈΠ³Ρ€ΠΎΠΊ Π² Π·Π΅Π»Π΅Π½ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 50% шанс, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‚Π°ΠΌ ΠΈ останСтся ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ наблюдСнии. Но ΠΊΠ°ΠΊΠΎΠ²Π° Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ всС Π΅Ρ‰Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΌ Π΄Π°ΠΆΠ΅ послС? Π•ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ шанс, Ρ‡Ρ‚ΠΎ ΠΈΠ³Ρ€ΠΎΠΊ остался Π² Π·Π΅Π»Π΅Π½ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅ послС Π΄Π²ΡƒΡ… наблюдСний, Π½ΠΎ ΠΈ шанс, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΡƒΡˆΠ΅Π» ΠΈ вСрнулся. Π’ΠΎΡ‚ новая Ρ‚Π°Π±Π»ΠΈΡ†Π° с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π½ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…:

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Из Π½Π΅Π΅ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ шанс ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΠ° Π² Π·Π΅Π»Π΅Π½ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅ послС Π΄Π²ΡƒΡ… наблюдСний Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ 51% β€” 21%, Ρ‡Ρ‚ΠΎ ΠΎΠ½ придСтся ΠΈΠ· красной ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹, 5% ΠΈΠ· Π½ΠΈΡ…, Ρ‡Ρ‚ΠΎ ΠΈΠ³Ρ€ΠΎΠΊ посСтит синюю ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, ΠΈ 25%, Ρ‡Ρ‚ΠΎ ΠΈΠ³Ρ€ΠΎΠΊ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΡƒΠΉΠ΄Π΅Ρ‚ ΠΈΠ· Π·Π΅Π»Π΅Π½ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹.

Π’Π°Π±Π»ΠΈΡ†Π° β€” просто наглядный инструмСнт β€” ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ умноТСния вСроятностСй Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π΄Π°Π»Π΅ΠΊΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ с ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠΎΠΉ: ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ шанс Π²ΠΎΠΉΡ‚ΠΈ Π² ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ зависит ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹. Π­Ρ‚ΠΎ называСтся марковским свойством (Markov Property) β€” Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ состояниС зависит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ настоящСго. Но это Π½Π΅ стопроцСнтно Ρ‚ΠΎΡ‡Π½ΠΎ. Π˜Π³Ρ€ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² зависимости ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²: ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ ΠΈΠ»ΠΈ количСство боСприпасов. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Π½Π΅ фиксируСм эти значСния, наши ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠ΅Π½Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ.

N-Grams

А Ρ‡Ρ‚ΠΎ насчСт ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° с Ρ„Π°ΠΉΡ‚ΠΈΠ½Π³ΠΎΠΌ ΠΈ прСдсказаниСм ΠΊΠΎΠΌΠ±ΠΎ-ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² ΠΈΠ³Ρ€ΠΎΠΊΠ°? Π’ΠΎ ΠΆΠ΅ самоС! Но вмСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ состояния ΠΈΠ»ΠΈ события, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… состоит ΠΊΠΎΠΌΠ±ΠΎ-ΡƒΠ΄Π°Ρ€.

Один ΠΈΠ· способов ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это β€” ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π²ΠΎΠ΄ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Kick, Punch ΠΈΠ»ΠΈ Block) Π² Π±ΡƒΡ„Π΅Ρ€Π΅ ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ вСсь Π±ΡƒΡ„Π΅Ρ€ Π² Π²ΠΈΠ΄Π΅ события. Π˜Ρ‚Π°ΠΊ, ΠΈΠ³Ρ€ΠΎΠΊ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ Kick, Kick, Punch, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ‚Π°ΠΊΡƒ SuperDeathFist, систСма ИИ Ρ…Ρ€Π°Π½ΠΈΡ‚ всС Π²Π²ΠΎΠ΄Ρ‹ Π² Π±ΡƒΡ„Π΅Ρ€Π΅ ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ послСдниС Ρ‚Ρ€ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ИИ: Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…
(Π–ΠΈΡ€Π½Ρ‹ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ строки, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³Ρ€ΠΎΠΊ запускаСт Π°Ρ‚Π°ΠΊΡƒ SuperDeathFist.)

ИИ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³Ρ€ΠΎΠΊ Π²Ρ‹Π±Ρ€Π°Π» Kick, слСдом Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ Kick, Π° послС Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Π²ΠΎΠ΄ всСгда Punch. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π°Π³Π΅Π½Ρ‚Ρƒ ΡΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΎ-ΠΏΡ€ΠΈΠ΅ΠΌ SuperDeathFist ΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π­Ρ‚ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ событий Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ N-Π³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ (N-grams), Π³Π΄Π΅ N β€” количСство Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… элСмСнтов. Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ это Π±Ρ‹Π»Π° 3-Π³Ρ€Π°ΠΌΠΌΠ° (Ρ‚Ρ€ΠΈΠ³Ρ€Π°ΠΌΠΌΠ°), Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚: ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π΅ записи ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для прогнозирования Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ. БоотвСтствСнно Π² 5-Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ записи ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡΡ‚ΡƒΡŽ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ N-Π³Ρ€Π°ΠΌΠΌ. МСньшСС число N Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ мСньшС памяти, Π½ΠΎ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ. НапримСр, 2-Π³Ρ€Π°ΠΌΠΌΠ° (Π±ΠΈΠ³Ρ€Π°ΠΌΠΌΠ°) Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Kick, Kick ΠΈΠ»ΠΈ Kick, Punch, Π½ΠΎ Π½Π΅ смоТСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Kick, Kick, Punch, поэтому ИИ Π½Π΅ ΠΎΡ‚Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΊΠΎΠΌΠ±ΠΎ SuperDeathFist.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, большиС числа Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ большС памяти ΠΈ ИИ Π±ΡƒΠ΄Π΅Ρ‚ слоТнСС ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ появится Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Если Ρƒ вас Π±Ρ‹Π»ΠΎ Ρ‚Ρ€ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π²ΠΎΠ΄Π° Kick, Punch ΠΈΠ»ΠΈ Block, Π° ΠΌΡ‹ использовали 10-Π³Ρ€Π°ΠΌΠΌΡƒ, Ρ‚ΠΎ получится ΠΎΠΊΠΎΠ»ΠΎ 60 тысяч Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

МодСль Π±ΠΈΠ³Ρ€Π°ΠΌΠΌΡ‹ это простая марковская Ρ†Π΅ΠΏΡŒ β€” каТдая ΠΏΠ°Ρ€Π° Β«ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅ состояниС/Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС» являСтся Π±ΠΈΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ состояниС Π½Π° основС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ. 3-Π³Ρ€Π°ΠΌΠΌΠ° ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ N-Π³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ марковскиС Ρ†Π΅ΠΏΠΈ, Π³Π΄Π΅ всС элСмСнты (ΠΊΡ€ΠΎΠΌΠ΅ послСднСго Π² N-Π³Ρ€Π°ΠΌΠΌΠ΅) вмСстС ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ состояниС, Π° послСдний элСмСнт β€” Π²Ρ‚ΠΎΡ€ΠΎΠ΅. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с Ρ„Π°ΠΉΡ‚ΠΈΠ½Π³ΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ шанс ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΎΡ‚ состояния Kick ΠΈ Kick ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Kick ΠΈ Punch. Рассматривая нСсколько записСй Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ истории ΠΊΠ°ΠΊ ΠΎΠ΄Π½Ρƒ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, ΠΌΡ‹, ΠΏΠΎ сути, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ Π²Ρ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Ρ‡Π°ΡΡ‚ΡŒ Ρ†Π΅Π»ΠΎΠ³ΠΎ состояния. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ марковскоС свойство, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ марковскиС Ρ†Π΅ΠΏΠΈ для прогнозирования ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΈ ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΎ-Ρ…ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠœΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных инструмСнтах ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°. А Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ ситуации, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ Π³Π΄Π΅ ΠΎΠ½ΠΈ особСнно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹.

Π­Ρ‚ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ достаточно для понимания Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ Π² ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌ ИИ. Но, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, это Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. К ΠΌΠ΅Π½Π΅Π΅ популярным, Π½ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ эффСктивным относятся:

  • Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ восхоТдСниС ΠΏΠΎ Ρ…ΠΎΠ»ΠΌΠ°ΠΌ, Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Π½Ρ‹ΠΉ спуск ΠΈ гСнСтичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹
  • ΡΠΎΡΡ‚ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ поиска/планирования (minimax ΠΈ alpha-beta pruning)
  • ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ классификации (ΠΏΠ΅Ρ€Ρ†Π΅ΠΏΡ‚Ρ€ΠΎΠ½Ρ‹, Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Π΅ сСти ΠΈ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΎΠΏΠΎΡ€Π½Ρ‹Ρ… Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ²)
  • систСмы для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ восприятия ΠΈ памяти Π°Π³Π΅Π½Ρ‚ΠΎΠ²
  • Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ИИ (Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Π΅ систСмы, подмноТСство Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы налоТСния систСм ИИ)
  • инструмСнты Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ (ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ согласованиС двиТСния)
  • Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ anytime, ΠΈ timeslicing)

Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-рСсурсы ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅:

1. На GameDev.net Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π» со ΡΡ‚Π°Ρ‚ΡŒΡΠΌΠΈ ΠΈ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π°ΠΌΠΈ ΠΏΠΎ ИИ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΠΎΡ€ΡƒΠΌ.
2. AiGameDev.com содСрТит мноТСство ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΉ ΠΈ статСй ΠΏΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ спСктру связанных с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ИИ.
3. The GDC Vault Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ‚ΠΎΠΏΠΈΠΊΠΈ с саммита GDC AI, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… доступны бСсплатно.
4. ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° сайтС AI Game Programmers Guild.
5. Π’ΠΎΠΌΠΌΠΈ Вомпсон, ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ИИ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠ³Ρ€, Π΄Π΅Π»Π°Π΅Ρ‚ Ρ€ΠΎΠ»ΠΈΠΊΠΈ Π½Π° YouTube-ΠΊΠ°Π½Π°Π»Π΅ AI and Games с объяснСниСм ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ ИИ Π² коммСрчСских ΠΈΠ³Ρ€Π°Ρ….

Книги ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅:

1. БСрия ΠΊΠ½ΠΈΠ³ Game AI Pro прСдставляСт собой сборники ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… статСй, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΡ…, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

Game AI Pro: Collected Wisdom of Game AI Professionals
Game AI Pro 2: Collected Wisdom of Game AI Professionals
Game AI Pro 3: Collected Wisdom of Game AI Professionals

2. БСрия AI Game Programming Wisdom β€” ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊ сСрии Game AI Pro. Π’ Π½Π΅ΠΉ Π±ΠΎΠ»Π΅Π΅ старыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ всС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ сСгодня.

AI Game Programming Wisdom 1
AI Game Programming Wisdom 2
AI Game Programming Wisdom 3
AI Game Programming Wisdom 4

3. Artificial Intelligence: A Modern Approach β€” это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π±Π°Π·ΠΎΠ²Ρ‹Ρ… тСкстов для всСх ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ±Ρ‰Π΅ΠΉ области искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΠΊΠ½ΠΈΠ³Π° Π½Π΅ ΠΎ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ β€” ΠΎΠ½Π° ΡƒΡ‡ΠΈΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ основам ИИ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com