I have a collection of values and associated probabilities for each value (all positive, but far from being equal). I would like to sample from this distribution many times. One technically correct way to do this is linear search, which would be like this:  def sample(xs,ps,p):      for i in xrange(len(ps)):         if ps[i] &lt;= p: return xs[i]   in Python notation. Then for sampling you would take p=random.random(). This linear search approach is very slow if xs and ps are very large. Accordingly, I want to do something along the lines of binary search. My first idea was to build a binary tree, and sample by traversing the tree using a random bit sequence (go left if a bit is zero, right if it is one). I would build the tree by splitting the list of cumulative sums of probabilities in a way which resembles quicksort: the left part of the tree is the values &lt;= 1/2, the right part of the tree is the values >1/2, and then I recurse, so that the LL part of the tree is the values &lt;= 1/4, the LR part is the values >1/4 but &lt;=1/2, etc.  I actually did implement this on a toy example, where the cumulative sum of the probabilities was [0.26,0.91,0.99,1]. (So 26% of the time you get the first value, 65% of the time you get the second, 8% the third, 1% the last).   I wind up with two problems. One problem I already fixed: there are certain nodes that only have one child based on the sorting mechanism above, such as the first movement to the right in my example. This was easy enough to fix: I just don't change the tree and appropriately update the splitting mechanism, applying it to what I already have.   But by doing it that way, all values that are located at a given level of the tree become equally likely. So the first value corresponds to L (1/2), the second value corresponds to RL (1/4), the third value corresponds to RRL (1/8), and the last value corresponds to RRR (1/8). These are very different from the probabilities that I wanted!  So my question is: how can I build an efficient data structure and traversal algorithm for a sampling procedure like the one above?
Recently I needed to do weighted random selection of elements from a list, both with and without replacement. While there are well known and good algorithms for unweighted selection, and some for weighted selection without replacement (such as modifications of the resevoir algorithm), I couldn't find any good algorithms for weighted selection with replacement. I also wanted to avoid the resevoir method, as I was selecting a significant fraction of the list, which is small enough to hold in memory.  Does anyone have any suggestions on the best approach in this situation? I have my own solutions, but I'm hoping to find something more efficient, simpler, or both.
Importing two classes with same name. How to handle? In the simple harmonic oscillator model, we talk about the angular frequency and I understand that this tells something about the instantaneous angular velocity of the object. For example, a simple pendulum. But what does this mean when we apply this concept to an object attached to a spring that behaves as a simple harmonic oscillator? There is no instantaneous circular motion for the object, so how can we relate the angular frequency to a system like this? Let $X$ and $Y$ be topological spaces. A function $f: X \rightarrow Y$ is defined as continuous if for each open set $U \subset Y$, $f^{-1}(U)$ is open in $X$. This definition makes sense to me when $X$ and $Y$ are metric spaces- it is equivalent to the usual $\epsilon-\delta$ definition. But why is this a good definition when $X$ and $Y$ are not metric spaces?  How should we think about this definition intuitively? Analogous results to Euler's theorem Fermat's little theorem and its generalization, Euler's theorem holds for pair of relatively prime integers. Are there any analogous results for not relatively prime integers ? Thanks in advance. In an  about The Force Awakens, the author suggests that:      Rey is Luke’s daughter.   I’ve missed any indicators of any such relationship while watching the movie.       For instance, I took neither Luke’s lightsaber calling out to Rey, nor her hug of consolation with General Organa as such. Is there any evidence that Luke is Rey’s father?    Is it known who Rey’s parents are? Comparing mixed-effects and fixed-effects models (testing significance of random effects) Given three variables, y and x, which are positive continuous, and z, which is categorical, I have two candidate models given by:  fit.me &lt;- lmer( y ~ 1 + x + ( 1 + x | factor(z) ) )   and  fit.fe &lt;- lm( y ~ 1 + x )   I hope to compare these models to determine which model is more appropriate. It seems to me that in some sense fit.fe is nested within fit.me. Typically, when this general scenario holds, a chi-squared test can be performed. In R, we can perform this test with the following command,  anova(fit.fe,fit.me)   When both models contain random-effects (generated by lmer from the lme4 package), the anova() command works fine. Owing to boundary parameters, it is normally advisable to test the resulting Chi-Square statistic via simulation, nonetheless, we can still use the statistic in the simulation procedure.  When both models contain only fixed-effects, this approach---and, the associated anova() command---work fine.  However, when one model contains random effects and the reduced model contains only fixed-effects, as in the above scenario, the anova() command doesn't work.  More specifically, I get the following error:   &gt; anova(fit.fe, fit.me)  Error: $ operator not defined for this S4 class   Is there anything wrong with using the Chi-Square approach from above (with simulation)? Or is this simply a problem of anova() not knowing how to deal with linear models generated by different functions?  In other words, would it be appropriate to manually generate the Chi-Square statistic derived from the models? If so, what are the appropriate degrees of freedom for comparing these models? By my reckoning:  $$ F = \frac{\left((SSE_{reduced}-SSE_{full})/(p-k)\right)}{\left((SSE_{full})/(n-p-1)\right)} \sim F_{p-k,n-p-1} $$  We are estimating two parameters in the fixed effects model (slope and intercept) and two more parameters (variance parameters for the random slope and random intercept) in the mixed-effects model. Typically, the intercept parameter isn't counted in the degrees of freedom computation, so that implies that $k=1$ and $p=k+2=3$; having said that I'm not sure if the variance parameters for the random-effects parameters should be included in the degrees of freedom computation; the variance estimates for fixed-effect parameters are not considered, but I believe that to be because the parameter estimates for fixed effects are assumed to be unknown constants whilst they are considered to be unknowable random variables for mixed effects. I would appreciate some assistance on this issue.  Finally, does anybody have a more appropriate (R-based) solution to comparing these models? I computed the homology groups of the torus, can someone tell me if this is correct? The calculation, not the result that is. Thanks!  The cells of $T^2$ are $e^0, e^1_a, e^1_b, e^2$  The chain groups are  $$ C_0(T^2) = \{ k e^0 |&#160;k \in \mathbb{Z} \} = \mathbb{Z}$$  $$ C_1(T^2) = \{&#160;k_1 e^1_a + k_2 e^1_b |&#160;k_1 , k_2 \in \mathbb{Z} \} = \mathbb{Z} \oplus \mathbb{Z}$$  $$ C_2(T^2) = \mathbb{Z}$$  $$ C_k(T^2) = \{ 0 \} , k &gt; 2$$  Now the homology groups:  $$ H_0(T^2) = \ker \partial_0 / im \partial_1 = \mathbb{Z} / 0 = \mathbb{Z}$$  where $im \partial_1 = 0$ because there is no chain in $C_1(T^2)$ whose boundary is a zero-chain in $C_0(T^2)$. (Is this reasoning correct?)  $$ H_1(T^2) = \ker \partial_1 / im \partial_2 = \mathbb{Z} \oplus \mathbb{Z}$$  where $\ker \partial_1 =  \mathbb{Z} \oplus \mathbb{Z} $, i.e. again everything maps to zero because there is no element in $C_1$ whose boundary maps to an element in $C_0$.  $im \partial_2 = 0$ again because there is no element in $C_2$ whose boundary is an element of $C_1$.  I don't want to use Hurewicz to do $H_1$.  $$ H_2(T^2) = \mathbb{Z}$$ using similar arguments as above.  Thanks for your help.  Edit  I posted the computations as an answer below. I got two up votes but I don't know by who so I'm not yet sure I can trust them... Wikipedia says that the name of concept comes from physics, but I cannot find any similarity between these two concepts. Accidentally moved directories under root Here is the situation.  I have hexagonal board,and a unit on it,with speed or move value 4.Diffrent terrain has a diffrent cost.When i click on the unit,game should show me a move range.  My solution was to check each  hex in range of 4,with A* pathfinding,and if path cost was less than 4 then this hex was in range.Finally game nicely show me range of that unit.  My question is:   Is there other solution to search for range on hex grids or square grid,because even if i am really proud of what i did in my solution,i think,it is a little to exaggerated?:))  What make me ask this question?I noticed that when unit speed is 4 or 6 or even 8,time to computing range for my computer was really good,but when speed was 10 and more i noticed that i needed to wait few second to compute.Well in real games i rather dont see something like this and my A* pathfinding is rather well optimized,so im thinking that my solution is wrong.  Thanks for any replies. I have heard several times that some mathematician has given another and more rigorous for an established theorem, but I don't know what does it really mean and what differences makes it to be more 'rigorous'. My understanding of a proof is that a proof is some explanation to convincing others that a statement is true. If some proof is not rigorous, does it mean that while the proof is acceptable for many but it is not for everybody? If so, the proof is not correct since it going to be rejected by some people and it is not a proof at all. Or, does rigorous mean it uses more advanced tools? If so, why not any alternative (but simpler) proof is also acceptable as rigorous (which is more 'valuable' as well since it's simpler!)?   Saying those limited insight of mine, my questions are:   $1-$ What does rigorous proof mean, in general definition?  $2-$ In order to understand your answers, as an example I am re-writing three of the proofs for the compactness of the torus. Which of the following proofs are most rigorous, 'normal' and least rigorous; and why so?    Theorem: The torus $T^2$ is compact.  First proof: The torus is homeomorphic to the product space $S^1 \times S^1$. The circle $S^1$ is compact. Therefore the torus is the product of two compact spaces, and thus it is compact.   Second proof: The torus $T$ is the subspace of $\mathbb{R}^3$ obtained by rotating a circle about the $z$-axis. The torus is closed since given any point in its complement, there is an open ball of sufficiently small radius centered at that point and disjoint from the torus. Also, the torus is bounded since it is contained in the ball of radius $4$ centered at the origin. Since the torus is closed and bounded in $\mathbb{R}^3$, it is compact.   Third proof: The torus is homeomorphic to a space obtained as a quotient  space of the square by identifying opposite edges. The square is a closed and  bounded subset of $\mathbb{R}^3$ and therefore is compact. Furthermore, a quotient map on the square is a continuous function, and the image of a compact space under a continuous function is compact. Therefore the torus is compact.   Thanks a lot for your guidance. Why does the flash freeze a picture? Why does a flash freeze a picture even if I use a shutter speed like 1/10 sec?  I don't understand it, because the light will hit the sensor the whole time, not just when the flash is fired. Can open, unsafe nuclear fusion reaction burn the atmosphere? I happened to hear people saying that the nuclear fusion bomb tests could set the atmosphere on fire. I have some serious doubts about that - but I have no facts. Nuclear fusion reaction requires $15*10^{6}$ kelvins to start. If we produce such temperature in "open air" would the atmosphere become a fuel for further fusion? Shouldn't the whole thing just be torn apart by its terrible pressure? How to delete ".."-folder under Windows? I have a folder on my desktop which is named ".." (which itself contains subfolders with an empty name). The folder can't be deleted the usual ways, even not when using the CLI. Does anyone know how I can remove this folder on Windows Vista 64-bit?  Renaming does not work, either (obviously).  This is what "dir /x" echoes:  09.10.2009  15:04    &lt;DIR&gt;                       . 09.10.2009  15:04    &lt;DIR&gt;                       .. 08.03.2007  11:18    &lt;DIR&gt;                       cgi-bin                0 Datei(en),              0 Bytes                3 Verzeichnis(se), 45.866.037.248 Bytes frei Proving $\frac{x}{y} +\frac{y}{z} + \frac{z}{x} \ge 3$ for positive $x,y,z$ Someone found this quiver with surprisingly high values, although I'm unable to find a level 30 rare quiver on     Given that the item's internal level (IIL) determines which affixes are possible, I'd like to know whether the IIL affects the minimum/maximum rolls for an attribute, a graph or table would be great.  For example, let's say items are able to get a pure +intellect affix from IIL 20, what's stopping you from rolling 250 at 20?  Is it a bell curve, which has shallower gradients with a higher IIL of the item?  Is it capped, dependant on IIL?  Do the min/max caps step up at certain IILs,though it's the same attribute? For example, IIL 20-40 is capable of 5-120, IIL 41-60 is capable of 20-320, ..., IIL 63 = 40-400 Minimum bounty on a question is now 100 rep? What's a common interjection for the reaction to something creepy and disgusting (like some insects or spooky places, etc.)? How to override parent functions in child themes? I've been reading around and trying to figure out how to do this, but for some reason I can't seem to override parent functions in my child theme.  I'm using TwentyTen as a parent - can anyone tell me why this function in my child theme isn't overriding the parent function please?  // Override read more link function osu_twentyten_continue_reading_link() {  return ' &lt;a href="'. get_permalink() . '"&gt;' . __( 'Read on &lt;span class="meta-nav"&gt;&amp;rarr;&lt;/span&gt;', 'twentyten-child' ) . '&lt;/a&gt;'; } function osu_twentyten_auto_excerpt_more( $more ) {  return ' &amp;hellip;' . osu_twentyten_continue_reading_link(); } remove_filter( 'excerpt_more', 'twentyten_auto_excerpt_more' ); add_filter( 'excerpt_more', 'osu_twentyten_auto_excerpt_more' );   I thought you had to remove the filter/action etc. before re-adding it right?  Thanks,  osu Why does Blender use so much memory for large textures?