Chapter Simulated Annealing

18
บทที2 อัลกอริทึมการอบอ่อนจำลอง Simulated Annealing Algorithm อัลกอริทึมการอบอ่อนจำลอง (simulated annealing หรือ SA) เป็นเทคนิคการค้นหาคำตอบแบบสุ่ม ซึ่งเลียน แบบกรรมวิธีการควบคุมอุณหภูมิของการอบโลหะให้ร้อนแล้วปล่อยให้เย็นลงช้าๆ เพื่อให้เกิดการเปลี่ยนแปลงทาง โครงสร้างผลึกที่มีพลังงานภายในน้อยที่สุด คุณลักษณะดังกล่าวจะทำให้โลหะมีคุณสมบัติทางกายภาพที่แข็งแกร่ง และทนทาน ในทางตรงกันข้าม ถ้าไม่ทำการควบคุมการทำให้เย็นของโลหะร้อนแล้ว โครงสร้างที่ได้จะมีจุดตำหนิ หรือบกพร่อง เป็นโลหะมีความแข็ง แต่เปราะ กรรมวิธีการควบคุมอุณหภูมิของการอบโลหะดังกล่าวเรียกว่าการอบ อ่อน (annealing process) การอบอ่อนจำลองเป็นเทคนิคการค้นหาค่าเหมาะที่สุดสำหรับปัญหาเชิงผสมผสาน โดย มีการควบคุมอุณหภูมิของการอบอ่อนเป็นการปรับค่าพารามิเตอร์การค้นหาคำตอบของระบบนั่นเอง การอบอ่อนจำลอง (Simulated Annealing หรือ SA) ได้รับการพัฒนาขึ้นในปี 1983 โดย Kirkpatrick และ คณะ [Kirkpatrick et al., 1983]เพื่อใช้ในการแก้ปัญหาที่ไม่เป็นเชิงเส้น SA ทำให้ระบบได้รับคำตอบที่เหมาะ ที่สุดแบบวงกว้าง (global optimum) โดยการเลียนแบบธรรมชาติของกระบวนการอบอ่อนเหล็ก กระบวนการ ดังกล่าวเริ่มต้นจากการเผาเหล็กด้วยอุณหภูมิสูงจนเกินจุดหลอมเหลว ซึ่งทำให้เหล็กอยู่ในสภาวะของเหลวและมี โครงสร้างระดับโมเลกุลที่มีพลังงานสูง สามารถมีปริมาณการเคลื่อนที่ที่สูงได้ ซึ่งจุดนี้เปรียบได้กับการที่การค้นหา คำตอบ มีพลังงานมากพอที่จะสามารถก้าวหลุดพ้นจากคำตอบที่เหมาะที่สุดแบบวงแคบเฉพาะถิ่นได้ (local opti- mum) เมื่อทำการลดอุณหภูมิของระบบลง โมเลกุลโครงสร้างของเหล็กจะไม่สามารถเคลื่อนที่ได้เท่าเดิม และจะ ถูกจำกัดในช่วงคำตอบที่เหมาะที่สุดแบบวงแคบเฉพาะถิ่น เมื่อพิจารณาในระดับโครงสร้างผลึกของเหล็ก การลด อุณหภูมิลงอย่างช้าๆ ทำให้เหล็กมีโครงสร้างผลึกที่แข็งแกร่ง ในขณะเดียวกัน ถ้าอุณหภูมิลดลงอย่างไม่เหมาะสม โครงสร้างผลึกดังกล่าวจะมีการจัดตัวที่ไม่เหมาะสม ส่งผลให้เกิดข้อบกพร่องหรือมีตำหนิในโครงสร้างผลึก ซึ่ง จะทำให้เหล็กที่ได้มีความแข็งแกร่งแต่เปราะ เหล็กที่ไม่มีข้อบกพร่องในโครงสร้างผลึกเลยเปรียบได้กับคำตอบทีเหมาะที่สุดแบบวงกว้าง กระบวนการอบอ่อนเหล็กดังกล่าวเปรียบเทียบได้กับการเขย่ากล่องที่มีพื้นผิวการค้นหา คำตอบ และมีลูกบอลกลิ้งไปมาบนพื้นผิวนั้นๆ เมื่อลูกบอลกลิ้งไปติดกับร่อง เราจำเป็นต้องเขย่ากล่องให้แรงขึ้น เพื่อให้ลูกบอลหลุดออกจากร่องให้ได้ ร่องดังกล่าวเปรียบได้กับคำตอบที่เหมาะที่สุดแบบวงแคบเฉพาะถิ่น ร่องทีลึก ย่อมต้องการการเขย่าที่แรงกว่าในการที่จะทำให้ลูกบอลหลุดออกจากร่องได้ การเขย่าที่แรงคือการให้พลังงาน กับลูกบอลที่มากขึ้น เทียบได้กับการให้อุณหภูมิที่สูงกับโมเลกุลของเหล็ก อุณหภูมิที่ลดลงคือการเขย่ากล่องด้วย แรงที่ลดลง ทำให้ลูกบอลเคลื่อนที่ได้ราบเรียบและเข้าสู่เป้าหมายได้ดีขึ้น อย่างไรก็ดี ถึงแม้ว่า SA จะสามารถให้ คำตอบที่เหมาะที่สุดแบบวงกว้างได้ แต่เวลาในการค้นหาคำตอบอาจจะไม่เหมาะสมในการใช้งานจริงก็ได้ มีงาน 45

Transcript of Chapter Simulated Annealing

Page 1: Chapter Simulated Annealing

บทท 2

อลกอรทมการอบออนจำลองSimulated Annealing Algorithm

อลกอรทมการอบออนจำลอง (simulated annealing หรอ SA) เปนเทคนคการคนหาคำตอบแบบสม ซงเลยนแบบกรรมวธการควบคมอณหภมของการอบโลหะใหรอนแลวปลอยใหเยนลงชาๆ เพอใหเกดการเปลยนแปลงทางโครงสรางผลกทมพลงงานภายในนอยทสด คณลกษณะดงกลาวจะทำใหโลหะมคณสมบตทางกายภาพทแขงแกรงและทนทาน ในทางตรงกนขาม ถาไมทำการควบคมการทำใหเยนของโลหะรอนแลว โครงสรางทไดจะมจดตำหนหรอบกพรอง เปนโลหะมความแขง แตเปราะ กรรมวธการควบคมอณหภมของการอบโลหะดงกลาวเรยกวาการอบออน (annealing process) การอบออนจำลองเปนเทคนคการคนหาคาเหมาะทสดสำหรบปญหาเชงผสมผสาน โดยมการควบคมอณหภมของการอบออนเปนการปรบคาพารามเตอรการคนหาคำตอบของระบบนนเองการอบออนจำลอง (Simulated Annealing หรอ SA) ไดรบการพฒนาขนในป 1983 โดย Kirkpatrick และ

คณะ [Kirkpatrick et al., 1983]เพอใชในการแกปญหาทไมเปนเชงเสน SA ทำใหระบบไดรบคำตอบทเหมาะทสดแบบวงกวาง (global optimum) โดยการเลยนแบบธรรมชาตของกระบวนการอบออนเหลก กระบวนการดงกลาวเรมตนจากการเผาเหลกดวยอณหภมสงจนเกนจดหลอมเหลว ซงทำใหเหลกอยในสภาวะของเหลวและมโครงสรางระดบโมเลกลทมพลงงานสง สามารถมปรมาณการเคลอนททสงได ซงจดนเปรยบไดกบการทการคนหาคำตอบ มพลงงานมากพอทจะสามารถกาวหลดพนจากคำตอบทเหมาะทสดแบบวงแคบเฉพาะถนได (local opti-mum) เมอทำการลดอณหภมของระบบลง โมเลกลโครงสรางของเหลกจะไมสามารถเคลอนทไดเทาเดม และจะถกจำกดในชวงคำตอบทเหมาะทสดแบบวงแคบเฉพาะถน เมอพจารณาในระดบโครงสรางผลกของเหลก การลดอณหภมลงอยางชาๆ ทำใหเหลกมโครงสรางผลกทแขงแกรง ในขณะเดยวกน ถาอณหภมลดลงอยางไมเหมาะสมโครงสรางผลกดงกลาวจะมการจดตวทไมเหมาะสม สงผลใหเกดขอบกพรองหรอมตำหนในโครงสรางผลก ซงจะทำใหเหลกทไดมความแขงแกรงแตเปราะ เหลกทไมมขอบกพรองในโครงสรางผลกเลยเปรยบไดกบคำตอบทเหมาะทสดแบบวงกวาง กระบวนการอบออนเหลกดงกลาวเปรยบเทยบไดกบการเขยากลองทมพนผวการคนหาคำตอบ และมลกบอลกลงไปมาบนพนผวนนๆ เมอลกบอลกลงไปตดกบรอง เราจำเปนตองเขยากลองใหแรงขนเพอใหลกบอลหลดออกจากรองใหได รองดงกลาวเปรยบไดกบคำตอบทเหมาะทสดแบบวงแคบเฉพาะถน รองทลก ยอมตองการการเขยาทแรงกวาในการทจะทำใหลกบอลหลดออกจากรองได การเขยาทแรงคอการใหพลงงานกบลกบอลทมากขน เทยบไดกบการใหอณหภมทสงกบโมเลกลของเหลก อณหภมทลดลงคอการเขยากลองดวยแรงทลดลง ทำใหลกบอลเคลอนทไดราบเรยบและเขาสเปาหมายไดดขน อยางไรกด ถงแมวา SA จะสามารถใหคำตอบทเหมาะทสดแบบวงกวางได แตเวลาในการคนหาคำตอบอาจจะไมเหมาะสมในการใชงานจรงกได มงาน

45

Page 2: Chapter Simulated Annealing

อลกอรทมการอบออนจำลองSimulated Annealing Algorithm

วจยมากมายทเนนการปรบปรงประสทธภาพในการคนหาคำตอบของ SA ใหดขนเชน FSA (Fast Simulated An-nealing) หรอ ADA (Adaptive Simulated Annealing) ทซงลเขาสคำตอบไดเรวขนแบบเลขยกกำลงSA [Kirkpatrick et al., 1983][Rutenbar, 1989][Hajek, 1985] มความแตกตางไปจากการคนหาคำตอบ

แบบวนรอบดขน (iterative improvement search) ตรงทมการใสคาสมเขาไปในการคนหาคำตอบ การสมคาดงกลาวทำให SA สามารถ “กระโดด” หรอหลดออกจากคำตอบทเหมาะทสดแบบวงแคบเฉพาะถนได การกระโดดดงกลาวคอการปรบอณหภมในกระบวนการอบออนขางตนนนเอง การปรบอณหภมของ SA ยงสามารถพจารณาไดอกสองแงมม กลาวคอทอณหภมสง ระบบจะทำการคนหาแบบหยาบๆ (การกระโดดไปมาอยางแรง) ในขณะทการคนหาแบบละเอยดจะไดจากระบบทมอณหภมตำๆ ดวยลกษณะการทำงานแบบสมดงกลาว เราอาจเรยก SAวาเปนอลกอรทมเชงนาจะเปน (probabilistic algorithm)

2.1 อลกอรทมการอบออนจำลองSimulated Annealing Algorithm

อลกอรทมการอบออนจำลองไดรบแนวคดทางธรรมชาตจากการทำใหเหลกทกำลงรอนเยนตวลง ในโครงสรางของเหลกทกำลงรอนนน ความนาจะเปนของกลมอะตอม ณ ตำแหนง ri จะมคาพลงงานเฉพาะคาหนงคอ E(ri) ทอณหภม T คาความนาจะเปนดงกลาวสามารถนยามไดจากคาความนาจะเปนแบบโบลตซมนน (Boltzmann prob-ability) ดงน

Pr[E(ri)] = e−E(ri)/kBT (2.1)

โดยท kB คอคาคงทโบลตซมนน ปรากฎการณขางตนนำไปสการออกแบบอลกอรทมสำหรบการอบออนจำลอง ซงเปนจดเดนททำให SA ไดรบความสนใจมากมาย จดเดนทสำคญอยางหนงคอ SA มโครงสรางหรอหลกการทำงานทไมมความซบซอนแตอยางใด รปท 2.1 แสดงแผนผงการทำงานของ SA ซงมองคประกอบสำคญอย 4 อยางดงน(รายละเอยดดงกลาวมทมาจากอลกอรทมเมโทรโพลสหรอ Metropolis หนงในเทคนคมอนตคารโลหรอ MonteCarlo ซงมใชในกลศาสตรสถต) [Ham and Kostanic, 2001]

• รปแบบของคำตอบทตองการคนหา

• ตวกำเนดสม (random generator) หรอตวปฏบตการคนหาสำหรบทำการ “เดน” หรอ “move” คำตอบของระบบไปยงคำตอบใหม

• ฟงกชนวตถประสงค (objective function) ของระบบ

• ตารางจดการการอบออน (annealing schedule) ซงเปนสวนทใชปรบคาอณหภมและกำหนดเวลาทจะใหระบบเกดการเปลยนแปลงอณหภม

รายละเอยดของอลกอรทมการอบออนจำลองมดงตอไปน

⊲ อลกอรทมการอบออนจำลอง - Simulated Annealing Algorithm

1. สมคาเรมตนเวกเตอรคำตอบ x ในปรภมการคนหา คาเวกเตอรคำตอบ x นสามารถพจารณาวาเปนสถานะของระบบกได

2. กำหนดตารางจดการการอบออนสำหรบพารามเตอรอณหภม T และตงคาเรมตนของ T ไวทคาสงอยางเพยงพอ (ในการหลอมละลายเหลกได)

3. คำนวณหาเวกเตอรคำตอบใหม xp = x + ∆x โดยท ∆x เปนการเปลยนแปลงทถกนำเสนอตอระบบ

4. คำนวณหาการเปลยนแปลงของฟงกชนวตถประสงค ∆f = f(xp)− f(x)

46

Page 3: Chapter Simulated Annealing

2.1 อลกอรทมการอบออนจำลองSimulated Annealing Algorithm

รปท 2.1: อลกอรทมการอบออนจำลอง

5. ทำการคำนวณหาวาควรจะใช xp เปนคำตอบหรอสถานะใหมของระบบหรอไม กลาวคอใชความนาจะเปนในการตดสนใจทจะเปลยนสถานะตามเงอนไขตอไปน

Pr(x→ xp) =

{

1 ถา ∆f < 0

e−∆f/T ถา ∆f ≥ 0(2.2)

โดยท T แทนอณหภมของระบบ ในกรณท ∆f ≥ 0 คาตวเลขสมทมการกระจายแบบสมำเสมอ (uniformdistribution) η จะถกเลอกจากในชวง [0, 1] ถา Pr(x → xp) > η แลว เวกเตอรคำตอบ xp จะถกใชเปนคำตอบหรอสถานะใหมของระบบ มฉะนนแลว ใหคงคำตอบของระบบไวท x เหมอนเดม

6. ขนตอนขางตนจะถกทำซำจนกระทงระบบเขาสจดสมดล ทซงรไดจากจำนวนครงของการเปลยนสถานะไมมนยสำคญเพยงพอ สภาวะดงกลาวนจะเกดขนเมอระบบมคำตอบหรอสถานะเขาใกลคาเหมาะทสดแบบวงแคบเฉพาะถน โดยปกตแลว จำนวนครงของการทำซำจะถกกำหนดไวกอนลวงหนา

7. ทำการปรบคาอณหภม T ตามตารางจดการการอบออน แลวเรมทำขนตอนทำซำทงหมดใหมอกครง กระ-บวนการทงหมดสามารถยตไดเมอคาอณหภม T มคาเปนศนย (ระบบถกแชแขง) ⊳

รายละเอยดพารามเตอรตางๆ ของ SA มดงตอไปน

• ตารางจดการการอบออน - Annealing Scheduleในความเปนจรงแลว ประสทธภาพของ SA จะขนอยกบการเลอกตารางจดการการอบออน (สำหรบพารา-มเตอรอณหภม T ) ตารางจดการการอบออนจะเปนตวกำหนดการเคลอนทหรอ “move” ของคำตอบของระบบในระหวางการคนหา หลกในการเลอกตารางจดการการอบออนทเหมาะสมคอ “คาอณหภมเรมตนของ

47

Page 4: Chapter Simulated Annealing

อลกอรทมการอบออนจำลองSimulated Annealing Algorithm

ระบบควรจะสงพอทจะหลอมละลายระบบอยางสมบรณ และในระหวางขนตอนการคนหาควรจะมคาลดลงไปจนถงจดเยอกแขง” การเลอกตารางจดการการอบออนจงคอนขางเปนงานศลปะ ถาระบบถกลดอณหภมลงเรวเกนไป การลเขาสคำตอบอาจจะเรวเกนไปดวย ทำใหระบบลเขาสคำตอบทเหมาะทสดแบบวงแคบเฉพาะถน ในทางตรงกนขาม ถาระบบมอณหภมลดลงชาเกนไป จะทำใหเสยเวลาในการคำนวณมากเกนไปดวยเชนกน การเลอกตารางจดการการอบออนหลายๆ วธไดถกนำเสนอ ไมวาจะเปนวธการใชลกโซมารคอฟ(Markov chain) ขนาดจำกดในการลดอณหภม [Isaacson and Madsen, 1976] หรอวธการปรบอณหภมจาก [Geman and Geman, 1984] ดงตอไปน

T (k) =T (0)

log (1 + k)k = 1, 2, . . . (2.3)

โดยท k คอจำนวนรอบทกำลงทำซำ T (k) เปนอณหภมลำดบท k และ T (0) เปนคาอณหภมเรมตน (ควรมคาบวกและมากเพยงพอ) อลกอรทม SA รบประกนวาจะลเขาสคำตอบทเหมาะทสดแบบวงกวางดวยฟงกชนวตถประสงค f(x) เมอ k →∞ หรอในรปแบบการลดอณหภมอยางงายๆ เชน

T (k) = αT (k − 1) (2.4)

โดยท α เปนคาคงททมคาใกลเคยงและนอยกวา 1 เรยกวาการลดอณหภมแบบเลขชกำลง (exponentialcooling scheme หรอ ECS) นำเสนอครงแรกดวยการใชคา α = 0.95 สวนการลดอณหภมแบบเชงเสน(linear cooling scheme หรอ LCS) กำหนดการลดคาอณหภมดงน

T (k) = T (k − 1)− T ′ (2.5)

โดยทคา T ′ เปนคาอณหภมทลดลงไปในชวงจำนวนการวนรอบทกำหนด ขอควรระวงคอคาอณหภมทสามารถตดลบไดในกรณของ LCS

• คาอณหภมเรมตน - Initial Temperatureคาอณหภมเรมตน T (0) ทเหมาะสมจะทำใหคาเฉลยความนาจะเปนในการยอมรบคำตอบหรอสถานะใหมของระบบสงถง 0.8 กลาวคอมโอกาส 80% ทการเปลยนแปลงของคำตอบหรอสถานะของระบบจะถกยอมรบคาของ T (0) จะขนอยกบสดสวนของฟงกชนวตถประสงค f ดงนนคาอณหภมเรมตนดงกลาวจงมคาเฉพาะของแตละปญหา

• คาอณหภมสดทาย - Final Temperatureในอลกอรทม SA ทไมซบซอน คาอณหภมสดทายของระบบสามารถหาไดจากจำนวนรอบของการทำซำจำนวนคำตอบใหมทไดทงหมดหรอจำนวนคาอณหภมทใชไป ในขณะเดยวกน เราสามารถยตขนตอนของSA ไดเมอระบบไมมการเปลยนแปลงของคำตอบหรอสถานะใหม

2.2 ตารางจดการการอบออนสำหรบ SA แลว สงทเปนหวใจสำคญของอลกอรทมกคอตารางจดการการอบออน เราจะเหนไดวาถามการจดการอณหภมของระบบทถกตองเหมาะสม ระบบจะสามารถเขาสสภาวะสมดลได กลาวคอคำตอบทไดจากระบบจะเปนคำตอบทมคาเหมาะทสด ในการวเคราะหศกษา SA จงไดมผพฒนาตารางจดการการอบออนในรปแบบตางๆ เพอใหไดกระบวนการอบออนทสอดคลองกบวตถประสงคของการคนหาคำตอบ นนกคอการหาคำตอบจะตองรวดเรวและคำตอบทไดจะตองมความถกตอง ในหวขอนจะไดกลาวถงตารางจดการการอบออนในรปแบบตางๆ ซงรายละเอยดดงกลาวสามารถนำไปตอยอดสอลกอรทม SA แบบตางๆ ตอไปได

48

Page 5: Chapter Simulated Annealing

2.2 ตารางจดการการอบออน

2.2.1 การอบออนแบบมาตรฐานใน SA มาตรฐาน [Kirkpatrick et al., 1983] (หรอทใชกนทวไป) เดมทเปนเพยงอลกอรทมทเรยกวา "MetropolisMonte Carlo integration" [Metropolis et al., 1953] ทรวมเอาตารางจดการอณหภมไวดวย เพอเพมประสทธ-ภาพในการคนหาคำตอบ ตอมาไดมการพสจนไววาการปรบอณหภมเปนไปตามสมการท 2.3 กลาวคออณหภมมขอบลางสดจำกดไวดวย 1/log(k + 1) (เลข 1 มไวเพอไมใหคาเกดคา log ของศนย) โดยท k คอคาเวลาอางองของตารางจดการการอบออน หลงจากการนำเสนอดงกลาว ไดมผพฒนาอลกอรทมตางๆ เพมเตมขน จนภายหลงเราถงไดรจกงานขางตนในชอของการอบออนจำลองหรอ simulated annealing

2.2.2 การอบออนแบบโบลตซมนนBoltzmann Annealing

การอบออนจำลองทเปนทยอมรบคอการอบออนแบบโบลตซมนน (Boltzmann Annealing หรอ BA [Szu andHartley, 1987]) การกระจายของความนาจะเปนในการเปลยนสถานะของระบบจะเปนแบบโบลตซมนน โดยพ-จารณาไดจากสมการท 2.6 กำหนดให Ek เปนพลงงานของระบบขณะเวลา k (หรอสถานะปจจบน) Ek+1 เปนพลงงานของระบบขณะเวลา k (สถานะใหมของระบบ) และ ∆E เปนความแตกตางของพลงงานของระบบในสถานะปจจบนและสถานะกอนหนา (∆E = Ek+1 − Ek) จะไดวา

Pr[∆E] = e(−Ek+1/T )

e(−Ek+1/T )+e(−Ek/T )

= 11+e(−∆E/T )

≈ e(−∆E/T )

(2.6)

พจารณาการอบออนจำลองดงกลาวประกอบไปดวยความสมพนธของปรมาณ 3 อยางดงตอไปน

• Pr[∆E] - ความนาจะเปนในการยอมรบสถานะใหมของระบบ โดยพจารณาสถานะกอนหนานของระบบดวย

• T (k) - ตารางเวลา k ในการอบออนของอณหภม T

• gT (r) - ความหนาแนนของความนาจะเปน (probability density) ของปรภมสถานะของพารามเตอรของระบบ r = {ri, i = 1, . . . ,M} ณ อณหภม T โดยท M คอจำนวนของพารามเตอรในระบบ (นนคอขนาดหรอ dimension ของปรภมสถานะของพารามเตอร)

ในอลกอรทมของ SA สงสำคญอยางหนงกคอการเลอกชวงของพารามเตอรทจะทำการคนหา ดงนนจงไดมการนำเสนอเทคนคตางๆ ทจะทำใหสามารถเลอกชวงการคนหาพารามเตอรทแคบลงได ผลลพธทไดจะปรากฎในรปของตารางจดการการอบออนแบบตางๆ ยกตวอยางเชนในสมการท 2.3 สำหรบ BA ทซงสามารถพจารณาฟงกชนพลงงานในรปการกระจายแบบโบลตซมนน (Boltzmann distribution) ไดนน การจดการอณหภมของการอบออนจะอยในรปลอการทม ตวอยางเชน

Tk = T0ln k0

ln k(2.7)

โดยท T เปน "อณหภม" k เปนตวช "เวลา" ในการอบออนและ k0 เปนคาตวชเรมตน สำหรบคา k ทมากๆ เราสามารถเขยนในรปตอไปนได

Tk+1 = Tk − T0ln k0

k(ln k)2(2.8)

หรอในบางครงกมการใชในรปของเลขชกำลงแทนรปลอการทม ยกตวอยางเชน

Tk+1 = cTk, 0 < c < 1

Tk = T0e(c−1)k

(2.9)

49

Page 6: Chapter Simulated Annealing

อลกอรทมการอบออนจำลองSimulated Annealing Algorithm

เราจะเหนไดวาเงอนไขของการปรบอณหภมขางตนเปนสงททำใหอลกอรทม BA มประสทธภาพทแตกตางกน อลกอรทม SA แบบตางๆ จงไดถกนำเสนอเพอปรบปรงประสทธภาพการคนหาคำตอบดงกลาว

2.2.3 การอบออนแบบเรวFast Annealing

ในงาน [Szu and Hartley, 1987] ไดพจารณาอลกอรทม SA ในรปการกระจายของพลงงานแบบโคช (Cauchydistribution) และไดรบการบนทกวาการกระจายแบบโคชมขอไดเปรยบเหนอการกระจายแบบโบลตซมนน นำไปสการปรบอณหภมของระบบตามความสมพนธตอไปน

Tk =T0

k(2.10)

อลกอรทม SA ทมตารางจดการการอบออนขางตนเรยกวาเปนการอบออนแบบเรว (Fast Annealing หรอ FA) ซงจะเหนไดวามการปรบอณหภมเรวกวา BA แบบเลขชกำลง

2.2.4 การอบออนจำลองเชงปรบตวAdaptive Simulated Annealing

การอบออนจำลองเชงปรบตว (Adaptive Simulated Annealing หรอ ASA [Ingber, 1993]) เปนอลกอรทมการคนหาคาเหมาะทสดทใชหลกการสมในปรภมของพารามเตอร Ingber เองนนไดเผยแพรอลกอรทมการอบออนจำลองแบบความเรวสง (Very Fast Simulated Reannealing หรอ VFSR [Ingber, 1989]) ไว งานดงกลาวไดมการนำไปเขยนดวยโปรแกรมคอมพวเตอรและมผสนใจมากมายนำไปใชงานไดอยางมประสทธภาพ ASA ทไดนำเสนอตอจาก VFSR เองกไดรบความสนใจนำไปเขยนเปนโปรแกรมคอมพวเตอรเพอใชงานเชนกนเนอหาในสวนนจะไดทำการกลาวถงรายละเอยดของ ASA ซงมพนฐานมาจาก SA นนเอง อยางไรกด ไดมผนำ

เอา SA มาทำการปรบปรงในหลายรปแบบ จดประสงคกคอเพอเพมความสามารถในการคนหาคาเหมาะทสด ทงในทางดานเวลาการคนหาและประสทธภาพของคำตอบทได ตวอยางเชนการอบออนแบบโบลตซมนน (BoltzmannAnnealing หรอ BA [Szu and Hartley, 1987]) หรอการอบออนแบบเรว (Fast Annealing หรอ FA [Szu andHartley, 1987]) เปนตนASA พจารณาพารามเตอร ri

k ของมตท i (พารามเตอรมจำนวนมตทงหมดเทากบ D) ณ เวลาการอบออน k

ในชวงrik ∈ [Ai, Bi] (2.11)

จะไดตารางการจดการการอบออน ณ อณหภม Ti สำหรบพารามเตอรตวท i ดงน

Ti(k) = T0ie−cik

1/D (2.12)

จะเหนไดวา ASA มความแตกตางจาก SA อนๆ ตรงทพารามเตอรแตละตวจะมการตารางการปรบอณหภมทแตกตางกน เราสามารถควบคม ci ไดเชน

Tfi = T0ie−mi โดยท kf = eni

ci = mie−ni/D

(2.13)

โดยท mi และ ni สามารถพจารณาวาเปนพารามเตอรอสระทใชในการจน ASA สำหรบแตละปญหาไดSA แบบตางๆ ทไดกลาวมาขางตน ลวนแตมหลกการทำงานทคลายคลงกน จดประสงคหลกทไดพฒนา SA

แบบตางๆ นนกเพอเพมประสทธภาพในการคนหาคำตอบ โดยเฉพาะในเรองของความเรว ในหลายๆ โอกาส SAแบบพนฐานกเพยงพอตอการใชงาน การคนหาคำตอบดวย SA อยางงายๆ แสดงในตวอยางตอไปน

50

Page 7: Chapter Simulated Annealing

2.2 ตารางจดการการอบออน

รปท 2.2: ฟงกชน peaks สำหรบสาธตการทำงานของ SA

� ตวอยางท 2.1 การคนหาคำตอบดวย SA

ตวอยางนเปนการคนหาคาทนอยทสดของฟงกชน peaks (ดรปท 2.2) ทไดเคยยกตวอยางมาแลวในการคนหาคำตอบแบบอนๆ รปท 2.3-(ก) และ (ข) แสดงผลการคนหาคำตอบของ SA โดยมคาอณหภมเรมตน T (0) = 20

และคาอณหภมสดทายเทากบ 0.1 การปรบคาอณหภมใชความสมพนธ T (k) = αT (k − 1) โดยใชคา α = 0.99

จำนวนการวนรอบกอนทจะมการเปลยนแปลงอณหภมเทากบ 75 จากผลทไดจะเหนวา SA ใหผลลพธเปนคำตอบทนอยทสดแบบวงแคบเฉพาะถน เราสามารถวเคราะหไดวาอณหภมเรมตนมคาสงไมเพยงพอ เมอพจารณาผลลพธทไดในรปท 2.3-(ค) และ (ง) SA ใหผลการคนหาเปนคำตอบทนอยทสดแบบวงกวาง คาอณหภมเรมตนของระบบในกรณนคอ T (0) = 60

รปท 2.4 แสดงผลการคนหาดวยคาพารามเตอร α = 0.95 เราจะเหนไดวาคำตอบทไดมทงแบบวงแคบเฉพาะถนและแบบวงกวาง ผลลพธดงกลาวแสดงใหเหนถงการใชงาน SA จะตองมการปรบแตงพารามเตอรคอนขางละเอยดซงคาของพารามเตอรตางๆ จะแตกตางกนไปตามปญหาทกำลงพจารณา

เราจะเหนไดวาพารามเตอรทสำคญทสดของ SA คออณหภม การกำหนดคาอณหภมเรมตนหรอตารางจดการการอบออน ลวนแตมผลกระทบตอประสทธภาพการคนหาคำตอบของระบบ ซงเปนธรรมชาตของการอบออนจรงๆในการออกแบบใชงาน SA จงควรเนนทพารามเตอรอณหภมดงกลาว �

ในหวขอตอไปจะไดกลาวถงตวอยางการนำเอา SA ไปประยกตใชงานจรง

51

Page 8: Chapter Simulated Annealing

อลกอรทมการอบออนจำลองSimulated Annealing Algorithm

(ก) ผลการคนหาคำตอบดวย T (0) = 20 และ α = 0.99 (ข) คาฟงกชนวตถประสงค

(ค) ผลการคนหาคำตอบดวย T (0) = 60 และ α = 0.99 (จ) คาฟงกชนวตถประสงค

รปท 2.3: ตวอยางการคนหาคานอยทสดของฟงกชน peaks

2.3 การประยกตใชงาน SA: การจดจำหนาคนจากภาพดจตอล

เนอหาในหวขอนเรยบเรยงจากงานใน [Xu et al., 2007] (โดยไดรบอนญาตจากเจาของผลงาน) การประยกตใชงาน SA ในทนเกยวกบงานการจดจำใบหนา (face recognition) โดยใชการวเคราะหองคประกอบหลกแบบ 2 มต(2D Principal Component Analysis หรอ 2DPCA) รายละเอยดตางๆ มดงตอไปน

2.3.1 การจดจำหนาดวย 2DPCA

งานในดานการจดจำหนานนเดมทมการใช PCA เปนหลกในการแทนขอมลภาพมาเปนเวลานาน จนกระทงมการนำเสนอ 2DPCA ทซงพจารณาขอมลในรปแบบ 2 มต คณลกษณะดงกลาวแตกตางไปจาก PCA ซงพจารณาขอมลในรปของเวกเตอร นนคอ 1 มต ดงนน 2DPCA จงเหมาะสมในการนำมาลดมตขอมลภาพกวา PCAพจารณาเชตของภาพหนาคน {X1, X2, . . . , XN} ทงหมด N ภาพสำหรบใชฝกสอน (รปท 2.5 2DPCA ใช

52

Page 9: Chapter Simulated Annealing

2.3 การประยกตใชงาน SA: การจดจำหนาคนจากภาพดจตอล

x

y

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

0 20 40 60 80 100 120 140−4

−3

−2

−1

0

1

2

3

k

f

(ก) ผลการคนหาคำตอบดวย T (0) = 20 และ α = 0.95 (ข) คาฟงกชนวตถประสงค

x

y

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

0 20 40 60 80 100 120 140−7

−6

−5

−4

−3

−2

−1

0

1

2

k

f

(ค) ผลการคนหาคำตอบดวย T (0) = 60 และ α = 0.95 (จ) คาฟงกชนวตถประสงค

รปท 2.4: ตวอยางการคนหาคานอยทสดของฟงกชน peaks

รปท 2.5: ตวอยางภาพหนาคนสำหรบฝกสอน (พมพซำจาก [Xu et al., 2007])

ภาพทงหมดในการคำนวณเมตรกซความแปรปรวนรวมเกยว (covariance matrix) ของภาพดงน

C = E[(X − E(X))T (X − E(X))]

= 1N

∑Ni=1(Xi − X)T (Xi − X)

(2.14)

โดยท Xi เปนภาพฝกสอนภาพท i มขนาดเทากบ h × w X เปนเมตรกซภาพเฉลยของภาพฝกสอนทงหมด N

ภาพ ถาพจารณาภาพทตองการคำนวณหา 2DPCA เปนเมตรกซ A ใดๆ ทมขนาดเทากบ h×w และให x เปนคอลมภเวกเตอรหนงหนวยทมมตเทากบ w เราสามารถคำนวณภาพฉายของ A ไปบน x และไดผลเปนเวกเตอร y ท

53

Page 10: Chapter Simulated Annealing

อลกอรทมการอบออนจำลองSimulated Annealing Algorithm

มมตเทากบ h ดงนy = Ax (2.15)

แนวคดหลกของ 2DPCA คอการเลอกเวกเตอรภาพฉาย x (projection vector) ทด (เพอเปนตวแทนเมตรกซ A)โดยสามารถพจารณาจากคารวมการกระจายของตวอยางเวกเตอรภาพทถกฉาย (projected vector) ทมากทสดซงเปนไปตามเงอนไขการหาคามากทสดของสมการตอไปน

J(w) = tr(Sw) (2.16)

โดยท Sw เปนเมตรกซความแปรปรวนรวมเกยวของเวกเตอรภาพทถกฉายจากเซตภาพฝกสอนทงหมด และtr(Sw) เปนรอย (trace) ของเมตรกซ Sw เมตรกซความแปรปรวนรวมเกยว Sw สามารถเขยนไดดงน

Sw = E[y − E(y)]T [y − E(y)]

= E[(X − E(X))w]T [(X − E(X))w](2.17)

ดงนนจะไดวาJ(w) = wT Cw (2.18)

เวกเตอรภาพฉายทเหมาะทสด (optimal projection vector) w1, w2, . . . , wd คอเมตรกซลกษณะเฉพาะเชงตงฉากปกต (orthonormal eigenvector) ของเมตรกซความแปรปรวนรวมเกยว C สำหรบคาลกษณะเฉพาะ (eigenval-ue) ทมคามากทสด d คาแรกดงนนแตละภาพทใชฝกสอนจะมตวแทนเปนเวกเตอรคณลกษณะ (feature vector) Yi = [yi1, yi2, . . . , yid] ท

สามารถคำนวณไดจาก yik = Xiwk โดยท k = 1, 2, . . . , d (พจารณาขนาดของเวกเตอรคณลกษณะทลดนอยลงเมอเทยบกบขนาดของเมตรกซภาพตนฉบบ)ในทำนองเดยวกน เราสามารถคำนวณหาเวกเตอรคณลกษณะของภาพทจะใชทดสอบ Yt = [yt1, yt2, . . . , ytd]

เพอใชในการเปรยบเทยบความคลายกบภาพทใชฝกสอนและนำไปทำการคดแยกตอไปได

2.3.2 การวดความคลายดวย 2DPCAการวดความคลายของ 2DPCA ทนยมใชกนมดงน

• การวดระยะแบบ Frobenius

dF (Yi, Yj) =

[

d∑

k=1

m∑

l=1

(yik(l)− yjk(l))2

]1/2

(2.19)

• การวดระยะแบบ Yang

dY (Yi, Yj) =d

k=1

‖yik − yjk‖2 (2.20)

• การวดระยะแบบ VolumedV (Yi, Yj) =

|(Yi − Yj)T (Yi − Yj)| (2.21)

อยางไรกด การวดความคลายขางตนมลกษณะเปนการวดทไมสามารถปรบเปลยนได จงไดมการนำเสนอวธการวดความคลายแบบใหมโดยใช SA ดงรายละเอยดตอไปน

54

Page 11: Chapter Simulated Annealing

2.3 การประยกตใชงาน SA: การจดจำหนาคนจากภาพดจตอล

รปท 2.6: แผนผงการวดความคลายของ 2DPCA แบบเหมาะทสดดวย SA

2.3.3 การเรยนรสำหรบการวดความคลายดวย SAพจารณาเซตของภาพหนาคนทใชในการฝกสอนทงหมด N ภาพคอ {X1, X2, . . . , XN} โดยท Xi เปนภาพฝกสอนท i และมขนาดเทากบ m × n กำหนดใหเมตรกซคณลกษณะของภาพ Xi ทคำนวณไดจาก 2DPCAคอ Yi = [yi1, yi2, . . . , yid] โดยท i = 1, 2, . . . , N และ yik, k = 1, 2, . . . , d คอเวกเตอรขนาดเทากบ m ดงนนภาพฝกสอน Xi และ Xj จะมเมตรกซคณลกษณะ Yi และ Yj เราสามารถเรยนรฟงกชนการวดความคลายระหวางขอมลเมตรกซคณลกษณะทงสองไดโดยปกตแลวปรมาณ ‖yik − yjk‖2, k = 1, 2, . . . , d สามารถใชแสดงถงความแตกตางระหวางภาพ Xi และ

Xj (ดวยการวดความคลายระหวางเมตรกซคณลกษณะ Yi และ Yj) อยางไรกด การนำเอาปรมาณดงกลาวมาใชในการวดความคลายโดยตรงอาจจะใหการวดความคลายทยงไมดทสด จงไดมการนำเอาอลกอรทม SA มาเรยนรหาฟงกชนการวดความคลายทเหมาะทสด กลาวคอใชอลกอรทม SA ในการคนหาคานำหนก wk, k = 1, 2, . . . , d เพอใชในการปรบฟงกชนการวดความคลายดงน

d(Yi, Yj) =d

k+1

wk‖yik − yjk‖2/d

k=1

wk (2.22)

ฟงกชนการวดความคลายขางตนเปนการรวมกนแบบเชงเสนของแตละเวกเตอรคณลกษณะ yik, k = 1, 2, . . . , d

ของเมตรกซคณลกษณะ Yi ดวยคานำหนก wk ทเหมาะสมทสด ฟงกชนดงกลาวนจะถกใชเปนฟงกชนวตถประสงคโดยมคาความผดพลาดจากการวดความคลายของภาพเทยบกบภาพจากเซตฝกสอนเปนคาวตถประสงค ซงจะใชสำหรบประเมนสถานะของระบบใน SA แผนผงการวดความคลายแบบเหมาะสมทสดของ 2DPCA ดวย SA มแสดงในรปท 2.6 อลกอรทมของการใช SA ในการเรยนรการวดความคลายสรปไดดงน

55

Page 12: Chapter Simulated Annealing

อลกอรทมการอบออนจำลองSimulated Annealing Algorithm

⊲ อลกอรทมการคนหาคานำหนกการวดความคลายของ 2DPCA ดวย SA

1. กำหนดคาเรมตน Tmax, lmax, kmax, T (l), w0, N(x), T = Tmax, w = w0 โดยท w = (w1, . . . , wd)T และ

w0 เปนคาสมเรมตนของเวกเตอรคณลกษณะมต d

2. ทำการสมเลอกคำตอบเวกเตอรคณลกษณะรอบขางจาก w ซงกำหนดโดย w′ = N(w) ทซง N() เปนฟงกชนหาเวกเตอรรอบขาง

3. คำนวณหาคาวตถประสงคระหวาง w และ w′ ทใหคาระยะทางการวดความคลายดวยสมการท 2.22 ทนอยทสด โดยพจารณาคาวตถประสงคของ w และ w′ คอ ∆c = c(w′)− c(w)

4. ถา ∆c < 0 แลว กำหนด w = w′ มฉะนนถา e−∆c/T > rand แลวกำหนดให w = w′ โดยท rand คอคาสมตวเลข

5. ปรบคาอณหภมตามตารางการจดการการอบออนของ SA นนคอ T = T (l) แลวเรมการคนหาดวยคาอณหภมใหมอกครง ⊳

กำหนดใหคานำหนกการเรยนรทไดจาก SA คอ

w∗ = (w∗1 , . . . , w∗d)T (2.23)

คาของนำหนก w∗ ทไดจะถกใชในการวดความคลายดงน

dSA(Yi, Yj) =d

k=1

w∗k‖yik − yjk‖2/d

k=1

w∗k (2.24)

ดงนน ถากำหนดใหเมตรกซคณลกษณะ Yt สำหรบทดสอบการจดจำภาพใบหนา และกำหนดเมตรกซคณลกษณะYi จากเซตของภาพทใชฝกสอน การจดจำภาพใบหนาของ Yt เทยบกบภาพในเซตฝกสอนสามารถคำนวณไดจาก

c = arg minidSA(Yt, Yi) (2.25)

หรอ

c = arg mini

d∑

k=1

w∗k‖yik − ytk‖2/d

k=1

w∗k (2.26)

โดยท c ∈ [1, 2, . . . , N ] และ Yt จะถกคดแยกในกลมของ c

2.3.4 ผลการทดลองการจดจำใบหนาในงานขางตนไดรายงานผลการจดจำภาพใบหนาจากการใช SA ชวยในการวดความคลาย รปภาพใบหนาทใชในการทดสอบแสดงในรปท 2.7 ตารางท 2.1 แสดงผลการจดจำเทยบกบการวดความคลายแบบอนๆ จะเหนไดวาการใชการวดความคลาย ทซงผานการเรยนรเพอหาคานำหนกทเหมาะทสดดวย SA ใหผลการจดจำทดกวาการวดความคลายแบบอนๆ ตารางการจดการการอบออนทใชเปนแบบลอการทม โดยมคาเรมตนของอณหภม (Tmax) ท500 และคาสงสดของตวชเวลาของ SA (kmax) ในแตละรอบอณหภม รปท 2.8 แสดงการปรบอณหภมทใชในงานน SA ในงานนถกใชเปนเครองมอหาคาเหมาะทสด สำหรบวดความคลายของภาพใบหนาคน เพอใชในการจดจำใบหนาไดอยางมประสทธภาพ

56

Page 13: Chapter Simulated Annealing

2.4 สรป

รปท 2.7: ตวอยางภาพหนาคนสำหรบทดสอบ (พมพซำจาก [Xu et al., 2007])

ตารางท 2.1: อตราการจดจำทดทสดพรอมจำนวนเวกเตอรภาพฉายของการวดความคลายแบบตางๆ

วธการวด จำนวนของเวกเตอรภาพฉาย อตราการจดจำ (%)การวดระยะแบบ Frobenius 4,7,8 95.5การวดระยะแบบ Yang 3 96.0การวดระยะแบบ Volume 2,3 97.0การวดความคลายดวย SA 3 97.5

2.4 สรปSA มขอไดเปรยบในการใชงานทเหนไดชดคอความยดหยนและทนทานในการคนหาคำตอบทเหมาะทสดแบบวงกวาง ตว SA เองไมไดใชขอมลของความชนหรอเกรเดยนต (gradient) เหมอนกบในหลายๆ วธของการคนหา SA เองสามารถใชงานกบปญหาทมความไมเปนเชงเสนสง รวมไปถงกบปญหาทอยในรปของฟงกชนทไมสามารถหาอนพนธได (นนคอไมสามารถใชเกรเดยนตในการคนหาคำตอบได) การประยกตใชงาน SA เองยงมความหลากหลาย ขอเสยของ SA นนอยทตองมการคำนวณคอนขางมาก ถงแมวาจะมการนำเสนออลกอรทมของSA แบบดดแปรเพอใหทำงานไดเรวขน แตการนำไปโปรแกรมใชงานจรงยงมความยงยากและยงไมเปนทนยมใชกนอยางกวางขวางนก อยางไรกด SA ยงถอเปนเครองมอในการคนหาคำตอบทใชงานงายและมประสทธภาพสงเพยงพอตอการประยกตใชงานไดอยางมากมาย

57

Page 14: Chapter Simulated Annealing

อลกอรทมการอบออนจำลองSimulated Annealing Algorithm

รปท 2.8: การลดลงของอณหภมแบบลอการทม (พมพซำจาก [Xu et al., 2007])

58

Page 15: Chapter Simulated Annealing

2.4 สรป

โจทยคำถาม2.1. พจารณาฟงกชนของ Rastrigin f(x, y) = 20+x2 + y2− 10(cos 2πx+cos 2πy) ในรปท 2.9 ทซงประกอบ

ไปดวยจดตำสดทงแบบวงแคบเฉพาะถน (local minima) และแบบวงกวาง (global minima) จงออกแบบใชSA ในการหาคาตำสดแบบวงกวางของฟงกชนดงกลาว พรอมทงหาคาอณหภมเรมตนทเหมาะสมของ SAอธบายผลลพธทได

รปท 2.9: ฟงกชน Rastrigin

2.2. จงออกแบบ SA สำหรบทำการคดแยกกลมขอมล (clustering data) โดยทำการสมคาเวกเตอร (x1, x2)

จำนวนทงหมด 100 เวกเตอรใหมตำแหนงอยกนเปนกลมๆ กำหนดคาจำนวนกลมสงสดทจะทำการคดแยกแลวใช SA หาตำแหนงทเปนตวแทนกลมขอมล พรอมทงระบกลมของเวกเตอรททำการคดแยกทงหมด

2.3. จงออกแบบใช SA ในการหาสมประสทธการปรบเสนโคง (curve fitting) ของขอมลจาก gauss3.mat ในMATLAB (แสดงในรปท 2.10) โดยใชฟงกชนตอไปน

f(x) = a0e−b0x + a1e

x−b1c1

”2

+ a2e−

x−b2c2

”2

2.4. SA ไดรบความนยมในการนำไปใชในกระบวนการฝกสอนเครอขายประสาทเทยมได มตวอยางงานมากมายทประยกตใชงาน SA ดงกลาว จงอธบายการนำเอา SA ไปใชในการหาโครงสรางเหมาะทสดของเครอขายประสาทเทยม และทำการจำลองการทำงานโดยพจารณาใช SA ในการคนหาคานำหนกประสาทของเครอขายเพอรเซพตรอน (perceptron) ขนาด 2 นวรอนสำหรบปญหา XOR

2.5. จากการคนหาคาเหมาะทสดของฟงกชน peaks ใหทำการออกแบบปรบเปลยนตารางจดการการอบออนใหมพรอมทงเปรยบเทยบผลลพธทได

2.6. จงออกแบบการเลนเกมส XO ขนาด 3 × 3 ดวยอลกอรทม SA และทำการเปรยบเทยบประสทธภาพดานตางๆ กบกลยทธการคนหาคำตอบแบบใชขอมลความรตางๆ ในการตอสในเกมส การออกแบบดงกลาวสา-มารถพจารณาระบบเปนแบบดสครตหรอเปนแบบเครองจกรสถานะ (state machine) สงสำคญทสดคอการออกแบบฟงกชนการประเมนหรอฟงกชนวตถประสงค ในการประเมนคาสถานะปจจบนของเกมส

59

Page 16: Chapter Simulated Annealing

อลกอรทมการอบออนจำลองSimulated Annealing Algorithm

รปท 2.10: ขอมลสำหรบการปรบเสนโคง

2.7. SA สามารถนำไปใชในการสรางขอมลภาพดจตอลได เชนงานใน [Sundermann and Lemahieu, 1995] ซงเปนการกคนภาพแบบ Positron Emission Tomography (PET) จากภาพทมสญญาณรบกวน จงออกแบบใช SA ในการกคนภาพระดบเทา ทมสญญาณรบกวนแบบ Salt & Pepper (ดแผนผงในรปท 2.11 ประกอบ)พจารณาใชฟงกชนการประเมนเปนคาความแตกตางของรปภาพทมสญญาณรบกวน In กบรปภาพทสรางขนเพอการกคน I ดงน

F =∑

i,j

[Inij − Iij ]

2

จงออกแบบ SA ในการกคนภาพทมสญญาณรบกวน (ซงกคอการลดสญญาณรบกวนนนเอง) โดยทดสอบกบสญญาณรบกวนแบบตางๆ พรอมทงแสดงผลเปรยบเทยบและวเคราะหผลการปรบแตงพารามเตอรตางๆของ SA

รปท 2.11: แผนผงการกคนภาพดวย SA

2.8. การจดจำภาพใบหนาคนใน [Xu et al., 2007] ใช SA ในการเรยนรคานำหนกในฟงกชนวดความคลาย จงอภปรายผลของพารามเตอรตางๆ ของ SA ตอประสทธภาพของการคนหาคานำหนกทเหมาะทสด รวมไปถงผลของการปรบตารางการจดการการอบออนของ SA ในรปแบบตางๆ

60

Page 17: Chapter Simulated Annealing

บรรณานกรม

J. A. Anderson and E. Rosenfeld, editors. Neurocomputing: Foundation of Research. M.I.T. Press,Cambridge, MA, 1988.

S. Geman and D. Geman. Stochastic relaxation, gibbs distributions, and the bayesian restoration ofimages. IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-6:721--741, 1984.

B. Hajek. A tutorial survey of theory and applications of simulated annealing. In Proceedings of the24th IEEE Conference on Decision and Control, volume 2, pages 755--760, 1985.

Fredric M. Ham and Ivica Kostanic. Principle of Neurocomputing for Science & Engineering, chapter 5,pages 209--215. McGraw-Hill, 2001.

L. Ingber. Very fast simulated re-annealing. In Mathl. Comput. Modelling, volume 12, pages 967--973,1989.

L. Ingber, 1993. URL ftp.alumni.caltech.edu:/pub/ingber/ASA-shar,ASA-shar.Z,ASA.tar.Z,ASA.tar.gz,ASA.zip.

D. L. Isaacson and R. W. Madsen. Markov Chains: Theory and Applications. New York: Wiley, 1976.

S. Kirkpatrick, C. D. Gelatt Jr., and M. P. Vecchi. Optimization by simulated annealing. Science, 220:671--680, 1983. Reprinted in 1988, Anderson and Rosenfeld [1988], pp. 554-567.

N. Metropolis, A.W. Rosenbluth, M.N. Rosenbluth, A.H. Teller, and F. Teller. Equation of state calcu-lations by fast computing machines. In J. Chem. Phys., volume 21, pages 1087--1092, 1953.

R. A. Rutenbar. Simulated annealing algorithms: An overview. IEEE Circuits and Devices Magazine,pages 19--26, January 1989.

Erik Sundermann and Ignace L. Lemahieu. Pet image reconstruction using simulated annealing.In Murray H. Loew, editor, Proceedings of SPIE, volume 2434 of Medical Imaging 1995: ImageProcessing, pages 378--386, May 1995.

H. Szu and R. Hartley. Fast simulated annealing. In Phys. Lett., volume A 122, pages 157--162, 1987.

Z. Xu, L. Wang, and L. Yang. A simulated annealing and 2dpca based method for face recognition.In 3rd International IEEE Conference on Signal-Image Technologies and Internet-Based System,pages 777--782, 2007.

61

Page 18: Chapter Simulated Annealing

บรรณานกรม

62