From 3f77488b69daba7df7d1162cca2f94073e6fdf9e Mon Sep 17 00:00:00 2001 From: L3o15 Date: Mon, 12 May 2025 19:16:28 +0200 Subject: [PATCH] World building to max 6 elements --- .../unibs/tamagolem/WorldBuilder.class | Bin 5561 -> 5882 bytes src/LinearSystem.java | 10 ++-- src/WorldBuilder.java | 44 +++++++++--------- 3 files changed, 25 insertions(+), 29 deletions(-) diff --git a/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/WorldBuilder.class b/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/WorldBuilder.class index f22256db8c67e1b2a41652aaea03eb10c51bd7f4..8f87357d15907f36bfa25c1be8e40e7f26c38494 100644 GIT binary patch delta 2151 zcmZvddvH|s6~{lndw2Kl-rRlV0ll!5fM6cT%W8C1sut)-3J3z`K~&h1Kw@G-LO`Ox z+Cm?;wqkFo3aDsXQ(IJC-6W=pVzJg*F-pavL2Rg^SQ;MiaCm4Q)_2cs%1liNe#6ID=g}` zRS~%(wJ|lLCDpoi#-dbbqax6eYOQa(Q=ylZ%?n(AM)2epVihTauUf38-Wk-tkhg}l z28|X?+~JJ(CG%Ri)1cL&jdji{-{Qg!L8z;%H0fl6!A6U_*yObPFL6HdZPE?y7Wwik zy4Y;tXNw|KS}E3bm1R{XU8F7UFhCP z2YzDlQ=W288#nlVX7Ti)Nx|Ed8LDsUXjt9Z)Yf`vYv?N7cg*03(_{U)pcBn2sg4rd zfINThJQp7GrC*5FeM7YSCWLusrsig7%591wL^Vet$2xG(zH$6c#1%GcE}FeW`>(zVt$6@zP*gK{W(RsZD_sR zm|;=%r;K)SO)u4j-1hJu#{I9gFK6BT|3DUg21P=B%K2ib&p3}_W|Q67@IhAE{tOMy z)aYE*?6gIT<16ieC=!W;ufEaWa*TFoZ*<-K^%ZeDTokt>c5IZ~;_mD#cCg5_!^`YY zk*P1JZrYVwPJKV=C#UpHUrCh-y{p_r@BRxFiyc{b?FR^2zM{!%y z%=N-=N4#{)?f7Wg75R3wpIx=KC2Zn$pqKU2i}D-ocn^CrJl>t%XZ!4Eh97rlyKG;E zZritCM#P7Vkeb61kqvnZ$_V8VmFIZUVI~lvlo+$fCn@t&Lm?@O*uofgGnOa$90#!J zWgNdI!Ed;P0r5J)L_T2>7r0a8gPlYO~Z}2Un>ls8GFJ zquwB?j&rSgo9oo6G&iUr*+U;QSN)55nx8Lg#oVaP6uE-A+H4kR^H`)U+}xV^&NER53yd~#RmNV8}&E2OCMm9{vKWW``oRcVYB-M zs)fRQH)T?lgHp&8>o~+=DeD%N^Gnf%q=sE&L^7l@`#n2T>NG%)XZHz%Bd1z%S_bL$#Dj?m^Lk$72w~x0;{isbB5fX^CEOD7S@#nY z0-xt)k@AJsb)IirNUq^1uMic=?Vd+Ef=~ZY`g+XWEc!`amHsL*IKgY;tTA4HjoLH$@7lkJW!TE*^%qR6WRBbV&Nu>VDyTgpjsE-RDs< zr4fJUZQdbI+HsZ>X*ss|g9LY%*GMVfl~RrrOC*^Fw?Zc|b9~>GaUDtOJxOXLl|PQA za!OX^`_iIjinGkYF!;bAtPCa@lo*s7TmkM$-pGlg3a6_NoSB6ar=4elL2&ZSf|6kh z&Y=yXU0{s(D0QBg^yk`P{8^@8iK{bESdiatFeuO-;+4d5>XM6UK@)?EK}X>K&4jEp z)s5~#L_J$KBl!Yzx^&LJ%X1!7viZ+3<2+%Bbb(S2b*IP|0V~eQz?tqfD(#YMKyGAR z{vdXF`P5#TN7sjYdFbvg$XzG*de=$uh%KjOT-{&nNDV(Z#AzyBe#yLIVEAv O$f?FhV)Z9a8u~B)w)86i delta 1897 zcmai#Yfx2H6vu!2oXb7;Ue3Lo%R@bKN01~zq%4~p(UPNQ~2tI&>lS;b~&%;0j9 z2If24d>3RcQ0TR_#}cGlmsb1-Mq|DvgTC zvZ~nm(I1s0Z+DUW26uSWehQkQ5bL~HBJ=&1~$6>P0kjhIBOmE zn%u``g;C$oFr&F;k)p^cHAY2Udy<>XXdW=x!h=p`pw#!U$s^s>fw`)CcW}J!d)1)F z`Q7|3qZv)=06I#r{qlU&IUF8R`k46K5#oJZp5~za1Y2bkq?0GzSTM>lNEd*-UX1g$ z6RznYZAQQ;i#(@%&To+dRqo`b73Rn6U>_3{y9kto?2v72#ow7c*qQvMGuizjm3B&k zi=9ksnyPcEt=wp(?H5NZ7V|YUr7V7nMrW+?oMz|XL672v(pmX-2t7ONS;W`^#MtqMf*-s7!7|CJs_=6KvHltJ?`6{0h zRlp=w#F=V5rE0R=jwwu2GdWw${E6R_QsCs~kTym0ZcVkf(TB^r@4p zy^Uu?t<_ZWtoVYWO$YJk#55%1kQW$|{EK+r3p~sO24*`%&@Nseq$-%qi*yqd_zGSU zDutauLUAzpz{C>0_dHh&P3Pikhsx z=Pj}PYKl6@9$8_iZE6K?vw(o=QtiAW1mi)~ty;ZILLz-X@3NOvDZpOdlWCLpW%DvQ zXafT769ESl5=-ju>hgi;GLYpyIeY`8J`_>|RQCT(rC++kM^c!1WG6Wb!{C6yu&^@7 zGZ<|!#^6*)GL=-Ba>i$!q7FFovqr{qj-VYyJI)XZQtB9%I?AM@q$J75^kDvhGDaX9 z4L+8a2Y4FRe+L-^B>XQ1$H)=K@8l$ 0) { int[] lambdaValues = new int[indipendentVariables]; for (int i = 0; i < indipendentVariables; i++) { - lambdaValues[i] = (rand.nextInt(n) + 1); // valori tra 1 e 9 + lambdaValues[i] = (rand.nextInt(m) + 1); // valori tra 1 e 9 } solutions = constructSolution(extendedMatrix, lambdaValues, rank); @@ -45,14 +45,10 @@ public class LinearSystem { } private boolean validNumbers(int[] x) { - boolean positive = false; - boolean negative = false; for (int xi : x) { - if (xi > 0) positive = true; - else if (xi < 0) negative = true; - if (xi == 0) return false; + if (xi <= 0) return false; } - return positive && negative; + return true; } private int[] constructSolution(int[][] extendedMatrix, int[] parameters, int rank) { diff --git a/src/WorldBuilder.java b/src/WorldBuilder.java index 94f44ed..1a929d7 100644 --- a/src/WorldBuilder.java +++ b/src/WorldBuilder.java @@ -8,7 +8,7 @@ public class WorldBuilder { Random rand = new Random(); // da cambiare il numero a 8 //int numElements = 3 + rand.nextInt(8); - int numElements = 5; + int numElements = 6; List selectedElements = new ArrayList<>(Arrays.asList(allElements)); Collections.shuffle(selectedElements); selectedElements = selectedElements.subList(0, numElements); @@ -23,7 +23,7 @@ public class WorldBuilder { if (el == followingElement) { links.put(el, 1); } else if (el != element) { - links.put(el, 1); + links.put(el, 0); } } @@ -37,24 +37,24 @@ public class WorldBuilder { continue; } -// // controllo anche prima per evitare che magari da un estrazione si vada a togliere -// if (elementLinks.get(el) == 1){ -// linkDirections.get(el).put(element, -1); -// } -// -// if (elementLinks.get(el) == 0) { -// if (Math.random() < 0.5) { -// linkDirections.get(el).put(element, 1); -// } else { -// linkDirections.get(el).put(element, -1); -// } -// } -// -// if (elementLinks.get(el) == 1){ -// linkDirections.get(el).put(element, -1); -// } else { -// linkDirections.get(el).put(element, 1); -// } + // controllo anche prima per evitare che magari da un estrazione si vada a togliere + if (elementLinks.get(el) == 1){ + linkDirections.get(el).put(element, -1); + } + + if (elementLinks.get(el) == 0) { + if (Math.random() < 0.5) { + linkDirections.get(el).put(element, 1); + } else { + linkDirections.get(el).put(element, -1); + } + } + + if (elementLinks.get(el) == 1){ + linkDirections.get(el).put(element, -1); + } else { + linkDirections.get(el).put(element, 1); + } } } @@ -114,8 +114,8 @@ public class WorldBuilder { if (el == element) { continue; } - //int direction = linkDirections.get(element).get(el); - graphElement.addLink(new ElementLink(solution[getIndex(element, el, pairIndex)], el)); + int direction = linkDirections.get(element).get(el); + graphElement.addLink(new ElementLink(solution[getIndex(element, el, pairIndex)] * direction, el)); } world.addElement(graphElement); }