Что определяет элементы, которые определяют разницу между двумя именуемыми массивами? - PullRequest
2 голосов
/ 15 ноября 2010

Я хочу выяснить, какие элементы двух массивов делают эти два массива разными.

Например, если я начинаю с

known_unacceptable_array = [bad, bad, good, good, good, bad, good]
known_acceptable_array = []

, а массив недопустим, только если есть триbad с (но я не знаю этого в то время), но я могу оценить, является ли массив приемлемым или неприемлемым, я хотел бы найти наименьший массив, который делает массив неприемлемым

possibly_minimal_unacceptable = [bad, bad, bad]
maximal_acceptable = [bad, bad] # Third bad required to make the array unacceptable

Как называется эта проблема, и какие существуют алгоритмы для этого?

Редактировать: Элементы не могут быть изменены по порядку, и добавление элемента может изменить только один из них.список от приемлемого до неприемлемого или не имеющий никакого эффекта - он не может изменить его с неприемлемого на приемлемый.

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

Ответы [ 2 ]

0 голосов
/ 16 ноября 2010

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

Я хочу определить, какие элементы двух массивов делают эти два массива различными.

Это комбинация трех операций объединения, пересечения и разности. Различные комбинации могут достичь одного и того же результата.

  • Дополнение - это подмножество A, которого нет в B.
  • Пересечение - это набор элементов, который находится как в A, так и в B, но не только в A или B.
  • Объединение - это подмножество в A или B (без дубликатов).

Звучит так, как будто вы хотите объединить оба дополнения, а именно:

A\B ∪ B\A

Или дополнение между пересечением и объединением:

A∩B \ A∪B

См. http://en.wikipedia.org/wiki/Set_operations_(Boolean) для получения дополнительной информации.

0 голосов
/ 15 ноября 2010

Что определяет элементы, которые имеют значение между двумя массивами называется?

Дифференцирование часто называют вычитание.

Я хочу определить, какие элементы двух массивов составляют два массива разные.

Опять же, это вычитание (по крайней мере, какая-то его форма):
Дано A = {x, y, z} B = {x, y a},
A - B = {z, -a}

или "только у A есть z, и только у B есть a", или "z и a" делают их отличается.

Например, если я начну с

known_bad = [bad, bad, good, good, good, bad, good] >
known_good = []

Зачем начинать с полного и пустого массива? Разве это не крайний случай, или эти "два массива" не два из которых вы пытаемся определить "разницу".

ally_minimal_bad = [плохо, плохо, плохо]
maximal_good = [плохой, плохой] # Третий плохой требуется, чтобы сделать список плохим

Это просто набор правил? Или это результат найти разницу между двумя массивами предыдущего (известно_ хорошо, плохо) установлено?

Как называется эта проблема, и какие существуют алгоритмы за это?

  1. Если это не называется "разница" или "вычитание", то почему представить это таким образом?
  2. Является ли проблема: a. собирается из первые два массива (known_xx) для вторых двух (min, max); или это: б. классификация конечных последовательностей слов «хорошо» и "плохо".
    а) я не вижу связи между первыми двумя массивы и вторые два. Как вы получили от первых двух ко второму?
    б) Классификация последовательности слов может быть «синтаксический анализ языка» или расшифровка сообщения, распознавание шаблон и т. д.

Это "Распознавание образов"?

Похоже, что вы ищете шаблон в тестовых входных данных (или контрольной точке) и его связь с отказом продукта, и хочу представлять отношения в некотором кодичном Форма для дальнейшего анализа. Или поиск корреляции между определенными контрольными точками и отказом продукта. Это делает этот вопрос скорее интересно. Тем не менее, изложение вопроса это довольно запутанно. Может быть, эти группы Уравнения можно объяснить немного подробнее, уточнив, связаны ли они, и если да, то: Каким образом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...