คำถามติดแท็ก kolmogorov-complexity

ความซับซ้อนของ Kolmogorov อย่างไม่เป็นทางการคือจำนวนของรหัสที่ใช้อธิบายหรือสร้างวัตถุคงที่เช่นสตริงหรือรูปภาพ เมื่อโพสต์ความท้าทายในหมวดหมู่นี้โปรดตรวจสอบให้แน่ใจว่ามันเพิ่มสิ่งใหม่ ๆ ให้กับความท้าทายที่มีอยู่

8
พิมพ์จัตุรัสที่เล็กที่สุดที่สมบูรณ์แบบ
Squaring the Squareเป็นกระบวนการของการปูกระเบื้องสี่เหลี่ยมโดยใช้สี่เหลี่ยมอื่น ๆ เท่านั้น ถ้าปูกระเบื้องนี้เพียงใช้สี่เหลี่ยมขนาดแตกต่างกันแล้วมันจะถือเป็นที่สมบูรณ์แบบ ที่สมบูรณ์แบบที่เป็นไปได้ที่เล็กที่สุดสี่เหลี่ยมตารางเป็นตารางที่ 112x112 กระเบื้องใช้ 21 สี่เหลี่ยมที่แตกต่างกัน ฉันได้สร้างเวอร์ชันศิลปะ ascii ของสี่เหลี่ยมด้านล่างนี้: ################################################################################################################ # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## # # ## ## …

6
คำนำหน้าหลักการโดยโปรแกรมในรูปแบบ
คุณควรเขียนโปรแกรมหรือฟังก์ชั่นที่ส่งออกหรือส่งคืนของบทที่หนึ่งของเจ้าชายน้อยที่สุดเท่าที่จะทำได้ โปรแกรมหรือฟังก์ชั่นของคุณจะต้องเป็นบล็อคโค้ด M-by-N ที่มีอักขระ ASCII ที่พิมพ์ได้เท่านั้น (codepoint ตั้งแต่ 32 ถึง 126) และขึ้นบรรทัดใหม่ที่ท้ายแต่ละแถว คุณสามารถใช้อักขระที่คุณเลือกได้ไม่เกิน 26 ตัวจากอักขระ ASCII ที่พิมพ์ได้ 96 ตัว (และขึ้นบรรทัดใหม่ที่ท้ายแถว) ในแต่ละแถวและคอลัมน์อักขระทุกตัวจะต้องมีความแตกต่างคล้ายกับตัวต่อซูโดกุเช่นไม่มีตัวอักษรในแถวหรือคอลัมน์สองครั้ง codeblock ตัวอย่างที่ถูกต้องด้วยM = 4, N = 3และalphabet = {a,b,c,d,/,*}: abcd bcd* */ac รายละเอียดรหัส คุณสามารถเลือกรูปร่างของการบล็อกรหัสของคุณ (เช่นMและN) บล็อกต้องเต็มไปด้วยอักขระทั้งหมดเช่นทุกแถวจะต้องมีความยาวเท่ากัน ขึ้นบรรทัดใหม่ท้ายท้ายแถวสุดท้ายเป็นทางเลือก ดังที่เขียนไว้ด้านบนในแต่ละแถวและคอลัมน์อักขระทุกตัวจะต้องแตกต่างกัน รายละเอียดผลลัพธ์ คุณควรเอาท์พุทหรือคืนคำนำหน้าของบทที่ 1 ของ The Little Prince โดยไม่ต้องเพิ่มเอาต์พุต หากคุณมาถึงบรรทัดใหม่ในข้อความคุณสามารถแสดงว่ามันเป็นตัวแปรทั่วไป (\ r, …

1
เขียนตัวแก้ความซับซ้อนของ Kolmogorov
ซับซ้อน KolmogorovของสตริงSคือความยาวของโปรแกรมสั้นPเขียนในบางภาษาโปรแกรมLที่มีการส่งออกเป็นสิ่งS (ใช่คำจำกัดความที่แท้จริงนั้นเป็นทางการมากกว่า แต่จะเพียงพอสำหรับความท้าทาย) งานของคุณในความท้าทายนี้คือการเขียนที่เป็นไปได้ "Kolmogorov ซับซ้อนแก้" ที่สั้นที่สุดที่เป็นโปรแกรมที่เขียนในLตัวเองที่ใช้เวลาในสตริงSและผลตอบแทนที่สั้นที่สุดPเขียนในLที่เอาท์พุทS วิธีไร้เดียงสาที่จะนี้คือการย้ำกว่าทุกความยาว 1 โปรแกรมแล้วทั้งหมดยาว 2 โปรแกรมแล้วทั้งหมดความยาว 3 โปรแกรมและอื่น ๆ ทำงานแต่ละของพวกเขาและการวัดการส่งออกจนกว่าโปรแกรมที่เอาท์พุทSพบ ปัญหาของวิธีนี้คือโปรแกรมบางตัวอาจไม่หยุดทำงานซึ่งหมายความว่าตัวแก้ปัญหาอาจไม่หยุดทำงาน และเนื่องจากปัญหาการหยุดทำงานไม่มีวิธีที่แน่นอนในการหลีกเลี่ยงโปรแกรมที่ไม่หยุด เรียบง่าย แต่วิธีการแก้ปัญหาที่ไม่สมบูรณ์คือการใส่เวลาที่ จำกัด ในเวลาดำเนินการของแต่ละศักยภาพP 's โปรแกรมที่ไม่ได้หยุดชะงักในเวลาอาจถูกส่งผ่าน แต่ตัวแก้ปัญหาจะหยุดแน่นอน (สมมติว่าโปรแกรมในLสามารถส่งออกSภายในเวลาที่กำหนด) ท้าทาย เขียนตัวแก้ปัญหาของคุณเป็นโปรแกรมหรือฟังก์ชั่นที่มีสามสิ่ง: สตริงS เลขจำนวนเต็มบวกTนั่นคือการ จำกัด เวลาในหน่วยวินาทีหรือบางช่วงเวลาที่เล็กลง (เช่นมิลลิวินาที) สตริงAของตัวอักษรของอักขระที่ใช้สำหรับP 'ที่มีศักยภาพ และผลที่สั้นที่สุดPที่มีเพียงตัวละครในวิ่งในเวลาน้อยกว่าTหน่วยเวลาและเอาท์พุทS นี่คือ pseudocode ทั่วไป: Function KolmogorovComplexitySolver(S, T, A): Assign N to 0 Loop until …

24
ฟังก์ชั่นเก่าของ MacDonald
สร้างฟังก์ชั่นในภาษาที่คุณเลือกซึ่งจะพิมพ์สิ่งต่อไปนี้: 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 ในฐานที่ต่างกัน
เอาท์พุทผลลัพธ์ต่อไปนี้ (ซึ่งเป็นผลมาจากการคำนวณ 6 * 9 ในฐานตั้งแต่ 2 ถึง 36) ตรวจสอบให้แน่ใจว่าตัวอักษรเป็นตัวพิมพ์ใหญ่และตัวคูณจะถูกส่งออกในทุกบรรทัด 6 * 9 = 110110 6 * 9 = 2000 6 * 9 = 312 6 * 9 = 204 6 * 9 = 130 6 * 9 = 105 6 * 9 = 66 6 * 9 = 60 …

8
สตริงการสร้างที่สั้นที่สุด
สตริงx สร้างสตริงyถ้าyเป็น substring xของซ้ำไม่มีที่สิ้นสุดของ ยกตัวอย่างเช่นสร้างabcbcabcab เขียนโปรแกรมเพื่อค้นหาสตริงที่สั้นและสั้นที่สุดที่จะสร้างอินพุต คุณจะได้รับข้อความเดียวบรรทัดเดียวในอินพุตมาตรฐาน คุณควรพิมพ์สตริงการสร้างไปยังเอาต์พุตมาตรฐาน ตัวอย่างเช่น: อินพุต bcabcabca เอาท์พุต abc รหัสที่สั้นที่สุดชนะ คุณอาจสันนิษฐานว่าการป้อนข้อมูลมีเพียงตัวอักษร az (และขึ้นบรรทัดใหม่ต่อท้ายหากคุณต้องการ)

4
เห็นภาพการหารยาวด้วยศิลปะ ASCII
เขียนโปรแกรมที่แสดงภาพส่วนที่ยาวด้วย ASCII art อินพุตประกอบด้วยจำนวนเต็มสองจำนวนตัวเศษและส่วนโดยใช้รูปแบบอินพุตที่คุณเลือก ตัวอย่าง: 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 กฎ: การใช้งานของผู้ประกอบการส่วนการเขียนโปรแกรมภาษาที่จะได้รับอนุญาต อนุญาตให้ใช้จำนวนเต็มขนาดใหญ่ได้ เพื่อความมั่นคง: หากความฉลาดเป็นศูนย์ให้พิมพ์ศูนย์เดียวที่ท้ายกระดานดำน้ำ หากส่วนที่เหลือเป็นศูนย์อย่าพิมพ์ อย่าพิมพ์เลขศูนย์นำหน้าบนตัวเลขใด ๆ ขึ้นบรรทัดใหม่มากเกินไปที่ส่วนท้ายและช่องว่างต่อท้ายไปทางขวาจะได้รับอนุญาต การแก้ปัญหาด้วยตัวละครน้อยที่สุดชนะ …

1
วาดร่ายมนตร์ Ingress
ในวิถีชีวิตเกมมือถือ AR ตามสถานที่ผู้เล่นIngressสามารถแฮ็คสิ่งต่าง ๆ ที่เรียกว่าพอร์ทัลเพื่อรับไอเท็ม (หากคุณสนใจ Ingress คุณสามารถ ping ฉันในการแชทเพื่อรับข้อมูลเพิ่มเติมเชื่อฉันมันดีกว่าPokémonถ้าคุณดาวน์โหลดมันอย่าลืมเลือกความต้านทาน) วิธีเพิ่มแฮ็คเอาท์พุทอย่างมีนัยสำคัญคือminigame แฮ็ค glyphซึ่งผู้เล่นจะต้องวาด glyphs บนกริดหกเหลี่ยม โดยรวมแล้วมีร่ายมนตร์ประมาณ 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]], …

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 ตัวอย่างเช่นมันต้องการตัวอักษรประมาณ 100 ตัวเพื่อพิมพ์ "Hello world" อย่างไรก็ตามอาจมีข้อความที่ Brainf * ck ทำได้ดีมาก ตอนนี้งานของคุณคือการเขียนโปรแกรมที่ไม่มีอินพุตและจะแสดงสิ่งต่อไปนี้: ☺ นั่นคือหน้ายิ้ม (ASCII 1 หากเบราว์เซอร์ของคุณไม่แสดงผล) Brainf * ck สามารถทำได้ 2 ตัวอักษร +. ลองหาภาษาที่จะชนะ! เราสมมติว่าคอนโซลของคุณสามารถแสดงอักขระนั้นได้จริง (หรือแบบอักษรของคุณมีเป็นต้น) รหัสที่สั้นที่สุดชนะ หากมีความยาวเท่ากันคนแรกจะชนะ แต่ฉันจะโหวตคนอื่นเช่นกัน แก้ไข:ฉันเสียใจมากฉันไม่คิดว่าโพสต์แรกจะมาถึงในไม่ช้า การแก้ไขอย่างรวดเร็ว: ภาษาต้องสมบูรณ์ทัวริง!

7
ความเสมอภาคผันผวน
เรามีวัตถุที่สั่นระหว่างจุดสองจุดจำนวนเต็ม[l, r]ที่ความเร็วของหนึ่งหน่วยต่อหน่วยเวลาที่เริ่มต้นที่เกี่ยวกับl คุณอาจจะสมมติ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.5t=3.7 -> 5.3 เมื่อให้วัตถุสองชนิดสั่นระหว่างกัน[l1, r1]ให้[l2, r2]กำหนดว่ามีเวลาใดtที่วัตถุทั้งสองแบ่งปันตำแหน่งเดียวกันหรือไม่ คุณใช้เวลาl1, r1, l2, r2ในรูปแบบที่สะดวกและส่งออกค่าจริง / เท็จ อินพุตที่แท้จริง: [[3, 6], [3, …
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 ใน 10 ของคุณเห็นไหม
ตามมาถึงความท้าทายครั้งก่อนของฉันนับถึง 20 ด้วยคำพูด! เราจะใช้รายการคำจากความท้าทายนั้นอีกครั้งเพื่อทำงานอื่น เวลานี้คุณจะใช้เฉพาะ: https://github.com/Magic Octopus Urn / 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 นี่คือaardwolfนี้เป็นนกชนิดหนึ่งนี้เป็นkalanchoeนี้เป็นทากทะเลและwentletrap …

30
สร้างโปรแกรม Parrot
รับอินพุต, เอาต์พุตที่อินพุตตามด้วย newline ไม่รู้จบ ข้อมูลที่ป้อนจะเป็นสตริงที่ประกอบด้วยอักขระ 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 

20
แปลงอินพุตเป็นทิศทาง
ท้าทาย รับอินพุตในรูปแบบ<n1>, <n2>ที่ตัวเลขสามารถเป็น -1, 0 หรือ 1 ให้ส่งกลับทิศทางที่สำคัญ ตัวเลขที่เป็นบวกจะเคลื่อนที่ไปทางทิศตะวันออกในแกน x และทิศใต้ในแกน y ส่วนตัวเลขเชิงลบจะเลื่อนไปทางทิศตะวันตกในแกน x และทิศเหนือในแกน y เอาท์พุทจะต้องอยู่ในรูปแบบSouth East, ,North East Northมันเป็นกรณี ๆ ไป ถ้าใส่เป็น 0, 0, That goes nowhere, silly!โปรแกรมของคุณจะต้องกลับ ตัวอย่างอินพุต / ขาออก: 1, 1 -> South East 0, 1 -> South 1, -1 -> North East 0, 0 -> …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.