PDA

View Full Version : سوال: راهنمایی برای نوشتن برنامه مسیریابی بر اساس الگوریتم Lee



gf_123
جمعه 24 دی 1389, 17:46 عصر
سلام
من ميخوام يه برنامه مسير يابي (در واقع روند كار الگوريتمLee)رو بنويسم روند كار به اين صورته كه در يك فضاي n*n يه سري خونه داريم یک نقطه مبداء، یک نقطه مقصد و چندین مانع وجود دارند و همانطوریکه گفته شد هدف یافتن مسیر بهینه (کوتاهترین مسیر) بین آن دو نقطه (مبداء و مقصد) است . و هر خانه براساس وضعيت همسايه هاي بالايي و پاييني و چپي و راستيش تغيير وضعيت ميده و كلا 15 حالت داريم در شروع خونه مبدا و مقصد بصورت رندوم يكي از خونه ها زو ميگيرند و بقيه خانه ها يا وضعيت آمادند يا مانع هستند.
از 15 حالات 4 حالت درواقع یک فلش به سمت چهار جهت اصلی است در مرحله اول همسايه ههاي خانه مبدا تغيير وضعيت ميدن يعني هر سلول بررسی می کند تا ببیند آیا در همسایگی اش، سلول جهت داری (و یا سلول مبداء) وجود دارد که قبلا جهت دار شده باشد. اگر سلول را یافت، خود سلول به سوی آن سلول همسایه ، فلش گذاری می شود. (در واقع يكي از اعداد(5-8)را ميگيرند(البته نبصورت رندوم بلكه مثلا همسايه چپي مبدا وضعيت8 رو براي مثال ميگيره ) از اينجا به بعد اين روند شروع ميشه كه هر گره طبق وضعيت همسايه بالايي و پاييني و چپي و راستي وضعيت جديد ميگيره تا به مقصد برسند مرحله اول زمانی به انتها می رسد که که یکی از سلولهای همسایه نقطه مقصد جهت دار شده باشد. بعد مقصد از وضعيت اوليه خودش به وضعيت جديد تغيير ميكنه وحالا مسير برگشت ساخته ميشه
مرحله دوم ساختن مسیر بصورت عقبگرد از نقطه مبداء به سمت مقصد در جهت علامت فلش ها است. روش کار به این صورت است که اگر یک سلول جهت دار بود و همسایه ای در جهت این سلول داشت و یکی از همسایگانش مسیری در جهت این سلول بود، آنگاه این سلول مسیری در جهت فلش خود می گردد. وطبق وضعيت جديد اون به يكي ديگه از حالات ( كه من بهشون خالات مسير ميگم) تغيير ميكنن اين روند ادامه پيداميكنه تا به مبدا ميرسن والگوریتم زمانی پایان می پذیرد که سلول مبداء یکی از همسایگانش را جزئی از مسیر بیابد.سپس مبدا وضعيت جديد هدف را ميگيرد ( تمام خونه هايي كه خالت مسير شدند در واقع بيانگر كوتاهترين مسير ما تا مقصد هستند)

حالا من هر كدوم از حالات رو يه شماره در نظر گرفتم مثلا (صفر): وضعیت مانع
1: وضعیت آماده (حالت اولیه تمام خونها بجز مبدأ و مقصد)
2:وضعیت گره مقصد در لحظه شروع)و....
بعد فكر كردم اگه با رنگ خونه ها يا در واقع حالات رو نشون بدم بهتره

ولي الان اصلا نميدونم از اول اول بايد چي كار كنم ؟
ممنون ميشم كمك كنيد

amin1softco
شنبه 25 دی 1389, 20:34 عصر
ببین همچین کاری می خوای انجام بدی :
http://cadapplets.lafayette.edu/MazeRouter.html
جاوا باید نصب باشه
این دایکیومنتش
http://www.oop.rwth-aachen.de/documents/oop-2007/sss-oop-2007.pdf