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

خصوصیات مطلوب یك زبان AI

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

این مشاهده در عمل سنجیده می شود كه همراه با سیستم های موفق دانش مدار می باشد كه در زبانهای برنامه نویسی مختلفی مثل Pascal ,  C , Ctt , Java , PROLOG , LISP  و حتی Fortran به كار می رود .

برنامه های مختلفی اصولاً در PROLOG   , LISP و سپس در C به كار گرفته می شوند تا بتواند تاثیرپذیری و انتقال پذیری بهتر ایجاد كنند. در هر دوی این موارد رفتار و عملكرد در سطح نشانه به طور قطع بی اثر می باشد.

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

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

اهداف و پیش بینی های منطقی ابزارهای كاربردی طبیعی تر و انعطاف پذیرتر  خواهند بود.

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

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

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

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

این موارد عبارتند از :

1.   پشتیبانی از محاسبه سمبولیك

2.   انعطاف پذیری كنترل

3.   پشتیبانی از متدولوژی و روش های برنامه نویسی جستجویی

4.   پویایی

5.   مستنند سازی خوب و  واضح

`پشتیبانی از محاسبات سمبولیك

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

این روش در تئوری نشانه های آقای Simon , Newell آمده است . تئوری های سیستم فیزیكی نشانه نیاز اصلی برای زبان برنامه نویسی است كه كاربردهای یك سری از عملیات سمبولیك را آسان می كند .

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

علاوه بر این یك زبان AI می بایستی ساختار ایجاد نشانه های اولیه را ساده سازد و بر روی آنها كار كند. این یكی از مهمترین نیازهای یك زبان برنامه نویسی AI می باشد.

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

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

PROLOG یك زبان برنامه نویسی كلی است كه بر اساس پیش بینی محاسباتی است.

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

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

PROLOG ممكن است برای كاربرد در جستجوی الگوریتم ها یك سیستم محافظ و یك شبكه سمانتیكی مورد استفاده قرار گیرد.

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

چند نمونه از لیست ها با استفاده از ساختار برنامه نویسی LISP عبارتند از :

(این یك لیست است)

(این هست) (یك لیست) (از لیست ها)

(زمانها (بعلاوه 13)(بعلاوه 23) )

((123)(456)(789))

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

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

لیست ها یك سری بلوك های مهم می باشند كه PROLOG , LASP كه موجب می شود كه كاربر را با عناصر اطلاعاتی و عملیاتی برای دستیابی و تاكید بر آنها در درون یك سری ساختارهای پیچیده مهیا سازد. در حالیكه PROLOG مستقیما به محاسبات پیش بینی شده وابسته است و شامل یك سری لیست به عنوان ابزارهای بیان می شود.

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

 

انعطاف پذیر بودن كنترل:

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

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

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

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

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

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

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

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

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

یكی از مزایای این نظریه این است كه الگوی تطبیق و كنترل ساختارهای همراه با آن ممكن است به سادگی برای تطبیق با نیازهای یك مسئله بخصوص خود را منطبق سازد.

اغلــــب نظـــریات فعلی در ارتباط با هوش مصنوعی همانند شبكه های عصبی عوامل تنظیم كننده و دیگر فرم های محاسبات ضروری ممكن است اجتناب از عملیات بر روی ساختارهای سمبولیك باشد.

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

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


  • آخرین ویرایش:-
آخرین پست ها