{"id":487,"date":"2026-06-03T14:51:40","date_gmt":"2026-06-03T12:51:40","guid":{"rendered":"https:\/\/actilud.com\/info\/en\/?p=487"},"modified":"2026-06-03T15:03:14","modified_gmt":"2026-06-03T13:03:14","slug":"parameterization","status":"publish","type":"post","link":"https:\/\/actilud.com\/info\/en\/parameterization\/","title":{"rendered":"Generation of formal proposals: parameterization"},"content":{"rendered":"<div class=\"entry-content\">\n<p><strong><span dir=\"auto\">Coming soon to Actilud.<\/span><\/strong><span dir=\"auto\">\u00a0Once the programming instructions are entered, you must generate the formal propositions, that is, the statements that make up the puzzle. These statements are &#8220;formal&#8221; because they are written symbolically, using signs, which you will need to translate into everyday language.<\/span><\/p>\n<p><span dir=\"auto\">The generation of formal proposals depends, of course, first and foremost on the programming instructions. But it also depends on how these instructions are organized, which is configured in the Advisor at the time of generation.<\/span><\/p>\n<h2><span dir=\"auto\">Difficulty level<\/span><\/h2>\n<p><span dir=\"auto\">Checking one of the two boxes,\u00a0\u00a0<\/span><em><span dir=\"auto\">standard<\/span><\/em><span dir=\"auto\">\u00a0or\u00a0<\/span><em><span dir=\"auto\">expert,<\/span><\/em><span dir=\"auto\">\u00a0modifies the following fields in the window:<\/span><\/p>\n<ul>\n<li><span dir=\"auto\">square<\/span><\/li>\n<li><span dir=\"auto\">invariance, implication<\/span><\/li>\n<li><span dir=\"auto\">assessment<\/span><\/li>\n<\/ul>\n<p><span dir=\"auto\">These fields are reset to their default values, according to the chosen mode. You can then modify them manually.<\/span><\/p>\n<h2><span dir=\"auto\">Maximum number of attempts before resuming<\/span><\/h2>\n<p><span dir=\"auto\">The designer operates recursively. It can sometimes get stuck in a calculation that leads nowhere. The number shown here is the\u00a0<\/span><em><span dir=\"auto\">maximum number of evaluations that are tolerated\u00a0<\/span><\/em><em><span dir=\"auto\">for a configuration<\/span><\/em><span dir=\"auto\">\u00a0before the designer restarts the program \u2013 it makes another attempt and indicates &#8220;too many calculations&#8221;.<\/span><\/p>\n<p>If you set the value too low, the designer won&#8217;t be able to perform all the necessary evaluations to find a viable puzzle.<\/p>\n<p><span dir=\"auto\">So, if you see the number of attempts increasing too quickly, it means the number of evaluations allocated is too low. Stop the process and increase the value.<\/span><\/p>\n<p><span dir=\"auto\">Conversely, if the value is too high, the designer may get lost in their calculations. Decrease the value.<\/span><\/p>\n<p><span dir=\"auto\">It all depends on the program, of course.<\/span><\/p>\n<blockquote><p><strong><span dir=\"auto\">The\u00a0<\/span><em><span dir=\"auto\">maximum number of attempts<\/span><\/em><span dir=\"auto\">\u00a0allows the designer to be adjusted<\/span><\/strong><span dir=\"auto\">\u00a0:<\/span><\/p>\n<ul>\n<li><strong><span dir=\"auto\">The value is decreased<\/span><\/strong><span dir=\"auto\">\u00a0if the calculations are too long;<\/span><\/li>\n<li><strong><span dir=\"auto\">The value is increased<\/span><\/strong><span dir=\"auto\">\u00a0if the number of attempts explodes!<\/span><\/li>\n<\/ul>\n<\/blockquote>\n<h2>Generated statements order<\/h2>\n<p><strong><span dir=\"auto\">Random order:<\/span><\/strong><span dir=\"auto\">\u00a0the statements are out of order.<\/span><\/p>\n<p><strong><span dir=\"auto\">By descending score:<\/span><\/strong><span dir=\"auto\">\u00a0each statement is tested on an empty grid and assigned a score. This score is calculated from the\u00a0<\/span><em><span dir=\"auto\">Evaluation fields.\u00a0<\/span><\/em><span dir=\"auto\">\u00a0The statements are then ranked by descending score. Statements that provide the most information on an empty grid are ranked first. Statements with the same score are ranked randomly.<\/span><\/p>\n<p><strong><span dir=\"auto\">Follow the order of the instructions:<\/span><\/strong><span dir=\"auto\">\u00a0the statements are displayed in the order in which they are produced.<\/span><\/p>\n<h2><span dir=\"auto\">Square<\/span><\/h2>\n<p><span dir=\"auto\">The square is a less common but very interesting puzzle-solving technique. It is always offered in standard or expert mode. However, if you want to create particularly easy puzzles, you can choose &#8220;no&#8221;.<\/span><\/p>\n<ul>\n<li><strong><span dir=\"auto\">No:<\/span><\/strong><span dir=\"auto\">\u00a0the puzzle can be solved without using the square technique. Note that a square can still be formed! But it is not required for the solution.<\/span><\/li>\n<li><strong><span dir=\"auto\">Possible:<\/span><\/strong><span dir=\"auto\">\u00a0a square doesn&#8217;t necessarily form. But if it does, it&#8217;s part of the solution and the player must discover it. Note that the square&#8217;s appearance depends on the order in which the player processes the information.<\/span><\/li>\n<\/ul>\n<h2><span dir=\"auto\">Invariance, implication<\/span><\/h2>\n<p><span dir=\"auto\">These two techniques are linked; implication always takes precedence over invariance.<\/span><\/p>\n<ul>\n<li><strong><span dir=\"auto\">No:\u00a0<\/span><\/strong><span dir=\"auto\">\u00a0the puzzle can be solved without implication or invariance.<\/span><\/li>\n<li><strong><span dir=\"auto\">Possible:\u00a0<\/span><\/strong><span dir=\"auto\">\u00a0implication or invariance may be present, but is not required. If it is present, the player must usually discover it.<\/span><\/li>\n<li><strong><span dir=\"auto\">Required:<\/span><\/strong><span dir=\"auto\"> either implication or invariance must be part of the puzzle. If a generated puzzle contains neither of these techniques, it is rejected and the message &#8220;puzzle too easy&#8221; appears. The puzzle designer then continues its search until it finds a suitable puzzle.<\/span><\/li>\n<\/ul>\n<h2><span dir=\"auto\">Assessment<\/span><\/h2>\n<p><span dir=\"auto\">Each instruction generates several &#8220;moves&#8221; which are ranked by score. Each move is evaluated based on the\u00a0<\/span><strong><span dir=\"auto\">changes<\/span><\/strong><span dir=\"auto\">\u00a0it makes to the grid at the time it is created. The grid may be partially filled at the time a move is created.<\/span><\/p>\n<p>The score is calculated based on the <em>changes<\/em>: only the boxes that the statement has changed are taken into account.<\/p>\n<p>You can adjust the value of each change, depending on whether it is a \u201cfalse\u201d box, a \u2018true\u2019 box, or a \u201cboo\u00e9en.\u201d<\/p>\n<p><span dir=\"auto\">There are a number of subtleties that must be mastered before attempting to modify the score.<\/span><\/p>\n<p><span dir=\"auto\">By default, in\u00a0<\/span><em><span dir=\"auto\">standard mode, a\u00a0<\/span><\/em><em><span dir=\"auto\">true<\/span><\/em><span dir=\"auto\">\u00a0sign\u00a0\u00a0has a value of 1, just like a\u00a0\u00a0<\/span><em><span dir=\"auto\">false<\/span><\/em><span dir=\"auto\">\u00a0sign , even though one might expect it to be scored higher. However, if a move produces a\u00a0\u00a0<\/span><em><span dir=\"auto\">true sign,<\/span><\/em><span dir=\"auto\">\u00a0the rows and columns connected to that\u00a0<\/span><em><span dir=\"auto\">true sign are filled with\u00a0<\/span><\/em><em><span dir=\"auto\">false<\/span><\/em><span dir=\"auto\">\u00a0signs ,\u00a0which are therefore also counted. If there are already cells filled with\u00a0<\/span><em><span dir=\"auto\">false signs,\u00a0<\/span><\/em><span dir=\"auto\">\u00a0the move will have a lower value. A move with a score that is too low will not be recorded. This prevents trivial or overly simple moves from being recorded.<\/span><\/p>\n<p><span dir=\"auto\">In\u00a0<\/span><em><span dir=\"auto\">expert<\/span><\/em><span dir=\"auto\">\u00a0mode , booleans are favored over true signs, which are assigned a negative value to delay their appearance. This makes the puzzles more difficult because the lifespan of booleans is maintained as long as possible.<\/span><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Coming soon to Actilud.\u00a0Once the programming instructions are entered, you must generate the formal propositions, that is, the statements that make up the puzzle. These statements are &#8220;formal&#8221; because they are written symbolically, using signs, which you will need to translate into everyday language. The generation of formal proposals depends, of course, first and foremost [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-487","post","type-post","status-publish","format-standard","hentry","category-zebra-puzzles-glossary-of-programming-instructions"],"_links":{"self":[{"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/posts\/487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/comments?post=487"}],"version-history":[{"count":3,"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/posts\/487\/revisions"}],"predecessor-version":[{"id":490,"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/posts\/487\/revisions\/490"}],"wp:attachment":[{"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/media?parent=487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/categories?post=487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/actilud.com\/info\/en\/wp-json\/wp\/v2\/tags?post=487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}