https://en.wikipedia.org/w/index.php?action=history&feed=atom&title=Quadratic_unconstrained_binary_optimization Quadratic unconstrained binary optimization - Revision history 2025-06-28T04:53:12Z Revision history for this page on the wiki MediaWiki 1.45.0-wmf.7 https://en.wikipedia.org/w/index.php?title=Quadratic_unconstrained_binary_optimization&diff=1296973246&oldid=prev Rich Smith: CheckWiki Fixes (and other AWB fixes) 2025-06-23T12:17:07Z <p>CheckWiki Fixes (and other AWB fixes)</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 12:17, 23 June 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 2:</td> <td colspan="2" class="diff-lineno">Line 2:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;!-- {{refimprove|date=September 2014}} --&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;!-- {{refimprove|date=September 2014}} --&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Quadratic unconstrained binary optimization''' ('''QUBO'''), also known as '''unconstrained binary quadratic programming''' ('''UBQP'''), is a combinatorial [[optimization problem]] with a wide range of applications from [[finance]] and [[economics]] to [[machine learning]].&lt;ref&gt;{{cite journal |last1=Kochenberger |first1=Gary |last2=Hao |first2=Jin-Kao |first3=Fred |last3=Glover |first4=Mark |last4=Lewis |first5=Zhipeng|last5=Lu |first6=Haibo |last6=Wang |first7=Yang |last7=Wang |title=The unconstrained binary quadratic programming problem: a survey. |journal=Journal of Combinatorial Optimization |date=2014 |volume=28 |pages=58–81 |doi=10.1007/s10878-014-9734-0 |s2cid=16808394 |url=https://leeds-faculty.colorado.edu/glover/454%20-%20xQx%20survey%20article%20as%20published%202014.pdf}}&lt;/ref&gt; QUBO is an [[NP hard]] problem, and for many classical problems from [[theoretical computer science]], like [[maximum cut]], [[graph coloring]] and the [[partition problem]], embeddings into QUBO have been formulated.&lt;ref name="tut"&gt;{{cite arXiv |last1=Glover |first1=Fred |last2=Kochenberger|first2=Gary |eprint=1811.11538 |title=A Tutorial on Formulating and Using QUBO Models |class= cs.DS|date=2019 }}&lt;/ref&gt;&lt;ref&gt;{{cite journal |last1=Lucas |first1=Andrew |title=Ising formulations of many NP problems |journal=Frontiers in Physics |date=2014 |volume=2 |page=5 |doi=10.3389/fphy.2014.00005 |arxiv=1302.5843 |bibcode=2014FrP.....2....5L |doi-access=free }}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Quadratic unconstrained binary optimization''' ('''QUBO'''), also known as '''unconstrained binary quadratic programming''' ('''UBQP'''), is a combinatorial [[optimization problem]] with a wide range of applications from [[finance]] and [[economics]] to [[machine learning]].&lt;ref&gt;{{cite journal |last1=Kochenberger |first1=Gary |last2=Hao |first2=Jin-Kao |first3=Fred |last3=Glover |first4=Mark |last4=Lewis |first5=Zhipeng|last5=Lu |first6=Haibo |last6=Wang |first7=Yang |last7=Wang |title=The unconstrained binary quadratic programming problem: a survey. |journal=Journal of Combinatorial Optimization |date=2014 |volume=28 |pages=58–81 |doi=10.1007/s10878-014-9734-0 |s2cid=16808394 |url=https://leeds-faculty.colorado.edu/glover/454%20-%20xQx%20survey%20article%20as%20published%202014.pdf}}&lt;/ref&gt; QUBO is an [[NP hard]] problem, and for many classical problems from [[theoretical computer science]], like [[maximum cut]], [[graph coloring]] and the [[partition problem]], embeddings into QUBO have been formulated.&lt;ref name="tut"&gt;{{cite arXiv |last1=Glover |first1=Fred |last2=Kochenberger|first2=Gary |eprint=1811.11538 |title=A Tutorial on Formulating and Using QUBO Models |class= cs.DS|date=2019 }}&lt;/ref&gt;&lt;ref&gt;{{cite journal |last1=Lucas |first1=Andrew |title=Ising formulations of many NP problems |journal=Frontiers in Physics |date=2014 |volume=2 |page=5 |doi=10.3389/fphy.2014.00005 |arxiv=1302.5843 |bibcode=2014FrP.....2....5L |doi-access=free }}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Embeddings for machine learning models include [[support-vector machine<del style="font-weight: bold; text-decoration: none;">|support-vector machines</del>]], [[cluster analysis|clustering]] and [[probabilistic graphical model<del style="font-weight: bold; text-decoration: none;">|probabilistic graphical models</del>]].&lt;ref&gt;{{cite journal |last1=Mücke |first1=Sascha |last2=Piatkowski |first2=Nico |last3=Morik |first3=Katharina |author3-link=Katharina Morik|title=Learning Bit by Bit: Extracting the Essence of Machine Learning |journal=LWDA |date=2019 |s2cid=202760166 |url=https://pdfs.semanticscholar.org/f484/b4a789e1563b91a416a7cfabbf72f0aa3b2a.pdf |archive-url=https://web.archive.org/web/20200227143739/https://pdfs.semanticscholar.org/f484/b4a789e1563b91a416a7cfabbf72f0aa3b2a.pdf |url-status=dead |archive-date=2020-02-27 }}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Embeddings for machine learning models include [[support-vector machine]]<ins style="font-weight: bold; text-decoration: none;">s</ins>, [[cluster analysis|clustering]] and [[probabilistic graphical model]]<ins style="font-weight: bold; text-decoration: none;">s</ins>.&lt;ref&gt;{{cite journal |last1=Mücke |first1=Sascha |last2=Piatkowski |first2=Nico |last3=Morik |first3=Katharina |author3-link=Katharina Morik|title=Learning Bit by Bit: Extracting the Essence of Machine Learning |journal=LWDA |date=2019 |s2cid=202760166 |url=https://pdfs.semanticscholar.org/f484/b4a789e1563b91a416a7cfabbf72f0aa3b2a.pdf |archive-url=https://web.archive.org/web/20200227143739/https://pdfs.semanticscholar.org/f484/b4a789e1563b91a416a7cfabbf72f0aa3b2a.pdf |url-status=dead |archive-date=2020-02-27 }}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Moreover, due to its close connection to [[Ising model<del style="font-weight: bold; text-decoration: none;">|Ising models</del>]], QUBO constitutes a central problem class for [[adiabatic quantum computing|adiabatic quantum computation]], where it is solved through a physical process called [[quantum annealing]].&lt;ref&gt;{{cite web</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Moreover, due to its close connection to [[Ising model]]<ins style="font-weight: bold; text-decoration: none;">s</ins>, QUBO constitutes a central problem class for [[adiabatic quantum computing|adiabatic quantum computation]], where it is solved through a physical process called [[quantum annealing]].&lt;ref&gt;{{cite web</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |url = http://www.technologyreview.com/view/514686/d-waves-quantum-computer-goes-to-the-races-wins/</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |url = http://www.technologyreview.com/view/514686/d-waves-quantum-computer-goes-to-the-races-wins/</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |title = D-Wave's Quantum Computer Goes to the Races, Wins</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |title = D-Wave's Quantum Computer Goes to the Races, Wins</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 17:</td> <td colspan="2" class="diff-lineno">Line 17:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Definition==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Definition==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Let &lt;math&gt;\mathbb{B}=\lbrace 0,1\rbrace&lt;/math&gt; the set of [[binary data|binary]] digits (or <del style="font-weight: bold; text-decoration: none;">&lt;i&gt;</del>bits<del style="font-weight: bold; text-decoration: none;">&lt;/i&gt;</del>), then &lt;math&gt;\mathbb{B}^n&lt;/math&gt; is the set of binary vectors of fixed length &lt;math&gt;n\in\mathbb{N}&lt;/math&gt;.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Let &lt;math&gt;\mathbb{B}=\lbrace 0,1\rbrace&lt;/math&gt; the set of [[binary data|binary]] digits (or <ins style="font-weight: bold; text-decoration: none;">''</ins>bits<ins style="font-weight: bold; text-decoration: none;">''</ins>), then &lt;math&gt;\mathbb{B}^n&lt;/math&gt; is the set of binary vectors of fixed length &lt;math&gt;n\in\mathbb{N}&lt;/math&gt;.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Given a [[symmetric matrix|symmetric]] or upper [[triangular matrix]] &lt;math&gt;\boldsymbol Q\in\mathbb{R}^{n\times n}&lt;/math&gt;, whose entries &lt;math&gt;Q_{ij}&lt;/math&gt; define a weight for each pair of indices &lt;math&gt;i,j\in\lbrace 1,\dots,n\rbrace&lt;/math&gt;, we can define the function &lt;math&gt;f_{\boldsymbol Q}: \mathbb{B}^n\rightarrow\mathbb{R}&lt;/math&gt; that assigns a value to each binary vector &lt;math&gt;\boldsymbol x&lt;/math&gt; through</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Given a [[symmetric matrix|symmetric]] or upper [[triangular matrix]] &lt;math&gt;\boldsymbol Q\in\mathbb{R}^{n\times n}&lt;/math&gt;, whose entries &lt;math&gt;Q_{ij}&lt;/math&gt; define a weight for each pair of indices &lt;math&gt;i,j\in\lbrace 1,\dots,n\rbrace&lt;/math&gt;, we can define the function &lt;math&gt;f_{\boldsymbol Q}: \mathbb{B}^n\rightarrow\mathbb{R}&lt;/math&gt; that assigns a value to each binary vector &lt;math&gt;\boldsymbol x&lt;/math&gt; through</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;f_{\boldsymbol Q}(\boldsymbol x) = \boldsymbol{x}^\intercal \boldsymbol{Qx} = \sum_{i=1}^n \sum_{j=1}^n Q_{ij} x_i x_j.&lt;/math&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;f_{\boldsymbol Q}(\boldsymbol x) = \boldsymbol{x}^\intercal \boldsymbol{Qx} = \sum_{i=1}^n \sum_{j=1}^n Q_{ij} x_i x_j.&lt;/math&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 59:</td> <td colspan="2" class="diff-lineno">Line 59:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Given a graph &lt;math&gt;G=(V,E)&lt;/math&gt; with vertex set &lt;math&gt;V=\lbrace 1,\dots,n\rbrace&lt;/math&gt; and edges &lt;math&gt;E\subseteq V\times V&lt;/math&gt;, the [[maximum cut]] (max-cut) problem consists of finding two subsets &lt;math&gt;S,T\subseteq V&lt;/math&gt; with &lt;math&gt;T=V\setminus S&lt;/math&gt;, such that the number of edges between &lt;math&gt;S&lt;/math&gt; and &lt;math&gt;T&lt;/math&gt; is maximized.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Given a graph &lt;math&gt;G=(V,E)&lt;/math&gt; with vertex set &lt;math&gt;V=\lbrace 1,\dots,n\rbrace&lt;/math&gt; and edges &lt;math&gt;E\subseteq V\times V&lt;/math&gt;, the [[maximum cut]] (max-cut) problem consists of finding two subsets &lt;math&gt;S,T\subseteq V&lt;/math&gt; with &lt;math&gt;T=V\setminus S&lt;/math&gt;, such that the number of edges between &lt;math&gt;S&lt;/math&gt; and &lt;math&gt;T&lt;/math&gt; is maximized.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The more general <del style="font-weight: bold; text-decoration: none;">&lt;i&gt;</del>weighted max-cut<del style="font-weight: bold; text-decoration: none;">&lt;/i&gt;</del> problem assumes edge weights &lt;math&gt;w_{ij}\geq 0~\forall i,j\in V&lt;/math&gt;, with &lt;math&gt;e\notin E\Rightarrow w_{ij}=0&lt;/math&gt;, and asks for a [[partition of a set|partition]] &lt;math&gt;S,T\subseteq V&lt;/math&gt; that maximizes the sum of edge weights between &lt;math&gt;S&lt;/math&gt; and &lt;math&gt;T&lt;/math&gt;, i.e.,</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The more general <ins style="font-weight: bold; text-decoration: none;">''</ins>weighted max-cut<ins style="font-weight: bold; text-decoration: none;">''</ins> problem assumes edge weights &lt;math&gt;w_{ij}\geq 0~\forall i,j\in V&lt;/math&gt;, with &lt;math&gt;e\notin E\Rightarrow w_{ij}=0&lt;/math&gt;, and asks for a [[partition of a set|partition]] &lt;math&gt;S,T\subseteq V&lt;/math&gt; that maximizes the sum of edge weights between &lt;math&gt;S&lt;/math&gt; and &lt;math&gt;T&lt;/math&gt;, i.e.,</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;\max_{S,T}\sum_{i\in S, j\in T}w_{ij}.&lt;/math&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;\max_{S,T}\sum_{i\in S, j\in T}w_{ij}.&lt;/math&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>By setting &lt;math&gt;w_{ij}=1&lt;/math&gt; for all &lt;math&gt;(i,j)\in E&lt;/math&gt; this becomes equivalent to the original max-cut problem above, which is why we focus on this more general form in the following.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>By setting &lt;math&gt;w_{ij}=1&lt;/math&gt; for all &lt;math&gt;(i,j)\in E&lt;/math&gt; this becomes equivalent to the original max-cut problem above, which is why we focus on this more general form in the following.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 153:</td> <td colspan="2" class="diff-lineno">Line 153:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==External links==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==External links==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*[http://plato.asu.edu/ftp/qubo.html QUBO Benchmark] (Benchmark of software packages for the exact solution of QUBOs; part of the well-known Mittelmann benchmark collection)</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*[http://plato.asu.edu/ftp/qubo.html QUBO Benchmark] (Benchmark of software packages for the exact solution of QUBOs; part of the well-known Mittelmann benchmark collection)</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* {{cite journal</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* {{cite journal</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| url = http://portal.acm.org/citation.cfm?id=1231283</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| url = http://portal.acm.org/citation.cfm?id=1231283</div></td> </tr> </table> Rich Smith https://en.wikipedia.org/w/index.php?title=Quadratic_unconstrained_binary_optimization&diff=1296953656&oldid=prev Smuecke1: added def with separate linear and quadratic terms 2025-06-23T09:20:43Z <p>added def with separate linear and quadratic terms</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 09:20, 23 June 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 18:</td> <td colspan="2" class="diff-lineno">Line 18:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Let &lt;math&gt;\mathbb{B}=\lbrace 0,1\rbrace&lt;/math&gt; the set of [[binary data|binary]] digits (or &lt;i&gt;bits&lt;/i&gt;), then &lt;math&gt;\mathbb{B}^n&lt;/math&gt; is the set of binary vectors of fixed length &lt;math&gt;n\in\mathbb{N}&lt;/math&gt;.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Let &lt;math&gt;\mathbb{B}=\lbrace 0,1\rbrace&lt;/math&gt; the set of [[binary data|binary]] digits (or &lt;i&gt;bits&lt;/i&gt;), then &lt;math&gt;\mathbb{B}^n&lt;/math&gt; is the set of binary vectors of fixed length &lt;math&gt;n\in\mathbb{N}&lt;/math&gt;.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Given a [[symmetric matrix|symmetric]] upper [[triangular matrix]] &lt;math&gt;\boldsymbol Q\in\mathbb{R}^{n\times n}&lt;/math&gt;, whose entries &lt;math&gt;Q_{ij}&lt;/math&gt; define a weight for each pair of indices &lt;math&gt;i,j\in\lbrace 1,\dots,n\rbrace&lt;/math&gt;, we can define the function &lt;math&gt;f_{\boldsymbol Q}: \mathbb{B}^n\rightarrow\mathbb{R}&lt;/math&gt; that assigns a value to each binary vector &lt;math&gt;\boldsymbol x&lt;/math&gt; through</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Given a [[symmetric matrix|symmetric]]<ins style="font-weight: bold; text-decoration: none;"> or</ins> upper [[triangular matrix]] &lt;math&gt;\boldsymbol Q\in\mathbb{R}^{n\times n}&lt;/math&gt;, whose entries &lt;math&gt;Q_{ij}&lt;/math&gt; define a weight for each pair of indices &lt;math&gt;i,j\in\lbrace 1,\dots,n\rbrace&lt;/math&gt;, we can define the function &lt;math&gt;f_{\boldsymbol Q}: \mathbb{B}^n\rightarrow\mathbb{R}&lt;/math&gt; that assigns a value to each binary vector &lt;math&gt;\boldsymbol x&lt;/math&gt; through</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;f_{\boldsymbol Q}(\boldsymbol x) = \boldsymbol{x}^\intercal \boldsymbol{Qx} = \sum_{i=1}^n \sum_{j=1}^n Q_{ij} x_i x_j.&lt;/math&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;f_{\boldsymbol Q}(\boldsymbol x) = \boldsymbol{x}^\intercal \boldsymbol{Qx} = \sum_{i=1}^n \sum_{j=1}^n Q_{ij} x_i x_j.&lt;/math&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Alternatively, the linear and quadratic parts can be separated as</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;f_{\boldsymbol Q',\boldsymbol q}(\boldsymbol x)=\boldsymbol x^\intercal\boldsymbol Q'\boldsymbol x+\boldsymbol q^\intercal\boldsymbol x,&lt;/math&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>where &lt;math&gt;\boldsymbol Q'\in\mathbb{R}^{n\times n}&lt;/math&gt; and &lt;math&gt;\boldsymbol q\in\mathbb{R}^n&lt;/math&gt;.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>This is equivalent to the previous definition through &lt;math&gt;\boldsymbol Q=\boldsymbol Q'+\operatorname{diag}[\boldsymbol q]&lt;/math&gt; using the [[Diagonal matrix#Vector-to-matrix diag operator|diag]] operator, exploiting that &lt;math&gt;x=x\cdot x&lt;/math&gt; for all binary values &lt;math&gt;x&lt;/math&gt;.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Intuitively, the weight &lt;math&gt;Q_{ij}&lt;/math&gt; is added if both &lt;math&gt;x_i=1&lt;/math&gt; and &lt;math&gt;x_j=1&lt;/math&gt;.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Intuitively, the weight &lt;math&gt;Q_{ij}&lt;/math&gt; is added if both &lt;math&gt;x_i=1&lt;/math&gt; and &lt;math&gt;x_j=1&lt;/math&gt;.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The QUBO problem consists of finding a binary vector &lt;math&gt;\boldsymbol{x}^*&lt;/math&gt; that minimizes &lt;math&gt;f_{\boldsymbol Q}&lt;/math&gt;, i.e., &lt;math&gt;\forall\boldsymbol x\in\mathbb{B}^n: ~f_{\boldsymbol Q}(\boldsymbol{x}^*)\leq f_{\boldsymbol Q}(\boldsymbol x)&lt;/math&gt;.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The QUBO problem consists of finding a binary vector &lt;math&gt;\boldsymbol{x}^*&lt;/math&gt; that minimizes &lt;math&gt;f_{\boldsymbol Q}&lt;/math&gt;, i.e., &lt;math&gt;\forall\boldsymbol x\in\mathbb{B}^n: ~f_{\boldsymbol Q}(\boldsymbol{x}^*)\leq f_{\boldsymbol Q}(\boldsymbol x)&lt;/math&gt;.</div></td> </tr> </table> Smuecke1 https://en.wikipedia.org/w/index.php?title=Quadratic_unconstrained_binary_optimization&diff=1296952191&oldid=prev Smuecke1: Simplified notation for Max-Cut 2025-06-23T09:09:06Z <p>Simplified notation for Max-Cut</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 09:09, 23 June 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 52:</td> <td colspan="2" class="diff-lineno">Line 52:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>===Maximum Cut===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>===Maximum Cut===</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Given a graph &lt;math&gt;G=(V,E)&lt;/math&gt; with vertex set &lt;math&gt;V=\lbrace 1,\dots,n\rbrace&lt;/math&gt; and edges &lt;math&gt;E\subseteq V\times V&lt;/math&gt;, the [[maximum cut]] (max-cut) problem consists of finding two subsets &lt;math&gt;S,T\subseteq V&lt;/math&gt; with &lt;math&gt;<del style="font-weight: bold; text-decoration: none;">S\cap </del>T=\<del style="font-weight: bold; text-decoration: none;">emptyset&lt;/math&gt;</del> <del style="font-weight: bold; text-decoration: none;">and &lt;math&gt;</del>S<del style="font-weight: bold; text-decoration: none;">\cup T=V</del>&lt;/math&gt;, such that the number of edges between &lt;math&gt;S&lt;/math&gt; and &lt;math&gt;T&lt;/math&gt; is maximized.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Given a graph &lt;math&gt;G=(V,E)&lt;/math&gt; with vertex set &lt;math&gt;V=\lbrace 1,\dots,n\rbrace&lt;/math&gt; and edges &lt;math&gt;E\subseteq V\times V&lt;/math&gt;, the [[maximum cut]] (max-cut) problem consists of finding two subsets &lt;math&gt;S,T\subseteq V&lt;/math&gt; with &lt;math&gt;T=<ins style="font-weight: bold; text-decoration: none;">V</ins>\<ins style="font-weight: bold; text-decoration: none;">setminus</ins> S&lt;/math&gt;, such that the number of edges between &lt;math&gt;S&lt;/math&gt; and &lt;math&gt;T&lt;/math&gt; is maximized.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The more general &lt;i&gt;weighted max-cut&lt;/i&gt; problem assumes <del style="font-weight: bold; text-decoration: none;">a</del> <del style="font-weight: bold; text-decoration: none;">weight function</del> &lt;math&gt;<del style="font-weight: bold; text-decoration: none;">w:V^2\rightarrow\mathbb</del>{<del style="font-weight: bold; text-decoration: none;">R</del>}<del style="font-weight: bold; text-decoration: none;">_+</del>&lt;/math&gt; with &lt;math&gt;<del style="font-weight: bold; text-decoration: none;">w(e)=0\text{ if }</del>e\notin E&lt;/math&gt;, and asks for a [[partition of a set|partition]] &lt;math&gt;S,T\subseteq V&lt;/math&gt; that maximizes the sum of edge weights between &lt;math&gt;S&lt;/math&gt; and &lt;math&gt;T&lt;/math&gt;, i.e.,</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The more general &lt;i&gt;weighted max-cut&lt;/i&gt; problem assumes <ins style="font-weight: bold; text-decoration: none;">edge</ins> <ins style="font-weight: bold; text-decoration: none;">weights</ins> &lt;math&gt;<ins style="font-weight: bold; text-decoration: none;">w_</ins>{<ins style="font-weight: bold; text-decoration: none;">ij</ins>}<ins style="font-weight: bold; text-decoration: none;">\geq 0~\forall i,j\in V</ins>&lt;/math&gt;<ins style="font-weight: bold; text-decoration: none;">,</ins> with &lt;math&gt;e\notin E<ins style="font-weight: bold; text-decoration: none;">\Rightarrow w_{ij}=0</ins>&lt;/math&gt;, and asks for a [[partition of a set|partition]] &lt;math&gt;S,T\subseteq V&lt;/math&gt; that maximizes the sum of edge weights between &lt;math&gt;S&lt;/math&gt; and &lt;math&gt;T&lt;/math&gt;, i.e.,</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;\max_{S,T}\sum_{<del style="font-weight: bold; text-decoration: none;">e</del>\in S\<del style="font-weight: bold; text-decoration: none;">times</del> T}<del style="font-weight: bold; text-decoration: none;">w(e)</del>.&lt;/math&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;\max_{S,T}\sum_{<ins style="font-weight: bold; text-decoration: none;">i</ins>\in S<ins style="font-weight: bold; text-decoration: none;">, j</ins>\<ins style="font-weight: bold; text-decoration: none;">in</ins> T}<ins style="font-weight: bold; text-decoration: none;">w_{ij}</ins>.&lt;/math&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>By setting &lt;math&gt;<del style="font-weight: bold; text-decoration: none;">w(e)</del>=<del style="font-weight: bold; text-decoration: none;">[e\in E]</del>&lt;/math&gt; <del style="font-weight: bold; text-decoration: none;">where</del> &lt;math&gt;<del style="font-weight: bold; text-decoration: none;">[</del>\<del style="font-weight: bold; text-decoration: none;">cdot]</del>&lt;/math&gt;<del style="font-weight: bold; text-decoration: none;"> denotes the [[Iverson bracket]]</del> this becomes equivalent to the original max-cut problem above, which is why we focus on this more general form in the following.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>By setting &lt;math&gt;<ins style="font-weight: bold; text-decoration: none;">w_{ij}</ins>=<ins style="font-weight: bold; text-decoration: none;">1</ins>&lt;/math&gt; <ins style="font-weight: bold; text-decoration: none;">for all</ins> &lt;math&gt;<ins style="font-weight: bold; text-decoration: none;">(i,j)</ins>\<ins style="font-weight: bold; text-decoration: none;">in E</ins>&lt;/math&gt; this becomes equivalent to the original max-cut problem above, which is why we focus on this more general form in the following.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>For every vertex in &lt;math&gt;i\in V&lt;/math&gt; we introduce a binary variable &lt;math&gt;x_i&lt;/math&gt; with the meaning ''&lt;math&gt;x_i=0&lt;/math&gt; if &lt;math&gt;i\in S&lt;/math&gt;'' and ''&lt;math&gt;x_i=1&lt;/math&gt; if &lt;math&gt;i\in T&lt;/math&gt;''.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>For every vertex in &lt;math&gt;i\in V&lt;/math&gt; we introduce a binary variable &lt;math&gt;x_i&lt;/math&gt; with the meaning ''&lt;math&gt;x_i=0&lt;/math&gt; if &lt;math&gt;i\in S&lt;/math&gt;'' and ''&lt;math&gt;x_i=1&lt;/math&gt; if &lt;math&gt;i\in T&lt;/math&gt;''.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 62:</td> <td colspan="2" class="diff-lineno">Line 62:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>We observe that, for any &lt;math&gt;i,j\in V&lt;/math&gt;, the expression &lt;math&gt;x_i(1-x_j)+(1-x_i)x_j&lt;/math&gt; evaluates to 1 if and only if &lt;math&gt;i&lt;/math&gt; and &lt;math&gt;j&lt;/math&gt; are in different subsets.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>We observe that, for any &lt;math&gt;i,j\in V&lt;/math&gt;, the expression &lt;math&gt;x_i(1-x_j)+(1-x_i)x_j&lt;/math&gt; evaluates to 1 if and only if &lt;math&gt;i&lt;/math&gt; and &lt;math&gt;j&lt;/math&gt; are in different subsets.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Let &lt;math&gt;\boldsymbol W\in\mathbb{R}^{n\times n}_+&lt;/math&gt; with &lt;math&gt;W_{ij}=<del style="font-weight: bold; text-decoration: none;">w(i,j)&lt;/math&gt;</del> <del style="font-weight: bold; text-decoration: none;">(recall that &lt;math&gt;w(i,j)=0&lt;/math&gt; if &lt;math&gt;(</del>i,j<del style="font-weight: bold; text-decoration: none;">)</del>\<del style="font-weight: bold; text-decoration: none;">notin</del> <del style="font-weight: bold; text-decoration: none;">E</del>&lt;/math&gt;<del style="font-weight: bold; text-decoration: none;">)</del>.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Let &lt;math&gt;\boldsymbol W\in\mathbb{R}^{n\times n}_+&lt;/math&gt; with &lt;math&gt;W_{ij}=<ins style="font-weight: bold; text-decoration: none;">w_{ij}~\forall</ins> i,j\<ins style="font-weight: bold; text-decoration: none;">in</ins> <ins style="font-weight: bold; text-decoration: none;">V</ins>&lt;/math&gt;.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>By using above expression we find that</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>By using above expression we find that</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Paragraph was moved. Click to jump to old location." href="#movedpara_9_0_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_7_0_rhs"></a><ins style="font-weight: bold; text-decoration: none;">: &lt;math&gt;</ins>\boldsymbol x^\intercal\boldsymbol W(\boldsymbol 1-\boldsymbol x)+(\boldsymbol 1-\boldsymbol x)^\intercal\boldsymbol{Wx}<ins style="font-weight: bold; text-decoration: none;">=-2</ins>\<ins style="font-weight: bold; text-decoration: none;">boldsymbol x^</ins>\<ins style="font-weight: bold; text-decoration: none;">intercal\boldsymbol{Wx}+(\boldsymbol{W1}+\boldsymbol{W}^\intercal\boldsymbol 1)^\intercal\boldsymbol x&lt;/math&gt;</ins></div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;\begin{align}</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Paragraph was moved. Click to jump to new location." href="#movedpara_7_0_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_9_0_lhs"></a>\boldsymbol x^\intercal<del style="font-weight: bold; text-decoration: none;">&amp;</del>\boldsymbol W(\boldsymbol 1-\boldsymbol x)+(\boldsymbol 1-\boldsymbol x)^\intercal\boldsymbol{Wx}\\</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>&amp;=-2\boldsymbol x^\intercal\boldsymbol{Wx}+(\boldsymbol{W1}+\boldsymbol{W}^\intercal\boldsymbol 1)^\intercal\boldsymbol x</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>\end{align}&lt;/math&gt;</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>is the sum of weights of all edges between &lt;math&gt;S&lt;/math&gt; and &lt;math&gt;T&lt;/math&gt;, where &lt;math&gt;\boldsymbol 1=(1,1,\dots,1)^\intercal\in\mathbb{R}^n&lt;/math&gt;.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>is the sum of weights of all edges between &lt;math&gt;S&lt;/math&gt; and &lt;math&gt;T&lt;/math&gt;, where &lt;math&gt;\boldsymbol 1=(1,1,\dots,1)^\intercal\in\mathbb{R}^n&lt;/math&gt;.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>As this function is quadratic in &lt;math&gt;\boldsymbol x&lt;/math&gt;, it is a QUBO problem whose parameter matrix we can read from above expression as</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>As this function is quadratic in &lt;math&gt;\boldsymbol x&lt;/math&gt;, it is a QUBO problem whose parameter matrix we can read from above expression as</div></td> </tr> </table> Smuecke1 https://en.wikipedia.org/w/index.php?title=Quadratic_unconstrained_binary_optimization&diff=1296887113&oldid=prev Smuecke1: added Max-Cut as Application 2025-06-22T23:11:25Z <p>added Max-Cut as Application</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 23:11, 22 June 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 49:</td> <td colspan="2" class="diff-lineno">Line 49:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>QUBO is a structurally simple, yet computationally hard optimization problem.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>QUBO is a structurally simple, yet computationally hard optimization problem.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>It can be used to encode a wide range of optimization problems from various scientific areas.&lt;ref&gt;{{cite web |url=https://blog.xa0.de/post/List-of-QUBO-formulations/ |title=List of QUBO formulations |last=Ratke |first=Daniel |date=2021-06-10 |access-date=2022-12-16}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>It can be used to encode a wide range of optimization problems from various scientific areas.&lt;ref&gt;{{cite web |url=https://blog.xa0.de/post/List-of-QUBO-formulations/ |title=List of QUBO formulations |last=Ratke |first=Daniel |date=2021-06-10 |access-date=2022-12-16}}&lt;/ref&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>===Maximum Cut===</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Given a graph &lt;math&gt;G=(V,E)&lt;/math&gt; with vertex set &lt;math&gt;V=\lbrace 1,\dots,n\rbrace&lt;/math&gt; and edges &lt;math&gt;E\subseteq V\times V&lt;/math&gt;, the [[maximum cut]] (max-cut) problem consists of finding two subsets &lt;math&gt;S,T\subseteq V&lt;/math&gt; with &lt;math&gt;S\cap T=\emptyset&lt;/math&gt; and &lt;math&gt;S\cup T=V&lt;/math&gt;, such that the number of edges between &lt;math&gt;S&lt;/math&gt; and &lt;math&gt;T&lt;/math&gt; is maximized.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The more general &lt;i&gt;weighted max-cut&lt;/i&gt; problem assumes a weight function &lt;math&gt;w:V^2\rightarrow\mathbb{R}_+&lt;/math&gt; with &lt;math&gt;w(e)=0\text{ if }e\notin E&lt;/math&gt;, and asks for a [[partition of a set|partition]] &lt;math&gt;S,T\subseteq V&lt;/math&gt; that maximizes the sum of edge weights between &lt;math&gt;S&lt;/math&gt; and &lt;math&gt;T&lt;/math&gt;, i.e.,</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;\max_{S,T}\sum_{e\in S\times T}w(e).&lt;/math&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>By setting &lt;math&gt;w(e)=[e\in E]&lt;/math&gt; where &lt;math&gt;[\cdot]&lt;/math&gt; denotes the [[Iverson bracket]] this becomes equivalent to the original max-cut problem above, which is why we focus on this more general form in the following.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>For every vertex in &lt;math&gt;i\in V&lt;/math&gt; we introduce a binary variable &lt;math&gt;x_i&lt;/math&gt; with the meaning ''&lt;math&gt;x_i=0&lt;/math&gt; if &lt;math&gt;i\in S&lt;/math&gt;'' and ''&lt;math&gt;x_i=1&lt;/math&gt; if &lt;math&gt;i\in T&lt;/math&gt;''.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>As &lt;math&gt;S&lt;/math&gt; and &lt;math&gt;T&lt;/math&gt; partition &lt;math&gt;V&lt;/math&gt;, every &lt;math&gt;i&lt;/math&gt; is in exactly one set, meaning there is a 1:1 correspondence between binary vectors &lt;math&gt;\boldsymbol x\in\mathbb{B}^n&lt;/math&gt; and partitions of &lt;math&gt;V&lt;/math&gt; into two subsets.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>We observe that, for any &lt;math&gt;i,j\in V&lt;/math&gt;, the expression &lt;math&gt;x_i(1-x_j)+(1-x_i)x_j&lt;/math&gt; evaluates to 1 if and only if &lt;math&gt;i&lt;/math&gt; and &lt;math&gt;j&lt;/math&gt; are in different subsets.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Let &lt;math&gt;\boldsymbol W\in\mathbb{R}^{n\times n}_+&lt;/math&gt; with &lt;math&gt;W_{ij}=w(i,j)&lt;/math&gt; (recall that &lt;math&gt;w(i,j)=0&lt;/math&gt; if &lt;math&gt;(i,j)\notin E&lt;/math&gt;).</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>By using above expression we find that</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;\begin{align}</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>\boldsymbol x^\intercal&amp;\boldsymbol W(\boldsymbol 1-\boldsymbol x)+(\boldsymbol 1-\boldsymbol x)^\intercal\boldsymbol{Wx}\\</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&amp;=-2\boldsymbol x^\intercal\boldsymbol{Wx}+(\boldsymbol{W1}+\boldsymbol{W}^\intercal\boldsymbol 1)^\intercal\boldsymbol x</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>\end{align}&lt;/math&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>is the sum of weights of all edges between &lt;math&gt;S&lt;/math&gt; and &lt;math&gt;T&lt;/math&gt;, where &lt;math&gt;\boldsymbol 1=(1,1,\dots,1)^\intercal\in\mathbb{R}^n&lt;/math&gt;.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>As this function is quadratic in &lt;math&gt;\boldsymbol x&lt;/math&gt;, it is a QUBO problem whose parameter matrix we can read from above expression as</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;\boldsymbol Q = 2\boldsymbol W-\operatorname{diag}[\boldsymbol{W1}+\boldsymbol{W}^\intercal\boldsymbol 1],&lt;/math&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>after flipping the sign to make it a minimization problem.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>===Cluster Analysis===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>===Cluster Analysis===</div></td> </tr> </table> Smuecke1 https://en.wikipedia.org/w/index.php?title=Quadratic_unconstrained_binary_optimization&diff=1296174792&oldid=prev Smuecke1: improved some wordings; clarified relation between Ising-QUBO and the physical Ising model 2025-06-18T09:24:43Z <p>improved some wordings; clarified relation between Ising-QUBO and the physical Ising model</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 09:24, 18 June 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 18:</td> <td colspan="2" class="diff-lineno">Line 18:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Let &lt;math&gt;\mathbb{B}=\lbrace 0,1\rbrace&lt;/math&gt; the set of [[binary data|binary]] digits (or &lt;i&gt;bits&lt;/i&gt;), then &lt;math&gt;\mathbb{B}^n&lt;/math&gt; is the set of binary vectors of fixed length &lt;math&gt;n\in\mathbb{N}&lt;/math&gt;.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Let &lt;math&gt;\mathbb{B}=\lbrace 0,1\rbrace&lt;/math&gt; the set of [[binary data|binary]] digits (or &lt;i&gt;bits&lt;/i&gt;), then &lt;math&gt;\mathbb{B}^n&lt;/math&gt; is the set of binary vectors of fixed length &lt;math&gt;n\in\mathbb{N}&lt;/math&gt;.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Given a [[symmetric matrix|symmetric]] upper [[triangular matrix]] &lt;math&gt;\boldsymbol Q\in\mathbb{R}^{n\times n}&lt;/math&gt;, whose entries &lt;math&gt;Q_{ij}&lt;/math&gt; define a weight for each pair of indices &lt;math&gt;i,j\in\lbrace 1,\dots,n\rbrace&lt;/math&gt;<del style="font-weight: bold; text-decoration: none;"> within the binary vector</del>, we can define the function &lt;math&gt;f_{\boldsymbol Q}: \mathbb{B}^n\rightarrow\mathbb{R}&lt;/math&gt; that assigns a value to each binary vector &lt;math&gt;\boldsymbol x&lt;/math&gt; through</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Given a [[symmetric matrix|symmetric]] upper [[triangular matrix]] &lt;math&gt;\boldsymbol Q\in\mathbb{R}^{n\times n}&lt;/math&gt;, whose entries &lt;math&gt;Q_{ij}&lt;/math&gt; define a weight for each pair of indices &lt;math&gt;i,j\in\lbrace 1,\dots,n\rbrace&lt;/math&gt;, we can define the function &lt;math&gt;f_{\boldsymbol Q}: \mathbb{B}^n\rightarrow\mathbb{R}&lt;/math&gt; that assigns a value to each binary vector &lt;math&gt;\boldsymbol x&lt;/math&gt; through</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;f_{\boldsymbol Q}(\boldsymbol x) = \boldsymbol{x}^\intercal \boldsymbol{Qx} = \sum_{i=1}^n \sum_{j=1}^n Q_{ij} x_i x_j.&lt;/math&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;f_{\boldsymbol Q}(\boldsymbol x) = \boldsymbol{x}^\intercal \boldsymbol{Qx} = \sum_{i=1}^n \sum_{j=1}^n Q_{ij} x_i x_j.&lt;/math&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Intuitively, the weight &lt;math&gt;Q_{ij}&lt;/math&gt; is added if both &lt;math&gt;x_i=1&lt;/math&gt; and &lt;math&gt;x_j=1<del style="font-weight: bold; text-decoration: none;">&lt;/math&gt; for all &lt;math&gt;i,j\in\lbrace 1,\dots,n\rbrace</del>&lt;/math&gt;.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Intuitively, the weight &lt;math&gt;Q_{ij}&lt;/math&gt; is added if both &lt;math&gt;x_i=1&lt;/math&gt; and &lt;math&gt;x_j=1&lt;/math&gt;.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The QUBO problem consists of finding a binary vector &lt;math&gt;\boldsymbol{x}^*&lt;/math&gt; that <del style="font-weight: bold; text-decoration: none;">is</del> <del style="font-weight: bold; text-decoration: none;">minimal</del> <del style="font-weight: bold; text-decoration: none;">with</del> <del style="font-weight: bold; text-decoration: none;">respect to</del> &lt;math&gt;f_{\boldsymbol Q}&lt;/math&gt;<del style="font-weight: bold; text-decoration: none;">, namely</del></div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The QUBO problem consists of finding a binary vector &lt;math&gt;\boldsymbol{x}^*&lt;/math&gt; that <ins style="font-weight: bold; text-decoration: none;">minimizes</ins> <ins style="font-weight: bold; text-decoration: none;">&lt;math&gt;f_{\boldsymbol</ins> <ins style="font-weight: bold; text-decoration: none;">Q}&lt;/math&gt;,</ins> <ins style="font-weight: bold; text-decoration: none;">i.e.,</ins> &lt;math&gt;<ins style="font-weight: bold; text-decoration: none;">\forall\boldsymbol x\in\mathbb{B}^n: ~</ins>f_{\boldsymbol Q}<ins style="font-weight: bold; text-decoration: none;">(\boldsymbol{x}^*)\leq f_{\boldsymbol Q}(\boldsymbol x)</ins>&lt;/math&gt;<ins style="font-weight: bold; text-decoration: none;">.</ins></div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;\forall\boldsymbol x\in\mathbb{B}^n: ~f_{\boldsymbol Q}(\boldsymbol{x}^*)\leq f_{\boldsymbol Q}(\boldsymbol x)&lt;/math&gt;</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In general, &lt;math&gt;\boldsymbol{x}^*&lt;/math&gt; is not unique, meaning there may be a set of minimizing vectors with equal value w.r.t. &lt;math&gt;f_{\boldsymbol Q}&lt;/math&gt;.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In general, &lt;math&gt;\boldsymbol{x}^*&lt;/math&gt; is not unique, meaning there may be a set of minimizing vectors with equal value w.r.t. &lt;math&gt;f_{\boldsymbol Q}&lt;/math&gt;.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Line 99:</td> <td colspan="2" class="diff-lineno">Line 98:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>QUBO is very closely related and computationally equivalent to the [[Ising model]], whose [[Hamiltonian function]] is defined as</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>QUBO is very closely related and computationally equivalent to the [[Ising model]], whose [[Hamiltonian function]] is defined as</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;H(\boldsymbol\sigma) =\boldsymbol\sigma^\intercal \boldsymbol J\boldsymbol\sigma+\boldsymbol h^\intercal\boldsymbol\sigma =\sum_{i,j} J_{ij} \sigma_i \sigma_j +\sum_j h_j \sigma_j&lt;/math&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;H(\boldsymbol\sigma) =\boldsymbol\sigma^\intercal \boldsymbol J\boldsymbol\sigma+\boldsymbol h^\intercal\boldsymbol\sigma =\sum_{i,j} J_{ij} \sigma_i \sigma_j +\sum_j h_j \sigma_j&lt;/math&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>with real-valued parameters &lt;math&gt;h_j, J_{ij}<del style="font-weight: bold; text-decoration: none;">, \mu</del>&lt;/math&gt; for all &lt;math&gt;i,j&lt;/math&gt;.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>with real-valued parameters &lt;math&gt;h_j, J_{ij}&lt;/math&gt; for all &lt;math&gt;i,j&lt;/math&gt;.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The ''spin variables'' &lt;math&gt;\sigma_j&lt;/math&gt; are binary with values from &lt;math&gt;\lbrace -1,+1\rbrace&lt;/math&gt; instead of &lt;math&gt;\mathbb{B}&lt;/math&gt;.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The ''spin variables'' &lt;math&gt;\sigma_j&lt;/math&gt; are binary with values from &lt;math&gt;\lbrace -1,+1\rbrace&lt;/math&gt; instead of &lt;math&gt;\mathbb{B}&lt;/math&gt;.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Note that this formulation is simplified, since, in a physics context, &lt;math&gt;\sigma_i&lt;/math&gt; are typically [[Pauli matrix|Pauli operators]], which are complex-valued matrices of size &lt;math&gt;2^n\times 2^n&lt;/math&gt;, whereas here we treat them as binary variables.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">Moreover,</del> <del style="font-weight: bold; text-decoration: none;">in</del> the Ising model the variables are<del style="font-weight: bold; text-decoration: none;"> typically</del> arranged in a lattice where only neighboring pairs of variables &lt;math&gt;\langle i~j\rangle&lt;/math&gt; can have non-zero coefficients.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Many</ins> <ins style="font-weight: bold; text-decoration: none;">formulations of</ins> the Ising model<ins style="font-weight: bold; text-decoration: none;"> Hamiltonian further assume that</ins> the variables are arranged in a lattice<ins style="font-weight: bold; text-decoration: none;">,</ins> where only neighboring pairs of variables &lt;math&gt;\langle i~j\rangle&lt;/math&gt; can have non-zero coefficients<ins style="font-weight: bold; text-decoration: none;">; here, we simply assume that &lt;math&gt;J_{ij}=0&lt;/math&gt; if &lt;math&gt;i&lt;/math&gt; and &lt;math&gt;j&lt;/math&gt; are not neighbors</ins>.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Applying the identity &lt;math&gt;\sigma = 1-2x&lt;/math&gt; yields an equivalent QUBO problem &lt;ref name="<del style="font-weight: bold; text-decoration: none;">tut</del>"/&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Applying the identity &lt;math&gt;\sigma = 1-2x&lt;/math&gt; yields an equivalent QUBO problem &lt;ref name="<ins style="font-weight: bold; text-decoration: none;">muecke2025</ins>"/&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;\begin{align}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>: &lt;math&gt;\begin{align}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&amp;\boldsymbol\sigma^\intercal \boldsymbol J\boldsymbol\sigma+\boldsymbol h^\intercal\boldsymbol\sigma \\</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&amp;\boldsymbol\sigma^\intercal \boldsymbol J\boldsymbol\sigma+\boldsymbol h^\intercal\boldsymbol\sigma \\</div></td> </tr> </table> Smuecke1 https://en.wikipedia.org/w/index.php?title=Quadratic_unconstrained_binary_optimization&diff=1296125433&oldid=prev Smuecke1: greatly simplified the notation for both the clustering example and the Ising conversion, using matrix vector notation 2025-06-18T00:14:06Z <p>greatly simplified the notation for both the clustering example and the Ising conversion, using matrix vector notation</p> <a href="//en.wikipedia.org/w/index.php?title=Quadratic_unconstrained_binary_optimization&amp;diff=1296125433&amp;oldid=1294483919">Show changes</a> Smuecke1 https://en.wikipedia.org/w/index.php?title=Quadratic_unconstrained_binary_optimization&diff=1294483919&oldid=prev WikiOriginal-9: /* External links */ 2025-06-08T00:22:24Z <p><span class="autocomment">External links</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 00:22, 8 June 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 161:</td> <td colspan="2" class="diff-lineno">Line 161:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Machine learning algorithms]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Machine learning algorithms]]</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>{{compu-AI-stub}}</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> </table> WikiOriginal-9 https://en.wikipedia.org/w/index.php?title=Quadratic_unconstrained_binary_optimization&diff=1264922204&oldid=prev 133.86.227.82: /* External links */ 2024-12-24T05:16:31Z <p><span class="autocomment">External links</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 05:16, 24 December 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 158:</td> <td colspan="2" class="diff-lineno">Line 158:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| publisher = Elsevier</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| publisher = Elsevier</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [https://abs2.cs.hiroshima-u.ac.jp/ Hiroshima University and NTT DATA Group Corporation : "QUBO++ with ABS2 GPU QUBO Solver"] # Software.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Machine learning algorithms]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Machine learning algorithms]]</div></td> </tr> </table> 133.86.227.82 https://en.wikipedia.org/w/index.php?title=Quadratic_unconstrained_binary_optimization&diff=1253304840&oldid=prev Zechenhund: https supplied for ref. 1 2024-10-25T08:46:32Z <p>https supplied for ref. 1</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 08:46, 25 October 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 1:</td> <td colspan="2" class="diff-lineno">Line 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Short description|Combinatorial optimization problem}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Short description|Combinatorial optimization problem}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;!-- {{refimprove|date=September 2014}} --&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;!-- {{refimprove|date=September 2014}} --&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Quadratic unconstrained binary optimization''' ('''QUBO'''), also known as '''unconstrained binary quadratic programming''' ('''UBQP'''), is a combinatorial [[optimization problem]] with a wide range of applications from [[finance]] and [[economics]] to [[machine learning]].&lt;ref&gt;{{cite journal |last1=Kochenberger |first1=Gary |last2=Hao |first2=Jin-Kao |first3=Fred |last3=Glover |first4=Mark |last4=Lewis |first5=Zhipeng|last5=Lu |first6=Haibo |last6=Wang |first7=Yang |last7=Wang |title=The unconstrained binary quadratic programming problem: a survey. |journal=Journal of Combinatorial Optimization |date=2014 |volume=28 |pages=58–81 |doi=10.1007/s10878-014-9734-0 |s2cid=16808394 |url=<del style="font-weight: bold; text-decoration: none;">http</del>://leeds-faculty.colorado.edu/glover/454%20-%20xQx%20survey%20article%20as%20published%202014.pdf}}&lt;/ref&gt; QUBO is an [[NP hard]] problem, and for many classical problems from [[theoretical computer science]], like [[maximum cut]], [[graph coloring]] and the [[partition problem]], embeddings into QUBO have been formulated.&lt;ref name="tut"&gt;{{cite arXiv |last1=Glover |first1=Fred |last2=Kochenberger|first2=Gary |eprint=1811.11538 |title=A Tutorial on Formulating and Using QUBO Models |class= cs.DS|date=2019 }}&lt;/ref&gt;&lt;ref&gt;{{cite journal |last1=Lucas |first1=Andrew |title=Ising formulations of many NP problems |journal=Frontiers in Physics |date=2014 |volume=2 |page=5 |doi=10.3389/fphy.2014.00005 |arxiv=1302.5843 |bibcode=2014FrP.....2....5L |doi-access=free }}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Quadratic unconstrained binary optimization''' ('''QUBO'''), also known as '''unconstrained binary quadratic programming''' ('''UBQP'''), is a combinatorial [[optimization problem]] with a wide range of applications from [[finance]] and [[economics]] to [[machine learning]].&lt;ref&gt;{{cite journal |last1=Kochenberger |first1=Gary |last2=Hao |first2=Jin-Kao |first3=Fred |last3=Glover |first4=Mark |last4=Lewis |first5=Zhipeng|last5=Lu |first6=Haibo |last6=Wang |first7=Yang |last7=Wang |title=The unconstrained binary quadratic programming problem: a survey. |journal=Journal of Combinatorial Optimization |date=2014 |volume=28 |pages=58–81 |doi=10.1007/s10878-014-9734-0 |s2cid=16808394 |url=<ins style="font-weight: bold; text-decoration: none;">https</ins>://leeds-faculty.colorado.edu/glover/454%20-%20xQx%20survey%20article%20as%20published%202014.pdf}}&lt;/ref&gt; QUBO is an [[NP hard]] problem, and for many classical problems from [[theoretical computer science]], like [[maximum cut]], [[graph coloring]] and the [[partition problem]], embeddings into QUBO have been formulated.&lt;ref name="tut"&gt;{{cite arXiv |last1=Glover |first1=Fred |last2=Kochenberger|first2=Gary |eprint=1811.11538 |title=A Tutorial on Formulating and Using QUBO Models |class= cs.DS|date=2019 }}&lt;/ref&gt;&lt;ref&gt;{{cite journal |last1=Lucas |first1=Andrew |title=Ising formulations of many NP problems |journal=Frontiers in Physics |date=2014 |volume=2 |page=5 |doi=10.3389/fphy.2014.00005 |arxiv=1302.5843 |bibcode=2014FrP.....2....5L |doi-access=free }}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Embeddings for machine learning models include [[support-vector machine|support-vector machines]], [[cluster analysis|clustering]] and [[probabilistic graphical model|probabilistic graphical models]].&lt;ref&gt;{{cite journal |last1=Mücke |first1=Sascha |last2=Piatkowski |first2=Nico |last3=Morik |first3=Katharina |author3-link=Katharina Morik|title=Learning Bit by Bit: Extracting the Essence of Machine Learning |journal=LWDA |date=2019 |s2cid=202760166 |url=https://pdfs.semanticscholar.org/f484/b4a789e1563b91a416a7cfabbf72f0aa3b2a.pdf |archive-url=https://web.archive.org/web/20200227143739/https://pdfs.semanticscholar.org/f484/b4a789e1563b91a416a7cfabbf72f0aa3b2a.pdf |url-status=dead |archive-date=2020-02-27 }}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Embeddings for machine learning models include [[support-vector machine|support-vector machines]], [[cluster analysis|clustering]] and [[probabilistic graphical model|probabilistic graphical models]].&lt;ref&gt;{{cite journal |last1=Mücke |first1=Sascha |last2=Piatkowski |first2=Nico |last3=Morik |first3=Katharina |author3-link=Katharina Morik|title=Learning Bit by Bit: Extracting the Essence of Machine Learning |journal=LWDA |date=2019 |s2cid=202760166 |url=https://pdfs.semanticscholar.org/f484/b4a789e1563b91a416a7cfabbf72f0aa3b2a.pdf |archive-url=https://web.archive.org/web/20200227143739/https://pdfs.semanticscholar.org/f484/b4a789e1563b91a416a7cfabbf72f0aa3b2a.pdf |url-status=dead |archive-date=2020-02-27 }}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Moreover, due to its close connection to [[Ising model|Ising models]], QUBO constitutes a central problem class for [[adiabatic quantum computing|adiabatic quantum computation]], where it is solved through a physical process called [[quantum annealing]].&lt;ref&gt;{{cite web</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Moreover, due to its close connection to [[Ising model|Ising models]], QUBO constitutes a central problem class for [[adiabatic quantum computing|adiabatic quantum computation]], where it is solved through a physical process called [[quantum annealing]].&lt;ref&gt;{{cite web</div></td> </tr> </table> Zechenhund https://en.wikipedia.org/w/index.php?title=Quadratic_unconstrained_binary_optimization&diff=1221833336&oldid=prev Uhai: Adding local short description: "Combinatorial optimization problem", overriding Wikidata description "combinatorial optimization problem" 2024-05-02T07:23:17Z <p>Adding local <a href="/wiki/Wikipedia:Short_description" title="Wikipedia:Short description">short description</a>: &quot;Combinatorial optimization problem&quot;, overriding Wikidata description &quot;combinatorial optimization problem&quot;</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 07:23, 2 May 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 1:</td> <td colspan="2" class="diff-lineno">Line 1:</td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>{{Short description|Combinatorial optimization problem}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;!-- {{refimprove|date=September 2014}} --&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;!-- {{refimprove|date=September 2014}} --&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Quadratic unconstrained binary optimization''' ('''QUBO'''), also known as '''unconstrained binary quadratic programming''' ('''UBQP'''), is a combinatorial [[optimization problem]] with a wide range of applications from [[finance]] and [[economics]] to [[machine learning]].&lt;ref&gt;{{cite journal |last1=Kochenberger |first1=Gary |last2=Hao |first2=Jin-Kao |first3=Fred |last3=Glover |first4=Mark |last4=Lewis |first5=Zhipeng|last5=Lu |first6=Haibo |last6=Wang |first7=Yang |last7=Wang |title=The unconstrained binary quadratic programming problem: a survey. |journal=Journal of Combinatorial Optimization |date=2014 |volume=28 |pages=58–81 |doi=10.1007/s10878-014-9734-0 |s2cid=16808394 |url=http://leeds-faculty.colorado.edu/glover/454%20-%20xQx%20survey%20article%20as%20published%202014.pdf}}&lt;/ref&gt; QUBO is an [[NP hard]] problem, and for many classical problems from [[theoretical computer science]], like [[maximum cut]], [[graph coloring]] and the [[partition problem]], embeddings into QUBO have been formulated.&lt;ref name="tut"&gt;{{cite arXiv |last1=Glover |first1=Fred |last2=Kochenberger|first2=Gary |eprint=1811.11538 |title=A Tutorial on Formulating and Using QUBO Models |class= cs.DS|date=2019 }}&lt;/ref&gt;&lt;ref&gt;{{cite journal |last1=Lucas |first1=Andrew |title=Ising formulations of many NP problems |journal=Frontiers in Physics |date=2014 |volume=2 |page=5 |doi=10.3389/fphy.2014.00005 |arxiv=1302.5843 |bibcode=2014FrP.....2....5L |doi-access=free }}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Quadratic unconstrained binary optimization''' ('''QUBO'''), also known as '''unconstrained binary quadratic programming''' ('''UBQP'''), is a combinatorial [[optimization problem]] with a wide range of applications from [[finance]] and [[economics]] to [[machine learning]].&lt;ref&gt;{{cite journal |last1=Kochenberger |first1=Gary |last2=Hao |first2=Jin-Kao |first3=Fred |last3=Glover |first4=Mark |last4=Lewis |first5=Zhipeng|last5=Lu |first6=Haibo |last6=Wang |first7=Yang |last7=Wang |title=The unconstrained binary quadratic programming problem: a survey. |journal=Journal of Combinatorial Optimization |date=2014 |volume=28 |pages=58–81 |doi=10.1007/s10878-014-9734-0 |s2cid=16808394 |url=http://leeds-faculty.colorado.edu/glover/454%20-%20xQx%20survey%20article%20as%20published%202014.pdf}}&lt;/ref&gt; QUBO is an [[NP hard]] problem, and for many classical problems from [[theoretical computer science]], like [[maximum cut]], [[graph coloring]] and the [[partition problem]], embeddings into QUBO have been formulated.&lt;ref name="tut"&gt;{{cite arXiv |last1=Glover |first1=Fred |last2=Kochenberger|first2=Gary |eprint=1811.11538 |title=A Tutorial on Formulating and Using QUBO Models |class= cs.DS|date=2019 }}&lt;/ref&gt;&lt;ref&gt;{{cite journal |last1=Lucas |first1=Andrew |title=Ising formulations of many NP problems |journal=Frontiers in Physics |date=2014 |volume=2 |page=5 |doi=10.3389/fphy.2014.00005 |arxiv=1302.5843 |bibcode=2014FrP.....2....5L |doi-access=free }}&lt;/ref&gt;</div></td> </tr> </table> Uhai