You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Nicholas (JIRA)" <ji...@apache.org> on 2016/08/09 00:15:20 UTC

[jira] [Updated] (SPARK-16961) Utils.randomizeInPlace does not shuffle arrays uniformly

     [ https://issues.apache.org/jira/browse/SPARK-16961?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nicholas updated SPARK-16961:
-----------------------------
    Description: 
The Utils.randomizeInPlace method, which is meant to uniformly shuffle the elements on an input array, never shuffles elements to their starting position. That is, every permutation of the input array is equally likely to be returned, except for any permutation in which any element is in the same position where it began. These permutations are never output.
This is because line 827 of Utils.scala should be
{{val j = rand.nextInt(i + 1)}}
instead of
{{val j = rand.nextInt( i )}}

  was:
The Utils.randomizeInPlace method, which is meant to uniformly shuffle the elements on an input array, never shuffles elements to their starting position. That is, every permutation of the input array is equally likely to be returned, except for any permutation in which any element is in the same position where it began. These permutations are never output.
This is because line 827 of Utils.scala should be
{{val j = rand.nextInt(i + 1)}}
instead of
{{val j = rand.nextInt(i)}}


> Utils.randomizeInPlace does not shuffle arrays uniformly
> --------------------------------------------------------
>
>                 Key: SPARK-16961
>                 URL: https://issues.apache.org/jira/browse/SPARK-16961
>             Project: Spark
>          Issue Type: Bug
>          Components: Spark Core
>    Affects Versions: 2.0.0
>            Reporter: Nicholas
>            Priority: Minor
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> The Utils.randomizeInPlace method, which is meant to uniformly shuffle the elements on an input array, never shuffles elements to their starting position. That is, every permutation of the input array is equally likely to be returned, except for any permutation in which any element is in the same position where it began. These permutations are never output.
> This is because line 827 of Utils.scala should be
> {{val j = rand.nextInt(i + 1)}}
> instead of
> {{val j = rand.nextInt( i )}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org