پلانر

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

پلانر (به انگلیسی: Planner) (که با وجود اینکه مخفف نیست، به طور معمول در نشریات به صورت PLANNER دیده می‌شود) یک زبان برنامه نویسی است که توسط Carl Hewitt در MIT طراحی شده‌است و برای اولین بار در سال 1969 به چاپ رسید.در ابتدا، زیر مجموعه‌هایی مثل میکرو پلانر و پیکو پلانر پیاده سازی شدند و سپس کل زبان در Popler پیاده سازی شد.[۱] مشتقاتی مثل QA4, Conniver, QLISP و Ether (نگاه کنید به جامعه علمی Metaphor) در دهه 1970 ابزارهای مهمی در تحقیقات هوش مصنوعی بودند، که البته در تحولات اقتصادی مانند KEE و ART تاثیرگزار بودند.

رویکرد پروسه‌ای در مقابل رویکرد منطقی[ویرایش]

رویکرد پروسه‌ای و منطقی دو الگو مهم برای تولید سیستم معنایی نرم‌افزار بودند.رویکرد پروسه‌ای در Lisp [McCarthy et al. 1962] که درآن پروسه‌های بازگشتی بر روی ساختار لیست عمل می‌کردند پیاده شد. رویکرد منطقی نیز به روش اثبات یکنواخت حل قضیه resolution theorem provers [Robinson 1965] پیاده شد. بر اساس رویکرد منطقی، در ترکیب پروسه‌ای اطلاعات آن "تقلب" محسوب می‌شد [Green 1969].

پروسه تعبیه اطلاعات[ویرایش]

Planner برای اهداف پروسه تعبیه اطلاعات [Hewitt 1971] اختراع شد و ردی بود بر ترکیب پروسه‌ای اطلاعات [Robinson 1965] که در آن: همه چیز به فرم Clausal تبدیل می‌شد. تبدیل همه اطلاعات به فرم clausal form مشکل ساز بود برای اینکه ساختارهای زیرین اطلاعات را مهو می‌ساخت. سپس از ترکیب برای بدست آوردن استدلالی با اضافه کردن فرم Clausal به تناقص قضیه استفاده می‌کرد تا آن را اثبات کند. استفاده از ترکیب به عنوان تنها قانون استنتاج مشکل ساز بود به این دلیل که ساختار زیرین اثبات مهو می‌شد. همینطور استفاده از اثبات با تناقض نیز مشکل ساز بود زیرا مساله axiomatizations تمامی محدوده‌های اطلاعات متناقض در مساله می‌شدند. Planner یک گونه هیبریدی مابین الگوی پروسه‌ای و منطقی بود زیرا آن قدرت برنامه پذیری را با دلایل منطقی مخلوط کرده بود.Planner یک تفسیر جملات منطقی را برجسته ساخت که در آن مفهوم فرم (P implies Q) می‌تواند به فرمهای پروسه‌ای زیر ترجمه شوند:

  1. Forward chaining (antecedently):
  • If assert P, assert Q
    If assert not Q, assert not P
  1. Backward chaining (consequently)
  • If goal Q, goal P
    If goal not P, goal not Q

با احترام، سیستم طبیعی استنتاج منطقی در رشد Planner تاثیرگذار بود (به خصوص آن یکی که بوسیله Frederic Fitch [1952] درست شد)

پیاده سازی Micro-Planner[ویرایش]

یک زیر مجموعه به نام Micro-Planner توسط [Gerald Jay Sussman|Gerry Sussman]], Eugene Charniak و Terry Winograd [Sussman, Charniak, and Winograd 1971] پیاده سازی شد و در برنامه فهمیدن زبان طبیعی SHRDLU ی Winograd کار Eugene Charniak در مفهوم داستانی و کار Thorne McCarty در دلایل قانونی و دیگر پروژه‌ها استفاده شد. Micro-Planner یک هیجان زیاد در زمینه AI بوجود آورد و همچنین یک مباحثه و جدال بوجود آورد زیرا پیشنهاد جایگزینی برای روش منطقی کرد که یکی از روشهای پایه‌ای AI بود. در SRI Jeff Rulifson, Jan Derksen و Richard Waldinger QA4 را پیشرفت دادند که بر روی سازنده‌ها در Planner ساخته شده و یک مکانیسم متنی را معرفی کردند که خاصیت ماژولی را در پایگاه‌های داده به ارمغان می‌آورد. Earl Sacerdotiو Rene Reboh به پیشرفت QLISP و گسترش QA4 را در INTERLISP دست زدند و استدلالی برنامه ریز مانند embedded شده در یک زبان پروسه‌ای و توسعه یافته در محیط‌های برنامه نویسی ارائه کردند. QLISP توسط Richard Waldinger, Karl Levitt برای تصدیق برنامه استفاده شد و توسط Earl Sacerdoti برای برنامه ریزی و monitoring اجرا استفاده گشت و همچنین توسط Jean-Claude Latombe برای طراحی‌های به کمک کامپیوتر استفاده شد، توسط Richard Fikes بازیابی استقرایی و توسط Steven Coles برای سیستم خبره ابتدایی که در مدل‌های اقتصادی مورد کاربرد است استفاده شد. کامپیوترها گران بودند و آنها تنها یک پردازنه ضعیف و حافظه‌هایی کم حجم در مقایسه با حال در دسترس داشتنند و به همین دلیل Planner برخی بهبودها را مانند زیر اتخاذ کرد: ردیابی رو به عقب [Golomb, Baumert 1965] برای صرفه جویی در استفاده از زمان و حجم ذخیره شده اتخاذ شد و این کار را با کار روی ذخیره سازی تنها امکان در یک زمان انجام می‌داد. نام منحصر به فردی برای صرفه جویی در فضا و زمان فرض شد با فرض آن که نام‌های مختلف مراجعه کننده به اجسام مختلف هستند اتخاذ شد.برای مثال اسامی مثل Peking, Beijing فرض شد که به اشیاء متفاوتی اشاره می‌کنند. یک فرض جهان شمول را می‌توان با تست مشروط پیاده سازی کرد در حالی که تلاش برای اثبات یک هدف جامع شکست خورده‌است. بعدها این ظرفیت به اشتباه "نفی به عنوان شکست" خوانده شد زیرا برای هدف G این امکان موجود بود که گفته شود : "اگر تلاش برای اثبات G با شکست مواجه شد پس منفی G صحیح است.

کنترل اختلاف ساختار[ویرایش]

حافظه کامپیوترها نسبت به استانداردهای امروزی بسیار کوچک بود زیرا حافظه بسیار گران بود و در آن زمان از هیدرواکسید آهن ساخته می‌شد. به همین دلیل Planner استفاده معمول از ساختار کنترلی backtracking را اتخاذ کرد تا در استفاده از حافظه کامپیوتر صرفه جویی شود. به این روش کامپیوتر در هر زمان تنها یک امکان را در کاوش جایگزینی دنبال می‌کرد. یک پیاده سازی تصمیم گیری در Micro-Planner عواقب مایه تاسفی را در بر داشت. Lisp تصمیم گرفت که از جناس برنامه نویسی شناسایی صفر استفاده کند، یک لیست خالی با صفر منطقی (در مکان حافظه 0) زیرا تست کرد برای صفر از هرچیز دیگری سریع تر بود. بدلیل این جناس، تست کردن برای صفر در برنامه نویسی Lisp بسیار معمول بود. در Micro-Planner این جناس را تمدید دادند تا از صفر به عنوان یک سیگنال برای آغاز پس‌گرد (الگوریتم) استفاده کنند. در Micro-Planner معمول بود که برنامه‌هایی بنویسند تا عملیاتی روی تمامی اعضای یک لیست انجام دهد و این به وسیله یک حلقه انجام می‌شد که روی عنصر اول هر لیست پردازش می‌کرد و سپس به ابتدای حلقه بازمی‌گشت تا خالی بودن حلقه را آزمایش کند. اگر لیست خالی بود آنگاه برنامه کار خود را ادامه می‌داد با اجرا کردن چیزهای دیگر. چنین برنامه‌ای بعد از اجرای تمام پروسه‌ها هیچگاه لیست را خالی نمی‌یافت زیرا وقتی آخرین پروسه اجرا می‌شد و لیست ریست می‌شد صفر به عنوان یک مقدار بازگردانده می‌شد. مترجم Micro-Planner این را به عنوان سیگنالی برای آغاز Backtracking در نظر می‌گرفت و شروع به باز گرداندن تمام المان‌های پروسه شده لیست می‌کرد! مرد بیصدا تاسیس شد [Fahlman 1973] . بدین وسیله و چندین راه دیگر Backtracking اثبات کرد که سنگین است، Hewitt در تز خود بعضی این جایگزینی‌ها را دنبال کرد.

ساختار کنترلی مویین[ویرایش]

مطابق با Hewitt [2006], Peter Landin یک ساختار کنترلی قویتر معرفی کرد که از اپراتور J برای پرش استفاده می‌کرد و می‌توانست یک Goto غیر محلی به میان رویه مورد درخواست انجام دهد. در واقع اپراتور J می‌توانست به میان رویه‌ای که مقدار خود را باز گردانده پرش کند. Drew McDermott و Gerald Sussman این روش Peter Landin را ساختار کنترلی مویین نامیدند و از آن در فرم goto غیر محلی در زبان‌های برنامه نویسی Conniver استفاده کردند. Scott Fahlman از Conniver در سیستم Planner خویش برای روبات سازنده Taskها استفاده کرد و این به آنچه اکنون re-invocable continuationsمرتبط است.

ساختارهای کنترلی الگوهای ارسال پیام هستند[ویرایش]

Hewitt گزارش کرد که : .... ما یافتیم که بدون متعلقات " ساختار کنترلی مویین" (مثل لیست‌های امکان، goto غیر محلی، مقدار دهی به متغیرهای داخلی دیگر پروسه‌ها در Conniver ) عمل کنیم..... به نظر می‌رسد که قراردادهای ارسال پیام ساختار بهتری ارائه می‌دهند مبنای بصری بیشتر برای ساختن سیستم ارتباطی نیاز به یک ماژول حل مشکل قوی برای همکاری موثرتر دارد. مدل بازیگر Actor model مبنایی برای حل مسائل ساختار کنترلی هوش مصنوعی ارائه می‌کند . و این زمان قابل توجهی جهت پیشرفت متودولوژی برنامه نویسی مدل بازیگر می‌گیرد. در واقع، پیاده سازی ارتباط جامعه علمی scientific community metaphor نیاز به ارسال پیام پیچیده‌ای دارد که هنوز پایه برخی تحقیقات است.

پیدایش پرولوگ[ویرایش]

Gerry Sussman [Sussman, Winograd and (Charniak 1971), Seymour Papert (Minsky و Terry Winograd (Winograd 1971) در ادینبرو اخباری را پخش کردند مبنی بر اینکه Micro-Planner و SHRDLUدر حل روش اثبات یکنواخت دارای مشکل می‌باشد که آن پایه منطق Edinburgh بود. در دانشگاه Edinburgh ، Bruce Anderson زیر مجموعه‌ای از Micro-Planner را به نام Pico-Planner (Anderson 1972) , Julian Davies (1973) اجرا کرد که در اصل تمام Planner را پیاده کرد. به گفته Donald MacKenzie : Pat Hayes تاثیر بازدید از Papert تا Edinburgh را یاداور می‌شد که تبدیل شده بود به " قلب منطق هوش مصنوعی " و به استناد همکار MIT , Papert آقای Carl Hewitt : در نقد روش حل غالب Papert eloquently گفته "و حداقل یک نفر به خاطر Papert بالا رفت " [MacKenzie 2001 pg 82.]

تحولات بالا ایجاد تنش در میان منطق Edinburgh کرد و این تنشها در زمانی که آکادمی علوم بریتانیا فردی را به نام Sir James Lighthill برای نوشتن گزارشی از تحقیقات هوش مصنوعی مامور کرد تشدید شد. در گزارش Lighthill resulting report, McCarthy 1973] به شدت بحرانی و SHRDLU مطلوب ذکر شده. Pat Hayes به استندفورد رفت و در آنجا Planner را دید و در بازگشت سعی کرد که بر دوستش Bob Kowalski اثر بگذارد و Planner را وارد کار مشترکشان بر روی اثبات قضیه آتوماتا کند

When goal Q, goal P1 and ... and goal Pn

پرولوگ جنبه های زیر را از Micro-Planner در بر گرفت:

منابع[ویرایش]

  1. Carl Hewitt Middle History of Logic Programming: Resolution, Planner, Prolog and the Japanese Fifth Generation Project ArXiv 2009.
  • Frederic Fitch. Symbolic Logic: an Introduction Ronald Press, New York, 1952.
  • John McCarthy, Paul Abrahams, Daniel Edwards, Timothy Hart, and Michael Levin. Lisp 1.5 Programmer’s Manual MIT Computation Center and Research Laboratory of Electronics. 1962.
  • John Alan Robinson, A Machine-Oriented Logic Based on the Resolution Principle. CACM. 1965.
  • Cordell Green. Application of Theorem Proving to Problem Solving IJCAI 1969.
  • Carl Hewitt. PLANNER: A Language for Proving Theorems in Robots IJCAI 1969.
  • Gerry Sussman and Terry Winograd. Micro-planner Reference Manual AI Memo No, 203, MIT Project MAC, July 1970.
  • Terry Winograd. Procedures as a Representation for Data in a Computer Program for Understanding Natural Language MIT AI TR-235. January 1971.
  • Carl Hewitt. Procedural Embedding of Knowledge In Planner IJCAI 1971.
  • Gerry Sussman, Terry Winograd and Eugene Charniak. “Micro-Planner Reference Manual (Update)” AI Memo 203A, MIT AI Lab, December 1971.
  • Carl Hewitt. Description and Theoretical Analysis (Using Schemata) of Planner, A Language for Proving Theorems and Manipulating Models in a Robot AI Memo No. 251, MIT Project MAC, April 1972.
  • Bruce Anderson. Documentation for LIB PICO-PLANNER School of Artificial Intelligence, Edinburgh University. 1972
  • Bruce Baumgart. Micro-Planner Alternate Reference Manual Stanford AI Lab Operating Note No. 67, April 1972.
  • Eugene Charniak. Toward a Model of Children's Story Comprehension MIT AI TR-266. December 1972.
  • Julian Davies. Popler 1.6 Reference Manual University of Edinburgh, TPU Report No. 1, May 1973.
  • Jeff Rulifson, Jan Derksen, and Richard Waldinger. QA4, A Procedural Calculus for Intuitive Reasoning SRI AI Center Technical Note 73, November 1973.
  • Scott Fahlman. A Planning System for Robot Construction Tasks MIT AI TR-283. June 1973
  • James Lighthill. Artificial Intelligence: A General Survey Artificial Intelligence: a paper symposium. UK Science Research Council. 1973.
  • John McCarthy. Review of ‘Artificial Intelligence: A General Survey Artificial Intelligence: a paper symposium. UK Science Research Council. 1973.
  • Robert Kowalski Predicate Logic as Programming Language Memo 70, Department of Artificial Intelligence, Edinburgh University. 1973
  • Pat Hayes. Computation and Deduction Mathematical Foundations of Computer Science: Proceedings of Symposium and Summer School, Štrbské Pleso, High Tatras, Czechoslovakia, September 3–8, 1973.
  • Carl Hewitt, Peter Bishop and Richard Steiger. A Universal Modular Actor Formalism for Artificial Intelligence IJCAI 1973.
  • L. Thorne McCarty. Reflections on TAXMAN: An Experiment on Artificial Intelligence and Legal Reasoning Harvard Law Review. Vol. 90, No. 5, March 1977
  • Drew McDermott and Gerry Sussman. The Conniver Reference Manual MIT AI Memo 259A. January 1974.
  • Earl Sacerdoti, et al., QLISP A Language for the Interactive Development of Complex Systems AFIPS. 1976
  • William Kornfeld and Carl Hewitt. The Scientific Community Metaphor MIT AI Memo 641. January 1981.
  • Bill Kornfeld and Carl Hewitt. The Scientific Community Metaphor IEEE Transactions on Systems, Man, and Cybernetics. January 1981.
  • Bill Kornfeld. The Use of Parallelism to Implement a Heuristic Search IJCAI 1981.
  • Bill Kornfeld. Parallelism in Problem Solving MIT EECS Doctoral Dissertation. August 1981.
  • Bill Kornfeld. Combinatorially Implosive Algorithms CACM. 1982
  • Carl Hewitt. The Challenge of Open Systems Byte Magazine. April 1985
  • Robert Kowalski. The Limitations of Logic Proceedings of the 1986 ACM fourteenth annual conference on Computer science.
  • Robert Kowalski. The Early Years of Logic Programming CACM January 1988.
  • Carl Hewitt and Jeff Inman. DAI Betwixt and Between: From ‘Intelligent Agents’ to Open Systems Science IEEE Transactions on Systems, Man, and Cybernetics. Nov. /Dec. 1991.
  • Carl Hewitt and Gul Agha. Guarded Horn clause languages: are they deductive and Logical? International Conference on Fifth Generation Computer Systems, Ohmsha 1988. Tokyo. Also in Artificial Intelligence at MIT, Vol. 2. MIT Press 1991.
  • Carl Hewitt. The repeated demise of logic programming and why it will be reincarnated What Went Wrong and Why: Lessons from AI Research and Applications. Technical Report SS-06-08. AAAI Press. March 2006.
  • Richard Waldinger and Karl Levitt. Reasoning About Programs Artificial Intelligence. 1974.
  • Earl Sacerdoti. A Structure for Plans and Behavior Elsevier North-Holland. 1977.
  • Jean-Claude Latombe. Artificial Intelligence in Computer-Aided Design In CAD Systems, North-Holland. 1976.
  • Richard Fikes. Deductive Retrieval Mechanisms for State Description Models IJCAI 1975
  • Steven Coles. The Application of Artificial Intelligence to Heuristic Modeling 2nd US-Japan Computer Conference. 1975.

پیوند به بیرون[ویرایش]