بازی دنیای شبکه ای با یادگیری تقویتی

تخمین موقعیت
ژانویه 1, 2024

بازی دنیای شبکه ای با یادگیری تقویتی


class Gridworld:
  """
  کلاس Gridworld محیط دنیای شبکه‌ای را برای یادگیری تقویتی نمایش می‌دهد.
  """
  def __init__(self, master):
    """
    متد سازنده که محیط دنیای شبکه‌ای را راه‌اندازی می‌کند.

    Args:
        master (tk.Tk): پنجره اصلی رابط کاربری گرافیکی (GUI) با استفاده از کتابخانه tkinter.
    """
    self.master = master
    self.master.title("Gridworld Display")

    self.grid_rows = 3  # تعداد سطرهای شبکه
    self.grid_cols = 4  # تعداد ستون‌های شبکه
    self.cell_width = 100  # پهنای هر سلول
    self.cell_height = 100  # ارتفاع هر سلول

    self.rewards = {(2, 3): 44, (1, 3): -44}  # پاداش‌های سلول‌های خاص
    self.default_reward = -1  # پاداش پیش‌فرض برای سایر سلول‌ها
    self.walls = {(1, 1)}  # موقعیت دیوارها
    self.terminal_states = {(2, 3), (1, 3)}  # سلول‌های پایانی

    self.agent_position = (0, 0)  # موقعیت اولیه‌ی عامل

    self.canvas = tk.Canvas(master, width=self.grid_cols*self.cell_width, height=self.grid_rows*self.cell_height)
    self.canvas.pack()

    self.draw_grid()
    self.draw_agent()

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *