วันพฤหัสบดีที่ 26 เมษายน พ.ศ. 2561

1) Hello Machine Learning World เริ่มต้นการเรียนรู้เรื่อง แมชชีนเลิร์นนิ่ง การเรียนรู้ของคอมพิวเตอร์ แมชชีนเลิร์นนิ่ง ตอนที่ 1

เริ่มต้นการเรียนรู้เรื่อง แมชชีนเลิร์นนิ่ง
การเรียนรู้ของคอมพิวเตอร์ แมชชีนเลิร์นนิ่ง ตอนที่ 1


สวัสดีครับ กับการเริ่มต้นเรียนรู้เรื่อง แมชชีนเลิร์นนิ่ง ในวิดีโอบทเรียนนี้เราจะมาเริ่มต้นเรียนรู้เรื่อง
แมชชีนเลิร์นนิ่ง หรือการเรียนรู้ของคอมพิวเตอร์กัน
ในการเรียนรู้สำหรับบทเรียนนี้เราต้องใช้โอเพ่นซอร์สไลบรารี่ จำนวนสองไลบรารี่ด้วยกัน คือ
ไซคิทเลิร์น (SciKit-learn) กับ เทนเซอร์โฟลว (TensorFlow)

ก่อนอื่นเรามาทำความเข้าใจกับคำว่าแมชชีนเลิร์นนิ่ง หรือการเรียนรู้ของคอมพิวเตอร์กันก่อน
คำว่าแมชชีนเลิร์นนิ่ง เป็นขอบเขตองค์ความรู้แบบหนึ่งของปัญญาประดิษฐ์หรือ Articifial Intelligence
หรือที่เรียกว่า AI
ตัวอย่างเช่น เครื่องคอมพิวเตอร์ ดีพบลู (Deep Blue) ของ IBM สามารถเล่นเกมหมากรุกชนะ
เซียนหมากรุกระดับโลกได้ โดยไม่จำเป็นต้องเขียนโปรแกรมเพื่อเอาชนะคู่แข่งขึ้นใหม่ทุกครั้ง
เมื่อการเล่นเปลี่ยนไป ซึ่งหากเราต้องการเขียนโปรแกรมเช่นเดียวกันนี้บ้าง จะทำอย่างไร
อัลฟาโกะ (AlphaGo) เป็นอีกตัวอย่างที่ดี ซึ่งเป็นคอมพิวเตอร์ที่สามารถเล่นหมากกระดานโกะ
ชนะแชมป์โลกที่เป็นมนุษย์ได้เช่นเดียวกัน แต่ยังมีซอฟต์แวร์ที่สามารถเรียนรู้ในการเล่น
เช่นเดียวกันนี้อีกก็คือ เกมอาตาริ

แมชชีนเลิร์นนิ่งทำให้ความสามารถเหล่านี้เกิดขึ้นได้ ด้วยอัลกอริธึมที่สามารถ
เรียนรู้จากตัวอย่างและประสบการณ์” (Learn from examples and experience)
แทนที่จะเป็นซอฟต์แวร์ที่พัฒนาขึ้นบนพื้นฐานของการโปรแกรมแบบกฎแบบตายตัว (hard coded rules)
ซึ่งความสามารถในการโปรแกรมที่ทำให้คอมพิวเตอร์สามารถเรียนรู้จากตัวอย่างและประสบการณ์นั่นเอง
เป็นศิลปะของแมชชีนเลิร์นนิ่ง
ตัวอย่างที่ทำให้เราเข้าใจได้โดยง่าย ด้วยการเขียนโค้ดโปรแกรมในบทเรียนนี้
เรามาเริ่มต้นด้วยปัญหาที่ดูเหมือนจะเป็นปัญหาง่ายๆ แต่ปัญหานี้จะไม่สามารถแก้ไขได้เลย
หากปราศจากแมชชีนเลิร์นนิ่ง ปัญหาที่ว่าก็คือ
คุณสามารถเขียนโค้ดโปรแกรมเพื่อบอกถึงความแตกต่างระหว่าง แอปเปิ้ล กับส้มได้หรือไม่?
ลองจินตนาการดูว่า หากคุณต้องเขียนโปรแกรมเพื่อนำเข้าไฟล์รูปภาพ เพื่อทำการวิเคราะห์
จากนั้นแสดงผลลัพท์ที่ได้ว่า ภาพที่นำเข้ามานั้นเป็นผลไม้อะไร
คุณจะแก้ไขปัญหานี้ได้อย่างไร
แน่นอนคุณจำเป็นต้องเขียนกฎเกณฑ์เพื่อใช้ในการแยกแยะจำนวนมากมายหลายกฏ

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

นอกจากนี้หากเราพบว่ามีรูปผลไม้อื่นที่ต้องแยกแยะด้วย กฏที่เราเขียนขึ้นก่อนหน้านี้ก็จะไม่สามารถทำงานได้

เราจำเป็นต้องเขียนกฏขึ้นเป็นจำนวนมากเพื่อให้สามารถทำการแยกแยะรูปภาพแอปเปิ้ลและส้ม
ที่แตกต่างกันหลายบริบท

และหากเราได้รับปัญหาใหม่ๆ เพิ่มขึ้นเราก็จำเป็นต้องเริ่มต้นพิจารณาวิเคราะห์และเขียนกฏเกณฑ์
ที่แตกต่างทั้งหมดขึ้นใหม่อีกครั้ง

เพื่อแก้ไขปัญหาเหล่านี้ เราจำเป็นต้องมีอัลกอริธึม ที่สามารถกำหนดกฏเกณฑ์ให้กับเราได้โดยอัตโนมัติ
โดยที่เราไม่จำเป็นต้องเขียนกฏในการแยกแยะเหล่านั้นขึ้นมาเอง เพื่อให้คอมพิวเตอร์สามารถสร้างกฏ
ในการแยกแยะขึ้นเองได้ เราจึงจำเป็นต้องสอนให้คอมพิวเตอร์รู้จักแยกแยะนั่นเอง (train a classifier)
ความสามารถในการแยกแยะหรือ คลาสสิฟายเออร์ (Classifier) ก็คือฟังก์ชั่นหรือความสามารถแบบหนึ่ง
ซึ่งจะนำเข้าข้อมูลมาและกำหนดเลเบลหรือผลลัพท์ให้กับแต่ละเรคคอร์ด
ตัวอย่างเช่น หากเรามีรูปภาพรูปหนึ่ง และเราต้องการแยกแยะว่ารูปภาพนั้นเป็นแอปเปิ้ลหรือ ส้ม

หรือหากเราได้รับอีเมล์ และต้องการแยกแยะว่า อีเมล์นั้นเป็น สแปม หรือไม่เป็นสแปม (spam)
เทคนิคในการเขียนโค้ดโปรแกรมเพื่อทำการแยกแยะโดยอัตโนมัติแบบนี้เรียกว่า ซุปเปอร์ไวซ์เลิร์นนิ่ง
(Supervised learning) หรือ การเรียนรู้แบบได้รับการสอน

ซุปเปอร์ไวซ์เลิร์นนิ่ง (Supervised learning)
เป็นการสร้างวิธีการแยกแยะจากการค้นหารูปแบบที่มีอยู่ในตัวอย่าง
โดยเริ่มต้นจากตัวอย่างของปัญหาที่ต้องการแก้
เราจะลองเขียนโค้ดโปรแกรมนี้ด้วย ไซคิทเลิร์น (scikit-learn)
ที่เราได้ดาวน์โหลดไลบรารี่และติดตั้งตามขั้นตอนได้สองวิธี ง่ายๆ คือ
วิธีแรกคือใช้ อนาคอนดา (Anaconda) ซึ่งเป็นแพลทฟอร์มที่ทำให้นักวิทยาการข้อมูลสามารถใช้เครื่องมือต่างๆ
ร่วมกันได้โดยง่าย และไม่เสียค่าใช้จ่าย และติดตั้งได้ง่าย ให้ทำการดาวน์โหลดและทำการติดตั้ง

หลังจากทำการติดตั้งแล้วให้ทำการทดสอบว่าสามารถทำงานได้เรียบร้อยหรือไม่
โดยเริ่มต้นเขียนด้วย สคริปของไพธอน เพื่อทำการอิมพอร์ท SK learn

แล้วทดสอบด้วยการ Run หรือ F5 หากไม่มี error ใดๆ แสดงว่าเราสามารถเขียนโค้ดโปรแกรมด้วย
ไซคิทเลิร์นได้แล้ว

ในการใช้ซุปเปอร์ไวซ์เลิร์นนิ่ง จำเป็นต้องทำตามขั้นตอนมาตรฐานต่างๆ ดังนี้


ขั้นตอนแรกคือ การเก็บรวบรวมข้อมูลเพื่อใช้ในการสอน (Collect Training Data)
มีตัวอย่างจำนวนมากมายของปัญหาที่เราต้องการแก้ไข
ในขั้นตอนถัดไป เราจะทำการเขียนฟังก์ชั่น เพื่อทำการแยกแยะประเภทของผลไม้
สำหรับผู้เริ่มต้น เราต้องพิจารณาถึงรายละเอียดของผลไม้ก่อน เพื่อใช้เป็นข้อมูลนำเข้า
และเพื่อใช้ในการทำนายว่าผลไม้นั้นเป็นผลไม้ประเภทใด เป็นแอปเปิ้ล หรือส้ม ซึ่งเป็นผลลัพท์ที่ต้องการ
โดยพิจารณาจากฟีทเจอร์หรือคุณสมบัติต่างๆ อาทิเช่น น้ำหนัก และพื้นผิว

สำหรับการรวบรวมข้อมูลเพื่อใช้ในการสอนคอมพิวเตอร์
ลองจินตนาการดูว่าหากเราพิจารณาความแตกต่างของผลไม้ และเราต้องกำหนดกฏเกณฑ์
เพื่อใช้ในการวัดผลและเขียนอธิบายกฏเกณฑ์เหล่านั้นในรูปแบบตาราง
ในแมชชีนเลิร์นนิ่ง การวัดผลต่างๆ เหล่านี้ เราเรียกว่า ฟีทเจอร์ หรือคุณสมบัติ

เพื่อให้เข้าใจง่าย ในที่นี้เราจึงใช้ฟีทเจอร์เพียงสองฟืทเจอร์เท่านั้น
ก็คือน้ำหนักซึ่งมีหน่วยเป็นกรัม (gram) และพื้นผิว (Texture) ของผลไม้ เป็นแบบผิวเรียบหรือผิวขรุขระ
ด้วยฟีทเจอร์หรือคุณสมบัติที่ทำให้สามารถแยกแยะได้ดี ว่าเป็นผลไม้ประเภทใด

ตัวอย่างข้อมูลที่ใช้สอนคอมพิวเตอร์แต่ละแถวรายการ
ก็จะอธิบายให้เห็นถึงผลไม้แต่ละลูก ว่ามีหน้าตาเช่นไร

ในคอลัมน์สุดท้ายเรียกว่า เลเบล (Label) ซึ่งเป็นคอลัมน์ที่ใช้ระบุว่าข้อมูลแต่ละรายการนั้นเป็นผลไม้
ประเภทใดซึ่งในที่นี้มีความเป็นไปได้เพียงสองอย่างคือแอปเปิ้ลหรือส้ม ซึ่งก็คือผลลัพท์ที่เราต้องการนั่นเอง
ข้อมูลทั้งหมดในตารางก็คือข้อมูลตัวอย่างที่เราใช้สอนคอมพิวเตอร์ให้มีความสามารถในการแยกแยะนั่นเอง
ยิ่งมีข้อมูลตัวอย่างเพื่อใช้สอนมากเท่าไร ก็จะทำให้ได้คลาสสิฟายเออร์หรือความสามารถในการแยกแยะ
ได้ดีเท่านั้น

เราลองมาเขียนโค้ดโปรแกรมด้วยภาษาไพธอน เพื่อใช้ในการแยกแยะข้อมูลกัน
เริ่มต้น กำหนดให้ใช้ตัวแปรสำหรับฟีทเจอร์ จำนวน 2 ตัวแปร คือ “features” และ “labels”
โดยตัวแปรแรก “features” ประกอบด้วยสองคอลัมน์แรกในตาราง และตัวแปร “labels” คือคอลัมน์สุดท้าย
ในตาราง ในที่นี้เราจะเห็นว่า ตัวแปร “features” ก็คือข้อมูลนำเข้าหรืออินพุทเพื่อใช้ในการแยกแยะนั่นเอง
และ ตัวแปร “labels” ก็คือผลลัพท์ที่ต้องการ
เราจำทำการเปลี่ยนแปลงข้อมูลนำเข้าแทนที่จะใช้ตัวอักษร ให้มาอยู่ในรูปแบบตัวเลขจำนวนเต็มแทน
โดยกำหนดให้ 0 แทนผิวขรุขระ (bumpy) และ 1 แทนผิวเรียบ (smooth)
และเช่นเดียวกัน ให้ทำการเปลี่ยนแปลงข้อมูลของข้อมูลนำเข้าสำหรับ “labels” โดยกำหนดให้ใช้ 0 แทนแอปเปิ้ล
และ 1 แทน ส้ม ซึ่งจะเห็นว่าโปรแกรมของเรามีโค้ดโปรแกรมเพียงสองถึงสามบรรทัดเท่านั้น

ขั้นตอนที่สอง สำหรับส่วนผสมของการทำซุปเปอร์ไวส์เลิร์นนิ่ง ก็คือ การใช้ตัวอย่างหลายๆ ตัวอย่าง
ไปสอนให้คอมพิวเตอร์ได้เรียนรู้ โดยประเภทของวิธีการแยกแยะ หรือคลาสสิฟายเออร์ (Classifier)
ที่เราจะศึกษากันบทเรียนนี้ก็คือ ต้นไม้ตัดสินใจ (Decision tree)
เรามาพิจารณาถึงรายละเอียดของขั้นตอนในการทำงานต่อไป
โดยในขั้นตอนนี้สมมติให้วิธีการแยกแยะอยู่ในรูปแบบของกล่องของกฏเกณฑ์ (box of rules)
เนื่องจากมีวิธีการในการแยกแยะหลากหลายประเภท ในขณะที่ข้อมูลนำเข้าและผลลัพท์ที่ต้องการมีหน้าตา
เหมือนกัน

ในขั้นตอนการเขียนโค้ดโปรแกรมลำดับถัดไป ให้ทำการอิมพอร์ทต้นไม้ตัดสินใจเข้าไว้ในโค้ดโปรแกรมของเรา
จากนั้นในบรรทัดที่ 4 ของสคริป ให้ทำการสร้างคลาสสิฟายเออร์
เมื่อถึงขั้นตอนนี้เท่ากับเราได้สร้างกล่องของกฏเกณฑ์ที่ว่างๆ ขึ้นมาเรียบร้อยแล้ว
ซึ่งมันยังไม่สามารถแยกแยะได้ว่าอะไรคือ แอปเปิ้ล อะไรคือส้ม
เราจำเป็นต้องสอนมันก่อน ด้วยอัลกอริธึมการเรียนรู้
หากวิธีการแยกแยะคือ กล่องของกฏเกณฑ์ เราจะได้อัลกอริธึมสำหรับการเรียนรู้ก็คือลำดับวิธีนั่นเอง
ด้วยการค้นหารูปแบบในการแยกแยะจากข้อมูลที่ใช้สอน
ตัวอย่างเช่น ส้ม มีแนวโน้มที่จะมีน้ำหนักมากกว่า แอปเปิ้ล คอมพิวเตอร์ก็จะสร้างกฏเกณฑ์ขึ้นว่า
ผลไม้ที่มีน้ำหนักมากกว่า น่าจะเป็นส้ม
ใน scikit อัลกอริธึมการสอนคอมพิวเตอร์ สามารถเพิ่มลงใน classifier object และมีชื่อว่า Fit
ซึ่งเป็นคำย่อของ “Find patterns in data” หรือการค้นหารูปแบบที่อยู่ในข้อมูล นั่นเอง
เรามาลองพิจารณาถึงรายละเอียด ในขั้นตอนถัดไป
เมื่อถึงขั้นตอนนี้เราได้ทำการสอนวิธีการแยกแยะให้กับคอมพิวเตอร์แล้ว
ซึ่งเราสามารถใช้ทันในการแยกแยะผลไม้ใหม่ๆ ได้แล้ว

การนำเข้าการแยกแยะคุณสมบัติต่างๆ สำหรับตัวอย่างใหม่ๆ
กล่าวคือ ผลไม้ที่เราต้องการแยกแยะ คือผลไม้ที่มีน้ำหนัก 150 กรัม และมีผิวขรุขระ (bumpy)
ผลลัพท์ที่ได้คือ 0 หากเป็นแอปเปิ้ล และ 1 หากเป็น ส้ม
ก่อนที่เราจะสั่งให้โปรแกรมทำงาน เราลองคาดการณ์ผลการทำนายของโปรแกรมว่า การแยกแยะ
ของโปรแกรมจะได้ผลการทำนายเช่นไร
หากเราลองเปรียบเทียบข้อมูลผลไม้ที่ใช้สอนคอมพิวเตอร์ ดูเหมือนข้อมูลที่เราต้องการให้คอมพิวเตอร์ทำนายนั้น
จะคล้ายคลึงกับ ส้ม เนื่องจากมีผิวขรุขระ และมีน้ำหนักมาก
เมื่อเราสั่งให้คอมพิวเตอร์ทำงานตามโปรแกรมที่เราเขียน ก็จะเห็นถึงผลลัพท์ที่ได้ เป็น 1 ซึ่งหมายถึง ส้ม นั่นเอง

สำหรับโปรแกรมแมชชีนเลิร์นนิ่งที่เราได้เขียนขึ้นเป็นโปรแกรมแรกด้วยภาษาไพธอนในบทเรียนนี้
สามารถทำงานได้ถูกต้อง เราสามารถสร้างการแยกแยะหรือ คลาสสิฟายเออร์ใหม่ๆ เพื่อทำการแก้ไขปัญหาอื่นๆ
ได้แล้วในตอนนี้ เพียงแค่เปลี่ยน ข้อมูลที่ใช้สอนให้คอมพิวเตอร์เรียนรู้เท่านั้น
ซึ่งเป็นวิธีการใช้ซ้ำโปรแกรมที่เขียนขึ้น ไม่ต้องเขียนกฏเกณฑ์ใหม่เพื่อแก้ไขปัญหาใหม่ทุกครั้ง
(ใช้วิธีเปลี่ยนแปลงข้อมูลสอนคอมพิวเตอร์แทน)
ในตอนนี้เราจะเห็นได้ว่าเราสามารถอธิบายผลไม้ ด้วยตารางของคุณสมบัติ หรือฟิทเจอร์
แทนที่จะใช้รูปภาพผลไม้จำนวนมากเป็นข้อมูลสำหรับสอนคอมพิวเตอร์
อย่างไรก็ตามเราสามารถใช้รูปภาพในการสอนคอมพิวเตอร์เช่นเดียวกัน
ซึ่งเราจะมาเรียนรู้การแยกแยะด้วยภาพในบทเรียนถัดไป
ก่อนจบบทเรียนนี้ เรามาทบทวนแนวคิดสำคัญกันก่อน
  • วิธีการเช่นนี้สามารถใช้กับโลกแห่งความเป็นจริงได้อย่างไร

  • การสอนคอมพิวเตอร์ต้องใช้จำนวนข้อมูลสำหรับสอน มากเพียงไร

  • การสร้างต้นไม้ตัดสินใจ ทำได้อย่างไร

  • ฟิทเจอร์ที่ดี หรือคุณสมบัติที่ดี คืออะไร


การเขียนโปรแกรมสำหรับ แมชชีนเลิร์นนิ่ง นั้นไม่ยากเลย หากเราสามารถทำความเข้าใจแนวคิดสำคัญ
ของมันได้อย่างถูกต้อง

พบกันใหม่ในบทเรียนถัดไป


โดย ผศ. ณัฏฐ์ โอธนาทรัพย์
สาขาวิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเอเชียอาคเนย์
By Asst., Prof. Nuth OTANASAP
Department of Computer Engineering, Faculty of Engineering,

Southeast Asia University, Bangkok 10160 THA
อนูญาตให้สำเนาซ้ำ และแก้ไขได้ได้โดยอ้างอิง แหล่งที่มา



วันเสาร์ที่ 11 พฤศจิกายน พ.ศ. 2560

ปัจจัยสู่ความสำเร็จของธุรกิจพาณิชย์อิเล็กทรอนิกส์ 13 ประการ

ปัจจัยสู่ความสำเร็จของธุรกิจพาณิชย์อิเล็กทรอนิกส์ 13 ประการ

https://docs.google.com/document/d/1uJz-IuVCnx5DsPc48sqVBxYkNtEU6aLNxYRxSyAIcj4/edit




คำถาม
1
มีการสร้างความน่าเชื่อถือของเว็บไซต์หรือของธุรกิจอีคอมเมิร์ซ อย่างไร
2
มีการบริหารลูกค้าสัมพันธ์ (CRM) หรือไม่ และทำอย่างไร
3
มีการทำการตลาดออนไลน์อย่างไร (Online Marketing) หรือไม่ และทำอย่างไร
4
ให้ความสำคัญกับการเก็บรักษาข้อมูลส่วนบุคคลของลูกค้าหรือผู้บริโภค หรือไม่ มากน้อยเพียงไร และมีแนวนโนบายในการดำเนินการอย่างไร
5
มีความรู้ ความเข้าใจ และความเชี่ยวชาญ ในสินค้าหรือบริการของตนเอง และมีความรู้เข้าใจในตลาดและพฤติกรรมผู้บริโภคกลุ่มเป้าหมายของตนเอง มากน้อยเพียงไร
6
ผู้ประกอบการธุรกิจที่สัมภาษณ์ มีความรู้ ความเข้าใจ ในความต้องการของผู้บริโภคกลุ่มเป้าหมายในช่องทางออนไลน์ มากน้อยเพียงใด
7
ระบบซอฟต์แวร์ ฮาร์ดแวร์ และเครือข่าย ของผู้ประกอบการธุรกิจที่สัมภาษณ์ มีคุณภาพดี มากน้อยเพียงไร และน่าเชื่อถือหรือไม่
8
ทำอย่างไรให้ลูกค้าเห็นประโยชน์จากการซื้อสินค้า และบริการบนเว็บไซต์ของผู้ประกอบการฯ
9
มีช่องทางการรับชำระเงินที่น่าเชื่อถือ หรือไม่ อย่างไร อธิบาย
10
มีจำนวนสินค้าหรือบริการมากพอที่จะให้ลูกค้าสามารถเปรียบเทียบในการเลือก หรือตัดสินใจหรือไม่ อย่างไร
11
มีทีมงานที่ดูแลเว็บไซต์ อย่างจริงจัง หรือไม่ อย่างไร (เช่น ใช้วิธีจ้างเป็นพนักงานประจำ หรือจ้างเหมาเอ้าท์ซอร์ส หรือใช้ระบบสำเร็จรูป)
12
มีความเห็นว่า ลูกค้าสามารถใช้งานระบบได้ง่าย สะดวก มากน้อยเพียงไร (1 - 5 คะแนน 1 น้อยที่สุด 5 มากที่สุด) เพราะเหตุใดจึงคิดว่าเช่นนั้น อธิบาย
13
มีระบบ วิธีการ การจัดส่งสินค้าที่น่าเชื่อถือ มากน้อยเพียงไร ทำอย่างไร

วันพฤหัสบดีที่ 24 สิงหาคม พ.ศ. 2560

มนุษยชาติขับเคลื่อนโลกได้อย่างไร Why humans run the world โดย Yuval Noah Harari





เมื่อราวหมื่นปีก่อน บรรพบุรุษของเรา เป็นสัตว์ที่ไม่มีความหมายเท่าไร

สิ่งสำคัญที่สุดที่ควรจะรู้เกี่ยวกับ มนุษย์ก่อนประวัติศาสตร์ก็คือ พวกเขาเป็นสัตว์ที่ไม่สำคัญ พวกเขาสามารถสร้างผลกระทบต่อโลกได้ไม่มากไปกว่าของแมงกะพรุน หิ่งห้อย หรือนกหัวขวาน

ในทางตรงข้าม ปัจจุบันนี้มนุษย์เราสามารถควบคุมโลกได้ หรือเกือบได้ทั้งหมด

ดังนั้น คำถามก็คือเราได้กลายจากสิ่งที่เป็นในอดีตคือสัตว์ที่ไม่สำคัญอะไร ไม่สามารถสร้างผลกระทบใดๆ ต่อโลกนี้ มาเป็นเหมือนกับในปัจจุบันที่สามารถควบคุมสิ่งต่างๆ ได้มากมายได้อย่างไร

เราได้เปลี่ยนตัวเองจากลิงไม่มีหางที่ไม่มีความสำคัญอะไร สนใจแต่เรื่องของตัวเอง มีชีวิตอยู่ในพื้นที่เล็กๆ ของแอฟริกา มาเป็นผู้ครองโลกได้อย่างไร

ปกติแล้ว เราจะมองหาความแตกต่าง ระหว่างเรากับสัตว์อื่น ในระดับตัวบุคคล

มนุษย์เราพยายามจะเชื่อว่า มนุาย์เรามีความพิเศษบางอย่างที่ซ่อนอยู่ ในร่างกาย หรือสมองของเรา ทำให้เราเก่งกว่าสุนัข หมู แมว หรือลิงชิมแปนซี

แต่ในความจริงแล้ว ในระดับตัวบุคคลนั้น มนุษย์คล้ายกับลิงชิมแปนซีอย่างมาก และถ้ามนุษย์เรากับลิงชิมแปนซีถูกนำไปปล่อยให้อยู่ตามลำพังในเกาะกลางทะเล
โดยเราต้องต่อสู้ดิ้นรนเพื่อความอยู่รอด คุณคิดว่าลิงหรือมนุษย์จะมีความสามารถเอาชีวิตรอดได้ดีกว่ากัน
ส่วนตัวแล้วเราคงเดิมพันข้างลิงชิมแปนซีอย่างแน่นอน เราคงไม่เลือกมนุษย์ แน่นอนนี่ไม่ใช่เรื่องผิดปกติ ที่เราจะต้องคิดว่าลิงน่าจะมีความสามารถในการเอาตัวรอดได้ดีกว่ามนุษย์ หากถูกปล่อยเกาะ 
จากตัวอย่างนี้จะเห็นได้ว่า ความแตกต่างจริง ๆ ระหว่างมนุษย์และสัตว์ ไม่ได้อยู่ในระดับตัวบุคคล แต่อยู่ที่ในระดับกลุ่มบุคคลมากกว่า
มนุษย์ครองโลกได้เพราะว่าเป็นสัตว์ชนิดเดียว ที่สามารถร่วมมือกัน อย่างยืดหยุ่น และเป็นจำนวนมาก แม้ว่าจะมีสัตว์อื่น ๆ ไม่ว่าจะเป็น แมลงสังคม เช่น ผึ้ง มด ซึ่งเป็นสัตว์ที่สามารถร่วมมือกันเป็นจำนวนมากเช่นกัน แต่พวกมันไม่สามารถร่วมมือกันอย่างยืดหยุ่นได้ การร่วมมือกันของสัตว์เหล่านั้นมีความตายตัวมาก ผึ้งทั้งรังจะทำงานร่วมกันโดยมีบทบาทตายตัวมาก ผึ้งงานไม่สามารถเป็นนางพญาได้ และในทางกลับกัน ผึ้งนางพญา ก็ไม่สามารถทำหน้าที่เป็นผึ้งงานได้ 
ด้วยเหตุนี้ หากผึ้งทั้งรังต้องพบกับเหตุการณ์หรือสถานการณ์ รวมทั้งอันตรายรูปแบบใหม่ๆ ที่แตกต่างจากเดิม ผึ้งก็จะไม่สามารถสร้างหรือพัฒนาระบบสังคม รูปแบบใหม่ในชั่วข้ามคืนเพื่อรับมือกับสถานการณ์แปลกใหม่เหล่านั้น เช่น ผึ้งงานไม่สามารถฆ่าราชินีผึ้งเพื่อก่อตั้งสาธารณรัฐประชาชนผึ้ง หรือระบบเผด็จการคอมมิวนิสต์ที่ปกครองโดยผึ้งงานได้ 
นอกจากนี้ สัตว์สังคม ประเภทอื่นๆ อาทิเช่น สัตว์เลี้ยงลูกด้วยนมที่เป็นสัตว์สังคม ไม่ว่าจะเป็น หมาป่า ช้าง โลมา ชิมแปนซี ซึ่งเป็นสัตว์สังคมที่สามารถทำสิ่งต่างๆ ร่วมกัน หรือร่วมมือกันได้ด้วยความยืดหยุ่นกว่า แต่ก็ทำได้เพียงเป็นกลุ่มขนาดเล็กเท่านั้น เนื่องจากความร่วมมือกันในกลุ่มชิมแปนซี ขึ้นอยู่กับความรู้จักกันเป็นอย่างดีในสมาชิกของกลุ่มนั้นๆ ชิมแปนซีจะร่วมมือกันได้ก็ต่อเมื่อต้องรู้จักกันเป็นอย่างดีเป็นการส่วนตัวก่อนเท่านั้น ต้องทราบก่อนว่า มีนิสัยอย่างไร เป็นตัวป่วนหรือไม่ เชื่อใจได้หรือไม่ จึงจะเกิดความไว้วางใจกัน หากไม่รู้จักกันมาก่อนไม่มีความไว้วางใจกัน ก็จะไม่สามารถร่วมมือกันได้ 
สัตว์ประเภทเดียวที่สามารถร่วมมือกันแบบยืดหยุ่น และร่วมมือกันทำสิ่งใดๆ ด้วยสมาชิกจำนวนมาก ก็คือมนุษย์ หรือโฮโมเซเปียน แน่นอน ชิมแปนซี อาจเก่งกว่ามนุษย์ หากเปรียบเทียบกันแบบตัวต่อตัว แต่หากต้องทำสิ่งใดๆ แบบร่วมมือกันอย่างยืดหยุ่นแล้วมนุษย์จะชนะชิมแปนซีได้อย่างสบายๆ เพราะชิมแปนซี หนึ่งพันตัวจะไม่สามารถร่วมมือกันได้เลย ยิ่งถ้าให้ชิมแปนซี หนึ่งแสนตัวอยู่ร่วมกัน ในสถานที่ใดๆ ไม่ว่าจะเป็น ถนนอ็อกซ์ฟอร์ด สนามกีฬาเวมบรีย์ จตุรัสเทียนอันเหมิน หรือนครรัฐวาติกัน เราก็จะพบกับความอลหม่าน ยุ่งเหยิง วุ่นวาย ไม่สามารถควบคุมได้ 
ในทางตรงข้าม ถ้าเป็นการรวมตัวกันของมนุษย์ในสถานที่เหล่านั้น แม้จะมีจำนวนหลายหมื่นคน ก็จะไม่เกิดความโกลาหลอย่างนั้น ด้วยมนุษย์เราจะมีความร่วมมือกันอย่างสลับซับซ้อน และมีเครือข่ายที่มีประสิทธิภาพ ความสำเร็จอันยิ่งใหญ่ในประวัติศาสตร์ของมนุษย์ ไม่ว่าจะเป็นการสร้างพิรามิด การบินไปเหยียบดวงจันทร์ ล้วนไม่ใช่ความสำเร็จที่เกิดขึ้นอันเนื่องมาจากความสามารถของบุคคลเพียงคนเดียว แต่เป็นความสำเร็จที่เกิดจากความสามารถในการร่วมมือในการทำสิ่งต่างๆ อย่างยืดหยุ่นด้วยสมาชิกจำนวนมาก 
ลองคิดดูว่าแม้แต่การบรรยายของวิทยากรในขณะนี้ ซึ่งกำลังพูดอยู่ต่อหน้าผู้ฟังจำนวนมาก ซึ่งผมก็ไม่เคยรู้จักพวกคุณมาก่อน นอกจากนี้ วิทยากรก็ไม่รู้จักทีมงานที่ทำหน้าที่ดูแลจัดงานการประชุมครั้งนี้เช่นเดียวกัน วิทยากรไม่รู้จักคนขับเครื่องบินที่พาวิทยากรมาบรรยาย วิทยากรไม่รู้จักผู้ประดิษฐ์ไมโครโฟนนี้ รวมทั้งคนสร้างกล้องที่กำลังบันทึกภาพตัวนี้ วิทยากรไม่รู้จักคนเขียนหนังสือ และบทความต่างๆ ที่วิทยากรได้อ่านรวบรวมมา เพื่อนำเสนอในการบรรยายครั้งนี้ รวมทั้งไม่รู้จักคนที่กำลังดู กำลังอ่าน เรื่องราวที่บรรยายในครั้งนี้ ผ่านทางอินเตอร์เน็ต ที่อาจอาศัยอยู่ที่ใดสักแห่งบนโลกนี้ อย่างไรก็ตามแม้ว่าเราจะไม่รู้จักกัน เราก็สามารถทำงานร่วมกัน สามารถแลกเปลี่ยนแนวคิดระดับโลกนี้ร่วมกัน ซึ่งชิมแปนซีไม่สามารถทำได้ แม้ว่าชิมแปนซีจะสามารถสื่อสารระหว่างกัน แต่เราไม่เคยเห็นว่าชิมแปนซีกลุ่มหนึ่งจะเดินทางไปหาชิมแปนซีอีกกลุ่มที่อยู่ห่างไกลออกไป เพื่อบรรยายเกี่ยวกับเรื่อง กล้วย ช้าง ม้า หรือเรื่องต่างๆ ที่ทำให้ชิมแปนซีอีกกลุ่มสนใจ 
จริงอยู่ว่า ความร่วมมือไม่ใช่เรื่องดีเสมอไป สิ่งเลวร้ายหลายอย่างที่มนุษย์ก่อให้เกิดขึ้นในประวัติศาสตร์มนุษยชาติ ด้วยความสามารถในการร่วมมือกันทำโดยสมาชิกจำนวนมาก ก็เคยเกิดขึ้นมาแล้วนับไม่ถ้วน อาทิเช่น คุกเป็นระบบความร่วมมือ โรงฆ่าสัตว์เป็นระบบความร่วมมือ ค่ายกักกันก็เป็นระบบความร่วมมือ
ลิงชิมแปนซีไม่มีโรงฆ่าสัตว์ ไม่มีคุก ไม่มีค่ายกักกัน 
หากวิทยากรสามารถโน้มน้าวผู้ฟังได้สำเร็จ ว่า เราสามารถครองโลกได้ ด้วยความร่วมมือกันของพวกเราทุกคน แบบยืดหยุ่น ก็จะเกิดคำถามขึ้นในใจของผู้ฟังต่อไปว่า พวกเราจะทำได้อย่างไร สิ่งใดที่ทำให้เราเป็นสัตว์ชนิดเดียว ที่สามารถร่วมมือกันทำสิ่งเหล่านี้ได้ 
คำตอบก็คือ จินตนาการของมนุษยชาติ 
มนุษย์สามารถร่วมมือแบบยืดหยุ่นเพื่อทำสิ่งใดๆ กับคนแปลกหน้าจำนวนมากที่เราไม่เคยรู้จักมาก่อน เนื่องจากมนุษย์เราเป็นเพียงสัตว์ชนิดเดียวในโลก ที่สามารถสร้าง และเชื่อ เรื่องสมมุติ ร่วมกัน และตราบที่มนุษย์ทุกคนเชื่อในเรื่องสมมติเดียวกัน ทุกคนก็จะเชื่อฟังและทำตามกฎระเบียบ ขนบธรรมเนียมเดียวกัน รวมทั้งมีค่านิยมแบบเดียวกัน 
สัตว์ต่างๆ ในโลกล้วนใช้การสื่อสารเพื่ออธิบายเรื่องจริง เช่น ชิมแปนซี อาจสื่อสารกับเพื่อนชิมแปนซีในกลุ่มว่า "สิงโตมา รีบหนีกันเถอะ" หรือ "นั่นต้นกล้วยอยู่ทางโน้น เราไปเอากล้วยกัน" แต่สำหรับมนุษย์แล้ว นอกจากเราจะใช้ภาษาในการอธิบายความจริงให้กับเพื่อนสมาชิกแล้ว เรายังใช้เพื่ออธิบายความจริง แต่เราสามารถใช้ภาษาในการสื่อสาร เพื่อสร้างความจริงขึ้นมาใหม่ เช่น มนุษย์ คนใดคนหนึ่งอาจกล่าวว่า "มีเทพเจ้าอยู่บนฟากฟ้า" หากคุณไม่ทำตามที่ผมบอก เมื่อคุณตายไปคุณจะถูกลงโทษส่งไปนรก โดยเทพเจ้า 
หากทุกคนเชื่อเรื่องที่ผมสร้างขึ้น ทุกคนก็จะทำตาม ขนบธรรมเนียม กฎระเบียบ และมีค่านิยมเดียวกัน นั่นคือทุกคนสามารถร่วมมือกันทำตามความเชื่อเดียวกัน 

เราไม่สามารถโน้มน้าว ให้ชิมแปนซี ยื่นกล้วยในมือให้เราได้ แม้ว่าเราจะสัญญากับชิมแปนซีว่า "หลังจากมันตาย ชิมแปนซีตัวนั้นจะได้ไปสวรรค์ของชิมแปนซีนะ" 
และชิมแปนซีตัวนั้น จะได้กล้วยมากมายในสวรรค์อันผลบุญที่ชิมแปนซีตัวนั้นได้ให้กล้วยกับเรา " 
ไม่มีลิงตัวไหนที่จะเชื่อเรื่องเช่นนี้ มีเพียงมนุษย์เท่านัั้นที่เชื่อเรื่องแบบนี้ ซึ่งเป็นเหตุผลที่ทำให้มนุษย์เราครองโลกได้ ในขณะที่ชิมแปนซีถูกขังอยู่ในสวนสัตว์ และในห้องทดลอง
ตอนนี้ เราอาจยอมรับว่า มันเป็นเรื่องจริง ในทางศาสนา มนุษย์ร่วมมือกัน โดยเชื่อเรื่องสมมติเดียวกัน มนุษย์เป็นล้านๆ มาร่วมกัน สร้างวิหารหรือมัสยิต ทำสงครามครูเสด สงครามญิฮาด เพราะพวกเขาเหล่านั้นเชื่อในเรื่องเดียวกัน เชื่อในเรื่อง พระเจ้า สวรรค์ และนรก
แต่สิ่งที่วิทยากรต้องการเน้นก็คือ ด้วยกลไกการสร้างความเชื่อและทำให้ทุกคนเชื่อแบบเดียวกันนี้ จึงเป็นฐานรากของความร่วมมือกันในมนุษย์ ในระดับที่ยิ่งใหญ่ในทุกรูปแบบ ไม่ใช่เพียงเรื่องศาสนาเท่านั้น ไม่ว่าจะเป็นในทางกฎหมาย ระบบกฎหมายส่วนใหญ่ในโลกปัจจุบัน มีพื้นฐานจากความเชื่อในเรื่องสิทธิมนุษยชน แต่สิทธิมนุษยชนคืออะไร หากเราเปรียบสิทธิมนุษยชน ก็เหมือนกับเทพเจ้าและสวรรค์ เป็นเพียงเรื่องที่มนุษย์เราประดิษฐ์ขึ้น ไม่ใช่ความจริงที่เป็นปรวิสัย (ความเป็นจริงตามธรรมชาติ) ไม่ใช่เป็นผลทางชีวภาพของสัตว์ ที่เรียกว่าโฮโมเซเปียน หากเราเอามนุษย์มาผ่าออกดู เราจะพบหัวใจ ไต เซลล์ประสาท ฮอร์โมน ดีเอ็นเอ แต่จะไม่พบสิทธิมนุษยชน ที่เดียวที่เราจะพบสิทธิมนุษยชนได้ก็มีแต่ในเรื่องสมมุติ คือมนุษย๋สมมติขึ้นเอง ประดิษฐ์ขึ้นเองแล้วเผยแพร่ ในช่วงหลายศตวรรษที่ผ่านมา 
ซึ่งมันอาจจะเป็นเรื่องดี ถึงดีมากก็ได้ แต่ก็ยังเป็นเรื่องที่มนุษย์สมมุติขึ้น
ซึ่งรวมถึงการเมืองการปกครองด้วย ปัจจัยที่สำคัญที่สุดในระบบการปกครองปัจจุบัน ก็คือรัฐและประเทศ แล้วรัฐและประเทศชาติคืออะไร รัฐและประเทศไม่ใช่ความจริงแบบปรวิสัย (ความจริงตามธรรมชาติ) ภูเขา แม่น้ำต่างหากที่เป็นความจริงแบบปรวิสัย เราเห็นเราสามารถสัมผัสได้ เราได้กลิ่นมันได้ แต่ประเทศหรือรัฐ ไม่ว่าจะเป็น อิสราเอล อิหร่าน ฝรั่งเศส เยอรมนี เป็นเพียงสิ่งที่มนุษย์ประดิษฐ์ สรรค์สร้างขึ้น แล้วเราก็ยึดติดกับมัน อย่างมากด้วย ซึ่งรวมถึงความจริงในเชิงเศรษฐกิจด้วย 
ประการสำคัญที่สุดอีกประการหนึ่งในเศรษฐกิจโลกปัจจุบัน ก็คือ บริษัท และบรรษัท เราหลายคนทำงานในบริษัท ไม่ว่าจะเป็นกูเกิ้ล โตโยต้า แมคโดนัลด์ 
แล้วบริษัทคืออะไร มันเป็นเรื่องที่พวกนักกฎหมาย สมมติขึ้น สร้างขึ้น เป็นสิ่งที่ถูกประดิษฐ์คิดค้นขึ้น และนำมาให้พวกเราใช้ ให้พวกเรายึดถือ โดยพวกเหล่าพ่อมดทางเศรษฐกิจ หรือพอมดทางกฎหมาย 
สิ่งที่บริษัทพยายามทำ ตลอดเวลา คือความพยายามในการทำเงิน สะสมเงิน สะสมความมั่งคั้งทางการเงิน 

แล้วเงิน คืออะไร
เช่นเดียวกัน เงินไม่ใช่ความจริงแบบปรวิสัย (ความจริงตามธรรมชาติ) เพราะมันไม่มีค่าแบบปรวิสัย (ไม่มีค่าตามธรรมชาติ) เรานำกระดาษสีเขียวแผ่นหนึ่งแล้วเรียกมันว่า แบงค์ดอลลาร์ มันไม่มีค่าอะไรเลย มันเป็นเพียงแค่กระดาษ สีเขียวมีลายน้ำ เราไม่สามารถรับประทานมันได้ ดื่มมันก็ไม่ได้ สวมใส่มันก็ไม่ได้ แต่ว่ามียอดนักเล่านิทาน คือพวกนายธนาคาร รัฐมนตรีกระทรวงการคลัง นายกรัฐมนตรี พวกเขาเล่านิทานที่น่าเชื่อถือมากให้เราฟัง "ดูนี่ คุณเห็นกระดาษแผ่นสีเขียวนี้ไหม มันมีค่าจริงๆ เท่ากับกล้วย 1 ใบ" หากเราทุกคนเชื่อ มันได้ผลจริงๆ เราสามารถใช้แผ่นกระดาษที่ไร้ค่าแผ่นนี้ ไปยังซูเปอร์มาร์เก็ต ให้กับคนที่ไม่รู้จัก เราไม่เคยพบเจอกันมาก่อน แล้วแลกกล้วยที่เราสามารถกินได้จริง จากการแลกเปลี่ยน นี่เป็นอะไรที่น่ามหัศจรรย์ ซึ่งเราไม่สามารถทำเช่นนี้ได้กับชิมแปนซี แน่นอนว่าชิมแปนซีก็ซื้อขายแลกเปลี่ยนเหมือนกัน "ตกลง คุณให้มะพร้าวกับลิง แล้วลิงจะให้กล้วยกับคุณ"
นั่นอาจได้ผล แต่คุณให้กระดาษแผ่นนี้ที่ไม่มีค่ากับลิง แล้วคุณหวังว่าลิงจะให้กล้วยกับคุณ ไม่มีทางอย่างแน่นอน ลิงไม่ใช่มนุษย์ ลิงไม่เชื่อเรื่องเงินตรา
จริงๆ แล้ว เงินตราเป็นนิทาน เรื่องเล่าที่มนุษย์สร้างขึ้น แล้วประสบความสำเร็จสูงสุด ในประวัติศาสตร์ของมนุษยชาติ เป็นเรื่องเดียวที่มนุษย์ทุกคนเชื่อเหมือนกันหมด 
เรื่องพระเจ้า ไม่ใช่เรื่องที่มนุษย์ทุกคนเชื่อ และสิทธิมนุษยชนก็ไม่ใช่เรื่องที่มนุษย์ทุกคนเชื่อเช่นเดียวกัน รวมถึงมนุษย์ทุกคนก็ไม่ได้เป็นคนรักชาติ  แต่ทุกคนเชื่อเรื่องเงิน เชื่อในแบงค์ดอลล่าร์ แม้แต่ บิน ลาดิน (หัวหน้าผู้ก่อการร้าย) ที่เกลียดชัง ระบบการเมืองและศาสนาของอเมริกัน และวัฒนธรรมอเมริกัน แต่บินลาดิน ไม่มีปัญหากับดอลล่าอเมริกัน และจริงๆ แล้วเขาค่อนข้างจะชอบเงินดอลล่ามากด้วย

สรุปก็คือ พวกเรามนุษย์ควบคุมโลกได้ เพราะอยู่กับความจริงสองอย่าง
ในขณะที่ สัตว์อื่นทั้งหมดอยู่กับความจริงที่เป็นปรวิสัย (ความจริงตามธรรมชาติ)
ความจริงของเหล่าสรรพสัตว์ประกอบด้วยสิ่งที่มีอยู่จริง ๆ เช่น แม่น้ำ ต้นไม้สิงโต และช้าง
ในขณะที่มนุษย์เรา ก็อยู่กับความจริงที่เป็นปรวิสัย (ความจริงตามธรรมชาติ) เช่นกัน  เราอยู่กับ แม่น้ำ ต้นไม้สิงโต และช้าง แต่ตลอดหลายศตวรรษที่ผ่านมา มนุษยชาติได้สร้างสิ่งเติมต่อ บนความจริงที่เป็นปรวิสัย เหล่านี้ เป็นความจริงชั้นที่สอง เป็นความจริงแบบสมมุติ เป็นความจริงแบบที่มนุษยชาติสร้างขึ้น เช่น ประเทศชาติ พระเจ้า เงิน และบริษัท และสิ่งที่น่าอัศจรรย์ก็คือเมื่อเวลาผ่านไป ความจริงที่สมมุติเหล่านั้น กลับมีอิทธิพลเพิ่มขึ้นเรื่อย ๆ จนกระทั่งทุกวันนี้ สิ่งที่มีทรงพลังมากที่สุดในโลก ก็คือความจริงสมมุติเหล่านี้ ในปัจจุบัน การอยู่รอดของแม่น้ำ ต้นไม้ สิงโต ช้าง และเหล่าสรรพสัตว์ รวมทั้งมนุษย์ ขึ้นอยู่กับการตัดสินใจ และความต้องการ ของสิ่งที่สมมุติขึ้น ไม่ว่าจะเป็น สหรัฐอเมริกา บริษัทกูเกิล หรือธนาคารโลก สิ่งที่มีอยู่เพียงแต่ในจินตนาการของเรา
วิทยากรบอกว่า ความก้าวหน้าแบบอัศจรรย์ ที่พวกเรากำลังประสบในตอนนี้
ไม่เพียงแต่จะทำให้ชีวิตของเราดีขึ้นเท่านั้น แต่ยังทำให้เกิด
"ชนชั้นต่างๆ ทางสังคม และความขัดแย้งระหว่างชนชั้น เหมือนกับที่เคยเกิดขึ้นในช่วงการปฏิวัติอุตสาหกรรม"
ในการปฏิวัติอุตสาหกรรม เราเห็นการกำเนิดของชนชั้นใหม่ คือ ชนชั้นกรรมาชีพในเมือง (กรรมกรในเมือง) และประวัติศาสตร์การเมืองและสังคม ส่วนใหญ่ตลอดหลาย ปีที่ผ่านมา จะเกี่ยวข้องกับการบริหารจัดการกลุ่มคนในชนชั้นนี้ รวมถึงปัญหาและโอกาสใหม่ๆ ที่เกิดขึ้น 
ขณะนี้ เราเห็นการกำเนิดขึ้นของชนชั้นขนาดใหญ่ ของกลุ่มคนไร้ประโยชน์ 
เมื่อคอมพิวเตอร์เก่งขึ้นเรื่อยๆ กลุ่มคนในสาขาอาชีพต่างๆ ที่สามารถนำคอมพิวเตอร์มาทำงานแทนที่ได้ กลุ่มคนเหล่านี้ก็จะไร้ประโยชน์ มันเป็นความจริงที่ว่า วันหนึ่งคอมพิวเตอร์จะเก่งกว่ามนุษย์ สามารถทำงานทดแทนมนุษย์ได้ และทำให้มีมนุษย์มากเกินความจำเป็น
และคำถามทางการเมืองและเศรษฐกิจที่สำคัญในศตวรรษนี้ ก็คือ
"เราจะต้องการมนุษย์ไปทำไม" หรืออย่างน้อยที่สุด "เราจะใช้มนุษย์มากขนาดนี้ไปทำอะไร"

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

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

โดย บรูโน เกียสซานี ยูวาล 
เรียบเรียงโดย ณัฏฐ์ โอธนาทรัพย์ 

วันอังคารที่ 6 มิถุนายน พ.ศ. 2560

WELCOME SAU Freshy 2017 งานต้อนรับนศ.ใหม่ 6 มิ.ย.60





กิจกรรมต้อนรับ นศ. ใหม่ ประจำปีการศึกษา 2560

มหาวิทยาลัยเอเชียอาคเนย์

Welcome Ceremony for fresh man/woman in Academic year 2017

Southeast Asia University

Bangkok Thailand

วันพฤหัสบดีที่ 25 พฤษภาคม พ.ศ. 2560

มารู้จัก ซัมมารีน (Xamarin)

Image result for xamarin logo
มารู้จัก ซัมมารีน (Xamarin)

ด้วยปัจจุบัน (พค 2017) มีแพลทฟอร์มที่เป็นที่นิยมในตลาดอยู่สองแพลทฟอร์มที่แข่งขันกันอยู่คือ iOS และ Android ซึ่งเป็นระบบปฏิบัติการสำหรับอุปกรณ์เคลื่อนที่หรือมือถือ (สมาร์ทโฟน และแทบเลท) ที่มีส่วนแบ่งทางการตลาดทั่วโลกในไตรมาศที่สี่ ของปี 2015 มากถึงร้อยละ 98.4 (รวมทั้งสองแพลทฟอร์ม)  เพิ่มมากขึ้นจากปีที่แล้วในไตรมาศเดียวกันที่ร้อยละ 96.4 จากการสำรวจของ Gartner


ตัวอย่างเช่น เมื่อเราต้องการตรวจสอบข้อมูลต่างๆ ในบัญชี เฟสบุ้ค หรือทวิตเตอร์ โดยปกติส่วนตัวแล้วก็จะกระทำผ่าน mobile app ของสื่อสังคมนั้นๆ โดยตรงแทนที่จะใช้งานผ่านเว็บไซต์ แน่นอนท่านเชื่อหรือไม่ว่า mobile application มียอดการใช้งานสูงมากกว่าการใช้งานเว็บทั่วโลก

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



ด้วยเหตุนี้ หากบริษัทของเราต้องการสร้างแอพพลิเคชั่นที่สามารถใช้งานได้ทั้งสามแพลทฟอร์ม ทั้ง Android, iOS และ Windows phone บริษัทก็จำเป็นต้องมีทีมงานที่มีความรู้ในการเขียนโปรแกรมทั้งสามภาษาคือ Java สำหรับ Android, Objective-C หรือ Swift สำหรับ iOS และ C# และ XAML สำหรับ Windows phone ซึ่งเป็นวิธีการที่เรียกว่า "วิธีการแบบไซโล" (Siloed approach)



บางบริษัทจึงต้องผิดหวังกับวิธีแบบนี้ อันเนื่องมาจาก ค่าใช้จ่ายสูง บริษัทเหล่านี้จึงหันไปใช้เว็บเบสแอพพลิเคชั่น ที่คุณสามารถนำโค้ดกลับมาใช้ใหม่ บนแพลทฟอร์ที่แตกต่างกัน  โดยเขียนด้วยภาษา HTML, CSS และ JavaScript (เป็นแนวคิดที่ดี หากคุณมีความรู้ในการพัฒนาเว็บมาก่อนเป็นพื้นฐาน) กล่าวคือเว็บเบสแอพ สามารถใช้ได้บนทุกแพลทฟอร์ม โดยการใช้งานผ่านเว็บเบราเซอร์
ซึ่งด้วยวิธีการเช่นนี้ ทำให้คุณสามารถได้รับประโยชน์ ต่างๆ ดังนี้
  • เขียนโค้ดเพียงครั้งเดียว หรือแบบเดียว แต่สามารถใช้งานได้บนทุกๆ อุปกรณ์
  • ประหยัดเงิน
  • แล้วอะไรคือข้อเสียของวิธีการนี้หล่ะช่วยบอกที ?

ประสิทธิภาพครับ ด้วยวิธีการนี้ประสิทธิภาพการทำงานของแอพจะลดลง (จงจำไว้ว่า เราทำงานผ่านเว็บแอพ)
แน่นอน มันไม่สามารถเข้าถึงคุณสมบัติพื้นฐานทั้งหมดของแพลทฟอร์มได้โดยง่าย
เว็บเบสเฟรมเวิร์คที่ได้รับความนิยมสูง สองเฟรมเวิร์คในปัจจุบันคือ คอร์โดว่า (Cordova) และ ไอโดนิก (Ionic)

ปัจจุบันเราพบว่ามีวิธีการใหม่ที่ทำให้เราสามารถทำใด้ทั้งสองวิธี คือ การแบ่งปันโค้ดด้วย C# และยังสามารถเข้าถึงคุณสมบัติของแอพพื้นฐานได้ด้วย Xamarin (แซมมารีน มาจากคำว่า แทมมารีน และเปลี่ยนตัวแรกเป็น X)


แล้วอะไรคือ แซมมารีน (Xamaerin)

มันเป็นเครื่องมือที่มหัศจรรย์อย่างยิ่งที่สามารถทำให้เราสามารถทำงานต่างๆ ทำให้เราสามารถเขียนแอพพลิเคชั่นสำหรับมือถือ ด้วย C# และสามารถสั่งให้มันทำงานบนแพลทฟอร์มมือถือใดๆ ได้อย่างง่ายดาย


ด้วย ส่วนติดต่อขั้นพื้นฐาน (Native UI) การเข้าถึง API พื้นฐาน (Native API) และ ประสิทธิภาพขั้นพื้นฐาน (native performance) สิ่งเหล่านี้โดยปกติคุณจะสามารถทำได้เฉพาะใน อ็อบเจ็กทีฟ ซี (Objective C), สวิฟท์ (Swift) หรือไม่ก็ จาวา (Java) ปัจจุบันคุณสามารถทำสิ่งเหล่านี้ได้ด้วย ซีชาร์ป (C#) โดยแซมมารีน (Xamarin)  
ด้วยความสามารถในการทลายกำแพงข้อจำกัดทางเทคโนโลยีนี้ จึงทำให้เกิดระบบปฏิบัติการใหม่ขึ้น
เรามาพบกับ ตระกูล Xamarin กัน  
screen-shot-2016-10-09-at-11-14-28-pm
ตอนนี้เราจะมาพิจารณากันว่า Xamarin.iOS, Xamarin.Android และ Xamarin.Forms นั้น มีความแตกต่างกันอย่างไร


Xamarin.iOS และ Xamarin.Android ซึ่งแสดงให้เห็นถึงคุณสมบัติของมันอยู่แล้วด้วยชื่อ ก็คือเป็น ทูลคิท หรือชุดเครื่องมือสำหรับการเชื่อมต่อกับผู้ใช้ หรืออินเตอร์เฟสสำหรับผู้ใช้ (UI toolkits) สำหรับการสร้างแอพ ด้วยความช่วยเหลือของ API ของแพลทฟอร์ม และ Mono .NET เฟรมเวิร์ค หากคุณตัดสินใจที่จะสร้างแอพโดยใช้ผลิตภัณฑ์ทั้งสองนี้ คุณก็จะได้รับประโยชน์คือสามารถปรับแต่งส่วนติดต่อกับผู้ใช้สำหรับแต่ละคน แต่ก็มีข้อจำกัดบางประการในการแบ่งปันโค้ด
นอกจากนี้ หากคุณเลือกที่จะสร้างแอพด้วย Xamarin.Forms คุณก็เพียงเขียนโค้ดด้วยโค้ดภาษาใดภาษาหนึ่ง จากนั้นโค้ดที่คุณเขียนขึ้นก็จะถูกแปลในขณะทำงาน (runtime) ให้ไปอยู่ในแพลทฟอร์มพื้นฐานแบบต่างๆ ด้วยวิธีการเช่นนี้ ทำให้คุณสามารถแบ่งปันโค้ดโปรแกรมของคุณได้ถึงร้อยละ 90

หากคุณสับสนว่า แล้วคุณควรจะพัฒนาแอพของคุณด้วยผลิตภัณฑ์ใด คุณสามารถพิจารณาได้จากเงื่อนไขต่อไปนี้

Xamarin.Forms นั้นเหมาะสำหรับ
  • แอพที่ต้องการ ความสามารถเฉพาะของแพลทฟอร์มเพียงเล็กน้อย 
  • แอพที่ต้องการต้องการแบ่งปันโค้ด นั้นเป็นเงื่อนไขที่มีความสำคัญมากกว่าความต้องการทางด้าน UI ที่เป็นการเฉพาะ 

ส่วนความสบายที่นักพัฒนาได้รับจาก XAML ของ Xamarin.iOS และ Xamarin.Android นั้นเหมาะสำหรับ
  • แอพที่ต้องปฎิสัมพันธ์ด้วยพฤติกรรมขั้นพื้นฐาน 
  • แอพที่ใช้ API คุณสมบัติเฉพาะของแต่ละแพลทฟอร์ม เป็นจำนวนมาก 
  • แอพที่มี UI เฉพาะ เหล่านี้เป็นความต้องการที่สำคัญมากกว่า การแบ่งปันโค้ด 

ประโยชน์ของแซมมารีน ก็คือ
  • ทำให้คุณสามารถใช้พลังความรู็ใน .NET และ  C# ที่มีอยู่ในตัวคุณให้เป็นประโยชน์ได้เป็นอย่างมาก 
  • อินเตอร์เฟสกับผู้ใช้ขั้นพื้นฐาน 
  • สามารถใช้ประสิทธิภาพขั้นพื้นฐาน 
  • สามารถแบ่งปันโค้ดโปรแกรม 



ข้อจำกัดของ (Xamarin.iOS และ Xamarin.Android):
  • ไม่ใช่การแบ่งปันแพลทฟอร์ม UI ส่วนอินเตอร์เฟสกับผู้ใช้ 
  • ด้วยผลิตภัณฑ์ทั้งสองต่อไปนี้ ทำให้คุณสามารถเขียนโค้ด UI ที่ปรับแต่งให้เหมาะสมได้เป็นอย่างมาก สำหรับแต่ละแพลทฟอร์ม อย่างไรก็ตามในขณะเวลาเดียวกัน คุณจะพบโอกาสในการแบ่งปันโค้ดได้ถึงร้อยละ 60 ดังต่อไปนี้ 


screen-shot-2016-10-11-at-9-03-32-pm

ความต้องการทางด้านฮาร์ดแวร์
หากคุณต้องการ สั่งให้โปรแกรม iOS ทำงานหรือคอมไพล์ iOS โปรแกรมโดยใช้ซัมมารีนสตูดิโอ (Xamarin studio หรือ Visual Studio) คุณจำเป็นต้องมีเครื่อง mac เพื่อใช้ในการคอมไพล์ โค้ดที่คุณพัฒนาขึ้น คุณสามารถได้รับเครื่อง mac ของตัวคุณเองได้ด้วย วิธีต่อไปนี้คือ เริ่มต้นด้วยการเชื่อมต่อกับเครือข่าย ที่คุณใช้งานอยู่ หรือคุณสามารถเช่าใช้เครื่อง mac ในคลาวด์ อาทิเช่น MacinCloud services


คุณสามารถค้นหาเงื่อนไขต่างๆ ที่ทำให้คุณรู้สึกดีด้วยการตรวจสอบ ความต้องการและการติดตั้ง  Xamarin.iOS


มีท่านใดสนใจเรื่องเกี่ยวกับ IDE บ้างหรือไม่?
และในแนวทางเดียวกัน หากคุณเป็นนักพัฒนาที่ใช้เครื่อง mac คุณจะไม่สามารถติดตั้ง Visual Studio ลงบนเครื่องของคุณได้ ถ้าเช่นนั้นแล้วเราจำเป็นต้องโยนเครื่อง mac ของเราทิ้งไปหรือไม่ แล้วการทำงานร่วมกันเป็นทีม (Team explorer) หรือ การทำวิชวลสตูดิโอ มีความสามารถเพิ่มขึ้น (Resharper using Visual Studio) หรือไม่
วิชวลสตูดิโอ (Visual Studio)
xamarin2x-yuj5jk33

เพื่อให้ได้ประโยชน์สูงสุดครบถ้วน ด้วย Team explorer หรือ Resharper ด้วย Visual Studio เป็นสิ่งแรกสำหรับคุณ

Xamarin Studio
ios-designerนักพัฒนา iOS (ios-designer)
หากคุณเป็นผู้ใช้เครื่อง mac คุณไม่สามารถติดตั้ง Visual Studio ลงบนเครื่องของคุณได้ จึงเป็นเหตุผลที่ทำไมคุณจึงต้องหันไปใช้ Xamarin Studio ที่สามารถใช้กับเครื่อง PC ส่วนบุคคลได้ด้วย ซึ่งเราแนะนำให้คุณใช้ Visual Studio หากคุณใช้เครื่องที่เป็น Windows
คุณสามารถดูวิธีการติดตั้งได้จากลิงค์ต่อไปนี้
https://developer.xamarin.com/guides/ios/getting_started/installation/

แหล่งที่มา 
https://www.codeproject.com/Articles/1173490/Introduction-to-Xamarin

วันจันทร์ที่ 8 พฤษภาคม พ.ศ. 2560

NETPIE IoT Academic Training for Instructors

อาจารย์สาขาวิชาวิศวกรรมคอมพิวเตอร์ เข้าร่วมอบรม
หลักสูตร การพัฒนาอุปกรณ์และบริการ IoT
ด้วยแพลตฟอร์ม NETPIE สำหรับอาจารย์
(NETPIE IoT Academic Training for Instructors)
ระหว่างวันที่ 3 ถึง 4 พฤษภาคม 2560
ณ NECTEC อุทยานวิทยาศาสตร์และเทคโนโลยีแห่งประเทศไทย ปทุมธานี


NETPIE = CLOUD PLATFORM + MICROGEAR LIBRARY

คลาวด์แพลทฟอร์ม (CLOUD PLATFORM)
แพลตฟอร์ม NETPIE เป็นแพลตฟอร์มแบบ cloud-as-a-service ซึ่งช่วยอำนวยความสะดวกในการเชื่อมต่ออุปกรณ์ IoT ("สิ่งต่างๆ") เข้าด้วยกันได้อย่างราบรื่นและชัดเจนที่สุด โดยการผลักความซับซ้อนในการเชื่อมต่ออุปกรณ์ IoT จากมือผู้พัฒนาแอพพลิเคชันหรือผู้ผลิตอุปกรณ์ ไปยังคลาวด์ ทำให้ลดความยุ่งยากในการพัฒนาลง

MICROGEAR LIBRARY
Microgears เป็นไลบรารี่ เฟิร์มแวร์หรือ SDK ที่สนับสนุนช่องทางการสื่อสารและฟังก์ชันอื่น ๆ ระหว่างสิ่งต่างๆ กับ แพลตฟอร์ม NETPIE ขณะนี้เรามี Microgears สำหรับฮาร์ดแวร์ต่างๆ รวมทั้งระบบปฏิบัติการยอดนิยม โดยMicrogears ทั้งหมดเปิดให้ใช้แบบ open-source คือเปิดเผยซอร์สโค้ด และสามารถนำไปใช้ได้โดยไม่คิดมูลค่า รวมทั้งสามารถนำไปพัฒนาต่อยอดได้

สาเหตุที่ต้องเลือก NETPIE
ทีมผู้พัฒนา NETPIE จะทำหน้าที่ดูแลงานที่น่าเบื่อให้แทน ทำให้นักพัฒนาสามารถทุ่มเทเวลาให้กับการพัฒนาแอพพลิเคชั่นทาง IoT ได้อย่างเต็มที่

THING-CENTRIC DEVELOPMENT
NETPIE ทำหน้าที่เป็นศูนย์กลางของสรรพสิ่ง คุณมีหน้าที่เพียงพัฒนาสิ่งของต่างๆ (things) ของคุณเท่านั้น โดย NETPIE จะทำหน้าที่ดูแลสิ่งต่างๆ เหล่านั้นแต่ละชิ้น ด้วยหลักการที่สิ่งต่างๆ แต่ละสิ่งเหล่านั้นมีตรรกะเป็นของตนเอง ความสามารถและการติดต่อสื่อสารในแบบของตนเอง เสมือนสังคมของมนุษย์

การจัดการแต่ละสรรพสิ่ง (IDENTITY MANAGEMENT)
ด้วยแพลทฟอร์ม NETPIE จะระบุสิ่งแต่ละสิ่ง (things) ด้วยชื่อ ทำให้สรรพสิ่งสามารถสื่อสารโต้ตอบกันได้เสมอ ไม่ว่าจะมี IP address หรือไม่ก็ตาม นอกจากนี้ข้อมูลระบุตัวตนยังสามารถรวมเข้าด้วยกันให้เหมาะสมกับแต่ละแอพพลิเคชั่น

การพิสูจน์สิทธิ์ แบบไดนามิก (DYNAMIC AUTHORIZATION)
ด้วยสรรพสิ่ง ต้องผ่านการพิสูจน์สิทธิ์เพื่อใช้ในการสื่อสารโดยพิจารณาจากค่าบ่งชี้ของแต่ละสรรพสิ่ง โดยการพิสูจน์สิทธิ์สามารถปรับแต่งได้แบบไดนามิก เพื่อสามารถควบคุมการเข้าถึงอุปกรณ์ต่างๆ ได้โดยละเอียด

การเชื่อมต่อที่ชัดเจน (TRANSPARENT CONNECTIVITY)
สรรพสิ่ง สามารถสื่อสารระหว่างกันได้ตราบที่ต้องการ ไม่ว่าจะอยู่ที่ใด ประหนึ่งว่าแต่ละสรรพสิ่งมีการเชื่อมต่อกันแบบ จุดต่อจุด (end to end) กันโดยตรง


รูปแบบบริการที่เป็นแบบแผน (SERVICE-ORIENTED MODEL)
ด้วยแนวคิดที่ให้ NETPIE ทำหน้าที่เสมือนผู้ช่วยส่วนตัวของ Microgears หากต้องการความช่วยเหลือ ก็เพียงแค่โทรหา NETPIE

สถาปัตยกรรมคลาวด์ที่ตอบโจทย์ (TRUE CLOUD ARCHITECTURE)
ด้วย NETPIE ได้รับการออกแบบมาด้วยสถาปัตยกรรมแบบคลาวด์ที่แท้จริงตั้งแต่ต้น องค์ประกอบต่างๆ จึงมีโครงสร้างแบบกระจาย และเชื่อมต่อเข้าด้วยกันแบบหลวมๆ เพื่อทำให้สามารถปรับขนาดและทนทานต่อความผิดพลาดของแพลทฟอร์มได้เป็นอย่างดี

บริการต่างๆ ของ NETPIE (NETPIE Services)
REST API
ด้วย REST API ถูกออกแบบและพัฒนาขึ้นให้มีขนาดเล็ก และเป็นสากล ทำให้ระบบเดิมสามารถปฏิสัมพันธ์กันแบบเรียลไทม์ ผ่านโปรโตคอล HTTP
แพทเทิร์น การลงทะเบียนเผยแพร่ (PUBLISH-SUBSCRIBE PATTERN)
ด้วยแพทเทิร์นนี้ ทำให้เราสามารถสร้างรูปแบบการสื่อสารแบบลงทะเบียนเผยแพร่ได้ ทำให้สามารถส่งข้อความระหว่างสรรพสิ่งต่างๆ อย่างรวดเร็วทันที
การประสานงาน (COORDINATION)
ด้วยบริการที่ประสานงานกัน ทำให้สรรพสิ่งสามารถค้นหา ตรวจสอบ ความมีตัวตนของสิ่งต่างๆ ได้
การจัดเก็บข้อมูล (STORAGE)
บริการของ NETPIE รองรับพื้นที่การจัดเก็บข้อมูลแบบง่ายๆ ผ่านพื้นที่ POSTBOX ทำให้ผู้ใช้งานสามารถจัดเก็บข้อมูลของตนเองลงใน POSTBOX และสามารถเรียกใช้ได้ในภายหลัง