RemoveScheme.java
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:3k
源码类别:

网格计算

开发平台:

Java

  1. /**
  2.  *
  3.  * Copyright (c) 2005, European Commission project OneLab under contract 034819
  4.  * (http://www.one-lab.org)
  5.  * 
  6.  * All rights reserved.
  7.  * Redistribution and use in source and binary forms, with or 
  8.  * without modification, are permitted provided that the following 
  9.  * conditions are met:
  10.  *  - Redistributions of source code must retain the above copyright 
  11.  *    notice, this list of conditions and the following disclaimer.
  12.  *  - Redistributions in binary form must reproduce the above copyright 
  13.  *    notice, this list of conditions and the following disclaimer in 
  14.  *    the documentation and/or other materials provided with the distribution.
  15.  *  - Neither the name of the University Catholique de Louvain - UCL
  16.  *    nor the names of its contributors may be used to endorse or 
  17.  *    promote products derived from this software without specific prior 
  18.  *    written permission.
  19.  *    
  20.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
  21.  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
  22.  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
  23.  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
  24.  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
  25.  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
  26.  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
  27.  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
  28.  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
  29.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
  30.  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
  31.  * POSSIBILITY OF SUCH DAMAGE.
  32.  */
  33. /**
  34.  * Licensed to the Apache Software Foundation (ASF) under one
  35.  * or more contributor license agreements.  See the NOTICE file
  36.  * distributed with this work for additional information
  37.  * regarding copyright ownership.  The ASF licenses this file
  38.  * to you under the Apache License, Version 2.0 (the
  39.  * "License"); you may not use this file except in compliance
  40.  * with the License.  You may obtain a copy of the License at
  41.  *
  42.  *     http://www.apache.org/licenses/LICENSE-2.0
  43.  *
  44.  * Unless required by applicable law or agreed to in writing, software
  45.  * distributed under the License is distributed on an "AS IS" BASIS,
  46.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  47.  * See the License for the specific language governing permissions and
  48.  * limitations under the License.
  49.  */
  50. package org.apache.hadoop.util.bloom;
  51. /**
  52.  * Defines the different remove scheme for retouched Bloom filters.
  53.  * <p>
  54.  * Originally created by
  55.  * <a href="http://www.one-lab.org">European Commission One-Lab Project 034819</a>.
  56.  */
  57. public interface RemoveScheme {
  58.   /**
  59.    * Random selection.
  60.    * <p>
  61.    * The idea is to randomly select a bit to reset.
  62.    */
  63.   public final static short RANDOM = 0;
  64.   /**
  65.    * MinimumFN Selection.
  66.    * <p>
  67.    * The idea is to select the bit to reset that will generate the minimum
  68.    * number of false negative.
  69.    */
  70.   public final static short MINIMUM_FN = 1;
  71.   /**
  72.    * MaximumFP Selection.
  73.    * <p>
  74.    * The idea is to select the bit to reset that will remove the maximum number
  75.    * of false positive.
  76.    */
  77.   public final static short MAXIMUM_FP = 2;
  78.   /**
  79.    * Ratio Selection.
  80.    * <p>
  81.    * The idea is to select the bit to reset that will, at the same time, remove
  82.    * the maximum number of false positve while minimizing the amount of false
  83.    * negative generated.
  84.    */
  85.   public final static short RATIO = 3;
  86. }