Recursive Daga baya Maze Generator
Buga: 16 Faburairu, 2025 da 18:22:32 UTC
Mai fara'a na maze yana amfani da algorithm na mai da hankali don ya halicci cikakken mafarkin. Wannan algorithm yana iya halitta wuraren da ke da tsawon hanyoyi masu tsawo da kuma magance mai tsawo.Recursive Backtracker Maze Generator
Algorithm na mai da hankali ga komawa da gaske ne na neman cikakken manufa na farko. Idan aka yi amfani da shi don tsara ma'ana, an canja shi ɗan lokaci don ya zaɓi hanyar a hanyar da ba a sani ba, amma idan aka yi amfani da ita don neman abin da ake so, mutum zai nemi kowace sashe cikin tsari na tsaye. Yana iya ƙera wuraren da ke da tsawon hanyoyi masu tsawo da kuma magance matsaloli masu tsawo.
Cikakken maze shine maze wanda a cikinsa akwai ainihin hanya ɗaya daga kowane wuri a cikin maze zuwa kowane wuri. Wannan yana nufin ba za ku iya ƙarasa da zagayawa cikin da'ira ba, amma sau da yawa za ku gamu da matattu, wanda zai tilasta muku juyo da komawa.
Taswirorin maze da aka samar a nan sun haɗa da sigar tsoho ba tare da kowane matsayi na farawa da ƙare ba, don haka zaku iya yanke shawarar waɗancan da kanku: za a sami mafita daga kowane wuri a cikin maze zuwa kowane wuri. Idan kuna son ilhama, zaku iya kunna shawarar farawa da ƙarewa - har ma da ganin mafita tsakanin su biyun.
Algorithm na mai da baya mai mai da hankali hanya ce ta neman zurfi-da farko don halittar mafarkin da suka fi kyau (mazes ba tare da ƙara kuma hanya ɗaya tsakanin kowane rawa biyu). Yana da sauƙi, yana da kyau, kuma yana da hanyoyi masu kyau da ke da tsawon hanyoyi masu tsawo.
Duk da sunansa, ba dole ba ne a yi amfani da shi ta wurin yin amfani da recursion. Sau da yawa ana amfani da shi a hanyar mai da hankali ta wurin yin amfani da tsaye na LIFO (ya yi amfani da takarda). Don manyan wurare, yin amfani da recursion zai kawo yawan kira, daidai da yaren shiryawa da tunawa da ake samu. Za a iya daidaita tsaye na LIFO da sauƙi wajen kula da abubuwa da yawa, har ma a riƙe tsaye a kan disk ko kuma a cikin database idan tunawa da ke da shi ba ta isa ba.
Yadda Yake Aiki
Algorithm yana aiki ta hanyar neman zurfi-da Ga wannan ɓata ɗaya bayan ɗaya:
- Ka zaɓi ƙwaƙwalwa ta farko kuma ka nuna ta kamar yadda aka ziyarce ta.
- Ko da yake akwai ƙwayoyin da ba a kawar da su ba:
- Ka yi la'akari da ƙwayoyin maƙwabtan da ba a ziyarce su ba.
- Idan aƙalla maƙwabci ɗaya da ba a iya kawar da shi ba ya wanzuwa:
- Zaɓi ɗaya daga cikin maƙwabtan da ba su da kyau.
- Ka cire bangon tsakanin ƙwaƙwalwar da ke ciki da maƙwabcin da aka zaɓa.
- Ka ƙaura zuwa wurin maƙwabcin da aka zaɓa kuma ka nuna shi kamar yadda aka ziyarce shi.
- Ka saka ƙwaƙwalwar da ke ciki a kan jarabar.
- Idan babu maƙwabta da ba su da kyau:
- Ka koma baya ta wajen fitowa da cell na ƙarshe daga jarabar.
- Ka ci gaba da wannan aikin har sai ya zama marar amfani.
Wani abu mai ban sha'awa game da wannan algorithm shi ne cewa yana aiki a matsayin mai fara'a da kuma mai magance matsaloli. Idan ka yi tafiyar da shi a kan mafarkin da aka riga aka halitta kuma ka daina sa'ad da ka kai ƙarshen ƙarshen, yawan zai ƙunshi magance matsalar.
Ina da nau'i biyu na wannan algorithm da ake daidaita a wannan dandalin: tsaye na LIFO da ke bisa ɗaya don halittar mafarkin a wannan shafi da kuma sake mai da ɗaya da ke bisa magance matsaloli, kuma wuraren da wasu algorithms suka halitta (da haka aka yi taswira da magance). Idan na yi wasannin