عنوان :
تعداد صفحات : ۱۸۵
نوع فایل : ورد و قابل ویرایش
هوش مصنوعی یکی از پهناورترین، جذابترین و مهمترین قسمتهای علوم کامپیوتری است. در این مقاله سعی شد مفاهیم اولیه این علم در ساخت بازیهای کامپیوتری توضیح داده شود. در (فصل اول) کلیات هوش مصنوعی موردمطالعه قرار میگیرد و سئوالاتی نظیر این که هوش مصنوعیچیست؟ تفاوت هوشمصنوعی و هوش طبیعی (انسانی) درچیست؟ انواع و شاخههای عمده هوش مصنوعی کدامند؟ و نهایتأ، اجزایهوش مصنوعی نیز تشریح میشود ،کاربردهای هوش مصنوعیدر صنایع و مؤسساتتولیدی، مورد مطالعه وتجزیه و تحلیل قرارمیگیرد. ودر فصل دوم به بررسی هوش مصنوعی در بازی های کامپیوتری و در فصل سوم به بررسی تکنیک برنامه نویسی در هوش مصنوعی مورد مطالعه قرار می گیرد .
واژه های کلیدی: هوش مصنوعی، هوش طبیعی، بازی های کامپیوتری، تکنیک برنامه نویسی
چکیده ۱
مقدمه ۲
فصل اول : کلیات موضوع
تعریف و طبیعت هوش مصنوعی ۷
پیدایش و پیشرفت هوش مصنوعی ۸
هوش مصنوعی و هوش انسانی ۱۲
شاخههای هوش مصنوعی ۱۴
فلسفهٔ هوش مصنوعی ۲۷
ویژگی های هوش مصنوعی ۴۸
دو فرضیه در هوش مصنوعی ۵۲
انواع هوش مصنوعی ۵۳
کاربرد هوش مصنوعی ۵۷
معمای هوش الکترونیک ، مبانی و شاخههای علم هوش مصنوعی ۵۹
چالشهای بنیادین هوشمصنوعی ۶۴
فصل دوم : هوش مصنوعی در بازیهای کامپیوتری
هوش مصنوعی در بازیهای کامپیوتری ۷۱
بازیهای تأثیرگذار در هوشمصنوعی ۸۸
فصل سوم : تکنیک ها وزبانهای برنامه نویسی هوش مصنوعی
تکنیک ها وزبانهای برنامه نویسی هوش مصنوعی۱۱۸
مثالی از برنامهنویسی شیءگرا در شبکههای عصبی و هوش مصنوعی۱۶۳
سخن آخر۱۷۹
فهرست منابع۱۸۰
فهرست منابع
ایلین ریچ، هوش مصنوعی(وتکنیکها)، ترجمه آزاد از دکتر مهرداد فهیمی، نشر جلوه، ۱۳۷۵،
کتاب مقدمه ای بر هوش مصنوعی
۱٫Phlippe coiffet, “Robots technology” volume 1, Prentice – Hall Inc. , 1983. P.ll.
۲٫ Derrek Kelley , ” A Loyman, S., “Introduction to Rabaties,” New Jersey, 1986.
۳٫ Martin A. Fischer Oscar Firschern,”Questions, Intelligence and IntelligentBehavior,” Computer and people, Vol., 36, Nos, 5.6, May 1987.
۴٫ Lotfizadeh A., “The calculeus of Fuzzy If / Then Pulls All Expert, ” March 1992.
۵٫ Povl William, ” Silicon Babies, ” Scientific American, Dec. 1991.
۶٫Nisenfeld, A. E., Artificial Intelligence Handbook: Principles, Instrument Society of America, ۱۹۸۹. ISBN: ۱ – ۵۵۶۱۷ – ۱۳۳
هوش مصنوعی به هوشی که یک ماشین از خود نشان میدهد و یا به دانشی در کامپیوتر که سعی در ایجاد آن دارد گفته میشود. بیشتر نوشته ها و مقاله های مربوط به هوش مصنوعی آن را “دانش شناخت و طراحی مامورهای هوشمند تعریف کرده اند. یک مامور هوشمند سیستمی است که با شناخت محیط اطراف خود, شانس موفقیت خود را بالا میبرد جان مکارتی که واژه هوش مصنوعی را در سال ۱۹۵۶ استفاده نمود, آن را دانش و مهندسی ساخت ماشین های هوشمند” تعریف کرده است. تحقیقات و جستجوهایی انجام شده برای رسیدن به ساخت چنین ماشین هایی مرتبط با بسیاری از رشته های دانشیک دیگر میباشد, مانند دانش کامپیوتر, روانشناسی, فلسفه, عصب شناسی, دانش ادراک, تئوری کنترل, احتمالات, بهینه سازی و منطق.
« هوش مصنوعی، دانش ساختن ماشین ها یا برنامههای هوشمند است. » همانگونه که از تعریف فوق-که توسط یکی از بنیانگذاران هوش مصنوعی ارائه شده است- برمیآید،حداقل به دو سؤال باید پاسخ داد:
۱ـ هوشمندی چیست؟
۲ـ برنامههای هوشمند، چه نوعی از برنامهها هستند؟تعریف دیگری که از هوش مصنوعی میتوان ارائه داد به قرار زیر است:
« هوش مصنوعی، شاخهایست از علم کامپیوتر که ملزومات محاسباتی اعمالی همچون ادراک (Perception)، ستدلال(reasoning) و یادگیری(learning) را بررسی کرده و سیستمی جهت انجام چنین اعمالی ارائه میدهد.»و در نهایت تعریف سوم هوش مصنوعی از قرار زیر است:
«هوش مصنوعی، مطالعه روشهایی است برای تبدیل کامپیوتر به ماشینی که بتواند اعمال انجام شده توسط انسان را انجام دهد.» به این ترتیب میتوان دید که دو تعریف آخر کاملاً دو چیز را در تعریف نخست واضح کردهاند.
۱ـ منظور از موجود یا ماشین هوشمند چیزی است شبیه انسان.
۲ـ ابزار یا ماشینی که قرار است محمل هوشمندی باشد یا به انسان شبیه شود، کامپیوتر است. هر دوی این نکات کماکان مبهم و قابل پرسشند. آیا تنها این نکته که هوشمندترین موجودی که میشناسیم، انسان است کافی است تا هوشمندی را به تمامی اعمال انسان نسبت دهیم؟ حداقل این نکته کاملاً واضح است که بعضی جنبههای ادراک انسان همچون دیدن و شنیدن کاملاً ضعیفتر از موجودات دیگر است. علاوه بر این، کامپیوترهای امروزی با روشهایی کاملاً مکانیکی(منطقی) توانستهاند در برخی جنبههای استدلال، فراتر از تواناییهای انسان عمل کنند. بدین ترتیب، آیا میتوان در همین نقطه ادعا کرد که هوش مصنوعی تنها نوعی دغدغه علمی یا کنجکاوی دانشمندانه است و قابلیت تعمق مهندسی ندارد؟(زیرا اگر مهندسی، یافتن روشهای بهینه انجام امور باشد، به هیچ رو مشخص نیست که انسان اعمال خویش را به گونهای بهینه انجام میدهد). به این نکته نیز باز خواهیم گشت. اما همین سؤال را میتوان از سویی دیگر نیز مطرح ساخت، چگونه میتوان یقین حاصل کرد که کامپیوترهای امروزین، بهترین ابزارهای پیادهسازی هوشمندی هستند؟
رؤیای طراحان اولیه کامپیوتر از بابیج تا تورینگ، ساختن ماشینی بود که قادر به حل تمامی مسائل باشد، البته ماشینی که در نهایت ساخته شد(کامپیوتر) به جز دسته ای خاص از مسائلقادر به حل تمامی مسائل بود. اما نکته در اینجاست که این «تمامی مسائل» چیست؟ طبیعتاً چون طراحان اولیه کامپیوتر، منطقدانان و ریاضیدانان بودند، منظورشان تمامی مسائل منطقی یا محاسباتی بود. بدین ترتیب عجیب نیست، هنگامی که فوننیومان سازنده اولین کامپیوتر، در حال طراحی این ماشین بود، کماکان اعتقاد داشت برای داشتن هوشمندی شبیه به انسان، کلید اصلی، منطق(از نوع به کار رفته در کامپیوتر) نیست، بلکه احتمالاً چیزی خواهد بود شبیه ترمودینامیک!
به هرحال، کامپیوتر تا به حال به چنان درجهای از پیشرفت رسیده و چنان سرمایهگذاری عظیمی برروی این ماشین انجام شده است که به فرض این که بهترین انتخاب نباشد هم، حداقل سهلالوصولترین و ارزانترین و عمومیترین انتخاب برای پیادهسازی هوشمندیست. بنابراین ظاهراً به نظر میرسد به جای سرمایهگذاری برای ساخت ماشینهای دیگر هوشمند، میتوان از کامپیوترهای موجود برای پیادهسازی برنامههای هوشمند استفاده کرد و اگر چنین شود، باید گفت که طبیعت هوشمندی ایجاد شده حداقل از لحاظ پیادهسازی، کاملاً با طبیعت هوشمندی انسانی متناسب خواهد بود، زیرا هوشمندی انسانی، نوعی هوشمندی بیولوژیک است که با استفاده از مکانیسمهای طبیعی ایجاد شده، و نه استفاده از عناصر و مدارهای منطقی. در برابر تمامی استدلالات فوق می توان این نکته را مورد تاُمل و پرسش قرار داد که هوشمندی طبیعی تا بدان جایی که ما سراغ داریم، تنها برمحمل طبیعی و با استفاده از روش های طبیعت ایجاد شده است. طرفداران این دیدگاه تا بدانجا پیش رفتهاند که حتی ماده ایجاد کننده هوشمندی را مورد پرسش قرار داده اند، کامپیوتر از سیلیکون استفاده می کند، در حالی که طبیعت همه جا از کربن سود برده است. مهم تر از همه، این نکته است که در کامپیوتر، یک واحد کاملاً پیچیده مسئولیت انجام کلیه اعمال هوشمندانه را بعهده دارد، در حالی که طبیعت در سمت و سویی کاملاً مخالف حرکت کرده است. تعداد بسیار زیادی از واحدهای کاملاً ساده (بعنوان مثال از نورونهای شبکه عصبی) با عملکرد همزمان خود (موازی) رفتار هوشمند را سبب می شوند. بنابراین تقابل هوشمندی مصنوعی و هوشمندی طبیعی حداقل در حال حاضر تقابل پیچیدگی فوق العاده و سادگی فوق العاده است. این مساُله هم اکنون کاملاً به صورت یک جنجال(debate) علمی در جریان است. در هر حال حتی اگر بپذیریم که کامپیوتر در نهایت ماشین هوشمند مورد نظر ما نیست، مجبوریم برای شبیهسازی هر روش یا ماشین دیگری از آن سود بجوییم.
هنوز تعریف دقیقی که مورد قبول همهٔ دانشمندان این علم باشد برای هوش مصنوعی ارائه نشدهاست، و این امر، به هیچ وجه مایهٔ تعجّب نیست. چرا که مقولهٔ مادر و اساسیتر از آن، یعنی خود هوش هم هنوز بطور همهجانبه و فراگیر تن به تعریف ندادهاست. در واقع، میتوان نسلهایی از دانشمندان را سراغ گرفت که تمام دوران زندگی خود را صرف مطالعه و تلاش در راه یافتن جوابی به این سؤال عمده نمودهاند که: هوش چیست؟
اما اکثر تعریفهایی که در این زمینه ارایه شدهاند بر پایه یکی از ۴ باور زیر قرار میگیرند:
سیستمهایی که به طور منطقی فکر میکنند
سیستمهایی که به طور منطقی عمل میکنند
سیستمهایی که مانند انسان فکر میکنند
سیستمهایی که مانند انسان عمل میکنند.
شاید بتوان هوش مصنوعی را این گونه توصیف کرد:«هوش مصنوعی عبارت است از مطالعه این که چگونه کامپیوترها را میتوان وادار به کارهایی کرد که در حال حاضر انسانها آنها رابهتر انجام میدهند».
در اواسط دهه ۱۹۹۰، یک بازی تیراندازی اول شخص منتشر شد که به کاربر امکان میداد بازی را برای خود سفارشی (Customize) کند. این بازی، Quake بود که در فناوری ساخت بازیهای کامپیوتری یک نوآوری محسوب میشد. Quake اولین بازی سهبعدی واقعی است. به این معنی که بهصورت بلادرنگ در سه بعد رندر میشود. (پیش از آن spiritها یا گرافیکهای دوبعدی به صورت سهبعدی شبیهسازی میشدند). چیزهای دیگری نیز در این بازی وجود داشت که موردتوجه قرار گرفت؛ مانند نشانه گرفتن سلاح به بالا یا پایین. زیرا حرکتدادن سلاح به بالا یا پایین نیازمند پردازش در بعد سوم، یعنی عمق یا ارتفاع در یک محیط سهبعدی است.
بازی Quake از موجودات مجازی هوشمند (bot) هر چند با هوش مصنوعی کم، بهره برده بود. هوش مصنوعی یکbot در بازیهای تیراندازی اول شخص، میتواند در دو بخش بررسی شود: یکی ناوبری و حرکت، و دیگری مبارزه. اگر بخواهیم رفتار bot نزدیک به رفتار یک انسان باشد، پیادهسازی آن بسیار پیچیدهتر از هوشمصنوعی در مبارزه است. هر چند پیادهسازی هوش مصنوعی در مبارزه نیز با هر استاندارد و روشی آسان نیست.
برای اینکه باتها بتوانند حرکت کنند، باید بتوانند درباره اشیا و موجودات پیرامون خود یاد بگیرند. این ایده بسیار اساسی، میتواند به بخشهای بیشتری مانند قابلیت آنالیز هنگام حرکت در یک جهت خاص و سپس قابلیت پیدا کردن اشیا و شخصیتهای مجازیِ مقابل در یک مرحله بازی گسترش یابد. این ایدهها شاید ساده به نظر برسند، ولی واقعاً اینگونه نیست؛ چرا که یک bot باید بتواند در برابر دو چیز واکنش درستی داشته باشد: دیوارها و فضاهای خالی. دیوارها شامل همه چیزهایی است که نمیتوان از آن عبور کرد؛ مانند خود یک دیوار، نرده، شخصیتهای مجازی، جعبهها، پلههای رو به بالا و … فضاهای خالی نیز هر جایی است که زمین همواره نیست یا دچار شکستگی است؛ مانند یک چاله، پلههای رو به پایین و … . برای رویارویی با این دو مانع، یک روش خوب، افزایش کارایی تابع جستجو است. این تابع که در بازی Quake معرفی شد، به بات امکان میدهد یک خط را از یکی از بُعدهای X-Y-Z تا بُعد بعدی جستجو کند و اطلاعاتی مانند اینکه <این خط به کجا میرود، چه چیزی آن را قطع میکند و …> را دریافت کند.
دو روش برای گذشتن یکبات از یک مرحله، بیشتر مورد استفاده قرار میگیرد: روش نخست از گرههای گراف وضعیت و روش دوم از مسیرهای (path) آن استفاده میکند. در یک محیط براساس روش گره، گرهها در قسمت قوانین بهینهسازی مرحله (level) که به وسیله سازنده یک bot تعریف شده است قرار دارند. هر گره میتواند اطلاعات بات درباره قسمت خاصی از محیط را بدهد. وضعیت مبارزه، کاربردهای زیادی برای تعدادی از الگوریتمهای جستجو یا پروسه تصمیمگیری دارد. در یک مبارزه، باید برای تشخیص اینکه کدام کار برای بات بهتر است حرکتهای رقیب پیشبینی شود.
روش Minimax، در مواقعی که یک تابع هیورستیک خوب (یک هیورستیک برخلاف الگوریتم، ممکن است به یک پاسخ قطعی نرسد) در دست باشد، میتواند یک حرکت خوب را انجام دهد. از آنجا که minimax روش کندی است، میتوان از Partial Minimax استفاده کرد که در الگوریتمهای تصمیمگیری به کار میرود؛ هر چند این روش هنوز چندان پذیرفته نشده است. پژوهشگران هوش مصنوعی پیشنهاد میکنند، تنها زمانی از Partial Minimax استفاده کنید که یک گزینه بدیهی در دست داشته باشید (زمانی که متغیر minimax با ارزش بیشتر کاملا بهتر از متغیر دیگر باشد). در غیر اینصورت اگر ارزش همه متغیرها نزدیک به هم است، از استراتژی دیگری استفاده کنید. حال آنکه در یک بازی بلادرنگ برای یکbot معمولاً گزینه بدیهی وجود ندارد تا آن را برگزینید. هر گزینه به یک استراتژی متفاوت وابسته است که bot میتواند آن را انتخاب کند.
شاید بسیاری از طرفداران روش minimax به ارزش سرعت، هنگام بررسی کارایی یک بات در بازی بلادرنگ واقف نیستند؛ مانند کمترین زمانی که یک بات نیاز دارد تا درباره یک تصمیم بیندیشد، گزینههای بیشتری که برای تصمیمگیری ایجاد میکند، کیفیت واکنش بهتر و سطح خبرگی. به یاد داشته باشید که یک بات در برابر مغز یک انسان که میتواند دنیای سهبعدی را با کمک حس و تخیل خود تفسیر کند، قرار میگیرد. برای نمونه در یک مبارزه، یک بات نیاز به نشانهگیری به سوی دشمن خود، پیشبینی حرکت آن و… دارد که همه، بدون داشتن درک واقعی از محیطی که در آن قراردارد انجام میشود.
برای دستیابی به بیشترین سرعت، بیشتر از الگوریتم *A استفاده میشود. هر چند این الگوریتم پیشرفته نیست، ولی سرعت بالایی دارد. پیچیدگی زمانی این الگوریتم ((O(log h(n است که (h(n پیچیدگی تابع هیورستیک است. *A یک الگوریتم جستجوی “اول عمق” است که هیورستیک آن را کنترل میکند و میتواند مناسبترین شاخه بعدی گراف را حدس بزند و در هر عمق، تنها شاخهای که ارزش هیورستیک بهتری دارد، گسترش مییابد.
جهت دریافت و خرید متن کامل مقاله و تحقیق و پایان نامه مربوطه بر روی گزینه خرید انتهای هر تحقیق و پروژه کلیک نمائید و پس از وارد نمودن مشخصات خود به درگاه بانک متصل شده که از طریق کلیه کارت های عضو شتاب قادر به پرداخت می باشید و بلافاصله بعد از پرداخت آنلاین به صورت خودکار لینک دنلود مقاله و پایان نامه مربوطه فعال گردیده که قادر به دنلود فایل کامل آن می باشد .