Uploaded by jsut_live1

LR 1 Prokopovich PI203

advertisement
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФГАОУ ВО «Крымский федеральный университет имени В. И. Вернадского»
Физико-технический институт
Кафедра компьютерной инженерии и моделирования
Лабораторная работа № 1
по курсу «Теория информации и кодирования»
на тему: «Количество информации и неопределенность сообщения»
Выполнил:
студент 3 курса
группы ПИ-203(1)
Прокопович Сергей
Валерьевич
Симферополь, 2022
«Количество информации и неопределенность сообщения».
На вход информационного устройства подается совокупность
сообщений {xk}, k=1N. Вероятности сообщений задаются в виде счетчика
случайных чисел. Определить среднее количество информации в
совокупности сообщений {xk} и максимальную энтропию сообщений.
№ 1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
1
0
1
2
1
4
1
6
1
8
2
0
2
2
2
4
2
6
2
8
3
0
3
2
3
4
3
6
3
8
4
0
4
2
4
4
4
6
4
8
№ 2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3
3
3
4
3
5
3
6
3
7
3
8
3
9
4
0
5
0
5
2
5
4
5
6
5
8
6
0
6
2
6
4
6
6
6
8
7
0
7
2
7
4
7
6
7
8
8
0
8
2
8
4
8
6
8
8
N
N
Вероятности сообщений на входе должны удовлетворять свойству:
N
 px   1
i
i 1
Среднее количество информации в совокупности сообщений:
N
I  X    pxi  log 2
i 1
N
1
  pxi  log 2 pxi ,
pxi 
i 1
Максимальная энтропия сообщений:
N
H  X max  
i 1
1
1
log 2  log 2 N .
N
N
Рис. 1 – Интерфейс программы
 В Label “Ответ” Выводится энтропия.
 По нажатию на кнопку “Найти энтропию” производятся все
вычисления
{
var rand = new Random();
int i = 1;
double b = 1;
double otvet = 0;
double[] numbers = new double[26];
for(i=1; i<=26; i++)
{
double a = rand.NextDouble() * b; // Присваивание случайных
значений
b = 1 - a; // Корректировка вероятности, чтобы не вышла за значение
1.
double ent = a * Math.Log(a, 2); // Основное уравнение нахождения
энтропии
otvet += ent;
}
Рис. 2 – Результат Вычислений
Результат вычислений зависит от случайных значений вероятностей.
Энтропия будет колебаться от 7 до 13 бит.
Вывод: в ходе лабораторной работы я выяснил, что энтропия зависит от
разностей вероятностей. Если все вероятности равны, то энтропия будет
максимальна и наоборот, если одна вероятность является максимальной, а
другие минимальны, то энтропия будет стремится к минимуму.
namespace Teor_i_kod_1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
var rand = new Random();
int i = 1;
double b = 1;
double otvet = 0;
double[] numbers = new double[26];
for(i=1; i<=26; i++)
{
double a = rand.NextDouble() * b;
//numbers[i] = a;
b = 1 - a;
double ent = a * Math.Log(a, 2);
otvet += ent;
}
L1.Content = - otvet + " Бит" ;
}
}
}
Download