균일한 분포와 순진한 셔플링?
PHP 편집자 Xiaoxin은 "균일한 분포와 순진한 셔플링"의 관계를 공개합니다. 컴퓨터 과학에서 셔플링은 데이터나 컬렉션을 무작위로 추출하는 데 자주 사용되는 중요한 작업입니다. 균일 분포는 난수 분포가 특정 범위 내에서 평균임을 의미합니다. 그렇다면 셔플링을 통해 균등한 분배가 보장될 수 있을까요? 대답은 간단하지 않습니다. 따라서 이 질문을 함께 살펴보겠습니다.
질문 내용
3 int 배열을 600만 번 섞고 있습니다. 나는 배열의 각 순열을 맵에 기록합니다. 아래는 go를 사용한 코드입니다.
으아악간단한 순서 섞기를 하고 있기 때문에 균일하게 분포된 순열을 생성해서는 안 으면 안 된다는 것을 이해했습니다. 그러나 이것이 내가 얻은 것입니다:
으아악이는 6개의 가능한 순열이 각각 약 100만 번 발생함을 보여줍니다. 내가 얻은 분포가 균일해 보이는 이유는 무엇입니까?
EDIT: 코드를 한 번만 시드하도록 변경했습니다. 나는 이제 다음을 얻습니다:
으아악편집 2: Hobbs 덕분에 내가 어리석은 실수를 저질렀다는 것을 깨달았습니다. 섞어야지 a
,而不是 arr
. 나는 이제 다음을 얻습니다:
package main import ( "fmt" "math/rand" "time" ) func randrange(min, max int) int { return rand.intn(max-min+1) + min } func naiveshuffle(arr *[3]int) { for i := 0; i < 3; i++ { e := randrange(0, 2) arr[e], arr[i] = arr[i], arr[e] } } func main() { rand.seed(time.now().unixnano()) m := make(map[[3]int]int, 6) arr := [3]int{-6,10,184} for i := 1; i <= 6000000; i++ { a := arr naiveshuffle(&arr) m[a]++ } for k, v := range m { fmt.println(k, ":", v) } }
해결 방법
셔플 사이에 원래 상태로 복원하지 않고 셔플 arr
을 600만 번 이상 수행했습니다. 즉, 600만 번의 시도가 독립적이지 않았습니다. 각 셔플의 순열은 고르지 않게 분포되어 있지만 이러한 순열을 서로 600만 번 쌓으면 균일에 매우 가까운 분포가 생성됩니다.
위 내용은 균일한 분포와 순진한 셔플링?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











cryptocurrencies의 인기로 가상 통화 거래 플랫폼이 등장했습니다. 세계의 상위 10 개 가상 통화 거래 플랫폼은 거래량 및 시장 점유율에 따라 다음과 같이 순위가 매겨집니다 : Binance, Coinbase, FTX, Kucoin, crypto.com, Kraken, Huobi, Gate.io, Bitfinex, Gemini. 이 플랫폼은 광범위한 암호 화폐 선택에서부터 파생 상품 거래에 이르기까지 다양한 서비스를 제공하며, 다양한 수준의 거래자에게 적합합니다.

참깨 오픈 교환을 중국어로 조정하는 방법? 이 튜토리얼은 예비 준비부터 운영 프로세스에 이르기까지 컴퓨터 및 안드로이드 휴대 전화의 자세한 단계를 다룹니다. 그런 다음 일반적인 문제를 해결하여 참깨 오픈 교환 인터페이스를 중국어로 쉽게 전환하고 거래 플랫폼을 신속하게 시작할 수 있습니다.

상위 10 개 암호 화폐 거래 플랫폼은 다음과 같습니다. 1. OKX, 2. BINANCE, 3. GATE.IO, 4. KRAKEN, 5. HUOBI, 6. COINBASE, 7. KUCOIN, 8. CRYPTO.com, 9. BITFINEX, 10. GEMINI. 플랫폼을 선택할 때 보안, 유동성, 처리 비용, 통화 선택, 사용자 인터페이스 및 고객 지원을 고려해야합니다.

안전하고 신뢰할 수있는 디지털 통화 플랫폼 : 1. OKX, 2. BINANCE, 3. GATE.IO, 4. KRAKEN, 5. HUOBI, 6. COINBASE, 7. KUCOIN, 8. CRYPTO.com, 9. BITFINEX, 10. GEMINI. 플랫폼을 선택할 때 보안, 유동성, 처리 비용, 통화 선택, 사용자 인터페이스 및 고객 지원을 고려해야합니다.

상위 10 개의 가상 통화 거래 플랫폼 2025 : 1. OKX, 2. Binance, 3. Gate.io, 4. Kraken, 5. Huobi, 6. Coinbase, 7. Kucoin, 8. Crypto.com, 9. Bitfinex, 10. Gemini. 플랫폼을 선택할 때 보안, 유동성, 처리 비용, 통화 선택, 사용자 인터페이스 및 고객 지원을 고려해야합니다.

상위 10 개의 가상 통화 거래 앱 순위 : 1. OKX, 2. Binance, 3. Gate.io, 4. Kraken, 5. Huobi, 6. Coinbase, 7. Kucoin, 8. Crypto.com, 9. Bitfinex, 10. Gemini. 플랫폼을 선택할 때 보안, 유동성, 처리 비용, 통화 선택, 사용자 인터페이스 및 고객 지원을 고려해야합니다.

권장 안전 가상 통화 소프트웨어 앱 : 1. OKX, 2. BINANCE, 3. GATE.IO, 4. KRAKEN, 5. HUOBI, 6. COINBASE, 7. KUCOIN, 8. CRYPTO.com, 9. BITFINEX, 10. GEMINI. 플랫폼을 선택할 때 보안, 유동성, 처리 비용, 통화 선택, 사용자 인터페이스 및 고객 지원을 고려해야합니다.

목차 소개 (i) 학습 경로 (ii) 유형 거래의 주요 요소 1. K- 라인 가격 행동의 해석 (i) 기본 개념 (ii) 분석 도구 2. K-line 가격 행동의 분석 : 장점과 불리한 무게 3. K-line 패턴의 강력하고 약점의 해석 강한 신호의 해석 4 획기적인 추세 분석 후 라인 대처 전략 추세 분석 요약 지원 수준 및 압력 수준 주요 가격 식별 지원 압력 수준
