Jacob Beck

36 papers A* 5A 1B 3Misc 1Journal 23Unranked 3
YearRankTypeTitle / Venue / Authors
2025 J jnl
CoRR
Amir Moeini, Jiuqi Wang, Jacob Beck, Ethan Blaser, Shimon Whiteson, Rohan Chandra, Shangtong Zhang
2025 J jnl
Found. Trends Mach. Learn.
Jacob Beck, Risto Vuorio, Evan Zheran Liu, Zheng Xiong, Luisa M. Zintgraf, Chelsea Finn, Shimon Whiteson
2025 J jnl
CoRR
Jacob Beck, Stephanie Eckman, Christoph Kern, Frauke Kreuter
2025 A* conf
ICLR
Jacob Beck, Shikha Surana, Manus McAuliffe, Oliver Bent, Thomas D. Barrett, Juan Jose Garau-Luis, Paul Duckworth
2025 J jnl
CoRR
Jacob Beck
2025 J jnl
IEEE J. Sel. Top. Appl. Earth Obs. Remote. Sens.
Jacob Beck, Lukas Malte Kemeter, Konrad Dürrbeck, Mohamed Hesham Ibrahim Abdalla, Frauke Kreuter
2024 J jnl
CoRR
Niklas Ippisch, Anna-Carolina Haensch, Jan Simson, Jacob Beck, Markus Herklotz, Malte Schierholz
2024 A* conf
ICML
Zheng Xiong, Risto Vuorio, Jacob Beck, Matthieu Zimmer, Kun Shao, Shimon Whiteson
2024 J jnl
CoRR
Zheng Xiong, Risto Vuorio, Jacob Beck, Matthieu Zimmer, Kun Shao, Shimon Whiteson
2024 J jnl
CoRR
Jacob Beck, Shikha Surana, Manus McAuliffe, Oliver Bent, Thomas D. Barrett, Juan Jose Garau Luis, Paul Duckworth
2024 J jnl
RLJ
Jacob Beck, Matthew Thomas Jackson, Risto Vuorio, Zheng Xiong, Shimon Whiteson
2024 J jnl
CoRR
Jacob Beck, Matthew Thomas Jackson, Risto Vuorio, Zheng Xiong, Shimon Whiteson
2023 J jnl
CoRR
Jacob Beck, Risto Vuorio, Evan Zheran Liu, Zheng Xiong, Luisa M. Zintgraf, Chelsea Finn, Shimon Whiteson
2023 conf
EMNLP (Findings)
Christoph Kern, Stephanie Eckman, Jacob Beck, Rob Chew, Bolei Ma, Frauke Kreuter
2023 J jnl
CoRR
Christoph Kern, Stephanie Eckman, Jacob Beck, Rob Chew, Bolei Ma, Frauke Kreuter
2023 B conf
RO-MAN
Rute Luz, Aaron Pereira, José G. P. Corujeira, Thomas Krüger, Jacob Beck, Emiel Boudewijn den Exter, Thibaud Chupin, José Luís Silva, Rodrigo Ventura
2023 conf
PKDD/ECML Workshops (2)
Timo Kaufmann, Sarah Ball, Jacob Beck, Eyke Hüllermeier, Frauke Kreuter
2023 J jnl
AStA Wirtschafts und Sozialstatistisches Arch.
Jacob Beck
2023 A* conf
NeurIPS
Jacob Beck, Risto Vuorio, Zheng Xiong, Shimon Whiteson
2023 J jnl
CoRR
Jacob Beck, Risto Vuorio, Zheng Xiong, Shimon Whiteson
2023 A conf
AAMAS
Mingfei Sun, Sam Devlin, Jacob Beck, Katja Hofmann, Shimon Whiteson
2023 A* conf
ICML
Zheng Xiong, Jacob Beck, Shimon Whiteson
2023 J jnl
CoRR
Zheng Xiong, Jacob Beck, Shimon Whiteson
2022 J jnl
CoRR
Risto Vuorio, Jacob Beck, Shimon Whiteson, Jakob N. Foerster, Gregory Farquhar
2022 Misc conf
CoRL
Jacob Beck, Matthew Thomas Jackson, Risto Vuorio, Shimon Whiteson
2022 J jnl
CoRR
Jacob Beck, Matthew Thomas Jackson, Risto Vuorio, Shimon Whiteson
2022 conf
HCI (43)
Jacob Beck, Stephanie Eckman, Robert F. Chew, Frauke Kreuter
2021 J jnl
CoRR
Zheng Xiong, Luisa M. Zintgraf, Jacob Beck, Risto Vuorio, Shimon Whiteson
2020 A* conf
ICLR
Jacob Beck, Kamil Ciosek, Sam Devlin, Sebastian Tschiatschek, Cheng Zhang, Katja Hofmann
2020 B conf
CogSci
Sam Pablo Clarke, Jacob Beck
2019 J jnl
CoRR
Jacob Beck, Zoe Papakipos, Michael L. Littman
2019 B conf
ICSR
Matt Cooper, Jun Ki Lee, Jacob Beck, Joshua D. Fishman, Michael Gillett, Zoë Papakipos, Aaron Zhang, Jerome Ramos, Aansh Shah, Michael L. Littman
2019 J jnl
CoRR
Matt Cooper, Jun Ki Lee, Jacob Beck, Joshua D. Fishman, Michael Gillett, Zoë Papakipos, Aaron Zhang, Jerome Ramos, Aansh Shah, Michael L. Littman
2018 J jnl
CoRR
Jacob Beck, Zoe Papakipos
1987 J jnl
Comput. Vis. Graph. Image Process.
Jacob Beck, Anne Sutter, Richard B. Ivry
1985 J jnl
Comput. Vis. Graph. Image Process.
Jacob Beck
redb/extractors/decompiler/bninja/similarity/minhashcustom.py
← Index redb/extractors/decompiler/bninja/similarity/minhashcustom.py python
import numpy as np
import mmh3

class MinHashCustom:
    """
    DTO for an actual MinHash
    <minhash>: a binary sequence of packed int8/32 values
    <minhash_int>: the equivalent representation of <minhash> but as list of int8/32
    """

    _HASH_MAX = 0xFFFFFFFF
    _MINHASH_BITS = 32

    def getSignatureEntrySize(self):
        return 1 if self.MINHASH_BITS <= 8 else 4

    def __init__(self, function_addr=None, minhash_bytes=None, minhash_signature=None, minhash_bits=32):
        self.minhash = b""
        self.minhash_int = []
        if minhash_bits:
            self._MINHASH_BITS = minhash_bits
        if minhash_bytes and minhash_signature:
            raise ValueError("Can use only one keyword argument")
        if minhash_bytes:
            if self._MINHASH_BITS <= 8:
                minhash_signature = np.frombuffer(minhash_bytes, dtype=np.uint8)
            else:
                minhash_signature = np.frombuffer(minhash_bytes, dtype=np.uint32)
            self.setMinHash(minhash_signature)
        elif minhash_signature:
            self.setMinHash(minhash_signature)

        self.shingler_composition = {}
        self.function_addr = function_addr

    def hasMinHash(self):
        return len(self.minhash) > 0

    def getMinHash(self):
        return self.minhash

    def getMinHashInt(self):
        return self.minhash_int

    def setMinHash(self, minhash_signature):
        self.minhash_int = [i % 2 ** self._MINHASH_BITS for i in minhash_signature]
        if self._MINHASH_BITS <= 8:
            self.minhash = np.array(self.minhash_int, dtype=np.uint8).tobytes()
        else:
            self.minhash = np.array(self.minhash_int, dtype=np.uint32).tobytes()

    def getComposition(self):
        return self.shingler_composition

    def scoreAgainst(self, other):
        return self.calculateMinHashScore(self.minhash, other.minhash, minhash_bits=self._MINHASH_BITS)

    @staticmethod
    def getHashMax():
        return MinHashCustom._HASH_MAX

    @staticmethod
    def hashData(data, seed) -> int:
        if isinstance(data, (str, bytes, bytearray)):
            return mmh3.hash(data, seed) & MinHashCustom._HASH_MAX
        elif isinstance(data, (list, tuple)):
            to_hash = "|".join(str(elem) for elem in data)
            return mmh3.hash(to_hash, seed) & MinHashCustom._HASH_MAX
        else:
            raise NotImplementedError(
                f"Type not supported for hashData: {type(data).__name__}"
            )

    @staticmethod
    def calculateMinHashScore(first, second, minhash_bits=32):
        if minhash_bits <= 8:
            first_np = np.frombuffer(first, dtype=np.uint8)
            second_np = np.frombuffer(second, dtype=np.uint8)
        else:
            first_np = np.frombuffer(first, dtype=np.uint32)
            second_np = np.frombuffer(second, dtype=np.uint32)
        return 100.0 * sum(first_np == second_np) / len(first_np)

    @staticmethod
    def calculateMinHashIntScore(first, second):
        score = 0
        num_hashes = len(first)
        if num_hashes:
            for index, part in enumerate(first):
                score += 1 if part == second[index] else 0
            return 100.0 * score / num_hashes
        return 0.0

    @property
    def MINHASH_BITS(self):
        return self._MINHASH_BITS