سرفصل های دوره هوش مصنوعی عمران سطح مقدماتی (ویژه کلیه گرایش ها)

سرفصل های دوره هوش مصنوعی عمران سطح مقدماتی (ویژه کلیه گرایش ها)

سرفصل های دوره هوش مصنوعی عمران سطح مقدماتی (ویژه کلیه گرایش ها)

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

کلیه گرایش ها

◆ بخش اول: آشنایی با پایتون، نصب و راه اندازی مقدمات

· مقدمه و کاربرد پایتون در مهندسی عمران

  • چرا پایتون برای مهندسان عمران؟ (خودکارسازی وظایف تکراری، محاسبات پیچیده، ارتباط با نرمافزارهای تخصصی)
  • آشنایی با کاربرد هوش مصنوعی و یادگیری ماشین در پیشبینی رفتار سازه ها و مدیریت پروژه
  • بررسی تعامل پایتون با نرم افزارهای مهندسی عمران نظیر SAP2000، ETABS، AutoCAD، Revit و OpenSees از طریق API و اسکریپت نویسی

· نصب، راه اندازی و محیطهای برنامه نویسی (IDE)

  • آشنایی با پکیج علمی Anaconda و مدیریت محیط ها با Conda
  • (Anaconda PowerShell Prompt) اختصاصی فرمان خط با کار آموزش
  • آشنایی با محیط های توسعه و ویرایشگرها: Code VS ، Spyder و PyCharm
  • کاربرد و تفاوت های ابزارهای تعاملی تحت وب Notebook Jupyter و JupyterLab
  • مفهوم دایرکتوری کاری فعلی (CWD)، مدیریت مسیرهای نسبی و مطلق در پروژه
  • مدیریت محیط های مجازی Environments) (Virtual با دستورات ایجاد، فعالسازی و حذف محیط

◆ بخش دوم: اصول پایه کدنویسی، انواع داده ها و عملگرها

· آشنایی با سینتکس پایتون و قواعد نگارش

  • مفهوم زبان سطح بالا و تفسیری در مقایسه با زبانهای کامپایلی ++C و Fortran و نرمافزار MATLAB
  • اهمیت حیاتی تورفتگی ها (Indentation) در ساختار کدهای پایتون
  • بررسی ۶ خطای رایج و پرتکرار مبتدیان و نحوه رفع آنها:
    KeyError و SyntaxError، IndexError، TypeError، IndentationError، NameError

· انواع داده های پایه و ساختارهای ذخیره سازی Types Data & Structures

  • اعداد صحیح (int)، اعداد اعشاری (float) و اعداد مختلط در مهندسی (complex)
  • رشته های متنی (str) و داده های بولی (bool) به همراه مفهوم مقادیر Truthy و Falsy
  • داده های باینری و توالی بایت ها (bytes)
  • تغییر نوع داده ها یا کستینگ صریح و ضمنی Explicit & Casting Implicit
  • مفهوم شیءگرایی پویا Typing) (Dynamic و تشخیص نوع شیء با type و isinstance

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

  • لیستها :(list) ویژگی ها (مرتب، قابل تغییر، افزودن، حذف، ویرایش و مرتب سازی صعودی/نزولی آیتم ها)
  • تاپل ها :(tuple) توالی های مرتب و غیرقابل تغییر
  • دیکشنری ها :(dict) ساختار جفت کلید-مقدار (Key-Value)، نگاشت داده ها و دسترسی سریع
  • مجموعه ها :(set) اعضای منحصربه فرد، عدم ترتیب و حذف داده های تکراری از لیست ها

· تکنیک های پیشرفته کار با داده ها

  • فرمت دهی و قالب بندی رشته ها روشهای قدیمی، متد format و روش مدرن f-string
  • قوانین مشخصکننده های خروجی Specifiers Format برای کنترل تعداد اعشار و نمایش علمی اعداد
  • تکنیک جابه جایی مقادیر متغیرها (Swap) به روش پایتونی
  • برش دادن توالی ها (Slicing)، استفاده از گام های مثبت و منفی معکوس کردن داده و متد slice
  • مفهوم کپی سطحی Copy Shallow در توالی های پیش فرض و مقایسه آن با کتابخانه ها
  • دریافت داده از کاربر با input و تبدیل و تفکیک چند ورودی در یک خط با متدهای split و map

· انواع عملگرها در پایتون (Operators)

  • عملگرهای حسابی (جمع، تفریق، ضرب، تقسیم اعشاری، تقسیم صحیح به سمت پایین، باقیمانده و توان)
  • عملگرهای مقایسه ای (خروجیهای بولی و بررسی حساسیت به حروف بزرگ و کوچک در متون)
  • عملگرهای منطقی( and ،or ،not، ) اولویت اجرای آنها و رفتار اتصال کوتاه (Short-Circuit)
  • عملگرهای انتساب ترکیبی و عملگرهای بیتی
  • عملگرهای عضویت in / in  not در لیست، رشته و دیکشنری
  • عملگرهای هویتی is / not is و تفاوت بنیادی بررسی هویت آدرس حافظه با برابری مقدار (==)
  • عملگر سه تایی Operator Ternary برای شرط های تک خطی

◆ بخش سوم: ساختارهای کنترلی، تصمیم گیری و حلقه ها

(Conditional Statements) تصمیم گیری و شرطی دستورات 

  • کنترل جریان برنامه با کلمات کلیدی if ،elif و else
  • قوانین نگارش بلاک های شرطی و پیاده سازی شرط های تو در تو if  Nested

· ساختارهای تکرار و حلقه ها (Loops)

  • حلقه :for پیمایش روی انواع توالی ها (لیست، رشته، تاپل)
  • کاربرد دقیق تابع توصیف کننده عدد  range پارامترهای شروع، پایان، گام و مدیریت بهینه حافظه
  • تنظیم پارامتر end در تابع print برای مصورسازی تعاملی خروجی حلقه ها
  • حلقه :while تکرار بر اساس برقراری شرط، ایجاد حلقه های بی نهایت تعاملی با True while
  • کنترل پیشرفته حلقه ها با دستورات break توقف کامل و continue رد شدن از تکرار جاری
  • تکنیک های اضطراری متوقف کردن حلقه های بی نهایت در ترمینال و محیط Notebook Jupyter

◆ بخش چهار: توابع، مستندسازی و ساختار ماژولار کد

· توابع در پایتون (Functions)

  • مفاهیم جلوگیری از تکرار کد و سازماندهی برنامه ها با کلمه کلیدی def
  • sum و type، print، len نظیر (Built-in Functions) داخلی آماده توابع با آشنایی
  • طراحی توابع سفارشی کاربر :(User-Defined) بدون پارامتر، با پارامتر، و با پارامترهای پیشفرض (Default)
  • تفاوت کلیدی، کاربردی و عملکردی بین دستور return و دستور print داخل توابع

· اصول حرف های نگارش تابع و مستندسازی

  • استاندارد نام گذاری واضح Case Snake
  • پیاده سازی قابلیت Hinting Type(اشاره به نوع ورودی ها و خروجی تابع در خط اول با علامت (>- برای مدیریت پروژه های بزرگ
  • مستندسازی رسمی با Docstrings (نوشتن توضیحات، آرگومان ها و خروجی ها بر اساس استانداردهای (PEP 257 و Google Style
  • تفاوت کامنت با Docstring و نحوه فراخوانی مستندات با متد  doc  و تابع help

· ماژول ها و سازماندهی پروژه ها (Modules)

  • مفهوم فایل های py. به عنوان ماژول، مزایای استفاده از آنها و تعریف فضاهای نام (Namespaces)
  • روشهای مختلف بارگذاری ماژولها import کامل، جزئی، با نام مستعار as
  • مکانیسم و اولویت مسیرهای جستجوی پایتون برای یافتن ماژول ها (sys.path)
  • آشنایی با ماژول های داخلی مهم سیستم نظیر sys (مدیریت مفسر، اطلاعات نسخه، پلتفرم، کنترل حافظه با maxsize و کانالهای ورودی/خروجی استاندارد)
  • مفهوم شرط بنیادی main " == name if : برای تفکیک کدهای اجرایی مستقیم از ماژول های وارد شده

◆ بخش پنجم: برنامه نویسی شیءگرایی (OOP) و کاربردهای مهندسی

· مفاهیم برنامه نویسی شیءگرایی

  • تعریف کلاس (Class) به عنوان نقشه اولیه و الگو، و شیء (Object/Instance) به عنوان نمونه واقعی
  • آشنایی با ۴ اصل کلیدی شیءگرایی: کلاس، شیء، ارث بری (Inheritance) و چندریختی (Polymorphism)
  • مزایای شیءگرایی در پروژه های مهندسی (قابلیت استفاده مجدد، پیمانه ای کردن کد و مدیریت پروژه های بزرگ)

· پیاده سازی کلاس ها در پایتون

  • نقش متد جادویی سازنده init (Constructor) در مقداردهی اولیه خواص اشیاء
  • مفهوم پارامتر self به عنوان اشاره گر به شیء جاری
  • تعریف ویژگی ها (Attributes) و متدها (Methods) در کلاس ها

· کلاس ها و متدهای کاربردی در مهندسی عمران و تحلیل داده

  • طراحی کلاس PointLoadBeam و UDLBeam برای محاسبه خودکار بیشترین لنگر خمشی تیرها تحت بارهای نقطه ای و گسترده یکنواخت \frac{PL}$) = $}۴{M و \frac{wL^2}$ = ($}8{M
  • طراحی کلاس Column جهت محاسبه تنش فشاری ستونها \frac{P}{A}\$) = ($sigma
  • فرمت دهی و رند کردن خروجی متدهای مهندسی با متد  round و f-stringها خارج از بدنه کلاس
  • طراحی کلاس ConcreteBeamWeight برای محاسبه حجم و وزن نهایی تیرهای بتنی بر اساس چگالی مصالح
  • طراحی کلاس جامع Data جهت نرمال سازی داده ها با تکنیک Comprehension List برای الگوریتم های هوش مصنوعی

◆ بخش ششم: کار با کتابخانه های علمی و داده محور Science Data

· مفهوم پکیج ها و کتابخانه ها (Libraries)

  • تفاوت های ساختاری بین ماژول، پکیج و کتابخانه
  • آشنایی با توزیع پکیج ها در PyPI، مدیریت وابستگی ها و بهینه سازی محاسبات سنگین با هسته های محاسباتی نوشته شده با زبان های ++C/C و افزونه های Native

· کتابخانه NumPy محاسبات عددی و ماتریسی

  • آشنایی با ساختار آرایه های چندبعدی (ndarray)، انواع داده حافظه (dtype) و فشرده سازی در حافظه
  • انجام عملیات های برداری Operations Vectorized با سرعت بالا بدون نیاز به حلقه ها
  • اندیس گذاری پیشرفته، اعمال ماسک های بولی Masks) (Boolean و توابع ریاضی سریع (UFuncs)
  • محاسبات مهندسی با توابع مثلثاتی (تبدیل درجه به رادیان با (deg2rad و توابع آماری mean ،std ،sum روی محورهای افقی و عمودی
  • عملیات های ماتریسی و جبر خطی: ضرب ماتریسی (dot)، دترمینان، معکوس ماتریس و حل دستگاه معادلات خطی چند مجهولی پیچیده سازه با زیرماژول np.linalg.solve
  • روش های ساخت آرایه (ماتریسهای صفر، یک، مقادیر ثابت، اعداد تصادفی توزیع نرمال و یکنواخت)
  • مفاهیم قدرتمند همراستاسازی خودکار ابعاد (Broadcasting)، تغییر شکل ماتریس (reshape)، اتصال آرایه ها و Save/Load داده ها

· کتابخانه Pandas پاکسازی، مدیریت و تحلیل جداول داده

  • آشنایی با دو ساختار دادهای اصلی: ستون ها (Series) و جداول (DataFrame)
  • بارگذاری و ذخیره سازی داده ها از/به فایل های Excel ،CSV و JSON به همراه تنظیم شاخص ها
  • تفاوت های کلیدی و کاربردی بین متدهای loc بر اساس برچسب و نام و iloc بر اساس موقعیت عددی واقعی در دسترسی به سطرها و ستون ها
  • فیلتر کردن پیشرفته جداول با ترکیب چند شرط منطقی و اعمال توابع آماری روی داده های آزمایشگاهی با describe متد
  • پاکسازی داده ها Cleaning Data
  • ردیابی مقادیر خالی، حذف ردیف های آسیب دیده (NaN) و جایگزینی مقادیر خالی با میانگین متغیرها
  • مرتب سازی داده ها، استفاده از ستون های جدید مبتنی بر توابع لامبدا (lambda)
  • تحلیل های پیشرفته آماری گروه ها با ابزار فوق العاده groupby و متد ادغام جداول مهندسی (Merge/Join) مشابه با دستورات SQL

◆ بخش هفتم: بصری سازی داده ها و رسم نمودارهای مهندسی با Matplotlib

· اصول بصری سازی علمی داده ها Visualization Data

  • آشنایی با زیرماژول pyplot و ساختار اصلی تعریف Figure در پایتون
  • تنظیم فونت های استاندارد بین المللی مقالات علمی مانند Roman New Times با ابزار rcParams
  • شخصی سازی کامل خطوط تغییر رنگ ها با کدهای هگز یا سیستم RGB، تغییر ضخامت خطوط با linewidth
  • برچسب گذاری دقیق محورهای افقی و عمودی، افزودن شبکه های راهنما (grid)، راهنمای نمودار (legend) و عناوین اصلی نمودارها

· رسم انواع نمودارهای کاربردی در عمران

  • نمودار خطی Plot Line : رسم چند خط مجزا در یک شکل برای مقایسه خروجی ها
  • نمودار پراکندگی Plot Scatter : نمایش نقاط داده آزمایشگاهی
  • نمودار میله ای Chart Bar : کنترل دقیق فاصلهها بین دستهها با آرایههای NumPy و تنظیمات پهنا
  • نمودار دایره ای Chart Pie : کنترل مقادیر و نمایش خودکار درصدها با فرمت های اعشاری دقیق (autopct)
  • نمودار هیستوگرام :(Histogram) تحلیل توزیع فراوانی داده های تصادفی، تنظیمات باکس ها (bins)، رسم همزمان چند توزیع و کنترل شفافیت با پارامتر alpha

· بصری سازی پیشرفته و نمودارهای سه بعدی

  • ایجاد و مدیریت چندین رسم مجزا در یک صفحه (Subplots) به صورت ۱×۲ یا ۲×۲
  • کاربرد پارامتر markevery برای مدیریت تراکم مارکرها روی خطوط توابع طولانی
  • جلوگیری از تداخل و به هم ریختگی برچسب ها و عناوین Subplotها با ابزار خودکار ()plt.tight_layout
  • محدود کردن دامنه ها با ylim برای کنترل رفتارهایی مثل انفجار توابع تانژانتی
  • رسم نمودارهای سه بعدی Plots3D : فراخوانی ابزارهای سه بعدی با add_subplot و پارامتر "projection="3d برای تحلیل های فضایی سازه ها

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

جلسه ۱: آشنایی با هوش مصنوعی در مهندسی عمران

مدت: ۳ ساعت

سرفصل‌ها

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

جلسه ۲: داده در مهندسی عمران

مدت: ۳ ساعت

سرفصل‌ها

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

جلسه ۳: آماده‌سازی داده برای مدل‌سازی

مدت: ۳ ساعت

سرفصل‌ها

  • چرا داده خام برای مدل‌سازی مناسب نیست؟
  • داده‌های گمشده
  • داده‌های پرت
  • نویز در داده‌های مهندسی
  • نرمال‌سازی و استانداردسازی
  • تقسیم داده به آموزش و آزمون
  • خطر نشت داده در مدل‌سازی

جلسه ۴: مبانی یادگیری ماشین

مدت: ۳ ساعت

سرفصل‌ها

  • یادگیری ماشین چیست؟
  • یادگیری نظارت‌شده
  • یادگیری بدون نظارت در حد معرفی
  • رگرسیون
  • طبقه‌بندی
  • ویژگی و برچسب
  • آموزش مدل
  • آزمون مدل
  • بیش‌برازش و کم‌برازش در حد مفهومی

جلسه ۵: رگرسیون در مسائل عمرانی

مدت: ۳ ساعت

سرفصل‌ها

  • مفهوم رگرسیون
  • کاربرد رگرسیون در مهندسی عمران
  • رگرسیون خطی در حد مقدماتی
  • رابطه بین متغیرهای ورودی و خروجی
  • مفهوم خطای پیش‌بینی
  • تفسیر خروجی مدل رگرسیونی

جلسه ۶: ارزیابی مدل‌های رگرسیونی

مدت: ۳ ساعت

سرفصل‌ها

  • چرا ارزیابی مدل مهم است؟
  • مفهوم خطا در پیش‌بینی مهندسی
  • معیار MAE
  • معیار RMSE
  • معیار
  • تفسیر مهندسی خطا
  • تفاوت مدل خوب، متوسط و ضعیف

جلسه ۷: مدل‌های پایه یادگیری ماشین

مدت: ۳ ساعت

سرفصل‌ها

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

جلسه ۸: طبقه‌بندی در مسائل عمرانی

مدت: ۳ ساعت

سرفصل‌ها

  • طبقه‌بندی چیست؟
  • تفاوت طبقه‌بندی و رگرسیون
  • مفهوم کلاس یا برچسب
  • دقت مدل
  • ماتریس درهم‌ریختگی
  • Precision، Recall و f1_score
  • تفسیر نتایج طبقه‌بندی در مسائل مهندسی

جلسه ۹: آشنایی مقدماتی با شبکه عصبی و یادگیری عمیق

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

جلسه ۱۰: پروژه کوچک نهایی و جمع‌بندی

مدت: ۳ ساعت

سرفصل‌ها

  • مرور مسیر کامل یک پروژه هوش مصنوعی
  • تعریف مسئله
  • انتخاب داده
  • آماده‌سازی داده
  • انتخاب مدل
  • آموزش مدل
  • ارزیابی مدل
  • تفسیر نتیجه
  • گزارش‌نویسی پروژه

دوره جامع بهینه‌سازی در مهندسی عمران

جلسه ۱: مقدمات و فرمول‌بندی مسائل مهندسی

  • تعریف بهینه‌سازی و اهمیت آن در اقتصاد مهندسی.
  • شناسایی اجزای مسأله: متغیرهای طراحی (Design Variables)، تابع هدف (Objective Function) و قیود (Constraints).
  • نحوه تبدیل یک مسأله فیزیکی (مثلاً طراحی تیر یا خرپا) به یک مدل ریاضی.
  • دسته‌بندی مسائل: خطی (LP)، غیرخطی (NLP)، پیوسته و گسسته.

جلسه ۲: روش‌های بهینه‌سازی کلاسیک (ریاضی-محور)

  • مفاهیم بهینه‌سازی تک‌متغیره و چندمتغیره.
  • روش‌های مبتنی بر گرادیان (Gradient-based) مانند Descent و Newton.
  • مفهوم بهینگی (شرایط KKT).
  • محدودیت‌های روش‌های کلاسیک در مسائل پیچیده مهندسی عمران.

جلسه ۳: الگوریتم‌های فراابتکاری (Meta-heuristics) - بخش اول: الگوریتم ژنتیک (GA)

  • فلسفه الگوریتم‌های تکاملی.
  • ساختار کدگذاری (Encoding): کروموزوم‌های باینری و حقیقی.
  • مکانیزم‌های انتخاب (Selection)، تقاطع (Crossover) و جهش (Mutation).
  • مفهوم تابع برازش (Fitness Function).

جلسه ۴: کارگاه عملی ۱ - پیاده‌سازی GA در نرم‌افزار

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

جلسه ۵: هوش جمعی - الگوریتم توده ذرات (PSO)

  • فلسفه حرکت جمعی پرندگان و ماهی‌ها.
  • فرمول‌بندی سرعت و موقعیت ذرات.
  • مزایای PSO نسبت به GA در مسائل مهندسی عمران.
  • نحوه کنترل همگرایی و فرار از بهینه‌های محلی.

جلسه ۶: مدیریت قیود در مسائل مهندسی (Penalty Functions)

  • چالش اصلی در عمران: مسائل به شدت مقید (Constrained Problems).
  • آموزش روش‌های تابع جریمه (Static & Dynamic Penalty).
  • نحوه اعمال ضوابط آیین‌نامه‌ای (تنش، تغییرمکان، لرزه‌ای) در کدنویسی بهینه‌سازی.

جلسه ۷: کاربرد تخصصی در طراحی سازه و زلزله

  • بهینه‌سازی توپولوژی و ابعاد در خرپاها و قاب‌های ساختمانی.
  • بهینه‌سازی وزن در مقابل سختی سازه.
  • معرفی بهینه‌سازی بر اساس عملکرد (Performance-based Optimization).
  • مثال: طراحی بهینه یک میراگر یا مهاربند برای کاهش پاسخ لرزه‌ای.

جلسه ۸: کاربرد تخصصی در مدیریت ساخت و منابع آب

  • بهینه‌سازی زمان-هزینه (Time-Cost Trade-off) در پروژه‌های عمرانی.
  • تخصیص بهینه منابع و ماشین‌آلات.
  • بهینه‌سازی شبکه‌های انتقال آب و مدیریت مخازن سدها.

جلسه ۹: بهینه‌سازی چندهدفه (Multi-Objective Optimization)

  • مفهوم تضاد اهداف (مثلاً کاهش وزن همزمان با کاهش تغییرمکان).
  • آشنایی با جبهه پارتو (Pareto Front).
  • معرفی و پیاده‌سازی الگوریتم محبوب NSGA-II.
  • نحوه انتخاب گزینه نهایی از بین پاسخ‌های بهینه.

جلسه ۱۰: مباحث نوین و جمع‌بندی پروژه

  • ترکیب بهینه‌سازی با یادگیری ماشین (Surrogate Modeling).
  • آشنایی با الگوریتم‌های نوین (مثل GWO یا ICA).
  • ارائه پروژه‌های عملی توسط دانشجویان.
  • مرور منابع معتبر و مسیر ادامه یادگیری.

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

لطفا نام را وارد نمایید.
شماره موبایل ۱۱ رقمی را وارد کنید .
لطفا دسته بندی را وارد نمایید.
لطفا دسته بندی را وارد نمایید.
لطفا نام شهر محل سکونت؟ را وارد کنید .
لطفا متن را وارد نمایید.