Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 14.10.2019
Сообщений: 16

Восстановить бинарную матрицу по суммам строк и столбцов

31.01.2020, 20:58. Показов 3590. Ответов 25

Студворк — интернет-сервис помощи студентам
Здравствуйте

Имеется такая задача. Дана бинарная матрица размером MxN, т.е. ее элементами могут быть или нули, или единицы. Для матрицы известна сумма элементов по столбцам, и по сторам. По сути, это значит, что в сумма элементов в строке равна числу единиу в строке. Задача: восстановть матрицу, т.е. расставить единицы по матрице, чтобы суммы были верны. Любую сумму в строке или столбце можно разбить не более чем на 2 элемента: т.е. если сумма элементов строки равна 3, то это будут пары 2+1, или 1+2, если 4 - то 1+3, 2+2, 3+1, и т.д. для остальных элементов. Последовательность элементов больше 1 всегда идут друг за другом (если 2, значит в двух ячейках подряд цифра 1).

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

В какую сторону копать?

Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.01.2020, 20:58
Ответы с готовыми решениями:

Построить матрицу, у которой элементы побочной диагонали равны суммам элементов соответствующих столбцов
Ввести квадратную матрицу D(k,k), Построить матрицу D1(k,k), у которой элементы побочной диагонали равны суммам элементов соответствующих...

Создать матрицу, где элементы побочной диагонали равны суммам элементов столбцов исходной матрицы
Ввести квадратную матрицу D(k,k), Построить матрицу D1(k,k), у которой элементы побочной диагонали равны суммам элементов соответствующих...

Преобразовать матрицу X(n,m) в матрицу X(a,b) путём удаления лишних строк и столбцов
Преобразовать матрицу X(n,m) в матрицу X(a,b) путём удаления лишних строк и столбцов (n>a,m>b). Порядок удаления: 1) с начала; ...

25
0 / 0 / 0
Регистрация: 14.10.2019
Сообщений: 16
07.02.2020, 08:16  [ТС]
Студворк — интернет-сервис помощи студентам
Во вложении 2 файла для шестиугольного сплошного алюминиевого профиля. Тот, который с нечеткими границами и россыпью пикселей - иттерационный метод. Тот который почетче - после некоторых ухищрений. Это по 2 проекциям. По 5 или 8 - вообще сказка была бы, но 5 и 8 проекций стоит намного дороже.

0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
07.02.2020, 12:17
Это вы купили установку а алгоритма обработки кадра или софта не было? Или софт просто дорого и не купили? =)
Цитата Сообщение от eskofen Посмотреть сообщение
Это по 2 проекциям.
А зачем нужен рентген рисующий абстрактную кашу из пикселей вместо изображения? Какую инфу он вообще несет? Или это дальше очень сложная обработка и из каши пикселей получают полезную инфу о форме?
Цитата Сообщение от eskofen Посмотреть сообщение
По 5 или 8 - вообще сказка была бы
А нельзя поворачивать рентген в N положений?
https://ru.wikipedia.org/wiki/Мальтийский_механизм
Это у вас рентген в параллельных лучах?
А если запускать каждый излучатель по очереди а преемники использовать все что есть, будет веерный рентген от одной точки. Получается много ракурсов и по идее сильно вырастает разрешение.
Может сработают не все приемники а пару соседних. Совершенно другой алгоритм обработки.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
07.02.2020, 12:48
Если наклонить рентген под углом к трубе то можно использовать все датчики по одной оси.
Изменяя угол наклона можно задействовать всегда все датчики в зависимости от диаметра трубы.
Название: ScreenShot00709.jpg
Просмотров: 20

Размер: 19.4 Кб
0
5532 / 2885 / 573
Регистрация: 07.11.2019
Сообщений: 4,809
07.02.2020, 18:05
eskofen, если картинка 200x200 и решение только одно, то достаточно обратить разреженную симметричную матрицу из единиц и нулей размером 40000x40000...

Добавлено через 3 минуты
Вот решалась похожая задача
Необходимо по таблице, в которой посчитана сумма яркостей, восстановить исходную таблицу

Добавлено через 10 минут
А вообще, Excalibur921, прав. Это преобразование Радона. На эту тему есть масса специальной литературы по восстановлению изображения из проекций.
0
0 / 0 / 0
Регистрация: 14.10.2019
Сообщений: 16
07.02.2020, 19:12  [ТС]
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Это вы купили установку а алгоритма обработки кадра или софта не было? Или софт просто дорого и не купили? =)
мы группа в нии. Есть возможность попробовать стартануть в новой теме. Если получится, потенциальный потребитель на это добро тоже есть. т.е. есть возможность попробовать без рисков. Как-то так.

Цитата Сообщение от Excalibur921 Посмотреть сообщение
А зачем нужен рентген рисующий абстрактную кашу из пикселей вместо изображения? Какую инфу он вообще несет? Или это дальше очень сложная обработка и из каши пикселей получают полезную инфу о форме?
Геометрия установки откалибрована. Это бинарное изображение. отметки по осям - реальное положение сплошного объекта в установке. Дальше предполагается обработка сего добра с определением всех параметров режиме реалтайм. Реальная задача - получить профиль трубы (с закрытым контуром) с целью дефектовки ее внутреннего пространства.

Цитата Сообщение от Excalibur921 Посмотреть сообщение
Если наклонить рентген под углом к трубе то можно использовать все датчики по одной оси.
Изменяя угол наклона можно задействовать всегда все датчики в зависимости от диаметра трубы.
источник рентгена и датчики расположены так, чтобы все всегда было задействовано. Труба движется всегда по нормали к плоскости излучения.

Цитата Сообщение от u235 Посмотреть сообщение
Это преобразование Радона.
Преобразование радона используют когда надо пересчитать трассировку для большого числа проекций, зная центр системы, положение источника и приемника. У меня проекций 2. Увы.

Цитата Сообщение от u235 Посмотреть сообщение
На эту тему есть масса специальной литературы по восстановлению изображения из проекций.
они все делятся на группы. Когда есть синограмма, и когда есть только пара проекций. Второй случай - итерационные методы преимущественно (различные вариации метода отжига и генетических алгоритмов). В моем случае мы имеем некую априорную информацию (труба), что возможно можно использовать в каких-то специфических быстрых методах реконструкции ))
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
07.02.2020, 23:02
Цитата Сообщение от eskofen Посмотреть сообщение
получить профиль трубы
Каша пикселей это далеко не профиль…

Цитата Сообщение от eskofen Посмотреть сообщение
имеем некую априорную информацию (труба)
Может обработка проекций вообще не нужна?
По идее выход тут только брать эталонную трубу и не похожесть каши пикселей или даже просто проекций от эталона и брака есть критерий оценки… Единственно нужно наверно одинаковая ориентация эталона и исследуемого тела.

Добавлено через 1 час 3 минуты
Цитата Сообщение от Excalibur921 Посмотреть сообщение
обработка проекций вообще не нужна?
Как вариант зная форму и размеры трубы сделать параметрическую модель и имитировать просвечивание для синтеза искусственных проекций в проге. Подбирая угол поворота и координаты центра модели трубы найти минимум разности проекций синтезированной и настоящей, это ориентирует модель в положение настоящей трубы. Численный минимум трех неизвестных. Если минимум больше некоторого порога то это брак. Это качественная мера.

Для количественной оценки нужно чтобы совпадало положение модели трубы и настоящей.
Тогда изменяя толщину в одном из участков модели сверять проекции модели и реальной трубы.
Тогда по идее можно найти где брак и его размер.

Добавлено через 1 час 38 минут
Цитата Сообщение от Excalibur921 Посмотреть сообщение
минимум трех неизвестных
Если форма кривой проекции слабо чувствительна к сдвигу трубы( очень узкие диаграммы направленности излучения) по XY то будет 1 неизвестная вместо 3, просто угол поворота модели трубы.

Тогда так:
Задана математическая модель трубы.
Получаем проекции реальной трубы.
Ищем угол поворота модели(минимум 1 неизвестной) сверяя искусственные проекции от модели и настоящие от рентгена.
Если проекции похоже то брака нет. Зная в каком месте проекции графики не похоже там и брак.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.02.2020, 23:02

Заполнить матрицу из 7 строк и 7 столбцов
Заполнить матрицу из 7 строк и 7 столбцов случайными числами в интервале от -10 до 10 и вывести её на экран.Обнулить элементы , отмеченные...

Сортировка столбцов матрицы по суммам элементов
Не знаю, как сделать сортировку столбцов, по суммам элементов. Задание: Написать программу, которая создает динамическую матрицу...

Создать квадратную матрицу из N строк и N столбцов
создать квадратную матрицу из N строк и N столбцов состояшию из натуральных чисел Зеркально отобразите ее относительно побочной диаганали и...

создать квадратную матрицу из N строк и N столбцов
создать квадратную матрицу из N строк и N столбцов состояшию из натуральных чисел Зеркально отобразите ее относительно побочной диаганали...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru