PDA

View Full Version : چجوری میشه یه نرم افزار هوشمند بادرک و فهم طراحی کرد؟



mosab_vb
سه شنبه 08 آبان 1386, 01:23 صبح
من به خاطر این که انجمن مخصوص هوش مصنوعی و الگوریتم هست این بحث رو اینجا مطرح کردم.برای من سوالی پیش اومد که چجوری یک برنامه ای بنویسیم که مثل یه ربات عمل کنه ولی به صورت نرم افزاری.بتونه صدا رو بشنوه یاد بگیره و سوالات رو بر اساس اطلاعات قبلی که به اون داده شده پاسخ بده.دوست دارم روی این پروژه کار کنم.اما هیچ اطلاعاتی در این زمینه ندارم.لطفا کمکم کنید.

bamdadd
سه شنبه 08 آبان 1386, 10:31 صبح
بستگی داره روباتت با چه هدفی طراحی میشه چه ویژگی هایی داره و چجوری اطلاعات رو بدست می آره و چجوری اطلاعات رو پراسس می کنه

pswin.pooya
سه شنبه 15 آبان 1386, 20:12 عصر
سلام
برای شنیدن و تشخیص صدا یه IC وجود داره. داخل کتاب طراحی ربات با میکرو کنترلرهای PIC این IC توضیح داده شده.

mosab_vb
چهارشنبه 16 آبان 1386, 17:06 عصر
سلام.منظور من ربات سخت افزاری نیست بلکه نرم افزاریه.این ربات یک نرم افزاره.

Alireza_Salehi
چهارشنبه 16 آبان 1386, 18:33 عصر
من به خاطر این که انجمن مخصوص هوش مصنوعی و الگوریتم هست این بحث رو اینجا مطرح کردم.برای من سوالی پیش اومد که چجوری یک برنامه ای بنویسیم که مثل یه ربات عمل کنه ولی به صورت نرم افزاری.بتونه صدا رو بشنوه یاد بگیره و سوالات رو بر اساس اطلاعات قبلی که به اون داده شده پاسخ بده.دوست دارم روی این پروژه کار کنم.اما هیچ اطلاعاتی در این زمینه ندارم.لطفا کمکم کنید.

هر چند سوالتون 2 خطه ولی جوابش خیلی پیچیده تر از این حرفهاست!

صدا!
خوب اول باید صدا رو دریافت کنید و به اطلاعات قابل فهم تبدیل کنید و در اینجا دو مسئله وجود داره:
1.برنامه دسنورات را به صورت کلمات دریافت می کند
2. برنامه جملاتی به زبان انسان ها دریافت می کند (Natural language proccessing)

اولی آسون تره و دومی هنوز در حال تحقیقه و خودش یک برنامه کامله!

یادبگیره!
روش های یادگیری واقعا زیاد هستند و هر کدوم هم مدعی!

پاسخ های قبلی!
روش های نگهداری و دسترسی به پایگاه دانش هم خیلی زیاده!

پاسخ بده!
استنتاج هوشمند هم خودش یک برنامه کامله و کلی روش براش وجود داره!


برای پردازش صدا باید پردازش سیگنال (Digital Signal Processing) بلد باشید و بعد تشخیص صدا (Speech Recognition).

برای یادگیری باید یادگیری ماشین (Machine Learning / Learning Machine) بلد باشیدبعدش یکی از روشها رو استفاده کنید (شبکه عصبی،درخت تصمیم گیری و ... )

بعد باید بتوانید اطلاعات را نگهداری کنید که اون هم کلی روش داره. (KnowledgeBase)

استنتاج هم کلی روش داره!

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

alinaghiha
پنج شنبه 17 آبان 1386, 00:28 صبح
اگه تا بحال در این زمینه تجربه نداشتید و لاتینتون خوبه برای درک مفاهیم اولیه به آدرس زیر
http://fzmahmoudi.googlepages.com/artificialintelligence
سر بزنید برنامه نویسی به زبان پرولوگ که مختص این کاره رو هم میتونید دانلود کنید با این اسلاید میتونید برنامه های خوبی بنویسید.

FatBabe
دوشنبه 21 آبان 1386, 13:50 عصر
آیا روشی وجود نداره که مدعی حل این کامپلکس بسیار بسیار بسیار پیچیده باشه. یعنی چیزی که مدعی باشه همه نوع مسئله رو اگه نتونه حل کنه حداقل میشه براش مطرح کرد و به عنوان ورودی معتبر برای سیستم شناخته میشه.

alinaghiha
پنج شنبه 24 آبان 1386, 00:13 صبح
نفهمیدم منظورت از کامپلکس چیه
اگه منظورت مسله های مختلفه برای حل یک مسئله باید مسئله رو بشناسیم و بعد حلش کنیم مسائل زیادی در هوش مصنوعی داریم که بدلیل پیچیدگی هنوز رباتی یا نرم افزاری براش حل نشده و مجبوریم اونو ساده کنیم یعنی خیلی چیزا رو از صورت مسئله پاک کنیم و محدودیتهاشو برداریم
آقای دکتر محمودی مثال خوبی زدن برای حل مساله نزدیک ترین مسیر بین شهرها(مسله رومانی) اگه نخواهیم بیرون اومدن ماشین از پارکینک و خیابان های داخل شهری و عابرین پیاده و سایر ماشینها و هزارتا مسئله دیگه رو حذف کنیم کار آنقدر پیچیده میشه که شاید حلش مدتهای زیادی طول بکشه که همینطورم هست

FatBabe
یک شنبه 11 آذر 1386, 14:41 عصر
من منظورم همینه. اینکه آیا ما برای حل مسائل به کمک هوش مصنوعی باید حتما مسئله رو بفهمیم؟ آیا روشی وجود نداره که مستقل از دیدگاه و نظر ما در مورد مسئله، به حل مسئله بپردازه؟

Alireza_Salehi
یک شنبه 11 آذر 1386, 15:29 عصر
من منظورم همینه. اینکه آیا ما برای حل مسائل به کمک هوش مصنوعی باید حتما مسئله رو بفهمیم؟ آیا روشی وجود نداره که مستقل از دیدگاه و نظر ما در مورد مسئله، به حل مسئله بپردازه؟


مگر انسان به عنوان یک موجود هوشمند بی نهایت پیش رفته می تواند همه مسائل را حل کند که انتظار دارید همین انسان قدرت طراحی همچین چیزی را داشته باشد؟

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

البته از لحاظ تئوریک ساختن چیزی شبیه انسان که تخقیق کنه و راه حل رو پیدا کنه و بعد وسئله رو حل کنه منتفی نیست ولی قدرت پردازشی ابزارهای کنونی جواب گوی چنین پردازشی نیست!

FatBabe
چهارشنبه 14 آذر 1386, 12:23 عصر
من هم منظورم همینه. درسته؛ انسان نمی تونه همه مسائل رو حل کنه، علاوه بر این همه راه حلهایی که ارائه میکنه درست نیست، و از طرفی اونهایی هم که درستن الزاما خوب یا بهترین نیستن. به همین دلیل فکرمیکنم نباید سیستم رو در راه حلهایی که ما بهش ارائه میکنیم گیر بندازیم. فکر میکنم باید یه چند تا بنیان ریاضیاتی قرار بدیم و بر مبنای اونها اجرازه بدیم خود سیستم عمل کنه. و هیچ چیز جز بنیانها نباید توسط انسان دستکاری بشه. این بنیانها هم باید تا حد امکان سیستم رو باز و پیچیده کنن هرجند خودشون ساده باشن. من سوالم اینه که آیا سیستمی وجود نداره که بتونه یه چنین چیزی رو ارائه کنه؟ البته مثال این سیستم دنیای خودمونه ( 6 تا بنیان ریاضیاتی که هرچند خودشون سادن یه سیستم بسیار بسیار پیچیده به وجود آوردن. اونقدر این سیستم بازه که توان بررسی خودشو داره. یعنی میتونه تکامل رو تو خودش راه بندازه. به انسان برسه. و بعد بشینه در بارهء خودشتحقیق کنه و خودشو کشف کنه. یعنی همون 6 تا بنیان رو.)

alinaghiha
جمعه 16 آذر 1386, 00:31 صبح
این چیزی که شما دربارش بحث می کنید یک رباتیه که باید قابلیت ذخیره تجربیاتش رو داشته باشه (اونم یه پایگاه داده-اگه اشتباه نکنم- نامحدود)و چند برابر متوسط عمر انسان تو محیط قرار بگیره و بتونه عملکردهای متفاوتی بکنه و مسئله های زیادی حل کنه و در نهایت اگه داغون نشد تجربیاتش رو ذخیره کنه شاید بازم میگم شاید بتونه ماشینی باشه که شما میخواید!!

omolbanin
پنج شنبه 03 اردیبهشت 1388, 15:07 عصر
سلام میخواستم بدونم میشه سخت افزاری طراحی کرد که صدای انسان رو دریافت کنه و

اونو به کاراکتر تبدیل کنه؟قدرت تشخیص داشته باشه؟امکانش هست؟

mortezamsp
جمعه 04 اردیبهشت 1388, 21:52 عصر
بنظر من برنامه فقط یک فکر هست ، آگاهی نیست!
یک زبان برنامه نویسی یک سری امکانات رو در اختیار میذاره تا بتونیم افکار رو بکمک زبان در یک ماشین پیاده سازی کنیم ولی این امکان رو به ما نمیده که بتونیم برنامه ای بسازیم که بتونه خودش فکرکنه و چیز جدیدی بسازه چون آگاهی با فکر فرق داره.

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