русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Предварительные сведения


Дата добавления: 2015-07-23; просмотров: 522; Нарушение авторских прав


 

Целью комбинаторики является изучение комбинаторных конфигураций – конструкций, построенных из элементов некоторого (как правило, конечного) множества в соответствии с заданными правилами. Важный класс комбинаторных задач составляют задачи перечисления и, в частности, определения числа конфигураций данного типа. Простейшими примерами комбинаторных конфигураций являются перестановки, размещения и сочетания, представляющие собой различного рода выборки.

Конечное множество, содержащее n элементов, в комбинаторике принято называть n-множеством. Различают упорядоченные и неупорядоченные выборки из n-множества, выборки с возвращением и выборки без возвращения. К числу основных задач комбинаторики относятся задачи подсчета числа выборок заданного типа и заданного объема из произвольного n-множества.

Решение многих комбинаторных задач основывается на двух фундаментальных правилах, называемых соответственно правилами суммы и произведения.

 

Правило суммы. Если X1 и X2 – непересекающиеся конечные множества, содержащие соответственно n1 и n2 элементов, то


 

 

объединение X1∪X2 содержит n1 + n2 элементов.

 

Сформулированное правило можно распространить на случай произвольного числа слагаемых:

если множества X1, X2, …,Xk образуют разбиение множества X, то n = n1 + n2 +…+ nk, где n = |X| число элементов множества X, а ni = |Xi| – число элементов множества Xi, i = 1, 2,…, k.

Правило суммы можно приспособить и для подсчета числа элементов объединения двух множеств с непустым

пересечением:

 

|X1∪X2| = |X1| + |X2| – |X1∩X2|. (1)

 

В самом деле, множества X1\X2 и X1∩X2 образуют разбиение множества X1, поэтому

|X1| = |X1\X2| + |X1∩X2|.

 


Аналогично


 

|X2| = |X2\X1| + |X1∩X2|.




 

Кроме того, множества X1\X2, X2\X1 и X1∩X2 образуют разбиение множества X1∪X2, так что

|X1∪X2| = |X1\X2| + |X2\X1| + |X1∩X2|.

 

Соотношение (1) является следствием трех последних формул.

 

Формула (1) обобщается на произвольное число слагаемых с помощью так называемого принципа включения и исключения (см. п. 8.4).

Пример.Найдем число правильных несократимых дробей со знаменателем 100. Числителем правильной несократимой


 

 

дроби со знаменателем 100 должно быть целое число в промежутке от 1 до 100, не имеющее среди своих делителей чисел 2 и 5. Обозначим через X2, X5 и X10 множества чисел из промежутка от 1 до 100, делящихся соответственно на 2, на 5 и на 10. Легко видеть, что |X2| = 100/2 = 50 и |X5| = 100/5 = 20 и

|X10| = 100/10 = 10. Так как X2 ∩X5 = X10, то по формуле (1)

 

получаем |X2 ∪ X5| = 50 + 20 – 10 = 60. Таким образом, среди чисел от 1 до 100 имеется 60 чисел, делящихся на 2 или 5, и

100 – 60 = 40 чисел, взаимно простых с числом 100. Следовательно, среди правильных дробей со знаменателем 100 ровно 40 являются несократимыми.

 

Правило произведения. Будем рассматривать упорядоченные наборы (кортежи) вида (a1, a2,…, ak) заданной длины k. Предположим, что элемент a1 может быть выбран n1 способами; при фиксированном a1 элемент a2 может быть выбран n2 способами; при фиксированных a1 и a2 элемент a3 может быть выбран n3 способами и т. д. (при фиксированных a1, a2,…, ak–1 элемент ak может быть выбран nk способами). Тогда число различных кортежей равно произведению n1n2⋅…⋅nk. В частности, по правилу произведения для конечных множеств X1, X2, …, Xk имеем:

|X1X2…Xk| = |X1||X2|…|Xk|.

 

Пример.Используя правило произведения и правило суммы, найдем число различных трехзначных чисел, не


 

 

содержащих одинаковых цифр, и число различных трехзначных чисел, содержащих хотя бы две одинаковые цифры.

Пусть a1, a2, a3 – цифры трехзначного числа. Первую цифру a1 можно выбрать девятью способами (в качестве нее можно взять любую цифру, кроме нуля); при фиксированной первой цифре вторую цифру a2 можно выбрать также девятью способами (в качестве нее можно взять любую цифру, кроме a1); наконец, при фиксированных первой и второй цифрах третью цифру можно выбрать восемью способами. По правилу произведения число трехзначных чисел, не содержащих одинаковых цифр, равно 9⋅9⋅8 = 648. Всего имеется 900 различных трехзначных чисел. Каждое из них либо содержит две одинаковых цифры, либо нет. Следовательно, имеется 900 –

648 = 252 различных трехзначных числа, содержащих хотя бы две одинаковые цифры.

 

 

Факториалы. Напомним, что факториалом целого положительного числа n (обозначение n!) называется произведение 1⋅⋅⋅n. По определению считается, что 0! = 1. Факториал как функция натурального аргумента может быть однозначно определен рекурсивно:

0! = 1; (n + 1)! = n!⋅(n + 1).

 

Приближенное значение n! при больших n дает следующая

 

формула Стирлинга:


 

 

n n


n! ∼


n


 . (2)


e

 

Символ ∼ означает здесь, что отношение

 

n n


n


 /n!


e

стремится к единице при n, стремящемся к бесконечности. Хотя разность правой и левой частей в формуле Стирлинга неограниченно возрастает, относительная ошибка быстро убывает. Например, уже при n = 10 относительная ошибка составляет менее одного процента:

 

 10 10


10! = 3628800;


2р ⋅10 ⋅ 

e


≈ 3598696.


 

 



<== предыдущая лекция | следующая лекция ==>
Логическое представление турнирных функций выбора | Размещения и перестановки


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.202 сек.