ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ°ΠΌΠ΄Π°Π½ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°
ΠΠ»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΎΡΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. ΠΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ, Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π΅ΡΡΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΡΡΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΡΠ΄Π½ΠΎΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΡΠ΅ΠΌΡΠΌΠΈ ΠΈ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π΄Π»Ρ Π½ΠΈΡ (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ … Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ°ΠΌΠ΄Π°Π½ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π’Π°ΠΊ ΡΠΆ ΠΏΠΎΠ²Π΅Π»ΠΎΡΡ, ΡΡΠΎ Π»ΡΠ±ΡΡ ΡΡΠ°ΡΡΡ ΠΎ Π½Π΅ΡΠ΅ΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΡΠΈΠ½ΡΡΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΠΎΡΡΠΈ ΠΠ°Π΄Π΅. Π Ρ Π½Π΅ ΡΡΠ°Π½Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΡΡΠ°Π» Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΡΠΎΠΌ-ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ΅Π»ΠΎΠΉ Π½Π°ΡΡΠ½ΠΎΠΉ ΡΠ΅ΠΎΡΠΈΠΈ, Π½Π°ΠΏΠΈΡΠ°Π² Π² 1965 Π³ΠΎΠ΄Ρ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΡΠ΄ «Fuzzy Sets», Π½ΠΎ ΠΈ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠ°Π» ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΅Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ½ ΠΎΠΏΠΈΡΠ°Π» ΡΠ²ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π² 1973 Π³ΠΎΠ΄Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ «Outline of a New Approach to the Analysis of Complex Systems and Decision Processes» (ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΌ Π² ΠΆΡΡΠ½Π°Π»Π΅ IEEE Transactions on Systems). ΠΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ Π²ΡΡ ΠΎΠ΄Π° ΠΎΠ΄Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΠΈΠΌΡΠΈΠ²Π°Ρ Π΄Π°ΡΡΠΊΠ°Ρ ΡΠΈΡΠΌΠ° Π²Π΅ΡΡΠΌΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»Π° ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π² Π½Π΅ΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π΄Π»Ρ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ.
ΠΠΎ ΠΏΡΠΈ Π²ΡΠ΅Ρ Π·Π°ΡΠ»ΡΠ³Π°Ρ Π. ΠΠ°Π΄Π΅, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΉ Π²ΠΊΠ»Π°Π΄ Π²Π½Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΡΠΎΠΉ ΡΠ΅ΠΎΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊ Π. ΠΠ°ΠΌΠ΄Π°Π½ΠΈ (Ebrahim Mamdani). Π 1975 Π³ΠΎΠ΄Ρ ΠΎΠ½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π» Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠΎΠ²ΡΠΌ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Π΅ΠΌ. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° Π½Π΅ΡΠ΅ΡΠΊΠΎΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΈ Π±ΡΠ» ΠΏΠΎ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Ρ ΠΎΡΠ΅Π½Π΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌΠΈ. ΠΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ» Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Π·Π°Π΄Π°ΡΠ°Ρ Π½Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
1. ΠΠ°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌ Π½Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°
ΠΠ»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌΠΈ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ. ΠΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π΄Π°Π½Π½ΡΠΌ, Π½Π° 84% ΡΠΏΠΎΠ½ΡΠΊΠΈΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ Π²ΡΡ Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠ΅ PID ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΡ ΠΊ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, Π³ΠΈΠ±ΠΊΠΎΡΡΡΡ, ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡΡ, Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΡΡΡΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° Π½Π΅ΡΡΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅, ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ², Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅.
ΠΠ»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΎΡΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. ΠΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ, Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π΅ΡΡΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΡΡΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΡΠ΄Π½ΠΎΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΡΠ΅ΠΌΡΠΌΠΈ ΠΈ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π΄Π»Ρ Π½ΠΈΡ (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ²) Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠΎΠ³Π°Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡΡΠ³ΠΈΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ Π½Π΅ΡΡΡΠΊΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½Π° ΡΠΈΡΡΠΎΠ²ΡΡ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ Π‘ΠΠΠ‘.
ΠΠ΅ΡΡΡΠΊΠΎ — Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎ Π»ΠΈΠ½Π³Π²ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, ΡΡΠΎ ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° Π·Π½Π°Π½ΠΈΡΡ .
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΠΏΠΎΠ²:
1) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Ρ ΠΎΠ΄ΠΎΠ² ΠΈ Π²ΡΡ ΠΎΠ΄ΠΎΠ² ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ;
2) Π·Π°Π΄Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ;
3) ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π°Π·Ρ Π½Π΅ΡΡΡΠΊΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»;
4) Π²ΡΠ±ΠΎΡ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π΅ΡΡΡΠΊΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°;
5) Π°Π½Π°Π»ΠΈΠ· ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ±ΡΠΈΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΡ Π΅ΠΌΠ΅, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 1.
Π ΠΈΡΡΠ½ΠΎΠΊ 1. ΠΠ±ΡΠ°Ρ ΡΡ Π΅ΠΌΠ° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡ ΡΡ Π΅ΠΌΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
ΠΠ΅ΡΡΡΠΊΠΎΡΡΡ (Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ΡΡΡΠΊΠΎΡΡΠΈ, ΡΠ°Π·Π·ΠΈΡΠΈΠΊΠ°ΡΠΈΡ)
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ Π½Π° Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΠΈΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ»ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°.
1.1 ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠ²ΠΎΠ΄
ΠΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ»ΠΎΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ Π½Π΅ΡΡΡΠΊΠΎΠΌΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠ°Π²ΠΈΠ» Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ min (ΠΌΠΈΠ½ΠΈΠΌΡΠΌ) ΠΈΠ»ΠΈ prod (ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅). Π Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π΅ prod ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΠΎΡΡΠ΅ΠΊΠ°Π΅ΡΡΡ ΠΏΠΎ Π²ΡΡΠΎΡΠ΅, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ»ΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° (Π½Π΅ΡΡΡΠΊΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° «Π»). Π Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π΅ prod ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ»ΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°.
ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ
ΠΠ΅ΡΡΡΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄Π° (Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ ) ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅, ΡΡΠΎΠ±Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎ Π½Π΅ΡΡΡΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄Π°. ΠΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ max (ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ) ΠΈΠ»ΠΈ sum (ΡΡΠΌΠΌΠ°). ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ max ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π½Π΅ΡΡΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΊΠΎΠ½ΡΡΡΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΎΡΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΏΠΎ Π²ΡΠ΅ΠΌ Π½Π΅ΡΡΡΠΊΠΈΠΌ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°ΠΌ (Π½Π΅ΡΡΡΠΊΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° «ΠΠΠ»). ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ sum ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π½Π΅ΡΡΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΊΠΎΠ½ΡΡΡΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΎΡΠ΅ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌ Π½Π΅ΡΡΡΠΊΠΈΠΌ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°ΠΌ, Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΡΠΊΠΎΡΡΠΈ (Π΄Π΅ΡΠ°Π·Π·ΠΈΡΠΈΠΊΠ°ΡΠΈΡ)
ΠΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠ°ΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΡΡΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² Π² ΡΡΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
ΠΠ±ΡΠΈΠΉ Π²ΠΈΠ΄ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π΅ΡΡΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 1.2.
Π ΠΈΡΡΠ½ΠΎΠΊ 1.2 ΠΠ±ΡΠ°Ρ ΡΡ Π΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π΅ΡΡΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ
1.2 ΠΠ°Π·Π° Π·Π½Π°Π½ΠΈΠΉ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΠΎΠ΄ Π±Π°Π·ΠΎΠΉ Π·Π½Π°Π½ΠΈΠΉ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ Π·Π½Π°Π½ΠΈΠΉ ΠΎ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΡΠΊΡΠΏΠ΅ΡΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π½Π΅ΡΡΡΠΊΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΎΡΠ½ΠΎΠ²Π΅ Π±Π°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ, ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΠΈ Π½Π΅ΡΡΡΠΊΠΈΡ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠ½ΡΡ ΠΏΡΠ°Π²ΠΈΠ» Π²ΠΈΠ΄Π°:
Π1: Π΅ΡΠ»ΠΈ Ρ Π΅ΡΡΡ Π1, ΡΠΎ y Π΅ΡΡΡ Π1,
Π2: Π΅ΡΠ»ΠΈ Ρ Π΅ΡΡΡ Π2, ΡΠΎ y Π΅ΡΡΡ Π2,
…
Πn: Π΅ΡΠ»ΠΈ Ρ Π΅ΡΡΡ Πn, ΡΠΎ y Π΅ΡΡΡ Πn.
ΠΠ΄Π΅ Ρ — Π²Ρ ΠΎΠ΄Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ (ΠΈΠΌΡ Π΄Π»Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π°Π½Π½ΡΡ ), y — ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π²ΡΠ²ΠΎΠ΄Π° (ΠΈΠΌΡ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΎ); Π ΠΈ Π-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° Ρ ΠΈ Ρ.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°:
ΠΡΠ»ΠΈ Ρ — Π½ΠΈΠ·ΠΊΠΎ, ΡΠΎ Ρ — Π²ΡΡΠΎΠΊΠΎ.
Π’Π°ΠΊΠΆΠ΅ ΠΊ Π±Π°Π·Π΅ Π·Π½Π°Π½ΠΈΠΉ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ½ΡΡΠΎ Π»ΠΈΠ±ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΈΠ· ΡΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° (ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½Π°Ρ, ΠΊΠΎΠ»ΠΎΠΊΠΎΠ»ΡΠ½Π°Ρ,…), Π»ΠΈΠ±ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π½Π΅ΡΡΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΠΌΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΈΠ· Π½ΠΈΡ : Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ°ΠΌΠ΄Π°Π½ΠΈ.
2. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ°ΠΌΠ΄Π°Π½ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°
Π½Π΅ΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΌΠ°ΠΌΠ΄Π°Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π±Π°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ ΠΎΠ±ΡΠ°Π·ΡΡΡ Π΄Π²Π° Π½Π΅ΡΡΡΠΊΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»Π°:
Π1: Π΅ΡΠ»ΠΈ Ρ Π΅ΡΡΡ Π1 ΠΈ y Π΅ΡΡΡ Π1, ΡΠΎ z Π΅ΡΡΡ Π‘1,
Π2: Π΅ΡΠ»ΠΈ Ρ Π΅ΡΡΡ Π2 ΠΈ y Π΅ΡΡΡ Π2, ΡΠΎ z Π΅ΡΡΡ Π‘2,
Π³Π΄Π΅ Ρ ΠΈ Ρ — ΠΈΠΌΠ΅Π½Π° Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , z — ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄Π°, Π1, Π2, Π1, Π2, Π‘1, Π‘2 — Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΡΠΊΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ z0 Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΡΡΠΊΠΈΡ Π·Π½Π°Π½ΠΈΠΉ x0, y0.
ΠΠ°Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
1. ΠΠ΅ΡΡΡΠΊΠΎΡΡΡ: Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ»ΠΎΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°: Π1(Ρ 0), Π2(Ρ 0), Π1(Ρ 0), Π2(Ρ 0).
2. ΠΠ΅ΡΡΡΠΊΠΈΠΉ Π²ΡΠ²ΠΎΠ΄: Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΡΠΎΠ²Π½ΠΈ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ»ΠΎΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡΠ°Π²ΠΈΠ» (Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ°):
(1)
Π³Π΄Π΅ ΡΠ΅ΡΠ΅Π· «» ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ°.
ΠΠ°ΡΠ΅ΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡ ΡΡΠ΅ΡΡΠ½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ:
(2)
3. ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ: Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ max ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΡΡΠ΅ΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π½Π΅ΡΡΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΡΡ ΠΎΠ΄Π° Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ
4. ΠΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΡΠΊΠΎΡΡΠΈ (Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ z0) ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π½ΡΡΠΎΠΈΠ΄Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ
(3)
2.1 ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ
ΠΠ΅ΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ — ΡΡΠΎ ΠΊΠΎΡΡΠ΅ΠΆ Π²ΠΈΠ΄Π° , X, ?> , Π³Π΄Π΅:
? — ΠΈΠΌΡ Π½Π΅ΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ;
X — Π΅Ρ ΠΎΠ±Π»Π°ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ;
A — Π½Π΅ΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π° ΡΠ½ΠΈΠ²Π΅ΡΡΡΠΌΠ΅ X.
ΠΡΠΈΠΌΠ΅Ρ: ΠΠ΅ΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ < «Π’ΡΠΆΠ΅Π»ΡΠΉ Π±ΡΠΎΠ½Π΅ΠΆΠΈΠ»Π΅Ρ», 0 ΠΊΠ³ < x < 35 ΠΊΠ³, B={x, ?(x)}> Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅Ρ ΠΌΠ°ΡΡΡ Π²ΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π±ΡΠΎΠ½Π΅ΠΆΠΈΠ»Π΅ΡΠ°. ΠΡΠ΄Π΅ΠΌ ΡΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΡΡΠΆΠ΅Π»ΡΠΌ, Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ ΠΌΠ°ΡΡΠ° > 16 ΠΊΠ³ (ΡΠΈΡΡΠ½ΠΎΠΊ 1.3).
Π ΠΈΡΡΠ½ΠΎΠΊ 1.3. ΠΡΠ°ΡΠΈΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ ?(x) Π΄Π»Ρ Π½Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° B.
ΠΠΈΠ½Π³Π²ΠΈΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΅ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΆ , T, X, G, M> , Π³Π΄Π΅:
? — ΠΈΠΌΡ Π»ΠΈΠ½Π³Π²ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ;
T — ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (ΡΠ΅ΡΠΌΠΎΠ²);
X — ΡΠ½ΠΈΠ²Π΅ΡΡΡΠΌ Π½Π΅ΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ;
G — ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ΅ΡΠΌΠΎΠ²;
M — ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΡΠΎΡΠΌΠΈΡΡΡΡΠ°Ρ Π½Π΅ΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠ° Π΄Π°Π½Π½ΠΎΠΉ Π»ΠΈΠ½Π³Π²ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΡΠΈΠΌΠ΅Ρ: ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ ΡΡΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΎΡΠ΅Π½ΠΊΡ ΠΌΠ°ΡΡΡ Π±ΡΠΎΠ½Π΅ΠΆΠΈΠ»Π΅ΡΠ°. ΠΠ½Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΠΎΡ Π²ΠΎΠ΅Π½Π½ΠΎΡΠ»ΡΠΆΠ°ΡΠΈΡ (Π²ΡΡΡΡΠΏΠ°ΡΡΠΈΡ Π² ΡΠΎΠ»ΠΈ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠ²), ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Π°ΠΌΡΠ½ΠΈΡΠΈΠ΅ΠΉ. Π€ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΎΡΠ΅Π½ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π»ΠΈΠ½Π³Π²ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ , T, X, G, M> (ΡΠΈΡ. 4), Π³Π΄Π΅:
? — ΠΡΠΎΠ½Π΅ΠΆΠΈΠ»Π΅Ρ;
T — {"ΠΠ΅Π³ΠΊΠΈΠΉ Π±ΡΠΎΠ½Π΅ΠΆΠΈΠ»Π΅Ρ (Light)", «ΠΡΠΎΠ½Π΅ΠΆΠΈΠ»Π΅Ρ ΡΡΠ΅Π΄Π½Π΅ΠΉ ΠΌΠ°ΡΡΡ (Medium)», «Π’ΡΠΆΠ΅Π»ΡΠΉ Π±ΡΠΎΠ½Π΅ΠΆΠΈΠ»Π΅Ρ (Heavy)"};
X = [0; 35];
G — ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ΅ΡΠΌΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ²ΡΠ·ΠΎΠΊ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, «ΠΎΡΠ΅Π½Ρ ΡΡΠΆΠ΅Π»ΡΠΉ Π±ΡΠΎΠ½Π΅ΠΆΠΈΠ»Π΅Ρ»;
M — ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π·Π°Π΄Π°Π½ΠΈΡ Π½Π° ΡΠ½ΠΈΠ²Π΅ΡΡΡΠΌΠ΅ X=[0; 35] Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π»ΠΈΠ½Π³Π²ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ. Π΅. ΡΠ΅ΡΠΌΠΎΠ² ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° T.
Π ΠΈΡΡΠ½ΠΎΠΊ 1.4. ΠΡΠ°ΡΠΈΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π»ΠΈΠ½Π³Π²ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ «ΠΡΠΎΠ½Π΅ΠΆΠΈΠ»Π΅Ρ»
ΠΠ΅ΡΠ΅ΡΠΊΠΈΠΌ Π²ΡΡΠΊΠ°Π·ΡΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ Π²ΡΡΠΊΠ°Π·ΡΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π° «? IS ?», Π³Π΄Π΅:
? — Π»ΠΈΠ½Π³Π²ΠΈΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ;
? — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ΅ΡΠΌΠΎΠ² ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΡΠΈΠΌΠ΅Ρ: «ΠΡΠΎΠ½Π΅ΠΆΠΈΠ»Π΅Ρ IS Π»Π΅Π³ΠΊΠΈΠΉ». ΠΠ΄Π΅ΡΡ «ΠΡΠΎΠ½Π΅ΠΆΠΈΠ»Π΅Ρ» — ΡΡΠΎ Π»ΠΈΠ½Π³Π²ΠΈΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, Π° «Π»Π΅Π³ΠΊΠΈΠΉ» Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π£ΠΏΡΠΎΡΠ΅Π½Π½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΠΎΠΌ Π½Π΅ΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΉ (Π΄Π°Π»Π΅Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎΠΌ) Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π²ΠΈΠ΄Π° «ΠΠ‘ΠΠ… Π’Π…», Π³Π΄Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΈ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠΊΠ°Π·ΡΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅:
IF (?1 IS ?1) AND (?2 IS ?2) THEN (?3 IS ?3).
ΠΡΠΎΠΌΠ΅ «AND» ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ²ΡΠ·ΠΊΠ° «OR». ΠΠΎ ΡΠ°ΠΊΡΡ Π·Π°ΠΏΠΈΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠ°ΡΠ°ΡΡΡΡ ΠΈΠ·Π±Π΅Π³Π°ΡΡ, ΡΠ°Π·Π΄Π΅Π»ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΡ (Π±Π΅Π· «OR»). Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· Π½Π΅ΡΠ΅ΡΠΊΠΈΡ Π²ΡΡΠΊΠ°Π·ΡΠ²Π°Π½ΠΈΠΉ Π² ΡΡΠ»ΠΎΠ²ΠΈΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· Π²ΡΡΠΊΠ°Π·ΡΠ²Π°Π½ΠΈΠΉ Π² Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΡΠΈΠΌΠ΅Ρ: Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅:
1) IF (ΠΡΠΎΠ½Π΅ΠΆΠΈΠ»Π΅Ρ ΡΡΠΆΠ΅Π»ΡΠΉ) THEN (Π‘ΠΎΠ»Π΄Π°Ρ ΡΡΡΠ°Π²ΡΠΈΠΉ);
2) IF (ΠΡΠΆ ΡΡΠ΅Π·Π²ΡΠΉ) AND (ΠΠ°ΡΠΏΠ»Π°ΡΠ° Π²ΡΡΠΎΠΊΠ°Ρ) THEN (ΠΠ΅Π½Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½Π°Ρ).
ΠΡΠ΅. ΠΡΠΎΠ³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°
2.2 ΠΡΠΈΠ½ΡΠΈΠΏ Π Π°Π±ΠΎΡΡ ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ°ΠΌΠ΄Π°Π½ΠΈ
ΠΠ°Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΡΡ ΡΡΠ°ΠΏΠΎΠ² (ΡΠΈΡΡΠ½ΠΊΠ΅ 1.5). ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°ΠΏ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½Π° Π²Ρ ΠΎΠ΄ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π³Π΅.
Π ΠΈΡΡΠ½ΠΎΠΊ 1.5. ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π½Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»Π΅Π½ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ «ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠΊΠ°». ΠΠ° Π²Ρ ΠΎΠ΄ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΠΎΠ½ΠΈ ΠΆΠ΅. ΠΠ° ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΡΡΠ°ΠΏΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°ΠΏΠΏΠ°ΡΠ°Ρ Π½Π΅ΡΠ΅ΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΡΠ΅ΠΎΡΠΈΡ Π½Π΅ΡΠ΅ΡΠΊΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ². Π ΡΡΠΎΠΌ ΠΈ ΡΠΎΡΡΠΎΠΈΡ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ. ΠΠΎΠΆΠ½ΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΌΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΠΈΠ±ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°.
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java. ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° (ΡΠΈΡΡΠ½ΠΊΠ΅ 1.6) ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ²ΡΠ·ΠΈ ΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ, Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅.
Π ΠΈΡΡΠ½ΠΎΠΊ 1.6. ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ°ΠΌΠ΄Π°Π½ΠΈ
ΠΡΠ°Π²ΠΈΠ»Π° (Rule) ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΡΡΠ»ΠΎΠ²ΠΈΠΉ (Condition) ΠΈ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (Conclusion), ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ²Π»ΡΡΡΡΡ Π½Π΅ΡΠ΅ΡΠΊΠΈΠΌΠΈ Π²ΡΡΠΊΠ°Π·ΡΠ²Π°Π½ΠΈΡΠΌΠΈ (Statement). ΠΠ΅ΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠΊΠ°Π·ΡΠ²Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π»ΠΈΠ½Π³Π²ΠΈΡΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (Variable) ΠΈ ΡΠ΅ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½Π΅ΡΠ΅ΡΠΊΠΈΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ (FuzzySet). ΠΠ° Π½Π΅ΡΠ΅ΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° getValue (). ΠΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ FuzzySetIface. ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ «Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ» Π½Π΅ΡΠ΅ΡΠΊΠΈΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ (ActivatedFuzzySet), ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ Π½Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° (FuzzySet). Π’Π°ΠΊΠΆΠ΅ Π² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠ΅ΡΠΊΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ² (UnionOfFuzzySets). ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΡΠ΅ΡΠΊΠΈΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² FuzzySetIface).
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ°ΠΌΠ΄Π°Π½ΠΈ (MamdaniAlgorithm), Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π²ΡΠ΅ ΡΡΠ°ΠΏΡ (ΡΠΈΡ. 3) ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±Π°Π·Ρ ΠΏΡΠ°Π²ΠΈΠ» (List) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ . Π’Π°ΠΊΠΆΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ «Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ » Π½Π΅ΡΠ΅ΡΠΊΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ² (ActivatedFuzzySet) ΠΈ ΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ (UnionOfFuzzySets).
ΠΡΠ°ΠΊ, ΡΡΠ°ΠΏΡ Π½Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ. Π Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΡΠ°ΠΏΠ΅, ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ.
2.3 Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ ΠΏΡΠ°Π²ΠΈΠ»
ΠΠ°Π·Π° ΠΏΡΠ°Π²ΠΈΠ» — ΡΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ°Π²ΠΈΠ», Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΠΎΠ΄Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π²Π΅ΡΠΎΠ²ΠΎΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ.
ΠΠ°Π·Π° ΠΏΡΠ°Π²ΠΈΠ» ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄ (Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ):
RULE1: IF «Condition1» THEN «Conclusion1» (F1) AND «Conclusion2» (F2);
RULE2: IF «Condition2» AND «Condition3» THEN «Conclusion3» (F3);
…
RULE_n: IF «Condition_k» THEN «Conclusion_(q-1)» (Fq-1) AND «Conclusion_q» (Fq);
ΠΠ΄Π΅ Fi — Π²Π΅ΡΠΎΠ²ΡΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ, ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠ΅ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ Π² ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ (i = 1. q). ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²Π΅ΡΠΎΠ²ΠΎΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ°Π²Π½ΡΠΌ 1. ΠΠΈΠ½Π³Π²ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠΌΠΈ, Π° Π² Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ.
ΠΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ:
n — ΡΠΈΡΠ»ΠΎ ΠΏΡΠ°Π²ΠΈΠ» Π½Π΅ΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΉ (numberOfRules).
m — ΠΊΠΎΠ»-Π²ΠΎ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (numberOfInputVariables).
s — ΠΊΠΎΠ»-Π²ΠΎ Π²ΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (numberOfOutputVariables).
k — ΠΎΠ±ΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ΄ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π² Π±Π°Π·Π΅ ΠΏΡΠ°Π²ΠΈΠ» (numberOfConditions).
q — ΠΎΠ±ΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ΄Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² Π±Π°Π·Π΅ ΠΏΡΠ°Π²ΠΈΠ» (numberOfConclusions).
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ°Π½Π½ΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΠΏΠ°Ρ . Π ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΡΠΊΠ°Π·Π°Π½Ρ ΠΈΠΌΠ΅Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅.
2.4 Π€Π°Π·Π·ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΡΠΎΡ ΡΡΠ°ΠΏ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Π½Π΅ΡΠ΅ΡΠΊΠΎΡΡΠΈ. ΠΠ° Π²Ρ ΠΎΠ΄ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π±Π°Π·Π° ΠΏΡΠ°Π²ΠΈΠ» ΠΈ ΠΌΠ°ΡΡΠΈΠ² Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ , Π = {a1,…, am}. Π ΡΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . Π¦Π΅Π»ΡΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΈΠ· Π±Π°Π·Ρ ΠΏΡΠ°Π²ΠΈΠ». ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΊ: Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠΎΠ΄ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ bi = ?(ai). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ bi (i = 1. k).
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ:
private double[] fuzzification (double[] inputData) {
int i = 0;
double[] b = new double[numberOfConditions];
for (Rule rule: rules) {
for (Condition condition: rule. getConditions ()) {
int j = condition. getVariable ().getId ();
FuzzySet term = condition. getTerm ();
b[i] = term. getValue (inputData[j]);
i++;
}
}
return b;
}
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ°ΡΡΠΈΠ² Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ i-ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ i-ΠΎΠΉ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ (Π½ΠΎΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π² ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅ «id»).
2.5 ΠΠ³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΠ»ΠΎΠ²ΠΈΠΉ
ΠΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ Π²ΡΡΠ΅, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΡΡΠ°Π²Π½ΡΠΌ, Ρ. Π΅. Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΡΠ»ΠΎΠ²ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ «AND». Π¦Π΅Π»ΡΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°. Π£ΠΏΡΠΎΡΠ΅Π½Π½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ Π²ΡΠ΅Ρ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΡΡΠ»ΠΎΠ²ΠΈΠΉ.
Π€ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
cj = min{bi}.
ΠΠ΄Π΅:
j = 1. n;
i — ΡΠΈΡΠ»ΠΎ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΠΏΠΎΠ΄ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π² ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ j-Π°Ρ Π²Ρ ΠΎΠ΄Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ:
private double[] aggregation (double[] b) {
int i = 0;
int j = 0;
double[] c = new double[numberOfInputVariables];
for (Rule rule: rules) {
double truthOfConditions = 1.0;
for (Condition condition: rule. getConditions ()) {
truthOfConditions = Math. min (truthOfConditions, b[i]);
i++;
}
c[j] = truthOfConditions;
j++;
}
return c;
}
2.6 ΠΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ΄Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
Π½Π΅ΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΌΠ°ΠΌΠ΄Π°Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΊ ΠΏΠΎΠ΄Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ di = ci*Fi, Π³Π΄Π΅ i = 1.q. ΠΠ°ΡΠ΅ΠΌ, ΠΎΠΏΡΡΡ ΠΆΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ i-ΠΌΡ ΠΏΠΎΠ΄Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Di Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ. ΠΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΈΠ· di ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠΌΠ° ΠΈΠ· ΠΏΠΎΠ΄Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ min-Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
?'i (x) = min {di, ?i (x)}.
ΠΠ΄Π΅:
?'i (x) — «Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ» ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ;
?i (x) — ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠΌΠ°;
di — ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ i-Π³ΠΎ ΠΏΠΎΠ΄Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΡΠ°ΠΊ, ΡΠ΅Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ° — ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΠΈ «Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ » Π½Π΅ΡΠ΅ΡΠΊΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ² Di Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠΎΠ΄Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² Π±Π°Π·Π΅ ΠΏΡΠ°Π²ΠΈΠ» (i = 1. q).
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ:
private List activation (double[] c) {
int i = 0;
List activatedFuzzySets = new ArrayList ();
double[] d = new double[numberOfConclusions];
for (Rule rule: rules) {
for (Conclusion conclusion: rule. getConclusions ()) {
d[i] = c[i]*conclusion.getWeight ();
ActivatedFuzzySet activatedFuzzySet = (ActivatedFuzzySet) conclusion. getTerm ();
activatedFuzzySet.setTruthDegree (d[i]);
activatedFuzzySets.add (activatedFuzzySet);
i++;
}
}
return activatedFuzzySets;
}
private double getActivatedValue (double x) {
return Math. min (super.getValue (x), truthDegree);
}
2.7 ΠΠΊΡΠΌΡΠ»ΡΡΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
Π¦Π΅Π»ΡΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° (ΠΈΠ»ΠΈ ΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ) Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π²ΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: i-ΠΎΠΉ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ² Ei = ΠΡ Dj. ΠΠ΄Π΅ j — Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΠΎΠ΄Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ i-aΡ Π²ΡΡ ΠΎΠ΄Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ (i = 1. s). ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ Π΄Π²ΡΡ Π½Π΅ΡΠ΅ΡΠΊΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅ΡΡΠ΅ Π½Π΅ΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ:
?'i (x) = max {?1 (x), ?2 (x)}, Π³Π΄Π΅ ?1 (x), ?2 (x) — ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ².
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ:
private List accumulation (List activatedFuzzySets) {
List unionsOfFuzzySets =
new ArrayList (numberOfOutputVariables);
for (Rule rule: rules) {
for (Conclusion conclusion: rule. getConclusions ()) {
int id = conclusion. getVariable ().getId ();
unionsOfFuzzySets.get (id).addFuzzySet (activatedFuzzySets.get (id));
}
}
return unionsOfFuzzySets;
}
private double getMaxValue (double x) {
double result = 0.0;
for (FuzzySet fuzzySet: fuzzySets) {
result = Math. max (result, fuzzySet. getValue (x));
}
return result;
2.8 ΠΡΠ²ΠΎΠ΄
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΠ°ΠΌΠ΄Π°Π½ΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π½Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΠ°ΠΊΠΈΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°Ρ ΠΊΠ°ΠΊ Fuzzy Logic Toolbox (ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ MatLab), fuzzyTECH ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ . ΠΠΎΡΡΠΎΠΌΡ ΡΡΠΎΠ»Ρ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, ΠΊΠ°ΠΊ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅, Π½ΠΎΡΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅Π½Π½ΠΎΡΡΡ, ΡΠ΅ΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π·Π°ΠΌΠ΅ΡΡ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΠ΅Ρ ΠΏΠΎΠ΄ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΡΠ½ΡΠΉ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½Ρ ΠΈΠ· Π·Π½Π°Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ² ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΅Π³ΠΎ Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΡΡΠ΅ΠΊΡΠΎΠΌ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΈΠ±ΡΠΈΠ΄ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ — Π΄Π΅Π²ΠΈΠ·, ΠΏΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΎΡΠ»ΠΈ 90-Π΅ Π³ΠΎΠ΄Ρ Ρ Π·Π°ΠΏΠ°Π΄Π½ΡΡ ΠΈ Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ° ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½ — «ΠΌΡΠ³ΠΊΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ» (soft computing), ΠΊΠΎΡΠΎΡΡΠΉ Π²Π²Π΅Π» Π. ΠΠ°Π΄Π΅ Π² 1994 Π³ΠΎΠ΄Ρ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΌΡΠ³ΠΊΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠ°ΠΊ: Π½Π΅ΡΠ΅ΡΠΊΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°, ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΠΈ, Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ½ΡΠ΅ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΡΠ²ΠΎΠ»ΡΡΠΈΠΎΠ½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ. ΠΠ½ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΡ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
ΠΠ»ΠΈΡΠ½ΠΈΠ΅ Π½Π΅ΡΠ΅ΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, ΡΠ°ΠΌΡΠΌ ΠΎΠ±ΡΠΈΡΠ½ΡΠΌ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠΌΡ, ΠΊΠ°ΠΊ Π½Π΅ΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ°ΡΡΠΈΡΠΈΠ»ΠΈ ΡΠ°ΠΌΠΊΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΠΎΡΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ², Π½Π΅ΡΠ΅ΡΠΊΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° «Π²ΡΠΎΡΠ³Π»Π°ΡΡ» ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Data Mining, Π½Π°Π΄Π΅Π»ΠΈΠ² ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ.
Π’ΡΠΈΡΠΌΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠ²ΠΈΠ΅ Π½Π΅ΡΠ΅ΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΠΎ ΠΌΠΈΡΡ Π½Π°ΡΠ°Π»ΠΎΡΡ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π° Π² ΠΊΠΎΠ½ΡΠ΅ 80-Ρ ΠΠ°ΡΡΠΎΠ»ΠΎΠΌΠ΅Π΅ΠΌ ΠΠΎΡΠΊΠΎ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΠΎΠΉ ΡΠ΅ΠΎΡΠ΅ΠΌΡ FAT (Fuzzy Approximation Theorem). Π Π±ΠΈΠ·Π½Π΅ΡΠ΅ ΠΈ ΡΠΈΠ½Π°Π½ΡΠ°Ρ Π½Π΅ΡΠ΅ΡΠΊΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΠΏΡΠΈΠ·Π½Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π² 1988 Π³ΠΎΠ΄Ρ ΡΠΊΡΠΏΠ΅ΡΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π΅ΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» Π΄Π»Ρ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ² Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π»Π° Π±ΠΈΡΠΆΠ΅Π²ΠΎΠΉ ΠΊΡΠ°Ρ . Π ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΏΠ΅ΡΠ½ΡΡ ΡΠ°Π·Π·ΠΈ-ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΈΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΡΡΡΡΡΠ°ΠΌΠΈ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
1. ΠΠ΅ΠΎΠ½Π΅Π½ΠΊΠΎΠ² Π. Π. ΠΠ΅ΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠ΅Π΄Π΅ MATLAB ΠΈ fuzzyTECH / Π. ΠΠ΅ΠΎΠ½Π΅Π½ΠΊΠΎΠ². — Π‘ΠΠ±: ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2003. — 736 Ρ.
2. Π¨ΡΠΎΠ²Π±Π° Π‘. Π. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ MATLAB / Π‘. Π¨ΡΠΎΠ²Π±Π°. — Π: ΠΠΎΡΡΡΠ°Ρ Π»ΠΈΠ½ΠΈΡ-Π’Π΅Π»Π΅ΠΊΠΎΠΌ, 2007. — 288 Ρ.
3. Π. ΠΡΡΠΊΠΎΠ½ΠΎΠ², Π. ΠΡΡΠ³Π»ΠΎΠ². ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ MATLAB. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ. — Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³: ΠΠΈΡΠ΅Ρ, 2001 — 480 Ρ.
4. Π . Π. ΠΠ»ΠΈΠ΅Π². Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ ΠΏΡΠΈ Π½Π΅ΡΡΡΠΊΠΎΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π.: ΠΠ½Π΅ΡΠ³ΠΎΠ°ΡΠΎΠΌΠΈΠ·Π΄Π°Ρ, 1991.
5. Π. ΠΡΠ»ΡΡΡΠ΅Π². ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠ΅Π΄Π΅ MATLAB: ΡΡΠ΅Π±Π½ΡΠΉ ΠΊΡΡΡ. — Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³: ΠΠΈΡΠ΅Ρ, 2000.
6. Π. Π. ΠΠ°ΡΡΡΠ½ΠΎΠ², Π. Π. ΠΠ²Π°Π½ΠΎΠ². MATLAB 5.x. ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅, Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. — Π.: ΠΠ£ΠΠΠ¦-ΠΠΠ ΠΠ, 2000.
7. ΠΡΠ»ΠΎΠ² Π. Π. Π’Π΅ΠΎΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ / Π. Π. ΠΡΠ»ΠΎΠ². — Π.: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ «ΠΠ°ΡΡ», 2004. — 656 Ρ.
8. ΠΠ΅ΠΉΡΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΠΈ, Π³Π΅Π½Π΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ Π½Π΅ΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. Π. Π ΡΡΠΊΠΎΠ²ΡΠΊΠ°Ρ, M. ΠΠΈΠ»ΠΈΠ½ΡΡΠΊΠΈΠΉ, Π. Π ΡΡΠΊΠΎΠ²ΡΠΊΠΈΠΉ. 1999.
9. ΠΠΎΠ½ΡΡΠΈΠ΅ Π»ΠΈΠ½Π³Π²ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. — ΠΠ°Π΄Π΅ Π.Π.Π.: ΠΠΈΡ, 1976.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1
fcltClusters =
FOR_EACH f IN closedFacilitiesList:
fcltClusters.add (new Cluster ({f}))
WHILE Π΅ΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ AND Π²ΡΠ΅ΠΌΡ Π½Π΅ ΠΈΡΡΠ΅ΠΊΠ»ΠΎ:
FOR_EACH clstr IN fcltClusters:
activEnemies = [empty] ==!! fuzzy set ==
FOR_EACH enemy IN openFacilitiesList:
IF enemy Ρ ΠΎΡΠΎΡΠΎ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° clstr OR
ΡΠ΅Π½Π° enemy Π²Π΅Π»ΠΈΠΊΠ° THEN:
activEnemies.add (enemy)
goodChange IS false
FOR_EACH c IN citiesList:
FOR_EACH f IN clstr:
IF fwtn[c]? activEnemies AND
f Π΄Π΅ΡΠ΅Π²Π»Π΅ Π΄Π»Ρ c ΡΠ΅ΠΌ fwtn[c] THEN:
goodChange IS true
IF goodChange OR
ΡΡΠΎΠΈΠΌΠΎΡΡΡ activEnemies Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ clstr
THEN:
open (clstr)
fcltClusters.remove (clstr)
close (activEnemies)
FOR_EACH aEnm IN activEnemies:
fcltClusters.add (new Cluster ({aEnm}))
FOR_EACH clstr1 IN fcltClusters:
FOR_EACH clstr2 IN fcltClusters:
IF clstr1 ΠΏΠΎΡ ΠΎΠΆ Π½Π° clstr2 AND
(ΡΡΠΎΠΈΠΌΠΎΡΡΡ clstr1 Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊΠ° OR
ΡΡΠΎΠΈΠΌΠΎΡΡΡ clstr2 Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊΠ°) THEN:
join (clstr1, clstr2)
IF THEN var_out IS val_out
=
= IS
= OR AND
public interface INegotiatingAgent {
public void onNegotiationStart (INegotiationContext context);
/**
* returns true if wants to continue negotiation
*/
public boolean negotiate (INegotiationContext context);
}
public interface INegotiationContext {
public extends IService> ServT getService (
Class clazz
);
public extends IService> void registerService (
Class clazz,
ServT service
);
}
private void analiseUtilities (
INegotiationContext context,
List agents
) {
IUtilityFuncNegotiationAgent minUtilAgent = null;
double minUtility = Double.MAX_VALUE;
List ufagents =
extractUFAgents (agents);
for (IUtilityFuncNegotiationAgent agent: ufagents) {
double utility = agent. computeUtility (context);
if (utility < minUtility) {
minUtility = utility;
minUtilAgent = agent;
}
}
if (minUtilAgent == null) {
return;
}
minUtilAgent.negotiatePrivileged (context);
}
private void extractUFAgents (
List agents)
{End}