2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Упорядочить ряд чисел методом случайного выбора пары чисел
Сообщение21.09.2020, 14:03 


31/08/20
6
Есть ряд натуральных чисел от 1 до 10, записанный в произвольном порядке (например 1, 2, 6, 5, 10, 3, 8, 9, 7, 4). Мы выбираем два случайных места в этом ряду и смотрим: если число в правом месте меньше чем в левом, то меняем эти числа местами, если нет, ничего не делаем. Вопрос: как найти среднее число таких операций случайного выбора для упорядочивания заданного ряда в порядке возрастания? На вход должны подаваться от 1 до 40 таких рядов. Время а на выходе среднее число шагов для каждого поданного ряда, необходимых для упорядочивания. Время выполнения программы не должно превышать 3 секунд.

Моё текущее решение данной задачи на примере более простом следующее: пусть есть такой ряд: [1, 2, 4, 3] (пример 1), тогда есть 6 возможных вариантов выпадения пар чисел, из них подходит только один, поэтому в среднем необходимо 6 операций:
[1, 2, 4, 3] -> (6) -> [1, 2, 3, 4]

Пусть теперь есть такой ряд: [1, 3, 4, 2], здесь опять имеем 6 возможных вариантов выпадения пар чисел, из них существует два варианта, при выпадении которых мы меняем числа местами, значит, чтобы сделать это нужно в среднем 3 шага (отношение общего числа шагов к числу, нас интересующему):
[1, 3, 4, 2] -> (3) -> ([1, 2, 3, 4] , [1, 3, 2, 4])
Здесь две получившиеся последовательности упорядочиваются в среднем за 6 шагов (пример 1), поэтому среднее число упорядочить исходную последовательность есть сумма с весовыми коэффициентами всех возможных продвижений и равно 9.

Такой подход хоть и работает но очень медленный, так как предполагает обход всех вариантов, а это составляет около 10! Есть ли какие-либо идеи, как можно посчитать иначе и быстрее?

 Профиль  
                  
 
 Re: Упорядочить ряд чисел методом случайного выбора пары чисел
Сообщение21.09.2020, 14:07 
Заслуженный участник
Аватара пользователя


13/08/08
14495
я бы смоделировал и посмотрел. если теоретически, то попробуйте для двух, трёх чисел.

 Профиль  
                  
 
 Re: Упорядочить ряд чисел методом случайного выбора пары чисел
Сообщение21.09.2020, 15:22 


31/08/20
6
я моделировал, получается ряд чисел от 45 до 140 примерно. при более короткой последовательности (от 1 до 4) получается следующий ряд: 6; 8; 9; 9,6; 10,5; 11; 11,2.

 Профиль  
                  
 
 Re: Упорядочить ряд чисел методом случайного выбора пары чисел
Сообщение21.09.2020, 16:12 


20/03/14
12041
goza
Задача не для олимпиадного раздела. Попробуйте привести более содержательные попытки решения.

 Профиль  
                  
 
 Posted automatically
Сообщение21.09.2020, 16:12 


20/03/14
12041
 i  Тема перемещена из форума «Олимпиадные задачи (М)» в форум «Карантин»
по следующим причинам:


- отсутствуют собственные содержательные попытки решения задач(и).

Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.

 Профиль  
                  
 
 Posted automatically
Сообщение22.09.2020, 12:24 


20/03/14
12041
 i  Тема перемещена из форума «Карантин» в форум «Computer Science»

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group