
- •Министерство образования и науки республики казахстан
- •Есик, 2012 Содержание
- •Абстракт
- •Abstract
- •Введение
- •§ 1. Как можно построить комбинационное число по порядковому номеру перестановки?
- •§ 1. Как можно построить комбинационное число по порядковому номеру перестановки?
- •§ 2. Как по комбинационному числу найти перестановку?
- •§ 3. Как по заданной перестановке определить комбинационное число?
- •Актуальность
- •Есть 6 полок
- •Есть 6 книг
- •Прикладное применение
- •Заключение
- •Литература
Введение
Комбинаторный анализ изучает комбинаторные объекты: перестановки, сочетания, размещения, графы, сети и т.д.
В большинстве случаев решаются такие задачи:
1) Перечисление комбинаторных объектов определенного вида.
2) Подсчет количества комбинаторных объектов определенного вида.
Для перечисления комбинаторных объектов, они упорядочиваются некоторым образом А1 А2 А3 . . . . . и т.д.
Как правило алгоритм перечисления с первого объекта А1, а затем используя свойства А1, строится объект А2 .После используя свойства А2 строится объект А3 и т.д.
Таким образом, чтобы построить объект Аk нужно строить последовательно объекты А1 А2 А3 . . . . А(k-1) , что требует большого объема вычислений.
В нашей работе предлагается метод, значительно сокращающий построения произвольного объекта Аk , на примере перестановок из элементов.
Перестановкой n-ой степени называется взаимное расположение чисел 1,2,3. . . . .n
Существует несколько алгоритмов перечисления перестановок n-ой степени. Один из них заключается в следующем: перестановки упорядочиваются в лексикографическом порядке. Пусть заданны перестановки
А= i1 i2 i3 . . .in, В= j1 j2 j3 . . . . jn. Считается, что А < В,
если i1 < j1.
Если же i1 = j1, сравниваются i2 и j2. В этом случае, если i2 < j2.
Если же i2 = j2, сравниваются i3 и j3. В этом случае А < В, если i3 < j3 и т. д.
Алгоритм перечисления при таком порядке следующий. Самым первым считается перестановка 1,2,3, . . . , n, где числа расположены в возрастающем порядке, а последним – перестановка n, (n-1), . . . , 2, 1, где числа расположены в убывающем порядке.
В этом алгоритме все перестановки перечисляются в возрастающем порядке.
Например:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
Цель настоящей работы состоит в том, чтобы найти алгоритм, позволяющий найти перестановку с заданным номером К в их лексикографическом упорядочении, не перечисляя предыдущих, что значительно сокращает вычисления. И обратно, по заданной перестановке определить её порядковый номер.
Анализ
Вопрос о том , сколькими способами можно расположить числа
1 2 3 4
Ответ 4! = 24. Есть 24 комбинации уже известные математикам. Что бы найти перестановку по ее порядковому номеру в лексикографическом упорядовачении, а также для нахождения порядкового номера заданной перестановки нам потребуется понятие комбинационного числа.
Для этого посмотрим, как работают системы счисления. В десятичной системе счисления единицы (цифры в самой правой позиции) меняются каждый шаг. Десятки(цифры на второй позиции справа) меняются каждый десятый шаг и так далее.
В шестнадцатиричной системе счисления единицы меняются каждый шаг. Десятки меняются каждый шестнадцатый шаг, а сотни – через 256 шагов и т.д.
Десятичная система работает следующим образом:
1
2
3 Место единиц меняется каждый шаг.
.. Место десятков меняется каждый десятый шаг.
..
10
..
20
Шестнадцатиричной система основана на основании 16:
1
..
9
A
B В шестнадцатиричной системе единицы
C меняют место каждый 16-ый шаг.
D
E
F
10
Одно сходство в этих двух системах - то, когда перечисляются все единицы,то меняется цифра состоящая в позиции десятков, когда меняются все цифры десятков,то меняются все цифры сотен и т.д... Есть ли способ выяснить сходство между десятичными числами и перестановками? Если перечислять перестановки в лексикографическом порядке,
1 2 3 4
1 2 4 3
1 3 2 4
1 3 4 2
1 4 2 3
1 4 3 2
2 1 3 4
2 1 4 3
...
...
то можно видеть, что в первой позициии (отсчет справа) числа изменяются каждый шаг (длина шага равна 0!=1 – число перестановок степени 0), во второй позиции также изменяются каждый шаг (длина шага равна 1!=1 – число перестановок степени 1), в третьей позиции каждый второй шаг (длина шага равна 2!=2 – число перестановок степени 2), а в четвертой позиции числа меняются через шесть шагов (длина шага равна 2!=6 – число перестановок степени 3) и т.д. Есть сходство с десятичной и шестнадцатиричной системой, но есть и различие. Попытаемся найти условие изменения чисел в каждой позиции.
- В десятичной системе отношения следующие: ×1 ×10 ×100 ×1000
- В шестнадцатиричной системе отношения следующие: ×1 ×16 ×256
- Настоящая система в комбинационном порядке такова: ×1×1 ×2 ×6 ×24 ×120 и т.д.
- Видно, что шаги изменения чисел равны факториалам: 0!, 1!, 2!, 3!, ...
0! = 1
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
ПОРЯДОК
4! = 24 3! = 6 2! = 2 1! = 1 0! = 1
0. |
|
|
|
5 |
|
|
|
4 |
|
|
|
3 |
|
|
|
2 |
|
|
1 |
1. |
|
|
|
5 |
|
|
|
4 |
|
|
|
3 |
|
|
|
1 |
|
|
2 |
2. |
|
|
|
5 |
|
|
|
4 |
|
|
|
2 |
|
|
|
3 |
|
|
1 |
3. |
|
|
|
5 |
|
|
|
4 |
|
|
|
2 |
|
|
|
1 |
|
|
3 |
4. |
|
|
|
5 |
|
|
|
4 |
|
|
|
1 |
|
|
|
3 |
|
|
2 |
5. |
|
|
|
5 |
|
|
|
4 |
|
|
|
1 |
|
|
|
2 |
|
|
3 |
6. |
|
|
|
5 |
|
|
|
3 |
|
|
|
4 |
|
|
|
1 |
|
|
2 |
7. |
|
|
|
5 |
|
|
|
3 |
|
|
|
4 |
|
|
|
2 |
|
|
1 |
8. |
|
|
|
5 |
|
|
|
3 |
|
|
|
2 |
|
|
|
1 |
|
|
4 |
9. |
|
|
|
5 |
|
|
|
3 |
|
|
|
2 |
|
|
|
4 |
|
|
1 |
10. |
|
|
|
5 |
|
|
|
3 |
|
|
|
1 |
|
|
|
2 |
|
|
4 |
11. |
|
|
|
5 |
|
|
|
3 |
|
|
|
1 |
|
|
|
4 |
|
|
2 |