Artificial Intelligence - هوش مصنوعی  
انجمن را در گوگل محبوب کنيد :

بازگشت   Artificial Intelligence - هوش مصنوعی > مقدمات هوش مصنوعی > هوش مصنوعی چیست؟


 
تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
ارسال تاپيک جديد  پاسخ
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۱۰-۵-۱۳۸۸, ۰۵:۵۰ بعد از ظهر   #1 (لینک دائم)
عضو فعال
 
آواتار Di4mond_65
 
تاريخ عضويت: آبان ۱۳۸۸
محل سكونت: Center of Iran
پست ها: 11
تشكرها: 53
9 تشكر در 9 پست
Question A-star چیست و چگونه کار میکند؟

سلام..
خسته نباشید دوستان.

من با اینکه در مورد چگونگی عملکرد A-star مطالعه هم کردم، اما هنوز برام جا افتاده نیست.
مطلبی هنوز ازش توی نت پیدا نکردم، ممنون میشم توضیحش بدید.
Di4mond_65 آفلاين است   پاسخ با نقل قول

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online  
قديمي ۱۰-۵-۱۳۸۸, ۰۷:۴۵ بعد از ظهر   #2 (لینک دائم)
Super Moderator
 
آواتار pasmod
 
تاريخ عضويت: آذر ۱۳۸۸
محل سكونت: آلمان
پست ها: 101
تشكرها: 59
221 تشكر در 66 پست
My Mood: Khonsard
ارسال پيغام Yahoo به pasmod
پيش فرض

قکر می کنم بهترین راه برای درک خوب الگوریتم های جستجو، استفاده کردن از اپلت های جاوا باشه.

مثلا مو تونی عبارت هایی مثل A Star Algorithm Applet رو جستجو کنی.

اگر هم نشد که دقیقا بگو که کجای الگوریتم رو متوجه نمی شی.

موفق باشی.
__________________
https://www.facebook.com/Pashutan.M
pasmod آفلاين است   پاسخ با نقل قول
از pasmod تشكر كرده است:
Di4mond_65 (۱۰-۷-۱۳۸۸)
قديمي ۱۰-۱۰-۱۳۸۸, ۱۲:۱۲ قبل از ظهر   #3 (لینک دائم)
عضو فعال
 
آواتار Di4mond_65
 
تاريخ عضويت: آبان ۱۳۸۸
محل سكونت: Center of Iran
پست ها: 11
تشكرها: 53
9 تشكر در 9 پست
پيش فرض

سلام دوستان.

من یه شبه کد پیدا کردم در مورد حل معمای 8 (پازل 8) با استفاده از روش A-Star.

ولی برام نامفهومه، خوده تعریف a-star رو متوجه شدم، ولی اونطور که باید برام جا افتاده نیست که بتونم این شبه کد رو خوب متوجه بشم.
اگر برام توضیح بدید این شبه کد رو واقعا یک دنیا ممنون میشم، مخصوصا قسمتهای بلد شده.

كد:
function A*(start,goal) closedset := the empty set % The set of nodes already evaluated. openset := set containing the initial node % The set of tentative nodes to be evaluated. g_score[start] := 0 % Distance from start along optimal path. h_score[start] := heuristic_estimate_of_distance(start, goal) f_score[start] := h_score[start] % Estimate d total distance from start to goal through y. while openset is not empty x := the node in openset having the lowest f_score[] value if x = goal return reconstruct_path(came_from,goal) remove x from openset add x to closedset foreach y in neighbor_nodes(x) if y in closedset continue tentative_g_score := g_score[x] + dist_between(x,y) if y not in openset add y to openset tentative_is_better := true elseif tentative_g_score < g_score[y] tentative_is_better := true else tentative_is_better := false if tentative_is_better = true came_from[y] := x g_score[y] := tentative_g_score h_score[y] := heuristic_estimate_of_distance(y, goal) f_score[y] := g_score[y] + h_score[y] return failure function reconstruct_path(came_from,current_node) if came_from[current_node] is set p = reconstruct_path(came_from,came_from[current_node]) return (p + current_node) else return the empty path
سپاسگذارم.{گل}

ويرايش شده توسط Di4mond_65; ۱۰-۱۲-۱۳۸۸ در ساعت ۱۲:۳۰ قبل از ظهر دليل: Correct
Di4mond_65 آفلاين است   پاسخ با نقل قول
قديمي ۱۰-۱۰-۱۳۸۸, ۱۲:۴۲ قبل از ظهر   #4 (لینک دائم)
Administrator
 
آواتار mardin200
 
تاريخ عضويت: آذر ۱۳۸۸
محل سكونت: تهران
پست ها: 309
تشكرها: 120
1,748 تشكر در 263 پست
My Mood: Mehrabon
Wink

دوست عزیز شما اول باید مشخص کنید که می خواید این روش را یاد بگیرید یا اینکه یاد گرفتید و می خواید پیاده سازی کنید.
اگر می خواید خوب یاد بگیرید همون مثال فاصله شهر ها در کتاب راسل را مرحله به مرحله دنبال کنید قطعا خواهید فهمید که روش کار به چه شکلی است.
اگر مثال را متوجه شدید فهمیدن کدها خیلی ساده خواهد بود و به هر زبانی که بخواهید می توانید پیاده سازی کنید.
اگر باز هم سوالی بود در جزئیات آن می توانید بپرسید
mardin200 آفلاين است   پاسخ با نقل قول
از mardin200 تشكر كرده اند:
Di4mond_65 (۱۰-۱۰-۱۳۸۸), tarfand (۰۸-۱۷-۱۳۹۱)
قديمي ۱۰-۱۱-۱۳۸۸, ۰۳:۴۷ بعد از ظهر   #5 (لینک دائم)
عضو فعال
 
آواتار Di4mond_65
 
تاريخ عضويت: آبان ۱۳۸۸
محل سكونت: Center of Iran
پست ها: 11
تشكرها: 53
9 تشكر در 9 پست
پيش فرض

mardin200 عزیز، من به حرف شما گوش کردم و یکبار دیگه مطالب مربوط به A-star از راسل رو خوندم.
ببینید چیز کلی که من از این نوع جستجو بدست آوردم، اینه که A-star کم هزینه ترین مسیر را انتخاب میکنه تا به هدف برسه.
g(n) هزینه رسیدن به گره ای هست که هر بار از بین همسایه ها (فرزندان) انتخاب میشه.
h(n) هم هزینه رسیدن از گره ای که انتخاب کردیم تا هدف هست. درست؟
حالا f(n) ما، یعنی کل ارزش مسیرمون، جمع دو تا تابع بالایی هست.

من قبل از اینکه سوالم رو بپرسم یه معذرت خواهی بابت پست قبلیم بدهکارم، من اونجا مشخص نکرده بودم که شبه کدی که گذاشتم، مربوط به "حل معمای 8 (پازل هشت) توسط A-star هست."
الآن ادیتش میکنم.


خب با این اوصاف، مشکل من اینه که نمیدونم چطور باید در درخت معمای 8 هزینه ها رو پیدا کنم؟
اصلا فکر کنم بهتره اول هر گامش رو به صورت شکل، روی کاغذ بیارم، تا بهتر تحلیل بشه.

مرحله اول ما پازل آغازین معمای 8 رو با 4 تا فرزند داریم:



حالا از کجا باید بدونیم که برای انتخاب در سطح 3 چه گره ای را انتخاب کنیم؟


اگر قرار باشه فرزندای این 4 تا هم مشخص بشن که احتیاجی به این کار نیست، این فرزندان رو داریم:



اون 2 تایی که با ضربدر سبز مشخص کردم در واقع میتونن نباشن.


من تحلیل معمای 8 با A-Star را برای پروژه هوش واقعا نیاز دارم، امیدوارم برای یادگیریش کمکم کنید.

ويرايش شده توسط Di4mond_65; ۱۰-۱۲-۱۳۸۸ در ساعت ۱۲:۳۰ قبل از ظهر
Di4mond_65 آفلاين است   پاسخ با نقل قول
از Di4mond_65 تشكر كرده است:
Astaraki (۱۰-۱۱-۱۳۸۸)
قديمي ۱۰-۱۲-۱۳۸۸, ۰۶:۱۲ بعد از ظهر   #6 (لینک دائم)
Administrator
 
آواتار mardin200
 
تاريخ عضويت: آذر ۱۳۸۸
محل سكونت: تهران
پست ها: 309
تشكرها: 120
1,748 تشكر در 263 پست
My Mood: Mehrabon
Wink

سلام قبل هر چیز ببخش که یکم دیر شد.
ما در ابتدا باید یک تابع اکتشافی خوب برای مسئله پیدا کنیم.
مقدار تابع برابر است با مجموع فاصله های افقی و عمودی هر عدد با مکان اصلی آن که همان هدف است.
مثلا در مثالی که خودتون انتخاب کردید همان حالت آغازین را در نظر بگیرید، فاصله عدد 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 در سایت قرار دادم
بازم اگه سوالی بود ما هستیم.
با آرزوی موفقیت
mardin200 آفلاين است   پاسخ با نقل قول
از mardin200 تشكر كرده اند:
Astaraki (۱۰-۱۲-۱۳۸۸), Di4mond_65 (۱۰-۱۲-۱۳۸۸), tarfand (۰۸-۱۷-۱۳۹۱)
قديمي ۱۰-۱۲-۱۳۸۸, ۰۵:۵۵ بعد از ظهر   #7 (لینک دائم)
عضو فعال
 
آواتار Di4mond_65
 
تاريخ عضويت: آبان ۱۳۸۸
محل سكونت: Center of Iran
پست ها: 11
تشكرها: 53
9 تشكر در 9 پست
پيش فرض

چرا کسی این شبه کد رو برای من توضیح نمیده؟
شما که همتون متخصصیت دوستان.

گاهی، نگاهی، ثوابی ...
Di4mond_65 آفلاين است   پاسخ با نقل قول
قديمي ۱۰-۱۲-۱۳۸۸, ۰۶:۵۶ بعد از ظهر   #8 (لینک دائم)
عضو فعال
 
آواتار Di4mond_65
 
تاريخ عضويت: آبان ۱۳۸۸
محل سكونت: Center of Iran
پست ها: 11
تشكرها: 53
9 تشكر در 9 پست
پيش فرض

مرسی مارین جان.
h رو متوجه شدم، ولی g رو نه!
یعنی 12 و 16 و 14 را که برای جمع با 2 استفاده کردی از کجا اومده؟
و اصلا خوده 2 ها را از کجا آوردین؟

ببخشید من یه کم زیاد آیکیوم پایینه:دی

در مورد پیاده سازیش هم من پست شما رو دیدم، داشته بودمش قبلا، ولی من نمیخوام حاضر و آماده تحویل استاد بدم، باید بفهممش.
شبه کد رو بفهمم خوده برنامه رو مطمئنا میتونم بنویسم. گیره من سره اونه.

بعد اینکه استاد ما علاوه بر نوشتن برنامه، میخواد تحلیل رو به صورت شکل روی کاغذ هم پیاده سازی کنیم.
Di4mond_65 آفلاين است   پاسخ با نقل قول
از Di4mond_65 تشكر كرده است:
tarfand (۰۸-۱۷-۱۳۹۱)
قديمي ۱۰-۱۲-۱۳۸۸, ۰۷:۵۳ بعد از ظهر   #9 (لینک دائم)
Administrator
 
آواتار mardin200
 
تاريخ عضويت: آذر ۱۳۸۸
محل سكونت: تهران
پست ها: 309
تشكرها: 120
1,748 تشكر در 263 پست
My Mood: Mehrabon
Wink

در این فایل word براتون نوضییح دادم انشالله که این دفعه قابل فهم تر باشه
فايل ضميمه
نوع فايل: zip puzzle 8.zip (9.4 كيلو بايت, 376 نمايش)
mardin200 آفلاين است   پاسخ با نقل قول
از mardin200 تشكر كرده اند:
Astaraki (۱۰-۱۲-۱۳۸۸), Di4mond_65 (۱۰-۱۳-۱۳۸۸), mahshid_parsa (۰۶-۱۲-۱۳۸۹), raha2400 (۱۱-۱۱-۱۳۸۸)
قديمي ۱۰-۱۳-۱۳۸۸, ۰۹:۳۴ بعد از ظهر   #10 (لینک دائم)
عضو فعال
 
آواتار Di4mond_65
 
تاريخ عضويت: آبان ۱۳۸۸
محل سكونت: Center of Iran
پست ها: 11
تشكرها: 53
9 تشكر در 9 پست
Lightbulb

ماردین جان قربون دستت..
الهی که خیر از زندگیت ببینی جوون، نمیدونید چقدر خوشحالم که الآن با خیال راحت کامل و درست با مقادیر h و g به جواب رسوندمش.

از گرافش خیالم راحت شد.
Di4mond_65 آفلاين است   پاسخ با نقل قول
پاسخ

Tags
a-star



كاربران در حال ديدن تاپيک: 1 (0 عضو و 1 مهمان)
 
ابزارهاي تاپيک
نحوه نمايش

قوانين ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلکها فعال است
كد [IMG] فعال است
كدهاي HTML غير فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال




زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۱:۰۰ بعد از ظهر ميباشد.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

Teach and Learn at Hexib | Sponsored by www.Syavash.com and Product In Review

استفاده از مطالب انجمن در سایر سایت ها، تنها با ذکر انجمن هوش مصنوعي به عنوان منبع و لینک مستقیم به خود مطلب مجاز است

Inactive Reminders By Icora Web Design