Questions tagged «kolmogorov-complexity»

非正式地,Kolmogorov复杂度是描述或产生恒定对象(例如字符串或图像)所花费的代码量。在此类别中发布挑战时,请确保它为现有挑战添加了新内容。

7
打印Pentomino矩形
编写一个程序或函数,该程序或函数不输入任何内容,但打印或返回由12种不同的Penminominos组成的矩形的恒定文本描述: 矩形可以具有任意尺寸,并且在任何方向上都可以,但是所有12个戊糖都必须精确使用一次,因此其面积为60。每个不同的戊糖都必须由不同的可打印ASCII字符组成(您不必使用上面的字母)。 例如,如果您选择输出此20×3 pentomino矩形解决方案: 程序的输出可能如下所示: 00.@@@ccccF111//=--- 0...@@c))FFF1//8===- 00.ttttt)))F1/8888=- 另外,您可能会发现更容易打高尔夫球这种6×10的解决方案: 000111 203331 203431 22 444 2 46 57 666 57769! 58779! 58899! 5889!! 任何矩形解决方案都可以,您的程序只需打印一个即可。(输出中的尾随换行符就可以了。) 这个出色的网站提供了各种矩形尺寸的解决方案,值得您浏览以确保解决方案尽可能简短。这是代码高尔夫球,最短的答案以字节为单位。

8
打印出最小的完美平方平方
平方正方形是仅使用其他正方形平铺正方形的过程。如果此平铺仅使用不同大小的正方形,则认为它是完美的。在尽可能小的完美方方是一个112x112使用21个不同的正方形瓷砖广场。 我在下面创建了这个正方形的ascii艺术版本: ################################################################################################################ # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## …

6
模式中程序的王子前缀
您应该编写一个程序或函数,该程序或函数应尽可能输出或返回《小王子》第一章。您的程序或函数必须是M×N的代码块,其中仅包含可打印的ASCII字符(代码点从32到126),并在每行末尾添加换行符。 您最多只能使用 96个可打印的ascii字符(以及行尾的换行符)中选择的26个字符。 在每一行和每一列中,每个字符都必须与数独谜题相似,即每行或每列两次都不能有字母。 正确的例子代码块用M = 4,N = 3并且alphabet = {a,b,c,d,/,*}: abcd bcd* */ac 代码详细信息 您可以选择代码块的形状(即M和N)。 该块必须完全用字符填充,即每一行必须具有相同的长度。 最后一行末尾的换行符是可选的。 如上面在每一行和每一列中所写,每个字符必须是不同的。 输出细节 您应该输出或返回《小王子》第一章的前缀, 而无需任何其他输出。 如果您在文本中找到换行符,则可以将其表示为任何常见的变体(\ r,\ n,\ r \ n),但仅使用其中之一并将其计为分数的1个字节。 额外的尾随换行符是可选的。 您的分数是输出文本的长度,不包括额外的换行符(如果存在)。分数越高越好。 示例答案 ##Python3, score = 6 alphabet = `print('O\ce w)#X` (alphabet element count = 16) print('O\ nce w')#X 您可以使用此Python 3(ideone)程序或@MartinBüttner提供的CJam程序(在线)检查代码的有效性。

1
编写Kolmogorov复杂度求解器
该柯尔莫哥洛夫复杂的字符串的小号最短程序的长度P,写一些编程语言大号,其输出正好是小号。 (是的,真正的定义比较正式,但这足以应付挑战。) 你在这个挑战任务是写的最短的“柯尔莫哥洛夫复杂解算器”,就是写在程序大号,它接受一个字符串本身小号,并返回最短P写在大号输出小号。 天真的方法是遍历所有长度为1的程序,然后是所有长度为2的程序,然后是所有长度为3的程序,依次类推,依次运行每个程序并测量输出,直到找到输出S的程序。这种方法的问题在于其中某些程序可能永远不会停止运行,这意味着求解器本身可能永远也不会停止。而且由于停顿问题,没有确定方法可以避免程序无法停止。 一个简单但不完善的解决方案是对每个潜在P的执行时间设置时间限制。可能不会暂停的程序可能会被跳过,但是求解器肯定会停止(假设L中的程序确实可以输出在时限内 S)。 挑战 将您的求解器编写为包含三件事的程序或函数: 字符串 s ^。 正整数 T,它是时间限制(以秒为单位)或一些较小的时间跨度(例如毫秒)。 字符字母的字符串A用于潜在的P的。 并输出仅包含A中字符的最短P,以少于T个时间单位运行,并输出小号。 这是一般的伪代码: Function KolmogorovComplexitySolver(S, T, A): Assign N to 0 Loop until function returns: In any order, iterate over all strings of length N that only contain characters from *A*. Call the current string P: Execute …

24
老麦克唐纳函数
用您选择的语言创建一个函数,该函数将输出以下内容: Old MacDonald had a farm, E-I-E-I-O, And on that farm he had a cow, E-I-E-I-O, With a moo moo here and a moo moo there, Here a moo, there a moo, everywhere a moo moo, Old MacDonald had a farm, E-I-E-I-O! 例如,其中cow和moo是函数参数中的字符串,可以更改为pig和oink或sheep和baa。 它应考虑大写字母,连字符,标点符号,空格和换行符。 旨在在代码中键入最少的Unicode字符。

24
以不同的底数计算6 * 9
输出以下结果(以2到36为基础计算6 * 9的结果)。确保字母是大写的,并且乘法本身会输出到每一行。 6 * 9 = 110110 6 * 9 = 2000 6 * 9 = 312 6 * 9 = 204 6 * 9 = 130 6 * 9 = 105 6 * 9 = 66 6 * 9 = 60 6 * 9 = 54 6 * …

8
最短,字典上最小的生成字符串
如果是的无限重复的子字符串,则字符串会x 生成一个字符串。例如产生。yyxabcbcabcab 编写程序以查找将生成输入的最短,字典最小的字符串。在标准输入上会为您提供单行文本。您应该将生成的字符串打印到标准输出。例如: 输入 bcabcabca 输出 abc 最短的代码获胜。您可以假设输入仅包含字符az(如果需要,还可以包含尾随换行符)。

4
使用ASCII艺术图可视化长除法
编写一个程序,以可视化方式用ASCII艺术进行长除法。使用您选择的输入格式,输入由两个整数组成:分子和分母。 例子: 1234÷56: 22 ---- 56|1234 112 --- 114 112 --- 2 1002012÷12: 83501 ------- 12|1002012 96 --- 42 36 -- 60 60 -- 12 12 -- 0÷35 0 - 35|0 规则: 编程语言的除法运算符的用途是允许的。 也允许使用大整数支持。 为了保持一致: 如果商为零,则在跳水板的末端打印一个零。 如果余数为零,请不要打印。 不要在任何数字上打印前导零。 末尾多余的换行符和右边的尾随空格是允许的。 字符最少的解决方案获胜。 限制: 0 <=分子<= 10 72 - 1 1 <=分母<= 9999999 …

1
绘制入口字形
在基于位置的AR移动游戏Ingress的生活方式中,玩家可以破解称为Portal的东西以获得物品。(如果您对Ingress感兴趣,可以在聊天中ping我以获取更多信息。相信我,它比Pokémon更好。如果最终下载了它,请记住选择“抵抗军”。) 显着增加破解输出的一种方法是字形破解迷你游戏,其中玩家必须在六边形网格上绘制字形。 总共,游戏中实际使用了约115个字形和约130个名称。 字形 为了这个挑战,我们将对网格的每个点进行编号,如下所示: 这是针对此挑战的所有字形的列表。该列表是一个JSON对象,其中包含每个字形作为边列表。 { "ABANDON": [[1, 6], [3, 4], [4, 8], [6, 10], [8, 10]], "ACCEPT": [[3, 7], [3, 8], [7, 8]], "ADVANCE": [[0, 9], [4, 9]], "AFTER": [[1, 2], [1, 6], [2, 7], [6, 10], [7, 10]], "AGAIN": [[4, 9], [6, 7], [6, 10], [8, 9], …

18
给我盖毯!
我想要一条看起来像这样的毯子。每个条带都在上方,下方,上方,下方。可以打印吗? \\\\////\\\\////\\\\////\\\\////\\\\////\\\\//// \\//// \\//// \\//// \\//// \\//// \\//// //// //// //// //// //// //// ////\\ ////\\ ////\\ ////\\ ////\\ ////\\ ////\\\\////\\\\////\\\\////\\\\////\\\\////\\\\ \// \\\\// \\\\// \\\\// \\\\// \\\\// \\\ \\ \\\\ \\\\ \\\\ \\\\ \\\\ \\ \\\ //\\\\ //\\\\ //\\\\ //\\\\ //\\\\ //\ \\\\////\\\\////\\\\////\\\\////\\\\////\\\\//// \\//// \\//// \\//// \\//// \\//// \\//// //// …

13
引用大哥
任务:让您的程序在运行时随机选择以下两个引号之一,并完全按照所示打印该引号。 1: Under the spreading chestnut tree I sold you and you sold me. There lie they, and here lie we Under the spreading chestnut tree. 2: WAR IS PEACE. FREEDOM IS SLAVERY. IGNORANCE IS STRENGTH. 限制:字spreading,chestnut,PEACE,FREEDOM,和STRENGTH 必须出现在你的代码。以上两个引号中的任何单词都不能多次出现在您的代码中。 最短的解决方案获胜。

29
微笑!只是笑一下
众所周知,Brainf * ck在解决Kolmogorov复杂性问题方面非常糟糕,例如,仅打印“ Hello world”就需要大约100个字符。 但是,在某些文本中Brainf * ck可能非常擅长。 现在,您的任务是编写一个无需输入的程序,并显示以下内容: ☺ 也就是说,是笑脸(如果您的浏览器未渲染,则为ASCII 1)。 Brainf * ck可以用2个字符完成此操作。 +. 尝试找到一种胜过它的语言! 我们假设您的控制台可以实际显示该字符(或您的字体具有该字符,等等)。 最短的代码获胜。如果还有更多相同的长度,则第一个获胜,但我也会对其他人投票。 编辑:非常抱歉,我不认为第一篇文章会很快到达。快速编辑:语言必须是图灵完整的!

7
振荡平等
我们的对象在两个整数点之间[l, r]以每时间单位一个单位的速度从lon 开始振荡t=0。您可以假设l < r。例如,如果一个对象在上振荡[3, 6],则我们有: t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 等等,但是物体不断振荡,所以我们还有t=0.5 -> 3.5和t=3.7 -> 5.3。 由于两个物体之间振荡[l1, r1],[l2, r2],确定是否存在过一段时间t,使得这两个对象共享相同的位置。您可以采用l1, r1, l2, r2任何方便的格式,并输出任何真实/错误值。 真实的输入: [[3, 6], [3, 6]] [[3, 6], [4, 8]] …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

12
十进制的AZ,您知道吗?
作为我先前挑战的跟进,单词数达到20!,我们将再次使用该挑战中的单词列表来执行其他任务。这次,您将专门使用: https://github.com/魔术八爪鱼缸/wordListsByLength/blob/master/10.txt 要选择26个不同的单词,每个单词都以一个唯一的字母开头,并按从A到Z的升序输出。这是一个有效的示例: aardwolves babbitting caravaning debilitate evaporator fantasized geographer hawfinches imbecility juvenility kalanchoes lamaseries malodorous nudibranch oligophagy pantywaist quarreling russetting scantiness teetotaler undercount voodooisms wentletrap xenophobic yeomanries zwitterion 这是一个阿德沃夫,这是一种蜡嘴鸟,这是一个长寿,这是一个裸鳃亚目和海蛳螺科。 规则 不能直接从存储库中读取内容,也不能发现任何其他漏洞。 您可以从链接中选择任何26个单词。 您选择单词,这些是您的程序每次应输出的单词。 必须选择一个以以下每个字母开头的单词: [a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, …

30
创建一个鹦鹉程序
给定输入,输出该输入,然后不断地换行。 输入将是仅由可打印的ASCII字符(0x20-0x7E)和换行符(0x0A)组成的字符串。 如果输入长度为0,则不断输出换行符。 这是代码高尔夫球,因此每种语言中最少的字节会获胜!
15 code-golf  string  sequence  combinatorics  fastest-code  number  code-challenge  restricted-source  rosetta-stone  code-golf  arithmetic  decision-problem  integer  factorial  code-golf  arithmetic  decision-problem  integer  bitwise  code-golf  kolmogorov-complexity  code-golf  tips  vim  code-golf  quine  code-generation  code-golf  string  restricted-source  code-golf  string  random  unicode  code-golf  audio  code-golf  ascii-art  code-golf  decision-problem  code-golf  puzzle-solver  code-golf  restricted-source  code-golf  kolmogorov-complexity  permutations  hexagonal-grid  code-golf  string  math  combinatorics  fastest-code  code-golf  restricted-source  code-golf  string  code-golf  arithmetic  code-golf  math  number  code-golf  string  decision-problem  balanced-string  code-golf  binary  code-golf  string  number  code-challenge  restricted-source  code-golf  ascii-art  printable-ascii  interactive  code-golf  string  ascii-art  code-challenge  restricted-source  source-layout  code-golf  arithmetic  tips  functional-programming  golfing-language  code-golf  binary  encryption 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.