PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مقاله هوش مصنوعی



آبجی
28th June 2010, 10:23 AM
هوش مصنوعي مقدمه

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

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

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

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

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

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

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

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

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

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

آنــــچه را كـــه نمي دانيم موجب دردسر و گرفتاري ما نخواهد شد، بلكه دردسرها از دانسته ها سرچشمه مي گيرند.

W.ROGERS



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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




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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

آبجی
28th June 2010, 10:23 AM
خصوصيات مطلوب يك زبان AI

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

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

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

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

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

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

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

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

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

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

آبجی
28th June 2010, 10:23 AM
اين موارد عبارتند از :

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 مي تواند ساختارهاي نشانه را توصيف كند و عمليات مورد نياز هر نوع شكل گيري سطح بالا شامل كنترل كننده هاي جستجو حل كننده هاي تئوريهاي منطقي و ديگر اظهارات سطح بالا مي باشد.

آبجی
28th June 2010, 10:23 AM
انعطاف پذير بودن كنترل:

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

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

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

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

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

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

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

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

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

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

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

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

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

آبجی
7th July 2010, 12:36 AM
هوش مصنوعی:
هوش مصنوعی روشی است در جهت هوشمند کردن کامپیوتر تا قادر باشد در هر لحظه تصمیم گیری کرده و اقدام به بررسی یک مسئله نماید. هوش مصنوعی، کامپیوتر را قادر به تفکر می کند و روش آموختن انسان را تقلید می نماید. بنابراین اقدام به جذب اطلاعات جدید جهت بکارگیری مراحل بعدی می پردازد.
مغز انسان به بخش هایی تقسیم شده است که هر بخش وظیفه خاص خود را جدا از بقیه انجام می دهد. اختلال در کار یک بخش تاثیری در دیگر قسمت های مغز نخواهد گذاشت. در برنامه های هوش مصنوعی نیز این مسئله رعایت می شود درحالی که در برنامه های غیر هوش مصنوعی مثل C یا Pascal تغییر در برنامه روی سایر قسمت های برنامه و اطلاعات تاثیر دارد.
مباحث کاربردی و مهم در تحقق یک سیستم هوش مصنوعی :
۱- سیستم های خبره(Expert Systems)
2- شبکه های عصبی(Neural Network)
3- الگوریتم های ژنتیک(Genetic Algorithms)
4- سیستم های منطق فازی(Fuzzy Logic Systems)
هوش مصنوعی:
هوش مصنوعی روشی است در جهت هوشمند کردن کامپیوتر تا قادر باشد در هر لحظه تصمیم گیری کرده و اقدام به بررسی یک مسئله نماید. هوش مصنوعی، کامپیوتر را قادر به تفکر می کند و روش آموختن انسان را تقلید می نماید. بنابراین اقدام به جذب اطلاعات جدید جهت بکارگیری مراحل بعدی می پردازد.
مغز انسان به بخش هایی تقسیم شده است که هر بخش وظیفه خاص خود را جدا از بقیه انجام می دهد. اختلال در کار یک بخش تاثیری در دیگر قسمت های مغز نخواهد گذاشت. در برنامه های هوش مصنوعی نیز این مسئله رعایت می شود درحالی که در برنامه های غیر هوش مصنوعی مثل C یا Pascal تغییر در برنامه روی سایر قسمت های برنامه و اطلاعات تاثیر دارد.
مباحث کاربردی و مهم در تحقق یک سیستم هوش مصنوعی :
۱- سیستم های خبره(Expert Systems)
2- شبکه های عصبی(Neural Network)
3- الگوریتم های ژنتیک(Genetic Algorithms)
4- سیستم های منطق فازی(Fuzzy Logic Systems)
سیستم های خبره:
برنامه هایی هستند که رفتار یک انسان متخصص در یک زمینه بخصوص را تقلید می کنند. این برنامه از اطلاعاتی که استفاده کننده در آن ها ذخیره می کند جهت اعلام یک عقیده در یک موضوع بخصوص استفاده می کند. از اینرو سیستم های خبره تا هنگامی که بتوانند موضوعی را که با پاسخ های شما مطابقت داشته باشد بیابند به سوال کردن از شما ادامه می دهند. به منظور درک کردن آنچه که یک سیستم متخصص انجام می دهد مکالمه زیر که بین یک متخصص در امور میوه و فرد دیگری که می خواهد از وی توصیه ای در این مورد دریافت کند را در نظر بگیرید:
- متخصص: آیا میوه سبز است؟
- استفاده کننده: خیر.
- متخصص: آیا میوه قرمز است؟
- استفاده کننده: بله.
- متخصص: آیا این میوه روی درخت رشد می کند؟
- استفاده کننده: خیر.
- متخصص: آیا این میوه روی یک بوته رشد می کند؟
- استفاده کننده: بله.
- متخصص: آیا این بوته تیغ دارد؟
- استفاده کننده: بله.
- متخصص: این میوه تمشک است!
هدف از طراحی یک سیستم متخصص کامپیوتری در امر میوه تولید این مکالمه است.
در حالت عمومی تر سیستم متخصص سعی می کند که به استفاده کننده از خود در مورد موضوعی که از آن مطلع است راهنمایی دهد.
مزایای یک سیستم خبره چیست؟
میزان مطلوب بودن یک سیستم خبره اصولا به میزان قابلیت دسترسی به آن و میزان سهولت کار با آن بستگی دارد.
می توان مزایایی که یک سیستم خبره در برابر انسان خبره دارد را به این صورت نام برد:
- برخلاف انسان متخصص که نیاز به خواب، استراحت و غذا و … دارد، یک سیستم متخصص ۲۴ ساعت در شبانه روز و ۳۶۵ روز در سال قابل دسترس است.
- دانش سیستم خبره از بین نمی رود بلکه می توان آنرا ذخیره نمود و حتی بسادگی می توان آنرا کپی برداری کرد.
- یک سیستم متخصص همواره دارای حداکثر کارآیی خود است ولی به محض آنکه یک انسان متخصص خسته شود صحت توصیه های وی ممکن است کاهش یابد.
- یک سیستم متخصص دارای شخصیت نیست. همانطور که شما هم درک کرده اید شخصیت های افراد مختلف اغلب با یکدیگر سازگار نیستند. اگر شما با یک متخصص رفیق یا دوست یا حداقل موافق نباشید، آنگاه احتمالا شانس اندکی برای استفاده از دانش این فرد خواهید داشت. عکس این حالت نیز صحیح است.
- آخرین برتری سیستم های خبره این است که به سادگی و با کپی برداری این برنامه از دستگاهی به دستگاه دیگر و در کمترین زمان ممکن می توان یک سیستم متخصص دیگر بوجود آورد در حالی که تبدیل یک انسان به یک متخصص زمانی طولانی نیاز دارد.
مثال هایی از سیستم های متخصص تجاری:
MYCIN اولین سیستم متخصص موفق جهان بود که در سال ۱۹۷۰ در دانشگاه استنفورد طراحی شد. هدف از ساخت این سیستم کمک به پزشکان در تشخیص بیماری های ناشی از باکتری بود. مشکل عمده در تشخیص بیماری برای یک پزشک آن است که تشخیص سریع و قاطع یک بیماری با توجه به تعداد بسیار زیاد بیماری موجود، عملی دشوار است.MYCIN با تشخیص دادن قاطع بیماری ها توانست که این نیاز را برآورده سازد.
PROSPECTOR یک متخصص در امر زمین شناسی است که احتمال وجود رسوبات معدنی در یک ناحیه بخصوص را پیش بینی می کند. این سیستم در سال ۱۹۸۷ توسط « ریچارد دودا» و « پیتر هارد» و « رنه ربو» ساخته شد.
در اوایل دهه ۸۰ سیستم های متخصص به بازار عرضه شد که می توانستند مشورت های مالیاتی، توصیه های بیمه ای و یا قانونی را به استفاده کنندگان خود ارائه دهند.
سیستم های متخصص چگونه کار می کنند؟
هر سیستم متخصص از دو بخش تشکیل می شود:
- بانک اطلاعاتی
- تولید کننده مکالمه
بانک اطلاعاتی :
منظور از بانک اطلاعاتی در اینجا مکانیسم نگهداری اطلاعات و قوانین ویژه ای در مورد یک موضوع بخصوص می باشد. با این توصیف دو اصطلاح زیر تعریف می شود:
- شیء(Object): منظور از شیء در اینجا نتیجه ای است که با توجه به قوانین مربوط به آن تعریف می گردد.
- شاخص(Attribute): منظور از شاخص یا «صفت» یک کیفیت ویژه است که با توجه به قوانینی که برای آن در نظر گرفته شده است به شما در تعریف شیء یاری می دهد.
بنابراین می توان بانک اطلاعاتی را بصورت لیستی از اشیاء که در آن قوانین و شاخص های مربوط به هر شیء نیز ذکر شده است در نظر گرفته شود.
در ساده ترین حالت( که در اکثر کاربرد ها نیز همین حالت بکار می رود) قانونی که به یک شاخص اعمال می شود این مطلب را بیان می کند که آیا شیء مورد نظر شاخص دارد یا ندارد؟
یک سیستم متخصص که انواع مختلف میوه را شناسایی می کند احتمالا دارای بانک اطلاعاتی به صورت زیر خواهد بود:


شیء



قانون



شاخص

سیب
دارد
روی درخت رشد می کند.

دارد
گرد است

دارد
رنگ قرمز یا زرد است

ندارد
در کویر رشد می کند
انگور
—–
——————-

بانک ساده شده بالا با تنها استفاده از قانون دارد:
شیء شاخص هایی که دارد
سیب رشد روی درخت
گرد بودن
رنگ قرمز یا زرد
رشد نکردن در کویر
تولید کننده مکالمه:
آن بخش از سیستم متخصص است که سعی می کند از اطلاعاتی که شما ذخیره کرده اید جهت یافتن یک شیء منطبق با خواسته شما استفاده نماید. دو نوع عمده از تولید کننده های مکالمه وجود دارد :
- قطعی
- احتمالی
برخی قوانین قطعی هستند. به عنوان مثال یک شیمیدان می تواند با قطعیت و یقین اعلام کند که اگر اتم مورد نظر دارای ۲ الکترون باشد آنگاه این اتم به عنصر هلیم تعلق دارد. اکثر قوانین قطعی نیستند بلکه با یک درصد مشخص، احتمال وقوع آن ها می رود. با این وجود در بسیاری از اینگونه موارد عامل عدم قطعیت از نظر آماری اهمیت چندانی ندارد و از این رو شما می توانید با این قوانین بصورت قوانین جبری برخورد کنید.
در رابطه با این دو گروه عمده( یعنی قطعی و عدم قطعی) سه روش اساسی برای ساخت «تولید کننده مکالمه» وجود دارد:
- استدلال پیشرو Forward Chaining
- زنجیره سازی پسرو Backward Chaining
- ارزشیابی Rule-Value
تفاوت بین این سه روش به شیوه ای که «تولید کننده مکالمه» توسط آن سعی می کند به هدف خود برسد بستگی دارد.

آبجی
14th July 2010, 01:05 AM
هوش‌ مصنوعي‌ چيست‌؟

تلاش‌ در راه‌ برخوردار نمودن‌ رايانه‌ از توانائيهاي‌ شناخت‌ وتقليد جنبه‌هاي‌ هوشي‌ انسان‌ از دهه‌ 1950 ميلادي‌ آغاز شده‌ است‌.در سال‌ 1956 ميلادي‌، گروهي‌ از دانشمندان‌ از جمله‌ ماروين‌مينسكي‌(2) (از دانشگاه‌ فني‌ ماساچوست‌)، كلود شانن(3) (ازآزمايشگاه‌ نامدار بل‌) و جان‌ مك‌كارتي‌(4) (از دانشگاه‌ دارت‌موت‌(همايش‌ در دارت‌ موت‌ (5)كانادا برگزار نمودند تا در اين‌زمينه‌ به‌ گفتگو بپردازند. جان‌ مك‌ كارتي‌ دانشيار كرسي‌ رياضي‌دانشگاه‌ و ميزبان‌ همايش‌، عنوان‌ پهوش‌ مصنوعي‌) را بر اين‌ نشست‌نهاد.از آن‌ زمان‌ تاكنون‌ ميان‌ دانشمندان‌ و خبرگان‌ آگاه‌ همچنان‌بحث‌ در مفهوم‌ هوش‌ مصنوعي‌ جريان‌ دارد.

هوش‌ مصنوعي‌ را كوششهايي‌ تعريف‌ مي‌كنند كه‌ در پي‌ ساختن‌نظامهاي‌ رايانه‌اي‌ )سخت‌افزار و نرم‌افزار) است‌ كه‌ رفتاري‌ انسان‌ وارداشته‌ باشند. چنين‌ نظامهايي‌ توان‌ يادگيري‌ زبانهاي‌ طبيعي‌، انجام‌وظيفه‌هاي‌ انساني‌ به‌ صورت‌ آدمواره‌ (ربات‌) و رقابت‌ با خبرگي‌ و توان‌تصميم‌گيري‌ انسان‌ را دارند.

يك‌ سيستم‌ هوش‌ مصنوعي‌ به‌ راستي‌ (نه‌ مصنوعي‌ (و )نه‌هوشمند (است‌. بلكه‌ دستگاهي‌ است‌ هدف‌گرا كه‌ مشكل‌ را به‌ روش‌ مصنوعي‌ حل‌مي‌كند اين‌ سيستم‌ها بر پايه‌ دانش‌، تجربه‌ و الگوهاي‌ استدلايي‌ انسان‌بوجود آمده‌اند.

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

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد