Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


ѕоиск с возвратом




ѕоиск с возвратом (backtracking) Ц это один из основных приемов поиска решений поставленной задачи в ѕ–ќЋќ√Те. ¬ыполн€€ поиск, ѕ–ќЋќ√ может столкнутьс€ с необходимостью выбора между альтернативными пут€ми. “огда он ставит маркер у места развилки (точка отката) и выбирает первую подцель. ≈сли она не выполн€етс€, то ѕ–ќЋќ√ возвращаетс€ в точку отката и переходит к следующей подцели.

—реда Visual Prolog позвол€ет использовать отладчик дл€ пошагового выполнени€ программы. ќтладчик работает с откомпилированным кодом. ¬ исходном коде можно ставить точки останова и выполн€ть программу по шагам. ¬ режиме пошагового выполнени€ программы можно просматривать значени€ переменных и содержимое утвержденных фактов.

ѕример

»меетс€ база данных, содержаща€ факты вида отдыхает(им€, город ), украина(город), росси€(город),прибалтика(город). —оставить правило, позвол€ющее определить, кто отдыхал в –оссии.

ѕроследить поиск решени€ задачи с помощью отладчика Visual Prolog и построить целевое дерево поиска с возвратом.

–ешение:

1. —оздайте новый проект (Project | New Project) и наберите текст программы:

DOMAINS

им€, город=string

PREDICATES

отдыхает(им€, город)

украина(город).

росси€(город).

прибалтика(город).

отдых_–осси€(им€)

CLAUSES

отдыхает(sasha, antalia).

отдыхает(anna, sochi).

отдыхает(dima, urmala).

отдыхает(oleg, kiev).

украина(kiev).

росси€(sochi).

прибалтика(urmala).


отдых_–осси€(X):-

отдыхает(X,Y),

росси€(Y).

GOAL

отдых_–осси€(X),

write(X),nl.

 

3. —охраните проект (Project | Save Project)

 

4. «апустите его на исполнение (Project | Run, или клавиша <F9>, или кнопка <R>). –езультат выполнени€ программы:

anna

 

5. ѕроследите поиск этого решени€ с помощью отладчика(Debugger). ƒл€ этого:

а) запустите отладчик (Project | Debug);

б) в окне отладчика выберите команду View | Local Variables (дл€ просмотра текущих значений переменных);

в) нажимайте клавишу <F7> (или Run | Trace Into) дл€ пошагового выполнени€ программы, текущие значени€ переменных отображаютс€ в окне Variables For Current Clause

 

 

рис.9. ќкно отладчика


ѕоиск решени€ можно представить следующим образом:

решение: X= anna

рис.10. ÷елевое дерево поиска решени€





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2015-09-20; ћы поможем в написании ваших работ!; просмотров: 844 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

Ѕольшинство людей упускают по€вившуюс€ возможность, потому что она бывает одета в комбинезон и с виду напоминает работу © “омас Ёдисон
==> читать все изречени€...

760 - | 585 -


© 2015-2023 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.008 с.