|
|
|
Возможно ли восстановление данных?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Возникла задачка "восстановить" данные... Не могу дать математическое обоснование возможности данного восстановления. Сначала опишу задачу в общем, а потом приведу конкретный пример с "цифрами". Искомая выборка должна состоять из четырех полей: Expected(Field1, Field2, Field3, Quantity). По условию известны две группировки, которые были получены по искомым данным, а именно: Group13(Field1, Field3, Quantity) и Group23(Field2, Field3, Quantity). Иначе говоря, известные данные могут быть получены из искомых данных следующим образом: Код: sql 1. 2. 3. 4. 5. Теперь приведу "жизненный" пример. Для краткости введем обозначения: P - подрядчик, S - склад, N - номенклатура, Q - количество. Допустим, искомая выборка ("оригинальные данные", которые нужно восстановить) имеет следующий вид: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Известны значения двух группировок: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Интересует принципиальная возможность "восстановления". Заранее спасибо! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 10:10 |
|
||
|
Возможно ли восстановление данных?
|
|||
|---|---|---|---|
|
#18+
AlexMASИнтересует принципиальная возможность "восстановления" возможности нет * Ну сами поразмышляйте, возможно ли восстановить из числа 5 как оно получено? Это было 2+3, 3+2, 1+2+2, али еще какой вариант?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 11:39 |
|
||
|
Возможно ли восстановление данных?
|
|||
|---|---|---|---|
|
#18+
можно восстановить таблицу @expected таким образом, чтобы из нее можно было получить @givenPN и @givenSN. Да, с высокой долей вероятности можно утверждать, что такая таблица не будет соответствовать изначальной таблице, но возможно это и не нужно чтобы она точно соответствовала, возможно главное, что такая таблица хотя бы будет! :) - сумма по N из @givenPN = сумме по N из @givenSN summ(q) where N = 'N1' = 61 - необходимо получить все возможные сочетания P S N Так для N1 - это ('P1', 'S1', 'N1') ('P1', 'S2', 'N1') ('P2', 'S1', 'N1') ('P2', 'S2', 'N1') - последовательно обходим эти сочетания и вычисляем Q Q ('P1', 'S1', 'N1')+Q ('P1', 'S2', 'N1') = 50 Q ('P2', 'S1', 'N1')+Q ('P2', 'S2', 'N1') = 11 Q ('P1', 'S1', 'N1')+ Q ('P2', 'S1', 'N1') = 30 Q ('P1', 'S2', 'N1')+ Q ('P2', 'S2', 'N1') = 31 решаем систему уравнений... дополнительно можно наложить условие, что все Q>=0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2012, 12:46 |
|
||
|
Возможно ли восстановление данных?
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за участие. @ALKIR Определитель матрицы равен нулю, что говорит о бесконечном множестве решений, о котором говорил @kDnZP. К счастью, ситуация разрешилась тем, что в моей задаче "склад" завязан на конкретного (одного) "подрядчика". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2012, 07:13 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37674195&tid=1342422]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
143ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 392ms |

| 0 / 0 |
