Algorithm = Logic + Control. Kowalski, R. 22(7):424–436.
Algorithm = Logic + Control [link]Paper  doi  abstract   bibtex   
An algorithm can be regarded as consisting of a logic component, which specifies the knowledge to be used in solving problems, and a control component, which determines the problem-solving strategies by means of which that knowledge is used. The logic component determines the meaning of the algorithm whereas the control component only affects its efficiency. The efficiency of an algorithm can often be improved by improving the control component without changing the logic of the algorithm. We argue that computer programs would be more often correct and more easily improved and modified if their logic and control aspects were identified and separated in the program text.
@article{kowalskiAlgorithmLogicControl1979,
  title = {Algorithm = {{Logic}} + {{Control}}},
  author = {Kowalski, Robert},
  date = {1979-07},
  journaltitle = {Commun. ACM},
  volume = {22},
  pages = {424--436},
  issn = {0001-0782},
  doi = {10.1145/359131.359136},
  url = {https://doi.org/10.1145/359131.359136},
  abstract = {An algorithm can be regarded as consisting of a logic component, which specifies the knowledge to be used in solving problems, and a control component, which determines the problem-solving strategies by means of which that knowledge is used. The logic component determines the meaning of the algorithm whereas the control component only affects its efficiency. The efficiency of an algorithm can often be improved by improving the control component without changing the logic of the algorithm. We argue that computer programs would be more often correct and more easily improved and modified if their logic and control aspects were identified and separated in the program text.},
  keywords = {*imported-from-citeulike-INRMM,~INRMM-MiD:c-1812950,epistemology,local-over-complication,logic-programming,logics,precursor-research,semantic-array-programming,semantics},
  number = {7}
}
Downloads: 0