در نظریه احتمال، یک ماتریس احتمال ماتریسی است که:
- ماتریس یک ماتریس مربعی است (تعداد سطرها و ستونها برابر است).
- تمام درایهها احتمال هستند، یعنی اعدادی بین ۰ و ۱.
- مجموع درایههای هر سطر برابر با ۱ است.
مثال زیر یک ماتریس احتمال است:
[
[0.5, 0.5, 0.0],
[0.2, 0.5, 0.3],
[0.1, 0.2, 0.7]
]
توجه کنید که اگرچه مجموع درایههای هر سطر برابر با ۱ است، اما هیچ محدودیتی روی ستونها وجود ندارد و مجموع آنها میتواند برابر با ۱ باشد یا نباشد.
تابعی بنویسید که بررسی کند آیا یک ماتریس، ماتریس احتمال است یا خیر.
نمونه ورودی و خروجی
IsProbMatrix([[0.5, 0.5, 0.0], [0.2, 0.5, 0.3], [0.1, 0.2, 0.7]]) ➞ True
IsProbMatrix([[0.5, 0.5, 0.0], [0.2, 0.5, 0.3]]) ➞ False
IsProbMatrix([[2, -1], [-1, 2]]) ➞ False
Assert.True(Backendbaz.IsProbMatrix(new double[,] { { 0.5, 0.5, 0.0 }, { 0.2, 0.5, 0.3 }, { 0.1, 0.2, 0.7 } })); Assert.False(Backendbaz.IsProbMatrix(new double[,] { { 0.5, 0.5, 0.0 }, { 0.2, 0.5, 0.3 } })); Assert.False(Backendbaz.IsProbMatrix(new double[,] { { 2, -1 }, { -1, 2 } })); Assert.True(Backendbaz.IsProbMatrix(new double[,] { { 0, 1 }, { 1, 0 } })); Assert.False(Backendbaz.IsProbMatrix(new double[,] { { 0.5, 0.4 }, { 0.5, 0.6 } })); Assert.True(Backendbaz.IsProbMatrix(new double[,] { { 0.5, 0.0, 0.5, 0.0 }, { 0.1, 0.2, 0.3, 0.4 }, { 0.3, 0.2, 0.2, 0.3 }, { 0.0, 0.5, 0.0, 0.5 } }));
نظرات