เลือกหัวข้อจากแถบเมนูด้านซ้าย (กรณีหน้าจอเล็กเมนูจะหดกลายเป็นสัญลักษณ์สามขีดอยู่ในแถบเมนูด้านบน) หรือใส่คำค้นหาที่ช่องด้านล่างนี้ เพื่อค้นหาหัวข้อบทความหรือ Tutorial เกี่ยวกับเรื่อง permutations ที่ต้องการ
Random Permutations การเรียงสับเปลี่ยนขององค์ประกอบแบบสุ่ม การจัดเรียงสับเปลี่ยนหมายถึงการจัดเรียงของเนื้อหาเช่น [3, 2, 1] คือการเรียงสับเปลี่ยนของ [1, 2, 3] และในทางกลับกัน NumPy มีวิธีสุ่มหลายวิธีที่เเตกต่างกัน ในที่นี้จะยกมา 2 วิธี : shuffle() และ permutation() ตัวอย่าง สุ่มสับเปลี่ยนองค์ประกอบของอาเรย์ต่อไปนี้ from numpy import random import numpy as np arr = np.array([1, 2, 3, 4, 5]) random.shuffle(arr) print(arr) ผลลัพธ์ ...
Read More →ตัวอย่างของ Backtracking ที่ทรงพลังและน่าสนใจคือ การแก้ปัญหา N Queens Problem ซึ่งต้องการวางหมากรุก N ตัวในกระดานชนวนขนาด N?N โดยที่ไม่มีหมากรุกใดๆสามารถจับหมากรุกตัวอื่นได้...
Read More →เมื่อเราพูดถึงการแก้ปัญหาแบบที่ซับซ้อนไปด้วยการลองผิดลองถูก, Backtracking คือสิ่งที่ตอบโจทย์ได้อย่างยอดเยี่ยม เป็นอัลกอริธึมที่ใช้เทคนิคการทดลองทางเลือกต่างๆ เพื่อหาคำตอบที่เป็นไปได้ ถ้าทางเลือกนั้นพาเราไปสู่กับดักหรือทางตัน เราก็จะ ย้อนกลับ (backtrack) ไปหาทางเลือกอื่นที่ยังไม่ได้ทดลอง...
Read More →Travelling Salesman Problem (TSP) เป็นหนึ่งในปัญหาที่โดดเด่นและท้าทายสำหรับนักวิทยาศาสตร์คอมพิวเตอร์และนักวิจัยในด้านต่างๆ เป็นการทดสอบการหาเส้นทางที่สั้นที่สุดสำหรับพ่อค้าขายเร่ที่ต้องเดินทางผ่านหลายเมืองโดยการหลีกเลี่ยงการผ่านเมืองเดียวกันมากกว่าหนึ่งครั้งและกลับมาที่จุดเริ่มต้นด้วยระยะทางที่น้อยที่สุด ในบทความนี้เราจะสำรวจวิธีการใช้ Perl ในการแก้ปัญหา TSP พร้อมทั้งวิเคราะห์ความซับซ้อน ข้อดี และข้อเสียของอัลกอรธึมนี้...
Read More →Python ได้รับการยกย่องว่าเป็นหนึ่งในภาษาโปรแกรมมิ่งที่มีความยืดหยุ่นและอำนวยความสะดวกให้กับนักพัฒนาซอฟต์แวร์ หนึ่งในไลบรารีที่สำคัญและมีประโยชน์อย่างมากสำหรับงานที่เกี่ยวข้องกับการทำงานซ้ำ ๆ คือ itertools. ไลบรารีนี้ให้ ชุดเครื่องมืออันมีพลังสำหรับการสร้างและจัดการ iterator หรือวัตถุที่เราสามารถเดินผ่านหรือ iterate ไปหา element ต่อ ๆ ไปใน sequence ได้ ในบทความนี้เราจะแนะนำ 5 itertools ที่นักพัฒนาควรรู้จักเพื่อใช้งานให้เกิดประโยชน์สูงสุดในการเขียนโค้ด Python ของตนเอง...
Read More →