1 กรกฎาคม 2558

Published กรกฎาคม 01, 2558 by with 0 comment

สร้างอัลกอริทึม (Algorithm) ในภาษา Python ง่าย ๆ ด้วย algorithm.py

สวัสดีผู้อ่านทุกท่านครับ บทความนี้ผมจะพาผู้อ่านไปสร้างแบบจำลองหรืออัลกอริทึม (Algorithm) ในภาษา Python ง่าย ๆ ด้วย algorithm.py

อัลกอริทึม (Algorithm) คืออะไร

อัลกอริทึม (Algorithm) คือ กระบวนการแก้ปัญหาอย่างมีลำดับและมีขั้นตอน เช่น เวลาเปิดร้านอาหาร จะมีลูกค้าเข้ามานั่งในร้านแล้วสั่งอาหาร แม่ค้าต้องเรียงตามลำดับของลูกค้าตามคิวที่เรียงมา หรือเรียงตามลำดับความยากง่ายในการปรุงอาหาร หากมีลูกค้าไม่กี่คน นี่คือ อัลกอริทึม ครับ




 

ในการสร้างอัลกอริทึม (Algorithm)  ในภาษา Python สามารถทำได้แค่เพียงพิมพ์คำสั่งลงไป แต่หากต้องการสร้างแบบจำลองด้วย ผมขอแนะนำ algorithm.py

โมดูล algorithm.py เป็นโมดูลสำหรับใช้สร้างแบบจำลองอัลกอริทึมตามลำดับในฟังก์ชัน รองรับทั้ง Python 2 , Python 3 และใช้ MIT License

สามารถติดตั้งได้โดยใช้คำสั่ง pip:
$ pip install algorithm





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

ปัญหานี้ถ้าแก้ตามหลักคณิตศาสตร์ สามารถนำเรื่องลำดับและอนุกรมมาแก้ไขปัญหาได้ดังนี้

ปัญหาที่ว่ามา เป็นลำดับเลขคณิต โดยมี
\[a_{1} = 42\]
\[a_{560} = 42\]
\[n = 560\]
\[d = 42 - 42 = 0\]
สามารถหาผลรวมเงินบริจาคทั้งหมดได้โดยใช้อนุกรมเลขคณิต
\[Sn= \frac{n}{2} (a_{1}+a_{n})\]
แทนค่า
\[S_{560} = \frac{560}{2} (42 + 42)\]
\[S_{560} = 280(84)\]
\[S_{560} = 23,520\]

เรามาเขียนโปรแกรมกันครับ

[python]
from algorithm import Algorithm

def a1():
return {'a1': 42}
def a560():
return {'a560': 42}
def n():
return {'n': 560}
def sum_all(a1,a560,n):
s560 = n/2 # ตัวแปร s560 นำ n/2 คือ 560/2
a = a1+a560 # ตัวแปร a นำ a1+a560 คือ 42 + 42
return {'sum': s560*a} # คืนค่าผลลัพธ์ sum โดยนำ s560 มาคูณกับ a

blah = Algorithm(a1, a560, n, sum_all)
#print(blah.functions) ถ้าต้องการแสดงฟังก์ชันทั้งหมดที่มี
getsum = blah.run()
print(getsum['sum'])
[/python]

ผลลัพธ์
23520.0

สรุป องค์กรช่วยเหลือสังคมได้รับเงินบริจาคทั้งหมด 23,520 บาท

จะเห็นได้ว่า
คณิตศาสตร์กับวิทยาศาสตร์ สำคัญมาก (และมากกว่า) ในการเรียนเขียนอัลกอริทึม ถ้าคุณได้คณิตศาสตร์กับวิทยาศาสตร์ คุณก็สามารถเขียนอัลกอริทึมได้เองอย่างเข้าใจและนำไปประยุกต์ได้

อ่านเอกสารเพิ่มเติมเกี่ยวกับโมดูล algorithm.py ได้ที่ https://algorithm-py.readthedocs.org/en/latest/
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)