5.1-сурет
. Абстракты жолдар картасы:
есімдер арасындағы қатынастардың графикалық түсіндірмесі
Шешім барысы (
5.2-сурет
).
1. Шығару машинаның (әрі қарай ШМ) кіреберісіне пайдаланушы
мақсатты береді:
«(
A
,
D
) жол бар».
2. ШМ «Жол бар» деген мәтін жолын БҚ сақталынған файлдан іздейді.
3. ШМ «Жол бар» мақсатты енгізеді, мақсаттар стекке және «Тура
жол» мақсатты іздей бастайды.
46
4. ШМ «Тура жол» мақсатты енгізеді, мақсаттар стекке және «Жол»
мақсатты іздей бастайды.
5. ШМ барлық мәтіндік жолдарды «Жол (
А
,
В
)», «Жол (
В
,
С
)» және т.б.
қарап шығады және іздеген мақсаттың «Жол (
A
,
D
)» жоғын анықтайды.
6. ШМ стектен «Жол», «Тура жол» және «Жол бар» деген мақсаттарды
итеріп тастайды. «Жол бар» мақсатты ашады және «Транзитті жол» мақсатты
іздеуге кіріседі, алдымен, «Жол бар» мақсатты стекке кіргізіп.
7. «Транзитті жол» мақсаты қанағаттандырылады, ӛйткені шынында да
«
A
—
В
—
D
» жолы бар.
Стек деп деректерді сақтау үшін құрылым аталады, деректер
элементтерін LIFO (бірінші болып кірді – соңғы болып шықты) принципі
бойынша қабылдайды және береді.
5.2-сурет
. Логикалық есепті шешу кезіндегі стек жұмысы
Бұл мысалда «кері шығару» деп аталатын шешу кӛрсетілген – бар
болған ережелер мен деректер кӛмегімен кейбір мақсат расталған.
Тура шығару орын алар еді, егер берілген картада барлық мүмкін
болатын маршруттарды кӛрсету қажет болса, бұл жағдайда мақсат мұндай
болу мүмкін «Жол (X, Y)».
Кӛрініп тұр, алгоритм жағынан шешімнің іздестіруі (адамның ойлауын
еліктеу) циклдағы бағыныңқы жолды іздеуге ұқсайды. ЭЕМ уақыты мен
ресурстарын үнемдеу үшін осы іздестірудің тиімді басқаруы ӛте маңызды.
Күйлер кеңістігінің графикалық бейнелеуі осы есепті бірталай оңайлатады
(
5.3-сурет
).
Екі шешім болу мүмкін «
А — В — D
» және «
А — В — С — D
». Осындай
жазу «есептін шешу жолы» деп аталады. Бірінші шешім екіншіден сӛзсіз
қысқа, бірақ «
А
» пунктте болып, біз оны білмейміз!
«
А
» шыңды «ағаш түбірі», «мақсатты шың» немесе «ғаламдық мақсат»
деп атайды.
«
В
» мен «
С
» шыңдар – есептелетін (ашылатын, аралық) шыңдар деп
аталады.
«
D
» шыңы – терминалды, яғни аяқталатын.
Шыңдарды
қосатын
қабырғалардың
мағынасы
-
қосылған
процедуралар, оларды келесі күйге (шыңға) ауысу үшін орындау қажет.
|