دانلود رایگان ایبوک هوش مصنوعی ترجمه شده به وسیله‌ی اینجانب سهراب جلوه گر جلوه‌گر

امیدوارم لحظات خوبی در این وب سایت داشته باشید .....

██ ویرایش 23 – سال 1398 ایبوک هوش مصنوعی سهراب جلوه‌گر (رایگان) ██
نویسنده : سهراب جلوه گر جلوه‌گر تاریخ : شنبه 12 بهمن 1398

 

 

██ ویرایش 23 – سال 1398 ایبوک هوش مصنوعی سهراب جلوه‌گر (رایگان) ██

 

ویرایش 23 – سال 1398 کتاب الکترونیکی هوش مصنوعی ترجمه شده به وسیله‌ی اینجانب سهراب جلوه گر – ارائه‌ی اوّل – 09/11/1398 – رایگان

██ ویرایش 23 – سال 1398 ایبوک هوش مصنوعی سهراب جلوه‌گر (رایگان) ██

 

██ لینک دانلود از PicoFile██

به حجم تقریبی 21.4 مگابایت

http://s6.picofile.com/file/8386490084/SohJel_PERSIAN_AI_eBook_Year_2020_23th_edition_1P.zip.html

 

 

قابل استفاده برای:

الف) علاقه‌مندان به هوش مصنوعی

ب) دانشجویان دوره‌ی کارشناسی که درس هوش مصنوعی را می‌گذرانند، به عنوان کتاب کمک درسی؛ مخصوصاً فصل‌هایی که عنوان(نام) آنها در قسمت «فهرست فصل‌ها» با علامت ستاره(*) مشخّص شده است.

ج) داوطلبان آزمون‌های کارشناسی ارشد مخصوصاً «سازمان سنجش آموزش کشور» که درس هوش مصنوعی جزو مواد امتحانی آزمون آنها است، به عنوان کتاب کمک درسی؛ مخصوصاً فصل‌هایی که عنوان(نام) آنها در قسمت «فهرست فصل‌ها» با علامت ستاره(*) مشخّص شده است.

 

نیاز سیستمی مهم- این کتاب دارای سازگاری با «نرم‌افزار اَدوب اَکروبات ریدِر» می‌باشد؛ شما برای بازکردن فایل پی. دی. اف این کتاب، به نصب «آخرین نسخه» نرم افزار ذکر شده بر روی کامپیوتر خود نیاز دارید.

 

فهرست فصل‌ها

این ایبوک 707 صفحه‌ای، دارای 25 فصل با عنوان‌های زیر می‌باشد:

آشنايي با هوش مصنوعی

* هوش مصنوعی *

Artificial Intelligence

* عامل‌های هوشمند *

Intelligent Agents

* حلّ مسأله و جستجو *

Problem solving and search

* جستجوی آگاهانه یا مکاشفه‌ای *

Heuristic search

* الگوریتم‌های جستجوی محلّی *

Local search algorithms

* مسائل برآورده‌سازي يا ارضای محدودیّت *

Constraint Satisfaction Problems or CSPs

* تئوری بازی‌ها *

Game playing

* عامل‌های منطقی *

Logical Agents

* منطق گزاره‌ای *

Propositional logic

* منطق مرتبه‌ی اوّل *

First Order Logic or FOL

* استنتاج در منطق مرتبه‌ی اوّل *

Inference in First-Order Logic

* نامعلومی یا عدم قطعیّت *

Uncertainty

* شبکه‌های بیزی *

Bayesian networks

* استنتاج در شبکه‌های بیزی *

Inference in Bayesian networks

شناخت سخن یا سخن شناسی‌

Speech Recognition

شبکه‌های عصبی

Neural networks

الگوریتم‌های ژنتیکی

Genetic algorithms

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

Expert systems

سیستم‌های طبقه‌بندی‌کننده

Classifier systems

یادگیری با استفاده از مشاهده‌ها؛ و درخت‌های تصمیم‌گیری

Learning from observations and Decision trees

* برنامه‌ریزی *

Planning

آشنایی با روبوتیک

Introduction to Robotics

* آشنایی با زبان برنامه نویسی پرولوگ *

Introduction to Prolog programming language

آشنایی با زبان برنامه نویسی پایتون

Introduction to Python programming language

 

██ برای کسب اطلاعات بیشتر لطفاً از وبلاگ‌ها و ایمیل‌های زیر استفاده نمائید! ██

 

وبلاگ‌ها:

http://sohjel.blogfa.com

(‌وبلاگ اصلی و توصیّه شده‌)

  

http://sohjel.persianblog.ir

 

ایمیل‌ها:

sohjel@yahoo.com

(پست الکترونیکی اصلی و توصیّه شده)

  

sohjel@live.com

sohjelveh@gmail.com



:: برچسب‌ها: هوش مصنوعی, سهراب جلوه گر,

██ فهرست برخی از عنوان‌های نوشته‌های فصل‌های نسخه‌های پولی ایبوک هوش مصنوعی من ██
نویسنده : سهراب جلوه گر جلوه‌گر تاریخ : پنج شنبه 23 شهريور 1398

 

 

██ فهرست برخی از عنوان‌های نوشته‌های فصل‌های نسخه‌های پولی ایبوک هوش مصنوعی من ██

 

مترجم: سهراب جلوه گر جلوه‌گر

 

فصل اوّل- آشنايي با هوش مصنوعی  

هوش مصنوعی چیست؟

چرا هوش مصنوعی را مطالعه می‌کنیم‌؟

مقایسه‌ی هوش انسانی و هوش کامپیوتری

پژوهش در زمینه‌ی هوش مصنوعی از چه زمانی شروع شد؟

آیا هدف هوش مصنوعی پیاده‌سازی افکار انسان در کامپیوتر است؟

آیا هدف هوش مصنوعی در سطح هوش انسانی است‌؟

هوش مصنوعی تا رسیدن به سطح هوش انسانی چقدر فاصله دارد؟؛ چه هنگام این موضوع روی خواهد داد؟

آیا کامپیوترها ماشین مناسبی برای پیاده‌سازی هوش مصنوعی هستند؟

آیا کامپیوترها برای هوشمند شدن، به اندازه‌کافی، سریع هستند؟

فرزند ماشینی

توضیحی در مورد چند بازی

آیا برخی از افراد نمی‌گویند که «هوش مصنوعی ایده‌ی بدی است.»؟

هوش مصنوعی ضعیف

هوش مصنوعی قوی‌

آیا تئوری‌های «قابلیّت محاسبه» و «پیچیدگی محاسباتی» روش‌هایی کلیدی برای هوش مصنوعی نمی‌باشند؟

مسأله‌های NP-کامل

زندگی مصنوعی

برخی از شاخه‌های هوش مصنوعی

هوش مصنوعی منطقی

الگو‌شناسی(شناخت الگو)

استنتاج

برنامه‌ریزی

شناخت‌شناسی

هستی‌شناسی

ابتکارها(اکتشافات)

برخی از کاربردهای هوش مصنوعی

تئوری بازی‌ها

سخن‌شناسی

فهم زبان طبیعی

تصویر مَجازی‌، در کامپیوتر

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

ارتباط میان هوش مصنوعی و فلسفه

پیش‌نیازهای هوش مصنوعی

برخی از سازمان‌ها و م‍‍‍ؤسّساتی که در زمینه‌ی هوش مصنوعی فعّالیّت می‌کنند‌

معرّفی چند کتاب خوب به زبان انگلیسی در زمینه‌ی هوش مصنوعی

 

فصل دوّم- هوش مصنوعي

هوش مصنوعی چیست؟

عمل کردن شبیه انسان‌: آزمایش تورینگ

استدلال اتاق چینی

تاریخچه‌ی هوش مصنوعی

چگونگی(وضعیّت) فن(جدیدترین فنّـآوری)

 

فصل سوّم- عامل‌های هوشمند  

عامل‌های هوشمند

مثال‌هایی از عامل‌ها

خودمختاری در عامل‌ها

ساختار عامل‌های هوشمند

عامل‌های عقلانی(معقول)

PEAS(محیط کار(وظیفه، عملیّاتی)؛ معیارکارآیی(ارزیابی عملکرد)‌، محیط‌، عمل‌کننده‌ها و حسگرها‌)

محیط‌ها

ویژگی‌های محیط‌ها

قابل مشاهده بودن

قطعی /(یا) اتّفاقی(تصادفی) بودن

دوره‌ای و ترتیبی بودن

ثابت‌(ايستا‌) و پویا(دینامیک) بودن‌

گسسته و پیوسته بودن

تک عاملی یا چندعاملی بودن

انواع عامل‌ها

عامل‌های بازتابی ساده

عامل‌های بازتابی با حالت(وضعیّت) یا عامل‌هایی که وضعیّت جهان را حفظ می‌نمایند یا عامل‌های بازتابی دارای وضعیّت‌های درونی یا عامل‌های بازتابی براساس مدل

عامل‌های هدف‌گرا

عامل‌های سودمند

عامل‌های یادگیرنده

عامل‌های نرم‌افزاری

عامل‌های متحرّک

عامل‌های اطّلاعاتی

 

فصل چهارم- حلّ مسأله و ‌جستجو  

عامل‌های حل کننده‌ی مسأله

چهار گام(مرحله‌ی) کلّی در حلّ مسأله

فرمول‌بندی هدف مسأله

فرمول‌بندی مسأله

جستجو

جستجوی برون خطّی

برخی از مسأله‌های جستجوی کلاسیک

جستجوی برخط(لحظه‌ای یا آنی)

اجرا

چرا روش‌های جستجو را برّرسی می‌نماییم‌؟

حلّ مسأله به صورت جستجو

انواع مسأله

مسأله‌های تک‌حالته

مسأله‌های چندحالته

مسأله‌های احتمالی

مسأله‌های اکتشافی

مسأله‌های خوب‌، تعریف شده

عملکردها(‌عملگرها، عملیّات)

تابع جانشین

فضای حالت‌

مسیر

آزمایش(آزمون) هدف

الگوریتم عامل ساده‌ی حلّ مسأله‌

پیاده‌سازی الگوریتم‌های جستجو در حالت کلّی

فرمول‌بندی مسأله‌ی تک‌حالته

درخت جستجو

یک الگوریتم جستجوی درختی ساده

الگوریتم جستجوی درختي(به بیان دیگر و کامل‌تر نسبت به الگوریتم قبلی)

استراتژی‌(روش)های جستجو

جستجوی نا‌آگاهانه(کور)

روش‌های جستجوی ناآگاهانه

جستجوی اوّلْ سطح

جستجوی با هزینه‌ی یکسان

جستجوی اوّلْ عمق

جستجوی با عمق محدود شده

جستجوی عمیق شونده‌ی تکراری

جریان معکوس(برگشت به عقب)

جستجوی دوطرفه

مقایسه‌ی روش‌های جستجو

حالت(وضعیّت)‌های تکرار شده

الگوریتم جستجوی گراف

 

فصل پنجم- جستجوی آگاهانه‌(مُکاشفه‌ای)  

آگاهانه کردن جستجو

تابع ارزیابی

روش جستجوی اوّل– بهترین

جستجوی حریصانه‌ی اوّل – بهترین

جستجوی A*

بهترکردن A*

روش A* عمیق شونده‌ی تکراری

روش A* با حافظه‌ی محدود شده‌ی(کراندار) ساده شده

اکتشافات(‌ابتکارات‌)

 

فصل ششم- الگوریتم‌های جستجوی محلّی  

مسأله‌های بهینه‌سازی

روش بهبود الگوریتم‌های تکرار شونده

جستجوی محلّی

دورنمای(چشم‌انداز) جستجو

روش جستجوي تپّه‌نوردی

روش جستجوی شبیه‌سازی گرم و سرد کردن

جستجوی پرتو محلّی

الگوریتم‌های ژنتیکی(پیدایشی یا تکوینی) (به طور خلاصه)

تعویض

جهش

مثال- انجام دادن یک الگوریتم ژنتیکی (8-وزیر)

 

فصل هفتم- مسأله‌های برآورده‌سازی(اِرضای) محدودیّت  (قُیود)  

مسأله‌های برآورده‌سازی محدودیّت

گراف محدودیّت

انواع مسأله‌های برآورده‌سازی محدودیّت

گوناگونی محدودیّت‌ها

پِيمايِش(جستجوی) معکوس برای مسأله‌های برآورده‌سازی محدودیّت

آیا می‌توان عدم موفّقیّت‌های حتمی را زود پیدا کرد؟

برّرسی مستقیم

 

فصل هشتم- تئوری بازی‌ها  

محیط‌های چندعاملی

نوع‌های بازی‌ها

آشنایی با چند بازی

بازی شطرنج

بازی چِکِرز(جنگِ نادِر یا دام)

بازی go‌

بازی تَخته نَرد‌

بازی پُل

بازی پوکِر

مینیماکس

هَرَس(بازبینی) - (آلفا-بتا)

بازی‌های قطعی‌ در عمل

بازی‌های غیرقطعی‌ در حالت کلّی

 

فصل نهم- عامل‌های منطقی  

عامل براساس دانش(عامل منطقی)

پایگاه‌های دانش

دنیای هَیولا(Wumpus)

 

فصل دهم- منطق گزاره‌ای

منطق چیست‌؟

منطق گزاره‌ای

ترتیب اولویّت‌ها

مدل‌های موجود در منطق گزاره‌ای

جدول صحّت‌(درستی) برای رابطه‌ها

بیان جملات دنیای هیولا به صورت گزاره‌ای

استلزام

تساوی‌های منطقی

صحّت(اعتبار) و قابلیّت برآورده‌سازی‌

عبارت هُرْنْ یا جمله‌ی هرن

عبارت(کلز) صریح(قطعی، مسلّم)

صورت نرمال ربطْ دهنده(CNF)

روش(شیوه یا متد)های اثبات

زنجیره‌ی پیشرو(مستقیم)

زنجیره‌ی پسرو(معکوس)

تحلیل در منطق گزاره‌ای

 

فصل یازدهم- منطق مرتبه‌ی اوّل  

منطق گزاره‌ای، زبانی ضعیف است و برخلاف زبان طبیعی، قدرت بیان اندکی دارد

منطق مرتبه‌ی اوّل

ظاهر یک زبان مرتبه‌ی اوّل

فرمول مرتبه‌ی اوّل

سور(کمّیّت‌سنج‌)ها در منطق مرتبه‌ی اوّل

ویژگی‌های کمّیّت‌سنج‌ها(سورها)

نقيض و سورها

 

فصل دوازدهم- استنتاج در منطق مرتبه‌ی اوّل  

تاریخچه‌ی کوتاهی از استدلال

استنتاج در منطق مرتبه‌ی اوّل

برداشتن سورها

نمونه‌سازی(معرّفی) عمومی

نمونه‌سازی(معرّفی) وجودی

گزاره‌بندی(گزاره‌سازی)

تبدیل منطق مرتبه‌ی اوّل به استدلال گزاره‌ای

ایرادهای گزاره‌بندی

یکی‌سازی(یکسان‌سازی)

روش تعمیم قیاس استثنائی

زنجیره‌ی پیشرو(مستقیم)

زنجیره‌ی پسرو(معکوس)

تحلیل

 

فصل سیزدهم- نامعلومی (‌عدم‌قطعیّت‌)

نامعلومی

عامل نامعلوم

انواع نامعلومی

چگونه با نامعلومی‌ برخورد کنیم‌؟

منطق و نامعلومی

ضعف‌های منطق

نامعلومی و عقلانیّت

احتمال

متغیّرهای تصادفی

توزیع پیوسته

تصمیم‌گیری با وجود(تحت) نامعلومی

مبانی احتمال

استنتاج با توزیع‌های پیوسته‌ی احتمال

احتمال شرطی

نُرمالْ‌سازی

استقلال

استقلال شرطی

قانون بِیْزْ

 

فصل چهاردهم- شبکه‌های بِیْزی  

استنتاج احتمالی

عامل احتمالی

هدف شبکه‌های بیزی

شبکه‌های بیزی

تراکم(به هم فشردگي)

بیان نامعلومی(عدم‌قطعیّت)‌ به طورخلاصه

 

فصل پانزدهم- استنتاج در شبکه‌های بیزی

انواع گره‌های موجود در یک مسیر

استنتاج در شبکه‌های بیزی

روش حذف متغیّر

 

فصل شانزدهم- شناخت سُخَن یا سخن‌شناسی  

سخن‌شناسی

سخن به صورت استدلال احتمالی

مدل‌های پنهان مارکوف

 

فصل هفدهم- شبکه‌های عصبی  

شبکه‌های عصبی

زیست‌شناسی و علم کامپیوتر

انواع گره‌ها در شبکه‌های عصبی کامپیوتری

انواع شبکه‌های عصبی

پِرْسِـپْتْرونِ (تک لایه‌ای)

ایراد پرسپترون‌های تک لایه‌ای

طبقه‌بندی‌ با استفاده از شبکه‌های عصبی

پرسپترون‌های چند لایه‌ای

شبکه‌های عصبی برگشت کننده

 

فصل هیجدهم- الگوریتم‌های ژنتیکی  

تاریخچه

تعریف الگوریتم‌های ژنتیکی

تکامل‌ در دنیای واقعی

الگوریتم‌های ژنتیکی

گوناگونی‌های زیاد الگوریتم‌های ژنتیکی

کاربردهای الگوریتم‌های ژنتیکی

 

فصل نوزدهم- سیستم‌های خِبره  

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

برخی از کاربردهای سیستم‌های خبره

چرا یک سیستم خبره را می‌سازیم‌؟

ویژگی‌های خوب یک سیستم خبره

سیستم‌های خبره‌ی قانون‌گرا

آشنایی با چند سیستم خبره

 

فصل بیستم- سیستم‌های طبقه‌بندی‌کننده 

سیستم‌های طبقه‌بندی‌کننده

سیستم‌های تولید

طبقه‌بندی‌کننده‌ها

اجزای یک سیستم طبقه‌بندی‌کننده

 

فصل بیست و یکم- یادگیری با استفاده از مشاهده‌ها؛ و درخت‌های تصمیم‌گیری 

یادگیری

انواع بازخورد

یادگیری نظارت شده(کنترل شده)

یادگیری بدون نظارت(کنترل نشده)

تقویّت یادگیری(یادگیری تقویّتی)

تعریف یک مسأله‌ی یادگیری‌

درخت‌های تصمیم‌گیری

 

فصل بیست و دوّم- برنامه‌ریزی  

عامل برنامه‌ریزی

برنامه‌ریزی

مقایسه‌ی برنامه‌ریزی و حلّ مسأله

زبانی برای مسأله‌های برنامه‌ریزی

برنامه‌ریز با مرتبه‌ی جزئی

برنامه‌ریز با مرتبه‌ی کلّی

 

فصل بیست و سوّم- آشنایی با روبوتیک  

تعریف‌هاي روبوت

انواع روبوت

کاربردهای روبوت

چه کارهایی برای انسان سخت و برای روبوت‌ها آسان است؟

چه کارهایی برای انسان آسان و برای روبوت دشوار است؟

فرق روبوت با ماشین‌آلات خودکار

تعريف علم روبوتيك

قوانین روبوتیک

تاریخچه‌ی کوتاهی از روبوتیک

اجزای کلیدی روبوت

طرزکار(مکانیزم) روبوت

حسگرها

عمل‌کننده‌ها

کنترل کننده

سخت‌افزار کنترل کننده

صنایعی که از روبوت‌ها استفاده می‌کنند

روبوت‌های صنعتی‌ چه کارهایی می‌توانند انجام دهند‌؟

 

فصل بیست و چهارم- آشنایی با زبان برنامه‌نویسی پُرولُوگ 

 تعریف رَوال(‌زیر برنامه‌‌)‌ها

فراخوانی روال‌ها

محاسبه‌ها

در مورد متغیّرها

مثال به وجود آوردن یک پایگاه دانش در SWI-Prolog

مثال اجرای یک برنامه در اعلان SWI-Prolog

واژه(تِرم)‌های پرولوگ

واژه‌های ساده

ثابت‌ها

واژه‌های پیچیده(مرکّب)

محاسبه‌های موفّق

محاسبه‌های یگانه

محاسبه‌های چندگانه

یکسان‌سازی(یکی‌سازی)

پردازش لیست

توابع موجود برای لیست‌ها

برّرسی نوع

مقایسه‌ی عبارت‌ها

محاسبه

مقایسه‌ی عبارت‌های محاسباتی

بازگشت

ورودی و خروجی

استفاده از کد اَسکی

 

فصل بیست و پنجم- آشنایی با زبان برنامه‌نویسی پایتون  

مفسّر پایتون

محیط پایتون

نحوه‌ی اجرا و خروج از پایتون در سیستم عامل ویندوز

مبانی پایتون

انواع داده‌ای اساسی

اضافه نمودن رشته‌ی مستندات و توضیح

دستیابی به نام‌هایی که وجود ندارند

انتساب چندگانه

قانون‌های نامگذاری متغيّرها

تاپِل‌ها‌، لیست‌ها و رشته‌ها

اندیس‌های مثبت و منفی

برگرداندن کپی یک زیر مجموعه

کپی گرفتن از کلّ لیست

تاپل‌ها‌ تغییرناپذیرند

لیست‌ها‌ تغییرپذیرند

کارهایی که فقط بر روی لیست‌ها قابل انجام هستند

مقایسه‌ی تاپل‌ها و لیست‌ها

تبدیل لیست به تاپل و تبدیل تاپل به لیست

فهمیدن معناهای آدرس

تابع‌ها در پایتون

نوع‌ها در پایتون

صدازدن(‌فراخوانی) یک تابع

بهترین شیء‌های پایتون‌ تابع‌ها هستند

عبارت‌های منطقی

عملگرهای مقایسه‌ای

عبارت‌های منطقی بولی

ویژگی‌های ویژه‌ی and و or

عبارت‌های شرطی

کنترل جریان [برنامه]

عبارت‌های شرطی

حلقه‌های while

کلمه‌های کلیدی break و continue

عبارت‌های [برّرسی کننده‌ی] وضعیّت(assert)

ساخت لیست‌های جدید

حلقه‌های for

برخی موردهای جالب‌ در مورد تابع‌ها

تعیین مقدارهای پیشْ‌فرض‌ برای آرگومان‌ها

ترتیب آرگومان‌ها

انتساب چندگانه (یادآوری)

ظرف(متغیّر)‌های خالی

عملیّات‌ بر روی رشته‌ها

تبدیل رشته‌ها

وارد کردن و نمونه(ماژول)‌ها

 



:: برچسب‌ها: ██ فهرست برخی از عنوان‌های نوشته‌های فصل‌های نسخه‌های پولی ایبوک هوش مصنوعی سهراب جلوه گر جلوه‌گر ██,

██ فهرست فصل‌های ایبوک هوش مصنوعی من ██
نویسنده : سهراب جلوه گر جلوه‌گر تاریخ : پنج شنبه 23 شهريور 1398

 

 

██ فهرست فصل‌های ایبوک هوش مصنوعی من ██

 

ایبوک هوش مصنوعی من، دارای 25 فصل، با عنوان‌های زیر می‌باشد؛ توجّه کنید که فصل‌های «ستاره(*)دار» در «نسخه‌ی رایگان» وجود ندارند!، همچنین فصل «آشنایی با زبان پایتون» هم به روز شده و در نسخه‌ی رایگان وجود ندارد!:

آشنايي با هوش مصنوعی

* هوش مصنوعی *

Artificial Intelligence

* عامل‌های هوشمند *

Intelligent Agents

* حلّ مسأله و جستجو *

Problem solving and search

* جستجوی آگاهانه یا مکاشفه‌ای *

Heuristic search

* الگوریتم‌های جستجوی محلّی *

Local search algorithms

* مسائل برآورده‌سازي يا ارضای محدودیّت *

Constraint Satisfaction Problems or CSPs

* تئوری بازی‌ها *

Game playing

* عامل‌های منطقی *

Logical Agents

* منطق گزاره‌ای *

Propositional logic

* منطق مرتبه‌ی اوّل *

First Order Logic or FOL

* استنتاج در منطق مرتبه‌ی اوّل *

Inference in First-Order Logic

* نامعلومی یا عدم قطعیّت *

Uncertainty

* شبکه‌های بیزی *

Bayesian networks

* استنتاج در شبکه‌های بیزی *

Inference in Bayesian networks

شناخت سخن یا سخن شناسی‌

Speech Recognition

شبکه‌های عصبی

Neural networks

الگوریتم‌های ژنتیکی

Genetic algorithms

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

Expert systems

سیستم‌های طبقه‌بندی‌کننده

Classifier systems

یادگیری با استفاده از مشاهده‌ها؛ و درخت‌های تصمیم‌گیری

Learning from observations and Decision trees

* برنامه‌ریزی *

Planning

آشنایی با روبوتیک

Introduction to Robotics

* آشنایی با زبان برنامه نویسی پرولوگ *

Introduction to Prolog programming language

آشنایی با زبان برنامه نویسی پایتون

Introduction to Python programming language

 

 



:: برچسب‌ها: ██ فهرست فصل‌های ایبوک هوش مصنوعی من ██, هوش مصنوعی, سهراب جلوه گر جلوه‌گر,

██ آدرس وبلاگ‌ها و ایمیل‌های من ██
نویسنده : سهراب جلوه گر جلوه‌گر تاریخ : پنج شنبه 23 شهريور 1398

 

 

██ آدرس وبلاگ‌ها و ایمیل‌های من ██

وبلاگ‌ها:

http://sohjel.blogfa.com

(‌وبلاگ اصلی و توصیّه شده‌)

 

 

 

http://sohjel.persianblog.ir

http://sohjel.loxblog.ir

 

ایمیل‌ها:

sohjel@yahoo.com

(پست الکترونیکی اصلی و توصیّه شده)

 

 

 

sohjel@live.com

sohjelveh@gmail.com

 

 



:: برچسب‌ها: ██ آدرس وبلاگ‌ها و ایمیل‌های من ██,

██ متن فصل اوّل نسخه‌ی رایگان ایبوک هوش مصنوعی ██
نویسنده : سهراب جلوه گر جلوه‌گر تاریخ : سه شنبه 20 شهريور 1394

 

 

██ متن فصل اوّل نسخه‌ی رایگان ایبوک هوش مصنوعی ██

 

مترجم: سهراب جلوه گر جلوه‌گر

 

 

فصل آشنايي با هوش مصنوعی

 

فهرست برخی از عنوان‌های نوشته‌ها(رئوس مطالب)

هوش مصنوعی چیست؟

چرا هوش مصنوعی را مطالعه می‌کنیم‌؟

مقایسه‌ی هوش انسانی و هوش کامپیوتری

پژوهش در زمینه‌ی هوش مصنوعی از چه زمانی شروع شد؟

آیا هدف هوش مصنوعی پیاده‌سازی افکار انسان در کامپیوتر است؟

آیا هدف هوش مصنوعی در سطح هوش انسانی است‌؟

هوش مصنوعی تا رسیدن به سطح هوش انسانی چقدر فاصله دارد؟؛ چه هنگام این موضوع روی خواهد داد؟

آیا کامپیوترها ماشین مناسبی برای پیاده‌سازی هوش مصنوعی هستند؟

آیا کامپیوترها برای هوشمند شدن، به اندازه‌کافی، سریع هستند؟

فرزند ماشینی

توضیحی در مورد چند بازی

آیا برخی از افراد نمی‌گویند که، «هوش مصنوعی ایده‌ی بدی است.»؟

هوش مصنوعی ضعیف

هوش مصنوعی قوی‌

آیا تئوری‌های «قابلیّت محاسبه» و «پیچیدگی محاسباتی» روش‌هایی کلیدی برای هوش مصنوعی نمی‌باشند؟

مسأله‌های NP-کامل

زندگی مصنوعی

برخی از شاخه‌های هوش مصنوعی

هوش مصنوعی منطقی

الگو‌شناسی(شناخت الگو)

استنتاج

برنامه‌ریزی

شناخت‌شناسی

هستی‌شناسی

ابتکارها(اکتشافات)

برخی از کاربردهای هوش مصنوعی

تئوری بازی‌ها

سخن‌شناسی

فهم زبان طبیعی

تصویر مَجازی‌، در کامپیوتر

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

ارتباط میان هوش مصنوعی و فلسفه

پیش‌نیازهای هوش مصنوعی

برخی از سازمان‌ها و م‍‍‍ؤسّساتی که در زمینه‌ی هوش مصنوعی فعّالیّت می‌کنند‌

معرّفی چند کتاب خوب به زبان انگلیسی در زمینه‌ی هوش مصنوعی

 

 

توجّه:      

بخشی از مطلب‌های این فصل ترجمه‌ی مطلب‌های استاد، جان مِک‌کارتی در مورد هوش مصنوعی، که در آدرس اینترنتی http://www-formal.stanford.edu/jmc/whatisai آمده‌اند، می‌باشد.

 

 

توجّه:      

برخی از مطلب‌هایی که در این فصل بیان شده‌اند، در فصل‌های بعدی به صورت بیش‌تر مورد برّرسی قرار گرفته‌اند.

 

 

هوش مصنوعی چیست؟

 تعريف نخست‌: شاخه‌اي از علم‌ كه به شبيه‌سازي و پياده‌سازي هوش انسان(بشر)‌ در كامپيوتر مي‌پردازد‌.

 تعريف دوّم‌: ساخت ماشین‌هایی که کارهایی را انجام می‌دهند که آن کارها‌ معمولاً‌ با استفاده از هوش انسان انجام می‌شوند‌؛ مثل ترجمه‌ی یک زبان به زبان دیگر‌.

 تعريف سوّم‌: دانش و مهندسی  ساخت ماشین‌های هوشمند و مخصوصاً‌ برنامه‌های کامپیوتری هوشمند می‌باشد‌.

هوش مصنوعی لازم نیست که خودش را به روش‌هایی که به صورت زیستی ‌، قابل مشاهده‌اند‌، محدود نماید‌.

چرا هوش مصنوعی را مطالعه می‌کنیم‌؟

کنجکاوی‌؛ ساخت سیستم‌های هوشمند‌؛ انجام بعضی از کارها‌ مثل بازی شطرنج که به نظر می‌رسد برای انجام آنها می‌توانیم از هوش مصنوعی کمک بگیریم‌؛ انجام کارهایی مثل خنثا کردن مین جنگی ‌، یا تمیز کردن استخر شنا، که برای انسان‌، خطرناک یا کسل کننده هستند‌، از دلیل‌هایی هستند که ما‌ هوش مصنوعی را مطالعه می‌نماییم.

هوش چیست؟

 تعریف- هوش‌، توانایی به‌دست‌آوردن و به‌کار گرفتن دانش و مهارت‌ها می‌باشد‌. 

انواع  و درجه‌های هوش‌، در افراد‌، حيوان‌ها و برخی از ماشین‌ها‌ گوناگون است‌.

مقایسه‌ی هوش انسانی و هوش کامپیوتری

        آرْتورْ آرْ. جِنْسِنْ ‌، «یک فرضیّه‌ی ابتکاری که همه‌ی انسان‌های عادّی ، دارای طرزکار(مکانیزم‌)های عقلانی شبیه هستند را پیشنهاد می‌کند.»‌؛ نظر جنسن‌ در مورد هوش انسانی‌ درست است‌، ولی در موقعیّت فعلی‌ این نظر‌ در مورد هوش مصنوعی‌، معکوس می‌باشد؛ برنامه‌های کامپیوتری‌، دارای سرعت و حافظه‌ی زیادی می‌باشند‌، امّا توانایی عقلانی آنها به توانایی عقلانی طرّاحان برنامه‌ها بستگی دارد‌. به احتمال قوی‌ سازماندهی طرزکار‌های عقلانی‌ برای هوش مصنوعی می‌تواند با  سازماندهی طرزکار‌های عقلانی برای افراد‌ متفاوت باشد‌. هرگاه افراد‌ برخی از کارها را بهتر از کامپیوترها انجام می‌دهند و یا کامپیوتر‌ها تعداد زیادی محاسبه را برای انجام کار‌ به‌خوبی انسان‌ها انجام می‌دهند‌، این نشان می‌دهد که طرّاحان برنامه فهم طرزکار‌های عقلانی لازم برای انجام کار را به طور مناسب نداشته‌اند‌.

آرتور آر. جِنسِن    

پژوهش در زمینه‌ی هوش مصنوعی از چه زمانی شروع شد؟

        بعد از جنگ جهانی دوّم  تعدادی از افراد‌ به صورت مستقل کار بر روی ماشین‌های هوشمند را شروع کردند‌؛ ریّاضیدان انگلیسی‌، آلِن تورینگ ، شاید اوّلین آنها باشد‌؛ وی‌ یک سخنرانی را در مورد هوش مصنوعی در سال 1947 میلادی ارائه نمود‌؛ همچنین وی شاید اوّلین‌ فردی باشد که گفت‌: «برنامه‌نویسی کامپیوترها برای هوش مصنوعی‌ نسبت به ساخت ماشین‌ها‌ بهتر می‌باشد‌.»؛ تا اواخر دهه‌ی 1950‌ ميلادي تعداد زیادی پژوهشگر‌ در زمینه‌ی هوش مصنوعی‌ وجود داشت و بیش‌ترِ آنها اساس کار خود را برمبنای برنامه‌نویسی کامپیوترها گذاشته بودند‌.

آلِن تورینگ  

آیا هدف هوش مصنوعی پیاده‌سازی افکار انسان در کامپیوتر است؟

برخی از پژوهشگران‌ گفته‌اند که می‌خواهند افکار انسان را با استفاده از هوش مصنوعی‌، در کامپیوتر‌ پیاده‌سازی نمایند‌؛ [در این مورد باید این نکته را بگوییم که،] فکر انسان دارای موردهای زیادی می‌باشد و هر فردی به‌طور‌کامل نمی‌تواند همه‌ی آنها را شبیه‌سازی نماید‌.

آیا هدف هوش مصنوعی در سطح هوش انسانی است‌؟

بله. نهایت تلاش این است که برنامه‌های کامپیوتری‌اي که می‌توانند مسأله‌ها را حل کنند و به اهداف دسترسی پیدا کنند را به‌خوبی انسان‌ها بسازند‌.

هوش مصنوعی تا رسیدن به سطح هوش انسانی چقدر فاصله دارد؟؛ چه هنگام این موضوع روی خواهد داد؟

تعداد اندکی از افراد فکر می‌کنند که سطح هوش انسانی‌ با استفاده از زبان‌هایی که اکنون برای بیان دانش استفاده می‌شوند و با نوشتن برنامه‌های طولانی، که هم اکنون در حال نوشتن و سرهم‌بندی پایگاه‌های دانش  واقعیّت‌ها هستند‌، قابل دسترسی ‌باشد‌.

بیش‌ترِ پژوهشگران هوش مصنوعی‌ تصوّر می‌کنند که ایده‌های بنیادین جدید مورد نیازند‌ و بنابراین‌ قابل پیش‌بینی نیست که سطح هوش انسانی‌ قابل دسترسی باشد‌.

آیا کامپیوترها‌ ماشین مناسبی برای پیاده‌سازی هوش مصنوعی هستند؟

کامپیوترها‌ برای شبیه‌سازی هر نوع از ماشین‌ها می‌توانند برنامه‌ریزی شوند‌.

آیا کامپیوترها برای هوشمند شدن به اندازه‌ی کافی سریع هستند؟

برخی از افراد‌ فکر می‌کنند که، کامپیوترهای به مراتب سریع‌تر‌ و همچنین ایده‌های جدید‌ لازم هستند‌. نظر شخصی استاد، جان مِک‌کارتی‌ این بود که‌: «کامپیوترهای سی سال پیش هم‌ در صورتی که بدانیم آنها را چگونه برنامه‌ریزی نماییم‌، به اندازه‌ی کافی‌ سریع می‌باشند‌؛ البتّه‌ به طور مجزّا از بلند پروازی‌های پژوهشگران هوش مصنوعی‌، کامپیوتر‌ها‌ روند سریع‌تر شدن را دنبال می‌کنند‌.».

فرزند ماشینی ‌

 تعریف- فرزند ماشيني برنامه‌اي كامپيوتري است كه مانند يك بچّه‌ي هيجده ماهه  می‌تواند با آموزش و با یادگیری، از راه تجربه‌، بهتر شود‌؛

شروع بحث آن‌ از دهه‌ی 1940 میلادی بوده است‌؛ امّا برنامه‌های هوش مصنوعی‌ هنوز به آن اندازه نرسیده‌اند که قادر باشند به اندازه‌ای که یک بچّه‌ از تجربه‌ی محیط‌ یاد می‌گیرد، یاد بگیرند‌.

 توضیحی در مورد چند بازی

 بازي شطرنج

بازی‌ای دو نفره است که در آن‌ هر نفر‌ شانزده مهره را با استفاده از قوانینی ثابت‌ در یک صفحه‌ی شطرنجی ‌ حرکت می‌دهد و تلاش می‌کند که مهره‌ی شاه  حریف را کیش‌و‌مات  نماید ‌. برنامه‌های بازی شطرنج‌ در حال حاضر‌ در سطح «استاد بزرگ» ‌ اجرا می‌شوند‌؛ امّا آنها این کار را با استفاده از طرزکار‌های محدود شده در مقایسه با انسان و با انجام تعداد زیادی محاسبات‌، برای فهم راه‌، انجام می‌دهند‌؛ ما این طرزکار‌ها را بهتر می‌فهمیم و می‌توانیم برنامه‌های شطرنج را در سطح انسانی‌ بسازیم طوری که محاسبه‌های کم‌تری را نسبت به برنامه‌های فعلی‌ انجام دهند‌. نمونه‌ای از صفحه‌ی این بازی را به همراه مهره‌های آن‌ در شکل زیر‌ می‌توانید ببینید:

 

 بازی Go

بازی دو نفره‌ی چینی و ژاپنی Go‌، بازی‌ای روی مقوّایی معمولاً دارای نوزده خطّ افقی و نوزده خطّ عمودی است‌ که در آن‌ معمولاً‌ یکی از بازی‌کنندگان‌ دارای مهره‌های سفید رنگ و یکی دیگر از بازی‌کنندگان‌ دارای مهره‌های سیاه رنگ می‌باشد‌. در زیر‌ تصویرهایی از صفحه‌ی این بازی را به همراه مهره‌های آن مشاهده می‌نمایید‌:

 

 

 بازی تیک‌-تاک‌-تو

بازی تیک–تاک–تو‌ دارای دو بازیگر می‌باشد‌. برای هر دو بازیگر هدف این است که اوّلین فردی باشند که سه شیء همانند را در یک ردیف‌، ستون، یا قطر‌ قرار می‌دهند‌. صفحه‌ی این بازی‌ دارای یک شبکه‌ی سه در سه می‌باشد‌؛ بنابراین‌ دارای نه خانه می‌باشد‌.  در زير‌ تصويري از اين بازي را مي‌بينيد؛ در اين شكل‌ چون فرد استفاده كننده از ‌، سه‌تاي آنها را در يك ستون‌ قرار داده است‌، [بازی را]  برده است‌:

 

 

آیا برخی از افراد نمی‌گویند که «هوش مصنوعی ایده‌ی بدی است.»؟

 

جان سِرل   فیلسوفی به نام جانْ سِرْلْ  می‌گوید که‌: «ایده‌ی ماشینی‌ غیرزنده(غیرزیستی، غیر‌بیولوژیکی)  که می‌تواند هوشمند شود‌، ایده‌ای نقض‌کننده می‌باشد.»؛ وی‌ استدلال اتاق چینی  را پیشنهاد می‌کند ‌؛ فیلسوفی به نام هیوبِرْتْ دِرایْفِسْ  می‌گوید که‌: «هوش مصنوعی، غیرممکن می‌باشد.»؛ دانشمند علوم‌کامپیوتری‌ای به نام جُزِفْ وایْزِنْباوْمْ ‌ می‌گوید که‌: «ایده‌ی هوش مصنوعی‌، ضدّ‌انسانی و غیر‌اخلاقی می‌باشد.»؛ برخی دیگر از افراد‌ می‌گویند: «چونکه هوش مصنوعی‌ تا‌کنون به اهداف خود نرسیده است‌، پس‌ غیر‌ممکن می‌باشد.»؛ سایر افراد‌ از اینکه می‌بینند کمپانی‌های سرمایه‌گذاری‌کننده‌ ورشکست می‌شوند، ناامید می‌شوند‌.

 

هیوبِرت دِرایفِس

 

 

جُزِف وایزِنباوم

       

 

آشنايي با برخي از واژه‌ها

هوش مصنوعی ضعیف

 تعریف- اوّلین هدف هوش مصنوعی‌(‌هوش مصنوعی ضعیف‌)‌، ساختن چیزها(‌موجودیّت‌ها‌)‌ی هوشمند می‌باشد‌.

هوش مصنوعی ضعیف برخلاف هوش مصنوعی قوی قصد رسیدن به سطح هوش انسانی یا فراتر رفتن از سطح هوش انسانی را ندارد.  به هوش مصنوعی ضعیف، هوش مصنوعی عملی(کاربردی)  یا هوش مصنوعی محدود  هم گفته می‌شود.

هوش مصنوعی قوی‌

 تعریف نخست: هوش مصنوعی‌ای است که به سطح هوش انسانی می‌رسد و یا از سطح هوش انسانی هم فراتر می‌رود. هوش مصنوعی قوی می‌تواند درک نماید یا خودآگاه  باشد؛ امّا ممکن است پردازش‌های فکری شبیه انسان را داشته باشد یا نداشته باشد‌.

 تعریف دوّم: فهمیدن چیزها‌(‌موجودیّت‌ها‌)‌ی هوشمند و شاید حتّا فهمیدن و مهندسی هوش انسان‌ می‌باشد‌.  

 تعریف سوّم: دیدی است که می‌گوید‌، مغز انسان‌ یک ابزار محاسباتی‌ می‌باشد و کامپیوترها‌ به‌طور‌کلّی‌ قادرند که فکر کنند.

 تعریف چهارم: به عنوان تعریفی دیگر‌، هوش مصنوعی قوی یک شکل فرضی از هوش مصنوعی است که می‌تواند به درستی‌ استدلال نماید و مسأله‌ها را حل کند‌.

 

آیا تئوری‌های «قابلیّت محاسبه»  و «پیچیدگی محاسباتی» ‌ روش‌هایی کلیدی برای هوش مصنوعی نمی‌باشند؟

(توجّه کنید که افراد عامّی و مبتدیّان علم کامپیوتر‌ نمی‌توانند در این موردها اظهار نظر کنند‌، این‌ها‌ کاملاً‌ شاخه‌های منطقی ریّاضی و علم کامپیوتر می‌باشند و جواب این موردها‌ باید‌ تا‌حدودی تکنیکی باشد‌.‌)

 

راجِر پِنرُز

 

اِستیوِن کوک

 

کِرت گادُل

 

ریچارد کارپ

نه؛ این تئوری‌ها‌ مورد استفاده قرار می‌گیرند‌ ولی مسأله‌های اساسی هوش مصنوعی را جوابگو نمی‌باشند‌. در دهه‌ی 1930‌ ميلادي‌، منطقدانان ریّاضیّات و مخصوصاً‌ کِرْتْ گادُلْ  و آلن تورینگ‌ ثابت کردند که الگوریتم‌هایی برای ضمانت اینکه همه‌ی مسأله‌ها در دامنه‌های مهمّ ریّاضی بتوانند حل شوند‌، وجود ندارند‌؛ یک معادله‌ی چند‌جمله‌ای دارای چند متغیّر، یک مثال می‌باشد؛ راجِرْ پِنْرُزْ  این مطلب را ادّعا می‌کند كه‌، انسان‌ها همیشه همه‌ی مسأله‌ها را در دامنه‌های مهمّ ریّاضی حل کرده‌اند، ولی کامپیوترها‌ به طور ذاتی‌ قادر به انجام کارهایی که افراد می‌توانند انجام دهند‌، نمی‌باشند‌. به هر حال‌ افراد‌ حلّ مسأله‌های دلخواه را در این موردها نمی‌توانند ضمانت کنند‌.  در دهه‌ی 1960 ميلادي‌، دانشمندان علوم کامپیوتر و مخصوصاً‌ اِسْتیوِنْ کوکْ  و ریچارْدْ کارْپْ  تئوری مسأله‌های با دامنه‌ی NP-کامل  را به وجود آورد‌ند‌؛ انسان‌ها اغلب مسأله‌های NP–کامل را در زمان‌هایی به مراتب‌ کوتاه‌تر از آنچه که به وسیله‌ی الگوریتم‌های کلّی(عمومی)‌ انجام می‌شوند‌، حل می‌کنند‌، امّا در حالت کلّی‌ نمی‌توانند این مسأله‌ها را به سرعت حل کنند‌. اثبات اینکه برنامه‌ی انتخاب شده‌ کوتاه‌ترین یا نزدیک به کوتاه‌ترین است‌، یک مسأله‌ی غیر قابل حل می‌باشد‌.

 

مسأله‌های NP-کامل

 یادآوری- یک نوع از مسأله‌های محاسباتی هستند که هیچ الگوریتم مناسبی برای حلّ آنها پیدا نشده است‌؛ مسأله‌ها در دامنه‌های NP‌-کامل، قابل حل می‌باشند‌، امّا به نظر می‌رسد که زمان‌ برای حلّ این مسأله‌ها‌ با افزایش اندازه‌ به صورت نمایی(توان‌دار، به عنوان مثال، 225)‌ افزایش یابد‌. مسأله‌ی فروشنده‌ی دوره‌گرد ‌ مثالی از این نوع مسأله‌ها می‌باشد:

 

 

زندگی مصنوعی

 

 تعريف‌- مطالعه‌ي سيستم‌هاي تركيبي‌ كه به طريقي‌ مانند سيستم‌هاي زنده‌ي طبيعي‌ رفتار مي‌كنند‌، می‌باشد.

        زندگی مصنوعی دارای دورنماهای بسیار خوبی در زیست‌شناسی و علم کامپیوتر‌ می‌باشد‌. این شاخه از علم‌ در مورد کِشت مصنوعی‌؛ رفتارهای شبیه زندگی‌؛ نظیر: رویِش‌، سازگاری‌، تولید مِثل‌، اجتماعی شدن‌، یادگیری و حتّا مرگ‌، تحقیق می‌نماید‌ و محدود به چیزهای ابتدایی نمی‌باشد‌؛ دانشمندان زندگی مصنوعی‌ می‌توانند از ترکیبی از اجزا و برنامه‌های کامپیوتری‌ که در زمان‌ صرفه‌جویی می‌کنند و دیگر فنّـآوری(تکنولوژی)‌ های شگفت انگیز‌، مانند آنهایی که برای تولید رفتارها‌ جستجو می‌نمایند‌، استفاده نمایند. 

 

 

برخی از شاخه‌های هوش مصنوعی

در زیر،‌ لیستی از شاخه‌های هوش مصنوعی‌ آمده است‌، امّا به یقین‌ برخی از شاخه‌ها در لیست زیر وجود ندارند‌، زیرا‌ هنوز‌ آنها ناشناخته‌اند‌.

هوش مصنوعی منطقی

 تعریف- اینکه یک برنامه‌ در حالت کلّی‌ واقعیّت‌های وضعیّت معیّنی که در آن باید عمل کند را می‌داند و اهدافی که به وسیله‌ی عبارات گاهی با زبان منطقی ریّاضی ارائه می‌شوند را می‌داند‌.

جستجو

برنامه‌های هوش مصنوعی‌ معمولاً‌ تعداد زیادی از حالت‌ها را برّرسی می‌کنند؛ به عنوان مثال، حرکت‌های درون یک بازی شطرنج‌.

الگو‌شناسی(شناخت الگو)

 تعریف نخست: در علم کامپیوتر‌، تشخیص داده‌های ورودی‌؛ مثل سخن‌، تصویرها و رشته‌های متنی‌، با شناخت و تشریح ویژگی‌ها و تشخیص ارتباط‌های میان آنها است‌.

 تعریف دوّم: توانایی یک کامپیوتر برای پیدا کردن و جداکردن شکل‌های درون یک تصویر.

 تعریف سوّم: شاخه‌ای از هوش مصنوعی است که به طبقه‌بندی یا توصیف مشاهده‌ها می‌پردازد.

به عنوان مثال، در شکل زیر صورت شخص با استفاده از نرم‌افزاری خاص تشخیص داده شده است :

 

نمایش(ارائه، بازنمائی)

واقعیّت‌های یک محیط‌ باید به طریقی نمایش داده شوند‌. در این مورد‌ معمولاً‌ از زبان‌های منطقی ریّاضی‌ استفاده می‌شود‌.

استنتاج

 تعریف- از برخی از واقعیّت‌ها‌ دیگر واقعیّت‌ها می‌تواند به وجود آيد‌.

استنتاج منطقی ریّاضی‌ برای برخی از اهداف‌ کافی می‌باشد‌. متدهای جديد استنتاج غیر یکنواخت ‌ از دهه‌ي 1970 ميلادي‌ به منطق‌ اضافه شده‌اند‌. ساده‌ترین نوع استدلال غیر یکنواخت‌ استدلال پیشْ‌فرض است که در آن‌ یک نتیجه‌گیری‌ به صورت پیش‌فرض‌ استنتاج(نتیجه‌گیری) می‌شود‌؛ امّا نتیجه‌گیری‌ می‌تواند در صورتی که مدرک(‌دلیل‌)‌ عوض شود‌، عوض بشود‌؛ برای مثال‌، زمانی که ما از یک پرنده حرف می‌زنیم‌، نتیجه می‌گیریم که می‌تواند پرواز کند‌؛ امّا این استنتاج زمانی که در مورد پنگوئن‌ حرف می‌زنیم‌، می‌تواند عوض شود‌:

 

برنامه‌ریزی

برنامه‌ریزی‌ تلاش می‌کند که عملیّات را برای رسیدن به هدف‌ها‌ مرتّب نماید‌. کاربردهای برنامه‌ریزی‌ شامل تدارکات ‌، زمانبندی ساخت  و برنامه‌ریزی ساخت مراحلی برای تولید محصول مطلوب می‌باشد‌. با یک برنامه‌ریزی بهتر‌ می‌توان مقادیر زیادی در هزینه‌ صرفه‌جویی نمود‌.

شناخت‌شناسی

 تعریف نخست: یک شاخه از فلسفه‌  است که در مورد منبع ‌، طبیعت ‌، روش‌ها و محدودیّت‌های دانش انسان‌ بحث می‌کند‌.

 تعریف دوّم: شناخت‌شناسی‌ مطالعه در مورد این است که ما چه می‌دانیم و چگونه می‌دانیم‌. 

 تعریف سوّم: مطالعه‌ای بر روی انواع دانش‌ که برای حلّ مسأله‌ها در محیط(جهان) لازم می‌شوند، می‌باشد‌.

هستی‌شناسی

 تعریف نخست: شاخه‌ای از مِتافیزیک  است که در مورد طبیعت موجودات‌ صحبت می‌کند‌.

 تعریف دوّم: هستی‌شناسی‌ مطالعه‌ی انواع چیزهایی است که موجودند‌؛

در هوش مصنوعی برنامه‌ها و عبارات‌ به انواع مختلفی از اشیا می‌پردازند و ما‌ اینکه این انواع چیستند و ویژگی‌های اساسی آنها چیستند را مطالعه می‌کنیم‌. تأکید بر هستی‌شناسی‌ از دهه‌ي 1990 ميلادي‌ شروع شد‌.

ابتکارها(اکتشافات)

برای افزایش احتمال حلّ برخی از مسأله‌ها‌ به کار می‌روند‌ ؛ و روش‌هایی مبتنی بر آزمایش، برای حلّ مسأله هستند. روش‌های مکاشفه‌ای برای بالا بردن سرعت پردازه‌ی پیداکردن یک راه حلّ به اندازه‌ی کافی خوب، در زمانی که جستجوی کامل نشدنی است، به کار می‌روند.

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

 

برخی از کاربردهای هوش مصنوعی

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

تئوری بازی‌ها

بازی‌ها‌ موردهایی خوب‌ برای تحقیق می‌باشند‌؛ زیرا‌ بازی‌ها‌ کوچک و جامع هستند‌ و بنابراین‌ به آسانی‌ برنامه‌ریزی می‌شوند‌. بازی‌ها‌ مدل‌های خوبی از وضعیّت‌های رقابتی‌ می‌توانند باشند‌، بنابراین‌، روش‌های طرّاحی شده برای تئوری بازی‌ها‌ شاید بتوانند در مسأله‌های عملی هم‌ به کار گرفته شوند‌.

سخن‌شناسی

 تعریف- سخن‌شناسی‌، توانایی سیستم‌های کامپیوتری‌ برای پذیرش  سخن، به صورت ورودی، و کار بر روی آن، یا تبدیل آن به صورت نوشتاری است‌.  

در دهه‌ی  1990‌ ميلادي‌ سخن‌شناسی کامپیوتری‌ به سطحی کاربردی‌ برای اهدافی محدود‌ رسید‌؛ [به عنوان مثال،] خطوط هوایی کشور ایالات متّحده‌ی آمریکا‌، صفحه‌کلیدی درختی را که برای اطّلاعات پرواز‌ استفاده می‌شد، با سیستمی که از سخن‌شناسی‌ استفاده می‌کرد‌، برای شماره‌های پرواز و نام شهرها جایگزین کردند‌؛ این روش‌ کاملاً مناسب بود.

در شکل زیر هم تصویری از برنامه‌ی محافظ صفحه‌ی نمایش  کامپیوتر شرکت توشیبا ، که در آن، شِکلَک به سؤال‌های کاربر، مثل «Where are you?» پاسخ می‌دهد  را می‌بینید:

 

 

فهم زبان طبیعی

فهم زبان طبیعی یکی از سخت‌ترین مسأله‌ها در هوش مصنوعی است.  فقط دریافت کلمات متوالی‌ در یک کامپیوتر‌ کافی نمی‌باشد‌؛ فقط تجزیّه‌ی جملات‌ هم‌ کافی نمی‌باشد‌؛ کامپیوتر‌ باید بفهمد که متن‌ در چه موردی می‌باشد؛ و این مورد‌ به زودی برای دامنه‌های خیلی محدود امکان‌پذیر می‌باشد‌.

تصویر مَجازی‌، در کامپیوتر

 تعریف- موردی در روبوتیک  است که در آن‌ برنامه‌ها‌ تلاش می‌کنند اشیائی که به صورت تصاویر دیجیتالی‌، به وسیله‌ی دوربین‌های ویدیویی‌، دریافت کرده‌اند را تشخیص دهند و در نتیجه‌ روبوت‌ها بتوانند ببینند‌.

جهان‌ از اشیائی سه بعدی‌ تشکیل شده است‌؛ امّا ورودی‌ها‌ برای چشم انسان و دوربین‌های تلویزیونی کامپیوتر‌ دو بعدی می‌باشند‌. برخی از برنامه‌ها‌ فقط‌ در حالت دو بعدی می‌توانند کار کنند‌؛ امّا تصویر مجازی کامپیوتری کامل‌، اطّلاعات سه بعدی ناتمام که فقط‌ مجموعه‌ای از دیدهای دو بعدی نیستند را لازم دارد‌. در حال حاضر‌ فقط‌ راه‌های محدودی برای نمایش اطّلاعات سه بعدی‌، به صورت مستقیم‌، وجود دارد و این راه‌ها‌ از قرار معلوم‌ به‌خوبی راه‌هایی که انسان‌ها استفاده می‌کنند، نمی‌باشند‌.

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

 تعریف- سیستم‌های خبره‌ تلاش می‌کنند که دانش یک انسان خبره(ماهر) را بگیرند و آن را در یک سیستم کامپیوتری‌ پیاده‌سازی نمایند‌.

از سیستم‌های خبره‌ انتظار می‌رود که بتوانند کارهایی که به یک فرد خبره نیاز دارند را انجام دهند‌، مثل: پزشکی‌، زمین‌شناسی، و مشورت در سرمایه گذاری‌. برخی از سیستم‌های خبره از موفّق‌ترین‌ کاربردهای هوش مصنوعی بوده‌اند، چونکه‌ این برنامه‌ها‌ باید در دنیای واقعی‌ کار کنند و با برخی از مشکلات مهمّ موجود در هوش مصنوعی‌، مثل‌: کمی اطّلاعات ورودی مناسب؛ و استدلال بر پایه‌ی احتمال‌؛ مواجه شده‌اند‌؛ یکی از اوّلین سیستم‌های خبره‌، در سال 1974 ميلادي‌، به نام MYCIN بود‌، که عفونت(آلودگی) ‌های باکتریایی  موجود در خون را تشخیص می‌داد و معالجات آن را پیشنهاد می‌کرد‌. این دستگاه‌ این کار را بهتر از دانشجویان پزشکی یا دکترها انجام می‌داد‌. هستی‌شناسی آن‌ شامل باکتری‌، نشان‌(علامت)‌ها و معالجات بود‌.

از زمانی که خبرگان‌ با مهندسان‌ همکاری کردند، [مهندسان] چیزهایی را در مورد بیماران‌، دکترها‌، سلامتی‌، بهبود و‌... دانستند و واضح است که‌ دانش مهندسان‌ تحت تأثیر آنچه که خبرگان‌ به آنها می‌گفتند‌ در یک چارچوب کاری معیّن‌ قرار داشت‌؛ در وضعیّت فعلی هوش مصنوعی‌ این مطلب‌ باید درست باشد‌.

 

ارتباط میان هوش مصنوعی و فلسفه

هوش مصنوعی‌ دارای ارتباط‌های زیادی با فلسفه می‌باشد‌ مخصوصاً با فلسفه‌ی تحلیلی‌ ‌ مدرن ارتباط زیادی دارد‌؛ [هوش مصنوعی و فلسفه] هر دو فکر و هوش عادّی  را مطالعه می‌کنند‌.

 

پیش‌نیازهای هوش مصنوعی

باید ریّاضیّات و مخصوصاً‌ منطق ریّاضیّات  را مطالعه کنیم‌. برای نزدیکی زیستی‌ به هوش مصنوعی،‌ روان‌شناسی  و فیزیولوژی  سیستم‌های عصبی را مطالعه کنیم‌. تعدادی زبان برنامه‌نویسی و در کم‌ترین حالت،‌ زبان‌های برنامه‌نویسی سی ‌، لیسپ  و پرولوگ  را باید بلد باشیم‌. همچنین‌ فکر خوبی است که یکی از زبان‌های پایه‌ای ماشین[؛ مثل زبان برنامه نویسی اَسِمْبْلی ] را یاد بگیریم‌. کارها‌ بیش‌تر‌ با زبان‌هایی که مد(متداول) هستند‌، انجام می‌شوند‌؛ در اواخر دهه‌ی 1990 ميلادي‌ این زبان‌ها‌ شامل C++  و جاوا  بود‌.

 

برخی از سازمان‌ها و م‍‍‍ؤسّساتی که در زمینه‌ی هوش مصنوعی‌ فعّالیّت می‌کنند‌:

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

شرکت ماشین‌آلات محاسبه کننده  دارای یک گروه جالب ویژه‌ به نام SIGART  در زمینه‌ی هوش مصنوعی می‌باشد‌.

کنفرانس بین المللی هوش مصنوعی ، کنفرانس بین المللی اصلی است‌. انجمن آمریکایی هوش مصنوعی(AAAI)، کنفرانسی ملّی را در کشور آمریکا اجرا می‌کند.

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

 

معرّفی چند کتاب خوب به زبان انگلیسی در زمینه‌ی هوش مصنوعی

 

اِستوارت جِی. راسِل    

پیتِر نورویگ  کتاب هوش مصنوعی اِسْتوارْتْ جِیْ. راسِلْ  و پیتِرْ نُورْویگْ ‌؛ از این کتاب استفاده‌ی زیادی می‌شود. تصویری از جلدهای ویرایش‌های سوّم، دوّم و اوّل این کتاب در زیر نشان داده شده است:

 

 

 

شکل بالا- جلد ویرایش سوّم کتاب

 

 

شکل بالا- جلد ویرایش دوّم کتاب     

شکل بالا- جلد ویرایش اوّل کتاب

توجّه:      

شما از نسخه‌ی رایگان این کتاب الکترونیکی استفاده می‌کنید!؛ فایل پی. دی. اف به زبان انگلیسی ویرایش‌های اوّل، دوّم و سوّم کتاب هوش مصنوعی آقایان راسل و نورویگ در «دی. وی. دی» کتاب الکترونیکی هوش مصنوعی ترجمه شده به وسیله‌ی اینجانب سهراب جلوه‌گر، که می‌توانید آن را خریداری کنید، وجود دارد.

 

کتاب «هوش مصنوعی: تفسیر جدید»  نوشته‌ی نیلْزْ نیلْسُونْ  شاید برای خواندن آسان‌تر باشد؛ تصویری از جلد این کتاب را در زیر می‌بینید:

 

برخی از افراد کتاب «هوش محاسباتی»  دِیویدْ پولْ ، آلِنْ مَکْوُرْثْ  و رَنْدیْ گُـبُلْ  را ترجیح می‌دهند. تصویری از جلد این کتاب را در زیر می‌بینید:

 

 

 

چکیده(خلاصه)‌ی مطلب‌های فصل اوّل

هوش مصنوعی، دانش و مهندسی ساخت ماشین‌های هوشمند و مخصوصاً‌ برنامه‌های کامپیوتری هوشمند می‌باشد‌.

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



:: برچسب‌ها: ██ متن فصل اوّل نسخه‌ی رایگان ایبوک هوش مصنوعی ██ , مترجم: سهراب جلوه گر جلوه‌گر , فصل آشنايي با هوش مصنوعی , آموزش هوش مصنوعی,

██ متن فصل شانزدهم نسخه‌ی رایگان ایبوک هوش مصنوعی ██
نویسنده : سهراب جلوه گر جلوه‌گر تاریخ : سه شنبه 19 شهريور 1394

 

 

██ متن فصل شانزدهم نسخه‌ی رایگان ایبوک هوش مصنوعی ██

 

مترجم: سهراب جلوه گر جلوه‌گر

 

فصل شناخت سُخَن یا سخن‌شناسی

 

فهرست برخی از عنوان‌های نوشته‌ها

سخن‌شناسی

سخن به صورت استدلال احتمالی

مدل‌های پنهان مارکوف

 

سخن‌شناسی

 تعریف نخست: عملیّات لازم‌ برای توانمندسازی یک کامپیوتر‌ برای شناسایی و واکنش دادن به صداهای به وجود آمده در سخن انسان می‌باشد ‌.

 تعریف دوّم: سخن‌شناسی یا تشخیص صدا ‌، توانایی سیستم‌های کامپیوتری‌ برای دریافت سخن‌ به صورت ورودی‌ و پردازش بر روی آن یا بیان آن‌ به صورت نوشته می‌باشد‌.

کاربردهای عملی سخن‌شناسی‌ شامل سیستم‌های پرس‌و‌جوکننده از پایگاه داده  و سیستم‌های بازیابی اطّلاعات  می‌باشد‌. سخن‌شناسی‌ دارای کاربرد در روبوتیک و مخصوصاً توسعه‌ی روبوت‌هایی که می‌توانند «بشنوند»، می‌باشد‌. 

سخن به صورت استدلال احتمالی

سیگنال‌های سخن‌، پارازیت‌دار(اغتشاش‌دار) ‌، متغیّر و مبهم  می‌باشند‌؛ [در این صورت] شبیه‌ترین ترتیب کلمات و سیگنال سخن ارائه شده چیست‌؟‌، برای این کار‌ از قانون بیز‌ استفاده نمایید‌:

P(Words|signal) = αP(signal|Words)P(Words)

تمام سخنان انسان‌ ترکیبی از 40 تا 50 صُوْتْ  می‌باشد‌. آرْپابِتْ ، الفبایی برای بیان صداهای موجود در انگلیسی آمریکایی می‌باشد و به صورت زیر است‌:

[iy]   beat  [b]    bet    [p]    pet

[ih]   bit     [ch]  Chet  [r]     rat

[ey]  bet    [d]    debt  [s]    set

[ao]  bought      [hh]  hat    [th]   thick

[ow]  boat  [hv]  high  [dh]  that

[er]   Bert  [l]     let     [w]   wet

[ix]    roses[ng]  sing  [en]  button

 

برای مثال‌، برای کلمه‌ی «‌ceiling‌‌« داریم‌: [s iy l ih ng] / [s iy l ix ng] / [s iy l en]

صداهای سخن ‌- سیگنال خام میکروفون‌ به صورت تابعی از زمان می‌باشد‌؛ سیگنال‌های صوتی که در ابتدا به صورت آنالوگ هستند، به صورت سیگنال دیجیتالی نمونه‌برداری شده‌ی پلّه‌ای در می‌آیند، در پردازش‌، قاب‌ها‌ روی هم می‌افتند و همگی به وسیله‌ی پستی و بلندی‌اشان تشخیص داده می‌شوند‌.

 

صوت‌های سه بخشی ‌: هر صوت‌ دارای سه بخش می‌باشد(آغاز ‌، وسط ‌ و پایان ‌)‌، به عنوان مثال‌، حرف [t]‌، دارای ابتدای آرام ‌، وسط قوی   و انتهای خَشِنْ  می‌باشد‌.

مدل‌های پنهان مارکوف

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

 

چکیده‌ی مطلب‌های فصل شانزدهم

 سخن‌شناسی‌، توانایی سیستم‌های کامپیوتری‌ برای دریافت سخن‌ به صورت ورودی‌ و پردازش بر روی آن یا بیان آن‌ به صورت نوشته می‌باشد‌.

سیستم‌های سخن‌شناسی پیشرفته براساس مدل‌های پنهان مارکوف می‌باشند؛ مدل‌های پنهان مارکوف، مدل‌هایی آماری هستند که رشته‌ای از سمبل‌ها را به وجود می‌آورند.



:: برچسب‌ها: ██ متن فصل شانزدهم نسخه‌ی رایگان ایبوک هوش مصنوعی ██ , مترجم: سهراب جلوه گر جلوه‌گر , فصل شناخت سُخَن یا سخن‌شناسی , آموزش هوش مصنوعی,

██ متن فصل هفدهم نسخه‌ی رایگان ایبوک هوش مصنوعی ██
نویسنده : سهراب جلوه گر جلوه‌گر تاریخ : سه شنبه 17 شهريور 1394

 

 

██ متن فصل هفدهم نسخه‌ی رایگان ایبوک هوش مصنوعی ██

 

مترجم: سهراب جلوه گر جلوه‌گر

 

فصل شبکه‌های عصبی

 

فهرست برخی از عنوان‌های نوشته‌ها

شبکه‌های عصبی

زیست‌شناسی و علم کامپیوتر

انواع گره‌ها در شبکه‌های عصبی کامپیوتری

انواع شبکه‌های عصبی

پِرْسِـپْتْرونِ (تک لایه‌ای)

ایراد پرسپترون‌های تک لایه‌ای

طبقه‌بندی‌ با استفاده از شبکه‌های عصبی

پرسپترون‌های چند لایه‌ای

شبکه‌های عصبی برگشت کننده

 

شبکه‌های عصبی

 تعریف اوّل- سیستمی که از برنامه‌ها و پایگاه‌های داده‌ای که شامل چند پردازشگر موازی هستند‌، تشکیل شده است و عملیّات مغز انسان را شبیه‌سازی می‌کند.

 تعریف دوّم– یک سیستم کامپیوتری‌ که از روی مغز انسان و سیستم عصبی مدلسازی شده است.

زیست‌شناسی و علم کامپیوتر

مغز انسان به نظر نمی‌رسد که دارای یک واحد پردازنده‌ی مرکزی  باشد.

 

 

سه شکل بالا- مغز انسان

در عوض دارای تعداد زیادی واحدهای ساده، ناهمزمان  و موازی  به نام نورُون  است. مغزانسان دارای تقریباً 1011 نورون می‌باشد. نورون‌ها دارای درحدود بیست نوع هستند.

 

شکل بالا- نورون

هر نورون یک سلّول تکی است که دارای تعدادی لیف(فیبر) ‌های نسبتاً کوتاه به نام دِنْدْریْتْ(دَنْدْریْتْ یا دِنْدْرایْتْ)  است. یکی از دندریت‌ها، که بزرگ‌تر از بقیّه است، آکسون ‌ نام دارد. انتهای آکسون به تعداد زیادی لیف‌های کوچک تقسیم می‌شود. هر لیف، دندریت‌ها و بدنه‌های سلّولی دیگر نورون‌ها را وصل می‌کند. اتّصال، در واقع فاصله ‌ای کوتاه به نام سیناپْس  است. آکسون‌ها حمل‌کننده  هستند و دندریت‌ها دریافت‌کننده  هستند. در حدود 1014 اتّصال وجود دارد.

 

شکل بالا- نورون‌ها

همان طور که بیان شد، در نورون‌های زیست‌شناسی،‌ سیگنال‌ها‌ به وسیله‌ی دندریت‌ها دریافت می‌شوند و از طریق آکسون به دیگر نورون‌ها می‌رسند‌. فکر و رفتار انسان‌ها از بر هم كنش هزاران نورون‌ به وجود می‌آیند‌.

 

شکل بالا- نورون

  انواع گره‌ها در شبکه‌های عصبی کامپیوتری

در شبکه‌های عصبی کامپیوتری سه نوع گره داریم‌:

1-     گره‌های ورودی

2-     گره‌های خروجی

3-     گره‌های پنهان (که در پِرسِپترون‌های چندلایه‌ای وجود دارند.)

  انواع شبکه‌های عصبی

1-     شبکه‌های با تغذیه‌ی مستقیم ‌: در این شبکه‌ها علامت(‌سیگنال‌)‌ها در یک جهت حرکت می‌کنند و بدون دُوْرْ(سیکل یا حلقه) می‌باشند‌.

 

شکل بالا- نمونه‌ای از شبکه‌های با تغذیه‌ی مستقیم

2-     شبکه‌های بازگشت کننده ‌: در این شبکه‌ها، در انتشار علامت(‌سیگنال‌)‌ دُوْرْ(سیکل یا حلقه) وجود دارد‌.

 

شکل بالا- نمونه‌ای از شبکه‌های بازگشت کننده

ما بیش‌تر‌ روی شبکه‌های با تغذیه‌ی مستقیم‌ تمرکز می‌نماییم‌.

پِرْسِپْتْرُونِ  (تک لایه‌ای)

 تعریف- پرسپترون، الگوریتمی ابتدایی برای یادگیری شبکه‌های عصبی تک لایه‌ای ساده است و در دهه‌ی 1950 میلادی به وجود آمد.

 

در شکل قبل، Xiها، ورودی‌های پرسپترون هستند. Wiها، وزن‌ها هستند؛ از W0، به عنوان شروع کننده(آستانه) ، با X0 برابر با منفی یک استفاده می‌شود. in، در مرحله‌ی فعّال‌سازی، جمع ورودی‌ها و آستانه است. g، تابع فعّال‌سازی است. a، فعّال‌سازی یا خروجی است. خروجی با استفاده از یک تابع، که تشخیص می‌دهد تا کجا سطح فعّال‌سازی پرسپترون، بالا یا پایین صفر است، محاسبه می‌شود.

پرسپترون، a = g(in) = g(X.W) را محاسبه می‌نماید:

X.W = w0*-1 + w1*x1 + w2*x2 + … + wn*xn

g، معمولاً تابع آستانه است و داریم: اگر z > 0 باشد، g(z) برابر با یک است و در غیر این صورت برابر با صفر است.

 نکته:

پرسپترون می‌تواند به صورت یک دروازه‌ی منطقی  عمل کند؛ که مقدار «یک»، «درست» و مقدار «صفر یا منفی یک»، «غلط» است.

 مثال تغذیه‌ی مستقیم

 

 

 

 مثال- تابع(دروازه‌ی) منطقی AND

 

شکل بالا- در شکل بالا توجّه نمایید که x و y هرکدام دارای مقدارهای 1 یا 0 می‌توانند باشند.

x       y      x+y-1.5     خروجی

1      1      0.5   1

1      0      -0.5  0

0      1      -0.5  0

0      0      -1.5  0

 مثال- تابع منطقی OR

 

شکل بالا- در شکل بالا توجّه نمایید که x و y هرکدام دارای مقدارهای 1 یا 0 می‌توانند باشند.

x       y      x+y-0.5     خروجی

1      1      1.5   1

1      0      0.5   1

0      1      0.5   1

0      0      -0.5  0

 مثال- تابع منطقی NOT

 

شکل بالا- در شکل بالا توجّه نمایید که x دارای مقدارهای 1 یا 0 می‌تواند باشد.

x       0.5 - x       خروجی

1      -0.5  0

0      0.5   1

 ایراد پرسپترون‌های تک لایه‌ای

 مطلب مهم:      

با پرسپترون‌های تک لایه‌ای فقط می‌توان تابع‌هایی را که به صورت خطّی جدا شدنی  هستند را نشان داد و نمی‌توان XOR را، که به صورت خطّی جدا نشدنی است، نشان داد؛ برای رفع این مشکل می‌توانیم از پرسپترون‌های چند لایه‌ای استفاده کنیم.

 مثال- تابع AND به صورت خطّی جدا شدنی است.

 

 توضیح:     

در شکل بالا نقطه‌ی مثبت نقطه‌ای است که مقدار تابع به ازای آن(x1,x2) یک می‌شود و نقطه‌های منفی نقطه‌هایی هستند که به ازای آنها(x1,x2) مقدار تابع صفر می‌شود و  نقطه‌ی مثبت و نقطه‌های منفی در شکل بالا به وسیله‌ی یک خطّ مستقیم قابل جدا شدن هستند.

 مثال- تابع OR به صورت خطّی جدا شدنی است.

 

 مثال- تابع XOR به صورت خطّی جدا شدنی نیست.

 

 توضیح:     

همان طور که در شکل بالا می‌بینید نمی‌توانیم یک خطّ مستقیم را طوری رسم کنیم که مقدارهای مثبت را از مقدارهای منفی جدا نماید.

طبقه‌بندی‌ با استفاده از شبکه‌های عصبی

شبکه‌های عصبی،‌ طبقه‌بندی را هم‌ خیلی خوب انجام می‌دهند‌؛ ورودی‌ها را به یک یا بیش‌تر‌ خروجی‌ تبدیل می‌نمایند و دامنه‌ی خروجی‌ به کلاس‌هایی مجزّا تقسیم می‌شود و برای کارهای یادگیری‌، در جایی که نمی‌دانیم «‌در جستجوی چه هستیم»‌، خیلی مفید می‌باشند‌، مثل‌: صورتْ‌شناسی ‌، دست‌خط‌شناسی  و رانندگی یک خودرو‌.

 

پرسپترون‌های چند لایه‌ای

در پرسپترون‌های چند لایه‌ای‌، لایه‌ها‌ معمولاً‌ به صورت کامل‌ متّصل می‌شوند و به طور معمول‌ تعدادی از واحدهای پنهان(مخفی)‌ به صورت دستی‌ انتخاب می‌شوند‌. پرسپترون‌ها[ی تک لایه‌ای]‌ دارای این مزیّت هستند که یک الگوریتم یادگیری ساده دارند‌؛ ولی عیب آنها در این است که دارای محدودیّت‌های محاسباتی هستند‌؛ حال‌ سؤال‌ این است که، اگر ما یک لایه‌ی مخفی‌ اضافه نماییم‌، به عبارتی دیگر، پرسپترون چند لایه‌ای با یک لایه‌ی پنهان بسازیم، چه اتّفاقی می‌افتد‌؟، پاسخ‌ این است که، توان محاسباتی‌ افزایش می‌یابد‌؛ با یک لایه‌ی پنهان،‌ [پرسپترون] می‌تواند هر تابع پیوسته را نمایش دهد و با دو لایه‌ی پنهان(پرسپترون چند لایه‌ای با دو لایه‌ی پنهان)‌، می‌تواند هر تابعی را نمایش دهد‌؛ در این مورد‌ مشکل‌ این است که چگونه وزن‌های صحیح را برای گره‌های پنهان‌، پیدا نماییم‌؟‌.

 

شکل بالا- نمونه‌ای از یک پرسپترون چند لایه‌ای

شبکه‌های عصبی برگشت کننده

تا‌کنون‌‌ فقط در مورد شبکه‌های با تغذیّه‌ی مستقیم‌ صحبت کرده‌ایم‌. در این شبکه‌ها‌ علامت‌ها(سیگنال‌ها‌) در یک جهت‌ پخش می‌شوند‌، خروجی‌ بلافاصله در دسترس می‌باشد و دارای الگوریتم‌هایی هستند که به‌سادگی‌ قابل فهم می‌باشند‌. تعداد زیادی کار می‌تواند با شبکه‌های عصبی برگشت کننده‌ انجام شود‌؛ در این شبکه‌ها دست‌کم یکی از خروجی‌ها‌ به یکی از ورودی‌ها‌ متّصل شده‌ است‌. در زیر‌، یک شبکه عصبی برگشت کننده‌ی تک لایه‌ای را می‌بینید‌:

 

شبکه‌های هاپْفیلد

 

جان جُوزِف هاپفیلد        شبکه‌های هاپفیلد به وسیله‌ی دکتر، جانْ جُوزِفْ هاپْفیلْدْ  به وجود آمده‌اند و جزء شبکه‌های عصبی برگشت کننده می‌باشند. یک شبکه‌ی هاپفیلد‌ دارای هیچ گره‌ی معیّن ورودی یا خروجی نمی‌باشد‌؛ هر گره‌، یک ورودی و روال‌های یک خروجی را دریافت می‌نماید‌؛ هر گره‌، به گره‌های دیگر‌ متّصل شده است و معمولاً‌ از توابع آستانه‌ای‌ استفاده می‌شود‌؛ شبکه،‌ بلافاصله یک خروجی را تولید نمی‌نماید و مردّد می‌باشد‌؛ تحت برخی از وضعیّت‌های به آسانی قابل دسترس‌ سرانجام‌ به حالت موازنه می‌رسد‌؛ وزن‌ها‌ با استفاده از روش شبیه‌سازی گرم و سرد کردن‌ به دست می‌آیند‌. شبکه‌های هاپفیلد‌ می‌توانند برای ساختن یک حافظه‌ی شرکت‌پذیر(انجمنی) ‌ به کار روند‌، در این شبکه‌ها‌، یک قسمت از یک الگو‌، برای شبکه‌،‌ ارائه می‌شود و شبکه‌ تمام الگو را به یاد می‌آورد‌. این شبکه‌ها برای حرف‌شناسی  و برای مسأله‌های بهینه‌سازی هم‌ به کار می‌روند‌ و اغلب‌ برای مدل فعّالیّت مغز‌ استفاده می‌شوند‌.

 

 

 

شکل بالا- نمونه‌ای از یک شبکه‌ی هاپفیلد

 

 

چکیده‌ی مطلب‌های فصل هفدهم

یک شبکه‌ی عصبی یک سیستم کامپیوتری است که از روی مغز انسان و سیستم عصبی مدلسازی شده است.

دو نوع شبکه‌ی عصبی داریم: یکی شبکه‌های با تغذیه‌ی مستقیم، که در این شبکه‌ها، علامت(‌سیگنال‌)‌ها در یک جهت حرکت می‌کنند و بدون دُوْرْ(سیکل) می‌باشند‌؛ و دیگری شبکه‌های بازگشت کننده، که در این شبکه‌ها، در انتشار علامت(‌سیگنال‌)‌، دُوْرْ(سیکل) وجود دارد‌‌؛ در این شبکه‌ها دست‌کم یکی از خروجی‌ها‌ به یکی از ورودی‌ها‌ متّصل شده‌ است‌.

پرسپترون تک لایه‌ای، الگوریتمی ابتدایی برای یادگیری شبکه‌های عصبی تک لایه‌ای ساده است.

با پرسپترون‌های تک لایه‌ای فقط می‌توان تابع‌هایی را که به صورت خطّی جدا شدنی هستند را نشان داد و نمی‌توان XOR را، که به صورت خطّی جدا نشدنی است، نشان داد؛ برای رفع این مشکل می‌توانیم از پرسپترون‌های چند لایه‌ای استفاده کنیم.

پرسپترون‌ها[ی تک لایه‌ای]‌ دارای این مزیّت هستند که یک الگوریتم یادگیری ساده دارند‌؛ ولی عیب آنها در این است که دارای محدودیّت‌های محاسباتی هستند‌. اگر ما یک لایه‌ی مخفی‌ اضافه نماییم‌، به عبارتی دیگر، پرسپترون چند لایه‌ای با یک لایه‌ی پنهان بسازیم، توان محاسباتی‌ افزایش می‌یابد‌؛ با یک لایه‌ی پنهان‌ [پرسپترون] می‌تواند هر تابع پیوسته را نمایش دهد و با دو لایه‌ی پنهان(پرسپترون چند لایه‌ای با دو لایه‌ی پنهان)‌ می‌تواند هر تابعی را نمایش دهد.



:: برچسب‌ها: ██ متن فصل هفدهم نسخه‌ی رایگان ایبوک هوش مصنوعی ██ , مترجم: سهراب جلوه گر جلوه‌گر , فصل شبکه‌های عصبی , آموزش هوش مصنوعی,

██ متن فصل هیجدهم نسخه‌ی رایگان ایبوک هوش مصنوعی ██
نویسنده : سهراب جلوه گر جلوه‌گر تاریخ : سه شنبه 16 شهريور 1394

 

 

██ متن فصل هیجدهم نسخه‌ی رایگان ایبوک هوش مصنوعی ██

 

مترجم: سهراب جلوه گر جلوه‌گر

 

فصل الگوریتم‌های ژنتیکی

 

توجّه:      

برای یادگیری بهتر مطلب‌های این فصل بهتر است قسمت «الگوریتم‌های ژنتیکی» موجود در فصل «الگوریتم‌های جستجوی محلّی» همین کتاب الکترونیکی را هم بخوانید.

فهرست برخی از عنوان‌های نوشته‌ها

تاریخچه

تعریف الگوریتم‌های ژنتیکی

تکامل‌ در دنیای واقعی

الگوریتم‌های ژنتیکی

گوناگونی‌های زیاد الگوریتم‌های ژنتیکی

کاربردهای الگوریتم‌های ژنتیکی

تئوری تکاملی داروین(باقی ماندن شایسته‌ترین  یا مناسب‌ترین)

 

هِربِرت سپِنسِر

        این تئوری به وسیله‌ی هِرْبِرْتْ سْپِنْسِرْ  و چارْلْزْ رابِرْتْ دارْوینْ  به وجود آمد. این تئوری می‌گوید‌: گونه‌هایی باقی می‌مانند که می‌توانند بر مشکلات‌ غلبه کنند.      

چارلز داروین

 

شکل بالا- این شکل بیان کننده‌ی نظریّه‌ی تکامل در انسان است.

تاریخچه

 

جان هِنری هالِند  الگوریتم‌های ژنتیکی در دهه‌ی هفتاد میلادی‌ به وسیله‌ی جانْ هِنْری هالِنْدْ ‌ بیان شد‌؛ در دهه‌ی هشتاد میلادی‌ عمومیّت یافت و براساس تئوری تکاملی داروین(باقی ماندن شایسته‌ترین یا مناسب‌ترین) بود‌. الگوریتم‌های ژنتیکی‌ می‌توانند برای حلّ انواعی از مسأله‌ها که با استفاده از روش‌های دیگر‌، برای حل‌، آسان نمی‌باشند، مورد استفاده قرار گیرند‌.

تعریف الگوریتم‌های ژنتیکی

 تعریف اوّل- یک الگوریتم جستجو که رشته‌های دودویی بهینه را با پردازش یک جمعیّت اولیّه‌ی تصادفی از رشته‌ها‌، با استفاده از جهش مصنوعی، عمل تعویض  و عملگرهای انتخاب تولید می‌کند. (گُلْدْبِرْگْ ، 1989 ميلادي).

 تعریف دوّم- یک الگوریتم تکاملی‌ که هر فرد(راه حل) را با استفاده از برخی فرم‌های رمزشده‌، که کُرُوموزوم  یا ژِنوم، نامیده می‌شوند‌، به وجود می‌آورد.

تکامل‌ در دنیای واقعی

هر سلّول  یک موجود زنده‌ دارای یک هسته  است؛ و در هسته،  کروموزوم‌هایی وجود دارد‌؛ هر کروموزوم‌، شامل یک مجموعه از ژِنْ ‌ها می‌باشد‌؛ هر ژن‌ برخی از ویژگی‌های(خواصّ) موجود زنده (مانند رنگ چشم) را تعیین می‌کند‌. یک مجموعه از ژن‌ها‌ در برخی از موردها‌ ژِنوتیپ(ژِنوتایپ) ‌ نامیده می‌شود‌. یک مجموعه از ویژگی‌ها (نظیر رنگ چشم)، گاهی فِنوتیپ(فِنوتایپ)  نامیده می‌شود‌. انتشار(زاد و ولد)‌، شامل جفت‌گیری  ژن‌هاي والدین و سپس‌ مقدار کوچکی‌ جهش ‌ می‌باشد‌. تکامل‌ براساس «بقای مناسب‌ترین یا شایسته‌ترین» می‌باشد‌.

 

شکل بالا- سلّول، هسته، کروموزوم و ژن

 

شکل بالا- کروموزوم واقعی در زیر میکروسکوپ

 

الگوریتم‌های ژنتیکی

شروع‌ با یک تصوّر

فرض کنید که شما مشکلی دارید و نمی‌دانید که چگونه آن را حل نمایید‌. برای حلّ این مشکل‌ چه کار می‌توانید بکنید‌؟، آیا می‌توانید به طریقی‌ از یک کامپیوتر‌ برای پیدا کردن یک راه حل‌ استفاده نمایید‌؟؛ این کار‌ باید خوب باشد‌! می‌توانید آن را انجام دهید‌؟.

یک راه حلّ گنگ

 یک الگوریتم «تولید و تست گنگ»‌:

تکرار کن

        یک راه حلّ ممکن تصادفی را تولید کن

        راه حل‌ را امتحان کن و خوب بودن آن را بسنج

تا موقعی که راه حل‌ به اندازه‌ی کافی‌ خوب باشد

پایان الگوریتم

آیا ما می‌توانیم از این ایده‌ی گنگ‌ استفاده نماییم‌؟

برخی وقت‌ها‌ بله‌: در صورتی که تعداد راه حل‌های اندکی وجود داشته باشد و شما به اندازه‌ی کافی‌ زمان در اختیار داشته باشید‌، آنگاه‌ روش‌های این فُرمی‌ می‌توانند استفاده شوند‌. امّا برای بیش‌ترِ مسأله‌ها‌ نمی‌توانیم از این راه حل‌ها استفاده نماییم‌: در زمانی که راه حل‌های ممکن‌، زیاد باشند و شما به اندازه‌ی کافی‌ زمان برای امتحان همه‌ی آنها نداشته باشید‌، این راه حل‌ها نمی‌توانند استفاده شوند‌.

ایده‌ای که کم‌تر دارای گنگ بودن می‌باشد (الگوریتم ژنتیکی)

  الگوریتم

یک مجموعه‌ی تصادفی از راه حل‌ها را تولید نمایید

تکرارکن

        هر راه حلّ موجود در مجموعه را امتحان کن و آنها را رُتبه‌بندی کن

        برخی از راه حل‌های بد را از مجموعه بَردار

        برخی از راه حل‌های خوب را تکثیر(زیاد) کن

                برخی از تغییرات کوچک را در مورد آنها به کار بِبَر

تا زمانی که بهترین راه حل‌ به اندازه‌ی کافی‌ خوب شود

پایان الگوریتم

چگونه شما یک راه حل را کد می‌کنید‌؟

 بدیهی است که این‌، وابسته به مسأله می‌باشد‌! الگوریتم‌های ژنتیکی‌ اغلب،‌ راه حل‌ها را به صورت رشته‌های بیتیِ  باطول ثابت(ژنوتیپ یا کروموزوم)‌ کد می‌کنند (به عنوان مثال‌، 101110‌، 111111‌، 000101)‌؛ هر بیت(ژن)‌، برخی از ویژگی‌های راه حل‌های ارائه شده برای مسأله را بیان می‌کند‌. برای اینکه الگوریتم‌های ژنتیکی‌ کار کنند‌، نیاز به این داریم که هر رشته را تست نماییم و به آن‌ امتیازی بدهیم که نشان دهنده‌ی چگونگی خوب بودن آن باشد‌.

 مثال – حَفر برای نفت

 

شکل بالا- تصویری از یک چاه نفت

تصوّر کنید که شما باید برای نفت‌، جایی را در طول یک جادّه‌ی بیابانی یک کیلومتری‌ حفر نمایید‌.

مسأله‌: بهترین مکان در جادّه را که بیش‌ترین مقدار نفت را در روز‌ تولید می‌کند‌، انتخاب نمایید.

می‌توانیم هر راه حل را به صورت یک وضعیّت در جادّه نمایش دهیم‌. تصوّر نمایید که تمام اعداد‌، بین [1000، 0‌]‌ باشند‌.

کجا را برای نفت‌ حفر نماییم‌؟ 

 

مجموعه‌ی همه‌ی راه حل‌های ممکن [1000،0]‌، فضای جستجو یا فضای حالت‌ نام دارد‌. در این مورد‌ این فقط یک عدد است؛ امّا می‌تواند تعداد زیادی عدد یا سمبل باشد‌. همان طور که گفتیم، اغلب‌، الگوریتم‌های ژنتیکی، اعداد را به صورت دودویی(باینری)‌ کد می‌کنند‌. در مورد این مثال‌، ده بیت را، که برای نمایش 0‌ ... 1000‌ کافی است، انتخاب می‌نماییم‌.

تبدیل به رشته‌ی باینری

1      2      4      8      16    32    64    128   256   512  

0      0      1      0      0      0      0      1      1      1      900

0      0      1      1      0      1      0      0      1      0      300

1      1      1      1      1      1      1      1      1      1      1023

 تعریف- در الگوریتم‌های ژنتیکی، این رشته‌های کد شده‌‌ گاهی ژنوتیپ یا کروموزوم نامیده می‌شوند و بیت‌های تکی‌ گاهی وقت‌ها‌ ژن‌ نامیده می‌شوند‌.

 

خلاصه

تا‌کنون دیدیم که چگونه راه حل‌ها را به صورت یک عدد‌ بیان نماییم‌؛ یک عدد را به صورت یک رشته‌ی بیتی‌ کد کردیم‌. یک رتبه یا درجه را برای هر عدد داده شده‌، به منظور تعیین میزان خوب بودن آن راه‌، به آن عدد‌ نسبت می‌دهیم که اغلب‌ تابع شایستگی ‌ نامیده می‌شود‌؛ در شکل قبلی، این اعداد برای دو راه حلّ 1 و 2، به رنگ قرمز نشان داده شده‌اند(عددهای 30 و 5). مثال نفت‌ در واقع‌ بهینه‌سازی با استفاده از یک تابع f(x) است، که ما باید پارامتر x را تطبیق دهیم‌.

فضای جستجو

برای یک تابع ساده‌ی f(x)‌، فضای جستجو یک بعدی است‌، امّا با کد کردن چند مقدار به کروموزوم‌، ابعاد زیادی می‌تواند به وجود آید‌؛ به عنوان مثال‌، برای حالت دو بعدی‌، تابع f‌، به صورت f(x,y) خواهد بود‌‌. فضای جستجو‌ می‌تواند به صورت یک سطح باشد‌، که در آن، هر چه شایستگی بیش‌تر باشد، ارتفاع نقطه بیش‌تر است. هر ژنوتایپ(کروموزوم یا راه حلّ) ممکن‌، یک نقطه در فضا است. یک الگوریتم ژنتیکی‌ تلاش می‌کند که نقطه‌ها را به جاهای بهتر(‌با شایستگی بالاتر‌)، در فضا، منتقل نماید‌. در زیر‌، سه نمونه از منظره‌های شایستگی را مشاهده می‌نماییم‌:

         

         

بدیهی است که نوع فضای جستجو تعیین می‌کند که چگونه یک الگوریتم ژنتیکی‌ کار کند‌. یک فضای کاملاً تصادفی‌ برای یک الگوریتم ژنتیکی‌، بد خواهد بود‌؛ همچنین‌ الگوریتم‌های ژنتیکی‌ اگر فضاهای جستجو شامل تعداد زیادی از موردهای تصادفی باشند‌، ممکن است در ماکزیمم محلّی بیفتند‌.

اضافه کردن جنسیّت‌- عمل تعویض

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

 مطلب مهم:      

با اضافه نمودن جنسیّت به این الگوریتم‌ می‌توانیم نتایج بهتری را به دست آوریم‌؛ این کار‌ با انتخاب دو والد‌، در موقع تکثیر  و ترکیب ژن‌های آنها برای تولید فرزند‌، انجام می‌شود‌؛ به بیان دیگر، دو رشته‌ی بیتی(‌کروموزوم‌) والد با امتیاز بالا انتخاب می‌شوند و با استفاده از تعویض‌، با هم‌ ترکیب می‌شوند‌؛ در نتیجه دو فرزند(‌رشته‌ی بیتی‌)‌ به وجود می‌آیند و سپس هر فرزند‌ هم ممکن است به صورت تصادفی‌ تغییر داده شود، که ‌به این کار، جهش‌ گفته می‌شود‌.

انتخاب والدها

روش‌های زیادی برای انتخاب کروموزوم‌های با امتیاز بهتر‌ وجود دارد‌. امتیاز‌، اغلب‌، شایستگی ‌  نامیده می‌شود‌. [برای این کار] از روش «چَرخِشِ رولِت» ‌ می‌توان به صورت زیر‌ استفاده نمود‌:

-       شایستگی همه‌ی کروموزوم‌ها را باهم جمع نمایید‌.

-       یک عدد تصادفی R را، در محدوده‌ی آن(حاصل‌جمع)‌، به وجود آورید‌.

-       اوّلین کروموزوم موجود در جمعیّت را با این شرط که زمانی که همه‌ی شایستگی‌های کروموزوم‌های قبل از آن‌ باهم جمع می‌شوند‌، دست‌کم، مقدار R را بدهد‌، انتخاب نمایید‌.

 

توجّه:      

        قسمت زیر دارای ارتباط بین رنگ‌ها هم هست.

جمعیّت نمونه

شماره       کروموزوم     شایستگی

1      1010011010      1

2      1111100001      2

3      1011001100      3

4      1010000000      1

5      0000010000      3

6      1001011111      5

7      0101010101      1

8      1011100111      2

توجّه کنید که، جمع کلّّ شایستگی‌ها برابر است با: 1+2+3+1+3+5+1+2 = 18

انتخاب والدها با استفاده از روش چرخش رولت(برای جدول قبلی)

 

در شکل بالا توجّه کنید که جمع کلّ شایستگی‌ها برابر است با: 1+2+3+1+3+5+1+2 = 18 و به همین خاطر محدوده از صفر تا 18 در نظر گرفته شده است.

 چرخش رولت، نام یک بازی هم می‌باشد، که در آن، اعدادی به طور نامنظّم روی یک صفحه‌ی دایره‌ای شکل نوشته شده‌اند؛ این صفحه را می‌چرخانند و سپس رهایش می‌کنند تا خودش از حرکت بایستد و عددی را که مقابل نقطه‌ای خاص قرار گرفته را برمی‌گزینند.

 

شکل بالا- صفحه‌ی بازی چرخش رولت

تعویض(‌جفت‌گیری‌)

برای کروموزوم‌های شماره‌ی4(1010000000) و 6(1001011111)، که در قسمت قبل انتخاب کردیم، نقطه‌ی تعویض را به صورت تصادفی برابر با 3 در نظر می‌گیریم؛ داریم:

 

جهش

یک یا بیش‌تر ژن‌(بیت)، به صورت تصادفی‌، به یک مقدار تصادفی‌، جهش داده می‌شوند‌، مثلاً‌:

(بعد از انجام عمل جهش)1101011111    1111111111(قبل از انجام عمل جهش)

 در مورد مثال قبلی‌، داریم‌:

 

توجّه:      

        پایان قسمت دارای ارتباط بین رنگ‌ها!

 

برگشت به الگوریتم ژنتیکی [و تکمیل آن]

  الگوریتم

یک جمعیّت را با استفاده از کروموزوم‌های تصادفی‌ تولید کن

برای هر نسل‌ کارهای زیر را انجام بده

        شایستگی هر کروموزوم را محاسبه کن

                کارهای زیر را تکرار کن

                        انتخاب رولت را برای انتخاب جفت‌های والدها به کار ببر

                        فرزند را با استفاده از انجام عمل تعویض و جهش‌ تولید نما

                تا زمانی که جمعیّت جدید‌ تولید شود

تا زمانی که بهترین راه حل به اندازه‌ی کافی‌ خوب شود

پایان الگوریتم

گوناگونی‌های زیاد الگوریتم‌های ژنتیکی

به خاطر موردهای زیر‌ الگوریتم‌های ژنتیکی‌ دارای گوناگونی زیادی هستند‌:

       انواع مختلف انتخاب که [با استفاده از روش چرخش] رولت نیستند‌؛ مثل‌ روش‌های مسابقه‌ای ‌، گزینش بهترین‌ها(نخبه‌سالاری)  و غیره‌.

       تفاوت در جفت‌گیری(تعویض)‌؛ مثل‌ روش تعویض چند نقطه‌ای‌.

       انواع مختلف کد کردن رشته‌ی بیتی‌

       انواع مختلف جهش

تعویض‌ چگونه کار می‌کند‌؟

تعداد زیادی نظریّه در این مورد‌ وجود دارد‌، البتّه‌ برخی مخالفت‌ها هم با این نظریّه‌ها وجود دارد‌؛ هالِند‌ نظریّه‌ی «‌الگو» را معرّفی کرد‌؛ این ایده می‌گوید که، تعویض‌، بیت‌های خوب والدین مختلف را نگهداری می‌کند و آنها را برای تولید راه حل‌های بهتر‌ ترکیب می‌نماید‌؛ بنابراین‌ یک الگوی خوب کد کننده‌ باید بیت‌های خوب را در طول تعویض و جهش‌ نگهداری نماید‌.

کاربردهای الگوریتم‌های ژنتیکی

الگوریتم‌های ژنتیکی‌ در بسیاری از موردها و زمینه‌های پژوهشی‌، نظیر مسأله‌های عددی‌؛ مسأله‌ی مسافرت شخص دوره گرد ‌؛ مدار(دُوْر) هَمیلتُونی ‌؛ پیدا کردن شکل مولکول‌های پروتئین‌؛ مسأله‌های NP-سخت‌؛ طرّاحی شبکه‌های عصبی‌؛ توابع، برای به وجود آوردن تصاویر‌؛ مدلسازی شناختی؛ و تئوری بازی‌ها‌ به کار می‌روند‌.

برنامه‌نویسی ژنتیکی

 تعریف- شاخه‌ای از الگوریتم‌های ژنتیکی و یادگیری ماشینی  می‌باشد و یک روش برنامه‌نویسی است که الگوریتم ژنتیکی را برای تمام برنامه‌های کامپیوتری گسترش می‌دهد.  برنامه‌نویسی ژنتیکی‌ به وسیله‌ی گروه دکتر، جان کُوزا ‌ به وجود آمد‌.

 

شکل بالا- دکتر، جان کوزا

 

 

چکیده‌ی مطلب‌های فصل هیجدهم

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

الگوریتم‌های ژنتیکی‌، اغلب‌، راه حل‌ها را به صورت رشته‌های بیتی باطول ثابت(ژنوتیپ یا کروموزوم)‌ کد می‌کنند؛ هر بیت(ژن)‌، برخی از ویژگی‌های راه حل‌های ارائه شده برای مسأله را ارائه می‌کند‌. برای اینکه الگوریتم‌های ژنتیکی‌ کار کنند‌، نیاز به این داریم که هر رشته را تست نماییم و به آن‌ امتیازی بدهیم که نشان دهنده‌ی چگونگی خوب بودن آن باشد‌.

در الگوریتم‌های ژنتیکی، جفت‌گیری(recombination)، همان تعویض(crossover) می‌باشد.

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

یکی از روش‌های انتخاب کروموزوم‌های با امتیاز بهتر، روش چرخش رولت است.



:: برچسب‌ها: ██ متن فصل هیجدهم نسخه‌ی رایگان ایبوک هوش مصنوعی ██ , مترجم: سهراب جلوه گر جلوه‌گر , فصل الگوریتم‌های ژنتیکی , آموزش هوش مصنوعی,

██ متن فصل نوزدهم نسخه‌ی رایگان ایبوک هوش مصنوعی ██
نویسنده : سهراب جلوه گر جلوه‌گر تاریخ : سه شنبه 14 شهريور 1394

 

 

██ متن فصل نوزدهم نسخه‌ی رایگان ایبوک هوش مصنوعی ██

 

مترجم: سهراب جلوه گر جلوه‌گر

 

فصل سیستم‌های خِبره  

 

فهرست برخی از عنوان‌های نوشته‌ها

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

برخی از کاربردهای سیستم‌های خبره

چرا یک سیستم خبره را می‌سازیم‌؟

ویژگی‌های خوب یک سیستم خبره

سیستم‌های خبره‌ی قانون‌گرا

آشنایی با چند سیستم خبره

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

 تعریف- خبره‌- در صورتی که ما بگوییم فردی در رشته‌ای‌ یک خبره می‌باشد‌، منظور ما‌ این است که‌ در آن تخصّص محدود،‌ شایستگی بالایی را به نمایش می‌گذارد‌.

 تعریف- سیستم‌های خبره- برنامه‌هایی طرّاحی شده برای مدلسازی و استدلال در مورد دانش انسان می‌باشند

و معمولاً‌ حول یک دامنه‌، مثل تشخیص بیماری‌، پرواز فضایی‌، لُجِسْتیک(اقدامات مربوط به تهیه و توزیع) و عیب‌یابی نرم‌افزار‌ تمرکز می‌کنند‌. در این سیستم‌ها‌، برنامه‌نویسان‌، واقعیّت‌ها و قوانین را اضافه می‌کنند و سیستم‌، پردازه‌ی استنتاج را به صورت خودکار‌ انجام می‌دهد و می‌توانند یا از زنجیره‌ی پیشرُو  یا از زنجیره‌ی پَسرُو  استفاده نمایند‌.

برخی از کاربردهای سیستم‌های خبره

این سیستم‌ها‌ ممکن است برای طبقه‌بندی‌، تشخیص عیب‌، پیداکردن خرابی‌، تفسیر اطّلاعات‌، طرّاحی‌، پیکربندی، و یا پیش‌بینی‌ به کار روند‌؛ آنها شاید برای آموزش دادن‌، نمایش دادن‌، تحلیل‌، مشاوره‌، تجدید نظر یا کنترل‌ به کار روند‌. استفاده‌ی تجاری سیستم‌های خبره‌ شامل این موردها می‌باشند‌: یک سیستم استفاده شده برای مشاوره(ارائه‌ی نصیحت) در مورد وام خانه‌؛ یک سیستم استفاده شده به وسیله‌ی یک تولید کننده‌ی کامپیوتر، برای برّرسی اجرای کامل دستورات مشتریان‌؛ یک سیستم استفاده شده در بیمارستان، برای تفسیر اندازه‌گیری‌های ریّوی، جهت مشاهده‌ی علائم ناخوشی ریّه‌؛ یک سیستم استفاده شده به وسیله‌ی شیمیدان‌ها، برای تفسیر توده‌ی داده‌های طیفْ‌سنج، برای کمک به پی‌بردن به ساختار مولکولی ترکیبات آلی(زیستی)‌؛ و یک سیستم، برای کمک به زمین‌شناسان، برای ارزیابی مکان‌های معدنی، برای ذخایر‌.

چرا یک سیستم خبره را می‌سازیم‌؟

برای تکثیر خبره‌ی نادر(كمياب) و پرهزینه‌؛ برای فرمول‌بندی دانش خبره؛ و برای جمع‌آوری منبع‌های دانش متمایز، یک سیستم خبره را می‌سازیم‌. دلایل ممکن دیگری هم وجود دارند‌؛ برخی از افراد‌ دلیل می‌آورند که سیستم‌های خبره‌ در مقایسه با انسان‌ها‌ کم‌تر خطا می‌کنند، مناسب‌تر هستند و رُک‌تر هستند‌، یا در مقایسه با خبره‌های انسانی‌، بی‌طرف‌تر می‌باشند‌؛ البتّه‌ سیستم‌های خبره‌ عیب‌های زیادی هم دارند‌، که باید استفاده از آنها را به دامنه‌های مشخّص‌، محدود نماییم‌. سیستم‌های خبره‌، دارای بینش‌، دلسوزی‌، فهم انگیزه‌ی انسانی‌، توانایی حدس زدن‌، معمولاً توانایی یادگیری‌، دانش قضاوت صحیح(عقل سلیم) اندکی می‌باشند‌.

ویژگی‌های خوب یک سیستم خبره

در صورتی که سیستم خبره‌ به صورت محاوره‌ای باشد‌، یک رابط کاربری خوب‌، بسیار ضروری می‌باشد‌. توجّه کنید که مکالمه‌ای که سیستم خبره‌ با شخص کاربر‌ انجام می‌دهد باید به صورت «طبیعی»، به وسیله‌ی کاربر، مطرح شده باشد، که شامل موردهایی نظیر این‌ها می‌باشد‌: شیوه‌ی سؤالاتی که سیستم می‌پرسد‌ باید طبیعی باشد‌؛ سؤالات احمقانه نباید وجود داشته باشند (کسانی که به سیستم‌ جواب می‌دهند باید با دلیل‌ تدبیر کرده باشند‌)‌؛ سیستم‌ باید قادر باشد توضیح دهد که چرا یک سؤال را می‌پرسد و هر نتیجه‌ای که به آن می‌رسد را توجیه نماید و باید به کاربر‌  در مورد سیستم‌ اطمینان دهد‌.

در استدلال‌ باید یک سیستم خبره‌ قادر به انجام این موردها باشد‌: باید استنتاج‌هایش باورکردنی و نه الزاماً صحیح باشند‌؛

باید قادر به کار با دامنه‌ی دانش ناقص و موردهایی که اطّلاعات‌، ناقص هستند‌، باشد‌؛ اغلب‌، دانش و یا اطّلاعات‌، ناکامل می‌باشند و دانش و یا داده‌ها‌ ممکن است قابل اعتماد نباشند (مثلاً‌ ممکن است دارای خطا باشند) و شاید‌ دانش و یا داده‌ها‌ به صورت نادرست‌ بیان شده باشند (به عنوان مثال‌، «‌اگر دارای دندان بلندی باشد‌، آنگاه‌ این‌ خطرناک می‌باشد‌.»‌)‌؛

همچنین‌ باید سیستم‌، رقابت همزمان مفروضات را در نظر داشته باشد‌.

سیستم‌های خبره باید بتوانند به‌سادگی‌ اطّلاعات جدید را یکی نمایند(تطبیق دهند) (یا از طریق مهندسی دانش بیش‌تر، یا با استفاده از یادگیری ماشینی)‌.

سیستم‌ خبره‌ی قانون‌گرا 

 تعریف- سیستم‌ خبره‌ی قانون‌گرا، در علم کامپیوتر، سیستمی خبره است که براساس مجموعه‌ای از قانون‌ها که یک انسان خبره برای رسیدگی کردن به یک مسأله دنبال می‌کند، باشد.

روش‌های زیادی می‌توانند برای ساخت سیستم‌های خبره‌ استفاده شوند‌. امّا اکثر سیستم‌های خبره که تا‌کنون ساخته شده‌اند، سیستم‌های قانون‌گرا می‌باشند‌؛ یعنی‌، پایگاه دانش آنها شامل واقعیّت‌ها و قانون‌ها می‌باشد‌.

پایگاه دانش

پایگاه دانش‌، شامل واقعیّت‌ها و قوانین می‌باشد‌. تصوّر کنید که ما در حال ساخت یک سیستم خبره‌ی قانون‌گرا برای تشخیص پزشکی باشیم‌؛ قانون‌ها، ارتباط‌های میان علائم و عبارت‌های پزشکی را کد خواهند کرد‌؛ واقعیّت‌ها، دانش را در مورد بیماری جاری کد خواهند کرد‌؛ در سیستم‌های قانون‌گرا، [قانون‌ها‌] اغلب‌ به صورت «اگر‌... آنگاه‌...»‌ نوشته می‌شوند‌؛ به صورت برابر‌، می‌توانند به یکی از شکل‌هایی که برای موردهای زیر‌ استفاده می‌شوند‌، نوشته شوند‌:

if  p1 AND p2 … AND pn then q

(p1  …  pn)  q

q  ¬p1  …  ¬pn

برای سیستم‌های قانون‌گرا‌ استفاده از منطق گزاره‌ای‌، زمانی که گزاره‌ها دارای هیچ آرگومانی نمی‌باشند‌، کاملاً معمولی است‌؛ بنابراین‌ در این موقع، متغیّرها و سمبل(نام)‌های تابعی‌، در واقعیّت‌ها و قانون‌ها وجود ندارند‌؛ در مثال‌های زیر‌ خودمان را با این وضعیّت‌، محدود نموده‌ایم‌. نتیجه‌ی یک قانون‌ شاید یک قلم تجزیّه ناپذیر باشد که در قانون قبلی‌ آمده است‌. می‌توانیم این زنجیره را به شکل گرافیکی‌ به صورت یک گراف AND-OR‌ نمایش دهیم‌.

 مثال- برای قانون‌های زیر‌:

if p AND q then r

if s AND t then r

if u then p

if v then p

if w AND x then s

if y then s

if z then t

 گراف زیر را داریم‌:

 

 مثال- در زیر‌ مثالی از پایگاه دانشی برای شناسایی حيوان‌ها را می‌بینید‌:

if animal Gives Milk  then animalIsMammal

if animalHasHair  then animalIsMammal

if animalIsMammal AND animalChews Cud  then animalIsUngulate

if animalIsUngulate AND animalHasLongNeck  then animalIsGiraffe

if animalIsUngulate AND animalIsStriped  then animalIsZebra

از این مثال‌ در آینده استفاده خواهیم کرد‌.

موتور استنتاج

موتور استنتاج‌، استنتاج‌ها را با استفاده از دانش موجود در پایگاه دانش‌ استخراج می‌کند و این کار را با استفاده از استنتاج قانون‌گرا ‌ انجام می‌دهد‌؛ از یک نقطه نظر منطقی‌، اساساً‌ از روش تحلیل ‌ استفاده می‌کند‌. یک چشم‌انداز(دورنمای) استنتاج(استدلال) قانون‌گرا، این است که، در حال انجام یک جستجوی گرافی AND-OR می‌باشد؛ به طور مؤثّر‌، ما به دنبال یک مسیر که ریشه و برگ‌ها را به هم‌ متّصل می‌کند‌، می‌گردیم‌؛ در صورتی که یک گره‌، یک برگ باشد‌، در این صورت، این گره‌، یک واقعیّت را که باید درست باشد، نمایش می‌دهد‌.

در سیستم‌های خبره‌ی محاوره‌ای‌، فرض نمی‌کنیم که همه‌ی واقعیّت‌ها شناخته شده‌اند و در گذشته در پایگاه دانش‌ وجود داشته‌اند‌. بنابراین‌ در زمانی که در تلاش برای این هستیم که ببینیم که آیا یک گره‌ی برگ(واقعیّت)‌، درست است یا نه‌، پایگاه دانش را برّرسی خواهیم نمود‌، اگر در پایگاه دانش نباشد‌، در این صورت‌ از شخص کاربر‌ پرسش می‌کنیم که آیا واقعیّت‌، درست است یا نه؟‌؛ جواب کاربر‌ می‌تواند به پایگاه دانش‌ اضافه شود‌.

زنجیره‌ی پَسرُو ‌- زنجیره‌ی پسرو‌، استدلال به وجود آمده(مشتق شده) از هدف می‌باشند. در عبارت‌های گراف AND-OR‌، این نوع از استدلال‌، از ریشه‌ی گراف‌ شروع می‌شود و برای پیداکردن مسیری از ریشه به برگ‌ها تلاش می‌نماید‌.

زنجیره‌ی پیشرُو ‌- این روش‌، استدلال مشتق شده از داده‌ها هم نامیده می‌شود‌؛ در عبارات گراف AND-OR‌، این نوع از استدلال‌، از برگ‌ها شروع می‌کند و تلاش می‌کند که مسیری را از برگ‌ها به طرف ریشه پیدا نماید‌.

 

برخی از سیستم‌ها‌ منحصراً از یکی از روش‌های زنجیره‌ی پیشرو یا زنجیره‌ی پسرو استفاده می‌کنند‌. امّا تعداد زیادی از سیستم‌ها از هر دو روش‌ استفاده می‌کنند، که این کار‌، خیلی طبیعی می‌تواند باشد‌؛ به عنوان مثال، به یک مشاوره با یک پزشک‌ توجّه نمایید‌؛ بیمار‌ برخی از علائم را تشریح می‌کند‌؛ نتایج‌ با استفاده از زنجیره‌ی پیشرو‌ به دست می‌آید (شاید فقط به طور آزمایشی)‌. پزشک‌ یک فرض را انتخاب می‌کند و با استفاده از زنجیره‌ی پسرو‌ به علائمی می‌رسد که به وسیله‌ی بیمار‌ بیان شده‌اند‌. بیمار‌ دوباره صحبت می‌کند‌ و شاید به پرسشی دیگر‌ جواب دهد و یا از او اطّلاعات دیگری خواسته شود‌ و این کار(پروسه)‌ باز هم تکرار می‌شود‌.

 

توضیح‌های استدلال

در گذشته اهمّیّت داشتن توضیح روان(سلیس) را در یک سیستم خبره‌ بیان کردیم‌. سیستم‌های قانون‌گرا‌ معمولاً‌ دو امکان را برای ارائه‌ی توضیحات به کاربران‌ ارائه می‌کنند‌؛ کاربران ممکن است یا بپرسند، «چرا‌؟» و یا بپرسند، «چگونه‌؟»‌؛ سیستم‌ این سؤالات را با نمایش برخی از قوانین مربوط‌ جواب می‌دهد‌؛ برای مثال‌، تصوّر نمایید که سیستم خبره‌ی شناسایی حيوان‌ها‌، که در گذشته در همین فصل آن را بیان کردیم، از کاربر‌ این پرسش را می‌پرسد که، «آیا حیوان‌ نُشخوار می‌کند‌؟»‌؛ در این مورد‌ کاربر‌ می‌تواند به جای جواب دادن به این سؤال‌ بپرسد که‌: «چرا شما این سؤال را می‌پرسید‌؟»؛ برای جواب دادن به این سؤال کاربر‌، سیستم خبره‌ با نمایش یک گراف AND-OR‌ پاسخ می‌دهد‌؛ برای مثال‌ ممکن است سیستم‌ پاسخ دهد‌:

«من از شما پرسیدم که، آیا حیوان نشخوار می‌کند‌؟‌، زیرا‌ این‌ در تشخیص اینکه حیوان‌، جانور سُم‌دار است‌، کمک می‌کند‌؛ قبلا‌ً تشخیص داده شده که جانور‌ پستاندار است‌؛ بنابراین، اگر حیوان، نُشخوار می‌کند‌، آنگاه‌ حیوان‌، سم‌دار می‌باشد‌؛ این در تشخیص اینکه، آیا حیوان زرّافه است‌؟‌،‌ کمک می‌کند‌؛ در صورتی که حیوان، سم‌دار باشد و دارای گردن بلند باشد‌، زرّافه می‌باشد»؛

تصوّر نمایید که یک سیستم خبره‌ تشخیص داده که برخی از گره‌ها‌ درست هستند‌؛ در گفتن نتیجه به کاربر‌، کاربر‌ می‌تواند بپرسد‌: «چگونه به این نتیجه رسیدی‌؟»‌؛ برای این کار‌، سیستم خبره‌ با نمایش قسمت‌های موفّق گراف AND-OR‌ جواب می‌دهد‌. ایده‌ این است که، برای توجیه کردن یک استنتاج‌، سیستم‌ باید نشان دهد که کدام قانون‌ها، در رسیدن به آن نتیجه‌، اجرا می‌شوند‌. برای مثال‌، تصوّر کنید در موردی که سیستم‌ تشخیص می‌دهد که حیوان‌ یک جانور سُم‌دار می‌باشد‌، کاربر‌ ممکن است درخواست کند که، «چگونه به این نتیجه رسیدی‌؟»‌، و جواب سیستم‌ ممکن است به صورت زیر باشد‌:

«این قانون‌ برای تشخیص اینکه آیا حیوان،‌ سم‌دار است‌، استفاده شده ‌است: اگر حیوان‌، پستاندار است و نشخوار می‌کند‌، سم‌دار می‌باشد‌.

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

شما به من گفتید که: حیوان‌، دارای مو می‌باشد‌.

شما به من گفتید که: حیوان‌، نشخوار می‌کند‌.»

 

آشنایی با چند سیستم خبره

بیش‌تر پژوهش‌های انقلابی در سیستم‌های قانون‌گرا‌ در مورد سیستمی به نام MYCIN‌ انجام شده است‌. MYCIN‌ برای استفاده‌ی یک پزشک، برای تشخیص عفونت‌های باکتریایی خون‌، طرّاحی شد‌ و در حدود 450 قانون دارد‌.  بازده MYCIN و طبیعی بودن مکالمه‌ی آن‌، با مشارکت قطعه‌های خیلی کوچک دانش، که شاید در مدّت استنتاج‌ به کار گرفته شوند‌، بهبود یافت‌.

 

یکی دیگر از سیستم‌های قانون‌گرای خبره‌ی مشهور‌، PROSPECTOR  (‌برای ارزیابی مکان‌های معدنی دارای استعداد برای استخراج‌) می‌باشد.

 

 سیستم خبره‌ی دیگر، R1 (كه XCON‌‌ هم ناميده شده است)، برای برّرسی‌، کامل کردن و پیکربندی تقاضاهای تجهیزات کامپیوتری مشتری‌ می‌باشد‌.

PUFF، یکی دیگر از سیستم‌های خبره می‌باشد که در پزشکی، برای فهمیدن وضعیّت‌های تنفّسی، از آن استفاده می‌شود:

 

بعد از برخی از آزمایش‌ها، با ساخت چند سیستم خبره‌ی قانون‌گرا‌، پژوهشگران هوش مصنوعی‌ دریافتند که، فقط‌ پایگاه دانش‌، وابسته به دامنه می‌باشد‌. موتور استنتاج و رابط کاربر‌، (‌نسبتاً‌‌) مستقل از دامنه بودند‌. به‌طور‌کلّی‌، برای ساخت یک سیستم خبره‌ی جدید، برای یک دامنه‌ی مختلف‌، به یک پروسه‌ی مهندسی دانش ، برای دریافت کردن قانون‌ها، نیاز داریم‌.

چکیده‌ی مطلب‌های فصل نوزدهم

سیستم‌های خبره، برنامه‌هایی طرّاحی شده برای مدلسازی و استدلال در مورد دانش انسان می‌باشند.

سیستم‌ خبره‌ی قانون‌گرا، در علم کامپیوتر، سیستمی خبره است که براساس مجموعه‌ای از قانون‌ها، که یک انسان خبره برای رسیدگی کردن به یک مسأله دنبال می‌کند، باشد.

برای سیستم‌های خبره‌ی قانون‌گرا،‌ استفاده از منطق گزاره‌ای،‌ زمانی که گزاره‌ها دارای هیچ آرگومانی نمی‌باشند‌، کاملاً معمولی است‌؛ بنابراین‌ در این موقع متغیّرها و سمبل(نام)‌های تابعی‌، در واقعیّت‌ها و قانون‌ها وجود ندارند‌.



:: برچسب‌ها: ██ متن فصل هیجدهم نسخه‌ی رایگان ایبوک هوش مصنوعی ██ , مترجم: سهراب جلوه گر جلوه‌گر , فصل سیستم‌های خِبره , آموزش هوش مصنوعی,

██ متن فصل بیستم نسخه‌ی رایگان ایبوک هوش مصنوعی ██
نویسنده : سهراب جلوه گر جلوه‌گر تاریخ : سه شنبه 11 شهريور 1394

 

 

██ متن فصل بیستم نسخه‌ی رایگان ایبوک هوش مصنوعی ██

 

مترجم: سهراب جلوه گر جلوه‌گر

 

فصل سیستم‌های طبقه‌بندی‌کننده

 

فهرست برخی از عنوان‌های نوشته‌ها

سیستم‌های طبقه‌بندی‌کننده

سیستم‌های تولید

طبقه‌بندی‌کننده‌ها

اجزای یک سیستم طبقه‌بندی‌کننده

سیستم‌های طبقه‌بندی‌کننده

 تعریف- طبقه‌بندی‌، پردازه‌ی انتساب یک ورودی‌ به یکی از کلاس‌های چندگانه می‌باشد‌.

تعریف گُلدبِرگ

 

دِیوید گُلدبِرگ       تعریف دیوید گلدبرگ از سیستم طبقه‌بندی‌کننده چنین است: یک سیستم یادگیری ماشینی است که رشته قانون‌های دستوری ساده را برای راهنمایی عملکردش یاد می‌گیرد.

سیستم‌های تولید

 تعریف- یک سیستم تولید‌، از تعداد زیادی ‌قانون؛ حافظه‌ای که در آن‌ واقعیّت‌ها قرار می‌گیرند؛ و یک الگوریتم که با استفاده از روش زنجیره‌ی پیشرو‌ اجرا می‌شود و واقعیّت‌های جدید را با استفاده از قبلی‌ها به وجود می‌آورد‌، تشکیل شده است‌.

یک قانون‌، زمانی اجرا می‌شود که مجموعه‌ای از شرایط‌، که در حافظه هستند‌، برقرار باشند‌.  سیستم‌های تولید‌، یک روش رایج در هوش مصنوعی هستند‌. در آنها از «اگر–آنگاه» یا قانون‌های «شرط–عملکرد»‌ استفاده می‌شود‌. مثلاً‌ در دنیای جاروبرقی داریم‌: در صورتی که خانه‌ی [1و1]‌ جارو نشده باشد و در خانه‌ی مجاور یا همسایه باشد‌، آنگاه به خانه‌ی [1،1] برو‌. چنانچه بیان شد، یک سیستم تولید‌، از تعداد زیادی قانون‌ تشکیل شده است‌؛ برخی از قوانین‌ ممکن است باعث عمل کردن قانون‌های دیگر شوند‌؛ در سیستم‌های تجاری‌، مسأله‌‌ این است که، وقتی برای یک مورد‌ بیش از یک قانون داریم‌ چه کار کنیم‌؟ [‌و کدام را اجرا نماییم‌؟]‌‌، در آینده به این مورد خواهیم پرداخت‌.

اجزای یک سیستم طبقه‌بندی کننده

یک سیستم طبقه‌بندی کننده‌ دارای سه جزء می‌باشد‌: یک قانون و سیستم پیام‌؛ یک سیستم انتساب اعتبار؛ و یک الگوریتم ژنتیکی‌، برای تولید قانون‌های جدید‌. حال این اجزا را مورد برّرسی قرار می‌دهیم:

قانون و سیستم پیام

حسگرهای عامل،‌ اطّلاعات را که به صورت یک رشته‌ی بیتی، کد شده‌اند‌، دریافت می‌نمایند‌؛ این اطّلاعات‌ پیامی از محیط می‌باشد‌.  این پیام، طبقه‌بندی‌کننده‌ها(قانون‌ها) را با تطبیق شرط‌ها‌ فعّال می‌نماید‌. طبقه‌بندی‌کننده‌ها‌ پیام‌هایشان را به لیست پیام‌ ارسال می‌نمایند‌؛ این پیام‌ها‌ ممکن است دیگر طبقه‌بندی‌کننده‌ها یا عمل‌کننده‌های عامل را فعّال نمایند‌.

 مثال‌- فرض کنید سیستم ما دارای طبقه‌بندی‌کننده‌های زیر می‌باشد‌؛ توجّه کنید که قانون‌ها به وسیله‌ی 0،1 و #(*) به صورت یک رشته‌ی بیتی‌ کد می‌شوند‌:

1.     01##: 0000

2.     00#0: 1100

3.     11##: 1000

4.     ##00: 0001

اگر پیام 0111 از محیط‌ دریافت شود‌؛ در ابتدا‌ قانون یک‌ اجرا می‌شود‌، پس 0000‌ در لیست پیام‌ قرار می‌گیرد‌؛ سپس‌ قانون‌های دو و چهار‌ اجرا می‌شوند‌، در نتیجه 1100 و 0001 در لیست پیام‌ قرار می‌گیرند‌؛ بعد‌ قانون سه اجرا می‌شود‌، پس 1000 در لیست پیام‌ قرار می‌گیرد‌، که با قانون شماره‌ی 4‌ مطابقت دارد، که پیامش در لیست پیام‌ها قرار دارد‌، حالا چند پیام در لیست پیام قرار دارد‌؛ کدام پيام‌ به عمل‌کننده‌ها[ی عامل] فرستاده می‌شود‌؟:

سیستم انتساب اعتبار

در زیر روشی را برّرسی می‌نمائیم:

روش گزینش براساس سابقه‌ی بهتر‌- در الگوریتم گزینش براساس سابقه‌ی بهتر، قانون‌ها براساس عملکرد قبلی انتخاب می‌شوند؛ به بیان دیگر، قانونی که دارای گذشته‌ی بهتری است، اجرا می‌شود؛ وقتی که یک قانون‌ برقرار می‌شود‌، در یک «حراج(مزایده) »[، با قانون‌های دیگر،] شرکت می‌نماید‌؛ هر قانون براساس عملکرد قبلی‌، دارای یک توانایی(قوّت) می‌باشد‌ و بالاترین قانون‌های شرکت کننده‌ بَرَنده می‌شوند و به طبقه‌بندی‌کننده‌(ها)‌ای که آنها را فعّال کرده‌(اند)‌، فرستاده می‌شوند‌.

الگوریتم ژنتیکی

تولید قوانین جدید‌- گزینش براساس سابقه‌ی بهتر، یک روش انتخاب قوانین و انتساب اعتبار را ارائه می‌نماید‌؛ حال سؤال این است که، چگونه قوانین جدید را به دست بیاوریم‌؟؛ در الگوریتم ژنتیکی پایه‌ی ما، همه‌ی جمعیّت‌، در زمان t‌، در زمان t+1‌ جایگزین می‌شود‌؛ این روش به‌خوبی برای بهینه‌سازی عمل می‌کند‌، ولی برای یادگیری‌، زیاد مناسب نمی‌باشد‌؛ به همین خاطر‌ از روش گزینش بهترین‌ها(نخبه‌سالاری) ‌، برای حفظ برخی از قانون‌ها، استفاده می‌نماییم‌؛ از روش انتخاب رولت ‌ هم برای حفظ قانون‌ها می‌توانید استفاده نمایید‌، البتّه‌ این روش‌ کندتر‌ استنتاج می‌کند‌. 

 

چکیده‌ی مطلب‌های فصل بیستم

طبقه‌بندی‌، پردازه‌ی انتساب یک ورودی‌ به یکی از کلاس‌های چندگانه می‌باشد‌.

سیستم طبقه‌بندی‌کننده، یک سیستم یادگیری ماشینی است که رشته قانون‌های دستوری ساده را برای راهنمایی عملکردش یاد می‌گیرد. (گُلدبِرگ)

یک سیستم تولید‌، از تعداد زیادی ‌قانون؛ حافظه‌ای که در آن‌ واقعیّت‌ها قرار می‌گیرند؛ و یک الگوریتم که با استفاده از روش زنجیره‌ی پیشرو‌ اجرا می‌شود و واقعیّت‌های جدید را با استفاده از قبلی‌ها به وجود می‌آورد‌، تشکیل شده است‌.

در یک سیستم تولید‌، برخی از قوانین‌ ممکن است باعث عمل کردن قانون‌های دیگر شوند‌؛ در سیستم‌های تجاری‌، مسأله‌‌ این است که، وقتی برای یک مورد‌ بیش از یک قانون داریم‌، چه کار کنیم‌؟ [‌و کدام را اجرا نماییم‌؟]‌‌.

یک سیستم طبقه‌بندی کننده‌ دارای سه جزء می‌باشد‌: یک قانون و سیستم پیام‌؛ یک سیستم انتساب اعتبار؛ و یک الگوریتم ژنتیکی‌، برای تولید قانون‌های جدید‌.

در الگوریتم گزینش براساس سابقه‌ی بهتر، قانون‌ها براساس عملکرد قبلی انتخاب می‌شوند؛ به بیان دیگر، قانونی که دارای گذشته‌ی بهتری است، اجرا می‌شود.

در الگوریتم ژنتیکی پایه‌ی ما، همه‌ی جمعیّت‌، در زمان t‌، در زمان t+1‌، جایگزین می‌شود‌؛ این روش به‌خوبی برای بهینه‌سازی عمل می‌کند‌، ولی برای یادگیری‌، زیاد مناسب نمی‌باشد‌؛ به همین خاطر‌ از روش گزینش بهترین‌ها(نخبه‌سالاری)‌، برای حفظ برخی از قانون‌ها، استفاده می‌نماییم‌.



:: برچسب‌ها: ██ متن فصل بیستم نسخه‌ی رایگان ایبوک هوش مصنوعی ██ , مترجم: سهراب جلوه گر جلوه‌گر , فصل سیستم‌های طبقه‌بندی‌کننده , آموزش هوش مصنوعی,

██ متن فصل بیست و یکم نسخه‌ی رایگان ایبوک هوش مصنوعی ██
نویسنده : سهراب جلوه گر جلوه‌گر تاریخ : چهار شنبه 10 شهريور 1394

 

 

██ متن فصل بیست و یکم نسخه‌ی رایگان ایبوک هوش مصنوعی ██

 

مترجم: سهراب جلوه گر جلوه‌گر

 

فصل یادگیری با استفاده از مشاهده‌ها؛ و درخت‌های تصمیم‌گیری 

 

فهرست برخی از عنوان‌های نوشته‌ها

یادگیری

انواع بازخورد

یادگیری نظارت شده(کنترل شده)

یادگیری بدون نظارت(کنترل نشده)

تقویّت یادگیری(یادگیری تقویّتی)

تعریف یک مسأله‌ی یادگیری‌

درخت‌های تصمیم‌گیری

 

در گذشته‌ فرض کردیم که دانش اوّلیّه‌ به وسیله‌ی خبره‌ها به ما داده شده است و بر چگونگی استفاده از این دانش‌ تمرکز کردیم‌. حال‌ می‌خواهیم در این مورد صحبت کنیم که، چگونه دانش را از راه مشاهده به دست آوریم و بر قانون‌های گزاره‌ای‌ تمرکز می‌کنیم‌؛ مثلاً‌ اگر هوا(وضعیّت جوّی) آفتابی و گرم باشد‌، آنگاه‌ تنیس‌ بازی کنید و [به صورت گزاره‌ای] می‌نویسیم‌:

sunny  warm  PlayTennis

یا اگر هوا(وضعیّت جوّی) خنک باشد و بارانی باشد یا باد شدید بوزد‌، آنگاه تنیس‌ بازی نکنید و می‌نویسیم‌:

cool  (rain  strongWind)  PlayTennis

یادگیری

 

برای یک عامل‌، یادگیری‌ به چه معنی می‌باشد‌؟:

 تعریف- به این معنی است که، عامل‌، دانش جدید را دریافت می‌نماید‌، دانش جدید را به کار می‌گیرد‌، رفتارش را تغییر می‌دهد و در یک کار معیّن‌، معیارکارآیی خود را بهبود می‌بخشد‌.

عامل‌های یادگیرنده

به یاد بیاورید که در گذشته در مورد عامل‌های یادگیرنده صحبت کردیم‌:

 

یک عامل یادگیرنده‌ دارای یک عنصر کارآیی و یک عنصر یادگیری‌ می‌باشد‌. عنصر کارآیی‌، چیزی است که یک عامل‌ برای تصمیم‌گیری در مورد اینکه چه کاری انجام دهد‌، از آن استفاده می‌کند و این‌ چیزی است که تا‌کنون مطالعه کرده‌ایم‌. عنصر یادگیری‌‌، چیزی است که به عامل‌ برای بازنگری عنصر کارآیی‌ اجازه می‌دهد‌، این ممکن است به معنی اضافه نمودن یا تغییر قانون‌ها یا واقعیّت‌ها‌، بازنگری یک مکاشفه(ابتکار) و تغییر یک تابع جانشین  باشد‌. یک عامل‌ برای بازنگری کردن رفتارش‌ به اطّلاعاتی که به عامل بگوید چگونه به‌خوبی‌ کارش را انجام می‌دهد‌، نیازمند می‌باشد‌، این اطّلاعات،‌ بازخورد ‌ نام دارد‌.

  انواع بازخورد

در اصل‌ سه نوع عملکرد یادگیری‌ وجود دارد که هر کدام‌ بازخورد متفاوتی دارد‌:

یادگیری نظارت شده (کنترل شده)

 تعریف- یکی از عمومی‌ترین شکل‌های یادگیری‌ می‌باشد‌؛ در این مورد‌ یک منبع خارجی (که اغلب‌ یاد(آموزش) دهنده ‌ نام دارد)‌، عامل را با نمونه‌های برچسب زده شده ‌ ارائه می‌نماید، که باید از این داده‌ها برای تشخیص قانون‌های کلّی‌تر‌ استفاده نماید‌؛

مثلاً نمونه‌ها‌ می‌توانند این موردها باشند: لیست بیماران و ویژگی‌ها‌؛ چه عامل‌هایی مرتبط با سرطان می‌باشند‌؟؛ چه عواملی‌ فردی را دارای خطر می‌داند‌؟؛ بهترین سؤالات‌ برای طبقه‌بندی حيوان‌ها چیست‌؟؛ صورت چه فردی یا چه جانوری در این تصویر می‌باشد؟؛ این پردازش یادگیری(به دست آوردن) قانون‌های کلّی، از واقعیّت‌های مشخّص‌، استنتاج  نام دارد‌.‌ عامل‌، موردهای(عملکردهای) معیّنی را در طول طبقه‌بندی‌اشان می‌بیند‌.

 

در شکل بالا وقتی که عامل، عنکبوت را به اشتباه مارمولک می‌پندارد، آموزش دهنده این مطلب را به او می‌گوید.

یادگیری بدون نظارت (کنترل نشده)

 تعریف- در این مورد‌ آموزش دهنده‌ای برای ارائه‌ی نمونه‌ها وجود ندارد و عامل‌ معمولاً‌ برای پیداکردن الگوهایی در داده‌ها تلاش می‌نماید‌.

 

تقویّت یادگیری(یادگیری تقویّتی)

 تعریف- یک نوع مخصوص از یادگیری‌ است که در آن‌ عامل‌ فقط‌ درست بودن یا غلط بودن را برای انجام یک عمل‌ دریافت می‌نماید‌ و ممکن است «بهترین» عملکرد را برای انجام نداند‌.

 

در شکل بالا وقتی که عامل به اشتباه عنکبوت را مارمولک می‌پِندارد، کارشناس(خبره)، غلط بودن این پندار را به او می‌گوید و عامل دوباره خود را به‌روز کرده و تلاش می‌کند.

 

  تعریف یک مسأله‌ی یادگیری‌

می‌توانیم مسأله‌ی یادگیری را با تخمین‌، به صورت یک تابع f‌، که به ما می‌گوید چگونه یک مجموعه از ورودی‌ها را طبقه‌بندی نماییم‌، تفسیر کنیم‌؛ یک مثال‌ در این مورد‌ یک مجموعه از ورودی‌های x و f(x) متناظر می‌باشد‌:

<<Mammal ,Eats-Meat ,Black-Stripes ,Tawny >,Tiger >

 

شکل بالا- بَبر

 

‌درخت‌های تصمیم‌گیری

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

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

در هر گره، در درخت‌، یک ویژگی‌ آزمایش(تست) می‌شود‌. در زیر، یک درخت تصمیم‌گیری را می‌بینید:

 

چکیده‌ی مطلب‌های فصل بیست و یکم

 برای یک عامل‌، یادگیری‌ به این معنی است که، عامل،‌ دانش جدید را دریافت می‌نماید‌، دانش جدید را به کار می‌گیرد‌، رفتارش را تغییر می‌دهد و در یک کار معیّن‌، معیارکارآیی خود را بهبود می‌بخشد‌.

یک عامل‌ برای بازنگری کردن رفتارش‌ به اطّلاعاتی که به عامل بگوید چگونه به‌خوبی‌ کارش را انجام می‌دهد‌، نیازمند می‌باشد‌، این اطّلاعات‌، بازخورد‌ نام دارد‌.

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

درخت‌ تصمیم‌گیری، نموداری درختی برای بیان تصمیم‌گیری‌های ترتیبی و نتیجه‌های ممکن از این تصمیم‌گیری‌ها است.



:: برچسب‌ها: ██ متن فصل بیست و یکم نسخه‌ی رایگان ایبوک هوش مصنوعی ██ , مترجم: سهراب جلوه گر جلوه‌گر , فصل یادگیری با استفاده از مشاهده‌ها؛ و درخت‌های تصمیم‌گیری , آموزش هوش مصنوعی,

██ متن فصل بیست و سوّم نسخه‌ی رایگان ایبوک هوش مصنوعی ██
نویسنده : سهراب جلوه گر جلوه‌گر تاریخ : چهار شنبه 9 شهريور 1394

 

 

██ متن فصل بیست و سوّم نسخه‌ی رایگان ایبوک هوش مصنوعی ██

 

مترجم: سهراب جلوه گر جلوه‌گر

 

فصل آشنایی با روبوتیک

 

فهرست برخی از عنوان‌های نوشته‌ها

تعریف‌هاي روبوت

انواع روبوت

کاربردهای روبوت

چه کارهایی برای انسان سخت و برای روبوت‌ها آسان است؟

چه کارهایی برای انسان آسان و برای روبوت دشوار است؟

فرق روبوت با ماشین‌آلات خودکار

تعريف علم روبوتيك

قوانین روبوتیک

تاریخچه‌ی کوتاهی از روبوتیک

اجزای کلیدی روبوت

طرزکار(مکانیزم) روبوت

حسگرها

عمل‌کننده‌ها

کنترل کننده

سخت‌افزار کنترل کننده

صنایعی که از روبوت‌ها استفاده می‌کنند

روبوت‌های صنعتی‌ چه کارهایی می‌توانند انجام دهند‌؟

چند نمونه روبوت:

 

مقدّمه

 

کِرُل کاپِک   

 

کلمه‌ی رُوبُوت‌ به وسیله‌ی یک رمان نویس کشور چِک  به نام کِرُلْ کاپِکْ ‌ در سال 1920 ميلادي‌ در یک نمایش با عنوان Rassum's Universal Robots(RUR)‌ به کار گرفته شد‌؛ اين واژه(روبوت)‌ از كلمه‌ي چِكي روبوتا ، كه در زبان چکی‌، واژه‌ای برای «كار اجباري‌، بيگاري‌، کارگر یا پیشخدمت» می‌باشد‌، گرفته شده است‌.

 

شکل بالا- صحنه‌ای از نمایش Rassum's Universal Robots(RUR)‌ کِرُل کاپِک در سال 1920 میلادی؛ در این تصویر در سمت راست، سه روبوت نشان داده شده است.

 

تعریف‌هاي روبوت

 تعریف اوّل‌- هر ماشین ساخته شده به وسیله‌ی یکی از اعضای ما‌.

 تعریف دوّم‌- یک روبوت‌، یک دست ماشینی قابل برنامه‌ریزی مجدّد و چندکاربردی طرّاحی شده برای حرکت دادن مواد‌، قطعه‌ها‌، ابزار یا وسایل مخصوص‌، با استفاده از حرکت‌های برنامه‌ریزی شده‌ی متغیّر و برای کاربردهای مختلف می‌باشد‌.

 تعریف سوّم‌- وسيله‌اي مكانيكي‌ براي انجام كاري كه به وسيله‌ي انسان‌ انجام مي‌شود‌، می‌باشد، مثل رَنگ كردن اتومبيل.

 تعریف چهارم- وسیله‌ای مکانیکی کامپیوتری برای انجام کارهای پیچیده.

 تعریف پنجم- هر ماشینی که به صورت خودکار و به جای انسان کار می‌کند، گرچه ممکن است در ظاهر یا شیوه‌ی انجام کارها شبیه انسان نباشد.

 تعریف ششم- یک روبوت، یک عامل هوشمند مکانیکی است که می‌تواند خودش کارها را انجام دهد، یا می‌تواند برای انجام کارها راهنمائی شود. در عمل، یک روبوت معمولاً یک ماشین الکترومکانیکی است که به وسیله‌ی کامپیوتر و برنامه‌نویسی الکترونیکی راهنمائی می‌شود. روبوت‌ها می‌توانند خودمختار یا نیمه‌خودمختار باشند و دارای دو نوع اصلی هستند:

یکی، آنهایی که برای پژوهش در زمینه‌ی سیستم‌های شبیه انسان  استفاده می‌شوند، مثل روبوت‌های ASIMO و TOPIO

 

شکل بالا- روبوت ASIMO 2000، یک روبوت شبیه انسان است که در سال 2005 میلادی در نمایشگاه Expo 2005، در کشور ژاپُن به نمایش گذاشته شده است.

 

شکل بالا- TOPIO که یک روبوت شبیه انسان است، در نمایشگاه بین المللی روبوت IREX  در سال 2009 میلادی در شهر توکیوی کشور ژاپن پینگ پنگ بازی کرد.

 و دیگری، آنهایی که دارای نقش‌های تعریف شده‌تر و خاص‌تر هستند، مثل نانُو روبوت‌ها  و کُپّه روبوت‌ها(روبوت‌های کپّه‌ای) ؛ و روبوت‌های کمک کننده ، که برای ساختن یا حرکت دادن چیزها یا انجام کارهای پَست یا خطرناک، استفاده می‌شوند، مثل روبوت‌های صنعتی  یا روبوت‌های متحرّک  یا روبوت‌های سرویس‌دهنده(مُستَخدِم) .

خصوصیّت مشترک دیگر برای روبوت‌ها این است که، ظاهر یا حرکت آنها این حس را به ما می‌دهد که، آنها از خودشان دارای قصد(نیّت)  و عمل(عاملیّت)  [، برای انجام کار] هستند.

 

  انواع روبوت

                 

شکل بالا- دست ماشینی      شکل بالا- دست ماشینی      شکل بالا- روبوت پادار

                 

شکل بالا- روبوت چرخ‌دارشکل بالا- وسیله‌ی زیر آبی خودمختار       شکل بالا- وسیله‌ی بی‌سرنشین هوایی

 

کاربردهای روبوت

کارهایی که برای انسان‌ خطرناک می‌باشند

 

روبوت ضدّعفونی کننده‌ي نشان داده شده در بالا‌ در نیروگاه اتمی برای پاک(تمیز) کردن به کار می‌رود‌.

کارهای تکراری که برای انسان‌، کِسِل کننده‌، پردَغدَغه یا کار بر می‌باشند

 

روبوت جوشکاری کننده (تصوير بالا)

کارهای پست که انسان دوست ندارد آنها را انجام دهد

 

روبوت اِسکرابمِیت ‌ (تصوير بالا)‌، در حال پاك كردن دستشويي

 

چه کارهایی برای انسان سخت و برای روبوت‌ها آسان است؟

کارهای تکراری، کار مداوم، انجام محاسبه‌های پیچیده، کار با پایگاه داده‌های بزرگ، برای روبوت‌ها آسان و برای انسان دشوار است.

 

شکل بالا- روبوت‌ها در خطّ تولید یک کارخانه‌ی خودروسازی

چه کارهایی برای انسان آسان و برای روبوت دشوار است؟

دلیل آوردن(استدلال)، تطبیق با شرایط جدید، آمیختن اطّلاعات نامربوط، آفرینندگی(خلّاقیّت) ، برای روبوت دشوار و برای انسان‌ [، در مقایسه با روبوت،] آسان است.

 

فرق روبوت با ماشین‌آلات خودکار

ماشین‌آلات خودکار برای انجام کار مشخّصی طرّاحی شده‌اند؛ مثل: ماشین‌هایی که بطری‌ها را پُر می‌کنند ، ماشین ظرفشویی  و ماشین رَنگ پاش .

 

شکل بالا- یک ماشین که بطری‌ها را پر می‌کند

 

شکل بالا- ماشین ظرفشویی

 

شکل بالا- ماشین رنگ پاش

ولی روبوت‌ها برای انجام کارهای گوناگون طرّاحی شده‌اند؛ مثل: بازوهای برداشتن و گذاشتن ، و روبوت‌های متحرّک.

 

شکل بالا- بازوی برداشتن و گذاشتن

 

شکل بالا- یک روبوت متحرّک

 

تعريف علم روبوتيك

 تعریف نخست- طرّاحی، ساخت و استفاده از ماشین‌هایی یا روبوت‌هایی که کارهایی را انجام می‌دهند که آن کارها معمولاً به وسیله‌ی انسان‌ها انجام می‌شوند.

 تعریف دوّم- شاخه‌اي از هوش‌مصنوعي است كه به طرّاحي‌، توليد و به كارگيري روبوت مي‌پردازد‌.

 تعریف سوّم- فنّـآوری ساخت و استفاده از روبوت‌ها.

 تعریف چهارم- شاخه‌ای از فنّآوری است که به طرّاحی، تولید، اداره، حالت ساختاری و کاربردهای روبوت‌ها می‌پردازد. روبوتیک، به علم‌های الکترونیک، مهندسی، مکانیک و نرم‌افزار وابسته است.

قوانین روبوتیک

 

شکل بالا- یک روبوت معمولی قبل از قوانین آسیموف، این تصویر در کارتون «سوپِر مَن» نشان داده شده است. قانون اوّل آسیموف روبوت را از حمله به انسان نهی می‌کند.

 

اِسحاق آسیمُوف  اِسْحاقْ آسیمُوف  قانون‌های سه گانه‌ی روبوتیک را به صورت زیر‌ بیان نمود:

قانون اوّل‌، روبوت‌ نباید به انسان‌ صدمه(آسيب) وارد کند.

قانون دوّم، روبوت‌ باید دستوراتی که به وسیله‌ی انسان‌ به آن داده شده و به انسان‌ صدمه نمی‌زند(‌قانون اوّل را نقض نمی‌کند‌) را اجرا نماید.

قانون سوّم‌، روبوت‌ باید از خودش مواظبت کند و این مواظبت‌ نباید باعث صدمه زدن به انسان(نقض قانون اوّل) یا اجرا نشدن دستوراتی که انسان به آن داده است(نقض قانون دوّم) شود.

 

تاریخچه‌ی کوتاهی از روبوتیک

در سال 1954 ميلادي‌ اوّلین روبوت قابل برنامه‌ریزی صنعتي به وسیله‌ی جُورْجْ دِوُلْ ‌ با نام Universal Automation‌ طرّاحی شد؛ اين روبوت در سال 1962 ميلادي به Unimation، که نام اوّلین شرکت روبوت شد‌، تغییر نام پیدا نمود‌. شركت Unimate در ابتدا‌ ساخت لامپ تصویر تلویزیون را خودکار نمود‌.

 

در سال 1978 ميلادي‌ روبوت پوما(ماشین همه منظوره‌ي قابل برنامه‌ریزی، برای مونتاژ یا اسِمبِلی)  به وسیله‌ی شركت Unimation با پشتیبانی شركت General Motors‌ به وجود آمد‌ (شکل زیر)‌.

 

شکل بالا- دست ماشینی پوما 560

در دهه‌ی 1980 ميلادي‌ صنعت روبوت‌ به یک مرحله‌ی رشد سریع رسید‌. تعداد زیادی مؤسّسه‌ برنامه‌ها و زمينه‌هایی را در علم روبوتیک‌ معرّفی نمودند‌. زمینه‌های روبوتیک‌، در مهندسی مکانیک‌، مهندسی برق و دانشکده‌های علوم کامپیوتر‌ پخش شدند‌.

                 

شکل بالا- دست ماشینی فنّـآوری بارت     شکل بالا- روبوت Cognex       شکل بالا- روبوت ماهر SCARA

از سال 1995 میلادی تا‌کنون،‌ تحوّلاتی کاربردی در روبوتیک و گرداننده‌ی روبوت‌های متحرّک‌، یک دور دوّم رشد کمپانی‌ها و تحقیق را به وجود آورده است‌. در سال 2003 میلادی‌، کاوشگر کره‌ی مرّیخ ناسا ‌، جستجویی را در سیّاره‌ی مرّیخ‌، برای تاریخچه‌ی آب‌، در آن سیّاره‌، اجرا نمود(شکل زیر)‌.

 

اجزای کلیدی روبوت

 

پایه‌ی روبوت

پایه‌ی روبوت‌ می‌تواند به صورت ثابت یا متحرّک باشد‌؛ بازوهای ماشینی روبوتیک، در کارخانه‌ها، نمونه‌هایی از روبوت‌های ثابت می‌باشند‌؛ آنها نمی‌توانند پایه‌ی خود را حرکت دهند‌. در زیر‌، تصویری از یک روبوت داراي پایه‌ی ثابت را مشاهده می‌نمایید‌:

 

شکل بالا- روبوت A255

در روبوت‌های با پایه‌های متحرّک‌، پایه‌ها‌ معمولاً‌ دارای چرخ هستند و برخی نیز‌ دارای پا مانندهایی برای حرکت می‌باشند‌:

 

طرزکار(مکانیزم) روبوت

اجزای مکانیکی

در زیر‌ چند نمونه از اجزای مکانیکی را می‌بینید‌:

         

شکل بالا- سطح شیبدار        شکل بالا- گُوِه

         

شکل بالا- حلقه‌های زنجیر     شکل بالا- چرخ‌دنده‌، دنده‌ی هَرز‌گَرد و غیره

         

شکل بالا- میل‌لَنگ و پیستون  شکل بالا- اَهرُم

         

شکل بالا- زنجیر و چرخ‌دنده     شکل بالا- میل و بادامَک

حسگرها

حس‌های انسانی؛ نظیر جا، صدا، لمس، مزّه و بو، اطّلاعات حیاتی را برای کار و بقای ما‌ مهیّا می‌کنند. حسگرهای روبوت؛ پیکربندی یا وضعیّت و محیطش را ارزیابی می‌کنند و اطّلاعات این چنینی را به کُنتُرُلِر روبوت‌، به صورت علامت‌های الکترونیکی می‌فرستند (به عنوان مثال‌، وضعیّت بازو و حسّ گاز مَسموم).

 

شکل بالا- شتابْ سنج

روبوت‌ها‌ اغلب‌ به اطّلاعاتی که ماورای پنج حسّ انسان هستند‌، نیاز دارند (به عنوان مثال، دیدنْ در تاریکی، تشخیص مقدارهای کم پرتوهای نامرئی، اندازه‌گیری حرکت‌هایی که آن قدر سریع یا کوچک‌ هستند که برای انسان‌ها قابل دیدن نمی‌باشند).

  در ادامه برخی از گونه‌های حسگرها معرّفی شده‌اند:

حسگرهای نیرو

 

روبوت‌ها‌ می‌توانند جاسازی دقیق و جاسازی قطعات ماشین را با استفاده از حسگر نیرو انجام دهند.

حسگرهای شیب(کجی)

حسگرهای شیب‌، به عنوان مثال‌، برای متعادل کردن(بالانس کردن) یک روبوت‌ به کار می‌روند‌.

 

در شکل‌های بالا دو نمونه حسگر شیب، که به طور مثال، می‌توانند در روبوت برنامه‌ریز نشان داده شده در شکل زیر به کار روند را می‌بینید:

 

حسگر بینایی

به عنوان مثال، برای برداشتن زباله‌ها، نظارت و ...