![]() |
A-star چیست و چگونه کار میکند؟
سلام..
خسته نباشید دوستان.:o من با اینکه در مورد چگونگی عملکرد A-star مطالعه هم کردم، اما هنوز برام جا افتاده نیست. مطلبی هنوز ازش توی نت پیدا نکردم، ممنون میشم توضیحش بدید. |
قکر می کنم بهترین راه برای درک خوب الگوریتم های جستجو، استفاده کردن از اپلت های جاوا باشه.
مثلا مو تونی عبارت هایی مثل A Star Algorithm Applet رو جستجو کنی. اگر هم نشد که دقیقا بگو که کجای الگوریتم رو متوجه نمی شی. موفق باشی. |
سلام دوستان.
من یه شبه کد پیدا کردم در مورد حل معمای 8 (پازل 8) با استفاده از روش A-Star. ولی برام نامفهومه، خوده تعریف a-star رو متوجه شدم، ولی اونطور که باید برام جا افتاده نیست که بتونم این شبه کد رو خوب متوجه بشم. اگر برام توضیح بدید این شبه کد رو واقعا یک دنیا ممنون میشم، مخصوصا قسمتهای بلد شده. كد:
|
دوست عزیز شما اول باید مشخص کنید که می خواید این روش را یاد بگیرید یا اینکه یاد گرفتید و می خواید پیاده سازی کنید.
اگر می خواید خوب یاد بگیرید همون مثال فاصله شهر ها در کتاب راسل را مرحله به مرحله دنبال کنید قطعا خواهید فهمید که روش کار به چه شکلی است. اگر مثال را متوجه شدید فهمیدن کدها خیلی ساده خواهد بود و به هر زبانی که بخواهید می توانید پیاده سازی کنید. اگر باز هم سوالی بود در جزئیات آن می توانید بپرسید |
mardin200 عزیز، من به حرف شما گوش کردم و یکبار دیگه مطالب مربوط به A-star از راسل رو خوندم.
ببینید چیز کلی که من از این نوع جستجو بدست آوردم، اینه که A-star کم هزینه ترین مسیر را انتخاب میکنه تا به هدف برسه. g(n) هزینه رسیدن به گره ای هست که هر بار از بین همسایه ها (فرزندان) انتخاب میشه. h(n) هم هزینه رسیدن از گره ای که انتخاب کردیم تا هدف هست. درست؟ حالا f(n) ما، یعنی کل ارزش مسیرمون، جمع دو تا تابع بالایی هست. من قبل از اینکه سوالم رو بپرسم یه معذرت خواهی بابت پست قبلیم بدهکارم، من اونجا مشخص نکرده بودم که شبه کدی که گذاشتم، مربوط به "حل معمای 8 (پازل هشت) توسط A-star هست." الآن ادیتش میکنم. خب با این اوصاف، مشکل من اینه که نمیدونم چطور باید در درخت معمای 8 هزینه ها رو پیدا کنم؟ اصلا فکر کنم بهتره اول هر گامش رو به صورت شکل، روی کاغذ بیارم، تا بهتر تحلیل بشه. مرحله اول ما پازل آغازین معمای 8 رو با 4 تا فرزند داریم: http://img3.tinypic.info/files/00ml6gx5njou62zhk6jd.jpg حالا از کجا باید بدونیم که برای انتخاب در سطح 3 چه گره ای را انتخاب کنیم؟ اگر قرار باشه فرزندای این 4 تا هم مشخص بشن که احتیاجی به این کار نیست، این فرزندان رو داریم: http://img3.tinypic.info/files/dcx72v0cbixs24w5z2d2.jpg اون 2 تایی که با ضربدر سبز مشخص کردم در واقع میتونن نباشن. من تحلیل معمای 8 با A-Star را برای پروژه هوش واقعا نیاز دارم، امیدوارم برای یادگیریش کمکم کنید. |
چرا کسی این شبه کد رو برای من توضیح نمیده؟
شما که همتون متخصصیت دوستان. گاهی، نگاهی، ثوابی ... |
سلام قبل هر چیز ببخش که یکم دیر شد.
ما در ابتدا باید یک تابع اکتشافی خوب برای مسئله پیدا کنیم. مقدار تابع برابر است با مجموع فاصله های افقی و عمودی هر عدد با مکان اصلی آن که همان هدف است. مثلا در مثالی که خودتون انتخاب کردید همان حالت آغازین را در نظر بگیرید، فاصله عدد 8 با مکان اصلی خودش 3 است.ی2 حرکت افقی و یکی عمودی و اگر برای تک تک اعداد آن این مقادیر را بدست آوریم حاصل تابع برای این حالت برابر است با: 1+1+3+3+2+0+1+1+2=14 این مقدار، مقدار تابع h است. مقدار تابع g را هم به این صورت می توان بدست آورد ولی برای محاسبه آن باید فاصله هر حالت با حالت آغازی بدست آوریم و برای هر حالت f=g+h را بدست می آوریم برای هر نود که کمتر بود آن را بست می دهیم.مثلا برای حالت اول که بست دادی : f(1)=2+12=14 f(2)=2+16=18 f(3)=2+14=16 f(4)=2+14=16 پس حالا بهتر است ابتدا نود شماره 1 را بسط دهیم 3 یا 4 را هم ذخیره داشته باشیم شاید بعدا از طریق آنها به جواب بهتر برسیمپیاده سازیش را هم با# C در سایت قرار دادم بازم اگه سوالی بود ما هستیم. با آرزوی موفقیت |
مرسی مارین جان.
h رو متوجه شدم، ولی g رو نه! یعنی 12 و 16 و 14 را که برای جمع با 2 استفاده کردی از کجا اومده؟ و اصلا خوده 2 ها را از کجا آوردین؟ ببخشید من یه کم زیاد آیکیوم پایینه:دی در مورد پیاده سازیش هم من پست شما رو دیدم، داشته بودمش قبلا، ولی من نمیخوام حاضر و آماده تحویل استاد بدم، باید بفهممش. شبه کد رو بفهمم خوده برنامه رو مطمئنا میتونم بنویسم. گیره من سره اونه. بعد اینکه استاد ما علاوه بر نوشتن برنامه، میخواد تحلیل رو به صورت شکل روی کاغذ هم پیاده سازی کنیم. |
1(ها)ضميمه
در این فایل word براتون نوضییح دادم انشالله که این دفعه قابل فهم تر باشه
|
ماردین جان قربون دستت..:53:
الهی که خیر از زندگیت ببینی جوون، نمیدونید چقدر خوشحالم که الآن با خیال راحت کامل و درست با مقادیر h و g به جواب رسوندمش. از گرافش خیالم راحت شد.:o |
چطوریه که من هنوز کامل نمیفهمم اون شبه کد چیکار میکنه؟:(
|
اهــــــم...
باور کنید اگر بلد بودم سوال نمیپرسیدم! |
این شبه کد همونجوری که از اسمش پیداشست شبه کده یعنی به هیچ زبان خاصی نیست
یه جور الگوریتم نویسی به زبان سادست که از روی او میتونید برنامشو پیاده سازی کنید. foreach y in neighbor_nodes(x) if y in closedset continue مثلا توی این کد برای هر کدوم از فرزندان یه بار اجرا میشه و شرطش اینه که این حالت قبلا وجود نداشته باشه یعنی 2 باره کاری نشه میشه گفت این یه جور زبان برای پیاده سازی الگوریتم هست شاید خودتون هم روی کاغذ تو برنامه نویسی این کار رو کرده باشید ---------------------------------------- چیزایی که میگم زاییده ذهن منه ممکنه اشتباه باشه . باز اساتید هستند میتونن بیشتر راهنمایی کنند |
سلام دوست عزیز
شما که گفتید همشو فهمیدید به خاطر همین ما هم بی خیال شدیم شما که روش جستجوی A-star رو فهمیدید و حتی گفتید که برای Puzzel 8 ، چک کردید. خوب این کدها هم الگوریتم A-star رو با یک شبه کد بیان کرده، دقیقا همون کاری که خودتون انجام دادید. اگر هم در خط خاصی از شبه کدها مشکل دارید بیان کنید تا جوابتان را بدهیم. دلیل تاخیر جوابمان هم به خاطر نزدیک شدن امتحاناته:3: |
نقل قول:
من شبه کد اصولا توی امتحان طراحی الگوریتم زیاد به کارم میخورد که بنویسم، مثلا به جای توضیح فارسی یه چیزی، بنابراین با این شیوه نوشتاری آشنایی دارم:3: اما نمیدونم دلیل اینکه متوجه نمیشم این رو چی هست، شاید چون زبانم خیلی خوب نیست، و شاید هم چون شبه کد هست، به هر صورت از توضیحتون واقعا ممنونم، ولی من اساسی واقعا مشکل دارمش! نقل قول:
شما لطف دارید اما منظور من این بود که تحلیل رو کامل متوجه شدم، من برای پروژم با کمک شما تونستم 7 صفحه در مورد پازل 8 و روشهای حل اون با a* توضیح بنویسم و شکل بکشم که تقریبا تموم شد. اما شبه کد رو واقعا متوجه نمیشم! برای اینکه بتونم شبه کد و برنامه اصلی را به پروژم اضافه کنم باید بفهمم شبه کد چی گفته! واقعا معذرت میخوام توی این گیرودار امتحانات مزاحمتون میشم، باور کنید من خودم هم هوش اولین امتحانمه که هفته دیگه دارمش و باید این رو هم تحویل بدم با دفاعیه:109: |
1(ها)ضميمه
سلام
کدها رو خط به خط براتون تو این فایل word توضیح دادم نگاه کنید اگر باز هم سوالی بود ما هستیم;) |
سلـــــامم... وای وای چقدر کامل.:36:
واقعا دیگه موندم چطوری بگم که خیلی بزرگوارید. کمک خیلی خیلی بزرگی به من کردید ماردین عزیز.:53: خیر از جوونی و پیری و کلا از زندگی ببینید که واقعا آخرشید.:41: خیلی خوب توضیح دادید، کامل متوجه شدم، الآن دیگه با خیال راحت به پروژم اضافه میکنمش.:67: |
با شلام و خسته نباشید .... از دوستان خواهش میکنم اگه الگوریتم* a رو برای نقشه رومانی پیاده سازی کردند بزارن تو سایت واسه دانلود ... شدیدا نیاز دارم ... با تشکر
|
سلام
کسی هست یه فایل حاوی تعریف کلی، نحوه ی عملکر، مزایا و معایب الگوریتم A* رو داشته باشه؟؟؟ اگر کسی هست ممنون میشم برام ایمیل کنه... zahra_hazbavi@yahoo.com |
salam
hala k shoma tounestid algorithme a* ro motevajeh beshid mishe filesho baram befrestid mamnun misham ... |
میشه اینو بزارید واسه دانلود من نیاز دارم تو رو خدا.اگه میشه بفرستید به ایمیلم .farhad.rad1377@gmail.com
|
زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۹:۲۳ بعد از ظهر ميباشد. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.