تبليغاتX
مهندسی نرم افزار-E-commerc -هوش مصنوعی

مهندسی نرم افزار-E-commerc -هوش مصنوعی

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

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

زبانهاي برنامه‌نويسي هوش مصنوعي(AI) ابزار اصلي بررسي و ساخت برنامه‌هاي كامپيوتري هستند كه مي‌توانند در شبيه‌سازي فرايندهاي هوشمند مانند يادگيري،‌ استدلال و فهم اطلاعات نمادين بكار بروند. هر چند اخيراً زبان كامپيوتر اصولاً براي استفاده از كامپيوترها براي انجام محاسبات با اعداد طراحي شده بود، اما بزودي دريافتند كه رشته‌اي از بيتها نه تنها اعداد بلكه مي‌توانند اشياي دلخواه را نيز نمايش دهند. عمليات روي ويژه‌گي‌ها يا نمادها مي‌تواند با استفاده از قوانين براي ايجاد، انتساب يا دستكاري نشان داده شود. اين تصور از محاسبات نمادين بعنوان تعريف الگوريتمهايي كه هر نوع اطلاعات را پردازش مي‌كنند و بنابراين مي‌تواند براي شبيه‌سازي هوش انسان بكار برود مناسب است.
بزودي برنامه نويسي با نمادها كه نياز به سطح بالايي از چكيدگي دارند توليد مي‌شوند، غير از امكاناتي كه با زبانهاي برنامه نويسي مخصوص پردازش اعداد ممكن بود مانند فرترن
 
I-زبانهاي برنامه نويسي AI
در AI خودكار كردن يا برنامه‌نويسي همه جنبه‌هاي شناخت انساني بوسيله بنيادهاي شناخت علمي روشهاي نمادين و غير نمادين AI، پردازش زبان طبيعي، ديد كامپيوتري و سيستمهاي تكامل يا سازگار مطرح مي‌شود. لازم است دامنه مسئله‌هاي خيلي پيچيده در ابتداي مرحله برنامه‌نويسي يك مسئله AI معين، مشخص شود كه كافي نيست. تنها بوسيله تعامل و افزايش اصلاحات خصوصيات بسيار دقيق ممكن است. در حقيقت مسئله‌هاي معمول AI به بسياري از زمينه‌هاي خاص گرايش دارند، بنابراين روشهاي ذهني بايد بوسيله توليد و آزمايش روشها بطور تجربي توسعه يابند(مشهور به نمونه سازي سريع). در اينصورت برنامه‌نويسي AI بطور قابل توجهي با روشهاي استاندارد مهندسي نرم‌افزار متفاوت بوده زيرا برنامه‌نويسي معمولا از يك مشخصات رسمي با جزئيات شروع مي‌شود. در برنامه‌نويسي  AI پياده‌سازي در واقع جزئي از پردازش مشخصات مسئله است.  به اقتضاي طبيعت مسئله‌هاي  AI برنامه‌نويسي AI مزاياي بسياري دارد اگر زبانهاي برنامه نويسي، برنامه‌نويسAI را آزاد بگذارند و در بسياري از ساختارهاي فني محدود نكنند (مانند ساختار انواع داده‌اي جديد سطح پايين، دستيابي دستي به حافظه). ترجيحاً سبك برنامه‌نويسي اعلاني براي استفاده در ساختارهاي پيش‌ساخته داده‌اي سطح بالا(مانند ليستها و درختها) و عمليات(مانند تطبيق الگوها) مناسب است، بنابراين محاسبات نمادين سطح خلاصه‌سازي بيشتري نسبت به آنچه كه با زبانهاي دستوري استاندارد مانند فرترن، پاسكال يا C امكان‌پذير خواهد بود را پشتيباني مي‌كند. البته طبقه‌بندي خلاصه سازي آسان نيست،‌ زيرا تدوين برنامه‌هاي AI روي كامپيوترهاي استاندارد وان نيومن نمي‌تواند به كارآمدي زبانهاي دستوري باشد. هر چند يك مسئله مسلم AI فهم آن است (حداقل جزئيات) امكان دارد با تنظيم مجدد آن به شكل خصوصيات جزئي شده با بكار بردن يك زبان دستوري پياده‌ سازي مجدد شود. با توجه به نيازمنديهاي محاسبات نمادين و برنامه‌نويسي  AI دو الگوي  جديد برنامه‌نويسي كه به سبك دستوري پيشنهاد مي‌شوند بوجود مي‌‌آيد: سبك برنامه‌نويسي تابعي و منطقي. هر دو بر مبناي رياضيات طرح‌ريزي شده‌اند، يعني نظريه توابع بازگشتي و منطق رسمي. اولين زبان برنامه‌نويسي AI كاربردي كه هنوز هم بطور گسترده استفاده مي‌شود زبان برنامه‌نويسي Lisp است كه در اواخر دهه 1950 توسط جان مك كارتي توسعه يافته است. Lisp برمبناي نظريه توابع رياضي و خلاصه‌سازي Lambda است. تعدادي از كاربردهاي مهم و موثرAI در Lisp نوشته شده است. كه ما بعضي از جزئيات اين زبان برنامه‌نويسي را در اين مقاله شرح خواهيم داد. در اوايل دهه 1970 يك الگوي برنامه‌نويسي جديد بنام برنامه‌نويسي منطقي بر اساس محاسبات گزاره‌اي بوجود آمد. اولين و مهمترين زبان برنامه‌نويسي منطقي Prolog است كه توسط آلن كالمرار، رابرت كوالسكي و فيليپ راسل توسعه يافته است. مسئله‌ها در prolog بصورت حقايق، بديهيات و قوانين منطقي براي استنباط حقايق جديد بيان مي‌شوند. Prolog  با قانون رياضي در محاسبات گزاره‌اي و نتايج نظري بدست آمده در زمينه اثبات قضيه خودكار در اواخر دهه 1960 بنا نهاده شده است.

نويسنده:  Gunter Neumann  

German Research Center for Artificial Intelligence (LT–Lab, DFKI) 
 

ترجمه: احد محمّدي خواجه   
E-mail: ae1359m@gmail.com 

دانشجوي كارشناسي ناپيوسته كامپيوتر(تراكتورسازي تبريز)

مطلب بطور کامل

لینک اصل مطلب : http://www.irandoc.ac.ir/data/E_J/vol5/mohammadi_k.htm

+ نوشته شده در  85/06/30ساعت 1:1 قبل از ظهر  توسط مهدی صفاری  | 

هوش جمعی

هوش جمعی

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


این یك مثال ساده از رفتار جمعی یا
Swarm behavior است كه افراد برای رسیدن به یك هدف نهایی همكاری می‌كنند. این روش مؤثرتر از زمانی است كه افراد جداگانه عمل كنند. Swarm را می‌توان به صورت مجموعه‌ای سازمان یافته از موجوداتی تعریف كرد كه با یكدیگر همكاری می‌كنند. در كاربردهای محاسباتی Swarm intelligence از موجوداتی مانند مورچه‌ها، زنبورها، موریانه‌ها، دسته‌های ماهیان و دسته‌ی پرندگان الگو برداری می‌شود. در این نوع اجتماعات هر یك از موجودات ساختار نستباً ساده‌ای دارند ولی رفتار جمعی آنها بی‌نهایت پیچیده است. برای مثال در كولونی مورچه‌ها هر یك از مورچه‌ها یك كار ساده‌ی مخصوص را انجام می‌دهد ولی به طور جمعی عمل و رفتار مورچه‌ها، ساختن بهینه‌ی لایهء محافظت از ملكه و نوزادان، تمیز كردن لانه، یافتن بهترین منابع غذایی و بهینه‌سازی استراتژی حمله را تضمین می‌كند. رفتار كلی یك Swarm به صورت غیر خطی از آمیزش رفتارهای تك‌تك اجتماع بدست می‌آید یا به عبارتی یك رابطه‌ی بسیار پیچیده بین رفتار جمعی و رفتار فردی یك اجتماع وجود دارد. رفتار جمعی فقط وابسته به رفتار فردی افراد اجتماع نیست بلكه به چگونگی تعامل میان افراد نیز وابسته است. تعامل بین افراد، تجربه‌ی افراد درباره‌ی محیط را افزایش می‌دهد و موجب پیشرفت اجتماع می‌شود. ساختار اجتماعی Swarm  بین افراد مجموعه كانالهای ارتباطی ایجاد می‌كند كه طی آن افراد می‌توانند به تبادل تجربه‌های شخصی بپردازند، مدل‌سازی محاسباتی  Swarmها كاربردهای موفق و بسیاری را در پی داشته است مانند:

Function optimization, Finding optimal roots, scheduling, structural optimization, Image and data analysis

كاربردهای زیادی از مطالعه‌ی Swarmهای مختلف وجود دارد. از این دسته می‌توان به كولونی مورچه‌ها     (Ant Colony) و دسته‌ی پرندگان (Bird Flocks) اشاره نمود.

Particle Swarm Optimization : PSO


الگوریتم PSO یك الگوریتم جستجوی اجتماعی است كه از روی رفتار اجتماعی دسته‌های پرندگان مدل شده است. در ابتدا این الگوریتم به منظور كشف الگوهای حاكم بر پرواز همزمان پرندگان و تغییر ناگهانی مسیر آنها و تغییر شكل بهینه‌ی دسته به كار گرفته شد. در  PSO، particleها در فضای جستجو جاری می‌شوند. تغییر مكان particleها در فضای جستجو تحت تأثیر تجربه و دانش خودشان و همسایگانشان است. بنابراین موقعیت دیگر particleهای Swarm روی چگونگی جستجوی یك particle اثر می‌گذارد. نتیجه‌ی مدل‌سازی این رفتار اجتماعی فرایند جستجویی است كه particleها به سمت نواحی موفق میل می‌كنند. Particleها در Swarm از یكدیگر می‌آموزند و بر مبنای دانش بدست آمده به سمت بهترین همسایگان خود می‌روند.

Particle swarm Optimitation Algorithm

اساس كار PSO بر این اصل استوار است كه در هر لحظه هر particle مكان خود را در فضای جستجو با توجه به بهترین مكانی كه تاكنون در آن قرار گرفته است و بهترین مكانی كه در كل همسایگی‌اش وجود دارد، تنظیم می‌كند.

فرض كنید می‌خواهیم زوج مرتب [x,y] را طوری بدست آوریم كه تابع F(x,y)=x2+y2، مینیمم شود. ابتدا نقاطی را به صورت تصادفی در فضای جستجو، روی صفحه‌ی x-y انتخاب می‌كنیم. فرض كنید این Swarm  را به 3 همسایگی تقسیم كنیم كه در هر همسایگی نقاط موجود با یكدیگر تعامل دارند. در هر همسایگی هر یك از نقاط به سمت بهترین نقطه در آن همسایگی و بهترین مكانی كه آن نقطه تاكنون در آن قرار داشته است، حركت می‌كند. برای حل یك مسئله چند متغیر بهینه‌سازی می‌توان از چند Swarm استفاده كرد كه هر یك از Swarmها كار مخصوصی را انجام می‌دهند. این همان ایده‌ای است كه Ant colony از آن ریشه می‌گیرد. از آنجا كه دانش Swarm intelligence بسیار جدید است در حال حاضر كاربردهای كمی از آن شناخته شده است. ولی صاحبنظران معتقدند با این رشد روزافزون، Swarm intelligence می‌تواند نقش مهمی را در علوم مختلف از جمله مهندسی نفت ایفا كند.

تهیه کنندگان:
نیما حمیدیان دانشجوی مهندسی حفاری
حامد دارابی دانشجوی مهندسی بهره برداری

منبع: http://www.petroleumtimes.com/articles/index.php

+ نوشته شده در  85/06/30ساعت 0:31 قبل از ظهر  توسط مهدی صفاری  | 

در مسیر پیشرفت قرار گرفتن

اکثر شما دوستان عزیز موقع نظر خواهی میگید که از اینکه من تونستم مطالب خوبی در وبلاگ قرار بدم راضی هستید.

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

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

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

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

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

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

چرا؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

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

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

چرا؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

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

لطفا در صورت موافقت با این مطلب حتما لینکه این نوشته رو در سایت یا وبلاگ خودتون قرار بدید. یا اصلاحش کنید و نظر خودتون رو حتما به من بگید.

+ نوشته شده در  85/06/17ساعت 10:58 بعد از ظهر  توسط مهدی صفاری  | 

گزارش لینکهای خراب

سلام به همه دوستان عزیز.

فرا رسیدن نیمه شعبان - ولادت حضرت ولی عصر(عج) بر همه مسلمانان جهان مبارک باد.

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

برای همه دوستان دانشجو - ورودی جدید و قدیم - سال تحصیلی خوب خوش همراه با موفقیت آرزومندم

+ نوشته شده در  85/06/17ساعت 9:38 بعد از ظهر  توسط مهدی صفاری  | 

ربات خبره باهوش

ربات خبره باهوش

سیستم خبره چیست؟

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

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

ميزان مطلوب بودن يک سيستم خبره اصولا به ميزان قابليت دسترسي به آن و ميزان سهولت کار با آن بستگي دارد.

مي توان مزايايي که يک سيستم خبره در برابر انسان خبره دارد را به اين صورت نام برد:

- برخلاف انسان متخصص که نياز به خواب، استراحت و غذا و ... دارد، يک سيستم متخصص 24 ساعت در شبانه روز و 365 روز در سال قابل دسترس است.

- دانش سيستم خبره از بين نمي رود بلکه مي توان آنرا ذخيره نمود و حتي بسادگي مي توان آنرا کپي برداري کرد.

- يک سيستم متخصص همواره داراي حداکثر کارآيي خود است ولي به محض آنکه يک انسان متخصص خسته شود صحت توصيه هاي وي ممکن است کاهش يابد.

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

- آخرين برتري سيستم هاي خبره اين است که به سادگي و با کپي برداري اين برنامه از دستگاهي به دستگاه ديگر و در کمترين زمان ممکن مي توان يک سيستم متخصص ديگر بوجود آورد در حالي که تبديل يک انسان به يک متخصص زماني طولاني نياز دارد.

سيستم هاي  متخصص چگونه کار مي کنند؟

هر سيستم متخصص از دو بخش تشکيل مي شود:

- بانک اطلاعاتي

- توليد کننده مکالمه

ماشین باهوش چیست؟

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

ایده های من چیست؟

آیا پیش آمده است که با یک ربات نرم افزاری ارتباط برقرار کنید؟

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

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

1-      سیستم پاسخگو تلفنی( ارتباط صوتی)

2-      سیستم پاسخگو اینترنتی(ارتباط نوشتاری یا حتی صوتی)

3-      سیستم هدایتگر و ناوبری و کنترلر در فضاپیماها و هواپیماها( در درجه اول ارتباط از نوع صوتی و بعد نوشتاری)

4-      سیستم هدایتگر و کنترلر رباتهای فیزیکی برای پزشکان(ارتباط صوتی)

5-      سیستم هدایتگر و ناوبری و کنترلر در رباتهای انسان نما( ارتباط صوتی)

بر گرفته شده از مهدی صفاری، صاحب وبلاگ

+ نوشته شده در  85/06/13ساعت 9:19 بعد از ظهر  توسط مهدی صفاری  | 

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

سلام

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

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

msaffari2005@gmail.com یا m_saffari1582@yahoo.co.uk

توجه داشته باشید که حتما

  --نام-- * --نام خانوادگی-- * --سطح تحصیلات-- * --رشته تحصیلی-- * --نشانی پست الکترونیک-- 

-- نشانی وبلاگ یا سایت شخصی مرتبط با مقاله-- * -- مکانها و زمانهای ارائه مقاله خود --

------  و هر چیز لازم دیگر که فکر می کنید لازم است در کنار فیلد های بالا در وبلاگ ذکر شوند  ------

را در ایمیل خود ذکر کنید.

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

۱- آدرس فایل مقاله خود که قبلا در اینترنت قرار داشته را ارسال کنید.

۲- فایل مقاله را ارسال کنید.

۳- چکیده ای از مقاله را ارسال کنید.

یک پیشنهاد جالب :

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

msaffari2005@gmail.com یا m_saffari1582@yahoo.co.uk

توجه داشته باشید که حتما

  --نام-- * --نام خانوادگی-- * --سطح تحصیلات-- * --رشته تحصیلی-- * --نشانی پست الکترونیک-- 

-- نشانی وبلاگ یا سایت شخصی مرتبط با مقاله --

------  و هر چیز لازم دیگر که فکر می کنید لازم است در کنار فیلد های بالا در وبلاگ ذکر شوند------

را در ایمیل خود ذکر کنید.

خود من اولین کسی خواهم بود که یک ایده جالب را ارائه خواهم داد.

+ نوشته شده در  85/06/13ساعت 5:55 بعد از ظهر  توسط مهدی صفاری  |