波达计数法(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. string字符串转C风格字符串 进而转换为数字

    要求如题 头文件stdlib.h中有一个函数atof() 可以将字符串转化为双精度浮点数(double) double atof(const char *nptr); 此字符串为C风格字符串,因此需要 ...

  2. 根据浏览器UA信息进行跳转(移动和pc)

    如何用php判断一个客户端是手机还是电脑?其实很简单,开发人员都知道,通过浏览器访问网站时,浏览器都会向服务器发送UA,即User Agent(用户代理).不同浏览器.同一浏览器的不同版本.手机浏览器 ...

  3. Fox And Two Dots

    B - Fox And Two Dots Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I6 ...

  4. zookeeper常用sehll命令

    ZooKeeper服务命令: 在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作 1. 启动ZK服务:       sh bin/zkServer.sh start ...

  5. egret GUI 文本混排+文本链接的聊天解决方案【取巧法】

    ui方面: <e:Scroller verticalScrollPolicy="auto" width="468" height="620&qu ...

  6. docker-compose 所带来的方便

    docker-compose 是一款开源的docker 简化复杂容器环境的管理工具 . docker-compose 在结合Swarm 与 docker 进程化容器部署可以很方便的部署一套环境. 具体 ...

  7. PHP 领域逻辑与数据库映射

    http://blog.csdn.net/hguisu/article/details/7569968

  8. Firefox 插件 JSview是一套比较实用的JS,CSS文件查看工具,很方便,很快捷地查看页面引用了哪些文件,作为Web前端开发者是一套必备的插件,由于Firefox升级过快,插件很快不兼容了,这里对插件做了一些调整,可以兼容最新Firefox浏览器(目前FireFox 21)

    JSView Firefox Plugins Download  点击下载

  9. Python正则表达式学习笔记

    [] 字符类,只要匹配里面的任意字符,都算匹配 . 元字符,可以匹配除换行符之外的所有字符 大小写敏感,但是可以关闭 \d  可以匹配0-9中的任意数字 {3}大括号里面的数字,边上前面一个字符匹配的 ...

  10. (中等) HDU 5046 Airport ,DLX+可重复覆盖+二分。

    Description The country of jiuye composed by N cites. Each city can be viewed as a point in a two- d ...