มาทำความรู้จักกับ การเรียนรู้แบบเสริมกำลัง (Reinforcement Learning)
Reinforcement Learning เป็น Machine Learning Algorithm แบบหนึ่ง ที่มีหลักการทำงานเสมือนกับการที่มนุษย์เรียนรู้บางสิ่งบางอย่างด้วยการลองผิดลองถูก และมีการเรียนรู้เกิดขึ้นระหว่างทางว่าการกระทำไหนดีหรือไม่ดี ซึ่ง Reinforcement Learning ประกอบด้วยองค์ประกอบหลัก ดังต่อไปนี้
- Agent – ผู้กระทำ Action
- Action (a) – การกระทำของ Agent ที่ส่งผลบางอย่างต่อ Environment
- Environment (e) – ระบบที่ Agent ต้องมีปฏิสัมพันธ์ด้วย
- State (s) – สถานการณ์ของ Environment ที่ทาง Agent สามารถรับรู้ได้
- Policy (
) – หลักการที่ Agent ใช้ในการตัดสินใจเลือก Action หลังจากประเมินสถานการณ์แล้ว
- Reward (R) – ตัวประเมินผลลัพธ์ที่เกิดจากการกระทำของ Agent เช่น คะแนน กำไรที่ได้รับ หรือ ผลแพ้ชนะ เป็นต้น

(แหล่งที่มาภาพจาก en.wikipedia.org/wiki/Reinforcement_learning)
Agent จะรับรู้สถานการณ์ หรือ State ของ Environment จากนั้นจึงใช้ Policy ในการเลือกทำการกระทำบางอย่าง (Action) ที่ส่งผลต่อ Environment ซึ่งผลจากการกระทำ หรือ Action นั้นจะทำให้สถานการณ์ของ Environment เปลี่ยนจากสถานการณ์เดิมไปสู่อีกสถานการณ์หนึ่ง (State ใหม่)
ดังนั้นหลักการของ Reinforcement Learning คือการเรียนรู้ของ Agent ที่เกิดจากปฏิสัมพันธ์แบบลองผิดลองถูกระหว่าง Agent กับ Environment โดย Agent จะสามารถรับรู้สถานการณ์ของ Environment ผ่าน State และเลือกการกระทำ Action ที่ส่งผลต่อ Environment โดยหวังว่าจะได้ผลลัพธ์ Reward ที่ดีที่สุด รวมทั้งเรียนรู้ผ่านข้อผิดพลาดในอดีตที่เกิดขึ้น
แล้วจะเลือก Action อย่างไร

หากเปรียบเทียบกับกรณีนักศึกษาที่อ่านหนังสือเตรียมตัวสอบ เราจะแทนว่า นักศึกษา (Agent) จะรับรู้ถึง สถานการณ์ (State) ของสิ่งรอบตัว (Environment) เช่น นักศึกษารับรู้ว่าคะแนนเก็บปัจจุบันของตนนั้นมีอยู่เท่าไหร่ โดยในการสอบครั้งแรก นักศึกษาเลือกที่จะไม่อ่านหนังสือสอบ (Action) ทำให้สอบได้คะแนนน้อย ซึ่งเป็นผลลัพธ์ที่ไม่ดี เพราะฉะนั้นเมื่อนักศึกษาเรียนรู้จากการกระทำครั้งก่อนว่า การไม่อ่านหนังสือไปสอบให้ผลลัพธ์ (Reward) ที่ไม่ดี การสอบครั้งต่อไป นักศึกษาจึงตั้งใจจะทำผลลัพธ์ให้ดีขึ้นด้วยการอ่านหนังสือก่อนไปสอบเป็นต้น
อย่างไรก็ตาม ในบางครั้งมนุษย์เรา (Agent) นั้นไม่ได้เลือกที่จะทำบางสิ่งบางอย่าง (Action) โดยขึ้นอยู่กับผลลัพธ์ (Reward) ที่คาดว่าจะได้รับ ณ ตอนนั้นเสมอไป แต่อาจคำนึงถึงผลลัพธ์ในอนาคตด้วย เช่น ในคืนก่อนสอบ นักศึกษาสามารถเลือกได้ว่าจะเล่นเกมหรืออ่านหนังสือ โดยที่การอ่านหนังสือ อาจทำให้นักศึกษาเครียดและมีความสุขน้อยกว่าการเล่นเกม แต่เมื่อคำนึงถึงผลระยะยาว การอ่านหนังสือ แล้วเราทำข้อสอบได้ดี ทำให้เราอาจได้งานดี ๆ ในอนาคต ทำให้ชีวิตมีความสุข ในขณะที่การเล่นเกมนั้น อาจจะทำให้มีความสุข เพลิดเพลินมากกว่าอ่านหนังสือ แต่ก็อาจจะทำให้คุณสอบตก และไม่ได้ทำงานที่ดี ทำให้ชีวิตอาจจะไม่มีความสุขเมื่อเทียบกับการที่เลือกอ่านหนังสือในคืนนั้น ดังนั้นผลรวมของรางวัลตั้งแต่ปัจจุบันจวบจนอนาคต (Cumulative Reward ()) อาจถูกนำมาใช้ในการคำนวณผลลัพธ์แทน โดยคำนวณจากผลรวมของ Reward ทุก ๆ ตัวตามสมการ
แต่เนื่องด้วยอนาคตนั้นมีความไม่แน่ไม่นอน หมายความว่า ผลลัพธ์ที่เราหวังไว้ในตอนแรกอาจจะไม่ได้เป็นแบบนั้น เช่น การอ่านหนังสือในคืนก่อนสอบอาจจะไม่ได้ทำให้เราสอบผ่าน หรือได้งานดี ๆ เสมอไป หรือแม้กระทั่งการเลือกที่จะเล่นเกมในคืนนั้น ก็อาจจะไม่ได้ส่งผลให้เส้นทางชีวิตย่ำแย่เสมอไป รวมถึงบางครั้งเราก็ไม่อาจสามารถคาดเดาจุดสิ้นสุดได้ หรือบางทีระบบอาจจะไม่มีจุดสิ้นสุดก็ได้ เช่น เกมส์คอมพิวเตอร์ที่เราเล่น เราสามารถเล่นจบเป็นรอบ ๆ ได้ เราจะเรียก Environment จำพวกพวกนี้ว่า Episodic กับอีกประเภทหนึ่งเช่น การเล่นหุ้น ที่มีสามารถเล่นไปเรื่อย ๆ ไม่มีที่ท่าว่าจะจบ กว่าจะจบโลกก็อาจจะแตกเสียก่อน เราจะเรียก Environment จำพวกนี้ว่า Non-episodic ซึ่งถ้าหากเป็นประเภทนี้ที่อนาคตนั้นไม่รู้จะไปจบที่ใดนั้น และไม่รู้จะเกิดขึ้นจริงรึเปล่า การที่เราจะสามารถคำนวณ Cumulative Reward ได้นั้นจำเป็นที่จะต้องลดความสำคัญของ Reward ที่ห่างไกลออกไปในอนาคต โดยใช้สิ่งที่เรียกว่า Discount Factor (γ) ที่มีค่าระหว่าง 0 ถึง 1 ซึ่งจะมาช่วยในการจำกัดให้ ผลรวมของรางวัลตั้งแต่ปัจจุบันจวบจนอนาคตเป็นจำนวนที่มีค่าจำกัด (finite) นั่นเอง โดยจะเพิ่มค่านี้ลงในสมการด้านบน
หลักจากที่ Agent นั้นทำการประเมินสถานการณ์ปัจจุบันผ่าน Cumulative Reward แล้วก็จะถึงช่วงเวลาที่ Agent ต้องตัดสินใจว่าจะเลือกการกระทำใด เพื่อที่จะทำให้ได้ Cumulative Reward สูงสุด โดย Agent ใช้หลักในการเลือก Policy () ที่เป็นตัวกำหนดว่า Agent ควรจะเลือกทำ Action ใด ณ สถานการณ์ (State) นั้น ๆ ตาม Policy ที่เลือกใช้ ซึ่งอาจเป็นการกระทำที่คาดหวังว่าจะได้ผลลัพธ์โดยรวมในระยะยาว (Future Cumulative Reward) มากที่สุด หรืออาจจะทำ Random Action เพื่อสำรวจรูปแบบของการกระทำใหม่ ๆ ทั้งนี้ หากทาง Agent สำรวจลองผิดลองถูกจนสามารถเลือก Action ได้ดีที่สุดไม่ว่าจะอยู่ในสถานการณ์ (State) ใด ๆ หรือก็คือ Agent ที่เราฝึกเป็นผู้เชี่ยวชาญวรยุทธ์หนึ่งในใต้หล้าของโจทย์นั้น ๆ แล้ว เราจะเรียกหลักการนั้นว่า Optimal Policy (
) ซึ่งการค้นหา Optimal Policy นั้นถือเป็นหัวใจหลักของการทำ Reinforcement Learning
โมเดล Reinforcement Learning
สิ่งที่ได้กล่าวไปข้างต้นทั้งหมดเป็นการเปรียบเทียบระหว่างหลักการของ Reinforcement Learning กับชีวิตความเป็นจริงในทุก ๆ วันเวลาที่เราตัดสินใจเลือกที่จะกระทำสิ่งต่าง ๆ ในสถานการณ์ใด ๆ ก็ตามซึ่งการที่เราจะนำแนวคิดเหล่านี้มาให้ Computer เข้าใจ และสามารถเรียนรู้ในสิ่งต่าง ๆ ได้นั้นจำเป็นต้องใช้โมเดลทางคณิตศาสตร์ที่เรียกว่า Markov Decision Process
Markov Decision Process เป็น Framework สำหรับการตัดสินใจ (Decision Making) ของ Agent เนื่องจาก Environment มีความไม่แน่นอน ทำให้ผลลัพธ์ที่ได้ในบางครั้งไม่แน่นอน (Stochastic) กล่าวคือ การที่ Agent เลือกทำ Action เดิม สำหรับสถานการณ์ (State) เดิม อาจจะไม่ได้ผลลัพธ์แบบเดิมเสมอไป เช่น เกมที่มีผู้เล่นหลายคน หรือการทอยเหรียญหัวก้อยเป็นต้น
โจทย์ Reinforcement Learning ส่วนใหญ่นั้นจะใช้ Markov Decision Process โดยจะมีลักษณะเป็นกราฟที่ชี้ระหว่าง Relation ของแต่ละ State, Action และ Reward ดังรูป โดยค่า หมายถึง Reward ที่เกิดจากการทำ Action นั้น ๆ และ
หมายถึงโอกาสที่จะทำให้ไปสู่อีก State ต่าง ๆ เมื่อกระทำ Action นั้น ๆ

จากภาพจะเป็น Markov Decision Process ที่อยู่ในลักษณะของกราฟ โดย State จะแทนด้วย Node ต่าง ๆ ในกราฟและการกระทำแต่ละ Action จะเป็นเส้นนำทางไปสู่ State และ Reward ที่ต่าง ๆ กันออกไป โดยในที่นี้จะกำหนด Reward เป็นตัวเลขง่าย ๆ เพื่อให้ Agent ของเราสามารถตัดสินใจได้ว่าจะเลือกทำ Action ไหน โดยจะมีสถานะเริ่มต้นเป็น Hungry
นอกจากนี้แต่ละ Action ในตัวอย่างจะเป็นแบบ non-deterministic หมายความว่าการเลือกทำ Action เดิมที่ State เดิม อาจจะให้ผลลัพธ์ที่ไม่เหมือนเดิมได้ ยกตัวอย่างเช่น การที่เรามีสถานะหิว กับเราเลือกที่จะกินจะมีโอกาส () ที่จะทำให้เราเข้าสู่สถานะ Full และมีโอกาส (
) ที่จะเข้าสู่สถานะ Hungry เหมือนเดิม
โดยเมื่อเราอยู่ในสถานะ Hungry นั้นจะมีทางเลือกสอง Action ให้เลือกระหว่าง การกินอาหาร (Eat) และการไม่กินอาหาร (Don’t Eat) ซึ่งเราจะสามารถสรุปสถานการณ์ที่คาดว่าจะเกิดขึ้นทั้งหมดได้สองรูปแบบ
- ถ้าหากเราเลือก Don’t Eat ก็จะมีโอกาส
ที่เราจะอดตาย (Starve) ซึ่งจะได้รับ Reward เท่ากับ
ซึ่งถือว่าเป็น Negative Reward จำนวนมากที่ Agent ไม่ควรจะปล่อยให้เกิดขึ้น และมีโอกาสอีก
ที่เราจะยังหิวเหมือนเดิม (Hungry) ซึ่งจะได้รับ Reward เท่ากับ
- ถ้าหากเราเลือก Eat จะมีโอกาส
ที่จะเปลี่ยนสถานะจาก Hungry เป็น Full และได้รับ Reward
แต่ยังมีโอกาสอีก
ที่จะกลับมาหิวเหมือนเดิมเนื่องจากเราอาจจะยังกินไม่อิ่ม และได้รับ Reward
ในเมื่อเป้าหมายหลักคือการที่เลือก Decision ที่ทำให้ Cumulative Reward ที่มากที่สุด เพราะฉะนั้นการเลือกทำ Action Eat นั้นมีโอกาสที่จะทำให้ได้รับ Reward สูงสุด
Explore หรือ Exploit

ในโจทย์ของ Reinforcement Learning นั้นส่วนใหญ่จะมีความซับซ้อนกว่านี้มาก State ที่เป็นไปได้ทั้งหมดอาจจะเยอะกว่าดวงดาวในจักรวาลเสียอีก (เช่น การเล่นหมากล้อม) และมี Action ให้เลือกทำมากมาย ซึ่งจะใช้วิธีการต่าง ๆ โดยในการเลือก Policy นั้นจะต้องตอบปัญหาที่เรียกว่า Explore-Exploit Dilemma โดย Agent จะต้องเลือกว่าจะทำ Action ที่คาดว่าจะได้ผลลัพธ์ที่ดีสุด หรือลองสุ่ม Action เพื่อสำรวจรูปแบบใหม่ ๆ ตัวอย่างเช่น ถ้าคุณได้ไปร้านอาหารร้านโปรดเจ้าประจำ คุณจะสั่งอาหารเดิมที่คิดว่าอร่อยที่สุดในทุก ๆ รอบที่มารับประทาน หรือว่าคุณจะเริ่มลองสั่งอาหารใหม่ ๆ ในร้านบ้าง ซึ่งการลองสิ่งใหม่ ๆ นี้อาจจะเจอสิ่งที่ดีหรือแย่กว่าก็ได้ สองทางเลือกนี้คือ
- Explore (Random action) เป็นการลองสำรวจสิ่งใหม่ ๆ ที่ไม่รู้ว่ามันจะดีหรือร้าย ซึ่งใน Reinforcement Learning จะเป็นการที่ Agent นั้นลองทำ การกระทำแบบสุ่ม ทำให้ Agent ได้เรียนรู้สิ่งใหม่มากขึ้นจากการกระทำใหม่ ๆ
- Exploit (Greedy action) เป็นการเลือกสิ่งที่ตนคิดว่ามันดีที่สุดอยู่แล้ว ใน Reinforcement Learning จะเป็นการที่ Agent นั้นทำ Action ที่คาดหวังว่าจะให้ผลลัพธ์โดยรวมในระยะยาว (Future Cumulative Reward) ที่เยอะที่สุดนั่นเอง
ปัญหาของ Explore-Exploit Dilemma ก็คือถ้า Agent เลือกที่จะ Exploit อย่างเดียว Agent อาจจะไม่มีประสบการณ์พอที่จะเลือก Action ที่ดีที่สุดได้ แต่ถ้าใช้เวลาส่วนใหญ่ไป Explore แทนก็จะไม่มีเวลามา Exploit ทำให้ได้ Future Cumulative Reward น้อย Agent จึงต้องเลือกวิธีที่เหมาะสมในการตอบปัญหา Explore-Exploit Dilemma โดยวิธีการให้เลือกใช้นั้นมีหลากหลายวิธี ขึ้นอยู่กับประเภทโจทย์ที่ได้รับ โดยเราจะยกตัวอย่างสองวิธีได้แก่
- Optimistic Initial Values สมมติว่าในตอนแรกนั้นเราคิดว่าทุกเมนูอาหารนั้นอร่อยเลิศไปเสียทุกอย่าง เราจึงเลือกชิมเมนูอาหารที่เราคิดว่าอร่อยที่สุด (เนื่องจากทุกเมนูอร่อยเท่ากันหมดจึงเป็นการสุ่ม) และหลังจากเราชิมไปนั้นก็จะพบว่าอาหารที่เราชิมมันไม่ได้เลิศเลออย่างที่เราคาดหวังไว้ตั้งแต่แรกเพราะเราได้กำหนดความคาดหวังในตอนเริ่มต้นไว้สูง (เป็นที่มาของชื่อ Optimistic Initial Values) เราจึงลดค่าความอร่อยที่คาดหวังไว้จากอาหารจานนี้ลง เมื่อได้ปรับค่าความคาดหวังแล้ว เราก็จะชิมอาหารที่คิดว่าอร่อยที่สุดต่อ (Exploit) ซึ่งก็จะเป็นจานอื่นที่ในตอนแรกยังไม่ได้ชิมและอาจจะมีการปรับค่าความอร่อยที่คาดหวังไปเรื่อย ๆ จนท้ายที่สุดเราก็จะรับรู้ได้ว่าอาหารเมนูไหนอร่อยที่สุด ซึ่งการใช้ Optimistic Initial Values นั้น เราไม่ได้สั่งให้ Agent ทำการ Explore โดยตรง เพราะทุกสิ่งที่ Agent ทำคือการ Exploit ให้ได้ Reward มากที่สุด แต่ Agent สามารถเรียนรู้จากหลากลายเมนูอาหารได้ในช่วงแรกที่ความคาดหวังของอาหารทุกเมนูเขาถูกตั้งไว้สูง จึงเลือกชิมหลาย ๆ จาน อาจจะเรียกได้ว่า Agent จะ Explore ในช่วงแรกเพราะจะสุ่มอาหารขึ้นมาชิม อย่างไรก็ตามปัญหาของวิธีการนี้คือ หาก Environment ที่มี Sample Space ที่เยอะมาก ๆ หรือในกรณีนี้คือการที่ร้านอาหารมีเมนูอาหารเยอะมาก ๆ วิธี Optimistic Initial Values อาจจะไม่เหมาะที่จะเอามาเลือกใช้สักเท่าไหร่
- Epsilon greedy สมมติเป็นการเลือกเมนูอาหาร ค่าเป็นความน่าจะเป็นว่ามีโอกาส ε ที่คุณจะเลือกกินเมนูอื่น ๆ แบบสุ่ม และโอกาส 1-ε ที่คุณจะเลือกกินเมนูที่คุณคิดว่าอร่อยที่สุด โดยตัวแปร
ε จะมีค่าอยู่ที่ระหว่าง 0 ถึง 1 ซึ่งอาจจะเป็นค่าคงที่ หรือตัวแปรที่แปรผันตามเวลาก็ได้ (ส่วนใหญ่จะนิยมกำหนดค่าเริ่มต้นเป็น 1 เพื่อที่จะเลือกการกระทำ Explore ตอนแรกให้มากที่สุด และเมื่อเวลาผ่านไปจะค่อย ๆ ลดลงเนื่องจากคิดว่า Agent สำรวจจนพอแล้ว) วิธีการนี้จะทำให้ Agent ทั้ง Explore และ Exploit อย่างเหมาะสมเพื่อให้ผลลัพธ์โดยรวมในระยะยาวมีค่าสูง
เมื่อเริ่มต้นนั้นตัว Agent จะไม่มีความรู้ใด ๆ เกี่ยวกับ Environment เลย รวมถึงไม่รู้ด้วยว่า Action ที่ทำไปนั้นจริงๆ แล้วจะได้ Cumulative Reward เป็นเท่าไหร่ ดังนั้น Agent จึงทำการเดา Cumulative Reward ที่คาดว่าจะเกิดขึ้น เรียกว่า Expected Cumulative Reward โดยในระหว่างการเรียนรู้ Agent จะเลือกกระทำ Action ที่ State ต่าง ๆ โดยพยายาม Maximize ค่า Expected Cumulative Reward แต่เนื่องด้วยการที่เป็น Expected Cumulative Reward ทำให้มันไม่ตรงกับ Actual Cumulative Reward ที่ได้รับ โดยเฉพาะอย่างยิ่งเมื่อตอนเริ่มต้นที่ Agent ไม่มีประสบการณ์พอที่จะคำนวณให้ค่าตรงได้ ดังนั้น Agent จึงเกิดการลองผิดลองถูกเกิดขึ้น (Explore) และมีการปรับแก้ Expected Cumulative Reward ให้ใกล้เคียงกับ Actual Cumulative Reward มากขึ้น เพื่อที่จะได้ทำการ Exploit โจทย์ต่าง ๆ ที่ถูกฝึกมาได้อย่างสมบูรณ์แบบ ยกตัวอย่างเช่น การขอเงินค่าขนมคุณแม่ เราอาจจะคาดหวังว่าเราได้รับเงิน 100 บาท (Expected Reward) แต่คุณแม่ให้เพียงแค่ 20 บาท (Actual Reward) ดังนั้นครั้งต่อไปเราอาจจะต้องปรับความคาดหวังใหม่ให้ใกล้เคียงกับเงินค่าขนมที่ได้รับจริงมากขึ้น
เมื่อ Expected Cumulative Reward นั้นตรงกับ Actual Reward สำหรับทุก ๆ ความเป็นไปได้ หมายความว่าตัว Agent นั้นได้ทำการ Explore และ Exploit Environment นั้น ๆ จนครบทุกความเป็นไปได้แล้วนั่นเอง ซึ่งก็คือ Optimal Policy นั่นเอง
นอกจากนี้โจทย์ส่วนใหญ่ในส่วนของ Reinforcement Learning นั้นจะมีจำนวน State ที่เยอะมากเสียจน Agent ไม่มีทางสำรวจหมดได้ จึงถือเป็นความยากอย่างหนึ่งสำหรับโจทย์ Reinforcement Learning ว่าจะหาวิธี แบบไหน เพื่อที่จะได้ให้ Agent สามารถทำการ Exploit โจทย์ ๆ หนึ่งได้อย่างสมบูรณ์แบบ อีกทั้งยังยากที่จะวัดผลได้ว่า วิธีการเรียนรู้ที่เราเลือกใช้ รวมไปถึงสมการรางวัล (Reward function) ที่เราออกแบบมานั้น จะทำให้ Agent สามารถเรียนรู้ที่จะทำโจทย์ต่าง ๆ ได้เก่งขึ้นจริง ๆ
Reinforcement Learning ถูกนำไปใช้ทำอะไรบ้าง

ในโลกปัจจุบันนี้มีโจทย์มากมายที่สามารถใช้ Reinforcement Learning เข้ามาช่วย อีกทั้งยังสามารถพัฒนาตัวเองให้เหนือกว่ามนุษย์ได้เช่น AlphaGo ที่เป็นข่าวโด่งดังในปี 2017 ว่าสามารถเอาชนะแชมป์โลกอย่าง Lee Sedol ได้อย่างราบคาบในมิติของเกมหมากล้อมที่ขึ้นชื่อว่าเป็นเกมที่คอมพิวเตอร์ไม่สามารถเอาชนะมนุษย์ได้ หรือ OpenAI ที่สามารถเอาชนะมนุษย์ได้อย่างขาดลอยในมิติของวีดีโอเกม StarCraft 2 ที่เป็นเกมผู้เล่นเดี่ยว อีกทั้งสามารถเอาชนะทีมแชมป์โลกได้ในส่วนของเกมออนไลน์ที่มีเงินรางวัลเยอะที่สุดในโลกอย่าง Dota 2
โจทย์จำพวกเกมเหล่านี้ที่ได้ยกตัวอย่างไปในข้างต้น ล้วนเป็นโจทย์ที่ทุกคนเชื่อว่าเป็นกำแพงที่สูงมากในการที่ AI จะสามารถก้าวข้ามเอาชนะมนุษย์ได้ เนื่องจากทุกโจทย์ที่กล่าวมานั้นล้วนมีความเป็นไปได้มากกว่าดวงดาวในจักรวาลเสียอีก และจำเป็นต้องใช้ตรรกะ ความสามารถในการคิดวิเคราะห์แยกแยะในการที่จะวางแผนเพื่อให้สามารถเอาชนะฝ่ายตรงข้ามได้ แต่ถึงอย่างนั้น AI ก็เริ่มสามารถนำเทคนิคการเรียนรู้ Reinforcement Learning มาแก้ไขปัญหาเหล่านี้ และสามารถทำลายกำแพงนี้ลงได้ในที่สุด
นอกจากนี้ยังมีการนำไปใช้ประโยชน์อีกมากมายนอกจากการเล่มเกม ที่สามารถนำเทคนิคการเรียนรู้ Reinforcement Learning เข้ามาแก้ปัญหา หรือเพิ่มผลผลิตได้เช่น การซื้อขายหุ้นให้ได้ผลตอบแทนมากที่สุด (Stock Trading Optimization) การค้นพบสูตรยารักษาโรคแบบใหม่ (Drug Discovery) หรือแม้กระทั่งระบบขับรถยนต์อัตโนมัติ (Self-driving car)