คำถามติดแท็ก random

แท็กนี้มีไว้สำหรับคำถามที่เกี่ยวข้องกับตัวเลขสุ่มและเครื่องกำเนิดไฟฟ้าไม่ว่าจะเป็นการหลอกแบบสุ่มหรือสุ่มอย่างแท้จริง

12
ตัวอย่างสุ่มอย่างง่ายจากฐานข้อมูล Sql
ฉันจะใช้ตัวอย่างสุ่มอย่างง่ายที่มีประสิทธิภาพใน SQL ได้อย่างไร ฐานข้อมูลที่เป็นปัญหากำลังเรียกใช้ MySQL ตารางของฉันมีอย่างน้อย 200,000 แถวและฉันต้องการตัวอย่างสุ่มอย่างง่ายประมาณ 10,000 คำตอบที่ "ชัดเจน" คือ: SELECT * FROM table ORDER BY RAND() LIMIT 10000 สำหรับตารางขนาดใหญ่มันช้าเกินไปมันเรียกRAND()ทุกแถว (ซึ่งวางไว้ที่ O (n)) แล้วเรียงลำดับทำให้เป็น O (n lg n) ได้ดีที่สุด มีวิธีทำเร็วกว่า O (n) หรือไม่? หมายเหตุ : ในฐานะที่เป็นแอนดรูเหมาชี้ให้เห็นในความคิดเห็นที่หากคุณใช้วิธีการนี้ใน SQL Server คุณควรใช้ฟังก์ชั่น T-SQL NEWID()เพราะ RAND () อาจจะกลับมาเป็นค่าเดียวกันสำหรับทุกแถว แก้ไข: 5 ปีต่อมา ฉันพบปัญหานี้อีกครั้งด้วยตารางที่ใหญ่กว่าและลงเอยด้วยการใช้โซลูชันของ …
93 mysql  sql  postgresql  random 


5
สร้างอาร์เรย์ numpy แบบสุ่มเดียวกันอย่างสม่ำเสมอ
ฉันกำลังรอให้นักพัฒนารายอื่นทำโค้ดให้เสร็จซึ่งจะคืนค่าอาร์เรย์ np ของรูปร่าง (100,2000) ด้วยค่า -1,0 หรือ 1 ในระหว่างนี้ฉันต้องการสร้างอาร์เรย์ที่มีลักษณะเดียวกันแบบสุ่มเพื่อที่ฉันจะได้เริ่มต้นพัฒนาและทดสอบได้ สิ่งนี้คือฉันต้องการให้อาร์เรย์ที่สร้างแบบสุ่มนี้เหมือนกันทุกครั้งเพื่อที่ฉันจะได้ไม่ทดสอบกับอาร์เรย์ที่เปลี่ยนค่าไปเรื่อย ๆ ทุกครั้งที่ฉันรันกระบวนการของฉันใหม่ ฉันสามารถสร้างอาร์เรย์ของฉันแบบนี้ได้ แต่มีวิธีสร้างอาร์เรย์ให้เหมือนกันทุกครั้งหรือไม่ ฉันสามารถดองวัตถุและปลดเปลื้องได้ แต่สงสัยว่ามีวิธีอื่นหรือไม่ r = np.random.randint(3, size=(100, 2000)) - 1
91 python  random  numpy 

8
ฉันจะปรับฟังก์ชัน ORDER BY RAND () ของ MySQL ให้เหมาะสมได้อย่างไร
mysql-slow.logฉันต้องการที่จะเพิ่มประสิทธิภาพการค้นหาของฉันดังนั้นฉันมองเข้าไปใน ORDER BY RAND()ส่วนใหญ่เป็นคำสั่งของฉันช้ามี ฉันไม่พบวิธีแก้ปัญหาที่แท้จริงในการแก้ไขปัญหานี้ Theres เป็นทางออกที่เป็นไปได้ที่MySQLPerformanceBlogแต่ฉันคิดว่ามันไม่เพียงพอ บนตารางที่ปรับให้เหมาะสมไม่ดี (หรืออัปเดตบ่อยครั้งมีการจัดการโดยผู้ใช้) มันใช้งานไม่ได้หรือฉันต้องเรียกใช้การสืบค้นสองครั้งขึ้นไปก่อนจึงจะสามารถเลือกPHPแถวสุ่มที่สร้างขึ้นได้ มีวิธีแก้ไขปัญหานี้หรือไม่? ตัวอย่างจำลอง: SELECT accomodation.ac_id, accomodation.ac_status, accomodation.ac_name, accomodation.ac_status, accomodation.ac_images FROM accomodation, accomodation_category WHERE accomodation.ac_status != 'draft' AND accomodation.ac_category = accomodation_category.acat_id AND accomodation_category.acat_slug != 'vendeglatohely' AND ac_images != 'b:0;' ORDER BY RAND() LIMIT 1

9
เลือกคุณสมบัติแบบสุ่มจากวัตถุ Javascript
สมมติว่าคุณมีวัตถุ Javascript เช่น {'cat': 'meow', 'dog': 'woof' ... } มีวิธีที่กระชับกว่านี้ในการเลือกคุณสมบัติแบบสุ่มจากวัตถุมากกว่าวิธีที่คดเคี้ยวยาว ๆ ที่ฉันคิดขึ้นมา : function pickRandomProperty(obj) { var prop, len = 0, randomPos, pos = 0; for (prop in obj) { if (obj.hasOwnProperty(prop)) { len += 1; } } randomPos = Math.floor(Math.random() * len); for (prop in obj) { if (obj.hasOwnProperty(prop)) …


21
การสร้างหมายเลขสุ่มเฉพาะใน Java
ฉันพยายามหาตัวเลขสุ่มระหว่าง 0 ถึง 100 แต่ฉันต้องการให้ตัวเลขไม่ซ้ำกันไม่ซ้ำกันในลำดับ ตัวอย่างเช่นถ้าฉันได้ 5 ตัวเลขควรเป็น 82,12,53,64,32 ไม่ใช่ 82,12,53,12,32 ที่ฉันใช้ แต่มันสร้างตัวเลขเดียวกันในลำดับ Random rand = new Random(); selected = rand.nextInt(100);
90 java  random 

9
อะไรคือวิธีที่ pythonic ที่สุดในการแสดงองค์ประกอบแบบสุ่มจากรายการ?
Наэтотвопросестьответына กองมากเกินнарусском : Рандомныечиславหลาม 3: выбиратьрандомныезначенияизмассивацелыхчиселдо техпор , покаэтизначениянекончатся สมมติว่าฉันมีรายการที่xมีความยาวที่ไม่รู้จักซึ่งฉันต้องการสุ่มให้ปรากฏองค์ประกอบหนึ่งเพื่อไม่ให้รายการมีองค์ประกอบในภายหลัง วิธีที่ยิ่งใหญ่ที่สุดในการทำเช่นนี้คืออะไร? ฉันสามารถทำมันใช้ combincation ค่อนข้างไม่สะดวกของpop, random.randintและlenและอยากจะเห็นการแก้ปัญหาที่สั้นกว่าหรือดีกว่า: import random x = [1,2,3,4,5,6] x.pop(random.randint(0,len(x)-1)) สิ่งที่ฉันพยายามทำให้สำเร็จคือป๊อปองค์ประกอบแบบสุ่มจากรายการติดต่อกัน (เช่นป๊อปองค์ประกอบหนึ่งแบบสุ่มและย้ายไปยังพจนานุกรมป๊อปองค์ประกอบอื่นแบบสุ่มแล้วย้ายไปยังพจนานุกรมอื่น ... ) โปรดทราบว่าฉันใช้ Python 2.6 และไม่พบวิธีแก้ปัญหาใด ๆ ผ่านฟังก์ชันการค้นหา
90 python  list  random 

8
สร้างอาร์เรย์แบบสุ่มของการลอยระหว่างช่วง
ฉันไม่พบฟังก์ชันในการสร้างอาร์เรย์ของการลอยแบบสุ่มที่มีความยาวที่กำหนดระหว่างช่วงหนึ่ง ฉันได้ดูการสุ่มตัวอย่างแบบสุ่มแต่ดูเหมือนว่าไม่มีฟังก์ชันใดที่จะทำในสิ่งที่ฉันต้องการ random.uniform เข้ามาใกล้ แต่จะส่งกลับเพียงองค์ประกอบเดียวไม่ใช่ตัวเลขเฉพาะ นี่คือสิ่งที่ฉันต้องการ: ran_floats = some_function(low=0.5, high=13.3, size=50) ซึ่งจะกลับอาร์เรย์ของ 50 ลอยที่ไม่ซ้ำกันสุ่ม (เช่น: ซ้ำได้รับอนุญาต) [0.5, 13.3]กระจายอย่างสม่ำเสมอในช่วง มีฟังก์ชั่นดังกล่าวหรือไม่?
90 python  arrays  random  numpy 

18
การสร้างตัวเลขสุ่มโดยไม่ซ้ำกัน
ในกรณีนี้ MAX เป็นเพียง 5 ดังนั้นฉันจึงสามารถตรวจสอบรายการที่ซ้ำกันได้ทีละรายการ แต่จะทำอย่างไรให้ง่ายกว่า ตัวอย่างเช่นจะเกิดอะไรขึ้นถ้า MAX มีค่าเป็น 20? ขอบคุณ. int MAX = 5; for (i = 1 , i <= MAX; i++) { drawNum[1] = (int)(Math.random()*MAX)+1; while (drawNum[2] == drawNum[1]) { drawNum[2] = (int)(Math.random()*MAX)+1; } while ((drawNum[3] == drawNum[1]) || (drawNum[3] == drawNum[2]) ) { drawNum[3] = (int)(Math.random()*MAX)+1; …
89 java  random 

4
วิธีการที่หรูหราในการสร้างอาร์เรย์ของวันที่สุ่มภายในสองวันที่
ฉันมี datepicker ที่ฉันแสดงสองเดือนและฉันต้องการสุ่มเลือกวันที่ 3 วันในแต่ละเดือนที่มองเห็น $('.date').datepicker({ minDate: new Date(), dateFormat: 'DD, MM, d, yy', constrainInput: true, beforeShowDay: processDates, numberOfMonths: 2, showButtonPanel: true, showOn: "button", buttonImage: "images/calendar_icon.jpg", buttonImageOnly: true }); นี่คือการคำนวณของฉัน var now = new Date(); var nowTime = parseInt(now.getTime()/1000); var randomDateSet = {}; function getRandomSet(y,m) { var monthIndex = "m"+y+""+m; …

4
ทำไม rand () ทำซ้ำตัวเลขบ่อยกว่าบน Linux มากกว่า Mac?
ฉันใช้ hashmap ใน C เป็นส่วนหนึ่งของโครงการที่ฉันกำลังทำงานและใช้การแทรกแบบสุ่มเพื่อทดสอบเมื่อฉันสังเกตเห็นว่าrand()บน Linux ดูเหมือนว่าจะซ้ำตัวเลขบ่อยกว่าบน Mac RAND_MAXคือ 2147483647 / 0x7FFFFFFF บนทั้งสองแพลตฟอร์ม ฉันได้ลดขนาดลงในโปรแกรมทดสอบนี้ที่ทำให้อาร์เรย์แบบRAND_MAX+1ยาว - ยาวสร้างRAND_MAXตัวเลขแบบสุ่มบันทึกว่าแต่ละรายการซ้ำกันหรือไม่และตรวจสอบออกจากรายการตามที่เห็น #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> int main() { size_t size = ((size_t)RAND_MAX) + 1; char *randoms = calloc(size, sizeof(char)); int dups = 0; srand(time(0)); for (int i = 0; i < …
87 c  linux  macos  random 

4
วิธีที่เร็วที่สุดในการสร้างบูลีนแบบสุ่ม
ดังนั้นจึงมีหลายวิธีในการสร้างบูลแบบสุ่มใน C #: ใช้ Random.Next (): rand.Next(2) == 0 ใช้ Random.NextDouble (): rand.NextDouble() > 0.5 มีความแตกต่างจริงหรือ? ถ้าเป็นเช่นนั้นอันไหนมีประสิทธิภาพดีกว่ากัน? หรือมีวิธีอื่นที่ฉันไม่เห็นซึ่งอาจเร็วกว่านี้?

13
เหตุใดจึงต้องใช้ C # class System.Random แทน System.Security.Cryptography.RandomNumberGenerator
ทำไมใคร ๆ ก็ใช้ตัวสร้างตัวเลขสุ่ม "มาตรฐาน" จากSystem.Randomเลยแทนที่จะใช้ตัวสร้างตัวเลขสุ่มที่ปลอดภัยด้วยการเข้ารหัสลับจากSystem.Security.Cryptography.RandomNumberGenerator (หรือคลาสย่อยเนื่องจาก RandomNumberGenerator เป็นนามธรรม) Nate Lawson บอกเราในงานนำเสนอของ Google Tech Talk ว่า " Crypto Strikes Back " ในนาทีที่ 13:11 ว่าอย่าใช้เครื่องกำเนิดตัวเลขสุ่ม "มาตรฐาน" จาก Python, Java และ C # และให้ใช้เวอร์ชันที่มีการเข้ารหัสลับที่ปลอดภัยแทน ฉันรู้ความแตกต่างระหว่างเครื่องสร้างตัวเลขสุ่มทั้งสองเวอร์ชัน (ดูคำถาม 101337 ) แต่มีเหตุผลอะไรบ้างที่จะไม่ใช้ตัวสร้างตัวเลขสุ่มที่ปลอดภัยเสมอไป? ทำไมต้องใช้ System.Random เลย? ประสิทธิภาพบางที?
87 c#  .net  cryptography  random 


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.