การค้นหานิพจน์ปกติขั้นต่ำเป็นปัญหาที่ทำให้สมบูรณ์หรือไม่


41

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

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

แทนที่จะสร้างนิพจน์ด้วยตนเองฉันต้องการตั้งค่าบวกและชุดตัวอย่างเชิงลบ

จากนั้นควรมีนิพจน์ที่ตรงกับตัว + ปฏิเสธสิ่งที่อยู่ในนั้นและมีความหมายน้อยที่สุด (จำนวนสถานะในออโตมาตะ)

คำถามของฉันคือ:

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

ขออภัยสำหรับคำถามที่ยุ่ง ๆ ชี้ให้ฉันไปในทิศทางที่ถูกต้องเพื่อหาสิ่งนี้ ขอบคุณมาก!


2
หน้าต่อไปนี้ดูเหมือนจะเกี่ยวข้องกับแง่มุมการเรียนรู้ของคำถาม: people.dsv.su.se/~henke/ML/MERLIN.html
Tsuyoshi Ito

1
... หรืออาจจะไม่ ดูเหมือนจะมีงานมากมายในการเรียนรู้ของ DFA
Tsuyoshi Ito

2
คำถามนี้เมื่อเร็ว ๆ นี้มีการหารือในบล็อกของชุมชน
แอรอนสเตอร์ลิง

คำตอบ:


38

ใช่มันคือ NP-Hard พิตต์และ Warmuth แสดงให้เห็นว่าการหาเอฟเอที่เล็กที่สุดที่สอดคล้องกับกลุ่มตัวอย่างที่ได้รับไม่สามารถประมาณภายในสำหรับค่าคงที่ใด ๆเว้นแต่NP k P = N POPTkkP=NP

เกี่ยวกับคำถามการเรียนรู้: Kearns และ Valiant พิสูจน์ว่าคุณสามารถเข้ารหัส RSA เป็น DFA ดังนั้นแม้ว่าตัวอย่างที่มีป้ายกำกับมาจากการแจกแจงแบบสม่ำเสมอความสามารถในการพูดคุยกับตัวอย่างในอนาคต ดังนั้นเราคิดว่าในกรณีที่เลวร้ายที่สุดการมีตัวอย่างที่มีข้อความไม่ช่วยในการเรียนรู้ DFA (ในรูปแบบ PAC) นี่เป็นหนึ่งในผลการวิเคราะห์ความแข็งแบบคลาสสิกสำหรับการเรียนรู้

ทั้งสองของปัญหาเหล่านี้เป็นพันเนื่องจากสิ่งที่เราเรียกสาธารณรัฐโคลัมเบียทฤษฎีบท โดยพื้นฐานแล้วระบุว่าถ้าเรามีขั้นตอนในการค้นหาสมมติฐานที่เล็กที่สุดจากคลาสที่กำหนดซึ่งสอดคล้องกับตัวอย่างที่ติดป้ายโดยสมมติฐานจากคลาสเดียวกันเราสามารถเรียน PAC ได้ ดังนั้นจากผลความแข็งของ RSA เราคาดหวังว่าการหา DFA ที่สอดคล้องกันที่เล็กที่สุดจะยากโดยทั่วไป!

ในการเพิ่มผลการเรียนรู้ในเชิงบวก Angluin แสดงให้เห็นว่าคุณสามารถเรียนรู้ DFA ได้หากคุณทำตัวอย่างของคุณเอง แต่ต้องการพลังเพิ่มเติมที่สามารถถามได้ว่า "สมมติฐานปัจจุบันของฉันถูกต้องหรือไม่?" นี่เป็นกระดาษเชื้อในการเรียนรู้

เพื่อตอบคำถามอื่นของคุณทั้งหมดนี้เกี่ยวข้องกับความซับซ้อนของ Kolmogorov อย่างแท้จริงเนื่องจากปัญหาการเรียนรู้จะง่ายขึ้นเมื่อการเป็นตัวแทนที่ยอมรับได้ของ DFA เป้าหมายมีความคลาดเคลื่อนต่ำ


3
คุณเอาชนะฉันด้วยผลลัพธ์ที่ใหม่กว่าและแข็งแกร่งกว่า! คุณควรโพสต์คำตอบที่ดีกว่าในภายหลัง !! 1 !!
Tsuyoshi Ito

ขออภัย! ฉันใช้เวลามากพอในการเรียนรู้ DFA ที่ฉันต้องกระโดดไปที่นี้ :)
เลฟเรซิน

1
ในกรณีที่ฉันล้อเล่นในความคิดเห็นก่อนหน้าของฉัน แน่นอนฉันมีความสุขที่จะเห็นคำตอบที่ดีกว่า!
Tsuyoshi Ito

1
ดังนั้นในคำอื่น ๆ ความแตกต่างที่สำคัญระหว่างปัญหานี้และการลดขนาด DFA อย่างสม่ำเสมอคือการมีตัวอย่างเชิงลบใช่หรือไม่
Suresh Venkat

1
ฉันไม่เข้าใจ ไม่มีตัวอย่างเชิงลบ dfa ที่สอดคล้องกันที่เล็กที่สุดมีเพียง 1 สถานะ - สถานะการยอมรับที่ชี้ไปที่ตัวเอง ...
Lev Reyzin

13

ฉันตอบคำถามที่เกี่ยวข้องกับการเรียนรู้

ปัญหานี้ดูเหมือนจะถูกเรียกว่า "การเรียนรู้ DFA" ในวรรณคดี

ทองคำ [Gol78] แสดงให้เห็นว่ามันเป็นปัญหาที่สมบูรณ์ในการตัดสินใจโดยกำหนดk two และสองอัน จำกัด เซตPและNของสตริงไม่ว่าจะมีออโตเมติกจำกัด สถานะที่กำหนดขึ้นมาอย่างแน่นอน (DFA) กับรัฐkส่วนใหญ่Pและไม่มีสตริงในN ดูเหมือนว่าบทความ [PH01] จะพูดถึงปัญหาที่เกี่ยวข้องกับแรงจูงใจนี้ (อาจมีอีกมากนี่เพิ่งเกิดขึ้นเมื่อฉันพยายามค้นหาเอกสารที่เกี่ยวข้องกับ Google)

อ้างอิง

[Gol78] E Mark Gold ความซับซ้อนของการระบุอัตโนมัติจากข้อมูลที่ได้รับ ข้อมูลและการควบคุม , 37 (3): 302–320, มิถุนายน 1978 http://dx.doi.org/10.1016/S0019-9958(78)90562-4

[PH01] Rajesh Parekh และ Vasant Honavar การเรียนรู้ DFA จากตัวอย่างง่ายๆ การเรียนรู้ของเครื่อง , 44 (1–2): 9–35, กรกฎาคม 2544 http://www.springerlink.com/content/kr2501h2442l8mk1/ http://www.cs.iastate.edu/~honavar/Papers/parekh- dfa.pdf


ขอบคุณสำหรับการตอบกลับฉันกำลังดูข้อมูลอ้างอิง ฉันสามารถลงคะแนนได้มากกว่าหนึ่งคำตอบที่ดีที่สุดในเว็บไซต์นี้หรือไม่? :) อีกครั้งฉันอายที่ฉันพลาดฟิลด์ย่อย "การเรียนรู้ DFA" ทั้งหมดแม้ว่าฉันจะเรียนรู้การเรียนรู้ด้วยเครื่องเป็นเวลาหลายปีก็ตาม
László Kozma

@steve: คุณสามารถตอบได้เพียงคำตอบเดียว แต่คุณสามารถโหวตได้หลายคำตอบตามที่คุณต้องการ
Jukka Suomela

1
โปรดทราบว่า [Gold78] ระบุด้วยว่า DFA สามารถเรียนรู้ได้ในเวลาพหุนาม (ภายในกรอบการเรียนรู้ของการระบุตัวตนในขีด จำกัด ) ดูหนังสือเล่มล่าสุดเกี่ยวกับ Grammatical Inference ( pagesperso.lina.univ-nantes.fr/~cdlh/book_webpage.html ) สำหรับภาพรวม
mgalle

@mgalle: ขอบคุณสำหรับข้อมูลเพิ่มเติม
Tsuyoshi Ito

7

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


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

ความคิดเห็นแบบสุ่ม: เนื่องจากข้อเท็จจริงที่ว่าการแสดงออกปกติของขนาด f (n) สามารถจำลองได้โดย NFA ที่มีขนาด O (f (n)) การลดการแสดงผลปกติเป็นเหมือนการลด NFAs ซึ่งเห็นได้ชัดว่ายากกว่า
เซียน - จื้อฉาง張顯之

บางส่วนได้รับการกล่าวถึงในความคิดเห็นต่อคำตอบของ @ keith
Lev Reyzin

2

ดูเพิ่มเติมที่โพสต์ล้นสแต็คนี้ ดูเหมือนว่าหนังสือที่คุณกำลังมองหาจะรู้เบื้องต้นเกี่ยวกับทฤษฎีการคำนวณโดย Michael Sipser

คุณกำลังถามคำถามสองสามข้อที่แตกต่างกันดังนั้นให้พวกเขาทีละคน:

Is finding a minimal Finite State Machine for a language L NP-complete?

ไม่มันไม่ใช่ โพสต์ Stack Overflow กล่าวถึงอัลกอริทึมที่ไร้เดียงสาเพื่อลด FSM ให้มีขนาดเล็กที่สุด (ทำงานย้อนกลับจากสถานะหยุดรวมสถานะที่ "เหมือนกัน" ในแง่ที่ถูกต้อง)

เห็นได้ชัดว่า (ฉันไม่ได้ติดตามลิงก์) มีอัลกอริทึม n log n ในการทำเช่นนี้

I have a training set of strings, how do I find the minimal FSM 
that separates the good examples from the bad?

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

Is this a good way to build a classifier?

ฉันจะไม่พูดเช่นนั้น การลดขนาด FSM ให้เล็กลงจะไม่เปลี่ยนพลังงานพินิจพิเคราะห์ - นั่นเป็นประเด็น FSM ขั้นต่ำยอมรับชุดของสตริงเหมือนกับ FSM ที่ไม่น้อยที่สุดที่เทียบเท่ากัน

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

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


2
ฉันไม่เห็นด้วยกับคำตอบนี้ หากคุณเพียงแค่นำตัวอย่างที่เป็นบวกทั้งหมดและสร้าง FSM ที่ยอมรับเฉพาะตัวอย่างเหล่านั้นและไม่มีอะไรอื่น FSM ของคุณอาจมีขนาดใหญ่มาก บนมืออื่น ๆ , เอฟเอที่เล็กที่สุดที่ยอมรับตัวอย่างในเชิงบวกและเชิงลบไม่มีตัวอย่างอาจจะมีมากมีขนาดเล็กลง
Jukka Suomela

3
ฉันคิดว่าคำถามเดิมทำให้มันชัดเจน: "การแสดงออกที่ตรงกับคน + ปฏิเสธ - คนและมีความหมายชัดเจนน้อยที่สุด"
Jukka Suomela

5
@keith ความแตกต่างระหว่างคำตอบของคุณกับของฉันค่อนข้างบอบบาง เมื่อคุณสร้าง dfa ของคุณโดยการสร้างสถานะใหม่สำหรับแต่ละสายอักขระในตัวอย่างคุณผูกมัดตัวเองกับภาษาที่แตกต่างจากภาษาที่มีการแสดงด้วย dfa ขั้นต่ำที่แยกตัวอย่างบวกและลบ ดังนั้นอัลกอริทึมสำหรับการสร้าง dfa แล้วย่อเล็กสุดโชคไม่ดี!
Lev Reyzin

1
ฉันไม่แน่ใจว่าฉันเข้าใจความแตกต่างนี้ หากเรามีตัวอย่างที่เป็นบวกและลบเรามีตระกูลของภาษาที่ทุกคนมีข้อ จำกัด เหล่านี้ สำหรับแต่ละชุดจะมี dfas น้อยที่สุด (ชุด) ตราบใดที่ฉันส่งคืน DFA ที่มีขนาดต่ำสุดมันสำคัญแค่ไหนในภาษาเหล่านี้ที่ฉันเลือก
Suresh Venkat

1
สำหรับการเรียนรู้คุณต้องการเลือก DFA ที่เล็กที่สุดเพราะมันมีความสามารถในการวางนัยทั่วไปที่ดีที่สุด ขั้นตอนของ @ kieth จะไม่เลือก minimium DFA สำหรับภาษาเหล่านี้ทั้งหมดเท่านั้นที่เล็กที่สุดสำหรับภาษาที่มุ่งมั่นที่จะใช้ขั้นตอนของเขา
Lev Reyzin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.