Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Computer Programming Languages >> Content
Wat zijn de sluitingseigenschappen van Turing-herkenbare talen?
Turing-herkenbare talen, ook bekend als recursief opsombare talen, hebben de volgende sluitingseigenschappen:

Positieve sluitingseigenschappen (gesloten onder deze bewerkingen):

* Unie: Als L1 en L2 Turing-herkenbaar zijn, dan is L1 ∪ L2 ook Turing-herkenbaar. U kunt beide Turing-machines voor L1 en L2 parallel simuleren. Als een van beide accepteert, accepteert de gecombineerde machine.

* Aaneenschakeling: Als L1 en L2 Turing-herkenbaar zijn, dan is L1L2 ook Turing-herkenbaar. Dit is een beetje lastiger. U kunt de invoerreeks op niet-deterministische wijze in twee delen splitsen en vervolgens de Turing-machines voor L1 en L2 op die delen laten draaien. Als beide accepteren, accepteert de gecombineerde machine.

* Kleene Star: Als L Turing-herkenbaar is, dan is L* ook Turing-herkenbaar. Net als bij aaneenschakeling kunt u de invoertekenreeks op niet-deterministische wijze in nul of meer delen splitsen en testen of elk deel in L staat.

* Omkering: Als L Turing-herkenbaar is, dan is L R (de omkering van L) is ook Turing-herkenbaar. Een Turingmachine kan de invoerreeks eenvoudig omkeren en vervolgens de Turingmachine voor L op de omgekeerde reeks uitvoeren.

Negatieve sluitingseigenschappen (niet gesloten onder deze bewerkingen):

* Kruispunt: Turing-herkenbare talen zijn *niet* gesloten onder intersectie. Dit betekent dat als L1 en L2 Turing-herkenbaar zijn, L1 ∩ L2 niet *noodzakelijkerwijs* Turing-herkenbaar is. Als echter *zowel* L1 als L2 Turing-*beslisbaar* zijn, dan is L1 ∩ L2 Turing-beslisbaar (en dus ook Turing-herkenbaar).

* Aanvulling: Turing-herkenbare talen zijn *niet* gesloten onder complementatie. Als L Turing-herkenbaar is, is ¬L (het complement van L) *niet noodzakelijk* Turing-herkenbaar.

* Een taal L is Turing-beslisbaar (recursief) dan en slechts dan als zowel L als ¬L Turing-herkenbaar zijn (recursief opsombaar). Dit is een cruciale verbinding tussen herkenbare en beslisbare talen.

Samengevat:

| Operatie | Gesloten? | Uitleg |

|---------------|---------|------------------------------ -------------------------------------------------------|

| Unie | Ja | Simuleer beide machines parallel, accepteer als een van beide accepteert. |

| Aaneenschakeling | Ja | Splits de invoer niet-deterministisch en test elk onderdeel. |

| Kleene Ster | Ja | Splits invoer op niet-deterministische wijze op in meerdere delen en test elk deel. |

| Omkering | Ja | Keer de invoer om en voer het TM uit. |

| Kruispunt | Nee | Kan mislukken. Vereist dat beide talen beslisbaar zijn voor afsluiting. |

| Aanvulling | Nee | Het complement van een Turing-herkenbare taal is niet altijd Turing-herkenbaar. |

Waarom zijn intersecties en complementaties niet gesloten?

Het probleem komt voort uit het feit dat Turing-machines voor Turing-herkenbare talen voor altijd in een lus kunnen blijven staan.

* Kruispunt: Als een van de machines een bepaalde invoer doorloopt, kan de gecombineerde machine ook een lus maken, zelfs als de andere machine uiteindelijk zou afwijzen (wat betekent dat de invoer *niet* op het kruispunt ligt). Je hebt een manier nodig om te weten *wanneer* je moet stoppen met wachten op een machine die mogelijk voor altijd in een lus blijft staan.

* Aanvulling: Een Turing-machine voor L accepteert een invoer, wijst deze af of herhaalt deze. Om het complement ¬L te herkennen, moet je alle strings *verwerpen* die door L zijn geaccepteerd en *accepteren* alle strings die door L zijn afgewezen *of doorgelust*. Je kunt niet op betrouwbare wijze onderscheid maken tussen een machine die *uiteindelijk* zal afwijzen en een machine die voor altijd in een lus blijft. Je zou op de een of andere manier moeten weten *wanneer* een machine een lus gaat maken, wat over het algemeen onmogelijk is.

Voorbeeld van niet-afsluiting onder complementatie:

Denk eens aan het Halting-probleem, dat Turing-herkenbaar is (een Turing-machine kan een andere Turing-machine simuleren en accepteren als deze stopt). Het complement van het Halting-probleem is *niet* Turing-herkenbaar. Als dat zo zou zijn, zou het Halting-probleem Turing-beslisbaar zijn (aangezien zowel het Halting-probleem als het complement ervan Turing-herkenbaar zouden zijn), waarvan we weten dat het onjuist is.

Previous: Next:
  Computer Programming Languages
·Om te lezen hoe een Punch Card…
·Hoe maak je een Terminal Rappo…
·Substring In CSH 
·Hoe te Afbeelding Breedte en H…
·Scrum FAQ 
·. Hoe te gebruiken DataGridVie…
·Hoe maak je een eenvoudige COB…
·Hoe te Decimalen opmaken in C …
·Hoe een muis gebruiken in QBas…
  Related Articles
Waarom zijn strings onveranderlijk in pr…
Welke rol speelt een tolk bij het progra…
Wat is de tijdscomplexiteit van priorite…
Wat is de tijdscomplexiteit van een if-i…
Wat is de syntaxis voor het weergeven va…
Wat is de betekenis van het gebruik van …
Wat is de betekenis van reguliere en nie…
Wat is de betekenis van intersectieconte…
Wat is de betekenis van het hash-symbool…
  Programmering Articles
·Hoe de APK uittreksel uit de Google -SDK…
·Hoe maak je een Windows Forms applicatie…
·Hoe te Xcode lanceren op een Mac OS 
·Fractionele deel van een Float in Java 
·Hoe de voortgangsbalk in VB.net Programm…
·Hoe te linken naar een andere Server 
·Hoe te Sessie variabelen bijwerken 
·Wat zijn de verschillen tussen Visual Ba…
·Hoe te Pythonscript Roep Van Terminal 
Copyright © Computer Kennis https://www.nldit.com