2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3
 
 Re: Количество различных подмножеств множества подмножеств
Сообщение29.08.2018, 01:27 


27/02/13
35
Поскольку maxal ввёл аппарат бинарных матриц, то приведу описание задачи через бинарные матрицы и операции с ними.

Пусть $C$ - бинарная матрица размера $[n \times m]$, где $m = 2^n-1$, причём матрица $C$ состоит из блоков — матриц $C^k$, где $k \in [1..n]$, а размер блоков $[n \times C^k_n]$, где $C^k_n$ - биноминальный коэффициент.

Пример для n=3:

$C = \begin{vmatrix} 1 & 0 & 0\\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{vmatrix}\begin{vmatrix} 1 & 1 & 0\\ 1 & 0 & 1 \\ 0 & 1 & 1 \end{vmatrix}\begin{vmatrix} 1 \\ 1 \\ 1 \end{vmatrix}$

Столбец такой матрицы - это элемент покрытия множества $U$, $|U|=n$.

Бинарный вектор $v^{Ax}$ - это выбор конкретного покрытия множества $U$.

Тогда мы можем сформулировать требования к вектору $v_{Ax}$:

1. $\forall C_i, C_i$ AND $v^{Ax} \ne 0$ - это требование "быть покрытием", а $C_i$ - $i$-ая строка матрицы $C$

2. $\forall C_i, C_j, j>i, (C_i$ XOR $C_j)$ AND $v^{Ax} \ne 0$ - это требование "быть Т0-покрытием"

3. Для любых двух векторов-аксиом не существует такой перестановки строк матрицы $C$, что для любой строки матрицы $C$ битовое AND до и после перестановки с одним и другим вектором-аксиомой равны друг другу.

Третье условие муторно записывать в математической нотации, пишу "заклинание".

Для того, чтобы уйти от полного перебора в п.3 заметим, что из всего класса эквивалентных аксиом нам нужно выбрать одного представителя по какому-то критерию. С учётом введенных обозначений таким критерием может быть минимальным числом, представленным двоичной записью вектора-аксиомы.

Будем представлять вектор-аксиому как набор n векторов-компонент $v^{Ax}_k$, соответствующих блокам матрицы $C$.

Тогда очевидно, что если [i+1..n] векторов-компонент пусты, а $v^{Ax}_i$-й вектор-компонент содержит $p$ единиц (бит), то вид этого компонента будет $|1…10…0|$ (младший разряд находится слева).

Такой подход к блочному представлению и поиску минимального числа - представления вектора-аксиомы позволяет немного "сэкономить" на переборах. Плюс разбивает задачу на поиск минимальных векторов - представителей класса эквивалентных аксиом - на подзадачи, где каждая подзадача определена кортежем из количества бит в каждом векторе-компоненте.

Если найден некоторый минимальный вектор с нулевыми [i+1..n] компонентами, то добавление i-ой компоненты с m битами также образует минимальный вектор. Но такой способ построения, по крайней мере, в однопроходном варинте, не даёт возможность построить все вектора-аксиомы — представителей классов эквивалентных векторов.

Однако мы можем ограничить число операций по проверке перестановок: мы можем проверять минимальность не всего вектора, а покомпонентно.

Пусть $\mathfrak{B}$ - матрица$[n \times n]$ перестановок строк, а $\mathfrak{P}$ - матрица$[m \times m]$ перестановок столбцов.

Тогда $\mathfrak{B} \times C = C \times \mathfrak{P}$, а $v^{Ax} = (v^{Ax}_{perm})^T \times \mathfrak{P}$

По условию поиска минимального элемента, перестановка $\mathfrak{B}$ должна быть такой, чтобы старший ненулевой компонент вектора-аксиомы сохранял свою структуру: $|1…10…0|$.

Это означает, что $\mathfrak{P}$ имеет блочный вид: $\begin{pmatrix} \mathfrak{P}^' & O\\ O & E \end{pmatrix}$, где $\mathfrak{P}^'$ - матрица $[p \times p]$ - матрица перестановки первых $p$ столбцов для которых старший ненулевой вектор-компонент имеет 1.

Тогда $\mathfrak{B} = C \times \mathfrak{P} \times C^{+}$, где $C^{+}$ - псевдообратная матрица к $C$

Что можно сказать о структуре матрицы перестановки строк $\mathfrak{B}$ ?

Возможно ли в рамках изложенного сформулировать задачу динамического программирования, например?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3

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



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

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


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

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