انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: کارایی shuf برای گزینش تصادفی به گزینهٔ ‎--random-source بستگی داره  (دفعات بازدید: 351 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین بهنام …

  • High Hero Member
  • *
  • ارسال: 1040
  • إن أحسنتم أحسنتم لأنفسكم وإن أسأتم فلها
سلام.
یه اسکریپت ساده دارم برای گزینش تصادفی شماری خط از میون چند پرونده.
shuf -n 30 j01.txt > t.txt # of 100 lines
shuf -n 2000 j02.txt >> t.txt # of 6000 lines
...
shuf -n 500 j50.txt >> t.txt # of 9000 lines
آیا shuf (شوف؟) به‌خوبی خروجی تصادفی می‌ده؟ نمی‌خوام احتمال گزینش برخی خط‌ها به‌طور محسوسی بیشتر از دیگران باشه، وگرنه پس از چند بار برخی خط‌ها بیش از حد خونده می‌شند و برخی هرگز. آیا لازمه برای هر گزینشی چند بار مخلوطشون کنم یا توان خود shuf کافیه؟
روی لپتاپ قدیمی و ضعیف انجام می‌دم.
« آخرین ویرایش: 13 فروردین 1401، 11:01 ق‌ظ توسط بهنام … »
:) :)

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 3762
  • جنسیت : پسر
پاسخ : کارایی shuf برای گزینش تصادفی چقدره؟
« پاسخ #1 : 16 بهمن 1400، 10:01 ق‌ظ »
فکر کنم درست کار بده. اگه می‌خواهید شانسی بودن اون بیشتر بشه، می‌تونید با dd اطلاعات رو از فایل random یا urandom توی /dev/ بخونید، خروجی رو بدید به یه ابزار مثل tr تا اعداد رو از خروجی جدا کنه و بعد هر کاری می‌خواهید با اون عدد بکنید. می‌تونید یه بررسی هم بکنید که عدد از مقدار مورد نظر شما کوچک‌تر باشه و اگه نبود، دوباره مراحل ساخت عدد تکرار بشه.
شاید لازم باشه برای اینکار، یه اسکریپت bash (یا شاید sh) بنویسید.
میدونید که زکات علم نشر آن است

آفلاین بهنام …

  • High Hero Member
  • *
  • ارسال: 1040
  • إن أحسنتم أحسنتم لأنفسكم وإن أسأتم فلها
پاسخ : کارایی shuf برای گزینش تصادفی چقدره؟
« پاسخ #2 : 16 بهمن 1400، 05:42 ب‌ظ »
ممنون. سر فرصت این راهی را که گفتید آزمایش می‌کنم.
:) :)

آفلاین بهنام …

  • High Hero Member
  • *
  • ارسال: 1040
  • إن أحسنتم أحسنتم لأنفسكم وإن أسأتم فلها
پاسخ : کارایی shuf برای گزینش تصادفی چقدره؟
« پاسخ #3 : 12 فروردین 1401، 09:41 ب‌ظ »
نمی‌دونم pseudo random number generator چیه و شوف دقیقاً چی‌کار می‌کنه، ولی:
دو سه تا آزمون ساده برای ‎/dev/random و حالت پیش‌گزیدهٔ شوف انجام دادم و انگار به‌کارگیری ‎/dev/random پنج برابر بهتر از پیش‌گزیده بود. و کار باهاش هم آسون بود. این‌جوری:
shuf --random-source=/dev/random -n <number> <input-file> > <output-file>

اگه بعداً موردی دیدم باز می‌گم.
:) :)

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 3762
  • جنسیت : پسر
پاسخ : کارایی shuf برای گزینش تصادفی چقدره؟
« پاسخ #4 : 13 فروردین 1401، 12:04 ق‌ظ »
نمی‌دونم pseudo random number generator چیه و شوف دقیقاً چی‌کار می‌کنه، ولی:
pseudo random number generator یه چیزیه که اول کار یه عددی دریافت می‌کنه (بهش میگن seed) و بعد اعداد تصادفی به ما میده. کسی که از بیرون این اعداد رو می‌بینه و ، اعداد رو تصادفی به حساب میاره.
حالا چرا pseudo random number generator یا همون "تولید کنند عدد نیمه تصادفی" هست و نه یه تولید کنند عدد تصادفی واقعی، به این خاطره که اگه کسی اون seed رو داشته باشه، خیلی راحت می‌تونه بدونه توی هر مرحله چه عددی تولید میشه و اینجوری دیگه اون اعداد تصادفی به حساب نمیان.
این از نظر امنیتی برای تولید کلید، می‌تونه مشکل به حساب بیاد. ولی معمولا این seed فقط دست کامپیوتر هست و تا وقتی که دست کس دیکه‌ای نیفته، مشکلی پیش نمیاد.

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