X
تبلیغات
هوش مصنوعی

هوش مصنوعی

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

وبلاگ جدید (شخصی)

سلام

یادم رفته بود وبلاگ جدیدم رو معرفی کنم!

یک روز تمام برای زندگی کردن...

+ نوشته شده در  دوشنبه شانزدهم شهریور 1388ساعت   توسط حسین  | 

زندان کنکور (یا زندانی کنکور!)

متن زیر قسمتی از مؤخره کتاب شیمی پیش دانشگاهی 2 - نشر اندیشه سازان است (همان آفتاب گردانی که از گوشه ای طلوع کرد و این احساس را در ما به وجود آورد که : ای کاش می توانستیم آن گونه باشیم)

دوست گرامی،

سلام!
کنکور باز هم آمد و رفت؛ و باز هم چون همیشه ی اغلب رقابت ها عده ی معدودی به آنچه که می خواستند رسیدند و عده ی کثیری از آنچه می خواستند بازماندند؛ و ما نمی دانیم تو که خواننده ی این سطور هستی از کدام گروهی. اما یک چیز را می دانیم و از آن بیم داریم. از آن بیم داریم که در میان این هیاهوها، شخصیت انسانی تو تبدیل به یک عدد شده باشد، حالا یک رقمی یا دو رقمی یا سه یا چهار یا .... رقمی اش فرق نمی کند. این روز ها، روزهایی است که همگان خودشان را به صورت یک عدد می بینند که در پای کارنامه شان درج شده؛ و این مستقل از آن که آن عدد چند باشد، کوچک باشد یا بزرگ، یک رقمی باشد یا چند رقمی، چیزی نیست جز به حقارت کشیدن ظرفیت های وجودی انسان.
زندانی ها از وقتی وارد زندان می شوند، دیگر نام و فامیل و هویت بیرونی ندارند؛ تبدیل می شوند به یک شماره، که در همان بدو ورود به زندان، پلاک آن را می اندازند گردن شان و یک عکس روبرو و یک عکس نیم رخ از آنها می گیرند. و آن زندانی از آن پس خودش را با آن شماره معرفی می کند؛ از آن پس یک عدد است نه یک آدم. و چه قدر سخت است که ما هر سال شاهد یک زندان 1.5 میلیون نفری باشیم که همه ی آدم هایش به یک شماره تبدیل می شوند، و از این نظر فرقی بین آن ها نیست؛ حتی شماره های 1، 2 و 3 اش عکس تمام رخ شان را می بینند که این جا و آن جا چاپ می شود! اگر عکس نیم رخ شان هم چاپ می شد - در کنار همان تمام رخ- شاید اندکی به خود می آمدند و از قید غرور خطرناکی که می تواند تا سال ها زندانی شان کند خلاصی می یافتند. و آن یکی ها هم که رقم شان بیشتر از آنی است که می خواستند، به کنجی می خزند و خود را در زندان غم اسیر می کنند.
زندانی، زندانی است؛ چه زندانی غرور باشد و چه زندانی غم.
و این که انسان با تمام ظرائف روحی اش، با تمام حساسیت هایش، با تمام انسانیت هایش، با تمام دغدغه هایش، با تمام خوبی هایش (بیش تر) و بدی هایش (کم تر) را تبدیل کنیم به یک عدد و این بشود معیار ارزش گذاری، چیزی نیست جز به حقارت کشیدن وجود بشر، و مایه ی تأسف است. حقّا که بد امانتداری هستیم!
اما این با توست که در میان این قیل و قال از کدام گروه باشی. می توانی به این حقارت تن در دهی و همراه با جریان سیلابی که شخصیت انسانی ات را به قهقرا می برد، همراه شوی. می توانی در غرور رتبه ی خوبت گم شوی یا در غم رتبه ای که مناسب خودت نمی دانی اسیر. اما .... می توانی جور دیگری هم باشی. می توانی زنجیرها را پاره کنی، خودت را از زندان تنگ آن چند رقم لعنتی رها کنی، به سوی حقیقت فرار کنی، ریه هایت را پر از اکسیژن انسانیت کنی، بر فراز قله ی توانایی های بشر ایستی، دستانت را از هم باز کنی و بلند فریاد کنی: "من یک انسانم، با تمام ابعاد متنوعی که یک انسان دارد، و با تمام خصوصیاتی که بسیاری از آن ها منحصر به فردند. زنجیرها را پاره کرده ام، و مسیر عروج را می بینم که چه قدر راه های مختلف دارد. من در هر حال، در مسیر تعالی پیش خواهم رفت"

من دختر مهربانی را می شناختم که هر چند وقت یک بار به یکی از مراکز نگهداری کودکان بی سرپرست سر می زد، و چه محبت ها که به بچه های آن جا داشت، و چه قدر به آن ها می رسید، و بچه های آ جا چه قدر او را دوست داشتند.
و روزی که دیدم به خاطر رتبه ی چهار رقمی کنکورش دارد گریه می کند، نشستم و های های به حال "انسانیت" گریستم. و بر خودم لعنت فرستادم که مترهامان را چه شده است؟ آیا داریم ارزش انسانی یک فرد را با این اندازه می گیریم که توانسته است در 18 دقیقه به چند سؤال از 25 سؤال عربی پاسخ دهد؟!!

+ نوشته شده در  چهارشنبه بیست و یکم مرداد 1388ساعت   توسط حسین  | 

آن نیز گذشت!!

نتایج اولیه کنکور هم اومد، انتخاب رشته هم از فردا انجام می شه. تو فکر اینم که چهار سال دیگه کی میاد؟!


از این ها که بگذریم، توی این چند روز که پیگیر کارهای انتخاب رشته ی خودم و چند تا از دوستام بودم چند تا نکته به ذهنم رسید:

باید از مدت ها قبل بچه ها به فکر انتخاب رشته می افتادند و در مورد رشته مورد نظرشون تحقیق می کردند. اون هم چه تحقیقی! تحقیق کاملاً دقیق و ریز، با بررسی عامل هایی که توی انتخاب رشته ممکنه تأثیر بگذاره.

برای مثلا یکی از سؤالهایی که شاید از 6 7 ماه پیش داشتم این بود : "برق دانشگاه تهران یا کامپیوتر دانشگاه شریف؟". چون ممکنه رتبه شما جوری بشه که یا باید دنبال رشته مورد علاقه ات باشی یا دنبال پرستیژ یک دانشگاه دیگه! در مورد شهر هم این مسئله پیش میاد.

افرادی هستند که ریاضی و شیمی محض شریف رو به برق دانشگاه تهران ترجیح میدند! یا عمران شاهد رو به عمران صنعتی اصفهان یا دانشگاه کاشان.

توی این چند روز یکی به من گفت که برای اینکه این مشکلات پیش نیاد آدم باید برای علاقه، دانشگاه و شهر ضریب بگذاره! و خب اگه آدم منطقی باشه به علاقه باید ضریب چهار بده و به دانشگاه و شهر 2 و 1 (یا شاید هم کمتر!)

نکته بعدی اینکه باید بدونین که برای چی می خواید برید دانشگاه؟! گرفتن لیسانس برای مدرک داشتن (که یه جایی به شما کار بدن؟!)؟ آشنا شدن با جو دانشگاه و فضای آزاد اون؟ یادگرفتن آکادمیک مباحث مورد علاقه تون؟ Apply کردن (به زبون خودمونی در رفتن از این آباد شده!)؟ یا ...

همه این ها به شدت روی اینکه چه جوری 100 تا خونه ی انتخاب رشته رو پر کنین تأثیر می گذاره. همه ی این ها روی اینکه چه جوری 90 سال بعدی زندگی رو پر کنید تأثیر می گذاره!


فعلاً همین ها به ذهنم رسید! اگر چیز دیگه ای اومد اضافه می کنم!

+ نوشته شده در  چهارشنبه چهاردهم مرداد 1388ساعت   توسط حسین  | 

مرجع تخصصی سی شارپ

سلام

از اونجایی که حالا حالا های بخاری از من بلند نمی شه گفتم وبلاگ تازه تأسیس دوستم رو معرفی کنم : مرجع تخصصی سی شارپ

+ نوشته شده در  سه شنبه ششم مرداد 1388ساعت   توسط حسین  | 

این نیز بگذرد

کنکور هم گذشت...بدون استرس...بدون درد!

البته نه اونجور که دوست داشتم! ولی مهم این بود که گذشت! با اینکه حتی تا آخرای شب 5شنبه هنوز باورم نشده بود که گذشته! انگار اونم یه آزمون بوده مثل این همه آزمونی که توی این مدت دادیم! جمعه صبح هم که بیدار شدم اصلاً نمی دونستم باید چیکار کنم! چون فقط بلد بودم بشینم سر کتاب ها و درس بخونم!!

حالا از این ها که بگذریم می رسیم به اینکه کنکور مثل چیه؟! من اوّلین چیزی که به ذهنم رسید مرگ بود! اینکه باورش ندارم! اینکه اول راه اصلاً فکرشم نمی کنیم که بهترین شدن و اوّل شدن اون قدر ها هم سخت نیست. اینکه وقتی بهش نزدیک می شیم دوست داریم باز هم وقت داشته باشیم درس بخونیم! اینکه وقتی کنکور می گذره تا اعلام نتایج تو برزخ می مونیم و آخر هم با دیدن کارنامه یا خوشحال می شیم یا ناراحت.

دوست هام ایده های دیگه ای داشتن ولی به خاطر حقوق صاحب ایده از نقل قول معذورم! ولی به همین زودی ها توی وبلاگ های خودشون می نویسن و من لینکش رو اینجا می گذارم!

+ نوشته شده در  شنبه ششم تیر 1388ساعت   توسط حسین  | 

باورم نمیشه

این مطلب توی پیش نویس های وبلاگم بود! حالا که اون یکسالی که اون موقع خیلی بود هم گذشت! فقط ۸۰ روز به کنکور مونده.

باورم نمی.شه...

یعنی دیگه همه چیز تموم شد؟ یعنی ما هم رسیدیم به کنکور؟ یعنی ۱ سال دیگه کتاب های ما هم به زباله.دان.تاریخ می پیونده؟! یعنی ما هم رسیدیم به تابلوی بزرگ EXIT ؟

 

یعنی اینقدر زود گذشت؟ یعنی اینقدر زود رسیدیم به جایی که بچگی فکر می کردیم چقدر دوره؟ یعنی ....

باورم نمی.شه...

+ نوشته شده در  جمعه بیست و یکم فروردین 1388ساعت   توسط حسین  | 

پیوندها

آقایون و خانوما!

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

+ نوشته شده در  سه شنبه یکم مرداد 1387ساعت   توسط حسین  | 

جای بسی تأسف داره!

سریع برم سر اصل مطلب!

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

باور نمی کنید؟ خودتون برید ببیند : http://www.robocup-cn.org./en/results.php

+ نوشته شده در  سه شنبه یکم مرداد 1387ساعت   توسط حسین  | 

کنکور

سلام...سلامی پس از ... نگم بهتره!! آخه مایه ی خجالته!!

خب حالا شتر کنکور به ما رسیده! به همین دلیل همه چیز تعطیل تا سال دیگه، حتی نفس کشیدن!!

+ نوشته شده در  دوشنبه دهم تیر 1387ساعت   توسط حسین  | 

آزادی بیان...!!؟

پست قبلی من رو یه نگاه بندازین...همین پست رو توی وبلاگ گروه داده بودم...بعد ۲ روز سانسور شد...بعد یک هفته کاملاْ حذف شد...تازه چیز های دیگه ای هم به وبلاگ اضافه و کم شد...کاملاْ احساس آزادگی بیان بهم دست داده!!!!! چه کیفی میده آدم دهنش رو ببنده و جیغ بزنه...امتحانش کنین!!

هر کسی رسیده و اعتراض کرده و به خاطر حفظ جایگاه گروه و آبروی مدرسه یه قسمتی از مطالب حذف شده...فکر کنم بعد از یه مدتی به خاطر اعتراض آمریکا!!! آموزش رباتیک رو هم حذف کنند...فقط بشه تقدیر و تشکر از مسئولین محترم و محترمه!!!

+ نوشته شده در  دوشنبه پنجم آذر 1386ساعت   توسط حسین  | 

اصلاحیه

یک خبر از گروه ما تو خبرگزاری فارس، روزنامه کیهان و چند خبرگزاری دیگه منتشر شده که لازمه چند نکته رو در مورد اون بگم :

 

1)      گروه ما در آغاز 4 نفر بود. (سید حسین طالقانی اصفهانی، محمد محسن مینایی بیدگلی، شاهین قلی، احسان هدایتی) و با پذیرفتن نصیرالدین مزروعی سبدانی 5 نفره شد و با این ترکیب 5 نفره در مسابقات ملی ربات های شهری شرکت کرد و بعد از اون با پذیرفتن 2 عضو جدید 7 نفره شد و تا کنون 7 نفره مانده است.

2)      از 7 نفر اعضای گروه 2 نفر در سال 85-86 و یک نفر در سال 84-85 عضو اتحادیه انجمن های اسلامی بودند. همین و بس!

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

4)      ما در سال گذشته پس از مسابقات ربات های شهری 8 نفر از علاقه مندان به رباتیک رو آموزش دادیم از بین اون 8 نفر، 2 نفر رو به عضویت گروه درآوردیم.

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

 

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

خبر به روایت خبرگزاری فارس

+ نوشته شده در  شنبه بیست و ششم آبان 1386ساعت   توسط حسین  | 

وبلاگ گروه ما

این وبلاگ گروه ماست که توی اون اخبار گروه، آموزش الکترونیک و برنامه نویسی ربات قرار می گیره. حتماً یه سر بزنید.

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

+ نوشته شده در  شنبه بیست و ششم آبان 1386ساعت   توسط حسین  | 

ربات های ما از دیوار چین هم گذشتند!!!!!!!!!

سلام

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

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

+ نوشته شده در  چهارشنبه شانزدهم آبان 1386ساعت   توسط حسین  | 

شرمنده اخلاق ورزشی همگان...!!

ببخشید که چند وقته پست درست و حسابی ندادم ... آخه اوّل که دنبال کارهای آمریکا رفتن بودم ... بعد هم که امتحانات ... تو این دو هفته هم انقدر کار داشتم که نگو و نپرس ... ولی امشب حتما یک پست درست و حسابی می دهم ... منتظر باشید ...
+ نوشته شده در  چهارشنبه ششم تیر 1386ساعت   توسط حسین  | 

محتواکاوی وب

این هم یک مقاله در مورد محتواکاوی وب فارسی :

محتواکاوی وب فارسی

+ نوشته شده در  پنجشنبه بیست و هفتم اردیبهشت 1386ساعت   توسط حسین  | 

شکسته ای دل مرا ...

به خودم تسلیت می گم

سازمان آموزش پرورش گفت که نموتونید خارج بشید چون سیاست های کشور در حال حاضر اجازه سفر به آمریکا نمیده!!

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

واقعا نمی دونم چی بگم . . .

+ نوشته شده در  پنجشنبه بیست و هفتم اردیبهشت 1386ساعت   توسط حسین  | 

...ما هم رفتنی شدیم

سلام

مثل اینکه ما هم رفتنی شدیم! از طرف ایران اجازه ی خروج رو گرفتیم و حالا باید منتظر آمریکا بشیم که به ما ویزا بده.

+ نوشته شده در  چهارشنبه دوازدهم اردیبهشت 1386ساعت   توسط حسین  | 

هوای خانه همچنان دلگیر است . . .

سلام

این مطلب رو حتما و حتما کامل بخونید :

http://www.manionline.org/1386/01/14/delgiri/#more-174

چون یه همچین بلایی سر من داره میاد. فقط به جای نظام وظیفه کار من به آموزش پرورش گیره!

+ نوشته شده در  شنبه هشتم اردیبهشت 1386ساعت   توسط حسین  | 

جستجوی آگاهانه (5)

اثبات کامل بودن A*

چون A* به منظور افزایش f گره­ ها را بسط می دهد، سرانجام باید به یک حالت هدف برسد. البته درست است، مگر اینکه گره های نامحدود زیادی با f(n) وجود داشته باشند. تنها راهی که ممکن است گره های نامحدود وجود داشته باشند :

الف – گره ای با فاکتور انشعاب نامحدود وجود دارد

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

از این رو، عبارت صحیح این است که A* روی گراف های متناهی محلی (گراف هایی با فاکتور انشعاب محدود : Locally Finite Graphs) کامل است، مشروط بر اینکه مقدار ثابت مثبت وجود داشته باشد که هر عملگر حداقل هزینه ای برابر با داشته باشد.

 

پیچیدگی A*

جستجوی A* بین تمام الگوریتم ها کامل، بهینه و کارآ بهینه است. متأسفانه بدین معنا نیست که A* پاسخی برای تمام نیازهای جستجو است. برای بیشتر مسائل، تعداد گره ها که در شمارنده هدف قرار دارند نسبت به طول راه حل مرتبه نمایی دارند. اگر خطا در تابع کشف کننده رشدی سریع تر از لگاریتم هزینه مسیر واقعی نداشته باشد، رشد نمایی اتفاق نخواهد افتاد. به زبان ریاضی، شرط برای رشد زیرنمایی عبارت زیر است :

پیچیدگی A*

که در آن h*(n) هزینه واقعی رسیدن از n به هدف است. در استفاده ی عملی، خطاها با هزینه مسیر متناسب هستند و سرانجام رشدنمایی هر کامپیوتری را تسخیر می کند. البته استفاده از یک کشف کنندگی خوب هنوز باعث صرفه جویی زیادی نسبت به جستجوی ناآگاهانه می شود.

 

A* به دلیل ذخیره ی تمام گره های تولید شده، معمولا قبل از اینکه دچار کمبود زمان شود، دچار کمبود فضا می شود.

 

مطالب مرتبط :

جستجوی آگاهانه (4)

جستجوی آگاهانه (3)

جستجوی آگاهانه (2)

جستجوی آگاهانه (1)

+ نوشته شده در  جمعه هفتم اردیبهشت 1386ساعت   توسط حسین  | 

مسابقات

سلام

من توی سالن مسابقات روبوکاپ هستم و با اینترنت بی سیم کانکت شدم. فقط می خواستم بگم که مقام دوم رو توی رشته ی امدادگر دانش آموزی کسب کردیم. نمی خواد تبریک بگید آخه من اینجوری  می شم!!

+ نوشته شده در  شنبه هجدهم فروردین 1386ساعت   توسط حسین  | 

چه کنم با این همه کار؟!

سلام

فکر نکنین می خوام بدقولی کنم و زیر قولم بزنم ولی خیلی سرم شلوغه. مثلا همین فردا (یه نیگا به تاریخ پست بنداز!) ساعت ۹ صبح ۲ تا آزمون دارم!! و یک شنبه هم دفاع از تحقیق دارم!! تحقیقی در مورد ITS که وقتی آماده شد متنش رو می گذارم تو وبلاگ.

تازه بعد از اون هم کامپیوترم یه 1 هفته می خواد بره تعمیر!!

حالا بگید من چی کار می تونم بکنم؟!

ولی با این همه سعی می کنم (دقت کنید! سعی می کنم!) یه پست دیگه وسط های هفته بدم ولی جستجوی *A رو تکمیل کنم.

تا بعد.

+ نوشته شده در  پنجشنبه سوم اسفند 1385ساعت   توسط حسین  | 

جستجوی آگاهانه (4)

[...] اگر f در طول هر مسیری از ریشه هرگز کاهش پیدا نکند، ما می توانیم ناحیه هایی (Contours) در فضای حالت بکشیم. شکل زیر مثالی را نشان می دهد. داخل ناحیه ای که 400 نام گذاری شده، تمام گره ها (n)f ای که کمتر یا مساوی 400 هستند به هم وصل شده و الی آخر.

پس به علت اینکه A* ، گره برگی کمترین f را بسط می دهد، می توانیم ببینیم که جستجوی A* از گره اولیه، گره هایی با هزینه f افزایشی را در نواحی متحدالمرکز اضافه می کند.

 

اگر f* را هزینه مسیر راه حل تعریف کنیم می توانی بگوییم که جستجوی A* :

  • تمام گره ها با f(n)>f* را بسط می دهد.
  • ممکن است تعدادی از گره هایی که به درستی بر روی ناحیه هدف برای f(n)=f* قرار دارند، قبل از اینکه گره هدف انتخاب شود، بسط دهد.

 

بهینگی A*

فرض کنید که G حالت هدف بهینه با هزینه مسیر f* باشد. 2G نیز یک حالت هدف زیر بهینه باشد، که یک حالت هدف با هزینه مسیر g(G2)>f* است. شرایطی را که فرض می کنیم این است که A*، G2 را از صف انتخاب کرده است. زیرا G2 یک حالت هدف است و جستجو را با یک راه حل زیر بهینه پایان می دهد.

 

حال نشان می دهیم ای غیر ممکن است :

یک گره همانند n را در نظر بگیرید که در حال حاضر گره ای برای روی مسیر بهینه به G است. (نباید چینن گره ای وجود داشته باشد مگر اینکه مسیر به طور کامل بسط داده شده باشد، در اینصورت الگوریتم G را برمی گرداند) چون h مجاز است داریم :

f*> f(n)

علاوه بر آن، اگر n برای بسط روی G2 انتخاب نشده باشد، داریم :

f(n) > f(G2)

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

f* > f(G2)

اما به این علت که G2 یک حالت هدف است، داریم 0=h(G2) ؛ از این رو f(G2)=g(G2) . بنابراین ما با استفاده از این فرضیات ثابت کردیم که f* > g(G2) .

این نتیجه با این فرض که G2  زیر بهینه است در تناقض خواهد بود. بنابراین باید توجه کنیم که A* هرگز یک هدف زیر بهینه را برای بسط انتخاب نمی کند. به علت اینکه فقط یک راه حل پس از انتخاب آن برای بسط برمی گردد، پس A* یک الگوریتم بهینه است.

 

مطالب مرتبط :

جستجوی آگاهانه (3)

جستجوی آگاهانه (2)

جستجوی آگاهانه (1)

+ نوشته شده در  جمعه بیستم بهمن 1385ساعت   توسط حسین  | 

شرمنده

خیلی ببخشین این هفته پست ندادم

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

. . . با ما باشید

+ نوشته شده در  دوشنبه شانزدهم بهمن 1385ساعت   توسط حسین  | 

PDF 2

ادامه ی لینک های OCW :

3- زبان :: حجم: ۱۷۹۹ کیلوبایت

4- یادگیری(مبانی) :: حجم: 1481 کیلوبایت

5- منطق :: حجم: 2955 کیلوبایت

خواهشا نظر بگذارید. لااقل در مورد قالب جدید نظر بدین!

+ نوشته شده در  شنبه هفتم بهمن 1385ساعت   توسط حسین  | 

قالب نو مبارک!

سلام

قالبم رو عوض کردم. خیلی زحمت کشیدم تا اینجوری درستش کنم. عکسم هم عوض کردم! این عکس واقعی منه! با دوربین Canon گرفتم. خیلی با کیفیته نه؟!!

امکاناتش هم یک کم اضافه تر شده. به زودی وبلاگ دیگرم رو با این یکی ادغام می کنم و در آینده ای نه چندان دور تبدیلش می کنم به یک سایت.

نظر یادتون نره. خداحافط

+ نوشته شده در  یکشنبه یکم بهمن 1385ساعت   توسط حسین  | 

PDF + تغییرات

سلام

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

چند تا فایل Lecture از OCW گرفتم و اونهارو به صورت SFX (فایل اجرایی فشرده) در آوردم.

لینک فایل ها :

1- جستجو :: حجم : 4.4 مگابایت

2- بازی و CSP :: حجم : 2.3 مگابایت

 

مطلب دیگه ای که می خواستم بگم تغییرات به وجود آمده توی قالب وبلاگ بود.

1- قسمت Feeds : در این قسمت Feed سایت ها و وبلاگ های مربوط به رباتیک و هوش مصنوعی و گه گاه سایت های متفرقه. در این قسمت می تونید ThunderBird رو هم دانلود کنید.

*توضیح : ThunderBird یک برنامه برای نمایش ایمیل و RSS است. یه چیزی تو مایه های Outlook ولی محصول Mozilla.

2- قسمت امکانات : در این قسمت امکان مشاهده وضعیت وبلاگ در مای بلاگ لاگ و همچنین ثبت وبلاگ در گوگل و ... به وجود آمده است.

3- امکان ثبت هر پست در Delicious (چون خیلی دوستش دارم) و OYAX

البته به زودی قالب وبلاگ رو عوض می کنم. ولی با همین امکانات و یا بیشتر

+ نوشته شده در  یکشنبه یکم بهمن 1385ساعت   توسط حسین  | 

پاسخ به سوالات

یکی از بازدید کنندگان نظر گذاشتن و منبع در مورد هوش مصنوعی خواستند. این هم چند تا منبع و البته با تشکر از دکتر مینایی :

هوش مصنوعی در ویکی پدیا

هوش مصنوعی در استنفورد

هوش مصنوعی در ویکی پدیا-انگلیسی (1)

هوش مصنوعی در ویکی پدیا-انگلیسی (2)

مقاله : هوش مصنوعی چیست؟ (PDF)

یکی دیگه از بازدیدکنندگان هم پرسیده بودند که اگر در جستجوی *A در یک سطح به چند گره مساوی رسیدیم چه کار کنیم؟ این هم جواب دکتر مینایی به این سوال :

One of the equal utilities is selected and the rest of tree expanded
from there. A* Algorithm is not clear to do what. However, you can go
and see the codes of A* in many open source versions of A* and see what
they have done.

یکی از گره ها رو انتخاب می کنیم و درخت رو گسترش می دهیم. البته الگوریتم کلی *A معلوم نمی کند که چه کار می کند و به code برنامه بستگی دارد. شما می تونید نمونه کدهای این جستجو رو توی اینترنت پیدا کنید و ببینید چه کار می کنند.

+ نوشته شده در  جمعه بیست و نهم دی 1385ساعت   توسط حسین  | 

سلام

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

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

علوم کامپیوتر و الکترونیک

ولی لینک صفحه اصلی دوره رو هم قرار می دهم :

OCW.MIT

+ نوشته شده در  پنجشنبه بیست و هشتم دی 1385ساعت   توسط حسین  | 

جستجوی آگاهانه (3) : جستجوی *A

رفتار جستجوی A*

قبل از اینکه به اثبات کامل و بهینه بودن A* بپردازیم، بهتر است که تصویری از چگونگی کارکرد این جستجو نشان دهیم.

 

 

درخت جستجوی A*

(فایل فلش این درخت را می توانید از اینجا دانلود کنید.)

اگر شما درخت جستجوی A* را امتحان کنید، متوجه یک پدیده خواهید شد. در طول هر مسیری از ریشه، هزینه f هرگز کاهش پیدا نمی کند. این یک حادثه نیست و تقریبا در مورد تمام کشف کنندگی های مجاز وجود دارد. این خاصیت برای کشف کنندگی، خاصیت یکنواختٌی (Monotonicity) گفته می شود.

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

دو گره n و n’ را در نظر می گیریم که n پدر n’ است. حال تصور کنید که g(n)=3 و h(n)=4 . سپس f(n) = g(n) + h(n) = 7 . بنابراین حداقل هزینه واقعی یک مسیر از n، 7 است. حال فرض کنید g(n’)=4 و h(n’)=2 در نتیجه f(n’) = g(n’) + h(n’) = 6 . این یک مثال از یک کشف کنندگی یکنواخت بود. با استفاده از این واقعیت که هر مسیری از n’ هم چنین مسیری از n است، می توانیم ببینیم که مقدار 6 بی معناست، زیرا ما قبلا هزینه واقعی، که حداقل 7 است را می دانستیم.

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

f(n’) = max(f(n), g(n) + h(n))

از این طریق، ما مقادیر گمراه کننده را که ممکن است با یک کشف کنندگی یکنوا پدیدار شوند، حذف می کنیم. این معادل سازی معادله Pathmax نامیده می شود. اگر آن را به کار ببریم، سپس f همیشه در طول هر مسیری از ریشه غیر کاهشی خواهد بود، مشروط بر اینکه h امکان پذیر باشد

 

مطالب مرتبط :

جستجوی آگاهانه (2)

جستجوی آگاهانه (1)

+ نوشته شده در  پنجشنبه بیست و یکم دی 1385ساعت   توسط حسین  | 

بازگشت بتمن!

سلام... سلامی پس از مدت فرضی یک هفته! تصمیم گرفتم که کارم رو دوباره شروع کنم و هر طور شده هفته ای یکی دو صفحه ای رو بذارم تو وبلاگ. از همین امروز این کار رو شروع می کنم. تا ساعت ۱۲ شب حتما یه سری به وبلاگ حقیر ما بزنید.

+ نوشته شده در  پنجشنبه بیست و یکم دی 1385ساعت   توسط حسین  | 

آخییی!!!

بالاخره مسابقات تمام شد! پدرم درآمد! یک هفته است که غذا و خواب درست و حسابی ندارم. ولی خوب در کل خوش گذشت.

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

+ نوشته شده در  شنبه بیستم آبان 1385ساعت   توسط حسین  | 

شرمنده!

سلام

خیلی ببخشید که دیگه پست ندادم. آخه سرم شلوغه...مسابقات رباتیک...مدرسه...کلاس متفرقه...دیگه به هیچ کاری نمی رسم. من که هفته ای ۲۰ ساعت کارت رو قورت! می دادم حالا به زور هفته ای یک کارت ۲ ساعته مصرف می کنم!

توی اولین فرصت دوباره بهروز(قدیمی به روز) می کنم!(می آپم)

+ نوشته شده در  پنجشنبه بیست و هفتم مهر 1385ساعت   توسط حسین  | 

سلام
من حسینم!! نمی دونم ماهور و آرش کیه که رفته توی کلی وبلاگ با آدرس وبلاگ من نظر گذاشته! ولی هرکی هست یه نمه دستش درد نکنه! چون برای وبلاگم تبلیغ کرده!!
بای
+ نوشته شده در  یکشنبه دوم مهر 1385ساعت   توسط حسین  | 

خبر ... خبر ...!

سلام

بابت تاخیر معذرت می خوام . آخه خیلی سرم شلوغ بود. داشتم ebook و برنامه دانلود می کردم. تا الان یه کتابخانه 200 مگابایتی از ebook های برنامه نویسی و هوش مصنوعی دارم!!

می خواهم یه ebook آموزش Python درست کنم. می خواهم یکی از این ebook هایی رو که دارم ترجمه کنم. ولی شاید تا یه ماه دیگه آماده بشه. (به طور دقیق مثل بعضی سایت ها که می نویسند : لطفا چند لحظه صــــــــــــــــــــــــبــــــــــــــــــــــــــر کـــــــــــــــــــــــنــــــــــــــــــــــــیـــــــــــــــــــــــــــــــــد......!!!)

این هم یک منبع کامل از ebook های رایگان برنامه نویسی، کامپیوتر و الگوریتم، البته انگلیسی :

ebook های رایگان برنامه نویسی (En)

+ نوشته شده در  پنجشنبه سی ام شهریور 1385ساعت   توسط حسین  | 

جستجوی آگاهانه (2)

مثال :

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

hSLD(n) : مسافت مستقیم بین n و مکان هدف.

فاصله مستقیم بین شهر های نقشه  و هدف :

366

0

160

242

161

178

77

151

226

244

Arad

Bucharest

Craiova

Dobreta

Eforie

Fagaras

Guirgui

Hirsova

Iasi

Lugoj

241

234

380

98

193

253

329

80

199

374

Mehadia

Neamt

Oradea

Pitesti

Rimnicu Vilcea

Sibiu

Timisoara

Urziceni

Valsui

Zerind

با محاسبه مقادیر hSLD در این مسئله، تابع کشف کنندگی حالت مطلوب را ارائه می دهد. زیرا یک مسیر A به B را معمولا در جهت درست هدایت می کند.

 

جستجوی حریصانه

با بررسی درخت جستجوی حریصانه برای رسیدن به بخارست، به این نتیجه می رسیم که استراتژی ترجیح می دهد که راه بزرگتر را برای رسیدن به هدف پیدا کند(زیرا راهی که انتخاب کرده 32 کیلومتر طولانی تر از راه  Rimnicuاست.)، بدون اینکه نگرانی ای در مورد طولانی بودن آن داشته باشد. از این رو نام حریصانه برای این استراتژی کاملا مناسب است.

گرچه حرص یکی از هفت گناه کبیره است!! ولی الگوریتم های حریص اغلب کارآیی خوبی دارند. آن ها تمایل به یافتن راه حل های سریع دارند.

اگر چه همانطور که در این مثال نشان داده شد، آن ها همیشه راه حل بهینه را پیدا نمی کنند.

با یک تابع کشف کنندگی خوب، پیچیدگی زمان و فضای این جستجو می تواند کاهش اساسی پیدا کند. میزان کاهش به مسئله و کیفیت تابع h بستگی دارد.

 

ویژگی ها

از شناسایی های مشابه گریزان است.

بهینه نیست.

کامل نیست.

پیچیدگی فضای آن O(bm) است. (m = حداکثر عمق فضای جستجو)

پیچیدگی زمان آن O(bm) است.

 

·   حداقل سازی مجموع هزینه مسیر : جستجوی A*

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

همچنین جستجو با هزینه یکسان، هزینه مسیر g(n) را به حداقل می رساند و علاوه بر آن بهینه و کامل نیز هست.

اگر بتوانیم دو استراتژی را (برای دست یابی به مزایای آن ها) ترکیب کنیم، بهترین کار را انجام داده ایم.

این کار به این صورت انجام می شود :

f(n) = g(n) + h(n)

در نتیجه :

هزینه تخمین زده شده ارزانترین راه حل از طریق n = f(n)

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

این استراتژی جستجو را جستجوی A* می گویند.

+ نوشته شده در  یکشنبه نوزدهم شهریور 1385ساعت   توسط حسین  | 

جستجوی آگاهانه

CSP (Constraint Satisfaction Problem)

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

 

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

این استراتژی ها با استفاده از دانش ویژه مسئله، راه حل های کارا تری پیدا می کنند.

 

کشف کنندگی(Heuristic)

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

برخی کشف کنندگی را متضاد حالت الگوریتمیک به کار می برند.

تکنیک های کشف کنندگی بر کاربرد های اولیه هوش مصنوعی حکم فرما بود. اولین آزمایشگاه سیستم های خبره، که توسط Ed Fergenbaum، Bruce Buchanan، Joshua Lederberg در دانشگاه استنفورد آغاز به کار کرد، پروژه برنامه نویسی کشف کننده (HPP) نامیده شد.

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

در حال حاضر، کشف کنندگی اغلب به عنوان یک صفت برای تکنیکی که کارایی حالت متوسط روی عمل حل مسئله را گسترش می دهد، به کار می رود. اما لزوما کارآیی بدترین حالت را گسترش نمی دهد. در حیطه ویژه از الگوریتم های جستجو، کشف کنندگی به یک تابع رجوع می کند که تخمینی از هزینه حل را به دست می آورد.

 

1- جستجوی بهترین (Best-First Search)

همانطور که می دانید، الگوریتم جستجوی عمومی با استفاده از صف ها دانش مسئله را به کار می برد. اگر با استفاده از یک تابع ارزیابی (Evaluation)، که توضیحاتی مبنی بر مطلوب بودن یا نبودن گره را در بر دارد، صف را مرتب کنیم، ابتدا گره ای که بهترین رتبه را در ارزیابی داشته باشد، بسط داده می شود. این استراتژی را جستجوی بهترین می گویند.

نام «جستجوی بهترین» نادرست است. زیرا اگر ما می توانستیم واقعا بهترین گره را در ابتدا بسط دهیم، دیگر نمی توانستیم نام این عمل را جستجو بگذاریم.

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

+ نوشته شده در  سه شنبه چهاردهم شهریور 1385ساعت   توسط حسین  | 

ادامه کار

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

بخش Source Code را در وبلاگ راه اندازی کردم. این کد ها مربوط به مباحث گفته شده و به زبان Lisp هستند. این بخش را می توانید در کنار وبلاگ ببینید.

+ نوشته شده در  سه شنبه چهاردهم شهریور 1385ساعت   توسط حسین  | 

مقاله

خب حالا که بحث از جان مک کارتی شد، دلم نیومد از این چند تا مقاله که توسط جان مک کارتی نوشته شده بگذرم. مقاله اولی که به نام ربات و کودک است خیلی قشنگ و جالبه.

ربات و کودک

مقاله دوم هم سوال و جواب هایی پیرامون موضوع "هوش مصنوعی چیست؟" است.

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

+ نوشته شده در  دوشنبه سیزدهم شهریور 1385ساعت   توسط حسین  | 

پدر هوش مصنوعی - جان مک کارتی

 پروفسور بازنشسته دانشگاه استنفورد و مؤسس آزمایشگاه هوش مصنوعی دانشگاه استنفورد، جان مک کارتی، از سیر تا پیاز هوش مصنوعی را برای شما تعریف می کند.

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

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

 

"هوش" چه چیزی است ؟

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

 

آیا تعریف مستقلی از هوش (بدون ارتباط با هوش انسان) وجود دارد ؟

نه هنوز. مشکل این است که ما اهنوز نتوانسته ایم به طور کلی مشخص کنیم که به کدام یک از روش های محاسباتی می خواهیم «هوش» بگوییم. چون از بعضی از مکانیزم های هوش سر در آورده ایم و از بقیه نه.

 

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

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

 

تحقیقات هوش مصنوعی از کی شروع شد ؟

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

 

آیا هدف هوش مصنوعی ایجاد چیزی مثل فکر انسان برای رایانه ها است ؟

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

 

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

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

 

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

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

 

آیا از بین ماشین ها، رایانه ها انتخاب خوبی برای هوشمند شدن هستند ؟

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

 

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

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

 

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

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

 

آیا ممکن است که یک سیستم هوش مصنوعی قادر باشد با فکر کردن درباره هوش مصنوعی، خودش سطح هوشش را بالا ببرد ؟

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

 

شطرنج این طوری نیست ؟

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

 

آیا کسانی هستند که بگویند ساخت هوش مصنوعی ایده بدی است ؟

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

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

 

منبع : روزنامه جام جم، ضمیمه نامه کلیک، شماره 108، یک شنبه 12شهریور 1385

+ نوشته شده در  یکشنبه دوازدهم شهریور 1385ساعت   توسط حسین  | 

شرمنده

خیلی ببخشید که چند وقته مطلب ننوشتم. آخه سرم شلوغه. دارم فایل آموزش C++ رو آماده می کنم برای همین نمی رسم اینجا مطلب بنویسم ولی قول می دهم که تا 2-3 روز دیگه جبران کنم.
+ نوشته شده در  پنجشنبه نهم شهریور 1385ساعت   توسط حسین  | 

دلم گرفته...!

اول از همه جشن مبعث پیامبر اسلام رو تبریک می گم!! بعد از اون می خوام همون گلایه همیشگی رو بکنم : چرا نظر نمی دید!!؟ اگه مطالب اینجا به درد می خوره خوب نظر بدید. آخه آدم دیونه می شه وقتی می بینه اینقدر زحمت می کشه بعدش هم ...! جون هر کی دوست دارید نظر بدید!

+ نوشته شده در  چهارشنبه یکم شهریور 1385ساعت   توسط حسین  | 

جستجو برای راه حل (2-3)

4-     جستجوی عمقی محدود شده (Depth-limited Search)

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

مثال :در نقشه رومانی 20 شهر وجود دارد. بنابراین می توان گفت که اگر در شهر A است، باید مسیری با حداکثر طول 19 پیدا کند.

ولی مهم ترین عیب این استراتژی این است که اگر عمق تعیین شده آن قدر کوچک باشد که راه حل بهینه در آن عمق وجود نداشته باشد، جستجو ناقص می ماند.

 

5-     جستجوی عمیق کننده تکراری (Iterative Deepening Search)

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

جستجوی عمیق کننده تکراری (همانند جستجوی سطحی) ابتدا تمامی حالات عمق 0 را بررسی کرد و سپس به سراغ عمق 1 و الی آخر می رود.

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

 

ویژگی های مثبت

·         کامل است.

·         بهینه است.

·         حافظه اندکی را مورد استفاده قرار می دهد.

 

این استراتژی از نظر زمانی همانند جستجوی عمقی است.

 

6-     جستجوی دو طرفه (Bidirectional Search)

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

سخت ترین کار در این استراتژی، یافتن والد های حالت ها(در حرکت رو به عقب) است. مسئله دیگر این است که آیا این گره که ایجاد شده قبلا در درخت جستجوی طرف دیگر ظاهر شده یا نه.

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

 

حال به ارزیابی این شش استراتژی جستجو می پردازیم:

b = فاکتور انشعاب (در هر مرحله چند حالت جدید به وجود می آید؟)

d = عمق پاسخ

m = ماکزیمم عمق درخت جستجو

l = محدودیت عمق

Bidirectional

Iterative Deepening

Depth-

limited

Depth-

first

Uniform-

const

Breadth-

first

 

bd/2

bd

bl

bm

bd

bd

Time

bd/2

bd

bl

bm

bd

bd

Space

Yes

Yes

No

No

Yes

Yes

Optimal?

Yes

Yes

Yes,if l>d

No

Yes

Yes

Complete?

+ نوشته شده در  دوشنبه سی ام مرداد 1385ساعت   توسط حسین  | 

سلام

من برگشتم. جاتون خالی خیلی خوش گذشت. انقدر خوش گذشت که وقتی که بر گشتم دلم برای آدم هایی که دیدم تنگ شد!(مخصوصا روحام)ولی خوب بالاخره یه روز دوباره اون آدم ها رو می بینیم ولی اون روز معلوم نیست چقدر دیگه از عمرمون گذشته. زندگی همینه : به دنیا اومدن - دلبستن - دلکندن! مطلب جدیدم رو تا فردا می گذارم توی وبلاگ.
+ نوشته شده در  یکشنبه بیست و نهم مرداد 1385ساعت   توسط حسین  | 

غیبت صغری!!

با سلام(چه جلب مثل این اپراتور ها!!)

می خواستم بگم که برای ۳ روز دارم می رم مسافرت(خوش بگذره!!) . بنابراین مطلب بی مطلب!! البته تا ۳ روز. خواهشا نظر یادتون نره. بای!

+ نوشته شده در  چهارشنبه بیست و پنجم مرداد 1385ساعت   توسط حسین  | 

جستجو برای راه حل (1-3)

استراتژی های جستجو

استراتژی های جستجو با چهار ویژگی زیر سنجیده می شوند :

·         کامل بودن(Completeness) : در صورت وجود راه حل، آیا استراتژی می تواند آن را پیدا کند؟

·         پیچیدگی زمان (Time Complexity) : چقدر طول می کشد که یک راه حل پیدا کند؟

·         پیچیدگی فضا (Space Complexity) : چه میزان حافظه باید برای ارائه جستجو صرف شود؟

·         بهینه سازی (Optimality) : آیا استراتژی راه حلی با کیفیت بالا را می تواند پیدا کند؟(زمانی که راه حل های متفاوتی وجود دارند.)

 

استراتژی های جستجو به دو نوع آگاهانه(Informed) و ناآگاهانه(Uninformed) تقسیم می شوند.

 

در ابتدا چند استراتژی جستجوی ناآگاهانه را مورد بررسی قرار می دهیم.

1-     جستجوی سطحی (Breadth-first Search)

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

ویژگی های مثبت :

  • اگر راه حلی وجود داشته باشد، جستجوی سطحی حتما آن را می یابد.
  • اگر چندین راه حل وجود داشته باشند، جستجوی سطحی ابتدا کم عمق ترین وضعیت هدف را پیدا می کند.

 ویژگی های منفی :

  • فضای زیادی را اشغال می کند.
  • زمان زیادی صرف می کند.

 ویژگی های منفی به این دلیل به وجود می آیند که این استراتژی تمامی راه ها را امتحان می کند.

 

برای مثال هنگامی که بخواهد به عمق 12 گره برسد و هر گره 1 میلی ثانیه زمان ببرد، بر فرض اینکه در هر مرحله 10 گره جدید ایجاد شود، به 35 سال زمان نیاز دارد!(1012)

 

2-     جستجو با هزینه یکسان(Uniform cost Search)

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

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

جستجو با هزینه یکسان، استراتژی جستجوی سطحی را توسط گسترش کم هزینه ترین گره (که توسط تابع هزینه مسیر g اندازه گیری می شود)، بهبود می بخشد.

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

 

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

ولی بعضی از عملگرها هزینه منفی دارند. بنابراین یک جستجوی خسته کننده از تمام گره ها باید صورت گیرد تا راه حل بهینه پیدا شود. زیرا ما هرگز نمی دانیم که چه زمانی یک مسیر (بدون توجه به طول و هزینه) به مرحله ای با هزینه منفی بالا وارد شده و به بهترین مسیر تبدیل می شود.(مانند مسئله 8 وزیر)

 

3-     جستجوی عمقی (Depth-first Search)

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

 

ویژگی های مثبت :

  • جستجوی عمقی نیاز به حافظه نسبتا کمی دارد.(جستجوی عمقی به 12 کیلوبایت در عمق 12 دارد. بر خلاف جستجوی سطحی که نیاز به 111 ترابایت دارد!)
  • جستجوی عمقی در مسائلی که راه حل های زیادی دارند، بسیار سریع تر از جستجوی سطحی عمل می کند.

 

ویژگی های منفی :

  • جستجو همیشه به سمت پایین حرحت می کند و به بالا باز نمی گردد.(مگر در مواقعی که به بن بست می رسد.) بنابراین اگر راه حل کوتاه تری نیز وجود داشته باشد، نمی تواند آن را پیدا کند.(جستجو کامل نیست.)
  • ممکن است راه حلی پیدا کند که طولانی تر از راه حل بهینه باشد.(جستجو بهینه نیست.)

۳ روش جستجوی ناآگاهانه دیگه مونده که می مونه برای دفعه بعد. ولی جون هر کی دوست دارید نظر بذارین. آخه من چه گناهی کردم؟ نه بازدید ها زیاده و نه نظر ها.

+ نوشته شده در  یکشنبه بیست و دوم مرداد 1385ساعت   توسط حسین  | 

جستجو برای راه حل (2)

ساختار داده برای درخت های جستجو

یک گره، یک ساختار داده با پنج عنصر است:

·         وضعیتی که گره در فضای حالت دارد.

·         گره والد(گره ای که در جستجو، گره جدیدی را تولید کند.)

·         عملگری که برای تولید گره به کار رفته است.

·         تعداد گره های مسیر از ریشه تا گره مورد نظر (عمق گره)

·         هزینه مسیر، از حالت اولیه تا گره.

یک گره با یک حالت متفاوت است. زیرا :

·         یک گره، یک ساختار داده نگهدارنده است که برای بازنمایی درخت جستجو در یک مسئله ویژه با الگوریتم ویژه است.

·         یک حالت بیانگر پیکره بندی دنیا است.

در نتیجه گره ها عمق و والد دارند ولی حالت ها چنین ویژگی هایی ندارند.

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

سپس باید گره هایی که قرار است توسعه یابند، جمع آوری شوند. این مجموعه را Fringe یا Frontier می گویند.

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

·         Make-Queue(Elements) : یک صف با عناصر داده شده تشکیل می دهد.

·         Check-Empty(Queue) : اگر صف خالی است، "شکست"(Failure) را باز می گرداند.

·         Remove-Front(Queue) : عنصر جلویی صف را حذف کرده و آن را باز می گرداند.

·         Queuing-Fn(Elements, Queue) : مجموعه ای از عناصر را به داخل صف اضافه می کند.

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

+ نوشته شده در  یکشنبه بیست و دوم مرداد 1385ساعت   توسط حسین  | 

جستجو برای راه حل (1)

جستجو برای راه حل

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

 نقشه رومانی

تولید دنباله های عمل

برای حل مسئله رفتن از آراد به بخارست، حالت اول آراد است. قدم اول، کنترل حالت برای تست هدف است. واضح است که این حالت هدف نیست، اما باید کنترل شود. زیرا امکان دارد مسئله «شروع در آراد، رسیدن به آراد» باشد. بنابرین تست هدف بسیار مهم است.

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

برای وضعیت، سه حالت جدید وجود دارد : {Sibiu – Timisoara - Zerind} . هنگامی که فقط یک امکان وجود داشته باشد ما مجبوریم که همان را ادامه دهیم. اما هنگامی که چند حالت وجود دارد، باید یکی را انتخاب کنیم و دوباره فرآیند گسترش حالت را انجام دهیم. سپس حالت های جدید را کنترل کرده و نتایج را ذخیره می کند. سپس یکی دیگر از حالت های ایجاد شده در مرحله قبل (والد) رفته و همین اعمال را با آن نیز انجام می دهیم.

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

ریشه یک درخت جستجو، یک گره جستجو است که با حالت آغازین مطابقت دارد.

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

1-      درخت گسترش پیدا نکرده است.

2-      فرآیند گسترش انجام شده ولی مجموعه تهی باز گردانده است.(حالت جدیدی به وجود نیاورده است.)

در هر مرحله، الگوریتم جستجو، یک گره برگی  را برای گسترش انتخاب می کند.

در یک حالت تعداد نامحدودی مسیر وجود دارد. برای مثال شاخه Arad-Sibiu-Arad می تواند به Arad-Sibiu-Arad-Sibiu-Arad ادامه پیدا کند و مدام گسترش یابد. یک الگوریتم جستجوی خوب از چنین حالت هایی اجتناب می ورزد.

+ نوشته شده در  یکشنبه بیست و دوم مرداد 1385ساعت   توسط حسین  | 

مسائل نمونه

1-     جورچین اعداد(معمای 8)

معمای 8 شامل یک صفحه 3×3 با 8 مربع شماره دار است. همه شما با این معما آشنا هستید. نکته مهم این است که به جای اینکه بگوییم «مربع شماره 4 را به داخل فضای خالی حرکت بده» بهتر است بگوییم «فضای خالی جایش را با مربع سمت چپش عوض کند.»

 

شکل 1-2

شکل 1-1

 

فرموله سازی

  • عملگر ها : فضای خالی به سمت بالا، پایین، چپ و يا راست حرکت می کند.
  • آزمون هدف : آیا با شکل 1-2 مطابقت دارد؟
  • هزینه مسیر : هر قدم ارزش 1 دارد. بنابراین هزینه مسیر همان طول مسیر است.

 

معمای 8 متعلق به خانواده Sliding-block Puzzles است. این کلاس عمومی به عنوان NP-complete شناخته می شود.

 

2-     8 وزیر

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

 

فرموله سازی

  • عملگر ها : یک وزیر به هر خانه اضافه کنید.
  • آزمون هدف : 8 وزیر روی صفحه باشند بدون اینکه با هم برخوردی داشته باشند.
  • هزینه مسیر : صفر.
  • حالات : هر ترتیبی از صفر تا 8 وزیر روی صفحه

در این فرمول ما 648  امکان داریم. همچنین جایگزینی یک وزیر در جایی که قبلا مورد حمله قرار گرفته، نمی تواند کارا باشد. چرا که جایگزینی های بعدی دیگر وزیر ها، امکان برخورد را از بین نمی برد. برای حذف حالت های اضافی باید مانند زیر عمل کنیم:

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

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

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

 

3-     مسائل کریپتاریتمتیک(Crypt arithmetic)

در این گونه مسائل، حروف به جای ارقام می نشینند و هدف یافتن جایگزینی از اعداد برای حروف است که مجموع نتیجه از نظر ریاضی درست باشد. معمولا هر حرف باید به جای یک رقم بشیند.

 

مثال:

Forty

+ Ten

+ Ten

--------

Sixty

راه حل:

F=2. O=9, R=7, T=8, Y=6, E=5, N=0, S=1, I=1, X=4.

29786

+850

+850

--------

31486

فرموله سازی

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

 

4- مسئله فروشنده دوره گرد

مسئله فروشنده دوره گرد (TSP=Traveling Salesperson Problem) مسئله مشهوری است که در آن هر شهر حداقل يک بار باید ملاقات شود . هدف یافتن کوتاهترین مسیر است.

 

5- طرح VLSI

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

 

6- مسئله کشیش ها و آدم خوار ها

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

فلش زیر این مسئله را شبیه سازی کرده است(ببینید می تونید حلش کنید؟!):

دانلود

+ نوشته شده در  پنجشنبه نوزدهم مرداد 1385ساعت   توسط حسین  | 

حل مسئله (3)

ورودی های مسئله

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

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

·         وضعیت آغازین(Initial state)

·         مجموعه اعمالی که برای عامل قابل دسترسی هستند.(عامل می تواند آن ها را انجام دهد.)

عملگر(Operator) : بر انجام یک عمل دلالت می کند.

عامل پس از انجام یک عمل در یک وضعیت خاص، در وضعیت دیگری قرار می گیرد.

تابع S(successor) : در وضعیت ویژه ي X، S(x) برابر است با مجموعه ای از وضعیت های قابل دسترسی با انجام هر عمل.

به مجموع این موارد فضای وضعیت (Space state) مسئله را تعریف می کنند.

مسیر : یک مسیر در فضای وضعیت، دنباله ای از اعمال است که از یک وضعیت به وضعیت دیگر می رود.

·         تست هدف(Goal test) : عامل باید بداند که وضعیتی که در آن قرار دارد، وضعیت هدف است یا خیر. که این عمل نیازمند یک تعریف از وضعیت هدف است.

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

 

اندازه گیری کارایی حل مسئله

کارایی یک جستجو ، حداقل از سه طریق می تواند اندازه گیری شود.

·         آیا این جستجو را حلی پیدا می کند؟

·         آیا راه حلی مناسبی است؟(هزینه مسیر آن کم است؟)

·         هزینه جستجو از نظر زمانی و حافظه مورد نیاز برای یافتن راه حل چیست؟

(هزینه کل = هزینه جستجو+هزینه مسیر)

 

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

 

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

 

مطالب مرتبط:

حل مسئله (1)

حل مسئله (2)

+ نوشته شده در  پنجشنبه نوزدهم مرداد 1385ساعت   توسط حسین  | 

قوانین مورفی

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

برای کسب اطلاعات بیشتر به این لینک سر بزنید(چه جلب! مثل این تبلیغ ها!):

قوانین مورفی

+ نوشته شده در  سه شنبه هفدهم مرداد 1385ساعت   توسط حسین  | 

مطالب قدیمی‌تر