حسین خسروی

وبلاگ دانشگاهی حسین خسروی، عضو هیات علمی دانشگاه صنعتی شاهرود

حسین خسروی

وبلاگ دانشگاهی حسین خسروی، عضو هیات علمی دانشگاه صنعتی شاهرود

حسین خسروی

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

پیوندهای روزانه
  • ۰
  • ۰

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

در اینجا به پنج روشی که جمینی می تواند در طول سال تحصیلی از شما پشتیبانی کند اشاره می کنیم که همگی برای دانش آموزان ۱۸ سال و بالاتر در دسترس هستند :

1. از کتاب های درسی مورد اعتماد بهره ببرید

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

2. دانش خود را با آزمون های تعاملی آزمایش کنید

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

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

با Gemini Advanced می توانید تا ۱۰ سند را در یک زمان آپلود کنید - مثل سرفصل کلاس ها یا یادداشت هایتان - و از Gemini بخواهید که محتوا را توضیح دهد یا یک راهنمای مطالعه سفارشی ایجاد کند. جمینی به عمق مطالب شما می رود تا مفاهیم کلیدی را تجزیه کند، سوالات عملی را براساس مطالب درسی و غیره در اختیار شما قرار دهد. همه این ها به لطف جمینی Advanced امکان پذیر است که به جمینی اجازه می دهد حجم زیادی از اطلاعات را در یک زمان پردازش کند. برای اینکه جزو اولین افرادی باشید که از آپلود فایل استفاده می کنید، می توانید از همین امروز آن را در موبایل نیز امتحان کنید.

4. از Learning coach Gem برای دریافت راهنمای مطالعه شخصی استفاده کنید.

مشترکین جمینی Advanced از امروز به Gems دسترسی دارند که به عنوان متخصص هوش مصنوعی سفارشی برای هر موضوعی عمل می کند. مربی یادگیری از پیش تعیین شده Gems به شما کمک می کند تا یک برنامه یادگیری متناسب با نیازهای خود ایجاد کنید که با بررسی پیشرفت تکمیل می شود تا شما را در مسیر خود نگه دارد. به عنوان مثال، می توانید به مربی یادگیری گیم مراجعه کنید و بگویید: " می خواهم برای نیمه عمرم آماده شوم. آیا می توانید به من در بررسی سلول ها، ژنتیک، اکولوژی و اکوسیستم ها کمک کنید؟ در پاسخ، شما یک برنامه یادگیری مناسب دریافت خواهید کرد که زیردامنه های کلیدی را پوشش می دهد، مفاهیم ضروری در هر حوزه را مشخص می کند، و انعطاف پذیری ایجاد تنظیمات یا شروع درست برای مطالعات شما را ارائه می دهد.

5. درک عمیق تری از هر موضوعی به دست آورید

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

blog.google

  • حسین خسروی
  • ۰
  • ۰

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

در سال ۲۰۲۱، دانشمند ژاپنی هیروکی کیتانو چیزی را پیشنهاد کرد که او آن را "چالش نوبل" نامید و از محققان دعوت کرد تا یک "دانشمند هوش مصنوعی" ایجاد کنند که قادر به انجام خودکار تحقیقاتی درخور جایزه نوبل تا سال ۲۰۵۰ باشد.

برخی از دانشمندان در حال حاضر سخت در تلاش برای ایجاد یک همکار هوش مصنوعی شایسته نوبل هستند و برندگان امسال بین ۷ تا ۱۴ اکتبر اعلام خواهند شد.

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

در سال ۲۰۰۹، کینگ مقاله ای منتشر کرد که در آن او و گروهی از همکارانش "آدام دانشمند ربات" را ارائه کردند که اولین ماشینی بود که اکتشافات علمی را به صورت مستقل انجام می داد.

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

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

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

بی اهمیت نبود!

 "آدام" وظیفه بررسی کارهای درونی مخمر را بر عهده داشت و "کارکردهای ژن ها" را کشف کرد که پیش از این در سازمان ها ناشناخته بودند.

در این مقاله، سازندگان این ربات اشاره کردند که اگرچه اکتشافات "متوسط" بودند، اما "بی اهمیت" هم نبودند.

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

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

او توضیح داد: "انجام این فرآیند علمی هزینه کمتری دارد، آن ها ۲۴ / ۷ کار می کنند" و افزود که آن ها همچنین در ثبت جزئیات این فرآیند کوشاتر هستند.

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

برای این کار، آن ها باید "بسیار باهوش تر" باشند و بتوانند "تصویر بزرگ تر را درک کنند".

موفقیت نزدیک است

اینگا استرومک، استادیار دانشگاه علم و فن آوری نروژ، گفت که در حال حاضر حرفه علمی ایمن است.

او به خبرگزاری فرانسه گفت: " سنت علمی به این زودی ها به دست ماشین ها نمی رسد."

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

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

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

او توضیح داد که پیچیدگی چنین محاسباتی برای انسان ها بسیار دلهره آور است.

او گفت: " ما به نوعی ماشینی داریم که کاری را انجام می دهد که هیچ انسانی قادر به انجام آن نیست."

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

آن ها در خرد کردن حجم عظیمی از اطلاعات و رسیدن به پاسخ بسیار ماهر هستند، اما در توضیح اینکه چرا این پاسخ درست است، خیلی خوب نیستند.

استرومک گفت: بنابراین در حالی که بیش از ۲۰۰ میلیون ساختار پروتئینی پیش بینی شده توسط آلفافولد "بسیار مفید" هستند، آن ها "چیزی در مورد میکروبیولوژی به ما نمی آموزند".

به کمک هوش مصنوعی

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

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

جان جامپر، مدیر گوگل دیپ مایند و دمیس هاسابیس، مدیرعامل و هم بنیان گذار گوگل، پیش از این در سال ۲۰۲۳ جایزه معتبر لاسکر را دریافت کرده بودند.

گروه تحلیلی "کلاریتیوت" (Clarivate)که به بررسی برندگان احتمالی علوم نوبل می پردازد، این دو نفر را در میان نامزدهای برتر برای جایزه شیمی سال ۲۰۲۴ قرار می دهد.

دیوید پندلبری، رئیس این گروه تحقیقاتی، اذعان می کند که در حالی که مقاله سال ۲۰۲۱ جومپر و هاسبیس هزاران بار مورد استناد قرار گرفته است، اعطای جایزه به این سرعت پس از انتشار برای هیات داوران نوبل دور از ذهن نخواهد بود؛ چرا که اغلب اکتشافاتی که مورد تجلیل قرار می گیرند، به دهه ها پیش باز می گردند.

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

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

france24.com

  • حسین خسروی
  • ۰
  • ۰

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

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

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

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

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

فرانسه نیز پس از دو کشور انگلیس و کره جنوبی که میزبان اجلاس AI بودند در ماه فوریه میزبان اجلاس بین المللی هوش مصنوعی خواهد بود.

سال گذشته، فرانسه استراتژی ملی هوش مصنوعی را با سرمایه گذاری ۵۰۰ میلیون دلاری برای ایجاد خوشه های هوش مصنوعی تا سال ۲۰۳۰ منتشر کرد.

euronews

  • حسین خسروی
  • ۰
  • ۰

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

پلاک‌خوان‌های هوشمند مجهز به قابلیت‌های تشخیص کاراکتر نوری (OCR) هستند که به آن‌ها اجازه می‌دهد از پلاک‌ها عکس بگیرند و کاراکترها را به متن قابل خواندن تبدیل کنند. الگوریتم‌های هوش مصنوعی و مدل‌های یادگیری ماشینی که در این سیستم‌ها ادغام شده‌اند، شناسایی دقیق و کارآمد پلاک‌ها را در زمان واقعی امکان‌پذیر می‌سازند.

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

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

نرم افزار پلاک خوان آی پلاک

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

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

ویژگی های پلاک خوان آی پلاک

از مهمترین ویژگی های این پلاکخوان می توان به موارد ذیل اشاره کرد :

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

دوربین پلاک خوان شهاب

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

جدیدترین دوربین پلاک خوان شرکت شهاب با نام SH-CP1140101-M برای تشخیص دقیق پلاک‌ خودرو های در حال حرکت با سرعت بالا در آزادراه ها، جاده های بین شهری، خیابان ها، ورودی اماکن و... طراحی شده است. پروژکتور داخلی این دوربین را قادر می‌سازد تا پلاک خودرو را در شرایط مختلف آب و هوایی و نیز ساعات مختلف شبانه روز حتی با وجود نور بسیار کم شناسایی کند.

این دوربین در شرایط مختلف می تواند تصویر بسیار واضحی از پلاک خودرو ها ضبط کند؛ همچنین این دوربین برای کاربردهای متنوعی از بزرگراه ها گرفته تا پارکینگ ها قابل استفاده می باشد. دوربین پلاک خوانSH-CP1140101-M دارای 3 حالت تنظیمات برای روز ، شب و طلوع-غروب است که با این ویژگی فوق العاده می تواند برای استفاده در شرایط مختلف نوری در طول شبانه روز مناسب باشد.

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

همچنین درجه حفاظت این دوربین IP67 می باشد که باعث می شود دوربین در برابر آب و گرد و خاک مقاوم باشد و خللی به کارایی آن وارد نشود.

  • حسین خسروی
  • ۰
  • ۰

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

لینکدین و شاخص روند کاری سالانه ۲۰۲۴ مایکروسافت (WTI)نشان دادند که "۷۱ درصد می گویند ترجیح می دهند یک نامزد کم تجربه تر با مهارت های هوش مصنوعی استخدام کنند تا یک نامزد باتجربه تر بدون آن".

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

یافته های دیگر در رابطه با مهارت های هوش مصنوعی چه بودند؟

مایکروسافت و لینکدین ۳۱۰۰۰ نفر را در ۳۱ کشور برای شاخص روند کاری امسال مورد بررسی قرار دادند. باوجود تقاضا برای مهارت های هوش مصنوعی، آن ها متوجه شدند که تنها ۲۵ درصد از کارفرمایان قصد دارند در سال ۲۰۲۴ آموزش هوش مصنوعی مولد ارائه دهند.
احتمالا به همین دلیل است که تنها ۳۹ درصد از کاربران آموزش هوش مصنوعی را از شرکت های خود دریافت کرده اند. در پاسخ، کارکنان این شرکت ها در حال یافتن راه هایی برای افزایش مهارت هستند.

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

به همین دلیل رهبران شرکت ها باید به این روند توجه داشته باشند.

WTI سالانه نشان داد که ۷۹ درصد از رهبران معتقدند که استفاده از هوش مصنوعی برای حفظ رقابت پذیری ضروری است؛ ۵۹ درصد نگران اندازه گیری دستاوردهای بهره وری هوش مصنوعی هستند و ۶۰ درصد نگران هستند که سازمان آن ها چشم انداز روشنی برای پیاده سازی این فن آوری ندارد.

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

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

علاوه بر این، ۴۵ درصد از پاسخ دهندگان به WTI سالانه نگران هستند که هوش مصنوعی شغل آن ها را بگیرد. بدتر از همه اینکه نامه اخیر سباستین سیمیتکوسکی، مدیرعامل این شرکت ظاهرا بر نگرانی های آن ها صحه می گذارد .

" دستیار هوش مصنوعی ما اکنون کار ۷۰۰ کارمند را انجام می دهد و میانگین زمان پاسخگویی را از ۱۱ دقیقه به تنها دو دقیقه کاهش می دهد، در حالی که همان امتیاز رضایت مشتری را به عنوان عامل انسانی حفظ می کند."

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

حتی بهتر از آن، پلتفرم Workplace از افزایش ۱۴۲ برابری اعضایی خبر می دهد که قابلیت های هوش مصنوعی مانند ChatGPT را به پروفایل خود اضافه می کنند.

  • حسین خسروی
  • ۰
  • ۰

ترکیب در سطح طبقه بند

1.    برای مجموعه ارقام دستنویس یا تصاویر چهره ORL، ویژگی هیستوگرام گرادیان را پیاده سازی کرده و یک شبکه MLP یا RBF را با آن آموزش دهید. سپس این شبکه را با شبکه ای که قبلا در تمرین دوم آموزش داده اید، ترکیب کنید و نتیجه حاصل را گزارش کنید. برای ترکیب از میانگین گیری استفاده کنید، یعنی مقادیر نرونهای خروجی را میانگین گیری کنید و سپس تصمیم گیری کنید. (در مورد مجموعه ارقام، می‌توانید به جای هیستوگرام گرادیان از مکان مشخصه استفاده کنید.)

ترکیب در سطح ویژگیها

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

استفاده از SVM

3.    با استفاده از توابع آماده متلب همین مسئله را با یکی از ویژگیهای قبلی توسط SVM انجام دهید.

پیاده سازی الگوریتم AdaBoost (اختیاری)

4.    (اختیاری 0.5 نمره اضافه) الگوریتم AdaBoost M2 را با استفاده از MLP پیاده سازی کرده و 3 طبقه بند MLP روی مجموعه ارقام آموزش دهید.

موعد تحویل 24 آذر

  • حسین خسروی
  • ۰
  • ۰

1-4 ماشین حساب با استفاده از switch-case

ماشین حساب ساده

می خواهیم شبیه تمرین سری اول، یک ماشین حساب بسازیم به این ترتیب که کاربر یک عملگر ( + - * / %) و دو عدد اعشاری وارد می کند و شما باید با switch-case نتیجه عملیات را نشان دهید. اگر عملگر اشتباه وارد شد، پیام مناسب داده و دوباره داده ها را دریافت کنید. برای شروع، می توانید از تکه کد زیر استفاده کنید:

    char operator;
    printf("Enter an operator (+, -, *, /, %): ");
    scanf("%c", &operator);

-------------------------------------------------------------------------------

2-4 کار با عملگرهای بیتی

bitwise operators - عملگرهای بیتی

برنامه ای بنویسید که یک عدد صحیح 16 بیتی (short) دریافت کرده و عملیات زیر را روی آن انجام دهد:

الف) آن را با اعداد (0x00FF و 0xFF00) AND کند. (عملگر AND بیتی & است)

ب) آن را با اعداد (0x00FF و 0xFF00) OR کند. (عملگر OR بیتی | است)

ج) آن را به اندازه هشت بیت به سمت راست شیفت دهد. (عملگر شیفت به راست << است. البته این عملگر را از اینجا کپی نکنید چون برعکس تایپ شده تا در وبلاگ درست دیده شود!) مثلا برای شیفت عدد y به اندازه 8 بیت به یکی از دو صورت زیر عمل می کنیم:

y = y >> 8;

y >>= 8;

د) آن را به اندازه هشت بیت به سمت چپ شیفت دهد. (عملگر شیفت به چپ >> است.)

ه) در انتها نیبل پایین و نیبل بالای عدد ورودی را به کمک چهار بخش قبلی حساب کرده و نمایش دهید. منظور از نیبل پایین و بالا یعنی 8 بیت کم ارزش و باارزش؛ مثلا برای عدد 0x64E5 نیبل پایین برابر است با E5 و نیبل بالا برابر است با 64


تمام نتایج را ترجیحا در قالب جدول نشان دهید.

موعد تحویل: 6 آذر

  • حسین خسروی
  • ۰
  • ۰

تخمین تابع با استفاده از RBF و SOM

تابعی شامل ترکیب چهار گاوسی با پارامترهای مختلف ایجاد کنید (چیزی شبیه شکل زیر البته با 4 قله!). تعداد 100 زوج (x,y) از این فضا (در بازه 5- تا 5+) به عنوان نقاط آموزش انتخاب کنید. دقت کنید که توزیع نمونه‌ها متناسب با توابع گاوسی باشد (برای این کار می‌توانید از randn کمک بگیرید).

  • الف) با استفاده از توابع آماده متلب شبکه som را برای 4 نرون، 12 نرون و 40 نرون روی این نمونه‌ها (مختصات x و y نمونه‌های آموزش) اجرا کنید و بردارهای مراکز به دست آمده را برای استفاده در مرحله بعد ذخیره کنید (در فایل گزارش، موقعیت وزنهای نهایی نمایش داده شود).

  • ب) با استفاده از شبکه RBF با روش یادگیری ماتریس شبه‌معکوس تابعی از این نقاط عبور دهید (از newrb استفاده نکنید و روابط آن را پیاده سازی کنید). تعداد نرونهای لایه‌ی مخفی را 12 نرون انتخاب کنید و برای مقدار دهی اولیه بردارهای مراکز، یکبار به صورت تصادفی از فضای ورودی و یک بار از خوشه‌یابی (نتایج قسمت الف) استفاده کنید. برای پارامتر پراکندگی خودتان تصمیم گیری کنید.

  • ج) قسمت ب) را با استفاده از newrb پیاده سازی کنید و نتایجتان را مقایسه کنید.

  • د) قسمت ب را برای 3 نرون و 40 نرون مخفی هم تکرار کنید و خطای مجموع (روی 100 نمونه آموزش) را در یک جدول با هم مقایسه کنید.

  • ه) تابع تخمین زده شده را در تمام حالتها با استفاده از توابع meshgrid و surf در بازه بین 5- تا 5+ رسم کنید.

radial basis function radial basis function

 

زمان و نحوه ارسال برنامه

موعد ارسال تمرین:  10 آذر
نحوه ارسال: فایلهای متلب یا C به علاوه یک فایل word شامل اطلاعات نویسندگان، کد نوشته شده و نتایج به دست آمده.

  • حسین خسروی
  • ۰
  • ۰

1. کار با توابع

1. برنامه‌ای شامل سه تابع به شرح زیر بنویسید:
‌أ.    تابع اول با نام ReverseNumber که یک عدد صحیح با تعداد ارقام نامعلوم دریافت کرده و معکوس آن را برگرداند مثلا به ازای 123456 باید عدد 654321 را برگرداند. (دقت کنید که عدد دریافت کند نه رشته. ضمنا تابع باشد نه اینکه داخل main یک برنامه بنویسید)

‌ب.    تابع دوم با نام ToUpper که یک رشته (char *) دریافت کرده و رشته متناظر آن با حروف بزرگ را برگرداند. مثلا اگر عبارت Peace Upon You O Aba-Abdellah  را بدهیم باید عبارت PEACE UPON YOU O ABA-ABDELLAH را تحویل دهد.

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

void Sort(double* data, int length);
void Sort(double data[], int length);


(نکته: این سه تابع را باید قبل از main تعریف کنید یا اینکه امضای آنها را قبل از main و بدنه آنها را بعد از main تعریف کنید)
در قسمت main برنامه ای بنویسید که ابتدا یک عدد گرفته و به کمک تابع اول، معکوس آن را برگرداند، سپس یک رشته دریافت کرده و به کمک تابع دوم آن را به حروف بزرگ تبدیل کرده و نمایش دهد و در انتها یک آرایه‌ی 5 تایی گرفته و آن را مرتب کرده و نمایش دهد.

2. پیاده سازی تابع میانگین متحرک (Moving Average)

تابعی با نام smooth بنویسید که یک آرایه و طول آن را به عنوان ورودی بگیرد و عناصر آرایه را با تغییر دهد به این ترتیب که به جای عنصر k ام، میانگین سه عنصر (k-1, k, k+1) را جایگزین کند. این تابع هم خروجی ندارد و در واقع داده های خود آرایه ورودی را عوض می کند:

void Sort(double* data, int length);
void Sort(double data[], int length);
به عنوان مثال اگر آرایه ورودی به صورت زیر باشد:
{10, 15, 11, 9, 8}
خروجی زیر حاصل می شود (عنصر اول و آخر تغییر نمی کند):

{10, (10+15+11)/3, (15+11+9)/3, (11+9+8)/3, 8}


تابع میانگین متحرک Moving Average Function

تابع میانگین متحرک Moving Average Function


حالا برنامه ای بنویسید که آرایه عددی A را از فایل (data.txt) بخواند و تابع smooth راروی آنها اجرا کند و در نهایت در فایل دیگری (output.txt) آرایه های تغییر یافته را ذخیره کند.
اگر با متلب یا اکسل می توانید کار کنید، این دو آرایه را قبل و بعد از اعمال smoothing ترسیم کنید (در متلب با دستور plot).

موعد تحویل 1 آذر ماه

  • حسین خسروی
  • ۰
  • ۰

#CPP_or_Python ?

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


https://stackoverflow.com/questions/801657/is-python-faster-and-lighter-than-c


1. My experiences with Python show the same definite trend that Python is on the order of between 10 and 100 times #slower than C++ when doing any serious #number_crunching. There are many reasons for this, the major ones being: 

a) Python is #interpreted, while C++ is #compiled; 

b) Python has no #primitives, everything including the builtin types (int, float, etc.) are #objects; 

c) a Python list can hold objects of #different type, so each entry has to store additional data about its type. These all severely hinder both runtime and #memory consumption.


This is no reason to ignore Python though. A lot of software doesn't require much time or memory even with the 100 time slowness factor. #Development_cost is where #Python #wins with the simple and concise style. This improvement on development cost often outweighs the cost of additional cpu and memory resources. When it doesn't, however, then C++ wins.


پاسخ یک پایتون کار به این تجربه:

2. All the slowest (>100x) usages of Python on the shootout are scientific operations that require high GFlop/s count. You #should_NOT use python for those anyways. The correct way to use python is to #import a #module that does those calculations, and then go have a relaxing afternoon with your family. That is the pythonic way :)


خلاصه کلام اینکه، در پایتون فرایند توسعه برنامه، خیلی سریعتر است، اما سرعت اجرا برنامه بسیار کمتر از برنامه C++ است (10 برابر کندتر) . البته سرعت کمتر را با نوشتن ماژولهای محاسباتی در C++ و import کردن آنها در پایتون می شود جبران کرد!


http://sapp.ir/khosravi


پی نوشت (26 اسفند 96): تجربه عملی خودم را در مورد مقایسه این دو زبان ببینید: C++ یا پایتون

  • حسین خسروی