Magic: The Gathering è troppo complicato per i computer, lo afferma una ricerca

Magic: The Gathering è troppo complesso per essere gestito dai computer.

Questo è quanto afferma un gruppo di ricercatori che hanno testato la capacità dei più potenti calcolatori di analizzare le partite del gioco di Richard Garfield (Keyforge).

Un gruppo di ricercatori provenienti da Regno Unito e USA ha dichiarato che Magic: The Gathering è troppo complicato anche per i computer più potenti

Il documento afferma che le sfide a due di Magic semplicemente sono strutturate in un modo molto particolare, tanto che non risulta mai possibile per il computer prevedere il vincitore a causa del vasto numero di possibilità disponibili.

Ciò presumibilmente rende il famoso gioco di carte di Garfield più complicato degli scacchi, che può avere milioni e milioni di potenziali risultati ma le cui mosse possono essere previste dalle analisi delle macchine.

Magic The Gathering

I ricercatori hanno usato mazzi da 60 carte di dimensioni standard costruiti nel formato di Magic’s Legacy, che consente l’utilizzo di carte provenienti da qualsiasi espansione.

Tra le carte menzionate nell’articolo c’è Orco Minaccioso, dall’espansione Planechase, il cui effetto richiede che entrambi i giocatori scelgano segretamente un numero, prima di rivelare i loro numeri allo stesso tempo; la persona che ha selezionato il numero più alto guadagna forza extra e difesa pagando un costo in punti salute. Questa regola da sola può rendere impossibile prevedere l’andamento della partita.

Se siete interessati ad approfondire lo studio, l’intera ricerca è disponibile sul sito ufficiale della Cornell University e mostra quali sono le regole più complicate di Magic che impediscono ai computer di prevedere l’andamento di una partita.

Insomma, grazie a questa scoperta siamo certi che per lo meno non verremo mai sostituiti da un computer in una partita a Magic, ma anzi potremmo addirittura batterlo!

E voi cosa ne pensate? Fatecelo sapere con un commento qui sotto.

jQuery(document).ready(function() { var CONSTANTS = { productMinWidth : 185, productMargin : 20 }; var $adUnits = jQuery('.aalb-product-carousel-unit'); $adUnits.each(function() { var $adUnit = jQuery(this), $wrapper = $adUnit.find('.aalb-pc-wrapper'), $productContainer = $adUnit.find('.aalb-pc-product-container'), $btnNext = $adUnit.find('.aalb-pc-btn-next'), $btnPrev = $adUnit.find('.aalb-pc-btn-prev'), $productList = $productContainer.find('.aalb-pc-product-list'), $products = $productList.find('.aalb-pc-product'), productCount = $products.length; if (!productCount) { return true; } var rows = $adUnit.find('input[name=rows]').length && parseInt($adUnit.find('input[name=rows]').val(), 10); var columns = $adUnit.find('input[name=columns]').length && parseInt($adUnit.find('input[name=columns]').val(), 10); if( columns ) { var productContainerMinWidth = columns * (CONSTANTS.productMinWidth + CONSTANTS.productMargin) + 'px'; $adUnit.css( 'min-width', productContainerMinWidth ); $productContainer.css( 'min-width', productContainerMinWidth ); $products.filter( ':nth-child(' + columns + 'n + 1)' ).css( 'clear', 'both' ); } if (rows && columns) { var cutOffIndex = (rows * columns) - 1; $products.filter(':gt(' + cutOffIndex + ')').remove(); } function updateLayout() { var wrapperWidth = $wrapper.width(); var possibleColumns = columns || parseInt( wrapperWidth / (CONSTANTS.productMinWidth + CONSTANTS.productMargin), 10 ); var actualColumns = columns || possibleColumns < productCount ? possibleColumns : productCount; /** * The actual columns can be zero when the wraperwidth is less than sum of CONSTANTS.productMinWidth and * CONSTANTS.productMargin.The parseInt will use floor function and converts any value less than 1 to * zero.Therefore making actual columns 1 . **/ if( actualColumns == 0 ) { actualColumns = 1; } var productWidth = parseInt( wrapperWidth / actualColumns, 10 ) - CONSTANTS.productMargin; $products.css( 'width', productWidth + 'px' ); /** * Removing the Carousel navigation button when the number of products selected by admin is less * than the actual columns (the number of products) can be shown on screen **/ if( productCount > actualColumns ) { $btnNext.css( 'visibility', 'visible' ).removeClass( 'disabled' ).unbind( 'click' ); $btnPrev.css( 'visibility', 'visible' ).removeClass( 'disabled' ).unbind( 'click' ); } $productContainer.jCarouselLite( { btnNext : '#' + $adUnit.attr( 'id' ) + ' .aalb-pc-btn-next', btnPrev : '#' + $adUnit.attr( 'id' ) + ' .aalb-pc-btn-prev', visible : actualColumns, circular: false } ); } updateLayout(); jQuery(window).resize(updateLayout); }); }); /*! * jCarouselLite - v1.1 - 2014-09-28 * http://www.gmarwaha.com/jquery/jcarousellite/ * Copyright (c) 2014 Ganeshji Marwaha * Licensed MIT (https://github.com/ganeshmax/jcarousellite/blob/master/LICENSE) */ !function(a){a.jCarouselLite={version:"1.1"},a.fn.jCarouselLite=function(b){return b=a.extend({},a.fn.jCarouselLite.options,b||{}),this.each(function(){function c(a){return n||(clearTimeout(A),z=a,b.beforeStart&&b.beforeStart.call(this,i()),b.circular?j(a):k(a),m({start:function(){n=!0},done:function(){b.afterEnd&&b.afterEnd.call(this,i()),b.auto&&h(),n=!1}}),b.circular||l()),!1}function d(){if(n=!1,o=b.vertical?"top":"left",p=b.vertical?"height":"width",q=B.find(">ul"),r=q.find(">li"),x=r.size(),w=x0?z-b.scroll:z+b.scroll)}),b.auto&&h()}function h(){A=setTimeout(function(){c(z+b.scroll)},b.auto)}function i(){return s.slice(z).slice(0,w)}function j(a){var c;a<=b.start-w-1?(c=a+x+b.scroll,q.css(o,-(c*t)+"px"),z=c-b.scroll):a>=y-w+1&&(c=a-x-b.scroll,q.css(o,-(c*t)+"px"),z=c+b.scroll)}function k(a){0>a?z=0:a>y-w&&(z=y-w)}function l(){a(b.btnPrev+","+b.btnNext).removeClass("disabled"),a(z-b.scroll<0&&b.btnPrev||z+b.scroll>y-w&&b.btnNext||[]).addClass("disabled")}function m(c){n=!0,q.animate("left"==o?{left:-(z*t)}:{top:-(z*t)},a.extend({duration:b.speed,easing:b.easing},c))}var n,o,p,q,r,s,t,u,v,w,x,y,z,A,B=a(this);d(),e(),f(),g()})},a.fn.jCarouselLite.options={btnPrev:null,btnNext:null,btnGo:null,mouseWheel:!1,auto:null,speed:200,easing:null,vertical:!1,circular:!0,visible:3,start:0,scroll:1,beforeStart:null,afterEnd:null}}(jQuery);
Potrebbe piacerti anche
Commenti
Caricamento...