نشریه‌ی الکترونیکی رایانا

گروه کامپیوتر مرکز راهنمایی علامه حلی یک تهران

نشریه‌ی الکترونیکی رایانا

گروه کامپیوتر مرکز راهنمایی علامه حلی یک تهران

نشریه‌ی الکترونیکی رایانا
طبقه بندی موضوعی
آخرین نظرات

هوش مصنوعی (پایه هفتم)

شنبه, ۲۹ اسفند ۱۳۹۴، ۰۱:۰۴ ب.ظ

کامپیوتر اساساً موجود خنگی است و از خود هیچ هوشی ندارد. یعنی فقط مسأله‌هایی را که به او یاد دادیم حل کند را بلد است و هر مسأله‌ی جدیدی را باید از اول به او یاد بدهیم تا بتواند حل‌اش کند. مگر این‌که ما به اندازه‌ی کافی باهوش باشیم و از خلاقیت خود استفاده کنیم تا مجبور نباشیم هر دفعه از اول به کامپیوتر یاد بدهیم. ساده‌ترین کاری که می‌توانیم بکنیم این است که وقتی الگوریتمی برای حل یک مسأله پیدا می‌کنیم و می‌خواهیم برنامه‌اش را بنویسیم، آن را در حالتِ کلّیِ مسأله بنویسیم و برنامه را محدود به حالتِ خاصّی نکنیم. مثلاً اگر می‌گویند برنامه‌ای بنویسید که صد بار چاپ کند سلام، می‌توان برنامه‌ای نوشت که n را بگیرد و n بار چاپ کند سلام. و یا کلّی‌تر، n و s را بگیرد و n بار کلمه‌ی s را چاپ کند.

حال می‌خواهیم برای بازی‌های ریاضی هوش مصنوعی بنویسیم. مرحله‌ی اول این است که خودمان بدانیم که چگونه باید در بازی برنده شویم و در واقع راهبرد پیروزی را بدانیم. سپس هر کاری که خودمان در بازی انجام می‌دهیم تا برنده شویم را باید به دستورات برنامه‌نویسی تبدیل کنیم تا در هر موقعیت کامپیوتر همان کاری را انجام دهد که اگر ما بازی می‌کردیم انجام می‌دادیم.

بازی اول به این صورت است: دو ظرف شکلات روی میز هست، یکی 20 شکلات دارد و دیگری 25 شکلات. به نوبت هر کس از یک ظرف هر تعداد شیرینی که دوست داشت برمی‌دارد و می‌خورد. کسی که در نوبت‌اش هیچ شیرینی باقی نمانده باشد که بخورد بازنده است.



الف) برای بازی اول هوش مصنوعی بنویسید. یعنی برنامه‌ای بنویسید که بگوید می‌خواهد نفر اول بازی کند یا دوم، سپس با کاربر بازی کند و برنده شود. به مثال ( که در آن نه کامپیوتر باهوش است و نه کاربر!) توجه کنید:

>>>

 

Man aval bazi mikonam.

5 ta az zarfe 2 barmidaram.

Shoma chandta barmidarid? Az kodam zarf?

15

1

20 ta az zarfe 2 barmidaram.

Shoma chandta barmidarid? Az kodam zarf?

3

1

2 ta az zarfe 1 barmidaram.

Man barande shodam!

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

ج) [امتیازی]در بازی دوم هم دو ظرف شکلات 20 و 25 تایی روی میز است. این بار هرکس در نوبت خود همه‌ی شکلات‌های یک ظرف را می‌خورد و شکلات‌های ظرف دیگر را به دو دسته (با کمینه یک شکلات) تقسیم می‌کند و هر دسته را در یک ظرف می‌گذارد. بازنده کسی است که نتواند این کار را انجام دهد (یعنی شکلات‌های یک ظرف را بخورد و در ظرف دیگر تنها یک شکلات مانده باشد). برنامه‌ای بنویسید که بگوید می‌خواهد نفر اول بازی کند یا دوم، سپس با کاربر بازی کند و برنده شود.

د) [امتیازی] برنامه‌ی قسمت ج را در حالت کلی بنویسید.

۹۴/۱۲/۲۹
آقای صالحه

نظرات  (۱۴)

۲۹ اسفند ۹۴ ، ۱۵:۰۷ محمدمهدی علی آبادی
سلام 
ببخشید دو تا سوال 
اول این که میشه هیچی نخورد؟؟؟
و دوم این که تنها فرق حالت کلی با معمولی اینه که تعداد رو بپرسه؟؟؟؟
پاسخ:
سلام
خیر
بله
سلام
آیا میتوان از تابع استفاده کرد؟
پاسخ:
اگر دبیر محترم کلاستان درس داده اند، بله
۰۱ فروردين ۹۵ ، ۱۸:۴۸ محمد امین یوسف زاده
ببخشید آیا این تکالیف پایه هفتم برای عید نوروز است؟ ( در ضمن عیدتان نیز مبارک)
پاسخ:
yes
۰۱ فروردين ۹۵ ، ۲۰:۲۶ محمد فرداد زرین تاج
 یه سوال :
حتما باید دستور ها را خوانده باشیم یا از دستور هایی که جداگانه بلدیم نیز می توان استفاده کرد؟؟؟؟:-b
:-b-: b :-)  

پاسخ:
B-)
۰۴ فروردين ۹۵ ، ۲۲:۴۳ محمد امین یوسف زاده
سلام. ببخشید کاربر تعیین می کند که اول یا دوم بازی کند یا کامپیوتر؟ خواهش می کنم جواب بدهید.
پاسخ:
خیر، کامپیوتر تعیین میکند.
میتوانیم فقط ب و د رو حل کنیم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
پاسخ:
واضح نیست؟؟
۰۶ فروردين ۹۵ ، ۱۱:۱۶ محمدمهدی علی آبادی
ببخشید نمی شه که فقط حالت کلی رو بنویسیم و 20 و 25 رو ننویسیم؟؟؟
پاسخ:
قبلی!
۰۸ فروردين ۹۵ ، ۱۹:۰۳ علیرضا مصلی نژاد
میشه بخش الف و ب رو یه جا نوشت؟
چون اگر به بخش ب ورودی 20 و 25 رو بدیم میشه بخش الف
یا برای ج و د؟
پاسخ:
قبلاً جواب دادم.
ولی شخص شما بهتره همه اش رو بنویسی!
۰۸ فروردين ۹۵ ، ۲۱:۵۶ علیرضا مصلی نژاد
هی رجوع دادید به قسمت قبلی همون جا هم گفتید «واضح نیست؟؟»
خب واضح نبوده که پرسیدیم دیگه!
پاسخ:
واضح بوده، شما به اندازه ی کافی فکر نکردید.
۰۹ فروردين ۹۵ ، ۱۵:۴۸ محمد فرداد زرین تاج
میشه از دستورایی که بقیه کلاسا بلدن استفاده کنیم؟؟فک کنم[واضح نیست!!!]که ما اونارو نخوندیم ولی میتونیم استفاده کنیم ؟؟؟

پاسخ:
فقط دستورهایی که دبیر محترم کلاس خودتان آموزش داده اند!
واضح بود آقا محمد فرداد؟
۱۰ فروردين ۹۵ ، ۱۵:۴۱ محمد فرداد زرین تاج
این حرف کاملا واضحه ولی این B-)اصلا واضح نبود.
(اشاره به نظر بالا و نظر7 تا بالا)
۱۲ فروردين ۹۵ ، ۱۴:۰۱ محمد فرداد زرین تاج
باید دست نویس باشد یا تایپی هم قبوله؟؟؟
(برای هر دو سوال)
پاسخ:
دست نویس!
با سلام.عیدتان مبارک. ایا حتما باید ببرد؟
پاسخ:
سلام
بله، باید ببرد.
سلام استاد (الکی مثلا نمی دونین من کیم)
اینا کامپیوترشون اینقد شوکولات میخوره دل هنگ نمی گیره؟
پاسخ:
:))))))

ارسال نظر

نظر دادن تنها برای اعضای بیان ممکن است.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.