2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Линейное неравенство с целыми неотрицательными коэфф-тами
Сообщение20.11.2019, 20:48 
Заслуженный участник
Аватара пользователя


28/04/16
2395
Снаружи ускорителя
Добрый день.

Прошу прощения за беспокойства.
Имеется функция
$E = \sum_{i=1}^{N_a} n_{i} A_i + \sum_{j=1}^{N_b} m_{j} B_j$ с целыми $n_i, m_j \geq 0$, $A_i \leq A_{i+1}$, $B_j \leq B_{j+1}$ и условиями $
\begin{cases}
 \sum_i n_i = N \\
 \sum_j m_j = M  
\end{cases}
$
Я хочу перебрать все решения неравенства
$E - E_{\min} \leq \Delta E$
при заданном $\Delta E$.
Пытался решить эту проблему методом МК, генерируя разные перестановки минимального набора $n_i,m_j$, но так получается куча решений, который мне не нужны. Можно ли как-то эту задачу поумнее поставить/более адекватно решить?

 Профиль  
                  
 
 Re: Линейное неравенство с целыми неотрицательными коэфф-тами
Сообщение20.11.2019, 22:20 
Заслуженный участник


18/01/15
3229
madschumacher в сообщении #1426968 писал(а):
Пытался решить эту проблему методом МК, генерируя разные перестановки минимального набора $n_i,m_j$, но так получается куча решений, который мне не нужны.

Мне в этой фразе не понятно ни одного слова. Можете написать подробнее, с каким-нибудь маленьким примером ?

Еще вопрос для контроля, что я правильно постановку задачи понимаю. Верно ли, что $E_{\min}=NA_1+MB_1$ ?

 Профиль  
                  
 
 Re: Линейное неравенство с целыми неотрицательными коэфф-тами
Сообщение20.11.2019, 23:39 
Заслуженный участник
Аватара пользователя


28/04/16
2395
Снаружи ускорителя
vpb в сообщении #1426974 писал(а):
Еще вопрос для контроля, что я правильно постановку задачи понимаю. Верно ли, что $E_{\min}=NA_1+MB_1$ ?

Спасибо большое, хороший вопрос, показывающий, что я опять намудрил с упрощением, в частности забыв важное условие.
Больше я так делать не буду, поэтому напишу физическую задачу, которая, надеюсь, будет иметь понятную постановку.

Итак, имеется система электронов из $N$ электронов, из них $N_\uparrow$ имеют спин "вверх", а $N_\downarrow$ -- "вниз" ($N = N_\uparrow + N_\downarrow$). Первые могут сидеть в ячейках с энергиями $\{ \varepsilon_i^\uparrow \}_{i=1}^{M_\uparrow}$, а другие в ячейках с энергиями $\{ \varepsilon_j^\uparrow \}_{j=1}^{M_\downarrow}$, причём для упрощения энергии ячеек можем считать упорядоченными ($\varepsilon_i \leq \varepsilon_{i+1}$). В каждой ячейке может сидеть только один электрон, перестановка электронов не меняет состояния. Таким образом полная энергия состояния даётся формулой
$E = \sum_{i=1}^{M_\uparrow} n_i^\uparrow \varepsilon_i^\uparrow  + \sum_{j=1}^{M_\downarrow} n_j^\downarrow \varepsilon_i^\downarrow$,
где числа заселённости ячеек $n$ могут принимать значения 0 и 1, соответственно, $\sum_{i=1}^{M_\uparrow} n_i^\uparrow = N_\uparrow$ и $ \sum_{j=1}^{M_\downarrow} n_j^\downarrow = N_\downarrow$.
Минимальной является энергия $E_{\min}$, когда $n_1^q = n_2^q = \ldots = n_{N_q}^q = 1$ и $n_{N_q+1}^q = \ldots = n_{M_q}^q$ ($q = \uparrow, \downarrow$), т.е. заняты только ячейки с наименьшими энергиями.

Похожую задачу (но с непрерывными заселённостями) я уже постил раньше (https://dxdy.ru/topic131010.html).
Соответственно, вопрос состоит в том, чтобы найти все возбуждённые состояния (т.е. состояния с энергией больше или равной минимальной) с энергией меньше заданной разницы $\Delta E$ ($E - E_{\min} \leq \Delta E$).

Перебор всех перестановок, к сожалению, не работает, т.к. ячеек может быть достаточно много. Поэтому я находил ячейку, максимально достижимую с последней занятой, ограничивался только ячейками ниже неё по энергии, и пытался гнать Монте-Карло, перебирая случайные перестановки. К сожалению, лишних (не удовлетворяющих неравенству) состояний всё ещё слишком много и они забивают всю статистику.

 Профиль  
                  
 
 Re: Линейное неравенство с целыми неотрицательными коэфф-тами
Сообщение21.11.2019, 21:13 
Заслуженный участник


03/01/09
1701
москва
Все же нужны еще некоторые подробности. Конечно или бесконечно число уровней? Как соотносятся энергии $\varepsilon _i $ и $\Delta E$?
Например, приведенному условию не противоречит вариант: число уровней бесконечно и $\varepsilon _1=\varepsilon _2=\cdots =\varepsilon _i=\cdots, \varepsilon _1N<\Delta E$. В этом случае число решений неравенства может быть бесконечно.

 Профиль  
                  
 
 Re: Линейное неравенство с целыми неотрицательными коэфф-тами
Сообщение21.11.2019, 23:03 
Заслуженный участник


10/01/16
2318
madschumacher в сообщении #1426982 писал(а):
Поэтому я находил ячейку, максимально достижимую с последней занятой, ограничивался только ячейками ниже неё по энергии, и пытался гнать Монте-Карло

Зачем сразу МонтеКарло? Ведь получается такая же задача - так рекурсивно ее и решать...
Т.е., план такой :
1. находим макимально возможный уровень для "вверх",
2. (цикл пошел) суем туда электрон, и решаем такую же задачу для оставшихся (электронов и остатка энергии);
перекладываем главный электрон на меньший уровень, и решаем такую же задачу;
и т.д... (только надо будет запретить электроны класть выше главного)
3. (внутренний цикл пошел) внешний цикл закончит работу, когда все электроны "вверх" займут какие-то позиции. Теперь то же делаем с теми, кто "вверх"....

(Оффтоп)

А вот если уровни - просто степени двойки, то количество комбинаций можно найти явно. Скажем, если есть только "вверх", то кол-во комбинаций считается...

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

Модераторы: Модераторы Математики, Супермодераторы



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

Сейчас этот форум просматривают: eugensk


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

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