การสร้างศิลปะควอนตัม 8 บิต

RPA

เมื่อพูดถึง “งานศิลปะ 8 บิต” ภาพที่นึกถึงมักจะเป็นอาร์ตเวิร์กที่มีพิกเซลต่ำซึ่งคล้ายกับวิดีโอเกมย้อนยุค ข้อมูลแปดบิตไม่ใช่ข้อมูลจำนวนมาก แต่การทำงานกับข้อจำกัดดังกล่าวสามารถให้ผลลัพธ์ที่สวยงามและไม่เหมือนใคร เช่นเดียวกับวิดีโอเกมคอนโซลเมื่อวานนี้ คอมพิวเตอร์ควอนตัมยังอยู่ในช่วงเริ่มต้นของการพัฒนาด้วยเอาต์พุตที่เรียบง่าย ดังนั้นจึงควรที่จะทำโปรเจ็กต์ศิลปะ “8 บิต” จากคอมพิวเตอร์ควอนตัม หากคุณเดาได้จากภาพด้านบน การตีความศิลปะควอนตัม 8 บิตของฉันค่อนข้างแตกต่างจากศิลปะ 8 บิตแบบคลาสสิก

ระบบจัดการภายใน

การทำงานกับบิตหมายความว่าอย่างไร
A“เลขฐานสอง” หรือ“บิต” เป็นหน่วยพื้นฐานของข้อมูลสำหรับคอมพิวเตอร์มักจะแสดงเป็นหรือ0 1หากบางอย่างเป็น 8 บิต จะใช้ลำดับแปด0วินาที1เพื่อจัดเก็บข้อมูลที่ซับซ้อนมากขึ้น (แปดบิตรวมกันมักเรียกว่า “ไบต์”) คอมพิวเตอร์ใช้บิตเหล่านี้ในรูปแบบต่างๆ ตั้งแต่การส่องสว่างพิกเซลบนหน้าจอไปจนถึงการดำเนินการเชิงตรรกะ ไปจนถึงการดำเนินการประมวลผลอื่นๆ ทั้งหมด ขึ้นอยู่กับเราและซอฟต์แวร์ที่เราเขียนทั้งหมด ในฐานะศิลปิน ฉันตัดสินใจตีความบิตเป็นรูปร่าง
คอมพิวเตอร์ควอนตัมใช้บิตหรือไม่
ก่อนที่เราจะเข้าสู่งานศิลปะ เรามาพูดคุยกันสั้น ๆ เกี่ยวกับการทำงานของคอมพิวเตอร์ควอนตัมกัน แทนที่จะเป็นบิต คอมพิวเตอร์ควอนตัมใช้ “ควอนตัมบิต” หรือ “คิวบิต” เป็นหน่วยพื้นฐานของการคำนวณ ไม่เหมือนบิต qubit สามารถเป็นการรวมเชิงเส้น (เรียกอีกอย่างว่าการทับซ้อน) ของ0และ1. แต่เมื่อวัดแล้ว qubits จะคืนค่า a 0หรือ a 1เท่านั้น ซึ่งหมายความว่าเอาต์พุตของคอมพิวเตอร์ควอนตัมจะเป็นลำดับของบิตเสมอ
สำหรับงานศิลปะ 8 บิตของฉัน ฉันใช้แปด qubit แต่ละชุดในการวางซ้อนที่เท่ากัน (เท่ากับที่เราหาได้ในวันนี้) แล้ววัดทันที qubits ทั้งหมดมีโอกาสเท่ากันในการวัด a 0หรือ a 1ดังนั้นเราจึงได้สร้างเครื่องกำเนิดตัวเลขสุ่มควอนตัม อัลกอริธึมอื่นๆ ยังคงใช้งานได้สำหรับโปรเจ็กต์นี้ ตราบใดที่เอาต์พุตเป็นแปดบิต แต่ฉันต้องการเน้นที่การแสดงข้อมูลพื้นฐาน ดังนั้นอัลกอริธึมควอนตัมจึงมีความสำคัญน้อยกว่าสำหรับงานชิ้นนี้ สำหรับคนที่อยากรู้อยากเห็น รหัส Qiskit ที่ฉันใช้มีดังต่อไปนี้:
บิตเป็นรูปร่าง
Bits เป็นแนวคิดที่เป็นนามธรรม มนุษย์อาจแสดงพวกเขาเป็น0หรือ1แต่สำหรับคอมพิวเตอร์ พวกเขาเป็นตัวแทนของกระแสไฟฟ้าที่ไหลหรือไม่ สิ่งที่เราทำกับชิ้นส่วนนั้นขึ้นอยู่กับเรา และไม่มีกฎเกณฑ์ใดที่บอกว่าฉันไม่สามารถตีความพวกมันว่าเป็นตัวแทนของรูปร่างได้ สำหรับชิ้นงานของฉัน ฉันกำหนดให้แต่ละ qubits แปดตัวเป็นรูปร่างที่ฉันแสดง (หรือไม่แสดง) ตามการวัด qubit การกำหนดรูปร่างเป็นไปตามอำเภอใจโดยสมบูรณ์โดยมุ่งเน้นที่การสร้างสิ่งที่ดูสวยงามสำหรับองค์ประกอบสุดท้าย นี่คือศิลปะหลังจากทั้งหมด
ในการสร้างองค์ประกอบที่แสดงที่ด้านบน กฎค่อนข้างง่าย เรียกใช้ตัวสร้างตัวเลขสุ่มแปด qubit บนคอมพิวเตอร์ควอนตัมหลายครั้ง ผลลัพธ์จะเป็นสตริง 8 บิตที่อาจดูเหมือน01011101. แต่ละบิตมีรูปร่างที่สอดคล้องกัน ถ้าบิตเป็น a 1ให้วาดรูปร่าง ถ้าบิตเป็น a 0อย่าวาดรูปร่าง รูปร่างทั้งแปด (หรือไม่มีรูปร่าง) วางทับกัน ทำมันซ้ำแล้วซ้ำอีก สำหรับการจัดองค์ประกอบภาพด้านบน ฉันดำเนินการ 36 ครั้ง
นี่คือภาพสำหรับกฎที่ใช้สตริงบิต01011101เป็นตัวอย่าง
นั่นคือกระบวนการทั้งหมด เมื่อทุกอย่างพร้อมแล้ว ฉันก็ดึงปากกาพล็อตเตอร์ออกมาและเริ่มสร้างภาพพิมพ์
บิตเป็นหน่วยพื้นฐานของการสร้างงานศิลปะ
ประเด็นหลักที่ฉันพยายามจะนำเสนอคือวิธีที่เราเลือกตีความและแสดงข้อมูลนั้นสามารถเป็นรูปแบบหนึ่งของการแสดงออกทางศิลปะได้ การทำความเข้าใจวิธีที่เราสามารถแสดงข้อมูลได้เปิดประตูให้เราประเภทสร้างสรรค์ในการทำงานในสาขาที่มีเทคนิคสูง เช่น การคำนวณควอนตัม สิ่งต่างๆ อาจซับซ้อนได้อย่างรวดเร็ว แต่โดยพื้นฐานแล้ว ข้อมูลการคำนวณทั้งหมด (แม้กระทั่งข้อมูลที่ส่งคืนโดยคอมพิวเตอร์ควอนตัม) เป็นเพียงส่วนหนึ่งของ0s และ1s และเราสามารถทำทุกอย่างที่เราต้องการได้
สำหรับส่วนของควอนตัมคอมพิวเตอร์ผมใช้Qiskit ในส่วนของงานศิลปะนั้น ผมใช้Processing . สำหรับล็อตเตอร์ปากกาผมใช้AXI วาดด้วยInkscape รหัสสำหรับโครงการสามารถพบได้ในGithubของฉันหากคุณต้องการลองด้วยตัวเอง
งานพิมพ์แต่ละชิ้นใช้เพียง 36 ช็อตจากคอมพิวเตอร์ควอนตัม แต่ฉันพิมพ์ด้วยภาพประมาณ 8,000 ช็อต ซึ่งหมายความว่าฉันสามารถสร้างโปสเตอร์ที่ไม่ซ้ำใครได้ 1,000 ชิ้น ต้องการหนึ่ง? ฉันจะพิมพ์แบบพิเศษบนปากกาพล็อตเตอร์ด้วยข้อมูลควอนตัมจริง สามารถใช้งานบนEtsy
หนึ่งในสิ่งที่ดีที่สุดเกี่ยวกับ Qiskit คือความจริงที่ว่ามันเป็นโอเพ่นซอร์ส ทำให้ทุกคนสามารถมีส่วนร่วมในการสร้างอนาคตสำหรับการคำนวณควอนตัม เราจะไม่เป็นอย่างที่เราเป็นอยู่ทุกวันนี้หากไม่ได้รับการสนับสนุนอย่างต่อเนื่องจากผู้มีส่วนร่วมที่หลากหลายและสหวิทยาการของเรา
ไม่ว่าคุณจะเป็นควอนตัมวิซาร์ด นักพัฒนาซอฟต์แวร์ Python หรือใครก็ตามที่ไม่สามารถหยุดพูดถึง qubits ได้ มีวิธีมากมายในการใช้ทักษะของคุณเพื่อสนับสนุน Qiskit และชุมชน Qiskit ที่กำลังเติบโต บทความนี้มีจุดมุ่งหมายเพื่อช่วยแนะนำคุณเกี่ยวกับประเภทของการสนับสนุนที่เหมาะสมกับความสนใจและภูมิหลังของคุณ
นอกจากนี้ หากคุณสนใจที่จะสมัครเป็นผู้สนับสนุน Qiskitสิ่งเหล่านี้คือการสนับสนุนประเภทที่เรานำมาพิจารณาเมื่อเลือกกลุ่มประชากรตามรุ่นรายปีของเรา!
สิ่งสุดท้ายก่อนที่เราจะดำน้ำ ชุมชน Qiskit ภูมิใจในวิธีที่เรามีปฏิสัมพันธ์ซึ่งกันและกันด้วยความเคารพและความเมตตา เราเชื่อว่าคุณจะทำเช่นนั้นเช่นกัน คุณสามารถอ่านจรรยาบรรณของเราที่นี่

management system

ทุกคนต้องเริ่มต้นที่ไหนสักแห่ง หากคุณไม่เคยมีส่วนร่วมในโอเพ่นซอร์สมาก่อน นี่เป็นตัวเลือกที่ยอดเยี่ยมในการทำความรู้จักกับชุมชน Qiskit ที่ยอดเยี่ยมและสร้างความมั่นใจให้กับคุณ พวกเขายังเป็นตัวเลือกที่ดีหากคุณต้องการใช้เวลาของคุณเป็นก้อนเล็กๆ:
เข้าร่วมQiskit Slack : เป็นสถานที่ที่ดีในการหารือเกี่ยวกับแนวคิดและช่วยเหลือผู้อื่น
ตอบคำถามที่เกี่ยวข้องกับ Qiskit บน Quantum Computing StackExchangeหรือStackOverflow : Qiskitters จำนวนมากแบ่งปันการต่อสู้ของพวกเขาในฟอรัมนี้ ถ้าคุณชอบการแก้ปัญหา ยื่นมือให้พวกเขา!
โหวตและแสดงความคิดเห็นเกี่ยวกับปัญหาของ GitHub : นี่เป็นวิธีที่ยอดเยี่ยมในการให้ข้อเสนอแนะแก่ผู้ดูแลและช่วยรับข้อบกพร่องและคุณลักษณะที่สำคัญที่จัดลำดับความสำคัญ ในแง่ที่เกี่ยวข้อง การพยายามทำซ้ำปัญหาเก่าก็มีประโยชน์มากเช่นกัน บางครั้งปัญหาก็ไม่มีอีกต่อไปและสามารถปิดปัญหาได้ หรือ API เปลี่ยนไปและข้อมูลโค้ดที่จำเป็นในการสร้างปัญหาซ้ำจะแตกต่างกันเล็กน้อยในสาขาหลักปัจจุบัน
การบริจาคประเภทนี้อาจดูเหมือนไม่มาก แต่ก็เพิ่มขึ้นอย่างรวดเร็ว การสนับสนุนที่คุณมอบให้กับ Qiskitters คนอื่นๆ อาจเป็นความแตกต่างระหว่างคนที่เลิกใช้ควอนตัมหรือจัดการเพื่อผลักดันปัญหาและบรรลุเป้าหมายต่อไป การคำนวณควอนตัมเป็นสาขาที่เกิดขึ้นใหม่และเรามีความก้าวหน้ามากที่สุดเมื่อเราทำงานร่วมกันและสนับสนุนซึ่งกันและกัน
รหัส
รหัสที่สร้างระบบนิเวศ Qiskit นั้นกระจายอยู่ในที่เก็บ GitHub หลายแห่งใน 3 องค์กรที่แยกจากกัน:
Qiskit : repos เหล่านี้ประกอบขึ้นเป็นชุดพัฒนาซอฟต์แวร์สำหรับการทำงานกับคอมพิวเตอร์ควอนตัม (พัลส์ วงจร อัลกอริธึม บทช่วยสอน)
Qiskit ชุมชน : Repos เหล่านี้ครอบคลุมทรัพยากรเสริมและการใช้งานที่สนับสนุนชุมชน ( qiskit ตำราเรียน , qiskit.orgท้าทาย qiskit)
Qiskit Partners : repos เหล่านี้ประกอบด้วยผู้ให้บริการ Qiskit ที่หลากหลายสำหรับแบ็กเอนด์ (เช่น IBM Quantum Services, IonQ)
ดู repos ต่างๆ เพื่อค้นหาพื้นที่ที่เหมาะสมที่สุดสำหรับพื้นหลังควอนตัม/การเข้ารหัสของคุณ
เมื่อคุณเลือก repo แล้ว ให้ตรวจสอบไฟล์CONTRIBUTING.mdเพื่อดูข้อมูลที่สำคัญที่สุด มีหลายวิธีในการบริจาครหัส ได้แก่ :
ปัญหาการเปิด (เช่น หากคุณพบจุดบกพร่องหรือต้องการขอคุณลักษณะใหม่)
แก้ไขข้อผิดพลาด
เพิ่มความครอบคลุมการทดสอบ
การทบทวน/แสดงความคิดเห็นเกี่ยวกับ PRs อื่นๆ
ขยายเอกสาร บทช่วยสอน และตำราเรียน (ดูหัวข้อถัดไป)

YoutubeSeo

หากคุณยังใหม่กับโอเพ่นซอร์ส:
ตรวจสอบระบบการติดฉลากสำหรับ repo ที่คุณกำลังดูอยู่ เนื่องจากจะช่วยให้คุณพบปัญหาที่เกี่ยวข้องกับคุณมากที่สุด repos บางส่วน (เช่นqiskit-terra ) จะติดป้ายกำกับปัญหาด้วยแท็ก ‘good first issue’ เพื่อช่วยผู้ร่วมให้ข้อมูลที่ยังใหม่ต่อชุมชนในการเริ่มต้น
อ่านคู่มือนี้สำหรับคำแนะนำทั่วไปเกี่ยวกับการมีส่วนร่วมในโครงการโอเพ่นซอร์ส
สร้างโครงการ Qiskit ของคุณเอง
หากคุณได้สร้างโครงการจำนวนมากโดยใช้ Qiskit ให้พิจารณาโอเพ่นซอร์ส! คุณสามารถเริ่มต้นด้วยการเผยแพร่ไปยัง GitHub ของคุณเอง และทำให้เป็นสาธารณะ เพื่อให้ผู้อื่นสามารถใช้และมีส่วนร่วมได้
วิธีเผยแพร่งานของคุณบน GitHub
ข้อมูลเบื้องต้นเกี่ยวกับ Git & GitHub
คู่มือสำหรับผู้เริ่มต้นสู่โอเพ่นซอร์ส
ตัวอย่างโครงการ Qiskit
หากคุณพบข้อผิดพลาดในการจัดรูปแบบ ข้อผิดพลาด หรือช่องว่างในเอกสารประกอบของเรา หรือต้องการเพิ่มหัวข้อใหม่ คุณสามารถส่งปัญหาและประชาสัมพันธ์ได้ในลักษณะเดียวกับที่คุณส่งรหัส
เอกสาร Qiskit แบ่งออกเป็น 3 ประเภทใหญ่ๆ:
การอ้างอิง API — เพื่อสนับสนุนสิ่งนี้ คุณต้องไปที่ repo ที่เกี่ยวข้องใน Qiskit GitHubที่มีรหัสสำหรับส่วนที่คุณต้องการใช้งาน
Qiskit ตำรา – คุณสามารถนำไปสู่การซื้อคืนที่นี่ นอกจากนี้ หน้าส่วนใหญ่ในหนังสือเรียนยังมีลิงก์ “สนับสนุน GitHub” ที่แผงด้านขวามือ ซึ่งจะนำคุณไปยังไฟล์ที่คุณต้องการใช้งาน
Qiskit สอน – คุณสามารถนำไปสู่การซื้อคืนที่นี่
หมายเหตุ : หากคุณพบการพิมพ์ผิดในบทแนะนำหรือหนังสือเรียนบางบท คุณสามารถประชาสัมพันธ์การแก้ไขทั้งหมดได้พร้อมกัน แทนที่จะใช้ PR ต่อการพิมพ์ผิดแต่ละครั้ง สิ่งนี้ทำให้ผู้ดูแลง่ายขึ้น และการประชาสัมพันธ์ของคุณน่าจะได้รับการแก้ไขเร็วขึ้น
เนื้อหาออนไลน์

Robot Auto process

เมื่อคุณคิดไม่ออกว่าต้องทำอย่างไร รหัสของคุณก็ใช้ไม่ได้ คุณติดอยู่กับการบ้านหรือคุณแค่อยากรู้ว่าคนอื่นแก้ปัญหาอย่างไร สิ่งแรกที่คุณทำคืออะไร ฉันไม่รู้เกี่ยวกับคุณ แต่ฉันพิมพ์ปัญหาของฉันใน Google และอธิษฐานถึง Shrödinger ว่าบล็อกเกอร์หรือ YouTuber ที่ดีบางคนได้จัดการกับหัวข้อเดียวกันนี้แล้ว
หากคุณมีความสามารถในการเขียน พูด หรือตัดต่อวิดีโอ เหล่านี้คือตัวเลือกที่ยอดเยี่ยมสำหรับการมีส่วนร่วมใน Qiskit:
บล็อก : บล็อกประเภทที่มีประสิทธิภาพมากที่สุดมักจะเป็นการสอน (เช่น วิธีทำให้แมวของคุณอยู่ในตำแหน่งซ้อนทับ) หากคุณคิดหาวิธีทำอะไรเจ๋ง ๆ กับ qiskit บอกพวกเราที่เหลือ! บล็อกใด ๆ และทั้งหมดนับเป็นผลงาน Qiskit โดยไม่คำนึงถึงแพลตฟอร์ม หากคุณมีเรื่องราวที่คุณคิดว่าชุมชน Qiskit ทั้งหมดสนใจ คุณสามารถเขียนสำหรับบล็อก Qiskit ได้โดยการเสนอที่นี่
YouTube : โดยทั่วไปแล้ว แนวทางปฏิบัติที่ดีในการทำวิดีโอให้สั้น (5–15 นาที) เพื่อรักษาการมีส่วนร่วมในระดับสูง หากคุณกำลังสร้างผลงานขนาดยาว ให้ลองแบ่งออกเป็นหลายวิดีโอเพื่อให้ผู้ดูจัดการได้ง่ายขึ้น
พอดคาสต์ : นี่เป็นตัวเลือกที่ดีหากคุณขี้อายในกล้อง แต่การขาดอุปกรณ์ช่วยการมองเห็นหมายความว่าคุณควรอธิบายแนวคิดที่ยากให้ชัดเจนและรอบคอบ
Virtual Talks/Workshopsซึ่งรวมถึงการนำเสนอ การสาธิต และการประชุมเชิงปฏิบัติการที่การพบปะ งานอีเวนต์ และการประชุม หากคุณกำลังพูดคุยต่อหน้า คุณมักจะขอให้ผู้จัดงานบันทึกการพูดคุยของคุณ แล้วอัปโหลดไปยัง YouTube ในภายหลัง หากคุณรู้สึกประหม่าที่จะพูดต่อหน้าผู้คน คุณควรเริ่มต้นจากการพบปะสังสรรค์เล็กๆ และพิจารณานำเสนอกับเพื่อน!