波达计数法(Borda Count)是较为简单的排序投票法,每个选项借由选票上的排序来取得积分,积分最高者获胜。另一个类似的方法则是位置投票制。
投票人按喜好排列候选者。如果候选者在选票的排第一位,它就得某个分数;排第二位得一个较小的分数……如此类推。分数累计下来最高分的候选者便取胜。

名字的由来:

历史上有许多人曾提出使用波达计数法。它曾是罗马议会采用的投票制度之一。13世纪雷蒙·卢尔15世纪的库萨的尼可拉都曾提出这个制度,但在1770年让-查理斯·波达(Jean-Charles de Borda)提出用波达计数法来选举法国科学院(Académie des sciences)时被人以他的名字来命名此计数法。

例子:

假设有三个候选人甲、乙、丙的选举。结果如下:
  • 4张选票为:1.甲 2.乙 3.丙
  • 5张选票为:1.甲 2.丙 3.乙
  • 7张选票为:1.丙 2.乙 3.甲
若排第一位的候选人取得2分,第二位得1分,第三位无分,各人的分数如下:
  • 甲:4*2+5*2+7*0 = 18
  • 乙:4*1+5*0+7*1 = 11
  • 丙:4*0+5*1+7*2 = 19
即丙胜出。
瑙鲁议会选举以排第一位得1分,排第二得1/2=0.50分,排第三得1/3=0.33分来计算。如果按这个方法,刚才的选举结果要改写:
  • 甲:4*1.00+5*1.00+7*0.33 = 11.31
  • 乙:4*0.50+5*0.33+6*0.50 = 6.65
  • 丙:4*0.33+5*0.50+7*1 = 10.82
这回是甲胜了。

应用举例:

波达计数法不只考虑选民的第一选择,会同时考虑选民的其他选择及所有取向。换个说法,波达计数法的胜利者未必是最多人放在第一位的。
这种方法较不易选出偏激或极具争议性的人士。
例如:
#
51票
5票
23票
21票
1
张三
王五
李四
马六
2
王五
李四
王五
王五
3
李四
马六
马六
李四
4
马六
张三
张三
张三
采用排第n位得4-n分的准则,各人分数如下:
  • 张三: 153
  • 李四: 151
  • 王五: 205
  • 马六: 91
不论在多数制还是排序复选制,张三都是赢家。但在波达计数法之下,因为其他选民也将张三排在最尾,拖低了他的分数,结果张三败给王五。

Borda count的更多相关文章

  1. nodejs api 中文文档

    文档首页 英文版文档 本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可. Node.js v0.10.18 手册 & 文档 索引 | 在单一页面中浏览 | JSON格 ...

  2. C#中Length和Count的区别(个人观点)

    这篇文章将会很短...短到比你的JJ还短,当然开玩笑了.网上有说过Length和count的区别,都是很含糊的,我没有发现有 文章说得比较透彻的,所以,虽然这篇文章很短,我还是希望能留在首页,听听大家 ...

  3. [PHP源码阅读]count函数

    在PHP编程中,在遍历数组的时候经常需要先计算数组的长度作为循环结束的判断条件,而在PHP里面对数组的操作是很频繁的,因此count也算是一个常用函数,下面研究一下count函数的具体实现. 我在gi ...

  4. EntityFramework.Extended 实现 update count+=1

    在使用 EF 的时候,EntityFramework.Extended 的作用:使IQueryable<T>转换为update table set ...,这样使我们在修改实体对象的时候, ...

  5. 学习笔记 MYSQL报错注入(count()、rand()、group by)

    首先看下常见的攻击载荷,如下: select count(*),(floor(rand(0)*2))x from table group by x; 然后对于攻击载荷进行解释, floor(rand( ...

  6. count(*) 与count (字段名)的区别

    count(*) 查出来的是:结果集的总条数 count(字段名) 查出来的是: 结果集中'字段名'不为空的记录的总条数

  7. BZOJ 2588: Spoj 10628. Count on a tree [树上主席树]

    2588: Spoj 10628. Count on a tree Time Limit: 12 Sec  Memory Limit: 128 MBSubmit: 5217  Solved: 1233 ...

  8. [LeetCode] Count Numbers with Unique Digits 计算各位不相同的数字个数

    Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Examp ...

  9. [LeetCode] Count of Range Sum 区间和计数

    Given an integer array nums, return the number of range sums that lie in [lower, upper] inclusive.Ra ...

随机推荐

  1. JSON缺包导致的错误

    Json-lib 需要的 jar 包 commons-beanutils-1.8.3.jar commons-collections-3.2.1.jar commons-lang-2.6.jar co ...

  2. 一个java解析xml的简单例子

    java解析xml,主要是通过Dom4j实现的,很多场合都会用到此功能,需要解析XML文件. 下面是一个简单的解析XML文件的例子: import java.util.Iterator; import ...

  3. html ajax 双引号的问题

    "<a onClick='openwin_searchmodel()' href='searchmodel.action?projectname="+person[i].ge ...

  4. android usb挂载分析

    http://blog.csdn.net/new_abc/article/details/7409018

  5. Memcached缓存系统介绍及安装

    1.什么是Memcached 1.1.Memcached概述 Memcached是一个免费的开源的.高性能的.具有又分布式内存对象的缓存系统,它通过减轻数据库负载加速动态WEB应用, 1.2.Memc ...

  6. __bridge,__bridge_transfer和__bridge_retained的使用和区别【转载】

    __bridge,__bridge_transfer和__bridge_retained的使用和区别[转载] Core Foundation 框架Core Foundation框架 (CoreFoun ...

  7. Nginx http_user_agent 防御 ab 等

    日志出现大量: xxxxxxxxxxxxx - - [04/Jul/2013:23:37:49 +0800] "GET /1000.html HTTP/1.0" 200 56471 ...

  8. windows下使用waveout函数族播放wav文件

    要使用waveout函数组,族,首先要知道几个数据结构,首先是这个 typedef struct tWAVEFORMATEX { WORD wFormatTag; /* 格式的类型 */ WORD n ...

  9. Eclipse perl的IDE环境插件-EPIC

    前提:1.安装好perl环境:ActivePerl(验证方法:cmd中输入 perl -v 看是否有反应~) 2.安装Eclipse 3.0以上版本 可选:安装PadWalker包,主要是全局变量跟踪 ...

  10. PHP访问接口获取数据

    如:http://localhost/operate.php?act=get_user_list&type=json 在这里operate.php相当于一个接口,其中get_user_list ...