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

ЭкспСртная систСма для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ коммивояТСрС

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

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Π½ΠΈΠΉ — это ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° взаимодСйствия ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° ΠΏΠΎ Π·Π½Π°Π½ΠΈΡΠΌ с ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΎΠΌ Π·Π½Π°Π½ΠΈΠΉ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ становится явным процСсс рассуТдСний экспСртов ΠΏΡ€ΠΈ принятии Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈΡ… ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠΉ ΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области. Π’ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ рассмотрим ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ поиска ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅, имСя Π³Ρ€Π°Ρ„ «ΠšΠ°Ρ€Ρ‚Π° Баратовской ΠΎΠ±Π»Π°ΡΡ‚ΡŒ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„Π° это… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ЭкспСртная систСма для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ коммивояТСрС (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Баратовский государствСнный тСхничСский унивСрситСт

ΠšΠ°Ρ„Π΅Π΄Ρ€Π° БИИ

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°

ΠΏΠΎ ΠœΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°

ЭкспСртная систСма для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ ΠΊΠΎΠΌΠΌΠΈΠ²ΠΎΡΠΆΠ΅Ρ€Π΅

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»:

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»:

Π‘Π°Ρ€Π°Ρ‚ΠΎΠ² 2009 Π³.

  • 1.ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ
  • 2.Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹
  • 3.Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Π½ΠΈΠΉ
  • 4.Ѐормализация
  • 5.ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • 6.ВСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • 7.Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

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

ЦСлю, Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹, являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΌΠ°ΠΊΠ΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ экспСртной систСмы для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎ ΠΊΠΎΠΌΠΌΠΈΠ²ΠΎΡΠΆΠ΅Ρ€Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ возмоТности языка Prolog.

2. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

Π—Π°Π΄Π°Ρ‡Π° ΠΎ ΠΊΠΎΠΌΠΌΠΈΠ²ΠΎΡΠΆΠ΅Ρ€Π΅ довольно распространСнная Π·Π°Π΄Π°Ρ‡Π°. ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²Ρƒ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, имССтся ΠΎΠ΄ΠΈΠ½ станок ΠΈ Π½Π°Π±ΠΎΡ€ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ. ВрСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Π½Π° ΡΡ‚Π°Π½ΠΊΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅, Π½ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΏΠ΅Ρ€Π΅Π½Π°Π»Π°Π΄ΠΊΠΈ станка Ρ€Π°Π·Π½ΠΎΠ΅. ВрСбуСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ всС Π΄Π΅Ρ‚Π°Π»ΠΈ, Π½ΠΎ Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ срок. Π’Π°ΠΊ ΠΆΠ΅ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊ ΠΏΠΎΠΈΡΠΊΡƒ минимально ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ. НапримСр, Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ GPS-Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ для Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ, ΠΈΡ‰ΡƒΡ‰Π΅ΠΉ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅, имСя ΠΊΠ°Ρ€Ρ‚Ρƒ Π΄ΠΎΡ€ΠΎΠ³.

Данная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ рассмотрим ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ поиска ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅, имСя Π³Ρ€Π°Ρ„ «ΠšΠ°Ρ€Ρ‚Π° Баратовской ΠΎΠ±Π»Π°ΡΡ‚ΡŒ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„Π° это Π³ΠΎΡ€ΠΎΠ΄Π°, Π° Π΄ΡƒΠ³ΠΈ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠ΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹-Π³ΠΎΡ€ΠΎΠ΄Π°, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄ΠΎΡ€ΠΎΠ³Π°ΠΌΠΈ.

НСобходимыС рСсурсы:

Β­ Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π° ΠΏΠΎ ΠΊΠΈΠ±Π΅Ρ€Π½Π΅Ρ‚ΠΈΠΊΠ΅

Β­ ПК Ρ ΡΠΈΡΡ‚Π΅ΠΌΠΎΠΉ Prolog

Β­ ЭкспСрт

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ°ΠΌΠΈ Π·Π½Π°Π½ΠΈΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚:

Β­ Книги ΠΏΠΎ ΠΊΠΈΠ±Π΅Ρ€Π½Π΅Ρ‚ΠΈΠΊΠ΅

Β­ ЭкспСрт — профСссор ΠΊΠ°Ρ„. БИИ ΠŸΠ΅Ρ‚Ρ€ΠΎΠ² Π‘.Π’.

3. Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Π½ΠΈΠΉ

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Π½ΠΈΠΉ — это ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° взаимодСйствия ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° ΠΏΠΎ Π·Π½Π°Π½ΠΈΡΠΌ с ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΎΠΌ Π·Π½Π°Π½ΠΈΠΉ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ становится явным процСсс рассуТдСний экспСртов ΠΏΡ€ΠΈ принятии Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈΡ… ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠΉ ΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области.

Π˜Π·Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Π½ΠΈΠΉ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚Π΅ΠΌ Π°Π½Π°Π»ΠΈΠ·Π° Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠΏΠΎ ΠΊΠΈΠ±Π΅Ρ€Π½Π΅Ρ‚ΠΈΠΊΠ΅. Для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ уточнСния ΠΏΡ€ΠΈΠ±Π΅Π³Π½Π΅ΠΌ ΠΊ ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚ациям экспСрта.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ ΠΊΠ°Ρ€Ρ‚Ρƒ Π² Π²ΠΈΠ΄Π΅ Π³Ρ€Π°Ρ„Π°. Π“Ρ€Π°Ρ„ — это ΡΠ΅Ρ‚ΡŒ, состоящая ΠΈΠ· ΡƒΠ·Π»ΠΎΠ², соСдинСнных Π΄ΡƒΠ³Π°ΠΌΠΈ (рис.1). Π£Π·Π»Π°ΠΌΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³ΠΎΡ€ΠΎΠ΄Π°ΠΌΠΈ, Π° Π΄ΡƒΠ³ΠΈ — Π±ΡƒΠ΄ΡƒΡ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ Π³ΠΎΡ€ΠΎΠ΄Π°ΠΌΠΈ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΠ·Π»Ρ‹ (Π³ΠΎΡ€ΠΎΠ΄Π°). НаличиС Π΄ΠΎΡ€ΠΎΠ³ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π³ΠΎΡ€ΠΎΠ΄Π°ΠΌΠΈ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π΄ΡƒΠ³ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΡƒΠ·Π»Π°ΠΌΠΈ.

Рис. 1

Поиск ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π³ΠΎΡ€ΠΎΠ΄Π°ΠΌΠΈ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ поиск ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΡƒΠ·Π»Π°ΠΌΠΈ Π³Ρ€Π°Ρ„Π°.

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ поиска, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ поиска.

Π’ ΡΡ‚ΠΎΠΉ связи Π² ΠŸΡ€ΠΎΠ»ΠΎΠ³Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π΅ основныС стратСгии:

1. Поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ

2. Поиск Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ

БтратСгия поиска Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ

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

ΠžΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ построСния поиска Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ:

1) Если ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт (Π²Π΅Ρ€ΡˆΠΈΠ½Π°) ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ (Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡƒΡ‚Π΅ΠΉ) — это цСлСвая Π²Π΅Ρ€ΡˆΠΈΠ½Π°, Ρ‚ΠΎ Π²Π·ΡΡ‚ΡŒ этот ΠΏΡƒΡ‚ΡŒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

2) Π˜Π½Π°Ρ‡Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΈ ΠΏΠΎΡ€ΠΎΠ΄ΠΈΡ‚ΡŒ мноТСство ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠΉ этого ΠΏΡƒΡ‚ΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ шаг.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠΉ добавляСтся ΠΊ ΡΠΏΠΈΡΠΊΡƒ ΠΏΡƒΡ‚Π΅ΠΉ Π² ΠΊΠΎΠ½Π΅Ρ†.

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

БтратСгия поиска Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π° ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ: имССтся Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС; ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡƒΡ‚ΡŒ, приводящий ΠΊ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ, Ρ‚. Π΅. Ρ†Π΅Π»ΠΈ. Π“Π΄Π΅ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ состояниС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹Ρ… состояний.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ состояния «ΡˆΠ°Π³Π°Ρ» ΠΎΡ‚ ΡΠΎΡΡ‚ояния ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ ΠΏΡ€ΠΈ этом, распознавая ситуации, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ†Π΅Π»ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Ρ‚ΡƒΠΏΠΈΠΊ.

БтратСгия поиска Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ основана Π½Π° Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ исслСдовании ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π²Ρ‹Π±ΠΎΡ€Π° Π΄ΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ исслСдуСтся самая пСрвая лСвая Π²Π΅Ρ‚Π²ΡŒ Π΄Π΅Ρ€Π΅Π²Π°, ΠΊΠΎΠ³Π΄Π° процСсс поиска Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ‚ΡƒΠΏΠΈΠΊ. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ возвращаСтся Π²Π²Π΅Ρ€Ρ…, Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π²Ρ‹Π±ΠΎΡ€Π°. Π“Π΄Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π½Π΅ΠΈΠ·ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ двиТСния.

Поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π΅Π½ рСкурсивному ΡΡ‚ΠΈΠ»ΡŽ программирования.

4. Ѐормализация

Ѐормализация Π·Π½Π°Π½ΠΈΠΉ — Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π±Π°Π·Ρ‹ Π·Π½Π°Π½ΠΈΠΉ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ прСдставлСния Π·Π½Π°Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, с ΠΎΠ΄Π½ΠΎΠΉ стороны, соотвСтствуСт структурС поля Π·Π½Π°Π½ΠΈΠΉ, Π° Ρ Π΄Ρ€ΡƒΠ³ΠΎΠΉ — позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ систСмы Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ стадии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Π½ΠΈΠΉ, Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ 3, знания ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ:

Если Π΅ΡΡ‚ΡŒ Π΄ΠΎΡ€ΠΎΠ³Π° ΠΈΠ·, А Π² Π‘, Ρ‚ΠΎ ΠΈΠ·, А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΅Ρ…Π°Ρ‚ΡŒ Π² Π‘.

ΠŸΡ€ΠΈΡ‡Π΅ΠΌ информация ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π΄ΠΎΡ€ΠΎΠ³ Π½Π΅ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Π°, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ссли Π΅ΡΡ‚ΡŒ Π΄ΠΎΡ€ΠΎΠ³Π° ΠΈΠ·, А Π² Π‘, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΅Ρ…Π°Ρ‚ΡŒ ΠΈΠ·, А Π² Π‘, Π½ΠΎ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΠ· Π‘ Π² А. Для прСодолСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ затруднСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΡ‚ΠΈ двумя путями:

1. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ Ссли Π΅ΡΡ‚ΡŒ Π΄ΠΎΡ€ΠΎΠ³Π° ΠΈΠ·, А Π² Π‘, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΅Ρ…Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·, А Π² Π‘, Π½ΠΎ ΠΈ ΠΈΠ· Π‘ Π² А.

2. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ систСма ΠΏΠΎΠ½ΠΈΠΌΠ°Π»Π°, Ρ‡Ρ‚ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π΄ΠΎΡ€ΠΎΠ³ΠΈ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΅Ρ…Π°Ρ‚ΡŒ ΠΈΠ·, А Π² Π‘, Π½ΠΎ ΠΈ Π½Π°ΠΎΠΎΠ±Ρ€ΠΎΡ‚.

5. ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅

path (A, Z, P,D),

Π³Π΄Π΅ P — ацикличСский ΠΏΡƒΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ A ΠΈ Z Π² Π³Ρ€Π°Ρ„Π΅, прСдставлСнном ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π΄ΡƒΠ³Π°ΠΌΠΈ:

arca (a, b,1).

arca (a, c,1).

arca (b, e,1).

arca (b, d,1).

arca (c, d,1).

arca (c, g,1).

arca (c, f,1).

arca (d, e,1).

arca (e, f,1).

arca (f, x,1).

Π”ΡƒΠ³ΠΈ прописаны согласно рис. 1.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° поиска Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ основан Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… сообраТСниях:

Β­ Если A = Z, Ρ‚ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ P = [A];

Β­ Π˜Π½Π°Ρ‡Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ацикличСский ΠΏΡƒΡ‚ΡŒ P1 ΠΈΠ· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Y Π² Z, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡƒΡ‚ΡŒ ΠΈΠ· A Π² Y, Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΠΈΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈΠ· P1.

Π’Π²Π΅Π΄Π΅ΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅

path1(A, P1, P,D),

ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ P1 — Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΉ участок ΠΏΡƒΡ‚ΠΈ P.

ΠœΠ΅ΠΆΠ΄Ρƒ path ΠΈ path1 ΠΈΠΌΠ΅Π΅Ρ‚ мСсто ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅:

path (A, Z, P, D) : — path1(A,[Z], P, D).

РСкурсивноС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ path1 Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… посылок:

Β­ «Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹ΠΉ случай»: Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π²Π΅Ρ€ΡˆΠΈΠ½Π° ΠΏΡƒΡ‚ΠΈ P1 совпадаСт с Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ A ΠΏΡƒΡ‚ΠΈ P;

Β­ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ такая Π²Π΅Ρ€ΡˆΠΈΠ½Π° X, Ρ‡Ρ‚ΠΎ: 1) Y — Π²Π΅Ρ€ΡˆΠΈΠ½Π°, смСТная с X, 2) X — Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ся Π² P1, 3) для P Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ path (A,[Y|P1], P).

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ согласно:

path (A, Z, Path, C): — path1(A,[Z], 0, Path, C).

path1(A,[A|Path1], C,[A|Path1], C).

path1(A,[Y|Path1], C1, Path, C): — arca (X, Y, CXY),

not (member (X, Path1)), C2=C1+CXY, path1(A,[X, Y|Path1], C2, Path, C).

Π“Π΄Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ member — опрСдСляСт ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π»ΠΈ элСмСнт списку, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ:

member (Head,[Head|_]).

member (Head,[_|Tail]): — member (Head, Tail).

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° (минимальная Π΄Π»ΠΈΠ½Π°) срСди пСрСчня ΠΏΡƒΡ‚Π΅ΠΉ Π²Π²Π΅Π΄Π΅ΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ db0 ΠΈ db:

db0(X, Y) :-path (X, Y, P, C), assert (db_path (X, Y, P, C)).

db (X, Y):-db_path (X, Y, P, C), path (X, Y, MP, MC), MC

retract (db_path (X, Y, P, C)), assert (db_path (X, Y, MP, MC)), db (X, Y).

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ db0 ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ. Если Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ Π½Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π΅Π½, Ρ‚ΠΎ db ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡƒΡ‚ΡŒ, ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя сравниваСт Π΄Π»ΠΈΠ½Ρ‹ Π΄Π²ΡƒΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ. Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… рСкурсий ΠΈ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡ остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΡƒΡ‚ΡŒ, Π΄Π»ΠΈΠ½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ минимальна.

ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

domains

i=integer

s=symbol

list=s*

database

db_path (s, s, list, i)

predicates

path (s, s, list, i)

path1(s, list, i, list, i)

member (s, list)

arca (s, s, i)

db0(s, s)

db (s, s)

run (s, s)

start

goal

start.

clauses

start:-makewindow (1,7,7," Expert System", 1,3,22,71), clearwindow,

write («Enter the name of cities»), nl,

write («The first city: «), readln (First), nl,

write («The second city: «), readln (Second), nl,

run (First, Second), readchar (_).

arca (a, b,1).

arca (a, c,1).

arca (b, e,1).

arca (b, d,1).

arca (c, d,1).

arca (c, g,1).

arca (c, f,1).

arca (d, e,1).

arca (e, f,1).

arca (f, x,1).

run (Start, End):-db0(Start, End), db (Start, End), db_path (Start, End, MP, MD),

write («Optimum way: «), write (MP), nl,

write («Length of an optimum way=»), write (MD),

nl, nl.

path (A, Z, Path, C): — path1(A,[Z], 0, Path, C).

path1(A,[A|Path1], C,[A|Path1], C).

path1(A,[Y|Path1], C1, Path, C): — arca (X, Y, CXY), not (member (X, Path1)), C2=C1+CXY, path1(A,[X, Y|Path1], C2, Path, C).

member (Head,[Head|_]).

member (Head,[_|Tail]): — member (Head, Tail).

db0(X, Y) :-path (X, Y, P, C), assert (db_path (X, Y, P, C)).

db (X, Y):-db_path (X, Y, P, C), path (X, Y, MP, MC), MC

retract (db_path (X, Y, P, C)), assert (db_path (X, Y, MP, MC)), db (X, Y).

db (_,_).

6. ВСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π°) ΠŸΡƒΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π³Ρ€Π°Ρ„:

Рис.2

Рис.2а

Π˜Ρ‰Π΅ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΈΠ· a Π² Ρ…, согласно Π³Ρ€Π°Ρ„Ρƒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΠ·Π»Ρ‹: a c f x, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π½Π° Ρ€ΠΈΡ.2Π°.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°:

Π”Π°Π½Π½Ρ‹Π΅ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ расчСта ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚.

Π±) ИзмСним Π΄Π»ΠΈΠ½Ρƒ Ρ€Π΅Π±Ρ€Π° a-c:

Рис.3

Рис.3а

Π˜Ρ‰Π΅ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΈΠ· a Π² Ρ…, согласно Π³Ρ€Π°Ρ„Ρƒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΠ·Π»Ρ‹: a b e f x, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π½Π° Ρ€ΠΈΡ.3Π°.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°:

Π”Π°Π½Π½Ρ‹Π΅ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ расчСта ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚.

Π²) ИзмСним Π΄Π»ΠΈΠ½Ρƒ Ρ€Π΅Π±Ρ€Π° b-d:

Рис.4

Рис.4а

Π˜Ρ‰Π΅ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΈΠ· a Π² Ρ…, согласно Π³Ρ€Π°Ρ„Ρƒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΠ·Π»Ρ‹: a b d e f x, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π½Π° Ρ€ΠΈΡ.4Π°.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°:

Π”Π°Π½Π½Ρ‹Π΅ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ расчСта ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚.

1. И 57. ИспользованиС Π’ΡƒΡ€Π±ΠΎ-ΠŸΡ€ΠΎΠ»ΠΎΠ³Π°: ΠŸΠ΅Ρ€. Ρ Π°Π½Π³Π».-М.:ΠœΠΈΡ€, 1990.-410 с., ΠΈΠ».

2. Π‘ 87. Π‘Ρ€Π°Ρ‚ΠΊΠΎ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ ΠŸΡ€ΠΎΠ»ΠΎΠ³ для искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°: ΠŸΠ΅Ρ€. Ρ Π°Π½Π³Π». -М.: ΠœΠΈΡ€, 1990. 560 с., ΠΈΠ»

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