목차
질문 내용
해결 방법
백엔드 개발 Golang 균일한 분포와 순진한 셔플링?

균일한 분포와 순진한 셔플링?

Feb 09, 2024 am 08:30 AM
준비

균일한 분포와 순진한 셔플링?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

전 세계 10 대의 가상 통화 거래 플랫폼 순위는 무엇입니까? 전 세계 10 대의 가상 통화 거래 플랫폼 순위는 무엇입니까? Feb 20, 2025 pm 02:15 PM

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

참깨 오픈 교환을 중국어로 조정하는 방법 참깨 오픈 교환을 중국어로 조정하는 방법 Mar 04, 2025 pm 11:51 PM

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

Mar 17, 2025 pm 06:03 PM

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

안전하고 안정적인 디지털 통화 플랫폼은 무엇입니까? 안전하고 안정적인 디지털 통화 플랫폼은 무엇입니까? Mar 17, 2025 pm 05:42 PM

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

상위 10 개의 가상 통화 거래 플랫폼 2025 Cryptocurrency 거래 앱 순위 상위 10 위 상위 10 개의 가상 통화 거래 플랫폼 2025 Cryptocurrency 거래 앱 순위 상위 10 위 Mar 17, 2025 pm 05:54 PM

상위 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 개의 가상 통화 거래 앱 중 가장 좋은 것은 무엇입니까? 상위 10 개의 가상 통화 거래 앱 중 가장 좋은 것은 무엇입니까? Mar 19, 2025 pm 05:00 PM

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

권장 안전 가상 통화 소프트웨어 앱 상위 10 개 디지털 통화 거래 앱 순위 2025 권장 안전 가상 통화 소프트웨어 앱 상위 10 개 디지털 통화 거래 앱 순위 2025 Mar 17, 2025 pm 05:48 PM

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

기술 분석 교육 안내서 : K- 라인을 통한 가격 행동 판사 기술 분석 교육 안내서 : K- 라인을 통한 가격 행동 판사 Mar 05, 2025 am 08:54 AM

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

See all articles