Arrow Research search

Author name cluster

David Mackay

Possible papers associated with this exact author name in Arrow. This page groups case-insensitive exact name matches and is not a full identity disambiguation profile.

11 papers
2 author rows

Possible papers

11

ICRA Conference 2010 Conference Paper

Inferring geometry from imagery - Enabling high speed traversal

  • Gregory Broten
  • David Mackay

Robotic vehicles operating in outdoor environments, commonly referred to as unmanned ground vehicles (UGV), are confronted with unstructured/semi-structured environments that are variable in nature. The geographical location significantly influences the environment's appearance, there are longer term seasonal cycles, as well as immediate affects such as the weather and lighting conditions. This environmental diversity has long caused researchers considerable grief, as developing a generalized terrain classification algorithm has proven to be very difficult. Researchers have skirted this problem by relying upon ranging sensors and constructing 2½D or, more recently, 3D world representations. Although geometric representations have been used extensively orientation errors limit the lookahead distance. An important UGV capability is high speed traversal, hence extending the lookahead distance that in turn increases the maximum attainable vehicle speed is an active area of research. This focus on high speed traversal in variable environments has pushed researchers to investigate techniques that allow learning from experience, in a more human like manner. This paper presents Defence R&D Canada - Suffield's progress in extending a 2½D world representation using vision and learning to infer geometry.

NeurIPS Conference 2008 Conference Paper

The Gaussian Process Density Sampler

  • Iain Murray
  • David MacKay
  • Ryan Adams

We present the Gaussian Process Density Sampler (GPDS), an exchangeable generative model for use in nonparametric Bayesian density estimation. Samples drawn from the GPDS are consistent with exact, independent samples from a fixed density function that is a transformation of a function drawn from a Gaussian process prior. Our formulation allows us to infer an unknown density from data using Markov chain Monte Carlo, which gives samples from the posterior distribution over density functions and from the predictive distribution on data space. We can also infer the hyperparameters of the Gaussian process. We compare this density modeling technique to several existing techniques on a toy problem and a skull-reconstruction task.

IROS Conference 2008 Conference Paper

Two dimensional dynamic stability for reconfigurable robots designed to traverse rough terrain

  • Blake Beckman
  • Jeff K. Pieper
  • David Mackay
  • Michael Trentini
  • David Erickson

Robots must be designed with consideration for reconfiguring body pose during operation if they are to address more challenging environments. Researchers have mostly relied on static stability methods to monitor the possibility of rollover in stationary or slow moving vehicles. However, little research in dynamic stability is being conducted for robots capable of reconfiguring their pose to overcome obstacles encountered in challenging terrains. A multi-degree-of-freedom robot with the capability to vary its center of gravity is discussed in this paper. It is designed to improve mobility over rough terrain and is used in this paper as an example to address one aspect of dynamic stability. A complete understanding of the dynamic behaviour of a multiple degree of freedom robot in unstructured terrain is a difficult problem to solve. It is too complex to solve completely and therefore a reduced aspect of the problem is addressed. The robot will only have the ability to vary its center of gravity in the plane parallel to its direction of forward motion. In addition the robot will only move on flat terrain and encounter an immovable linear step feature. The result of the research is that once the center of gravity is specified by selection of robot body pose, and a maximum obstacle considered, platform stability can be ensured with a maximum allowable velocity. In other words, a maximum allowable velocity of the robot is governed by the position of the center of gravity relative to the wheel in contact with the linear step feature. If the robot is traveling below the predetermined maximum velocity then the robot is guaranteed to remain upright.

NeurIPS Conference 2005 Conference Paper

Nested sampling for Potts models

  • Iain Murray
  • David MacKay
  • Zoubin Ghahramani
  • John Skilling

Nested sampling is a new Monte Carlo method by Skilling [1] intended for general Bayesian computation. Nested sampling provides a robust alternative to annealing-based methods for computing normalizing constants. It can also generate estimates of other quantities such as posterior expectations. The key technical requirement is an ability to draw samples uniformly from the prior sub ject to a constraint on the likelihood. We provide a demonstration with the Potts model, an undirected graphical model.

NeurIPS Conference 2004 Conference Paper

Modelling Uncertainty in the Game of Go

  • David Stern
  • Thore Graepel
  • David MacKay

Go is an ancient oriental game whose complexity has defeated at- tempts to automate it. We suggest using probability in a Bayesian sense to model the uncertainty arising from the vast complexity of the game tree. We present a simple conditional Markov ran- dom field model for predicting the pointwise territory outcome of a game. The topology of the model reflects the spatial structure of the Go board. We describe a version of the Swendsen-Wang pro- cess for sampling from the model during learning and apply loopy belief propagation for rapid inference and prediction. The model is trained on several hundred records of professional games. Our experimental results indicate that the model successfully learns to predict territory despite its simplicity. 1 Introduction The game of Go originated in China over 4000 years ago. Its rules are simple (See www. gobase. org for an introduction). Two players, Black and White, take turns to place stones on the intersections of an N N grid (usually N = 19 but smaller boards are in use as well). All the stones of each player are identical. Players place their stones in order to create territory by occupying or surrounding areas of the board. The player with the most territory at the end of the game is the winner. A stone is captured if it has been completely surrounded (in the horizontal and vertical directions) by stones of the opponent's colour. Stones in a contiguous `chain' have the common fate property: they are captured all together or not at all [1]. The game that emerges from these simple rules has a complexity that defeats at- tempts to apply minimax search. The best Go programs play only at the level of weak amateur Go players and Go is therefore considered to be a serious AI challenge not unlike Chess in the 1960s. There are two main reasons for this state of affairs: firstly, the high branching factor of Go (typically 200 to 300 potential moves per position) prevents the expansion of a game tree to any useful depth. Secondly, it is difficult to produce an evaluation function for Go positions. A Go stone has no intrinsic value; its value is determined by its relationships with other stones. Go players evaluate positions using visual pattern recognition and qualitative intuitions which are difficult to formalise. Most Go programs rely on a large amount of hand-tailored rules and expert knowl- edge [2]. Some machine learning techniques have been applied to Go with limited success. Schraudolph, Dayan and Sejnowski [3] trained a multi-layer perceptron to evaluate board positions by temporal difference learning. Enzenberger [4] improved on this by structuring the topologies of his neural networks according to the rela- tionships between stones on the board. Graepel et al. [1] made use of the common fate property of chains to construct an efficient graph-based representation of the board. They trained a Support Vector Machine to use this representation to solve Go problems. Our starting point is the uncertainty about the future course of the game that arises from the vast complexity of the game tree. We propose to explicitly model this uncertainty using probability in a Bayesian sense. The Japanese have a word, aji, much used by Go players. Taken literally it means `taste'. Taste lingers, and likewise the influence of a Go stone lingers (even if it appears weak or dead) because of the uncertainty of the effect it may have in the future. We use a probabilistic model that takes the current board position and predicts for every intersection of the board if it will be Black or White territory. Given such a model the score of the game can be predicted and hence an evaluation function produced. The model is a conditional Markov random field [5] which incorporates the spatial structure of the Go board. 2 Models for Predicting Territory Consider the Go board as an undirected Graph G = (N, E) with N = Nx Ny nodes n N representing vertices on the board and edges e E connecting vertically and horizontally neighbouring points. We can denote a position as the vector c {Black, White, Empty}N for cn = c(n) and similarly the final territory outcome of the game as s {+1, -1}N for sn = s(n). For convenience we score from the point of view of Black so elements of s representing Black territory are valued +1 and elements representing white territory are valued -1. Go players will note that we are adopting the Chinese method of scoring empty as well as occupied intersections. The distribution we wish to model is P (s|c), that is, the distribution over final territory outcomes given the current position. Such a model would be useful for several reasons. Most importantly, the detailed outcomes provide us with a simple evalua- tion function for Go positions by the expected score, u(c): = s i i P (s|c). An alternative (and probably better) evaluation function is given by the probability of winning which takes the form P (Black wins) = P ( s i i > komi), where komi refers to the winning threshold for Black. Connectivity of stones is vital because stones can draw strength from other stones. Connectivity could be measured by the correlation between nodes under the distribution P (s|c). This would allow us to segment the board into `groups' of stones to reduce complexity. It would also be useful to observe cases where we have an anti-correlation between nodes in the territory prediction. Japanese refer to such cases as miai in which only one of two desired results can be achieved at the expense of the other - a consequence of moving in turns. The fate of a group of Go stones could be estimated from the distribution P (s|c) by marginalising out the nodes not involved. The way stones exert long range influence can be considered recursive. A stone influences its neighbours, who influence their neighbours and so on. A simple model which exploits this idea is to consider the Go board itself as an undirected graphical model in the form of a Conditional Random Field (CRF) [5]. We factorize the distribution as 1 1 P (s|c) = exp log( Z( f (sf, cf, f ) = f (sf, cf, f )) c, ) Z(c, ). f F f F (1) The simplest form of this model has one factor for each pair of neighbouring nodes i, j so f (sf, cf, f ) = f (si, sj, ci, cj, f ). Boltzmann5 For our first model we decompose the factors into coupling' terms and external field' terms as follows: 1 P (s|c) = exp {w(c Z( i, cj )sisj + h(ci)si + h(cj )sj } c, ) (2) (i, j)F This gives a Boltzmann machine whose connections have the grid topology of the board. The couplings between territory-outcome nodes depend on the current board position local to those nodes and the external field at each node is determined by the state of the board at that location. We assume that Go positions with their associated territory positions are symmetric with respect to colour reversal so f (si, sj, ci, cj, f ) = f (-si, -sj, -ci, -cj, f ). Pairwise connections are also in- variant to direction reversal so f (si, sj, ci, cj, f ) = f (sj, si, cj, ci, f ). It follows that the model described in 2 can be specified by just five parameters: wchains = w(Black, Black) = w(White, White), winter-chain = w(Black, White) = w(White, Black), wchain-empty = w(Empty, White) = w(Empty, Black), wempty = w(Empty, Empty), hstones = h(Black) = -h(White), and h(empty) is set to zero by symmetry. We will refer to this model as Boltzmann5. This simple model is interesting because all these parameters are readily interpreted. For example we would expect wchains to take on a large positive value since chains have common fate. BoltzmannLiberties A feature that has particular utility for evaluating Go po- sitions is the number of liberties associated with a chain of stones. A liberty of a chain is an empty vertex adjacent to it. The number of liberties indicates a chain's safety because the opponent would have to occupy all the liberties to capture the chain. Our second model takes this information into account: 1 P (s|c) = exp w(c Z( i, cj, si, sj, li, lj ) c, ), (3) (i, j)F where li is element i of a vector l {+1, +2, +3, 4 or more}N the liberty count of each vertex on the Go board. A group with four or more liberties is considered relatively safe. Again we can apply symmetry arguments and end up with 78 parameters. We will refer to this model as BoltzmannLiberties. We trained the two models using board positions from a database of 22, 000 games between expert Go players1. The territory outcomes of a subset of these games 1The GoGoD database, April 2003. URL: http: //www. gogod. demon. co. uk (a) Gibbs Sampling (b) Swendsen Wang Figure 1: Comparing ordinary Gibbs with Swendsen Wang sampling for Boltz- mann5. Shown are the differences between the running averages and the exact marginals for each of the 361 nodes plotted as a function of the number of whole- board samples. were determined using the Go program GnuGo2 to analyse their final positions. Each training example comprised a board position c, with its associated territory outcome s. Training was performed by maximising the likelihood ln P (s |c) using gradient descent. In order to calculate the likelihood it is necessary to perform inference to obtain the marginal expectations of the potentials. 3 Inference Methods It is possible to perform exact inference on the model by variable elimination [6]. Eliminating nodes one diagonal at a time gave an efficient computation. The cost of exact inference was still too high for general use but it was used to compare other inference methods. Sampling The standard method for sampling from a Boltzmann machine is to use Gibbs sampling where each node is updated one at a time, conditional on the others. However, Gibbs sampling mixes slowly for spin systems with strong correlations. A generalisation of the Swendsen-Wang process [7] alleviates this problem. The original Swendsen-Wang algorithm samples from a ferromagnetic Ising model with no external field by adding an additional set of bond' nodes d, one attached to each factor (edge) in the original graph. Each of these nodes can either be in the state bond' or no bond'. The new factor potentials f (sf, cf, df, f ) are chosen such that if a bond exists between a pair of spins then they are forced to be in the same state. Conditional on the bonds, each cluster has an equal probability of having all its spins in the up' state or all in the down' state. The algorithm samples from P (s|d, c, ) and P (d|s, c, ) in turn (flipping clusters and forming bonds respectively). It can be generalised to models with arbitrary couplings and biases [7, 8]. The new factor potentials f (sf, cf, df, f ) have the following effect: if the coupling is positive then when the d node is in the bond' state it forces the two spins to be in the same state; if the coupling is negative the `bond' state forces the two spins to be opposite. The probability of each cluster being in each state depends on the sum of the biases involved. Figure 1 shows that the mixing rate of the sampling process is improved by using Swendsen-Wang allowing us to find accurate marginals for a single position in a couple of seconds. 2URL: http: //www. gnu. org/software/gnugo/gnugo. html Loopy Belief Propagation In order to perform very rapid (approximate) infer- ence we used the loopy belief propagation (BP) algorithm [9] and the results are examined in Section 4. This algorithm is similar to an influence function [10], as often used by Go programmers to segment the board into Black and White territory and for this reason is laid out below. For each board vertex j N, create a data structure called a node containing: 1. A(j), the set of nodes corresponding to the neighbours of vertex j, 2. a set of new messages mnew(s ij j ) Mnew, one for each i A(j), 3. a set of old messages mold(s ij j ) Mold, one for each i A(j), 4. a belief bj(sj). repeat for all j N do for all i A(j) do for all sj {Black, White} do let variable SUM: = 0, for all si {Black, White} do SUM: = SUM + (i, j)(si, sj) mold(s qi i), qA(i)\j end for mnew(s ij j ): = SUM, end for end for end for for all messages, mnew(s xy y ) Mnew do mnew(s (s (s xy y ): = mold xy y ) + (1 - )mnew xy y ), end for until completed I iterations (typically I=50) Belief Update: for all j N do for all sj {Black, White} do bj(sj): = mnew(s qj j ) qA(j) end for end for Here, (typically 0. 5), damps any oscillations. (i, j)(si, sj) is the factor poten- tial (see (1)) and in the case of Boltzmann5 takes on the form (i, j)(si, sj) = exp (w(ci, cj)sisj + h(ci)si + h(cj)sj). Now the probability of each vertex being Black or White territory is found by normalising the beliefs at each node. For example P (sj = Black) = bj(Black)/Z where Z = bj(Black) + bj(White). The accuracy of the loopy BP approximation appears to be improved by using it during the parameter learning stage in cases where it is to be used in evaluation. 4 Results for Territory Prediction Some Learnt Parameters Here are some parameters learnt for the Boltzmann5 model (2). This model was trained on 290 positions from expert Go games at move 80. Training was performed by maximum likelihood as described in Section 2. (a) Boltzmann5 (Exact) (b) Boltzmann5 (Loopy BP) Figure 2: Comparing territory predictions for a Go position from a professional game at move 90. The circles represent stones. The small black and white squares at each vertex represent the average territory prediction at that vertex, from -1 (maximum white square) to +1 (maximum black square). h The values of these parameters can be in- stones = 0. 265 terpreted. For example w w chains corresponds empty = 0. 427 to the correlation between the likely territory wchain-empty = 0. 442 outcome of two adjacent vertices in a chain of w connected stones. The high value of this pa- chains = 2. 74 rameter derives from the `common fate' prop- winter-chain = 0. 521 erty of chains as described in Section 1. Interestingly, the value of the parameter wempty (corresponding to the coupling between territory predictions of neighbouring vertices in empty space) is 0. 427 which is close to the critical coupling for an Ising model, 0. 441. Territory Predictions Figure 2 gives examples of territory predictions generated by Boltzmann5. In comparison, Figure 3 shows the prediction of BoltzmannLiberties and a territory prediction from The Many Faces of Go [2]. Go players confirm that the territory predictions produced by the models are reasonable, even around loose groups of Black and White stones. Compare Figures 2 (a) and 3 (a); when liberty counts are included as features, the model can more confidently identify which of the two small chains competing in the bottom right of the board is dead. Comparing Figure 2 (a) and (b) Loopy BP appears to give over-confident predictions in the top right of the board where few stones are present. However, it is a good approximation where many stones are present (bottom left). Comparing Models and Inference Methods Figure 4 shows cross-entropies between model territory predictions and true final territory outcomes for a dataset of expert games. As we progress through a game, predictions become more accurate (not surprising) but the spread of the accuracy increases, possibly due to incorrect assessment of the life-and-death status of groups. Swendsen-Wang performs better than Loopy BP, which may suffer from its over-confidence. BoltzmannLiberties performs better than Boltzmann5 (when using Swendsen-Wang) the difference in (a) BoltzmannLiberties (Exact) (b) Many Faces of Go Figure 3: Diagram (a) is produced by exact inference (training was also by Loopy BP). Diagram (b) shows the territory predicted by The Many Faces of Go (MFG) [2]. MFG uses of a rule-based expert system and its prediction for each vertex has three possible values: White', Black' or `unknown/neutral'. performance increasing later in the game when liberty counts become more useful. 5 Modelling Move Selection In order to produce a Go playing program we are interested in modelling the selec- tion of moves. A measure of performance of such a model is the likelihood it assigns to professional moves as measured by log P (move|model). (4) games moves We can obtain a probability over moves by choosing a Gibbs distribution with the negative energy replaced by the evaluation function, eu(c, w) P (move|model, w) = (5) Z(w) where u(c, w) is an evaluation function evaluated at the board position c resulting from a given move. The inverse temperature parameter determines the degree to which the move made depends on its evaluation. The territory predictions from the models Boltzmann5 and BoltzmannLiberties can be combined with the evaluation function of Section 2 to produce position evaluators.

NeurIPS Conference 1999 Conference Paper

The Nonnegative Boltzmann Machine

  • Oliver Downs
  • David MacKay
  • Daniel Lee

The nonnegative Boltzmann machine (NNBM) is a recurrent neural net(cid: 173) work model that can describe multimodal nonnegative data. Application of maximum likelihood estimation to this model gives a learning rule that is analogous to the binary Boltzmann machine. We examine the utility of the mean field approximation for the NNBM, and describe how Monte Carlo sampling techniques can be used to learn its parameters. Reflec(cid: 173) tive slice sampling is particularly well-suited for this distribution, and can efficiently be implemented to sample the distribution. We illustrate learning of the NNBM on a transiationally invariant distribution, as well as on a generative model for images of human faces.

NeurIPS Conference 1997 Conference Paper

A Revolution: Belief Propagation in Graphs with Cycles

  • Brendan Frey
  • David MacKay

Until recently, artificial intelligence researchers have frowned upon the application of probability propagation in Bayesian belief net(cid: 173) works that have cycles. The probability propagation algorithm is only exact in networks that are cycle-free. However, it has recently been discovered that the two best error-correcting decoding algo(cid: 173) rithms are actually performing probability propagation in belief networks with cycles. 1 Communicating over a noisy channel Our increasingly wired world demands efficient methods for communicating bits of information over physical channels that introduce errors. Examples of real-world channels include twisted-pair telephone wires, shielded cable-TV wire, fiber-optic cable, deep-space radio, terrestrial radio, and indoor radio. Engineers attempt to correct the errors introduced by the noise in these channels through the use of channel coding which adds protection to the information source, so that some channel errors can be corrected. A popular model of a physical channel is shown in Fig. 1. A vector of K information bits u = (Ut, .. ., UK), Uk E {O, I} is encoded, and a vector of N codeword bits x = (Xl! .. ., XN) is transmitted into the channel. Independent Gaussian noise with variance (12 is then added to each codeword bit, .. Brendan Frey is currently a Beckman Fellow at the Beckman Institute for Advanced Science and Technology, University of Illinois at Urbana-Champaign. 480 B. J Frey and D. J. C. MacKay Gaussian noise with variance (J2 --U--'~~I~ __ E __ nc o d e r __ ~1 x ~ y. I~ ___ D e c od e_r __ ~--U~. ~ Figure 1: A communication system with a channel that adds Gaussian noise to the transmitted discrete-time sequence. producing the real-valued channel output vector y = (Y! ,. .. ,YN). The decoder must then use this received vector to make a guess U at the original information vector. The probability P" (e) of bit error is minimized by choosing the Uk that maximizes P(ukly) for k = 1, .. ., K. The rate K/N of a code is the number of information bits communicated per codeword bit. We will consider rate ~ 1/2 systems in this paper, where N == 2K. The simplest rate 1/2 encoder duplicates each information hit: X2k-l = X2k = Uk, k = 1, .. ., K. The optimal decoder for this repetition code simply averages together pairs of noisy channel outputs and then applies a threshold:

NeurIPS Conference 1995 Conference Paper

Bayesian Methods for Mixtures of Experts

  • Steve Waterhouse
  • David MacKay
  • Anthony Robinson

We present a Bayesian framework for inferring the parameters of a mixture of experts model based on ensemble learning by varia(cid: 173) tional free energy minimisation. The Bayesian approach avoids the over-fitting and noise level under-estimation problems of traditional maximum likelihood inference. We demonstrate these methods on artificial problems and sunspot time series prediction.

NeurIPS Conference 1991 Conference Paper

Bayesian Model Comparison and Backprop Nets

  • David MacKay

The Bayesian model comparison framework is reviewed, and the Bayesian Occam's razor is explained. This framework can be applied to feedforward networks, making possible (1) objective comparisons between solutions using alternative network architectures; (2) objective choice of magnitude and type of weight decay terms; (3) quantified estimates of the error bars on network parameters and on network output. The framework also gen(cid: 173) erates a measure of the effective number of parameters determined by the data. The relationship of Bayesian model comparison to recent work on pre(cid: 173) diction of generalisation ability (Guyon et al. , 1992, Moody, 1992) is dis(cid: 173) cussed. 1 BAYESIAN INFERENCE AND OCCAM'S RAZOR In science, a central task is to develop and compare models to account for the data that are gathered. Typically, two levels of inference are involved in the task of data modelling. At the first level of inference, we assume that one of the models that we invented is true, and we fit that model to the data. Typically a model includes some free parameters; fitting the model to the data involves inferring what values those parameters should probably take, given the data. This is repeated for each model. The second level of inference is the task of model comparison. Here, ·Current address: Darwin College, Cambridge CB3 9EU, U. K.

NeurIPS Conference 1991 Conference Paper

Unsupervised Classifiers, Mutual Information and 'Phantom Targets

  • John Bridle
  • Anthony Heading
  • David MacKay

David J. e. MacKay California Institute of Technology 139-74 Pasadena CA 91125 U. S. A We derive criteria for training adaptive classifier networks to perform unsu(cid: 173) pervised data analysis. The first criterion turns a simple Gaussian classifier into a simple Gaussian mixture analyser. The second criterion, which is much more generally applicable, is based on mutual information. It simpli(cid: 173) fies to an intuitively reasonable difference between two entropy functions, one encouraging 'decisiveness, ' the other 'fairness' to the alternat. ive in(cid: 173) terpretations of the input. This 'firm but fair' criterion can be applied to any network that produces probability-type outputs, but it does not necessarily lead to useful behavior. 1 Unsupervised Classification One of the main distinctions made in discussing neural network architectures, and pattern analysis algorithms generally, is between supervised and unsupervised data analysis. We should therefore be interested in any method of building bridges between techniques in these two categories. For instance, it is possible to use an unsupervised system such as a Boltzmann machine to learn the joint distribution of inputs and a teacher's classificat. ion labels. The particular type of bridge we seek is a method of taking a supervised pattern classifier and turning it into an unsupervised data analyser. That is, we are interested in methods of "bootstrapping" classifiers. Consider a classifier system. Its input is a vector x, and the output is a probability vector y(x). (That is, the elements ofy are positive and sum to 1. ) The elements of y, (Yi (x), i = 1. .. N c ) are to be taken as the probabilities that x should be assigned to each of Nc classes. (Note that our definition of classifier does not include a decision process. )

NeurIPS Conference 1989 Conference Paper

Analysis of Linsker's Simulations of Hebbian Rules

  • David MacKay
  • Kenneth Miller

Linsker has reported the development of centre---surround receptive fields and oriented receptive fields in simulations of a Hebb-type equation in a linear network. The dynamics of the learning rule are analysed in terms of the eigenvectors of the covariance matrix of cell activities. Analytic and computational results for Linsker's covariance matrices, and some general theorems, lead to an expla(cid: 173) nation of the emergence of centre---surround and certain oriented structures. Linsker [Linsker, 1986, Linsker, 1988] has studied by simulation the evolution of weight vectors under a Hebb-type teacherless learning rule in a feed-forward linear network. The equation for the evolution of the weight vector w of a single neuron, derived by ensemble averaging the Hebbian rule over the statistics of the input patterns, is: ! a at Wi = k! + L(Qij + k 2 )wj subject to -Wmax ~ Wi < Wmax

v2026.09.13