Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Software >> Utility Software >> Content
Wat is het verschil tussen software die bepalend en onbepaald is?
De termen 'bepaald' en 'onbepaald' zijn geen standaardclassificaties voor software zelf. Ze kunnen echter van toepassing zijn op *aspecten* van softwaregedrag of -ontwerp. Het onderscheid heeft meestal betrekking op voorspelbaarheid en controle:

* Bepaal software (of gedrag): Dit verwijst naar software waarbij deze, gegeven dezelfde input en initiële omstandigheden, *altijd* dezelfde output zal produceren. Er is geen sprake van willekeur of onvoorspelbaar gedrag. Het uitvoeringspad wordt volledig bepaald door de invoer en de logica van het programma. Voorbeelden:

* Een eenvoudige rekenmachine: Gegeven 2 + 2, zal het altijd 4 opleveren.

* Een compiler: Gegeven dezelfde broncode zou deze altijd dezelfde objectcode moeten genereren (behoudens compileroptimalisaties die instructies zouden kunnen herschikken zonder het resultaat te veranderen).

* Een deterministische simulatie: Een natuurkundige simulatie die vaste regels gebruikt en geen willekeur bevat.

* Onbepaalde software (of gedrag): Dit verwijst naar software waarbij, zelfs met dezelfde invoer en beginvoorwaarden, de uitvoer kan variëren. Deze onvoorspelbaarheid is vaak opzettelijk en komt voort uit:

* Genereren van willekeurige getallen: Gebruikt in games, simulaties of cryptografie voor onvoorspelbare elementen.

* Gelijktijdigheid/Parallelisme: In programma's met meerdere threads kan de volgorde van uitvoering van threads niet-deterministisch zijn, wat tot verschillende resultaten leidt, afhankelijk van de planningsbeslissingen van het besturingssysteem.

* Externe factoren: Software die communiceert met externe apparaten (sensoren, netwerken) kan verschillende inputs ontvangen, wat kan leiden tot verschillende outputs, zelfs met dezelfde initiële programmastatus.

* Niet-deterministische algoritmen: Sommige algoritmen onderzoeken van nature verschillende oplossingspaden, en het is niet gegarandeerd dat de uitkomst bij elke run hetzelfde is (bijvoorbeeld sommige optimalisatie-algoritmen of gerandomiseerde zoekalgoritmen).

Samengevat:

Het kernverschil ligt in de voorspelbaarheid. Bepaal dat software voorspelbaar is; zijn output is uitsluitend een functie van zijn input. Onbepaalde software introduceert een element van willekeur of onvoorspelbaarheid, wat resulteert in potentieel verschillende outputs, zelfs voor identieke inputs. De "onbepaaldheid" is niet noodzakelijkerwijs een bug; het is vaak een functie die voor specifieke doeleinden in het systeem is ontworpen.

Previous: Next:
  Utility Software
·Hoe te Killbox verwijderen 
·Hoe te updaten & Delen GroupWi…
·Welke tools heb ik nodig om te…
·Hoe te Runaway Processen Detec…
·Hoe te XPS converteren naar Ti…
·Microsoft Registry Repair Tool…
·Wat is gratis software? 
·Hoe te DPI wijzigen in Acrobat…
·Hoe u Microsoft Virtual PC ins…
  Related Articles
Welke maatregelen kunnen worden genomen …
Wat is de worst-case tijdscomplexiteit v…
Wat is de tijdscomplexiteit van vectorin…
Wat is de tijdscomplexiteit van het back…
Wat is de tijdscomplexiteit van het back…
Wat is de tijdscomplexiteit van quicksor…
Wat is de tijdscomplexiteit van het quic…
Wat is de tijdscomplexiteit van het verw…
Wat is de tijdscomplexiteit van backtrac…
  Software Articles
·Hoe te Default Styles Get Back in Word 2…
·Magic ISO modus 1 Vs . Mode 2 
·FrostWire Vs . LimeWire 
·Hoe u de beschikbaarheid van Instagram-n…
·Hoe je overslaan Music playbacks Fix 
·Hoe te converteren naar MPEG RMVB 
·Hoe schakel je MathType uit in Microsoft…
·Hoe je pop-ups aanpassen in Access 2007 
·Hoe stel je de nieuwe app -afstandsbedie…
Copyright © Computer Kennis https://www.nldit.com