سفارش تبلیغ
صبا ویژن
 
دوستی احمق، چونان درخت آتش است که [خودرا می سوزاند و] پاره ای از آن، پاره دیگری را می خورد . [امام علی علیه السلام]
 
امروز: شنبه 100 اردیبهشت 25

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

خصوصیات مطلوب یک زبان 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 سوق دهد.


 نوشته شده توسط لادن در پنج شنبه 90/3/26 و ساعت 1:39 عصر | نظرات دیگران()
درباره خودم

وبلاگ  چت روم  کامپیوتر و شبکه در سایت الفور
مدیر وبلاگ : علی[32]
نویسندگان وبلاگ :
لادن[38]
حیران[0]

وبلاک چت روم شبکه و کامپیوتر در سایت الفور تاریخ تاسیس 19/1/1390

آمار وبلاگ
بازدید امروز: 0
بازدید دیروز: 22
مجموع بازدیدها: 80810
جستجو در صفحه

لوگوی دوستان
خبر نامه
 
وضیعت من در یاهو