• SEARCH

    통합검색
세모계
    • Dark Mode
    • GNB Always Open
    • GNB Height Maximize
    • Color
    • Brightness
    • SINCE 2015.01.19.
    • 세모계 세모계
    •   SEARCH
    • 세상의 모든 계산기  
      • 자유(질문) 게시판  
      • 계산기 뉴스/정보  
      • 수학, 과학, 공학 이야기  
      • 세모계 : 공지 게시판  
        • 구글 맞춤검색  
    • TI  
    • CASIO  
    • HP  
    • SHARP  
    • 일반(쌀집) 계산기  
    • 기타계산기  
    • 세모계
    • by ORANGEDAY
  • 세상의 모든 계산기 수학, 과학, 공학 이야기
    • 세상의 모든 계산기 수학, 과학, 공학 이야기 확률통계 ()
    • 게임에서 가챠 아이템을 뽑을 확률은?

    • Profile
      • 세상의모든계산기
      • 2024.08.29 - 15:38 2024.08.29 - 13:29 267 2

    image.png

    총 10개의 아이템이 있고, 두 부류로 구분 됨.

     

    A형 5종 : 각 12% 의 확률로 선택됨

    B형 5종 : 각 8% 의 확률로 선택됨

    합계 100%로

    10개 상품이 온전히 있을 때 그 중 1개 뽑을 때의 확률을 의미함. 

     

    실제로는

    아이템 구매시 2개의 아이템이 선택되어 나오고, 

    동일한 아이템이 한꺼번에 나오지는 않음. 

     

    B형 아이템 중 특정한 아이템인 B1이 나올 확률은?

     

    스크린샷 2024-08-29 132556.png

     

    B1을 획득할 확률

    = A상품 후 B1을 뽑는 확률 + B1아닌 B상품 후 B1을 뽑는 확률 + B1을 처음에 뽑는 확률

     

     

    * 동일한 아이템이 선택되지 않도록 순차적으로 뽑는다고 생각하면, 
    두번째 선택시의 선택확률이 다시 주어져야 하지만 조건으로 주어지지 않았기 때문에 

    B1을 제외한 나머지의 선택확률은 남은 것들 중의 각각의 비중 비률로 계산함. 

    Attached file
    image.png 9.2KB 10스크린샷 2024-08-29 132556.png 24.7KB 26
    이 게시물을..
    N
    0
    0
    • 세상의모든계산기 25
      세상의모든계산기

      계산기는 거들 뿐
      혹은
      계산기를 거들 뿐

    세상의모든계산기 님의 최근 글

    iptime 공유기 (AX2004T), 유선 핑 테스트 결과 (Ping Test) 247 11 2025 09.24 자동심장충격기, AED 내 주변에 설치된 곳 확인하기 162 1 2025 09.06 욕실 변기 - 필밸브 구조 - Fill Valve, Diaphragm 139 2025 08.28 TI Nspire 로 PC 파일 전송하기 - Student Software 이용 245 2025 04.23 면세사업자 vs 일반과세사업자 2025 04.08

    세상의모든계산기 님의 최근 댓글

    [TI-nspire] Error: Domain Error https://allcalc.org/52070   Degree -> Radian 2025 10.07 참고 https://allcalc.org/52065 TI NSPIRE CX CAS 복소수 관련 문제 문의 드립니다.   2025 09.28 Rectangular 설정시    ▶Polar 2025 09.28 Real or Cpmplex Format : Polar 설정시         2025 09.28 비교 AC-68U[ ID] Interval Transfer Bandwidth[ 4] 0.00-10.00 sec 475 MBytes 398 Mbits/sec sender[ 4] 0.00-10.00 sec 475 MBytes 398 Mbits/sec receiver 2025 09.24
    글쓴이의 서명작성글 감추기 

    댓글2

    • Profile 0
      세상의모든계산기
      2024.08.29 - 15:20 2024.08.29 - 15:08 #46405

      시뮬레이션의 결과 (비복원 - 본문 풀이 논리와 동일)


      import random
      
      def generate_items_and_weights():
          # a형 항목
          a_items = [f'a{i}' for i in range(1, 6)]
          a_weights = [12] * 5  # 각 a형 항목의 선택 확률은 12%
          
          # b형 항목
          b_items = [f'b{i}' for i in range(1, 6)]
          b_weights = [8] * 5  # 각 b형 항목의 선택 확률은 8%
          
          items = a_items + b_items
          weights = a_weights + b_weights
          return items, weights
      
      def draw_items(items, weights):
          if len(items) < 2:
              return []  # 항목이 충분하지 않으면 빈 리스트 반환
          # 첫 번째 항목을 선택
          first_item = random.choices(items, weights=weights, k=1)[0]
          first_index = items.index(first_item)
          # 선택한 항목을 제거
          del items[first_index]
          del weights[first_index]
          # 두 번째 항목을 선택
          second_item = random.choices(items, weights=weights, k=1)[0]
          return [first_item, second_item]
      
      def is_valid_draw(draw):
          return draw[0] != draw[1]
      
      def main():
          total_trials = 10000000  # 테스트를 위한 시도 횟수
          valid_count = 0
          invalid_count = 0
          b1_count = 0
      
          for _ in range(total_trials):
              items, weights = generate_items_and_weights()
              drawn_items = draw_items(items, weights)
              if len(drawn_items) == 2:  # 항목이 2개 선택되었는지 확인
                  if is_valid_draw(drawn_items):
                      valid_count += 1
                      if 'b1' in drawn_items:
                          b1_count += 1
                  else:
                      invalid_count += 1
              else:
                  invalid_count += 1
      
          if valid_count == 0:
              probability_b1_given_valid = 0
          else:
              probability_b1_given_valid = b1_count / valid_count
      
          print(f"Total trials: {total_trials}")
          print(f"Valid draws: {valid_count}")
          print(f"Invalid draws: {invalid_count}")
          print(f"'b1' picked in valid draws: {b1_count}")
          print(f"Probability of 'b1' given valid draw: {probability_b1_given_valid:.4f}")
      
      if __name__ == "__main__":
          main()

       

      실행 결과 

      Total trials: 10000000
      Valid draws: 10000000
      Invalid draws: 0
      'b1' picked in valid draws: 1623986
      Probability of 'b1' given valid draw: 0.1624

      댓글
    • Profile 0
      세상의모든계산기
      2024.08.29 - 15:40 2024.08.29 - 15:18 #46408

      시뮬레이션의 결과 (복원 추출 - 단, 중복시 무효화 Invalid 처리)


      위의 비복원 추출에서 코드 일부 주석처리하여 설정함. 

          # 선택한 항목을 제거
          # del items[first_index]
          # del weights[first_index]

       

      실행 결과

      Total trials: 10000000
      Valid draws: 8960517
      Invalid draws: 1039483
      'b1' picked in valid draws: 1472355
      Probability of 'b1' given valid draw: 0.1643

       

      비복원 추출과 결과가 같을 줄 알았는데...  0.2% 높게 나옴.
      (여러차례 실행해도 같음)

       

      A1~B5 까지 중복시 무효처리가 동일하게 적용되기 때문에 영향이 없을 것으로 예상했지만, 
      실제로는 B1~B5 의 중복 선택 확률이 낮고 A1~A5의 중복 선택 확률이 높기 때문에, 
      B1이 안뽑히는 것 중에서 무효처리 되는 것이 상대적으로 많아짐. 
      즉 구하려는 확률에서 분모값이 작아지는 효과가 나타났고 확률값이 커지는 효과가 0.2% 상승으로 나타난 듯 함.

      댓글
    • 댓글 입력
    • 에디터 전환
    댓글 쓰기 에디터 사용하기 닫기
    • view_headline 목록
    • 14px
    • 목록
      view_headline
    2
    × CLOSE
    전체 수학 64 확률통계 18 공학 13 물리학 2 화학 3 생물학 재무금융 10 기타 2
    기본 (0) 제목 날짜 수정 조회 댓글 추천 비추
    분류 정렬 검색
    등록된 글이 없습니다.
    by OrangeDay
    • 세상의 모든 계산기 수학, 과학, 공학 이야기
    • allcalc.org
    • 세모계 all rights reserved.