تبلیغات
وبلاگ هوش مصنوعی موسسه آموزش عالی خیام مشهد - تكنیك ها وزبانهای برنامه نویسی هوش مصنوعی - قسمت اول

ما در عصری زندگی می كنیم كه جامعه شناسان آن را عصر انقلاب كامپیوتر نام نهاده اند و مانند هر انقلاب واقعی دیگر، انقلابی است گسترده و فراگیر و تأثیر پایداری برجامعه خواهد داشت.

این انقلاب در اقتصاد امروز و نظم جامعه، به همان میزان  انقلاب صنعتی در قرن 19 تأثیر دارداین تحولات قادر است الگوی فكری و فرم زندگی هر فرد را تغییر دهد.

انقلاب كامپیوتر توان ذهنی ما را گسترش می دهد.

عملكرد اولیة برنامه نویسی هوش مصنوعی (AI) ایجاد ساختار كنترلی مورد لزوم برای محاسبه سمبولیك است خصوصیات این ساختارها به مقدار زیادی موجب تشخیص خصوصیاتی می شود كه یك زبان كاربردی می بایستی فراهم كند.

در این مقدمه به یك سری خصوصیات مورد نظر برای زبان برنامه نویسی سمبولیك می پردازیم و زبانهای برنامه نویسی LISP و PROLOG را معرفی خواهیم كرد.

این دو زبان علاوه بر این كه از مهمترین زبانهای مورد استفاده در هوش مصنوعی هستند، خصوصیات semantic و syntactic آنها نیز باعث شده كه آنها شیوه ها و راه حل های قوی برای حل مسئله ارئه كنند.

تأثیر قابل توجه این زبانها بر روی توسعه AI از جمله توانائی آنها به عنوان «ابزارهای فكر كردن» می باشد كه از جمله نقاط قوت آنها در زبانهای برنامه نویسی می باشد.

همان طور كه هوش مصنوعی مراحل رشد خود را طی می كند زبانهای LISP و PROLOG بیشتر مطرح می شوند.

این زبانها كار خود را در محدودة توسعه و prototype سازی سیستم های AI در صنعت و دانشگاهها دنبال می كنند.

اطلاعات در مورد این زبانها به عنوان بخشی از مهارت هر برنامه نویس AI می باشد ما به بررسی این دو زبان در هوش مصنوعی می پردازیم.

بقیه این مقاله در ادامه مطلب

زبان ، شناخت و خلاصه پردازی

توانایی شكل گیری خلاصه برداری از تجربیات از توانمند ترین و اساسی ترین توانائی های ذهن انسان است خلاصه پردازی به ما این اجازه را می دهد كه به فهم جزئیات از یك محدوده ی كلی اطلاعات مربوط به یك خصوصیت كلی سازمان و رفتار برسیم . این خلاصه ها به ما اجازه شناخت و درك كامل موارد دریافت شده در حوزه خاص را می دهند . اگر ما وارد یك خانه شویم كه به خوبی ساخته شده باشد ، راههای خود را به اطراف پیدا خواهیم كرد . ساختار خصوصیات اطاق نشیمن ، اطاق خواب ،‌آشپزخانه و حمام عموماً از ویژگیهای یك مدل خانة استاندارد می باشد .

خلاصه پردازی به ما حس شناخت خانه های متفاوت را می دهد . یك تصویر ممكن است بیانی قوی تر از هزاران كلمه داشته باشد ، اما یك خلاصه مشخصاً بیان كنندة خصوصیات مهم یك كلیت از نوع تصویر است .

وقتی كه ما به تئوری برای توصیف كلاس های یك پدیده می پردازیم ، خصوصیات و ویژگیهای كمی و كیفی مربوط به كلاس از كل جزئیات خلاصه می شود .

كه اعضاء به خصوص خود را مشخص می كند . این كاهش جزئیات به وسیله قدرت توصیف و پیش بینی یك نظریه ارزشمند جبران می شود .

خلاصه سازی یكی از ابزارهای اساسی شناخت و ارزیابی كلیت های جهان اطراف ما و همچنین ساختار ذهنی ما است . در حقیقت این پروسه به طور مداوم براساس دانش و اطلاعات صورت می گیرد . دانش و اطلاعا نیز در لایه ها و بخش هایی از خلاصه پردازی ساخته می شود كه از مكانیسم هایی كه ساختار را فشرده ساخته و از حس اولیه به سمت یك سری تئوری های علمی سوق داده می شود و در نهایت بیشتر این ایده ها دربارة ایده های دیگر و نشأت گرفته از آنها می باشد .

خلاصه پردازی طبقه بندی شده (سلسله مراتبی ) :

ساختار و سازمان آزمایش و تجربه در ارتباط با توصیفات كلاس های خلاصه سازی یكی از ابزارهای شناخت رفتار و ساختار سیستم های مركب است كه شامل برنامه های كامپیوتر می شوند .

همانند رفتار یك حیوان كه ممكن است بدون توجه به فیزیولوژی سیستم عصبی نهفته در پشت آن مورد مطالعه قرار گیرد .

یك الگوریتم دارای خصوصیات مربوط به خود می باشد كه كاملاً آن را از برنامه ای كه آن را به كار می برد جدا می سازد .

به عنوان مثال دو نوع كاربر متفاوت جستجوی باینری را در نظر بگیرید .

یكی از آنها یعنی Fortran از محاسبات و طبقه بندی استفاده می كند و دیگری یعنی Ctt از Pointer استفاده می كند كه بتواند در جستجوی درون شاخه های binary كاربرد داشته باشد .

اگر دقیق تر نگاه كنیم این برنامه ها مثل هم می باشند چون اگر جز این باشد كاربردهای آنها نیز تفاوت خواهد شد . جداسازی الگوریتم از كه مورد استفاده در كاربرد آن یكی از نمونه های خلاصه سازی سلسله مراتبی می باشد .

Allen   New ell بین سطح دانش و سطح نشانه ها برای توصیف یك سیستم هوشمند تفاوت قائل شده است.

سطح نشانه ها همراه سازماندهی به خصوصی مورد توجه قرار گرفته كه برای بیان اطلاعات حل مسئله مورد استفاده قرار می گیرد. بحث مربوط به توجه به منطق به عنوان یك زبان یك نمونه از مواردی است كه به سطح نشانه پرداخته است.

علاوه بر سطح نشانه سطح دانش است كه توجه آن به مقدار و محتوی اطلاعات یك برنامه و شیوه استفاده از آن اطلاعات می باشد.

این نوع تمایز در ساختار و معماری سیستم هایی كه بر اساس دانش و اطلاعات و سبك توسعه ای كه آن را پشتیبانی می كتد منعكس می گردد.

به دلیل اینكه كاربرها برنامه ها را در قالب دانش و توانایی خودشان می شناسند بنابراین حائز اهمیت است كه برنامه های AI دارای یك سطح خصوصیات اطلاعاتی باشند.

جداسازی اصل دانش و اطلاعات از ساختار كنترل این نظریه را آشكار می سازد و توسعه رفتار سطح دانش را ساده می سازد.

همانند این نیز سطح نشانه ای یك زبان توصیفی را تشریح می كند كه شبیه قوانین و روشهای تولید یا منطق براساس دانش و اطلاعات می باشد.

جداسازی آن از سطح و دانش و اطلاعات نه برنامه نویس این اجازه را می دهد كه به سمت خلاصه پردازی ت،ثیر پذیری و راحتی برنامه نویسی سوق پیدا كندكه در ارتباط با رفتار و عملكرد بالای برنامه نمی باشد.

كاربرد بیان سطح نشانه ای شامل یك سطح دوره پائین تر از ساختار برنامه می شود و بیانگر یك سری ملاحظات طراحی اضافی می شود.

اهمیت نظریه چند مرحله ای نسبت به طراحی سیستم نمی تواند بیش از این مورد توجه قراار گیرد.

یعنی اینكه به برنامه نویس اجازه می دهد كه با پیچیدگی نهفته شده در سطوح پائین تر خود را درگیر نكند و توجه و تاكیدش بر روی منابع مناسب با سطح فعلی خلاصه پردازی كند.

همچنین موجب می شود كه اصول تئوری هوش مصنوعی عاری از كاربردهای خاص یا زبان برنامه نویسی باشد . این همچنین به ما قدرت توصیف یك كاربرد را می دهد و تاثیر گذاری خود را بر روی ماشین دیگر اثبات می كند بدون اینكه بر رفتارش در سطوح بالاتر تاثیر بگذارد .


 

سطح اطلاعات توصیف كننده توانائی های یك سیستم هوشمند است. محتوی دانش و اطلاعات مستقل از شكل پذیری مورد استفاده برای بیان آن است به همان اندازه كه زبان بیان كاملا مؤثر می باشد .

توجه به سطح دانش شامل سؤالاتی از این قبیل است:

از این سیستم چه چیزی ساخته خواهد شد؟ چه اشیا و چه ارتباطی در آن محدوده مؤثر و مفید است ؟ چگونه یك اطلاعات جدید به سیستم اضافه می گردد؟

آیا واقعیات در طی زمان تغییر می كنند؟ چگونه و چطور سیستم نیازمند است كه دلائل اطلاعات خود را ثابت كند؟ آیا محدوده ارتباطی دارای یك طبقه بندی درست و شناخته شده است؟

آیا این محدوده شامل یك سری اطلاعات نادرست و غیر ممكن است؟

تجزیه و تحلیل دقیق در این سطح یك گام مبهم در طراحی كلی ساختار یك برنامه می باشد.

در سطح نشانه تصمیمات درباره ساختارها صورت می گیرد كه برای بیان و ایجاد دانش مورد استفادده قرار می گیرند. انتخاب یك زبان برای بیان یك مورد مربوط به سطح نشانه می باشد.

منطق یكی از چندین نوع اشكال است كه اصولا در حال حاضر برای بیان دانش و اطلاعات در دسترس می باشد.

زبان بیان نه تنها می بایستی توانایی بیان اطلاعات مورد لزوم برای كاربر را داشته باشد بلكه می بایستی خلاصه و قابل توصیف و دارای كاربرد مؤثر باشد و می بایستی به برنامه نویس برای دستیابی و سازماندهی اصل و اساس اطلاعات كمك كند.

وقتی كه بین سطح اطلاعات و سطح نشانه یك برنامه تمایز به وجود آمد ما می توانیم بین سطح نشانه و الگوریتم و ساختمان داده ها مورد استفاده برای كاربرد آن نیز تمایز قایل شویم. به عنوان مثال بدون تاثیرگذاری رفتار و عملكرد یك تحلیل گر برنامه كه اساس منطقی داشته باشد می بایستی تاثیر ناپذیر از انتخاب بین یك سری جزئیات و یك مجموعه و دسته بایزی باشد تا بتواند یك جدول مربوط به نشانه ها را به كار برد.

این تصمیمات كاربردی هستند و می بایستی در سطح نشانه قابل رؤیت باشند . بسیاری از الگوریتم و ساختمان داده ها در كاربرد بیان زبان  AI به كار می روند كه از روشهای معمول علم كامپیوتر می باشند مثل شاخه ها و جداول بایزی.

دیگر موارد در رابطه با AI بسیار تخصصی هستند و به گونه یك كه مستعار بیان می شوند كه از طریق متن و بخش های مربوط به LISP و PROLOG  بیان می شوند .

در سطح پائین تر مربوط به الگوریتم و ساختمان داده ها ( سطح زبان ) واقع شده است در این جا ست كه زبان كاربردی برای برنامه مشخص می شود .

با این حال سبك برنامه نویسی مطلوب احتیاج به این دارد كه ما یك خلاصه داده ای بسازیم كه بین خصوصیات ویژه یك زبان برنامه نویسی و لایه های بالای آن قرار گیرد . نیازهای منحصر به فرد برنامه نویسی سطح نشانه ای تأثیر به روی طراحی و استفاده از زبانهای برنامه نویسی AI ایجاد می كند . علاوه بر این طراحی زبان می بایستی در برگیرنده و مطابق با ساختار آن كه بر گرفته از سطوح پائین تر ساختمان كامپیوتر كه شامل زبان اسمبلی و سیستم عامل و دستور العملهای ماشین و سطوح سخت افزار ی باشد .

و محدودیت های فیزیكی كامپیوتر می بایستی بر روی منابعی همچون حافظه و سرعت پردازشگر تأ كید كند . روش های PROLOG  , LISP در جهت مستعاذل كردن نیازهای سطح نشانه  و نیازهای نهفته در ساختار هر دو منبع مورد استفاده می باشند و هم چنین یك هدف هوشمند و ذهنی با اهمیت می باشند . در دنباله ما از ساختارهای سطح اطلاعات در محیطهای برنامه نویسی بر روی یك زبان كاربردی صحبت خواهیم كرد و سپس به مصزفی زبانهای عمده AI یعنی PROLOG , LISP می پردازیم .


  • آخرین ویرایش:سه شنبه 8 اردیبهشت 1388
آخرین پست ها