diff --git a/BNNBot_garage/BNNBot b/BNNBot_garage/BNNBot index 14fddc1..81c6eb8 100755 Binary files a/BNNBot_garage/BNNBot and b/BNNBot_garage/BNNBot differ diff --git a/BNNBot_garage/src/BNNBot.nim b/BNNBot_garage/src/BNNBot.nim index ee53475..413e728 100644 --- a/BNNBot_garage/src/BNNBot.nim +++ b/BNNBot_garage/src/BNNBot.nim @@ -43,8 +43,10 @@ method onScannedBot*(bot: BNNBot, e: ScannedBotEvent) = heading: bot.heading, ) let vec = encode(scan) - let distance = if bot.hasPrev: hammingDistance(bot.prevVec, vec) else: 0 - echo align($bot.tick, 4), " ", formatBinary(vec), " ", distance + let hamming = if bot.hasPrev: hammingDistance(bot.prevVec, vec) else: 0 + let similarity = if bot.hasPrev: TOTAL_BITS - hamming else: 0 + let overlap = if bot.hasPrev: popcount(bitwiseAnd(bot.prevVec, vec)) else: 0 + echo align($bot.tick, 4), " ", formatBinary(vec), " ", hamming, " ", similarity, " ", overlap bot.prevVec = vec bot.hasPrev = true diff --git a/BNNBot_garage/src/binary_encoding.nim b/BNNBot_garage/src/binary_encoding.nim index 7771f80..2acce7e 100644 --- a/BNNBot_garage/src/binary_encoding.nim +++ b/BNNBot_garage/src/binary_encoding.nim @@ -71,3 +71,7 @@ proc popcount*(vec: BinaryVector): int = proc hammingDistance*(a, b: BinaryVector): int = for i in 0..