# cdc_schulze: Schulze Method In votesys: Voting Systems, Instant-Runoff Voting, Borda Method, Various Condorcet Methods

## Description

Schulze method is essentially a widest path problem. With the Condorcet matrix, we must find the so called the strongest path a > b > c > d, and the winner is a. The strength of a path is the strength of its weakest link.

## Usage

 `1` ```cdc_schulze(x, allow_dup = TRUE, min_valid = 1) ```

## Arguments

 `x` it accepts the following types of input: 1st, it can be an object of class `vote`. 2nd, it can be a user-given Condorcet matrix, 3rd, it can be a result of another Condorcet method, which is of class `condorcet`. `allow_dup` whether ballots with duplicated score values are taken into account. Default is TRUE. `min_valid` default is 1. If the number of valid entries of a ballot is less than this value, it will not be used.

## Value

a `condorcet` object, which is essentially a list.

• (1) `call` the function call.

• (2) `method` the counting method.

• (3) `candidate` candidate names.

• (4) `candidate_num` number of candidate.

• (5) `ballot_num` number of ballots in x. When x is not a `vote` object, it may be NULL.

• (6) `valid_ballot_num` number of ballots that are actually used to compute the result. When x is not a `vote` object, it may be NULL.

• (7) `winner` the winners, may be NULL.

• (8) `input_object` the class of x.

• (9) `cdc` the Condorcet matrix which is actually used.

• (10) `dif` the score difference matrix. When x is not a `vote` object, it may be NULL.

• (11) `binary` win and loss recorded with 1 (win), 0 (equal) and -1 (loss).

• (12) `summary_m` times of win (1), equal (0) and loss (-1).

• (13) `other_info` a list of 2 elements. The 1st is the strength comparison matrix. The 2nd is the strength comparison matrix in binary mode, 1 for win, 0 for else.

## References

• Schulze, M. 2010. A new monotonic, clone-independent, reversal symmetric, and Condorcet-consistent single-winner election method. Social Choice and Welfare, 36(2), 267-303.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17``` ```raw <- list2ballot( x = list( c('a', 'c', 'b', 'e', 'd'), c('a', 'd', 'e', 'c', 'b'), c('b', 'e', 'd', 'a', 'c'), c('c', 'a', 'b', 'e', 'd'), c('c', 'a', 'e', 'b', 'd'), c('c', 'b', 'a', 'd', 'e'), c('d', 'c', 'e', 'b', 'a'), c('e', 'b', 'a', 'd', 'c') ), n = c(5, 5, 8, 3, 7, 2, 7, 8) ) vote <- create_vote(raw, xtype = 3, candidate = c('a', 'b', 'c', 'd', 'e')) win1 <- cdc_simple(vote) # no winner win2 <- cdc_schulze(vote) # winner is e win2 <- cdc_schulze(win1) ```

### Example output

```MATCHING NAMES AND SCORES
COUNTING NA AND DUP VALUES
MAKING CONDORCET TABLE
COLLECTING RESULT
DONE
CREATING CDC MATRIX
------USE CDC MATRIX WITH NA IN x
EXTRACTING INFO
SELECTING
COLLECTING RESULT
DONE
CREATING CDC MATRIX
------USE CDC MATRIX WITH NA IN x
EXTRACTING INFO
SELECTING
COLLECTING RESULT
DONE
CREATING CDC MATRIX
EXTRACTING INFO
SELECTING
COLLECTING RESULT
DONE
```

votesys documentation built on May 2, 2019, 1:32 p.m.