fig after inserting cowcatand dog into the bloom filter looking up an item in bloom filter requires hashing the value again with the same hash functions generating the indices into the bit array if the value at all indices in the bit array are onethen the lookup function reports success and otherwise failure consider looking up value that is not in the bloom filter of fig if we look up fox the three hash function calls return and the digit at indices and is howeverthe digit at index is and the lookup function reports that fox is not in the bloom filter consider looking up the value rabbit in the same bloom filter hashing rabbit with the three hash functions results in values and all three of the digits at these locations within the bloom filter contain and the bloom filter incorrectly reports that rabbit has been added to the filter this is false positive and while not desirablemust be acceptable if bloom filter is to be used if bloom filter is to be usefulit must never report false negative from these examples it should be clear that false negatives are impossible false positives must be kept to minimum in factit is possible to determine on average how often bloom filter will report false positive the probability calculation depends on three factorsthe hashing functionsthe number of items added to the bloom filterand the number of bits used in the bloom filter the analysis of these factors are covered in the next sections the hashing functions each item added to bloom filter must be hashed by some number of hash functions which are completely independent of each other each hashing function must also be evenly distributed over the range of bit indices in the bit array this second requirement is true of hashing functions for hash sets and hash tables as well uniform distribution is guaranteed by the built-in hash functions of python and most other languages in the examples abovethree hashing functions were required sometimes the required number of hashing functions can be much higherdepending on the number of items being inserted and the number of bits in the bit array creating the required number of independentuniformly distributed hashing functions might seem like daunting problembut it can be solved in at least couple of ways some hashing functions allow seed value to be provided in this casedifferent seed values could be used to create different hashing functions this copy belongs to 'acha