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

۱۸ تیر ۱۳۹۱ ۳ دیدگاه

فراخوان ترجمه گروهی کتاب progit

۸ تیر ۱۳۹۱ بدون دیدگاه

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

گیت یه نرم افزار کنترل نسخه و مدیریت سورسه  که توسط لینوس توروالدزو و رفقا برای توسعه کرنل لینوکس نوشته شده. الان اکثر پروژه های بزرگ مثل کیوت، فیس بوک ،jquery،redhat ،django ،microsoft،perl،google و پایتون و … تحت گیت توسعه پیدا می کنند.

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

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

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

آدرس پروژه:

https://gitorious.org/progit

آدرس ویکی پروژه:

https://gitorious.org/progit/pages

در صورت تمایل به شرکت در این پروژه ایمیل بزنید.

ممنون

Vahid@kharazi.net

آنالیز کد های سی پلاس پلاس

۱۰ اردیبهشت ۱۳۹۱ بدون دیدگاه

برنامه Cppcheck ابزار آنالیز سورس کدهای برنامه‌های C و CPP جهت یافتن اشتباهات برنامه نویسی، مشکلات امنیتی، نشتی حافظه و امثال آن است. این برنامه رایگان و سورس باز را می‌توانید از آدرس زیر دریافت کنید:

این برنامه در دو نسخه خط فرمان و رابط گرافیکی عرضه می شود که نسخه رابط گرافیکی آن از Qt استفاده می کند. تاکنون ۲۲ باگ کرنل لینوکس توسط این برنامه کشف و برطرف شده است.
پلاگین این برنامه برای eclipse و Code::Blocks  موجود است.

نظریه بازی ها ( هفته چهارم )

۲۲ فروردین ۱۳۹۱ ۲ دیدگاه

فیلم های آموزشی دوره ی آزاد نظریه ی بازی ها – دانشگاه استنفورد

Repeated Games – Week 4

Finitely Repeated Prisoners-’ Dilemma

Repeated Game Definitions

Payoff and Equilibrium in Repeated Games

Indefinitely Repeated Prisoners-’ Dilemma 

Folk Theorems 

OPEC Example

Elaborate Equilibrium Example

نظریه بازی ها ( هفته سوم )

۲۰ فروردین ۱۳۹۱ بدون دیدگاه

فیلم های آموزشی دوره ی آزاد نظریه ی بازی ها – دانشگاه استنفورد

Extensive-form Games – Week 3

Extensive Form Games

 Centipede Game

Centipede Game – Experimental

 Entry Game

Backwards Induction

 Imperfect Information

Subgame Perfect Equilibrium

Ultimatum Bargaining

نظریه بازی ها ( هفته ی دوم )

۱۱ فروردین ۱۳۹۱ بدون دیدگاه

فیلم های آموزشی دوره ی آزاد نظریه ی بازی ها – دانشگاه استنفورد

Formal Analysis of Games in Normal Form – Week 2

Nash Equilibrium with Many Players

Braess-’s Paradox

Tragedy of the Commons

Mixed Strategies

Pure and Mixed Equilibrium

Minimax Theorem

Comparative Statics

Best Response, Multiple Equilibrium Revisited

Existence of Nash Equilibrium

یافتن تعادل نش در بازی ها

۹ فروردین ۱۳۹۱ ۱ دیدگاه

در نظریه بازی ها(Game Theory) بنابرتعریف نقطه ای تعادل نش(Nash Equilibrium) است که در آنجا هیچ بازیکنی(با این فرض که بازی بقیه بازیکنان ثابت بماند)در صورت تغییر بازی خود سودش بیشتر نشود.

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

با استفاده از دو کتابخانه ی re و  xlrd پایتون برنامه ای نوشتم که این کار را انجام دهد.

ماژول xlrd کتابخانه ای برای ارتباط با excel  است.در پایتون دو کتابخانه برای ارتباط با excel وجود دارد یکی xlrd که برای خواندن فایل های excel است و دیگری ماژول xlwt است که برای نوشتن فایل های اکسل به کار می رود. این دو ماژول جزو ملژول های  پیشفرض پایتون نیستند و باید آن ها را از سایت توسعه دهندگان این دو کتابخانه دریافت کرد.

ورودی برنامه فایل اکسلی به نام game.xls است که در کنار آن قرار دارد.فایل اکسل شامل جدول بازی در sheet اول است.

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

از اینجا دریافت کنید.

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

۲۹ اسفند ۱۳۹۰ بدون دیدگاه

تصمیم گرفتم به کمک کتابخانه re پایتون برنامه ای بنویسم که کد های سی پلاس پلاس را به پایتون تبدیل کنه. اما به دلیل تفاوت زیاد syntax  سی و پایتون کار کمی مشکل بود. مثلا ساختار if در زبان سی به شکل زیر است: 

if ( <condition> ) {
  // Execute these statements if <condition> is TRUE
}

و در زبان پایتون به شکل زیر:

if condition :

         #Execute these statements if <condition> is TRUE

مشکل اصلی { ها و  } ها بود. فرض کنید چندین if و for تو در تو در برنامه ورودی داشته باشیم. اون وقت از کجا باید فهمید کدوم } برای کدوم { است که به ازای اون در پایتون یک tab بزنیم؟

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

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

cppyhton
حالا دیگه کافی بود که با  regular expressions (عبارات با قاعده )  تبدیلات رو انجام بدم. البته این برنامه هنوز بسیار ناقصه و از if , for و چند ساختار ساده دیگه پشتیبانی می کنه ولی به راحتی به کمک re می توان تبدیلات دیگر را هم نوشت.

از اینجا دریافت کنید. (چهار نمونه کد سی پلاس پلاس کنار برنامه موجود است و تصویر بالا مربوط به تحلیل برنامه ی چهارم است.)

فیلم های آموزشی نظریه بازی ها

۲۹ اسفند ۱۳۹۰ بدون دیدگاه

معرفی کتاب های نظریه بازی ها

۲۹ اسفند ۱۳۹۰ ۱ دیدگاه

 

کتاب های فارسی

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

کتاب های انگلیسی

  • A beautiful math: by Tom Siegfried
  • Playing for real : a text on game theoryby Ken Binmore
  • The right Game: use game theory to shape strategy