7/25/2014

AI 3.2 - Định nghĩa xác suất



  3.2 - Định nghĩa Xác Suất -

Có rất nhiều cách để định nghĩa xác suất dựa trên các tình huống và ngữ cảnh. Thông thường khái niệm xác suất dùng để chỉ khả năng của một sự kiện xảy ra thành công. Xác suất của một sự kiện A xảy ra thường được viết như P (A). Để tính toán P (A), chúng ta cần phải biết số lần nó có thể xảy ra (n), và tổng số lần tất cả các sự kiện khác có thể có thể xảy ra (N).



Vì vậy, xác suất của một sự kiện A có thể được tính như sau:

P (A) = n / N

P (A) là xác suất của sự kiện A xảy ra, và bằng số lần A có thể xảy ra (n) trong số tất cả các kết quả (N). Nếu P (A) là xác suất của sự kiện A xảy ra, sau đó xác suất của sự kiện A sẽ không xảy ra, hoặc xác suất thất bại cho sự kiện A là tương đương với:

Pf (A) = 1 - P. (A)

Phạm vi của các xác suất là một số thập phân từ số không đến một. Xác suất bằng không có nghĩa là không có cơ hội cho các sự kiện mong muốn xảy ra, và một có nghĩa là 100 phần trăm cho các sự kiện xảy ra. Và P (A) + Pf (A) phải bằng một. Từ các giá trị xác suất nằm trong khoảng từ số không đến một, chúng ta có thể tính được giá trị phần trăm bằng cách nhân với 100.


Sự kiện độc lập và liên quan 

Một khái niệm quan trọng khác trong xác suất chính là có hay không một sự kiện riêng biệt xảy ra phụ thuộc vào bất kỳ sự kiện nào khác trong một số lần. Ví dụ, tung một xúc xắc sáu mặt hai lần là hai sự kiện độc lập. Mỗi khi bạn tung một xúc xắc, xác suất các mặt xuất hiện là một phần sáu. Mặt khác, rút hai lá bài từ cùng một bộ bài là hai sự kiện liên quan. Nếu bạn đã rút ra một con J trong sự kiện đầu tiên, có người còn xui hơn bạn khi rút ra một con Jack trong sự kiện thứ hai.


Xác suất có điều kiện 

Khi tung hai xúc xắc sáu mặt cùng một lúc, xác suất để có được số một trên cả hai xúc xắc là gì ? Ở đây có hai sự kiện có điều kiện; để có được số một từ xúc xắc đầu tiên, và cũng để có được số một trên xúc xắc thứ hai. Chúng dựa vào nhau để tính toán ra xác suất có được số một trên cả hai xúc xắc. Xác suất để có được số một từ xúc xắc đầu tiên là một phần sáu, và xúc xắc thứ hai cũng là một phần sáu. Vì vậy, câu trả lời sẽ là một phần sáu lần một phần sáu là 1/36, hay là 2,8% cơ hội.

Bây giờ chúng ta hãy xem xét một ví dụ khác, xác suất để tổng của các số xuất hiện trên hai xúc xắc bằng hai là gì ? Khi đó chỉ có một cách để có được tổng số này, đó chính là một và một, xác suất giống như nhận được cùng một số trên cả hai xúc xắc. Trong trường hợp đó, nó sẽ là 1/36.

Nhưng làm thế nào để tổng của các con số xuất hiện trên cả hai xúc xắc đều là bảy? Như bạn có thể thấy, có tổng cộng sáu khả năng có thể để có được bảy, từ bảng sau:

 

Vì vậy, xác suất để có một tổng là bảy từ hai xúc xắc chính là 6/36 hoặc một phần sáu, là 16,7%. Đây là một số ví dụ về xác suất điều kiện, nơi hai sự kiện dựa vào nhau để đạt được một kết quả mong muốn.


Tung một con xúc xắc

Bây giờ giả sử chúng ta ăn gian, và chúng ta tung xúc xắc sao cho các mặt số sáu có cơ hội xuất hiện gấp đôi. Đối với một xúc xắc sáu mặt, xác suất xuất hiện mỗi mặt khoảng một phần sáu (0.17). Khi chúng ta tăng gấp đôi cơ hội nhận được sáu, chúng ta cần phải tăng gấp đôi xác suất nhận được sáu, chúng ta đang nói đến 0,34. Và xác suất của năm mặt còn lại sẽ được giảm xuống còn 0.132.

Cách đơn giản nhất để thực hiện thuật toán tung xúc xắc này chính là tạo một giá trị ngẫu nhiên từ 1 đến 100. Kiểm tra giá trị ngẫu nhiên có nằm trong phạm vi từ 1 đến 35. Nếu để trở lại sáu, nếu không thì có được một giá trị con xúc xắc ngẫu nhiên từ một đến năm, khi đó các giá trị có cùng một xác suất là 0,13.

Đây là cách tung xúc xắc của chúng ta:

  int throwDiceLoaded() {
    Debug.Log("Throwing dice...");
    int randomProbability = Random.Range(1,101);
    int diceResult = 0;
    if (randomProbability < 36) {
        diceResult = 6;
    }
    else {
        diceResult = Random.Range(1,5);
    }
    Debug.Log("Result: " + diceResult);
    return diceResult;
}


Nếu chúng ta test thuật toán tung xúc xắc này bằng cách tung xúc xắc gấp mười lần, các bạn sẽ nhận ra rằng giá trị 6 xuất hiện thường hơn. Dưới đây là hàm OnGUI() :

  void OnGUI() {
    GUI.Label(new Rect (10, 10, 50, 20), "Input: ");
    inputValue = GUI.TextField(new Rect(60, 10, 50, 20), inputValue, 25);
      if (GUI.Button(new Rect(60,40,50,30),"Play")) {
        int totalSix = 0;
          for (int i=0;i<10;i++) {
            int diceResult = throwDiceLoaded();
            if (diceResult == 6) totalSix++;
            if (diceResult == int.Parse(inputValue)) {
              guiText.text = "DICE RESULT: " + diceResult.ToString()+"\r\nYOU WIN!";
            }
      else {
        guiText.text = "DICE RESULT: " + diceResult.ToString()+"\r\nYOU LOSE!";
            }
          }
        Debug.Log("Total of six: " + totalSix.ToString());
      }
    }

Chúng ta tung xúc xắc mười lần trong hàm OnGUI(), và ở đây tôi có 6 ít nhất hai đến
ba lần (xấp xỉ khoảng 33% trong số mười lần). Tuy nhiên, nếu bạn tung xúc xắc một cách thông thường mà không có tỷ lệ xác suất thành công cao bạn sẽ không có được bất kỳ số 6 nào cả. Hãy nhớ rằng giá trị 6 chỉ có 35%, và do đó vẫn có khả năng bạn sẽ không bao giờ có được một mặt 6 trong số mười lần tung xúc xắc, mặc dù không chắc có.

No comments:

Post a Comment