Π‘Π°ΠΊΠ°Π»Π°Π²Ρ€
Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Π΅ ΠΈ курсовыС Π½Π° Π·Π°ΠΊΠ°Π·

ОписаниС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° поиска ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΊ частному

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

Size_arr — массив элСмСнтов Ρ‚ΠΈΠΏΠ° string, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ²; Shape_arr — массив элСмСнтов Ρ‚ΠΈΠΏΠ° string, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния Ρ„ΠΎΡ€ΠΌΡ‹; GenTopartSearch_Auto для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ автоматичСского Ρ€Π΅ΠΆΠΈΠΌΠ° выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Класс exemplar. Она ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания Π³ΠΈΠΏΠΎΡ‚Π΅Π· ΠΈ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². P_list Ρ‚ΠΈΠΏΠ° ArrayList — список для хранСния ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ОписаниС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° поиска ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΊ частному (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ «ΠŸΠΎΠΈΡΠΊ ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΊ Ρ‡Π°ΡΡ‚Π½ΠΎΠΌΡƒ» Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ описанному Π² [1, 9.2.2] ΠΈ [2].

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставлСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

1. Класс exemplar. Она ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания Π³ΠΈΠΏΠΎΡ‚Π΅Π· ΠΈ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

Π§Π»Π΅Π½Π°ΠΌΠΈ (полями) класса ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

  • 4) color Ρ‚ΠΈΠΏΠ° string — Ρ†Π²Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°;
  • 5) size Ρ‚ΠΈΠΏΠ° string — Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°;
  • 6) shape Ρ‚ΠΈΠΏΠ° string — Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°;
  • 2. g_list Ρ‚ΠΈΠΏΠ° ArrayList — список максимально ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;
  • 3. n_list Ρ‚ΠΈΠΏΠ° ArrayList — список для хранСния ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²;
  • 4. p_list Ρ‚ΠΈΠΏΠ° ArrayList — список для хранСния ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²;
  • 5. goal Ρ‚ΠΈΠΏΠ° string — Ρ†Π΅Π»ΡŒ обучСния;
  • 6. color_arr — массив элСмСнтов Ρ‚ΠΈΠΏΠ° string, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния Ρ†Π²Π΅Ρ‚ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°;
  • 7. size_arr — массив элСмСнтов Ρ‚ΠΈΠΏΠ° string, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ²;
  • 8. shape_arr — массив элСмСнтов Ρ‚ΠΈΠΏΠ° string, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния Ρ„ΠΎΡ€ΠΌΡ‹;

ПослСдниС Ρ‚Ρ€ΠΈ массива ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ элСмСнта мноТСства G Π΅Π³ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰Π΅ΠΉ спСциализациСй.

Алгоритм поиска Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π²ΡƒΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€:

  • 3. GenToPartSearch (с Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ positive Ρ‚ΠΈΠΏ bool — ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΎΠ½ ΠΎΡ‚носится) для осущСствлСния ΠΏΠΎ ΡˆΠ°Π³ΠΎΠ²ΠΎΠ³ΠΎ отобраТСния выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°;
  • 4. GenTopartSearch_Auto для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ автоматичСского Ρ€Π΅ΠΆΠΈΠΌΠ° выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Ρ‚ΠΎΡ‚ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ «ΠŸΠΎΠΈΡΠΊ ΠΎΡ‚ Ρ‡Π°ΡΡ‚Π½ΠΎΠ³ΠΎ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ». ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π² Π½Π°Ρ‡Π°Π»Π΅ обучСния Π·Π°Π΄Π°Π΅Ρ‚ ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌΠΎΠ΅ понятиС. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ мноТСство G Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΠΌ понятиСм Π² ΠΏΡ€ΠΎΡΡ‚ранствС поиска.

ΠŸΡ€ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° g_list ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ всС Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρ‹, Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ этому ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ. ΠŸΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ список Π³ΠΈΠΏΠΎΡ‚Π΅Π·, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° провСряСт Π΅Π΅ ΡΠΎΠΎΡ‚вСтствиС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ. Если Π² ΠΏΠΎΠ»Π΅ Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρ‹ записана пСрСмСнная ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ поля ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Ρ‚ΠΎ ΡΡ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π³ΠΈΠΏΠΎΡ‚Π΅Π·Π° удовлСтворяСт ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Если ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π³ΠΈΠΏΠΎΡ‚Π΅Π·Π° Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚воряСт ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρ‚ΠΎ ΠΎΠ½Π° удаляСтся. РассмотрСнный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ добавляСтся Π² ΡΠΏΠΈΡΠΎΠΊ p_list.

Π Π°Π±ΠΎΡ‚Π° с ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠŸΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅Ρ‚ΡΡ список Π³ΠΈΠΏΠΎΡ‚Π΅Π· с Ρ†Π΅Π»ΡŒΡŽ нахоТдСния Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρ‹ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰Π΅ΠΉ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ. Если такая Π³ΠΈΠΏΠΎΡ‚Π΅Π·Π° Π½Π°ΠΉΠ΄Π΅Π½Π°, Ρ‚ΠΎ ΡΠ½Π°Ρ‡Π°Π»Π° запоминаСтся Π΅Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡ Π² ΡΠΏΠΈΡΠΊΠ΅, Π° Π·Π°Ρ‚Π΅ΠΌ начинаСтся Π·Π°ΠΌΠ΅Π½Π° Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρ‹ Π΅Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰Π΅ΠΉ спСциализациСй, Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰Π΅ΠΉ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ. ΠŸΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ всС поля Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρ‹. Если Π² ΠΏΠΎΠ»Π΅ Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρ‹ записана пСрСмСнная, Ρ‚ΠΎ Π² ΡΠΏΠΈΡΠΎΠΊ Π³ΠΈΠΏΠΎΡ‚Π΅Π· добавляСтся мноТСство Π³ΠΈΠΏΠΎΡ‚Π΅Π·, Ρ‚Π°ΠΊΠΈΡ… Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого поля Π² Π½ΠΈΡ… ΠΎΡ‚Π»ΠΈΡ‡Π°Π»ΠΎΡΡŒ ΠΎΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ поля Π² ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΠ»Π΅ color ΠΈ Π² Π½Π΅ΠΌ записана пСрСмСнная X, Π° Π² ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π² ΡΡ‚ΠΎΠΌ ΠΏΠΎΠ»Π΅ записано red. Π’ΠΎΠ³Π΄Π° Π² ΡΠΏΠΈΡΠΎΠΊ g_list добавляСтся мноТСство всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π³ΠΈΠΏΠΎΡ‚Π΅Π·, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ color Π½Π΅ Ρ€Π°Π²Π½ΠΎ red (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, blue, white ΠΈ Ρ‚. Π΄.). ΠŸΡ€ΠΈ этом ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ поля Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ значСниями, Ρ‡Ρ‚ΠΎ ΠΈ Π² Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π³ΠΈΠΏΠΎΡ‚Π΅Π·Π΅. ПослС просмотра всСх Π³ΠΈΠΏΠΎΡ‚Π΅Π·, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° g_list.

Π—Π°Ρ‚Π΅ΠΌ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π³ΠΈΠΏΠΎΡ‚Π΅Π· ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ всС Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρ‹, Π±ΠΎΠ»Π΅Π΅ частныС, Ρ‡Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρ‹, Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ ΠΈΠ· p_list. АналогичныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ описаны Π² Ρ€Π°Π·Π΄Π΅Π»Π΅, поэтому здСсь ΠΈΡ… ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ опускаСтся.

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