این گاه نوشت مربوط به درس هوش مصنوعی رشته علوم کامپیوتر دانشکده علوم ریاضی دانشگاه صنعتی شریف می باشد.

۱۳۸۹ دی ۲۲, چهارشنبه

سیستم های خبره

سیستم های خبره یکی از شاخه های هوش مصنوعی است که به عنوان نرم افزارهای تصمیم یار در قانون گذاری، پزشکی، مهندسی و ... کاربرد دارند. فرض کنید اتومبیل شما به یک نرم افزار مجهز است که علت خرابی را به تعمیرکار گزارش می دهد. یا یک پزشک که با ارائه علائم یک بیماری در مورد بیماری از یک نرم افزار یاری می جوید. اینها نمونه هایی ساده از کاربردهای سیستم های خبره هستند. یک سیستم خبره از دو بخش اصلی تشکیل می شود

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

این لینک به معرفی سیستم های خبره در ژاپن می پردازد.

۱۳۸۹ دی ۱۶, پنجشنبه

بازي دومينو


بازي دومينو تفاوت اساسي با دو بازي GO و OTHELLO دارد. در اين بازي بر خلاف دو بازي ديگر، بخشي از اطلاعات بازي مخفي است. بازي را چندين بار انجام دهيد تا آن را خوب ياد بگيريد (مي توانيد الگوريتم يادگيري بنويسيد كه همانند مغز شما بازي را خوب ياد بگيرد؟). تابع ارزيابي مناسبي را براي بازي معرفي كنيد و الگوريتمي بنويسد كه بازي را بصورت حرفه اي انجام دهد.

DOMINOES

(بازي دومينو ريشه روسي دارد، بازي هاي Othello, Go نيز در شرق آسيا ساخته شده اند. توجه كنيد كه مخترعين اين بازي ها دانشمند نبودند، مردمي بودند كه دور هم جمع مي شدند و براي سرگرمي خود تلاش مي كردند. انسان هنگامي كه وقت و انديشه آزاد پيدا مي كند دست به نوآوري مي زند. فكر مي كنيد پدران ما وقت آزاد خود را به كدام امر مهم مي پرداختند كه يك بازي هوش هم براي ما به ارث نگذاشتند؟!)

بازي Othello


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

بازي GO


بازي GO يك بازي ژاپني است كه پيچيده تر از بازي شطرنج است. بدون خواندن قوانين بازي، آن را در لينك زير بصورت برخط انجام دهيد تا آن را ياد بگيريد (در اين حالت مغز شما دارد الگوريتم هاي يادگيري بدون ناظر را اجرا مي كند). به اين فكر كنيد كه چگونه مي توان برنامه اي نوشت كه بصورت حرفه اي اين بازي را انجام دهد؟ به اين فكر كنيد كه چگونه مي توانيد الگويتمي بنويسد كه بازي را ياد بگيرد؟