Belirli bir DFA'nın minimum olup olmadığına ne kadar hızlı karar verebiliriz?


11

Deterministik sonlu otomatayı (DFA'lar) en aza indirmek, literatürde kapsamlı bir şekilde incelenen bir sorundur ve aşağıdaki sorunu çözmek için birkaç algoritma önerilmiştir: Bir DFA , aynı dili kabul eden karşılık gelen bir minimum DFA hesaplayın . Bu algoritmaların çoğu polinom zamanında çalışır.AA

Ancak, merak ediyorum bu sorunun karar varyantı - "bir DFA , minimal?" - asgari otomasyonu hesaplamaktan daha verimli bir şekilde çözülebilir. Açıkçası, bu ayrıca örneğin Hopcroft'un bölüm-iyileştirme algoritmasını çalıştırarak ve sonra tüm bölümlerin tam olarak bir durum içerip içermediğine karar vererek verimli bir şekilde yapılabilir .AA

Yuval Filmus'un cevabında belirttiği gibi , karar verilebilirlik değişkeni, muhtemelen standart algoritmalar kullanılarak daha hızlı çözülebilir. Ne yazık ki, nasıl göremiyorum (umarım burada açık bir noktayı kaçırmam).

Yuval, buradaki yorumlarda, en iyi bilinen algoritmaların (yukarıdaki gibi) sabit boyutlu alfabe için içinde çalıştığını belirtiyor . Bu nedenle, çalışma süresinde sadece asimptotik olarak önemli kazanımlarla ilgilenmiyorum, çünkü bunlar pek olası görünmüyor. Beni en çok rahatsız eden şey, sadece evet-hayır cevabı ile ilgilendiğimiz gerçeğinden çıkarılabilecek bir “kısayol” hayal edememem - asimptotik olarak ihmal edilebilir bir zaman tasarrufu sağlamaya izin veren bir kısayol bile değil. Bir DFA'nın minimumluğuna karar veren her mantıklı algoritmanın DFA'yı gerçekten en aza indirmesi ve işlem sırasında bir şey değişip değişmediğini görmesi gerektiğini hissediyorum.O(nlogn)


Hopcroft'un algoritması zaten yarı zamanlı olarak çalışıyor, bu yüzden iyileştirilecek çok fazla yer yok.
Yuval Filmus

Evet, sorumu bu gerçeği yansıtacak şekilde düzenledim, @YuvalFilmus
Cornelius Brand

1
Bilinen en hızlı DFA minimizasyon algoritmasının hala bu olduğuna inanıyorum . 2008'den önce yayınlanan zamanında çalışan herhangi bir algoritmadan daha hızlıdır , burada geçiş sayısıdır. O(n+mlogn)m
Juho

Bana göre, karar problemi minimizasyon probleminin karmaşıklığına eşdeğerdir, birincisi muhtemelen daha zor görünüyor çünkü önemsiz olmayan DFA denkliğini test etmeyi içerir. bu yüzden karar sorununun karmaşıklığı maksimum "minimizasyon veya eşdeğerlik testi" dir. ve denklik testinin karmaşıklığı nedir?
vzn

@vzn "[...] Bu önemsiz değil" demek istediğinizi varsayarsak, bunun zorunlu olması gerekmez, örneğin soruma verdiğim prosedür eşdeğerlik testinden kaçınır. Bununla birlikte, sorunun en aza indirmekten daha kolay olmadığını düşünüyorum.
Cornelius Markası

Yanıtlar:


5

Bu tam olarak aradığınız cevap olmayabilir, ancak karar sorunlarını sorduğunuzdan, sorunun karmaşıklığıyla ilgilenebileceğinizi düşündüm. Bu ise -Komple.NL

Şimdi, bir DFA'nın minimum olması ne anlama geliyor? İki özellik vardır:

  1. Her devlet ulaşılabilir: biz ulaşabileceği gibi başlangıç durumu ile ilgili izleyerek ; sembollerde: .qQwΣqswswq

  2. Her eyalet çifti ayırt edilebilir: ile öyle ki ve ve ( sadece biri kabul etme durumudur).q,rQqr wΣqwsrwt|{s,t}F|=1s,t

Bildirim o (yani log-uzayda hesaplanabilir ; ve izlediğiniz olarak sadece mevcut konumunu izlemek her seferinde bir harfi). Ayrıca, ve arasında sadece sınırlı sayıda değişiklik vardır, bu nedenle Immerman-Szelepcsenyi teoreminin bir sonucu olarak , sorunun içinde olduğunu .xwyLwNL

Bu zor olduğunu görmek için en kolay yolu, özelliği 1 çözer bildirimi için olan - prototip zor bir problemdir ulaşılamaz, yönlendirilmiş. Ancak yalnızca ulaşılabilir DFA'ları göz önünde bulundursanız bile, sorun hala zordur (yani özellik 2 -hard) ve Cho & Huynh (1992) ' in Lemma 2.2'sinde nispeten basit bir kanıt bulabilirsiniz .NLstNL

Elbette, determinizm kullanmadım, bu yüzden Hopcroft'un algoritmasından farklı bir şekilde öksürük. Ama biz biliyoruz , böylece kendinize doğası gereği izlemek zorundadır Hopcroft daha fazla yer tasarrufu sağlayan algoritma (almak için bu yapılar kullanabilirsiniz birçok bölümleri ).NLL2n


bu mekanı iyileştiriyor gibi görünüyor ama zaman karmaşıklığı değil mi?
vzn

VZN ile aynı fikirdeyim. Bu yanıtı beğenmeme rağmen, hala asıl soru ile daha yakından ilgili içgörülerle ilgileniyorum.
Cornelius Markası

@ C.Brand Cevabım teğetsel olması (bu nedenle başlangıçtaki feragatname) anlamına geliyordu) Size sorunun tamamlandığını bildiğim en düşük karmaşıklık sınıfını verdim. algoritmalarını olanlarına ( yapılandırma grafiğindeki BFS ) dönüştürmek için standart bir teknik vardır, ancak inşaatın size daha hızlı bir zaman algoritması vereceğini düşünmüyorum. NLP
Artem Kaznatcheev
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.