2017-01-31 16 views
3

Мне интересно, что такое имя алгоритма решения, которое делает не возвращает «да» или «нет», но может решить только «да» для реального подмножества входов и не может дать окончательное решение для остальных ,Каково имя алгоритма решения, отвечающего «да» или «возможно»?

Подходящим примером будет алгоритм для решения обратимости матрицы - мой алгоритм правильно отвечает «да» для подкласса матриц, но не может ни подтвердить, ни опровергнуть его для остальных.

На мой взгляд, это (своего рода) звук под аппроксимацией реального ответа, но Википедия определяет алгоритм аппроксимации только в областях оптимизации.

Благодарим вас за ввод!

+1

"Неполный"? Btw, обратимость матрицы является «разрешимой», поэтому алгоритмы, которые могут решить, что они полностью существуют;) – Lagerbaer

+1

Этот вопрос может быть лучше подходит для [cs.SE], чем StackOverflow. –

+0

@ Lagerbaer (я думаю), что OP больше связан с терминологией реального алгоритма, чем с проблемой. Разрешимые, полуразрешаемые и т. Д. И т. Д. Все в порядке для классификации проблем. – miradulo

ответ

1

Возможно, речь идет о рандомизированных/вероятностных алгоритмах или рандомизированных структурах данных.

Алгоритмы, которые вероятностно определяют, является ли число простым или нет (a primality test), являются примерами таких рандомизированных алгоритмов. Алгоритм Миллера-Рабина является конкретным примером.

Структуры данных могут быть построены для использования вероятности некоторых операций. A bloom filter - одна такая вероятностная структура данных.

+0

Нет, нет вероятностного аспекта этого алгоритма - для некоторого ввода i результатом алгоритма является всегда одно и то же. –

1

Las-Vegas algorithms что-то очень похоже: если алгоритм Лас-Вегаса завершается, результат верный. Если это не так - это ваш «возможно».

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