ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠœΠ½ΠΎΠ³ΠΎΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ. 
ΠœΠ΅Ρ‚ΠΎΠ΄ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ j-я Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π»ΡƒΡ‡ΡˆΠ΅ k-ΠΉ, мноТСство, состоит ΠΈΠ· ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ j-я Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Ρ…ΡƒΠΆΠ΅ k-ΠΉ, Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ, состоит ΠΈΠ· Ρ‚Π΅Ρ… ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π², ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ j-я ΠΈ k-я Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ эквивалСнтны. ИндСкс согласия с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° j Π»ΡƒΡ‡ΡˆΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ k ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ΠŸΡƒΡΡ‚ΡŒ Π·Π°Π΄Π°Π½ Π½Π°Π±ΠΎΡ€ числовых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ…… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠœΠ½ΠΎΠ³ΠΎΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠœΠ΅Ρ‚ΠΎΠ΄ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

1. ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

НСобходимо Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ срСдство для поиска Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ:

Β· ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π°Ρ‡Π°

Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅: количСство ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ; вСсовыС значСния, Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ваТности ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π², ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ прСвосходства, Ρ†Π΅Π½Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° значСния Π² ΡΠΎΡΠ΅Π΄Π½ΠΈΠΉ класс.

Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅: ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° согласия; ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° нСсогласия; ядро Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ.

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ

2. ΠšΡ€Π°Ρ‚ΠΊΠΈΠ΅ тСорСтичСскиС свСдСния

ΠŸΡƒΡΡ‚ΡŒ Π·Π°Π΄Π°Π½ Π½Π°Π±ΠΎΡ€ числовых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ X. Π’ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ критСриями ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, критСриями эффСктивности ΠΈΠ»ΠΈ Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌΠΈ функциями.

Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ числовыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹ΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ значСния Π² ΠΏΡ€ΠΎΡΡ‚ранствС m-ΠΌΠ΅Ρ€Π½Ρ‹Ρ… Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ². Π­Ρ‚ΠΎ пространство Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ пространством ΠΈΠ»ΠΈ пространством ΠΎΡ†Π΅Π½ΠΎΠΊ, Π° Π²ΡΡΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ ΠΎΡ†Π΅Π½ΠΊΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ x. ВсС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ мноТСство Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΎΡ†Π΅Π½ΠΎΠΊ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ допустимых Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ²).

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

Π—Π°Π΄Π°Ρ‡Ρƒ Π²Ρ‹Π±ΠΎΡ€Π°, которая Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ мноТСство допустимых Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ X ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹ΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ f, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

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

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

Рассмотрим Π΄Π²Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ. Для Π½ΠΈΡ… ΠΈΠΌΠ΅Π΅Ρ‚ мСсто ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Ρ€Π΅Ρ… случаСв:

1) справСдливо ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ (Π›ΠŸΠ  ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ),

2) справСдливо ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ (Π›ΠŸΠ  Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ),

3) Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся Π½ΠΈ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅, Π½ΠΈ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ (Π›ΠŸΠ  Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π΄Π²ΡƒΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ).

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ случай, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Π° ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… здСсь ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ся, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ благодаря асиммСтричности ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ прСдпочтСния.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ случаСв, Ρ‚. Π΅. ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ, говорят, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ .

Если ΠΆΠ΅ рСализуСтся Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ случай, Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΡΡ‚, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ Π½Π΅ ΡΡ€Π°Π²Π½ΠΈΠΌΡ‹ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ прСдпочтСния.

3. РСализация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ срСдства

Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: Visual Studio 2008 Π―Π·Ρ‹ΠΊ программирования: C#

3.1 ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ срСдства Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Бписок классов с ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΌ описаниСм:

1) Program. cs — это Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, слуТит для Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…, запуска Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° поиска ΠΏΠ°Ρ€Π΅Ρ‚ΠΎ-ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, содСрТит ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ.

2) Reader. cs — ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π°.

3) Writer. cs — ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для сохранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ».

3.2 Алгоритм поиска Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

Π¨Π°Π³ 1. НазначСниС вСсов. ΠΠ°Π·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ вСса ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² Π¨Π°Π³ 2. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ индСкса согласия. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² j ΠΈ k ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² разбиваСтся Π½Π° Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹:

,.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ j-я Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π»ΡƒΡ‡ΡˆΠ΅ k-ΠΉ, мноТСство, состоит ΠΈΠ· ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ j-я Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Ρ…ΡƒΠΆΠ΅ k-ΠΉ, Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ, состоит ΠΈΠ· Ρ‚Π΅Ρ… ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π², ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ j-я ΠΈ k-я Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ эквивалСнтны. ИндСкс согласия с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° j Π»ΡƒΡ‡ΡˆΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ k ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

.

Π“Π΄Π΅ Π± — ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π± Π¨Π°Π³ 3. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ списка нСсогласия. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹ j ΠΈ k ΠΈΠ½Π΄Π΅ΠΊΡ нСсогласия с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° j Π»ΡƒΡ‡ΡˆΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ k ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ся ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅:

Π“Π΄Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» прСвосходства k-ΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π½Π°Π΄ j-ΠΉ ΠΏΠΎ i-ΠΌΡƒ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ опрСдСляСт число ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈΠ· ΠΊΠ»Π°ΡΡΠ° Π² ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ j-ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ стал эквивалСнтСн k-ΠΌΡƒ ΠΏΠΎ i-ΠΌΡƒ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π½Π° Ρ†Π΅Π½Ρƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ дСлСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. ΠŸΡ€ΠΈ этом трСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π»ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π¨Π°Π³ 4. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°. На ΠΎΡΠ½ΠΎΠ²Π΅ чисСл ΠΈ, опрСдСляСмы Π›ΠŸΠ , Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² строится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅: j-я Π°Π»ΡŒΡ‚Π΅Ρ€Π½Ρ‚ΠΈΠ²Π° признаСтся Π»ΡƒΡ‡ΡˆΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ k, ΠΏΡ€ΠΈ условии Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ. Π‘Ρ€Π°Π·Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ становится Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π‘Π»Π΅ΠΉΡ‚Π΅Ρ€Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² ΡΡ‚ΠΎΠΌ случаС j-я Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ k-ю лишь Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π°, Ρ‚. Π΅. для всСх. ΠŸΡ€ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Ρ‹ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ², связанныС Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ.

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ построСно, прСдставляСтся мноТСство Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ½Π΅Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ построСнноС Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ НМ-свойством. Π”Π°Π»Π΅Π΅ Π›ΠŸΠ  Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΡ‚ΠΎΠ³ΠΎ мноТСства. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ число Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², облСгчая Ρ‚Π΅ΠΌ самым Π²Ρ‹Π±ΠΎΡ€ Π›ΠŸΠ .

3.3 Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

public partial class Form1: Form.

{.

private int countOfVariant;

private int countOfCriterion;

private double p;

private double q;

private double alfa;

private int max = 0;

private double Interval = 0;

private int count1 = 0;

private int count2 = 0;

private int row1;

private int col1;

private static int rows;

private static int cols;

private Double[,] tablesWeight;

private Double[,] tablesCriterionImportance;

private Double[,] tablesIntervalSuperiority;

private Double[,] TableOfAgreementIndex;

private Double[,] TableOfDisagreementIndex;

private String[,] TableofDecisiveRule;

// private Double[,] tablesCriterionImportance;

private double CriterionSumm = 0;

public Form1().

{.

InitializeComponent ();

}.

// ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ числа Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², числа ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π°Π»ΡŒΡ„Π°.

private void GetDate ().

{.

countOfVariant = (int)numericUpDown1.Value;

countOfCriterion = (int)numericUpDown2.Value;

alfa = Convert. ToDouble (comboBox1.Text);

}.

// созданиС ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ вСсов ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹.

private void createTableOfWeightFromForm ().

{.

tablesWeight = new double[rows, cols];

for (int i = 0; i < rows; i++).

{.

for (int j = 0; j < cols; j++).

{.

tablesWeight[i, j] = Convert. ToDouble (dataGridView1.Rows[i]. Cells[j].Value);

}.

}.

}.

// созданиС ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ваТности ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π², числа ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² прСвосходства.

//ΠΈ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° с ΡƒΡ€ΠΎΠ²Π½Ρ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹.

private void createTableOfCriterionImportanceFromForm ().

{.

tablesCriterionImportance = new double[cols, 3];

for (int i = 0; i < cols; i++).

{.

tablesCriterionImportance[i, 0] = Convert. ToDouble (dataGridView5.Rows[i]. Cells[0].Value);

CriterionSumm += tablesCriterionImportance[i, 0];

//textBox1.AppendText (CriterionSumm.ToString ());

}.

}.

//созданиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² прСвосходства ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹.

private void createTableOfIntervalSuperiorityFromForm ().

{.

tablesIntervalSuperiority = new double[cols, (max + 1)];

for (int i = 0; i < cols; i++).

{.

for (int j = 0; j < (max + 1); j++).

tablesIntervalSuperiority[i, j] = Convert. ToDouble (dataGridView6.Rows[i]. Cells[j].Value);

}.

}.

//созданиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ вСсов Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅.

private void CreateTableOfWeightOnForm (int row, int col).

{.

int _row = row;

int _col = col;

dataGridView1.ColumnCount = _col;

dataGridView1.RowHeadersVisible = false;

dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode. AllCells;

dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode. AllCells;

dataGridView1.RowCount = _row;

}.

// созданиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ваТности ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅.

private void CreateTableOfCriterionImportanceOnForm (int row).

{.

int _row = row;

int _col = 3;

dataGridView5.ColumnCount = _col;

dataGridView5.RowHeadersVisible = false;

dataGridView5.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode. AllCells;

dataGridView5.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode. AllCells;

dataGridView5.RowCount = _row;

}.

// созданиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ядра ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹.

private void CreateTableofDecisiveRuleFromForm ().

{.

TableofDecisiveRule = new string[rows, 1];

for (int i = 0; i < rows; i++).

{.

TableofDecisiveRule[i, 0] = dataGridView4. Rows[i]. Cells[0].Value.ToString ();

}.

}.

private void button1_Click (object sender, EventArgs e).

{.

GetDate ();

rows = (int)countOfVariant;

cols = (int)countOfCriterion;

CreateTableOfWeightOnForm (rows, cols);

CreateTableOfCriterionImportanceOnForm (cols);

}.

//Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° прСвосходства.

private void IntervalSuperiority (int row).

{.

for (int i = 0; i < cols; i++).

{.

if (max < Convert. ToDouble (dataGridView5.Rows[i]. Cells[1].Value)).

{.

max = Convert. ToInt16(dataGridView5.Rows[i]. Cells[1].Value);

}.

}.

int _row = row;

int _col = (max + 1);

dataGridView6.ColumnCount = _col;

dataGridView6.RowHeadersVisible = false;

dataGridView6.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode. AllCells;

dataGridView6.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode. AllCells;

dataGridView6.RowCount = _row;

}.

// ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ индСксов согласия.

private void GetTableOfAgreementIndex (int row, int col).

{.

double IPlus = 0;

double IMinus = 0;

double IZero = 0;

int _row = row;

int _col = col;

dataGridView2.ColumnCount = _col;

dataGridView2.RowHeadersVisible = false;

dataGridView2.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode. AllCells;

dataGridView2.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode. AllCells;

dataGridView2.RowCount = _row;

TableOfAgreementIndex = new double[rows, rows];

for (int i = 0; i < rows; i++).

{.

for (int j = 0; j < rows; j++).

{.

if (i == j).

{.

TableOfAgreementIndex[i, j] = 0;

}.

else.

{.

IPlus = 0;

IMinus = 0;

IZero = 0;

for (int k = 0; k < cols; k++).

{.

if (Convert.ToDouble (dataGridView1.Rows[i]. Cells[k].Value) > Convert. ToDouble (dataGridView1.Rows[j]. Cells[k].Value)).

{.

IPlus += Convert. ToDouble (dataGridView5.Rows[k]. Cells[0].Value);

}.

else if (Convert.ToDouble (dataGridView1.Rows[i]. Cells[k].Value) == Convert. ToDouble (dataGridView1.Rows[j]. Cells[k].Value)).

{.

IZero += Convert. ToDouble (dataGridView5.Rows[k]. Cells[0].Value);

}.

else.

{.

IMinus += Convert. ToDouble (dataGridView5.Rows[k]. Cells[0].Value);

}.

}.

TableOfAgreementIndex[i, j] = (IPlus + alfa * IZero) / (CriterionSumm);

}.

dataGridView2.Rows[i]. Cells[j].Value = TableOfAgreementIndex[i, j];

}.

}.

}.

ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ индСксов нСсогласия.

private void GetTableOfDisagreementIndex (int row, int col).

{.

Double[,] count;

int _row = row;

int _col = col;

dataGridView3.ColumnCount = _col;

dataGridView3.RowHeadersVisible = false;

dataGridView3.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode. AllCells;

dataGridView3.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode. AllCells;

dataGridView3.RowCount = _row;

count = new double[cols, 2];

TableOfDisagreementIndex = new double[rows, rows];

for (int i = 0; i < rows; i++).

{.

for (int j = 0; j < rows; j++).

{.

if (i == j).

{.

TableOfDisagreementIndex[i, j] = 0;

}.

else.

{.

Interval = 0;

for (int k = 0; k < cols; k++).

{.

count[k, 0] = 0;

count[k, 1] = 0;

count1 = 0;

count2 = 0;

for (int m = 0; m < (Convert.ToInt32(dataGridView5.Rows[k]. Cells[1].Value) + 1); m++).

{.

if (Convert.ToDouble (dataGridView1.Rows[i]. Cells[k].Value) > Convert. ToDouble (dataGridView6.Rows[k]. Cells[m].Value)).

{.

count1 += 1;

}.

else.

{.

count1 = count1;

}.

if (Convert.ToDouble (dataGridView1.Rows[j]. Cells[k].Value) > Convert. ToDouble (dataGridView6.Rows[k]. Cells[m].Value)).

{.

count2 += 1;

}.

else.

{.

count2 = count2;

}.

/* textBox1. AppendText (««);

textBox1.AppendText (count1.ToString ());

textBox1.AppendText (««);

textBox1.AppendText (count2.ToString ());

//textBox1.AppendText (««);

//textBox1.AppendText (dataGridView1.Rows[i]. Cells[k].Value.ToString ());*/.

}.

count[k, 0] = count1;

count[k, 1] = count2;

if (count[k, 0] < count[k, 1]).

{.

Interval += (count[k, 1] - count[k, 0]) * (Convert.ToDouble (dataGridView5.Rows[k]. Cells[2].Value));

}.

else.

{.

Interval = Interval;

}.

TableOfDisagreementIndex[i, j] = Interval/100;

textBox1.AppendText (««);

textBox1.AppendText (Interval.ToString ());

}.

}.

dataGridView3.Rows[i]. Cells[j].Value = TableOfDisagreementIndex[i, j];

}.

}.

}.

ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² p ΠΈ q.

private void GetParametrsForDecisiveRule ().

{.

p = Convert. ToDouble (numericUpDown3.Value);

q = Convert. ToDouble (numericUpDown4.Value);

}.

//построСниС Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°.

private void GetDecisiveRule (int row, int col).

{.

bool flag = false;

int count = 0;

int countOfq = 0;

int countOfp = 0;

int _row = row;

int _col = col;

dataGridView4.ColumnCount = _col;

dataGridView4.RowHeadersVisible = false;

dataGridView4.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode. AllCells;

dataGridView4.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode. AllCells;

dataGridView4.RowCount = _row;

for (int i = 0; i < rows; i++).

{.

count = 0;

countOfq = 0;

countOfp = 0;

for (int j = 0; j < cols; j++).

{.

count += 1;

if (i ≠ j).

{.

if (Convert.ToInt32(dataGridView3.Rows[i]. Cells[j].Value) < q).

{.

countOfq += 1;

if (Convert.ToInt32(dataGridView2.Rows[i]. Cells[j].Value) < p).

{.

countOfp += 1;

}.

else.

{.

if ((count == cols) & (countOfp == 0)).

{.

flag = true;

}.

}.

}.

else.

{.

if ((count == cols) & (countOfq == 0)).

{.

flag = true;

}.

}.

}.

}.

dataGridView4.Rows[i]. Cells[0].Value = flag;

}.

}.

private void button2_Click (object sender, EventArgs e).

{.

createTableOfCriterionImportanceFromForm ();

createTableOfWeightFromForm ();

GetTableOfAgreementIndex (rows, rows);

}.

private void button3_Click (object sender, EventArgs e).

{.

GetTableOfDisagreementIndex (rows, rows);

}.

private void Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒToolStripMenuItem_Click (object sender, EventArgs e).

{.

Close ();

}.

private void button6_Click (object sender, EventArgs e).

{.

IntervalSuperiority (cols);

}.

private void button5_Click (object sender, EventArgs e).

{.

GetDecisiveRule (rows, 1);

CreateTableofDecisiveRuleFromForm ();

}.

private void button4_Click (object sender, EventArgs e).

{.

GetParametrsForDecisiveRule ();

}.

//Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ вСсов.

private void button8_Click (object sender, EventArgs e).

{.

string FN;

if (openFileDialog1.ShowDialog () == DialogResult. OK).

{.

openFileDialog1.InitialDirectory = «G:temp» ;

openFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;

FN = openFileDialog1. FileName;

Reader My = new Reader (FN);

My.ReadTable (out tablesWeight, out rows, out cols);

alfa = Convert. ToDouble (comboBox1.Text);

CreateTableOfWeightOnForm (rows, cols);

for (int i = 0; i < rows; i++).

{.

for (int j = 0; j < cols; j++).

{.

dataGridView1.Rows[i]. Cells[j].Value = tablesWeight[i, j];

}.

}.

}.

}.

// сохранСниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ вСсов.

private void button7_Click (object sender, EventArgs e).

{.

string FN;

saveFileDialog1.InitialDirectory = «G:temp» ;

saveFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;

if (saveFileDialog1.ShowDialog () == DialogResult. OK).

{.

FN = saveFileDialog1. FileName;

Writer.WriteTable (FN, tablesWeight);

}.

}.

// Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² ваТности.

private void button9_Click (object sender, EventArgs e).

{.

string FN;

if (openFileDialog1.ShowDialog () == DialogResult. OK).

{.

openFileDialog1.InitialDirectory = «G:temp» ;

openFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;

FN = openFileDialog1. FileName;

Reader My = new Reader (FN);

My.ReadTable (out tablesCriterionImportance, out row1, out col1);

alfa = Convert. ToDouble (comboBox1.Text);

CreateTableOfCriterionImportanceOnForm (row1);

for (int i = 0; i < row1; i++).

{.

for (int j = 0; j < col1; j++).

{.

dataGridView5.Rows[i]. Cells[j].Value = tablesCriterionImportance[i, j];

}.

}.

}.

}.

// Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² прСвосходства.

private void button11_Click (object sender, EventArgs e).

{.

string FN;

if (openFileDialog1.ShowDialog () == DialogResult. OK).

{.

openFileDialog1.InitialDirectory = «G:temp» ;

openFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;

FN = openFileDialog1. FileName;

Reader My = new Reader (FN);

My.ReadTable (out tablesIntervalSuperiority, out row1, out col1);

alfa = Convert. ToDouble (comboBox1.Text);

IntervalSuperiority (row1);

for (int i = 0; i < row1; i++).

{.

for (int j = 0; j < col1; j++).

{.

dataGridView6.Rows[i]. Cells[j].Value = tablesIntervalSuperiority[i, j];

}.

}.

}.

}.

//сохранСниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² ваТности.

private void button10_Click (object sender, EventArgs e).

{.

string FN;

saveFileDialog1.InitialDirectory = «G:temp» ;

saveFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;

if (saveFileDialog1.ShowDialog () == DialogResult. OK).

{.

FN = saveFileDialog1. FileName;

Writer.WriteTable (FN, tablesCriterionImportance);

}.

}.

// сохранСниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² прСвосходства.

private void button12_Click (object sender, EventArgs e).

{.

string FN;

saveFileDialog1.InitialDirectory = «G:temp» ;

saveFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;

if (saveFileDialog1.ShowDialog () == DialogResult. OK).

{.

FN = saveFileDialog1. FileName;

Writer.WriteTable (FN, tablesIntervalSuperiority);

}.

}.

// сохранСниС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ индСксов согласия.

private void button13_Click (object sender, EventArgs e).

{.

string FN;

saveFileDialog1.InitialDirectory = «G:temp» ;

saveFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;

if (saveFileDialog1.ShowDialog () == DialogResult. OK).

{.

FN = saveFileDialog1. FileName;

Writer.WriteTable (FN, TableOfAgreementIndex);

}.

}.

//сохранСниС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ индСксов нСсогласия.

private void button14_Click (object sender, EventArgs e).

{.

string FN;

saveFileDialog1.InitialDirectory = «G:temp» ;

saveFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;

if (saveFileDialog1.ShowDialog () == DialogResult. OK).

{.

FN = saveFileDialog1. FileName;

Writer.WriteTable (FN, TableOfDisagreementIndex);

}.

}.

//сохранСниС ядра.

private void button15_Click (object sender, EventArgs e).

{.

string FN;

saveFileDialog1.InitialDirectory = «G:temp» ;

saveFileDialog1.Filter = «diag files (*.diag)|*.abs|All files|*.*» ;

if (saveFileDialog1.ShowDialog () == DialogResult. OK).

{.

FN = saveFileDialog1. FileName;

Writer.WriteTableOfRule (FN, TableofDecisiveRule);

}.

}.

}.

class Reader.

{.

private string fileName;

private string[] inputTxt;

private double[,] matrix;

private int row;

private int col;

private System.Globalization.NumberFormatInfo numberFormat;

public Reader (string Name).

{.

fileName = Name;

}.

public void ReadTable (out double[,] table, out int rows, out int cols).

{.

numberFormat = new System.Globalization.NumberFormatInfo ();

numberFormat.CurrencyDecimalSeparator = «.» ;

string[] output = File. ReadAllLines (fileName);

string[] aloneString = output[0]. Split (new char[] { ' ' });

//double[,] temp = new double[output.Length, aloneString. Length];

table = new double[output.Length, aloneString. Length];

rows = output. Length;

cols = aloneString. Length;

for (int i = 0; i < aloneString. Length; i++).

{.

table[0, i] = double. Parse (aloneString[i], numberFormat);

}.

for (int i = 1; i < output. Length; i++).

{.

aloneString = output[i]. Split (new char[] { ' ' });

for (int j = 0; j < aloneString. Length; j++).

{.

table[i, j] = double. Parse (aloneString[j], numberFormat);

}.

}.

}.

}.

class Writer.

{.

private static string fileName;

private static string[] outputTxt;

private static double[,] matrix;

private static string[,] matrix1;

private static int row;

private static int col;

private static System.Globalization.NumberFormatInfo numberFormat;

public static void WriteTable (string nameFile, double[,] table).

{.

Writer.fileName = nameFile;

Writer.matrix = table;

if (Writer.matrix ≠ null).

{.

row = matrix. GetLength (0);

col = matrix. GetLength (1);

outputTxt = new string[row];

for (int i = 0; i < row; i++).

{.

for (int j = 0; j < col; j++).

{.

outputTxt[i] += matrix[i, j]. ToString ();

if (j ≠ (col — 1)).

outputTxt[i] += ««;

}.

}.

File.WriteAllLines (nameFile, outputTxt);

}.

}.

public static void WriteTableOfRule (string nameFile, string[,] table).

{.

Writer.fileName = nameFile;

Writer.matrix1 = table;

if (Writer.matrix1 ≠ null).

{.

row = matrix1. GetLength (0);

col = matrix1. GetLength (1);

outputTxt = new string[row];

for (int i = 0; i < row; i++).

{.

for (int j = 0; j < col; j++).

{.

outputTxt[i] += matrix1[i, j];

if (j ≠ (col — 1)).

outputTxt[i] += ««;

}.

}.

File.WriteAllLines (nameFile, outputTxt);

}.

}.

}.

4. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

4.1 ΠœΠ½ΠΎΠ³ΠΎΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π°Ρ‡Π°

1) Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Для этого Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΡƒΠΆΠ΅ Π·Π°Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ с Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ:

Рис НайдСм ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ согласия:

Рис НайдСм ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ индСксов нСсогласия:

Рис НайдСм ядро Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ:

Рис.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ срСдство для поиска Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

Π”Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ лишь ΠΊΠ°ΠΊ дСмонстрационно-ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅Π΅ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ «ΠœΠ½ΠΎΠ³ΠΎΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠœΠ΅Ρ‚ΠΎΠ΄ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ» дисциплины «Π’Сория принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ».

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

1. А. Π’ Π›ΠΎΡ‚ΠΎΠ², И. И. ПоспСлова ΠœΠ½ΠΎΠ³ΠΎΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС.- М.: МАКБ ΠŸΡ€Π΅ΡΡ, 2008. — 197 с.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ срСдства

Microsoft Visual Studio 2008

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ