วิธีครอส-เอนโทรปี (อังกฤษ: Cross-Entropy Method) เป็นขั้นตอนวิธีที่ใช้หลักการของ Monte Carlo เพื่อที่จะแก้ปัญหา ถูกนำเสนอโดย R.Y. Rubinstein ซึ่งประเภทของปัญหาที่สามารถใช้วิธีครอส-เอนโทรปีได้นั้นจะมีอยู่สองลักษณะ คือ การประมาณค่า หรือ การหาค่าที่ดีที่สุด โดยวิธีการนี้ถูกประยุกต์ใช้ในปัญหาเชิงวิศวกรรม และวิทยาศาสตร์มากมาย
ภาพรวมของวิธีครอส-เอนโทรปี
- วิธีการครอส-เอนโทรปีนั้นถูกพัฒนาขึ้นโดย Reuven Y. Rubinstein ซึ่งเป็นนักวิทยาศาสตร์ชาวอิสราเอลที่ให้ความสนใจทางด้านการพัฒนาขั้นตอนวิธีเชิงสถิติมากมาย เขียนหนังสือหกเล่มและตีพิมพ์ผลงานกว่าร้อยผลงาน ซึ่งแน่นอนว่าวิธีการครอส-เอนโทรปีเป็นหนึ่งในขั้นตอนวิธีเชิงสถิติเหล่านั้นเช่นกัน โดยเป็นขั้นตอนวิธีที่มีประสิทธิภาพตัวหนึ่งที่ใช้สำหรับปัญหาการประมาณค่าความน่าจะเป็นของเหตุการณ์ที่พบเจอได้ยาก (rare-event probability) ปัญหาการหาค่าที่เหมาะสมที่สุดเชิงการจัด (combinatorial optimization)
วิธีการครอสเอนโทรปีนั้นได้ชื่อมาจาก "" ซึ่งเป็นการหาระยะห่างระหว่าง "ข้อมูล" ที่ใช้กันแพร่หลายในทางวิทยาศาสตร์และวิศวกรรมกว่าศตวรรษ
- วิธีการครอส-เอนโทรปีนั้นถูกนำไปใช้ในปัญหาการหาค่าที่เหมาะสมที่สุดเชิงการจัดมากมาย เช่น ปัญหาการตัดที่มากที่สุด (Maximum Cut Problem) ปัญหาการหาเส้นทางเดินของพนักงานขาย (Traveling Salesman Problem) ปัญหาการหากราฟย่อยบริบูรณ์ที่มีขนาดใหญ่ที่สุดในกราฟ (Clique Problem) และปัญหาต่างๆอีกมากมาย และจุดเด่นพิเศษอีกอย่างหนึ่งสำหรับวิธีการครอส-เอนโทรปีคือ สามารถหาค่าที่เหมาะสมที่สุดสำหรับปัญหาที่มีค่ารบกวน (noisy problem) ได้ เพราะลักษณะขั้นตอนวิธีแก้ปัญหาที่เป็นเชิงสถิตินั่นเอง
- วิธีการครอสเอนโทรปีนั้นสามารถแตกขั้นตอนที่สำคัญออกได้เป็นสองส่วน คือ
- ขั้นสุ่มตัวอย่าง (Generate) จะสร้างตัวอย่างจากความหนาแน่นของความน่าจะเป็นที่ได้มาจากการคำนวณในขั้นตอนวิธี
- ขั้นปรับปรุง (Update) ปรับพารามิเตอร์บางอย่าง เพื่อให้การสุ่มครั้งต่อไป ได้ตัวอย่างที่ดีขึ้นไปอีก
ประเด็นสำคัญสำหรับวิธีการครอส-เอนโทรปี คือ จะนิยามขั้นตอนในเชิงคณิตศาสตร์อย่างไรให้สามารถปรับปรุงค่าพารามิเตอร์เพื่อให้เข้าใกล้ค่าที่เหมาะสมได้อย่างรวดเร็ว
- ในด้านของการประมาณค่าความน่าจะเป็นของเหตุการณ์ที่พบเจอได้ยากนั้น วิธีการครอส-เอนโทรปีจะใช้ร่วมกับกลวิธีการสุ่มตัวอย่างสำคัญ (Importance Sampling Technique) วิธีการครอส-เอนโทรปีจะปรับค่าของพารามิเตอร์ซ้ำๆ หลายๆรอบเพื่อให้เข้าใกล้ค่าที่เหมาะสมที่สุด ปัญหาที่ประยุกต์วิธีนี้ตัวอย่างเช่นปัญหาการวัดประสิทธิภาพในระบบเครือข่ายทางคมนาคม หรือ ระบบที่ต้องการความน่าเชื่อถือ
การใช้วิธี ครอส-เอนโทรปี ในปัญหาการประมาณค่า
แนวคิด
ในกรณีที่เราพยายามที่จะใช้วิธีครอส-เอนโทรปีเพื่อประมาณค่านั้น สามารถแปลงปัญหาเป็นสมการคณิตศาสตร์ของการประมาณหาง่ายๆได้ดังสมการที่ (1)
- (1)
เมื่อ H คือฟังก์ชันที่เราต้องการประมาณค่า เรียกได้อีกอย่างหนึ่งว่า ฟังก์ชันของประสิทธิภาพของตัวอย่างสุ่ม
และ f คือฟังก์ชันของความหนาแน่นของความน่าจะเป็นของตัวแปรสุ่ม X
ซึ่งสำหรับวิธีการประมาณค่า ในสมการที่ 1 นั้น ในกรณีที่สามารถสุ่มตัวอย่างสุ่มด้วยความหนาแน่นของความน่าจะเป็น ได้ยาก จะทำการสร้างฟังก์ชัน เพื่อที่จะสามารถประมาณค่าได้ง่ายขึ้นตามสมการที่ 2
- (2)
- (2)
โดยที่กำหนดให้
- เมื่อ
เนื่องจาก g เป็นความหนาแน่นของความน่าจะเป็นที่เราเป็นคนสร้างขึ้น ทำให้การสุ่มตัวอย่างเป็นไปได้ง่ายกว่า f ดังนั้น เราจึงสามารถสุ่มตัวอย่างสุ่ม ตามความหนาแน่นของความน่าจะเป็นของ g(x) ได้ง่ายกว่า ทำให้ประมาณค่าของ l ด้วยตัวประมาณค่าที่ไม่ลำเอียงได้ง่ายขึ้นตามสมการที่ (3)
- (3)
จากปัญหาการประมาณค่า ก็จะเหลือแค่ปัญหาว่าจะสร้างความหนาแน่นของความน่าจะเป็น g ที่ดีที่สุดได้อย่างไรซึ่งค่า g ที่ดีที่สุดในอุดมคตินั้นนิยามด้วย
แต่สิ่งที่เกิดขึ้นก็คือ เราสามารถหาค่า g*(x) ได้ยาก สำหรับวิธีครอส-เอนโทรปีนี้แทนที่จะมุ่งไปที่การหาค่าของ g*(x) จะพยายามหาค่าของ g ที่ทำให้ความแตกต่างระหว่าง g และ g* น้อยที่สุด ซึ่งความแตกต่างนั้นเองที่เรียกว่าครอส-เอนโทรปีตามที่เกริ่นไว้ในช่วงต้น ซึ่งครอส-เอนโทรปีของความหนาแน่นของความน่าจะเป็นของสองฟังก์ชันนั้น นิยามได้ดังสมการที่ (4)
- (4)
- (4)
- หลังจากที่ได้รู้หลักการคร่าวๆของวิธีการครอส-เอนโทรปีเพื่อการประมาณค่าในทางทฤษฎีไปแล้วว่าเป็นไปในลักษณะอย่างไร หากพิจารณาในทางปฏิบัติแล้วนั้นฟังก์ชัน f นอกจากจะแปรไปตามตัวแปรต้น x แล้ว ยังถูกควบคุมโดยพารามิเตอร์ u บางอย่าง ซึ่งสามารถเขียนฟังก์ชัน f ได้เป็น f(x; u) ซึ่งคงเดาได้ไม่ยากว่าบางกรณีนั้น พารามิเตอร์ u นี้หาได้ยากมาก เราจึงพยายามหาค่าของ g ที่ทำให้มี v ที่ทำให้ g(x) = f(x; v) และ v ทำให้ความแตกต่างของ f(x; v) และ f(x; u) น้อยๆ ซึ่งความแตกต่างนี้วัดโดยครอส-เอนโทรปีตามสมการที่ 4 นั่นเอง ก็จะทำให้ปัญหาเล็กลงอีกขั้นหนึ่งคือเป็นปัญหาที่จะพยายามหาค่าของ v ที่ดีที่สุดเท่านั้น ซึ่งนิยาม v ในอุดมคติว่า v* ลองไปแทนค่าของ f(x; v) และ f(x; u) ลงในสมการที่ (4) แล้วจัดรูปสักเล็กน้อยก็จะรู้ว่า v ที่ดีที่สุดจะทำให้ มีค่ามากที่สุดนั่นเอง ซึ่งการแก้ปัญหานี้ก็สามารถหาได้ตามสมการที่ (5)
- (5)
ซึ่งจากสมการที่ (5) R. Y. Rubinstein ได้นำเสนอวิธีสำหรับแก้ปัญหานี้ไว้แล้ว
ในปัญหาเฉพาะที่ชื่อว่าปัญหาการหาความน่าจะเป็นของเหตุการณ์ที่พบเจอได้ยาก(rare event probability) ซึ่งเป็นปัญหาที่ประยุกต์ด้วยวิธีครอส-เอนโทรปีกันอย่างแพร่หลาย โดยเป็นกรณีเฉพาะที่ฟังก์ชัน H เป็นฟังก์ชันตัวชี้ของฟังก์ชัน วัดที่ระดับ ตามสมการ ซึ่งในการประมาณค่าของ ด้วยวิธีเดิมเพื่อหาความน่าจะเป็นที่ นั้นจะยากโดยดูได้จากสมการที่ (5) คือค่าของ ส่วนมากจะมีค่าเป็น 0 ไปมากพอสมควรจะไม่สามารถประมาณหาค่าที่แม่นยำได้ วิธีการแก้ไขคือต้องทำวิธีการ ครอส-เอนโทรปีหลายๆรอบ หลายๆชั้น โดยจะปรับค่าพารามิเตอร์ v และระดับปัจจุบันให้เข้าใกล้ v* และ ไปเรื่อยๆจนถึงเงื่อนไขยุติที่พอใจ สามารถเขียนขั้นตอนวิธีตามที่ได้อธิบายมาเป็นรหัสเทียมได้ดังนี้
รหัสเทียมสำหรับวิธีครอส-เอนโทรปีเพื่อประมาณความน่าจะเป็นสำหรับเหตุการณ์ที่พบเจอได้ยาก
1 และ 2 3 t = 0 /*ตัวนับจำนวนรอบ*/ 4 5 ทำ 6 t = t + 1 7 สุ่มตัวอย่างสุ่ม ตามความหนาแน่นของความน่าจะเป็น 8 สำหรับทุก i ตั้งแต่ 1 ถึง N 9 10 เรียงลำดับจากน้อยไปหามาก(S) 11 12 = ค่าต่ำสุด(,) 13 คำนวณ จากสมการ (5) ด้วย และ 14 ระหว่างที่ 15 16 สุ่มตัวอย่างสุ่ม ตามความหนาแน่นของความน่าจะเป็น 17 คำนวณ จากสมการ (3) ด้วย 18 คืนค่า
จะเห็นว่าหากต้องการใช้ขั้นตอนวิธีนี้ต้องทำการปรับค่า ให้เหมาะสมกับความต้องการ ซึ่งโดยปกติ จะมีค่าอยู่ระหว่าง 0.01 และ 0.1 และค่าของ จะน้อยว่า มากๆ เช่น ในขณะที่ และขั้นตอนวิธีนี้จะรับประกันว่าสามารถทำงานจนจบได้แน่นอนหากค่าของ มีค่าเล็กมากพอ
การใช้วิธี ครอส-เอนโทรปี ในปัญหาการหาค่าที่เหมาะสมที่สุด
แนวคิด
ให้ เป็นเซตของสถานะ และ S เป็นฟังก์ชันจริงซึ่ง S(x) จะให้ค่าความเหมาะสมของ x โดยที่ x เป็นสมาชิกของ โดยค่า x ที่เหมาะสมที่สุดคือ x* ซึ่งจะทำให้ค่าของ S(x*) มีค่าสูงที่สุด สามารถเขียนเป็นปัญหาในรูปของสมการทางคณิตศาสตร์ได้ดังสมการที่ (6)
- (6)
หาพิจารณาปัญหานี้เทียบกับปัญหาการประมาณค่าของ เมื่อ X เป็นตัวแปรสุ่มที่มีความหนาแน่นของความน่าจะเป็น และให้ เป็นค่าระดับชั้น จะสังเกตว่าถ้าค่า มีค่าใกล้เคียงกับ (ค่าสูงสุดของ S) แล้ว จะทำให้ค่าของ เป็นความน่าจะเป็นของเหตุการณ๊ที่พบเจอได้ยาก ซึ่งปัญหานี้เราจะต้องการสร้างตัวอย่างสุ่มจำนวนหนึ่งที่มีค่าใกล้เคียงกับ x* โดยเป็นเรื่องที่ดีที่วิธีครอส-เอนโทรปี สามารถทำเรื่องนี้ได้
หากเปรียบเทียบความแตกต่างของปัญหาระหว่างการหาค่าที่เหมาะสมที่สุด กับ การประมาณค่า ความแตกต่างก็คือการหาค่าที่เหมาะสมที่สุด เราจะไม่รู้ค่าของระดับชั้น ล่วงหน้าเหมือนในการประมาณค่า แต่อย่างไรก็ตามขั้นตอนวิธีในการแก้ปัญหาก็ไ่ม่ค่อยแตกต่างกันมากคือเราจะสร้างลำดับของ และ ไปเรื่อยๆ โดยจะพยายามให้ทั้งสองค่าเข้าใกล้ และ ตามลำดับ ซึ่งค่าของ จะสอดคล้องกับค่าของ ที่ต้องการหาเช่นกัน
รหัสเทียมสำหรับวิธีครอส-เอนโทรปีเพื่อใช้ในปัญหาการหาค่าที่เหมาะสมที่สุด
1 และ 2 3 t = 0 /*ตัวนับจำนวนรอบ*/ 4 5 ทำ 6 t = t + 1 7 สุ่มตัวอย่างสุ่ม ตามความหนาแน่นของความน่าจะเป็น 8 สำหรับทุก i ตั้งแต่ 1 ถึง N 9 10 เรียงลำดับจากน้อยไปหามาก(S) 11 12 = ค่าต่ำสุด(,) 13 คำนวณ ที่ทำให้ สูงที่สุด 14 ระหว่างที่ ยังไม่ถึงเงื่อนไขยุติ 15 16 คืนค่า
จะเห็นว่าหากต้องการใช้ขั้นตอนวิธีนี้ต้องทำการปรับค่า และเงื่อนไขยุติให้เหมาะสม
ตัวอย่างปัญหาที่สามารถประยุกต์ใช้วิธีการครอสเอนโทรปีได้
ปัญหาการหาเส้นทางเดินของพนักงานขาย (Traveling Salesman Problem)
นิยามปัญหา
- ปัญหาการเดินของพนักงานขายคือปัญหาที่มีผู้ที่ให้ความสนใจพอสมควรในวงการคอมพิวเตอร์ ปัญหาจะกำหนดด้วยกราฟเชื่อมโยงประกอบด้วยปม n ชื่อว่า 1,2,...,n ปมซึ่งเชื่อมกันด้วยเส้นเชื่อมที่มีน้ำหนัก เส้นเชื่อมจากปม i ไปยังปม j จะมีน้ำหนัก ให้ทำการหาเส้นทางซึ่งเป็นวงที่สั้นที่สุดซึ่งผ่านทุกปมและกลับมาที่จุดเดิม
แนวทางการแก้ปัญหา
- โดยไม่เสียนัยสำคัญทั่วไป ให้กราฟเป็นกราฟบริบูรณ์ ซึ่งจะมีบางเส้นเชื่อมที่มีน้ำหนักเป็น +∞ ให้ เป็นเซตของวงจรที่ผ่านทุกปม และให้ เป็นความยาวของวงจร ปมละหนึ่งครั้งตามเงื่อนไข เราสามารถแทนแต่ละวงจรใน Χ ได้ด้วยการเรียงสับเปลี่ยน(permutation) ของปม 1,2,...,n ซึ่งจริงๆแล้วเราสามารถให้วงจร โดยที่ ได้โดยไม่เสียนัยสำคัญทั่วไป เราสามารถแปลงปัญหาทางเดินของพนักงานขายได้เป็นสมการที่ (7)
- (7)
สังเกตว่าขนาดของสมาชิกใน มีขนาดใหญ่มาก
- จากสมการที่ (7) จะเห็นว่าปัญหาเป็นลักษณะของการหาค่าที่เหมาะสมที่สุดซึ่งสามารถแก้ไขได้ด้วยวิธีการครอส-เอนโทรปี แต่แทนที่จะเป็นลักษณะของการหาค่าที่มากที่สุดจะต้องเปลี่ยนเป็นปัญหาการหาค่าที่น้อยที่สุด โดยหากจะแก้ปัญหาด้วยวิธีการครอส-เอนโทรปีนั้นเราจะต้องกำหนด
- จะสร้างเส้นทางแบบสุ่มอย่างไร?
- จะทำการปรับปรุงพารามิเตอร์ในแต่ละรอบการทำงานอย่างไร?
- ก่อนที่จะหาวิธีการสร้างและปรับปรุงดังกล่าว จะขอนิยามเซตใหม่ขึ้นมาก่อน ให้
จะเห็นว่าการหาเส้นทางเดินตามเงื่อนไขบนเซตของเส้นทางเดินใน จะสมมูลกับปัญหาเส้นทางเดินของพนักงานขายเดิม และเพิ่มนิยาม เมื่อ มิฉะนั้น
ก็จะสามารถเปลี่ยนปัญหาทางเดินของพนักงานขายได้เป็นหาค่าที่ต่ำที่สุดของ บน
- วิธีง่ายๆวิธีหนึ่งที่จะสร้างทางเดินสุ่ม คือการสร้าง(Markov Chain) ของกราฟ G เริ่มต้นที่ปม 1 และหยุดหลังจากขั้นที่ n ให้ คือเมตริกซ์ nxn เพื่อเปลี่ยนสถานะไปหนึ่งขั้นสำหรับลูกโซ่มาร์คอฟนี้ หรือจะพูดให้เข้าใจง่ายขึ้นเป็นภาษาทั่วไปก็คือเมตริกซ์ P จะเป็นส่วนที่ใช้เก็บเส้นทางเดินนั่นเอง กำหนดให้ในสมาชิกตามแนวเส้นทแยงมุมของ P เป็น 0 และสมาชิกอื่นๆใน P เป็นจำนวนจริงบวก ความหนาแน่นของความน่าจะเป็น ของ ที่ถูกจำกัดด้วยพารามิเตอร์เป็นเมตริกส์ P นิยามโดย
(8)
เมื่อ เป็นเซตของเส้นทางทั้งหมดที่ "จำนวนครั้ง" ที่ต้องเดินระหว่างปม i ไปปม j เป็น r ครั้ง
หลังจากนี้จะเริ่มเป็นการคำนวณเชิงคณิตศาสตร์ที่ซับซ้อนหากผู้สนใจสามารถไปศึกษาเพิ่มเติมได้ตามแหล่งอ้างอิง
- หากจะสรุปเฉพาะใจความสำคัญให้เข้าใจอย่างสั้นๆสามารถสรุปได้ว่าในขณะนี้เราจะแทนการเปลี่ยนสถานะจากปมปัจจุบันไปยังปมใดๆไ้ด้ด้วยเมตริกซ์ซึ่งก็คือ นั่นเอง โดยเมตริกซ์นี้จะได้มาในแต่ละรอบที่ทำการสุ่มตัวอย่างและปรับปรุงพารามิเตอร์ ซึ่งทั้งสองขั้นตอนนี้สามารถทำได้โดย
- ขั้นสุ่มตัวอย่าง สามารถสุ่มตัวอย่างให้ได้ x ต่างๆได้ตามสมการที่ 8
- ขั้นปรับปรุง ปรับปรุงพารามิเตอร์ ของสมการที่ 8 ได้ด้วยตัวประมาณค่าของ ตามสมการที่ (9)
- (9)
ซึ่งรายละเอียดการได้มาซึ่งสมการที่ 10 นั้นผู้สนใจสามารถไปค้นคว้าได้ตามแหล่งอ้่างอิงที่ได้ระบุไว้ข้างต้น
เมื่อเราสามารถนิยามว่าจะสุ่มตัวอย่างและปรับปรุงได้อย่างไรแล้วนั้น เราก็จะสามารถสร้างขั้นตอนวิธีเพื่อที่จะแก้ปัญหานี้ได้ดังรหัสเทียมด้านล่าง
รหัสเทียมสำหรับปัญหา
1 ตั้งค่า และ 2 t = 0 /*ตัวนับจำนวนรอบ*/ 3 ทำ 4 t = t + 1 5 ตั้งค่าในในหลักที่ ของ เป็น 0 6 ทำการทำค่าในแต่ละแถวของ ให้เป็นมาตรฐาน(normalize) //เฉลี่ยค่าในแต่ละแถวให้รวมกันได้ 1 7 ใช้สมการที่ (8) สร้าง ด้วยพารามิเตอร์ 8 ทำการปรับปรุงค่าให้ได้ ในแต่ละแถว i และหลักที่ j ตามสมการที่ (9) 9 ระหว่างที่ t < n-1 // ถ้ายังสร้างลำดับของทางเดินไม่ครบทุกจุด 10 คืนค่า
ดูเพิ่ม
โปรแกรมภาษา C++ ของ Shark Machine Learning Library 2013-11-18 ที่ เวย์แบ็กแมชชีน
อ้างอิง
- R. Y. Rubinstein. The cross-entropy method for combinatorial and continuous optimization. Methodology and Computing in Applied Probability, 2:127–190, 1999.
- R. Y. Rubinstein. Combinatorial optimization, cross-entropy, ants and rare events. In S. Uryasev and P. M. Pardalos, editors, Stochastic Optimization: Algorithms and Applications, pages 304–358, Dordrecht, 2001. Kluwer.
- . คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2010-09-30. สืบค้นเมื่อ 2011-09-29.
- R. Y. Rubinstein and D. P. Kroese. Simulation and the Monte Carlo Method. John Wiley & Sons, New York, second edition, 2007.
- Pieter-Tjerk de Boer. A Tutorial on the Cross-Entropy Method, P.25 - 27.
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
withikhrxs exnothrpi xngkvs Cross Entropy Method epnkhntxnwithithiichhlkkarkhxng Monte Carlo ephuxthicaaekpyha thuknaesnxody R Y Rubinstein sungpraephthkhxngpyhathisamarthichwithikhrxs exnothrpiidnncamixyusxnglksna khux karpramankha hrux karhakhathidithisud odywithikarnithukprayuktichinpyhaechingwiswkrrm aelawithyasastrmakmayphaphrwmkhxngwithikhrxs exnothrpiwithikarkhrxs exnothrpinnthukphthnakhunody Reuven Y Rubinstein sungepnnkwithyasastrchawxisraexlthiihkhwamsnicthangdankarphthnakhntxnwithiechingsthitimakmay ekhiynhnngsuxhkelmaelatiphimphphlngankwarxyphlngan sungaennxnwawithikarkhrxs exnothrpiepnhnunginkhntxnwithiechingsthitiehlannechnkn odyepnkhntxnwithithimiprasiththiphaphtwhnungthiichsahrbpyhakarpramankhakhwamnacaepnkhxngehtukarnthiphbecxidyak rare event probability pyhakarhakhathiehmaasmthisudechingkarcd combinatorial optimization withikarkhrxsexnothrpinnidchuxmacak sungepnkarharayahangrahwang khxmul thiichknaephrhlayinthangwithyasastraelawiswkrrmkwastwrrs withikarkhrxs exnothrpinnthuknaipichinpyhakarhakhathiehmaasmthisudechingkarcdmakmay echn pyhakartdthimakthisud Maximum Cut Problem pyhakarhaesnthangedinkhxngphnkngankhay Traveling Salesman Problem pyhakarhakrafyxybriburnthimikhnadihythisudinkraf Clique Problem aelapyhatangxikmakmay aelacudednphiessxikxyanghnungsahrbwithikarkhrxs exnothrpikhux samarthhakhathiehmaasmthisudsahrbpyhathimikharbkwn noisy problem id ephraalksnakhntxnwithiaekpyhathiepnechingsthitinnexngwithikarkhrxsexnothrpinnsamarthaetkkhntxnthisakhyxxkidepnsxngswn khuxkhnsumtwxyang Generate casrangtwxyangcakkhwamhnaaennkhxngkhwamnacaepnthiidmacakkarkhanwninkhntxnwithi khnprbprung Update prbpharamietxrbangxyang ephuxihkarsumkhrngtxip idtwxyangthidikhunipxik praednsakhysahrbwithikarkhrxs exnothrpi khux caniyamkhntxninechingkhnitsastrxyangirihsamarthprbprungkhapharamietxrephuxihekhaiklkhathiehmaasmidxyangrwderw indankhxngkarpramankhakhwamnacaepnkhxngehtukarnthiphbecxidyaknn withikarkhrxs exnothrpicaichrwmkbklwithikarsumtwxyangsakhy Importance Sampling Technique withikarkhrxs exnothrpicaprbkhakhxngpharamietxrsa hlayrxbephuxihekhaiklkhathiehmaasmthisud pyhathiprayuktwithinitwxyangechnpyhakarwdprasiththiphaphinrabbekhruxkhaythangkhmnakhm hrux rabbthitxngkarkhwamnaechuxthuxkarichwithi khrxs exnothrpi inpyhakarpramankhaaenwkhid inkrnithieraphyayamthicaichwithikhrxs exnothrpiephuxpramankhann samarthaeplngpyhaepnsmkarkhnitsastrkhxngkarpramanhangayiddngsmkarthi 1 ℓ Ef H X H x f x dx displaystyle ell mathbb E f H X int H x f x dx 1 dd emux H khuxfngkchnthieratxngkarpramankha eriykidxikxyanghnungwa fngkchnkhxngprasiththiphaphkhxngtwxyangsum aela f khuxfngkchnkhxngkhwamhnaaennkhxngkhwamnacaepnkhxngtwaeprsum X sungsahrbwithikarpramankha l displaystyle l insmkarthi 1 nn inkrnithisamarthsumtwxyangsumdwykhwamhnaaennkhxngkhwamnacaepn f x displaystyle f x idyak cathakarsrangfngkchn f x displaystyle f x ephuxthicasamarthpramankhaidngaykhuntamsmkarthi 2 ℓ H x f x g x g x dx Eg H x f x g x displaystyle ell int H x frac f x g x g x dx mathbb E g H x frac f x g x 2 dd odythikahndih g x 0 displaystyle g x 0 emux H x f x 0 displaystyle H x f x 0 dd enuxngcak g epnkhwamhnaaennkhxngkhwamnacaepnthieraepnkhnsrangkhun thaihkarsumtwxyangepnipidngaykwa f dngnn eracungsamarthsumtwxyangsum X1 XN displaystyle X 1 X N tamkhwamhnaaennkhxngkhwamnacaepnkhxng g x idngaykwa thaihpramankhakhxng l dwytwpramankhathiimlaexiyngidngaykhuntamsmkarthi 3 ℓ 1N k 1NH Xk f Xk g Xk displaystyle widehat ell frac 1 N sum k 1 N H X k frac f X k g X k 3 dd cakpyhakarpramankha kcaehluxaekhpyhawacasrangkhwamhnaaennkhxngkhwamnacaepn g thidithisudidxyangirsungkha g thidithisudinxudmkhtinnniyamdwy g x a H x f x displaystyle g x alpha H x f x dd aetsingthiekidkhunkkhux erasamarthhakha g x idyak sahrbwithikhrxs exnothrpiniaethnthicamungipthikarhakhakhxng g x caphyayamhakhakhxng g thithaihkhwamaetktangrahwang g aela g nxythisud sungkhwamaetktangnnexngthieriykwakhrxs exnothrpitamthiekriniwinchwngtn sungkhrxs exnothrpikhxngkhwamhnaaennkhxngkhwamnacaepnkhxngsxngfngkchnnn niyamiddngsmkarthi 4 D f g Ef lnf X g X f x ln f x dx f x ln g x dx displaystyle D f g mathbb E f ln frac f X g X int f x ln f x dx int f x ln g x dx 4 dd hlngcakthiidruhlkkarkhrawkhxngwithikarkhrxs exnothrpiephuxkarpramankhainthangthvsdiipaelwwaepnipinlksnaxyangir hakphicarnainthangptibtiaelwnnfngkchn f nxkcakcaaepriptamtwaeprtn x aelw yngthukkhwbkhumodypharamietxr u bangxyang sungsamarthekhiynfngkchn f idepn f x u sungkhngedaidimyakwabangkrninn pharamietxr u nihaidyakmak eracungphyayamhakhakhxng g thithaihmi v thithaih g x f x v aela v thaihkhwamaetktangkhxng f x v aela f x u nxy sungkhwamaetktangniwdodykhrxs exnothrpitamsmkarthi 4 nnexng kcathaihpyhaelklngxikkhnhnungkhuxepnpyhathicaphyayamhakhakhxng v thidithisudethann sungniyam v inxudmkhtiwa v lxngipaethnkhakhxng f x v aela f x u lnginsmkarthi 4 aelwcdrupskelknxykcaruwa v thidithisudcathaih H x f x u ln f x v dx displaystyle int H x f x u ln f x v dx mikhamakthisudnnexng sungkaraekpyhaniksamarthhaidtamsmkarthi 5 maxv 1N k 1NH Xk f Xk u f Xk w ln f Xk v displaystyle max v frac 1 N sum k 1 N H X k frac f X k u f X k w ln f X k v 5 dd sungcaksmkarthi 5 R Y Rubinstein idnaesnxwithisahrbaekpyhaniiwaelw inpyhaechphaathichuxwapyhakarhakhwamnacaepnkhxngehtukarnthiphbecxidyak rare event probability sungepnpyhathiprayuktdwywithikhrxs exnothrpiknxyangaephrhlay odyepnkrniechphaathifngkchn H epnfngkchntwchikhxngfngkchn S x displaystyle S x wdthiradb g displaystyle gamma tamsmkar H x IS X g displaystyle H x I S X geq gamma sunginkarpramankhakhxng ℓ displaystyle ell dwywithiedimephuxhakhwamnacaepnthi S x g displaystyle S x geq gamma nncayakodyduidcaksmkarthi 5 khuxkhakhxng H Xk displaystyle H X k swnmakcamikhaepn 0 ipmakphxsmkhwrcaimsamarthpramanhakhathiaemnyaid withikaraekikhkhuxtxngthawithikar khrxs exnothrpihlayrxb hlaychn odycaprbkhapharamietxr v aelaradbpccubnihekhaikl v aela g displaystyle gamma iperuxycnthungenguxnikhyutithiphxic samarthekhiynkhntxnwithitamthiidxthibaymaepnrhsethiymiddngni rhsethiymsahrbwithikhrxs exnothrpiephuxpramankhwamnacaepnsahrbehtukarnthiphbecxidyak 1 v 0 u displaystyle widehat v 0 u aela 2 Ne rN displaystyle N e lceil rho N rceil 3 t 0 twnbcanwnrxb 4 5 tha 6 t t 1 7 sumtwxyangsum X1 XN displaystyle X 1 X N tamkhwamhnaaennkhxngkhwamnacaepn f v t 1 displaystyle f widehat v t 1 8 sahrbthuk i tngaet 1 thung N 9 S i S Xi displaystyle S i S X i 10 eriyngladbcaknxyiphamak S 11 g t S N Ne 1 displaystyle widehat gamma t S N N e 1 12 g t displaystyle widehat gamma t khatasud g displaystyle gamma g t displaystyle widehat gamma t 13 khanwn v t displaystyle widehat v t caksmkar 5 dwy X1 XN displaystyle X 1 X N aela w v t 1 displaystyle w widehat v t 1 14 rahwangthi g t lt g displaystyle widehat gamma t lt gamma 15 16 sumtwxyangsum X1 XN1 displaystyle X 1 X N 1 tamkhwamhnaaennkhxngkhwamnacaepn f v t displaystyle f widehat v t 17 khanwn ℓ displaystyle ell caksmkar 3 dwy X1 XN1 displaystyle X 1 X N 1 18 khunkha ℓ displaystyle ell caehnwahaktxngkarichkhntxnwithinitxngthakarprbkha v 0 N r displaystyle widehat v 0 N rho ihehmaasmkbkhwamtxngkar sungodypkti r displaystyle rho camikhaxyurahwang 0 01 aela 0 1 aelakhakhxng N displaystyle N canxywa N1 displaystyle N 1 mak echn N 10000 displaystyle N 10000 inkhnathi N1 100000 displaystyle N 1 100000 aelakhntxnwithinicarbpraknwasamarththangancncbidaennxnhakkhakhxng r displaystyle rho mikhaelkmakphxkarichwithi khrxs exnothrpi inpyhakarhakhathiehmaasmthisudaenwkhid ih x displaystyle chi epnestkhxngsthana aela S epnfngkchncringsung S x caihkhakhwamehmaasmkhxng x odythi x epnsmachikkhxng x displaystyle chi odykha x thiehmaasmthisudkhux x sungcathaihkhakhxng S x mikhasungthisud samarthekhiynepnpyhainrupkhxngsmkarthangkhnitsastriddngsmkarthi 6 S x g maxxS x displaystyle S x gamma max x S x 6 dd haphicarnapyhaniethiybkbpyhakarpramankhakhxng H x IS X g displaystyle H x I S X geq gamma emux X epntwaeprsumthimikhwamhnaaennkhxngkhwamnacaepn f x u displaystyle f x u aelaih g displaystyle gamma epnkharadbchn casngektwathakha g displaystyle gamma mikhaiklekhiyngkb g displaystyle gamma khasungsudkhxng S aelw cathaihkhakhxng H x IS X g displaystyle H x I S X geq gamma epnkhwamnacaepnkhxngehtukarnthiphbecxidyak sungpyhanieracatxngkarsrangtwxyangsumcanwnhnungthimikhaiklekhiyngkb x odyepneruxngthidithiwithikhrxs exnothrpi samarththaeruxngniid hakepriybethiybkhwamaetktangkhxngpyharahwangkarhakhathiehmaasmthisud kb karpramankha khwamaetktangkkhuxkarhakhathiehmaasmthisud eracaimrukhakhxngradbchn g g displaystyle gamma gamma lwnghnaehmuxninkarpramankha aetxyangirktamkhntxnwithiinkaraekpyhakimkhxyaetktangknmakkhuxeracasrangladbkhxng gt displaystyle gamma t aela v t displaystyle widehat v t iperuxy odycaphyayamihthngsxngkhaekhaikl g displaystyle gamma aela v displaystyle v tamladb sungkhakhxng v displaystyle v casxdkhlxngkbkhakhxng x displaystyle x thitxngkarhaechnkn rhsethiymsahrbwithikhrxs exnothrpiephuxichinpyhakarhakhathiehmaasmthisud 1 v 0 u displaystyle widehat v 0 u aela 2 Ne rN displaystyle N e lceil rho N rceil 3 t 0 twnbcanwnrxb 4 5 tha 6 t t 1 7 sumtwxyangsum X1 XN displaystyle X 1 X N tamkhwamhnaaennkhxngkhwamnacaepn f v t 1 displaystyle f widehat v t 1 8 sahrbthuk i tngaet 1 thung N 9 S i S Xi displaystyle S i S X i 10 eriyngladbcaknxyiphamak S 11 g t S N Ne 1 displaystyle widehat gamma t S N N e 1 12 g t displaystyle widehat gamma t khatasud g displaystyle gamma g t displaystyle widehat gamma t 13 khanwn v v t displaystyle v widehat v t thithaih IS Xk g tln f Xk v N displaystyle frac I S X k geq widehat gamma t ln f X k v N sungthisud 14 rahwangthi yngimthungenguxnikhyuti 15 16 khunkha v t displaystyle widehat v t caehnwahaktxngkarichkhntxnwithinitxngthakarprbkha v 0 N r displaystyle widehat v 0 N rho aelaenguxnikhyutiihehmaasmtwxyangpyhathisamarthprayuktichwithikarkhrxsexnothrpiidpyhakarhaesnthangedinkhxngphnkngankhay Traveling Salesman Problem niyampyha pyhakaredinkhxngphnkngankhaykhuxpyhathimiphuthiihkhwamsnicphxsmkhwrinwngkarkhxmphiwetxr pyhacakahnddwykrafechuxmoyngprakxbdwypm n chuxwa 1 2 n pmsungechuxmkndwyesnechuxmthiminahnk esnechuxmcakpm i ipyngpm j caminahnk cij gt 0 displaystyle c ij gt 0 ihthakarhaesnthangsungepnwngthisnthisudsungphanthukpmaelaklbmathicudedimaenwthangkaraekpyha odyimesiynysakhythwip ihkrafepnkrafbriburn sungcamibangesnechuxmthiminahnkepn ih x displaystyle chi epnestkhxngwngcrthiphanthukpm aelaih S x displaystyle S x epnkhwamyawkhxngwngcr x x displaystyle x in chi pmlahnungkhrngtamenguxnikh erasamarthaethnaetlawngcrin X iddwykareriyngsbepliyn permutation khxngpm 1 2 n sungcringaelwerasamarthihwngcr x x1 x2 x3 xn displaystyle x x 1 x 2 x 3 x n odythi x1 1 displaystyle x 1 1 idodyimesiynysakhythwip erasamarthaeplngpyhathangedinkhxngphnkngankhayidepnsmkarthi 7 minx S x minx i 1n 1cxi xi 1 cxn 1 displaystyle min x S x min x sum i 1 n 1 c x i x i 1 c x n 1 7 dd sngektwakhnadkhxngsmachikin x displaystyle chi mikhnadihymak x n 1 displaystyle chi n 1 caksmkarthi 7 caehnwapyhaepnlksnakhxngkarhakhathiehmaasmthisudsungsamarthaekikhiddwywithikarkhrxs exnothrpi aetaethnthicaepnlksnakhxngkarhakhathimakthisudcatxngepliynepnpyhakarhakhathinxythisud odyhakcaaekpyhadwywithikarkhrxs exnothrpinneracatxngkahndcasrangesnthangaebbsumxyangir cathakarprbprungpharamietxrinaetlarxbkarthanganxyangir kxnthicahawithikarsrangaelaprbprungdngklaw cakhxniyamestihmkhunmakxn ihx x1 x2 xn x1 1 xi 1 2 n i 2 3 n displaystyle widehat chi x 1 x 2 x n x 1 1 x i in 1 2 n i 2 3 n dd caehnwakarhaesnthangedintamenguxnikhbnestkhxngesnthangedinin x displaystyle widehat chi casmmulkbpyhaesnthangedinkhxngphnkngankhayedim aelaephimniyam S x S x displaystyle widehat S x S x emux x x displaystyle x in widehat chi michann S x displaystyle widehat S x infty kcasamarthepliynpyhathangedinkhxngphnkngankhayidepnhakhathitathisudkhxng S x displaystyle widehat S x bn x x displaystyle x in widehat chi withingaywithihnungthicasrangthangedinsum X X1 X2 Xn x displaystyle X X 1 X 2 X n in widehat chi khuxkarsrang Markov Chain khxngkraf G erimtnthipm 1 aelahyudhlngcakkhnthi n ih P pij displaystyle P p ij khuxemtriks nxn ephuxepliynsthanaiphnungkhnsahrblukosmarkhxfni hruxcaphudihekhaicngaykhunepnphasathwipkkhuxemtriks P caepnswnthiichekbesnthangedinnnexng kahndihinsmachiktamaenwesnthaeyngmumkhxng P epn 0 aelasmachikxunin P epncanwncringbwk khwamhnaaennkhxngkhwamnacaepn f P displaystyle f P khxng X displaystyle X thithukcakddwypharamietxrepnemtriks P niyamody lnf x P r 1n i jIx x ij r ln pij displaystyle lnf x P sum r 1 n sum i j I x in widehat chi ij r ln p ij 8 emux x ij r displaystyle widehat chi ij r epnestkhxngesnthangthnghmdthi canwnkhrng thitxngedinrahwangpm i ippm j epn r khrng hlngcaknicaerimepnkarkhanwnechingkhnitsastrthisbsxnhakphusnicsamarthipsuksaephimetimidtamaehlngxangxing hakcasrupechphaaickhwamsakhyihekhaicxyangsnsamarthsrupidwainkhnanieracaaethnkarepliynsthanacakpmpccubnipyngpmididdwyemtrikssungkkhux P pij displaystyle P p ij nnexng odyemtriksnicaidmainaetlarxbthithakarsumtwxyangaelaprbprungpharamietxr sungthngsxngkhntxnnisamarththaidodykhnsumtwxyang samarthsumtwxyangihid x tangidtamsmkarthi 8 khnprbprung prbprungpharamietxr pij displaystyle p ij khxngsmkarthi 8 iddwytwpramankhakhxng pij displaystyle p ij tamsmkarthi 9 p ij k 1NIS Xk g r 1nIXk x ij r k 1NIS Xk g r 1nIXk x i r displaystyle widehat p ij frac sum k 1 N I widehat S X k leq gamma sum r 1 n I X k in widehat chi ij r sum k 1 N I widehat S X k leq gamma sum r 1 n I X k in widehat chi i r 9 dd sungraylaexiydkaridmasungsmkarthi 10 nnphusnicsamarthipkhnkhwaidtamaehlngxangxingthiidrabuiwkhangtn emuxerasamarthniyamwacasumtwxyangaelaprbprungidxyangiraelwnn erakcasamarthsrangkhntxnwithiephuxthicaaekpyhaniiddngrhsethiymdanlang rhsethiymsahrbpyha 1 tngkha P 1 P displaystyle P 1 P aela X1 1 displaystyle X 1 1 2 t 0 twnbcanwnrxb 3 tha 4 t t 1 5 tngkhaininhlkthi Xt displaystyle X t khxng P t displaystyle P t epn 0 6 thakarthakhainaetlaaethwkhxng P t displaystyle P t ihepnmatrthan normalize echliykhainaetlaaethwihrwmknid 1 7 ichsmkarthi 8 srang Xt 1 displaystyle X t 1 dwypharamietxr Pt displaystyle P t 8 thakarprbprungkhaihid P t 1 displaystyle P t 1 inaetlaaethw i aelahlkthi j tamsmkarthi 9 9 rahwangthi t lt n 1 thayngsrangladbkhxngthangedinimkhrbthukcud 10 khunkha P t displaystyle P t duephimopraekrmphasa C khxng Shark Machine Learning Library 2013 11 18 thi ewyaebkaemchchinxangxingR Y Rubinstein The cross entropy method for combinatorial and continuous optimization Methodology and Computing in Applied Probability 2 127 190 1999 R Y Rubinstein Combinatorial optimization cross entropy ants and rare events In S Uryasev and P M Pardalos editors Stochastic Optimization Algorithms and Applications pages 304 358 Dordrecht 2001 Kluwer khlngkhxmulekaekbcakaehlngedimemux 2010 09 30 subkhnemux 2011 09 29 R Y Rubinstein and D P Kroese Simulation and the Monte Carlo Method John Wiley amp Sons New York second edition 2007 Pieter Tjerk de Boer A Tutorial on the Cross Entropy Method P 25 27