تبليغاتX
سیستم های خبره راهی برای زندگی بهتر
این فایل رو من از اینترنت پیدا کردم و بسیار جالب دیدم.

فایلش به زبان شیزین فارسی است و می تونید از لینک زیر دانلود کنید:

لینک دانلود

(فقط امیدوارم کا ر با rapidshare رو بلد باشید  . ولی من برای اطمینان به شما میگم:

پس از load شدن صفحه بر روی دکمه ی free کلیک کنید و در صفحه ی بعدی پس از مدتی یک کد امنیتی ظاهر می شود و با وارد کردن آن می توامید فایل خود را دانلود کنید)

+ نوشته شده در  شنبه 30 اردیبهشت1385ساعت 11:7  توسط صابر موسی پور  | 

از اونجا که یه مدتیه درگیر امتحانات میانترم (!) هستم زیاد فرصت نکردم بنویسم .
اما امروز که دوباره رفتم سراغش تو اینترنت این سایت باحال رو پیدا کردم .
یه توضیح کامل درباره ی چگونگی طراحی یک سیستم خبره با زبان prolog.
من که خیلی حظ بردم ( راستی به املای کلمه ی حظ مطمئن نیستم ، اگه غلط بود ببخشید )
این لینک رو می تونید در بخش پیوند های روزانه پیدا کنید .


+ نوشته شده در  چهارشنبه 27 اردیبهشت1385ساعت 13:47  توسط صابر موسی پور  | 

حال میخواهیم به بررسی پایگاه معرفت بپردازیم.

دوباره قواعد را مینویسیم و البته در این مرحله یک قاعده دیگر به آن اضافه می کنیم:

10 If interest = Fall

Then stock = Rise

20 If interest = Rise

Then stock = Fall

30 If dollar = Fall

Then interest = Rise

40 If dollar = Rise

Then interest =Fall

50 If fedint = Fall and Fedmon =Add

Then interest = Fall



در زیر شما جدول متغیر ها را مشاهده میکنید:


مفهوم متغیر
نام متغیر

Interest rate Direction جهت نرخ بهره



Dollar exchange Rate نرخ ارز دلار



Federal Reserve نرخ فدرال رزرو



Interest Rate Goals (مثل اضافه یا برداشتذخایر از سیستم بانکی)

هدف های چرخش پول فدرال رزرو



جهت بازار سهام
Interest



Dollar



Fedint



Fedmon





Stock






پردازش پایگاه معرفت:

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

اولین ساختار داده ای را که استفاده میکنیم  لیست متغیر قضیه است.این لیست ساده به ما کمک میکند تا از متغیر های موجود در مسئله که در ارتباط با بخش IF عبارت IF-THEN هستند اطلاع پیدا کنیم .

به عنوان مثالی از چگونگی استفاده از لیست متغیر قضیه  فرض کنید می خواهیم اثرات پایین آمدن نرخ ارز دلار را که به صورت Dollar interest = Fall آمده است را بررسی کنیم. قواعد 30 و 40 دارای قضایایی باDollar بهعنوان متغیر هستند . به منظور آن که همواره به یاد داشته باشیم کهDollar متغیر مد نظر ما می باشد  این متغیر را در ساختار داده ای که آن را صف متغیر می نامیمقرار میدهیم.ما سعی داریم هر عبارتی که دارا ی متغیرDollar باشد شرط Dollar = Fall را داشته باشد . اگر چنین باشد بخش Then عبارت احضار می شود و متغیر شرطجدید بنام Interest به دست می آید .این مورد در مثال ما در قاعده شماره ی 30 اتفاق می افتد.



30 If Dollar = Fall

Then interest = Rise

اکنون باید ببینیم که اثر بالا رفتن نرخ سهام پس از آنکه پردازش کلیه قواعد با شرط Dollar پایان یابد چه می شود؟

با یاد آوری آنکه اکنون با متغیر جدیدی بنام Interest سر و کار داریم  آنرادر صف متغیر نتیجه پس از دلار قرارمیدهیم.پس از اینکه از کلیه قواعد IF-THENکه بخش If آنهادارای متغیر Dollar بود  عبور کردیم  این متغیر را از صف خود خارج میکنیم. چون متغیر Interest به جلوی صف آمده است این متغیر را درست به همان صورتی که نرخ متغیر Dollar را پردازش نمودیم  مورد پردازش قرار میدهیم.وقتی که هیچ متغیری در صف نباشد  آنگاه تسلسل پایان یافته است و آماده پاسخگویی می باشد.

ما نیاز به جدول دیگری داریم که لیست متغیر نام دارد .لیست متغیر به ما می گوید که آیا هنوز متغیری تحت بررسی است یا نه.در این لیست کلیه متغیرهای بخش if قرار دارد و تغییر متناسب با هر کدام در مسئله خاص که در بخش Then آمده است را قرار می دهیم .مثلا در این مثال متغیر Dollar در این جدول مقدار Fall و Interest مقدار Rise را میگیرد.و منتظر بررسی بقیه متغیر ها میشود.





مثالی از تسلسل پیش رونده:

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

اثر سپرده های اضافی فدرال رزرو در سیستم بانکی چیست؟ به این معنی که Fedmon = Add .

پس صف متغیر نتیجه  متغیر شرط اولیه بنام Fedmon می باشد که مقدار آن معلوم است.این ابزار را در لیست متغیر قضیه برای مورد اول Fedmon جستجو کرده و این حالت در مورد 50 اتفاق می افتد .

از لیست متغیر قضیه درمی یابیم که باید دو متغیرFedmon و fedint را معرفی کنیم .اکنون میدانیم که متغیرFedmon به Add به عنوان شرط اصلی معرفی گردید.چون Fedint معرفی نمی شود  ابزار تسلسل پیش رونده از کاربر سیستم خبره سوال زیر را می پرسد؟

آیا فدرال رزرو میخواهد نرخ بهره بالا برود یا پایین بیاید؟

در صورتی که کاریر خواهان پایین آمدن نرخ بهره باشد  باعث میشود که متغیر Fedint دارای ارزش Fall باشد و در لیست متغیر معرفی شود .شرایط Fedint = Fall وFedmon = add درست میباشند  بنابراین بخش Then قاعده 50 احضار میشود و در نتیجه خواهیم داشت :Interest = Fall .چون متغیر Interest شرط جدیدی را به نمایش می گذارد  لذا این شرط در صف متغیر نتیجه قرار می گیرد  باقیمانده قواعد موجود در لیست متغیر برای متغیر Fedmon مورد جستجو قرار می گیرند.چون هیچ قاعده ای با متغیر Fedmon وجود ندارد  لذا این متغیر از صف متغیر نتیجه برداشته می شود .اکنون متغیرInterestبه جلو حرکت می کند .حال در لیست متغیر قضیه به دنبال متغیر Interest می گردیم و آن را در قضیه 10 پیدا میکنیم.چون متغیر Interest دارای ارزش Fall است لذا بخش If در قاعده 10 درست است.این صحت باعث شده تا بخش Then احضار شده و متغیر stock را دارای ارزش Rise کند.این کار به نوبه خود باعث میشود تا متغیر Stock در صف متغیر نتیجه قرار گیرد.قاعده ی دیگر شامل متغیر Interest دارای ارزش Rise است و اجرا نمیشود.بنابراین متغیر Interest از صف متغیر نتیجه خارج سده و متغیر Stock در جلوی صف قرار میگیرد.چون متغیر Stock دربخش If هیچ قاعده ای قرار ندارد  لذا جستجو پایان می یابد.پاسخ های لازم برای سوال "اثر سپرده های اضافی فدرال رزرو در سیستم بانکداری چیست و می خواهید نرخ بهره پایین بیاید؟" عبارتند از:

1-نرخ بهره پایین خواهد آمد.

2-بازار سهام بالا خواهد رفت.

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

درضمن اگر دوستان عزیز سوالی در این ضمینه دارند میتوانند به من e-mail بزنند  تا اگر تونستم کمک کنم .اگر هم source code این برنامه رو میخواهید به من E-mail بزنید.
+ نوشته شده در  شنبه 23 اردیبهشت1385ساعت 13:24  توسط صابر موسی پور  | 

 
اگر در حال رانندگی ,درجه حرارت ماشینتان افزایش یابد,جه می کنید؟

در این مسیله ,ما یک شرط (condition) داریم بنام افزایش درجه حرارت و می خواهیم بدانیم که نتیجه یا اثر(Concequence) این شرط چه خواهد شد؟ (آیا ماشین از کار می افتد یا نه؟) .یک دقیقه صبر کنید و ببینید چه اتفاقی افتاده است.

بیان نمودیم که شرطی اتفاق افتاده است که عبارت بود از اضافه شدن حرارت موتور. سپس در مورد کلیه قواعدی که میدانستیم که مربوط به شرط مورد نظر می شدند,فکر کردیم.چند نمونه از این قواعد عبارتند از:

قاعده اول:

اگر ماشین افزایش درجه حرارت داشته باشد,آنگاه ماشین از کار می افتد.

قاعده دوم:

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

در ادامه دو کلمه "پیش رونده و تسلسل" را به خاطر داشته باشید.

اما چرا از کلمه ی "پیش رونده" در تشریح این مسئله استفاده می کنیم؟وقتی که شرطی,مثل افزایش درجه حرارت ماشین, اتفاق میافتد باعث تاثیر گذاری روی چیزهای دیگر میشود(بخش then در دستور شرطی) .چون شرط قبل از نتیجه می آیدو ما کار خود را با شرط آغاز کرده ایم,لذا در حالت پیش رونده حرکت میکنیم.بنابراین ازواژه تسلسل پیش رونده استفاده میکنیم.این ابزار به ما کمک میکند تا با بکار گیری اصول تسلسل پیش رونده پاسخ به سولات پایگاه معرفت را پیدا کنیم .

مثالی با استفاده از تسلسل پیش رونده

در اینجا مجموعه ساده ای ازقواعدی که میتوانند بخشی از یک سیستم خبره بازار سهام باشند را بیان میکنیم:

10 If interest rates=fall

Then stock market=rise

20 If interest rates=rise

Then stock market = fall

30 If dollar exchange rate=fall

Then interest rate=rise

40 If dollar exchange tare=rise

Then interest rates=falls

حال با استفاده از این قواعد, با تلاش زیادیک شرکت مشاوره ای بازار سهام را ایجاد نمودیم.اولین مشتری به ما رجوع می کند و می گویدکه نرخ برابری دلار در برابر پولهای دیگر کشور های صنعتی در حال کاهش است .او چه کاری باید در بازار سهام انجام دهد؟بخاطر بیاورید که سیستم ها با تسلسل پیش رونده,پیش بینی هایی با استفاده از شرایطدر نظر گرفته شده در بخش if قاعده انجام میدهندو به نتایجی که در بخش then قاعده تعریف شده اند,می رسند.پس در این حالت با استفاده از قواعد فوق خواهیم داشت:

Dollar exchange rate=fall

با مراجعه به قواعد فوق,در می یابیم که در قاعده شماره ی 30 ,شرط آن با شرطی که ما با آ ن مواجه هستیم,مطابقت دارد.یعنی:

30 if dollar exchange rate = fall

Then interest rates = rise

از این قاعده نتیجه آن است که نرخ بهره افزایش می یابند.با مراجعه به قواعد دیگر برای شرط "نرخ دلار" در قاعده 40 می بینبم که وجود دارد.اما در اینجا نرخ دلار افزایش می یابد,یعنی:

40 if dollar exchange rate = rise

که با شرط مورد نظر مطابقت ندارد .لذا قاعده 40 تایید نمی شود.هنوز نتیجه گیری به پایان نرسیده است.چون قاعده 30 قاعده ای به صورت زیر ایجاد کرده است:

Interest rates = rise

اکنون باید بتوتنیم قواعدی را بررسی کنیم که این شرط جدید را بررسی کرده باشد,که قاعده 10 چنین است :

10 if interest rates = fall

Then stock market = rise

که بدلیل پایین آمدن نرخ بهره ,با شرایط جدید ما ساز گاری ندارد .اما ما در قاعده 20 داریم:

20 if interest rates = rise

Then stock market = fall

تسلسل معرفی بخش جدید ادامه می یا بد:

Stock market = fall

بنابراین هنوز نتیجه گیری به اتمام نرسیده است .حال باید تمام قواعدی که با این شرط جدید سازگاری دارندرا بررسی کنیم.با مراجعه به کلیه قسمت های   ifقواعد می بینیم که هیچ قاعده یی شرط stock market را دارا نمی باشد.لذا دیگر نمی توانیم جلوتر برویم و بنابراین تصمیم به انتها رسیده است.لذا برای مشتری خود گذارش زیر را خواهیم داشت:

"وقتی که نرخ برابری دلارپایین بیاید,نرخهای بهره افزایش یافته و بازار سهام افت خواهد یافت".


پایگاه معرفت:

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

ادامه بزودی ....

 

+ نوشته شده در  سه شنبه 19 اردیبهشت1385ساعت 11:4  توسط صابر موسی پور  | 

سیستم هوشمندی وجود دارد که سبب انتخاب صحیح پاسخ مناسب مربوط به شرایط خاص میشود که این سیستم "هرس " نامیده میشود .همانطوری که از نامش پیداست هرس کردن سبب میشود که فکرهایی که در حال حاضر مربوط به هدف مورد نظر نمیشود حذف شوند.

سیستم هرس کردن نیز در مغز ما تمامی واقعیت ها و قواعدی که به هدف ما مربوط نمی شود را قطع میکند.

هرس کردن سبب میشود که نظم لازمی در فکر ما برقرار شود که بدون آن زندگی کردن امکان ناپذیر میشود.

مکانیسم استنتاج

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

تعریف هدف ها

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

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

آیا این شخص با عمل جمع مشکل دارد ؟

آیا این شخص با عمل ضرب مشکل دارد؟

آیا این شخص در مورد عمل جمع مشکل دارد؟

آیا این شخص در مورد عمل تقسیم مشکل دارد ؟

تعریف واقعیت ها

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

" آیا این شخص در مورد عمل تفریق مشکل دارد ؟"

تفریق عملی است که نیاز به یکسری مهارت های ریاضی دارد .این مهارت ها واقعیت هایی هستند که مربوط به هدف مورد نظر می باشند.برای انجام عمل تفریق باید این شخص قادر باشید عملیات زیر را انجام دهد:

تفریق دو عدد بدون قرض کردن

تفریق دو عدد با یک ستون قرض کردن

تفریق دو عدد با چند ستون قرض کردن



کسب اطلاعات

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

پاسخ هایی که دریافت می شود اطلاعاتی هستند که می توانیم از آنها استفاده نماییم.

سپس این اطلاعات در یک بانک اطلاعاتی قرار داده می شوند تا بتوانند برای سنجش توانایی شخص در انجام عمل تفریق مورد استفاده قرار گیرند.
+ نوشته شده در  چهارشنبه 13 اردیبهشت1385ساعت 15:30  توسط صابر موسی پور  | 

مطالب قدیمی‌تر