موضوع مقاله: زمان‌بندی و برنامه‌ریزی خودکار | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # زمان‌بندی و برنامه‌ریزی خودکار | مقدمه: زمان‌بندی و برنامه‌ریزی خودکار ، یا به زبان ساده‌تر برنامه‌ریزی هوشمند، شاخه ای از هوش مصنوعی است که در آن به تحقق راهبردها یا دنباله اعمالی پرداخته می‌شود که به‌طور معمول توسط عامل های هوشمند، ربات های خودمختار، و وسایل نقلیه بدون سرنشین (Unmanned Vehicles) اجرا می‌شوند. | ## بخش 1: زمان‌بندی و برنامه‌ریزی خودکار | برخلاف مسایل کلاسیک کنترل و طبقه بندی، راه حل‌ها پیچیده‌اند و باید در فضای چندبعدی کشف و بهینه‌سازی شوند. در محیط‌های شناخته شده با مدل‌های موجود، برنامه‌ریزی به صورت آفلاین قابل انجام است. راه حل‌ها معمولاً متوسل به روندهای تکراری آزمون و خطا می‌شوند، که به‌طور معمول در هوش مصنوعی استفاده می‌شوند. این روندها شامل برنامه‌نویسی پویا، یادگیری تقویتی و بهینه‌سازی ترکیبیاتی می‌باشند. نمای کلی با داشتن توصیفی از حالت‌های اولیه ممکن از محیط، اهداف دلخواه، و مجموعه ای از اعمال ممکن، مسئلهٔ برنامه‌ریزی عبارت است از ترکیب برنامه ای که (در صورت اجرا روی هر کدام از حالات اولیه) تضمین کننده تولید حالتی است که حاوی اهداف خواسته شده باشد (به چنین حالتی، حالت هدف گفته می‌شود). بسته به خواص مسایل مختلف در ابعاد متفاوت، چندین دسته از مسایل برنامه‌ریزی را می‌توان تعریف کرد. آیا چندین عمل به‌طور همزمان قابل انجامند، یا تنها انجام یک عمل در هر گام امکان‌پذیر می‌باشد؟ آیا هدف یک برنامه رسیدن به یک حالت هدف تعیین شده‌است، یا به حداکثر رساندن یک تابع پاداش؟ آیا هر عامل برنامه‌هایش را جداگانه می‌سازد، یا این برنامه‌ها به‌طور متمرکز برای همهٔ عامل‌ها ساخته می‌شود؟ ساده‌ترین مسئلهٔ برنامه‌ریزی، که تحت عنوان مسئلهٔ برنامه‌ریزی کلاسیک شناخته می‌شود، به صورت زیر مشخص می‌شود: یک حالت اولیهٔ یکتای معلوم اعمال بدون زمان اعمال قطعی که هر بار در یک زمان خاص فقط یک عمل می‌تواند انجام گیرد و یک عامل. از آن جا که حالت اولیه بدون ابهام مشخص است، و همه اعمال قطعی می‌باشند، حالت محیط بعد از هر دنباله دلخواه از اعمال، به دقت قابل پیشگویی است، و پرسش قابل مشاهده بودن برای برنامه‌ریزی کلاسیک غیرضروری است. علاوه بر این، برنامه‌ها را می‌توان به عنوان دنباله ای از اعمال تعریف کرد، زیرا همواره، اعمال مورد نیاز از ابتدا مشخص می‌باشد. | ## بخش 2: زمان‌بندی و برنامه‌ریزی خودکار | اگر اعمال غیرقطعی باشند یا عامل‌های دیگری خارج از کنترل عامل وجود داشته باشند، حالات اجرایی ممکن تشکیل درخت می‌دهند، و برنامه‌های اجرایی باید برای هر گره در درخت اعمال مناسب را تعیین کنند. فرایندهای تصمیم‌گیری مارکوف گسسته، مسایل برنامه‌ریزی هستند که شامل موارد زیر می‌باشند: اعمال بدون زمان اعمال غیرقطعی با احتمالات قابلیت مشاهده به‌طور کامل به حداکثر رساندن یک تابع پاداش و یک عامل. برنامه‌ریزی مستقل از دامنه در برنامه‌ریزی هوش مصنوعی، برنامه‌ریزها به‌طور معمول یک مدل دامنه (توصیفیست از مجموعه ای از اعمال ممکن، که دامنه را مدل‌سازی می‌کنند)، و هم چنین صورت مسئله دقیق مورد حل را وارد می‌کنند، که این صورت مسئله توسط حالت اولیه و هدف مشخص می‌شود، برخلاف مسایلی که در آن‌ها هیچ دامنهٔ ورودی مشخص نمی‌شود. چنین برنامه‌ریزهایی، به نشانهٔ تأکید روی توانایی حل مسایل برنامه‌ریزی آن‌ها در دامنه‌های متعدد به‌طور گسترده، برنامه‌ریزهای مستقل از ورودی نامیده می‌شوند. برنامه‌ریزی زبان‌های مدل‌سازی دامنه رایج‌ترین زبان‌های مورد استفاده برای نمایش دامنه‌های برنامه‌ریزی و مسایل خاص این حوزه، مانند STRIPS و PDDL، برای برنامه‌ریزی کلاسیک، به متغیرهای حالت وابسته اند. هر حالت ممکن برای محیط، یعنی تخصیص مقادیر به متغیرهای حالت، و اعمال موجود، چگونگی تغییر مقادیر متغیرهای حالت را به هنگام انجام آن عمل نشان می‌دهند. این روند لزوماً شامل متغیرهای حالت نیست، هرچند وجود آن‌ها در کاربردهای واقع گرایانه تر، توصیف شبکه‌های وظایف را ساده‌تر می‌کند. هردو اساساً از مسایل پیمایش فضای حالت می‌باشند، و مسئله برنامه‌ریزی کلاسیک متناظر با زیرکلاسی از مسایل وارسی مدل است. تنها تفاوت آن‌ها در این است که در این نوع برنامه‌ریزی، احتمال انجام چندین عمل زمان دار، که با یکدیگر هم پوشانی دارند، به‌طور همزمان وجود دارد؛ بنابراین، تعریف یک حالت باید شامل اطلاعاتی دربارهٔ زمان مطلق کنونی و میزان پیشرفت هر عمل فعال در زمان حال باشد. علاوه براین، در برنامه‌ریزی با زمان حال یا گویا، برخلاف برنامه‌ریزی کلاسیک یا با زمان صحیح، فضای حالت ممکن است نامتناهی باشد. درصورت جزئی بودن مشاهده پذیری، برنامه‌ریزی احتمالاتی را می‌توان به‌طور مشابه با روش‌های تکراری حل کرد، اما به جای استفاده از حالت‌ها، بایستی از یک نمایش از توابع مقدار تعریف شده برای فضای باورها بهره گرفت. یکی از تفاوت‌های این نوع برنامه‌ریزی با سایر انواع آن‌ها همانند فرایندهای تصمیم‌گیری مارکوف، که مبتنی بر پاداشند، این است که ترجیحات موجود لزوماً دارای مقدار عددی دقیق نمی‌باشند. | ## بخش 3: زمان‌بندی و برنامه‌ریزی خودکار | اسامی اعمال در یک دنباله، مرتب شده می باشند و این برنامه ی موجود برای ربات می باشد. ایراد این مساله در آن است که یک درخت رفتار نرمال به اندازه ی برنامه های کامپیوتری معنادار نیست. به عبارت دیگر، نمادگذاری گراف رفتار شامل دستورات انجام عمل می باشد، ولی حاوی مفاهیمی مانند حلقه (Loop) و یا عبارات شرطی if-then نمی باشد. بدین معنا که برنامه می تواند به سیگنال های سنسوری که برای برنامه ریز ناشناخته است، عکس العمل نشان دهد. برای نمونه، اگر یک شی فرضی شناسایی شود، برنامه ی A را اجرا می کند، و در صورت عدم شناسایی آن، برنامه ی B اجرا می شود . عامل مجبور به برنامه ریزی همه موارد از ابتدا تا انتها نمی باشد، بلکه می تواند مساله را به بخش های کوچک تر تقسیم کند. در برنامه ریزی تصادفی، برنامه ی موجود به صورت درخت تصمیم تعریف می شود، نه به صورت دنباله ای از اعمال، زیرا، برخلاف برنامه ریزی کلاسیک که در آن هر گام از برنامه توسط یک حالت قابل مشاهده ی کامل نمایش داده می شود، در برنامه ریزی تصادفی برنامه توسط مجموعه ای از حالات قابل نمایش است . برای مثال، اگر باران ببارد، عامل به همراه بردن چتر را انتخاب می کند، و اگر این اتفاق نیفتد، ممکن است چتر را انتخاب نکند. در این نوع برنامه ریزی، عامل باورهایی درباره محیط واقعی دارد، اما به عنوان مثال، قادر به تایید صحت این باورها با اعمال حسی خود نیست. این دسته از مسایل راه حل هایی مشابه برنامه ریزی کلاسیک دارند ، با این تفاوت که فضای حالت، به دلیل عدم قطعیت حالت فعلی، دارای اندازه ای با توان نمایی می باشد. | ## جمع‌بندی | گسترش سیستم‌های برنامه‌ریزی تلسکوپ فضایی هابل از یک سیستم کوتاه مدت به نام SPSS و بلندمدت به نام Spike استفاده می‌کند.