Вопросы по теме 'bitvector'

Как найти алгоритм для тройки 1 в битвекторе за O (nlog (n)) с разделением и победой без БПФ?
У меня сегодня был экзамен по алгоритмам, и перед нами стояла следующая задача. На самом деле я не решал это, но знаю, что мне действительно интересно, как это работает. Задача: у нас есть битовый вектор s, и мы хотим знать, есть ли в нем тройки,...
59 просмотров

Использование перезаписи терминов в процедурах принятия решений для бит-векторной арифметики
Я работаю над проектом, целью которого является использование переписывания терминов для решения / упрощения арифметических задач с битовым вектором фиксированного размера, что полезно сделать в качестве предварительного шага к некоторой процедуре...
1174 просмотров
schedule 27.04.2022

Быстрое создание 32-битного хеш-кода, однозначно идентифицирующего структуру, состоящую (в основном) из примитивных значений.
РЕДАКТИРОВАТЬ: 64 или 128 бит также будут работать. Мой мозг по какой-то причине переключился на 32-битную версию, думая, что этого будет достаточно. У меня есть структура, состоящая в основном из числовых значений (int, decimal) и 3 строк,...
1353 просмотров
schedule 30.09.2022

как устранить арифметику битвекторов в Z3
Я пытаюсь использовать z3, чтобы исключить выражение not ((not x) add y) что равно x sub y с помощью этого кода : (declare-const x (_ BitVec 32)) (declare-const y (_ BitVec 32)) (assert (= (bvnot (bvadd (bvnot x) y)) (bvsub x...
611 просмотров
schedule 24.01.2023

(Z3Py) Concat, квантификаторы и битовые векторы
Можно ли использовать кванторы с битовыми векторами и конкатенациями? Чтобы проиллюстрировать это, запустим следующий код в новейшей версии Z3: a = BitVec('a', 8) b = Concat(BitVec('b', 4), BitVec('c', 4)) prove(ForAll(a, Exists(b, a == b)))...
979 просмотров
schedule 26.10.2022

Решение уравнений с использованием логики высказываний
Я ищу идеи о том, как кодировать математические уравнения в форму cnf-sat, чтобы их можно было решить с помощью SAT-решателя с открытым исходным кодом, такого как MiniSat. Итак, как мне преобразовать что-то вроде: 3x + 4y - z = 14 -2x - 4z...
350 просмотров
schedule 13.02.2023

Битвекторная арифметика на Z3
Я пытаюсь использовать Z3 для решения арифметических уравнений с использованием битвекторной арифметики. Мне было интересно, есть ли способ обрабатывать также реальные числа. Например, если я могу указать константу, отличную от #x1, и вместо этого...
482 просмотров
schedule 21.01.2023

z3 преобразование из битовых векторов в целые числа
Есть несколько сообщений, касающихся преобразования битовых векторов в целые числа (и наоборот) в z3. См., Например, здесь , здесь и здесь . В документации говорится, что Z3_mk_bv2int не интерпретируется: «... Эта функция, по...
952 просмотров
schedule 19.07.2023

Битвекторные операции невозможны
Я хочу выполнить операцию xor над двумя BitVectors. При попытке превратить одну из строк в битовый вектор, чтобы затем перейти к операции xor, я получаю следующую ошибку: ValueError: invalid literal for int() with base 10: '\x91' Как я могу...
58 просмотров
schedule 19.11.2023

Как посчитать количество положительных битов без каких-либо сдвигов?
Некоторое время назад во время собеседования меня попросили вычислить количество положительных (т.е. установленных в "1") битов в структуре битового вектора (например, целое число без знака или длинное). Мое решение было довольно простым на C #:...
1048 просмотров
schedule 29.11.2023