فصل نهم برنامهریزی
- بهدست: Admingfars
- دستهبندی: اخبار ایران تکنولوژی
فصل نهم
برنامهریزی
- فصل اول هوش مصنوعی Artificial Intelligence
- فصل دوم عامل های هوشمند
- فصل سوم حل مسائل توسط جستجو
- فصل چهارم روشهای جستجو آگاهانه
- فصل 5 تئوری بازی
- فصل ششم عاملهاییکه به طور منطقی استدلال میکنند
- فصل هفتم منطق مرتبه اول
- فصل هشتم استنتاج در منطق مرتبه اول
- فصل نهم برنامهریزی
- فصل دهم عدم قطعیت
تفاوت عامل برنامهریزی با عامل حل مسئله در سه چیز است:
بازنمایی اهداف، حالات و عملیات
استفاده از بازنماییهای منطقی و صریح برنامهریز را قادر میسازد تا سنجش عامل را معقولانه هدایت کند.
عامل برنامهریزی همچنین در روش بازنمایی و جستجو برای راهحلها نیز تفاوت دارد.
یک عامل ساده برنامهریزی:
زمانی که حالت دنیا قابل دسترسی است، عامل میتواند از ادراکات تولید شده توسط محیط استفاده کرده و مدل کامل و صحیحی از حالت دنیای جاری بسازد. سپس، با داشتن هدف، میتواند الگوریتم برنامهریزی مناسبی را برای تولید برنامه عمل فراخوانی کند. عامل سپس میتواند در طی مراحل برنامه، هر لحظه یک عمل را اجرا کند.
عامل با محیط از طریق یک روش حداقل در عمل است و از ادراکاتش برای شرح حالت اولیه استفاده میکند و از این رو هدف اولیه را دنبال میکند؛ اما به سادگی توانسته مراحل برنامه را تشکیل بدهد.
از حل مسئله به برنامهریزی:
برنامهریزی و حل مسئله موضعات متفاوتی هستند زیرا در بازنمایی اهداف و حالات و عملیات و هم چنین بازنمایی ساختار دنبالههای عملیاتی متفاوت عمل میکنند.
عناصر اولیه یک حل مسئله مبتنی بر جستجو:
- بازنمایی عملیات.
- بازنمایی حالات.
- بازنمایی اهداف.
- بازنمایی برنامهها.
بازنمایی عملیات:
عملیات توسط برنامههایی که شرح حالت مابعد را تولید میکنند، تعریف میشود.
بازنمایی حالات:
در حل مسئله، شرح کامل حالت اولیه داده شده است و عملیات توسط برنامهای که شرح کامل حالت را تولید میکنند، بازنمایی میشوند.
بنابراین:
تمام بازنماییهای حالت، کامل هستند.
بازنمایی اهداف:
تنها دانشی که عامل در مورد هدف در اختیار دارد، تست هدف و تابع کشفکننده است. هر دو اینها بر روی حالتها اعمال میشوند تا مطلوبیت آنها مورد ارزیابی قرار گیرد.
بازنمایی برنامهها:
در حل مسئله یک راهحل دنبالهای از عملیات است. در طول تشکیل راهحلها، الگوریتمهای جستجو فقط دنبالههای پیوسته عملیات را که از حالت اولیه آغاز میشوند (یا در مورد جستجوی دوطرفه، خاتمه دادن به حالت هدف) در نظر میگیرند.
حال ببینیم چطور این تصمیمات بر روی قابلیت عامل تأثیر میگذارند، تا مسئله ساده زیر را حل کنند:
«یک لیتر شیر و یک خوشه موز و یک مته چندسرعته را بخر.»
حالت اولیه: عامل در خانه است اما بدون هیچ یک از اشیاء موردنظر.
عملگر: تمام کارهایی که عامل قادر به انجام آن است.
تابع کشفکننده: تعداد چیزهایی که هنوز به دست آورده نشدهاند.
اولین ایده کلیدی در ورای برنامهریزی:
«بسط دادن» بازنمایی حالات، اهداف و عملیات است. الگوریتمهای برنامهریزی از تعاریفی به زبانهای رسمی استفاده میکنند که معمولاً منطق مرتبه اول و یا زیرمجموعهای از آن است.
حالات و اهداف توسط مجموعههایی از جملات بازنمایی میشوند و عملیات توسط شرح پیششرطها و تأثیرات منطقی بازنمایی میشوند که برنامهریزی را قادر میسازد تا ارتباطات بین حالات و عملیات را هدایت کند.
دومین ایده کلیدی در ورای برنامهریزی:
این است که برنامهریز آزاد است تا عملیات را به برنامه هر زمان که لازم باشد، اضافه کند. هرچند که دنباله افزایشی در حالت اولیه وجود داشته باشد.
هیچ الزامی بر وجود ارتباط بین مرتبه برنامه ریزی و مرتبه اجرا نیست. با ساختن تصمیمات «مشخص» و «مهم» در ابتدا، برنامهریزی میتواند فاکتور انشعاب را برای انتخابهای بعدی و نیاز به پیجویی به عقب را برای تصمیمات اختیاری کاهش دهد.
سومین ایده کلیدی در ورای برنامهریزی:
این است که بیشتر بخشهای دنیا مستقل از دیگر بخشها هستند.و این امر داشتن یک هدف عطفی را ممکن میسازد و میتوان آن را با یک استراتژی تقسیم و غلبه حل نمود.
الگوریتمهای تقسیم و غلبه مؤثر هستند؛ زیرا تقریباً همیشه حل چندین زیرمسئله کوچک آسانتر از یک مسئله بزرگ است. بهر حال تقسیم و غلبه در مواردی که هزینه ترکیب راهحلهای زیرمسائل زیاد باشد، با شکست مواجه میشود. بسیاری از معماها دارای این خاصیت هستند.
دلیل اینکه معماها «گولزننده» هستند، این است که قرار دادن زیربرنامهها کنار هم کار دشواری است.
بدون دیدگاه