اطلاعیه

Collapse
No announcement yet.

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

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

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

    سلام
    ماشین حساب های علمی کلیدی دارند که یک عدد تصادفی اعشاری بین 0 تا 1 ایجاد می کنند.
    تقریباً تمام زبان های برنامه نویسی نیز دستور یا تابعی دارند برای ایجاد عدد تصادفی

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

    #2
    پاسخ : نحوه ایجاد عدد تصادفی در ماشین حساب یا کامپیوتر

    نوشته اصلی توسط DL110 نمایش پست ها
    سلام
    ماشین حساب های علمی کلیدی دارند که یک عدد تصادفی اعشاری بین 0 تا 1 ایجاد می کنند.
    تقریباً تمام زبان های برنامه نویسی نیز دستور یا تابعی دارند برای ایجاد عدد تصادفی

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

    دیدگاه


      #3
      پاسخ : نحوه ایجاد عدد تصادفی در ماشین حساب یا کامپیوتر

      بستگی به سی پی یو داره ...
      خیلی از سی پی یو ها یک واحد سخت افزاری true rng دارن که کارش اختصاصا ایجاد عدد رندوم هست .
      در نمونه هایی که رندوم ژنراتور ندارن با الگوریتم های نرم افزاری عدد دهی پیش فرض و توابع درهم سازی و مخلوط کردن میشه اعداد شبه تصادفی ایجاد کرد ( برای کاربردهای خاص مثل رمزنگاری این روش توصیه نمیشه )
      یک روش دم دستی و عمومی هم استفاده از یک پایه فلوت adc هست که نویز محیطی به صورت یک عدد تصادفی در لحظه تبدیل در نظر گرفته میشه ( tru rng هم بیس کارش همین روشه منتهی با dac وایت نویز یا حتی پینک نویز ایجاد میکنن و با adc آسنکرون مقدار عددی ایجاد شده توسط dac رو با adc میخونن و با تکرار چند باره این عمل و درهم سازی اعداد بدست اومده با توابع هش عدد کاملا تصادفی در قالب استاندارد از نطر اندازه ایجاد میشه )

      دیدگاه


        #4
        پاسخ : نحوه ایجاد عدد تصادفی در ماشین حساب یا کامپیوتر

        نوشته اصلی توسط DL110 نمایش پست ها
        سلام
        ماشین حساب های علمی کلیدی دارند که یک عدد تصادفی اعشاری بین 0 تا 1 ایجاد می کنند.
        تقریباً تمام زبان های برنامه نویسی نیز دستور یا تابعی دارند برای ایجاد عدد تصادفی

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

        دیدگاه

        لطفا صبر کنید...
        X