هوش مصنوعی

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

هوشمندی

تعاریف متعددی از هوشمندی داریم:

  1. تفکر انتزاعی: 
     

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

    به فکر و هوش برگرفته شده از انتزاع هم تفکر انتزاعی میگویند ، مثلا فکر کردن درباره دایره مارا به یاد شکل یک دایره می اندازد ولی در واقعیت دایرهنداریم ، در واقعیت نمیتوانیم مفهوم کامل آزادی یا عدالت را توضیح دهیم .

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

  2. شناخت و یادگیری از محیط.

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

  3. تعرف چامع هوشمندی

    - تعامل با محیط: یعنیدریافت دادههای محیطی ،ذخیره و تولید دانش مثل موشی که در هزار تو بود.
    - یادگیری 
    - سازگاری با محیط: یعنی در صورت تغییرمحیط بتواند با آن محیط سازگارشود.
    این تعریف یک تعریف جامع درباره هوشمتدی است و هر عامل هوشمند که بتواند با محیط تعامل داشته باشد یعنی داده های محیط را دریافت کند و ببیند ، انها را ذخیرهکند و از آنهابه یک نتیجه برسد.
    یادگیری داشته  باشد یعنی این اتاق 4 گوشه دارد مثلایاد بگیرد چطور به اتاق وارد شود.و اگر در محیط تازه ایی قرار گرفت دوباره همان تعاملو یادگیری را داشته باشد یک عامل هوشمند محسوب مبشود.

  4. تعاریف 4 گانه رسمی هوش مصنوعی

    سورس یا منابع هوش مصنوعی یکی میتواند انسان باشد یکی میتواند عقلایی یا منطقی محض باشد

شاخص برای هوش مصنوعی میتواند تفکر عامل هوشمند مثل اسنان یا عقلایی محض باشد یا عملکرد عامل هوشمند باشد:

  1. تفکر انسانی : شناخت نحوه کار ماشین متفکر مثل مغز انسان. خود مختاری در تصمیم گیری و یادگیری حل مسئله
  2. تفکر عقلایی: مدلسازی و محاسبه پذیرکردن نحوه استدلال های منطقی 
  3. عملکرد مثلاسنان بتواند ببیند و بشنود و بگوید یعنی ساخت ماشین هایی که انسان گونه عمل کنند و در مواردی هم که اسنان بهتر عمل میکند حداقل نزدیک ترین عملکرد را به انسان داشته باشند.
  4. عملکرد یا رفتار منطقی: عامل عملکرد و رفتار منطقی با محیط داشته باشد مثلا گاهی اوقات انسان به جای  تفکر منطقی از روی احساساتی چون عشق و ترس و... تصمیم میگیرد اما عاملی که رفتار یا عملکرد منطقی دارد فقط از روی منطق محض پیروی میکند.

تست تورینگ

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

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

  1.  بتواند پردازش زبان طبیعی یعنی زبان ما انسان ها را بفهمد و بتواند حرف بزند(منظور کلمات ما را بفهمد)
  2.  بازنمایی دانش: بتواند داده ها را ذخیره کند و یا برگرداند مثلا جواب سلام که علیک السام است را در حافظه دارد را برگرداند.
  3. استلال خودکار از اطلاعات ذخیره شده ایی که دارد بتواند نتایج جدیدی بسازد و به سوالات پاسخ دهد.
    مثلا جواب سلام که علیک السلام است را بتواند نتیجه جدید مثل سلام ربات را بگیرد و بتواند در آینده به همان سوال سلام ربات پاسخ دهد .
    یا مثلاهر عدد طبیعی بزرگتر و برابر 1 هست و 5 و 6 و 7 هم عدد طبیعی هستند پس خودش به این استدلال برسد که 9 هم عددی طبیعی است اما مثلا رادیکال 3 را بداند که نمیداند.
  4. یادگیری ماشینی: با شرایط جدید سازگاری داشته باشد و محیط را بتواند بشناسد مثلا محیط چت ، محیط مترجم و...

تست جامع تورینگ

همان تست تورینگ است ولی دو قابلیت دیگر هم دارد

  1. بینایی ماشین
  2. رباتیک مثل بازو های ربات  

-نکته: در عملکرد مثلا ساخت یک بات که مثل انسان عمل کند تست تورینگ را داریم. 

تفکر انسان گونه

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

در ایتدا باید نحوه کار ذهن انسان را بشناسیم تا بتوانیم هوشی بسازیم  که تفکر انسانی داشته باشد.

برای شناخت نحوه کار ذهن انسان:

  • درون نگری: به خودمان فکر کنیم مثلا من الان آب خوردم چون تشنه بودم
  • آزمایشات روانشناسی 
  • تصویر برداری و نمونه برداری ذهنی .

-نکته: قبلا عملکرد خوب یک برنامه یا الگوریتم را برابربا انسان گونه بودن آن میدانستند. اما الان عملکردن خوب یک برنامه یا الگوریتم هیچ ارتباطی با انسان  گونه بودن ندارد.

گاهی رباتی نباید عملکرد انسان گونه داشته باشد مثلا در مواقع خطر عملکرد انسان فرار است اما یک ربات آتش نشان یا امداد گر نباید فرار کند و بترسد 

 عامل هوشمند

عامل هوشمند از دو قسمت تشکیل شده است:

  1. حسگر (sensor):که حسگر یا سنسور ها که وضعیت محیط را دریافت و به عامل می دهند.
  2. اثر کننده ها (Effector): اثر کننده ها یا بازو ها یا محرک ها که تاثیر عامل هوشمند بر محیط هستند.
    مثال : یک مریخ نورد که دوربین ها و حسگر های آن حسگر هایی هستند که تاثیر محیط را به عامل میدهند و بازو های عامل هم تاثیر عامل به محیط را منتقل میکنند.

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

دنباله ادراکی 

تمام دریافت های عامل از محیط از ابتدا تا این لحظه را دنباله ادراکی میگویند.

مثلا دنباله ادراکی یک جارو برقی:

دنباله ادراکی 1 = [A,clean]
دنباله ادراکی 2= [A,clean],[B,Dirty]
دنباله ادراکی 3= [A,clean],[A,clean],[B,Dirty]

در دنباله ادراکی بالا شماره 1 مشاهده میکنید که در اولین ادراک در محیط A بوده و تمییز بوده.

در ادراک دوم در A بوده و تمییز بوده 

در ادراک فعلی یا سوم در B هست و کثیف هست.

تابع عامل براساس همه دنباله ها عمل میکند یعنی *P. 

عمل:

تابع یا کاری است از کل دنباله ادراکی یا بخشی از ان 

مثال:

تابع عامل

تابع عامل که در آن برنامه که عامل با آن کار میکند با نماد f یعنی function

f:دنباله ادراکی ------>عمل 
f:p*-------->A

 

تعریف معیار کارایی

چطور بدانیم یک عامل هوشمند هوشمندانه رفتار کرده است؟

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

رفتار عقلایی یا مفید یک عامل بستگی به تعریف ما از کارایی دارد.

 

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

 

مثال: معیار کارایی یک جاروبرقی هوشمند چیست؟

وزن اشیاء جمع شده؟خیر کارایی ندارد چون ممکن است وسایلخانه را به اشتباه جمع کرده باشد.

کم مصرف بودن؟به تنهایی کارایی ندارد چون ممکن است اصلا آشغالی در سطح تشخیص نداده و دستور جمع کردن صادر نکرده.

مثال: یک دانش آموز 2 سوال حل کرده هرو هم درست بوده آیا معیار درستی است؟

خیر ممکن است دانش آموز از 20 سئوال 2 سوال را درست حل کرده باشد!.

چرا معیار کارایی؟

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

مثال جاروبرقی:

 معیار کارایی جارو برقی:

    اگر مصرف باتری کم بود یک امتیاز ، اگر خانه تمیز بود یک امتیاز به خودش میدهد.

جارو برقی عملی انجام می دهد معیار کارایی بالا را چک میکند به خودش دو امتیاز می دهد.

اگر آن عمل امتیازش از 1 بزرگتر بود پس آن عمل عمل خوبی است پس آن را ذخیره کن اینجا  هم 2 امتیاز بدست آورده پس از یک یزرگتر است پس عمل هوشمندانه ایی بود آن را ذخیره میکند.

 

برای امتیاز به عامل در هر زمان و مکان به چهار چیز باید توجه کنیم:

  1. معیار کارایی چه بوده
  2. چه میزان دانش قبلی داشته
    مثلا اگر به جارو برقی یک خانه مربعی شکل را داده ایم به عنوان شکل محیط ولی محیط چند ضلعی بوده است در این صورت آن قسمت هایی که کثیف مانده را به عنوان امتیاز منفی برایش در نظر نمیگیریم.
  3. چه اعمالی میتوانسه انجام دهد
    مثلاجارو برقی هیچ بازویی برای تمیز کردن زیر میز نداشته آنگاه کثیف ماندن زیر میز امتیاز منفی نباید داشته باشد.
  4. دنباله ادراکی آن لحظه چه بوده است

تفاوت عالم بودن با عقلایی بودن

عالم، عاملی است که واقعیت همه چیز را میداند یعنی حداکثر کارایی واقعی را دارد.

عقلایی بودن: طبق دانش قبلی خود بهترین کارایی مورد انتظار خود را پیگیری میکند.

مثل: وقتی به جارو برقی از قبل شکل محیط را دایره میدهیم ولی آن را در محیط مربعی میگذاریم :

عامل عالم: اگر جارو برقی بداند که محیط او یک دایره نیست و مربع است او یک عامل عالم هست.

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

اطلاعات

اطلاعات یا داده های عامل هوشمند به دو طریق بدشت می اید:

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

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

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

TASK  یا وظیفه

عملی که قرار است  عامل هوشمند در محیط انجام دهدعمل یا وظیفه یا ماموریت عامل هوشمند نامیده میشود.