#toRead #AI
📚 Index of Bongard Problems
by Mikhail Bongard, Douglas Hofstadter, Harry Foundalis, ...
http://www.foundalis.com/res/bps/bpidx.htm
📚 Index of Bongard Problems
by Mikhail Bongard, Douglas Hofstadter, Harry Foundalis, ...
http://www.foundalis.com/res/bps/bpidx.htm
Language processing terminology
Source code: a program written in a high-level language.
Preprocessor: does macro-processing, augmentation, file inclusion, language extension, etc.
Compiler: compiles the program and translates it to assembly program i.e. low-level language.
Assembler: translates assembly language programs into an object file, a.k.a. machine code, which contains a combination of instructions and data.
Linker: links and merges various object files together in order to make an executable file. All these files might have been compiled by separate assemblers. The major task of a linker is to search and locate referenced module/routines in a program and to determine the memory location where these codes will be loaded, making the program instruction to have absolute references.
Loader: loads executable files into memory and executes them. It calculates the size of a program and creates memory space for it. It initializes various registers to initiate execution. It is a part of the operating system.
Interpreter versus compiler:
An interpreter reads, converts, and executes one statement at a time. A compiler reads, converts, and executes the whole source code at once. If an error occurs, an interpreter stops execution and reports it. A compiler reads the whole program even if it encounters errors.
Cross-compiler: runs on one platform and is capable of generating executable code for another one is called a cross-compiler.
Source-to-source compiler: takes the source code and translates it into the source code of another programming language.
Source code: a program written in a high-level language.
Preprocessor: does macro-processing, augmentation, file inclusion, language extension, etc.
Compiler: compiles the program and translates it to assembly program i.e. low-level language.
Assembler: translates assembly language programs into an object file, a.k.a. machine code, which contains a combination of instructions and data.
Linker: links and merges various object files together in order to make an executable file. All these files might have been compiled by separate assemblers. The major task of a linker is to search and locate referenced module/routines in a program and to determine the memory location where these codes will be loaded, making the program instruction to have absolute references.
Loader: loads executable files into memory and executes them. It calculates the size of a program and creates memory space for it. It initializes various registers to initiate execution. It is a part of the operating system.
Interpreter versus compiler:
An interpreter reads, converts, and executes one statement at a time. A compiler reads, converts, and executes the whole source code at once. If an error occurs, an interpreter stops execution and reports it. A compiler reads the whole program even if it encounters errors.
Cross-compiler: runs on one platform and is capable of generating executable code for another one is called a cross-compiler.
Source-to-source compiler: takes the source code and translates it into the source code of another programming language.
Ambiguity := one source code having more than one acceptable target codes.
The machine cannot understand Chaos; neither can man! Both employ Order construction methods, stemming from self, which results in constructing arbitrary Order entities perceived from Chaos.
“We now understand how very complex and even apparently intelligent phenomena, such as genetic coding, the immune system, and low-level visual processing, can be accomplished without a trace of consciousness. But this seems to uncover an enormous puzzle of just what, if anything, consciousness is for. Can a conscious entity do anything for itself that an unconscious (but cleverly wired up) simulation of that entity couldn't do for itself?”
— Daniel Dennett
— Daniel Dennett
“There’s nothing inherently wrong with seeing a face in a taco shell; it’s just a by-product of our evolved perceptual systems, like many of the other illusions to which humans fall prey. Our skills in this regard are so nuanced and powerful that even multimillion-dollar petaflop supercomputers still struggle to match us.”
— Steven Novella, The Skeptics' Guide to the Universe
— Steven Novella, The Skeptics' Guide to the Universe
“The real question is not whether machines think but whether men do. The mystery which surrounds a thinking machine already surrounds a thinking man.”
— B. F. Skinner
— B. F. Skinner
Robustness versus brittleness
If a software system:
• can cope with errors
• can handle erroneous input
• allows modifications to its source code without losing reliability
it is said to be robust and not brittle.
Follow these principles to ensure robustness:
• Users may intentionally try to break your code
⇒ Disallow all such possibilities
• Users may try incorrect inputs
⇒ Display appropriate messages to inform the user
• When providing a higher level means to a lower level access, the interface may allow loopholes
⇒ Reenforce interfaces
• Nothing is impossible: the code may be modified later and this may turn an impossible case to a possibility
⇒ Treat impossibility as unlikely
If a software system:
• can cope with errors
• can handle erroneous input
• allows modifications to its source code without losing reliability
it is said to be robust and not brittle.
Follow these principles to ensure robustness:
• Users may intentionally try to break your code
⇒ Disallow all such possibilities
• Users may try incorrect inputs
⇒ Display appropriate messages to inform the user
• When providing a higher level means to a lower level access, the interface may allow loopholes
⇒ Reenforce interfaces
• Nothing is impossible: the code may be modified later and this may turn an impossible case to a possibility
⇒ Treat impossibility as unlikely
Obeying artificial laws before personally concluding them is irrational.
A fair judge is an unbiased judge.
A self-aware subject is biased.
A subject cannot be a fair judge.
A self-aware subject is biased.
A subject cannot be a fair judge.
#Nile
Recur
- is a syntactic construct used in recursive functions, especially helpful in anonymous recursive functions and scripts:
Recur
- is a syntactic construct used in recursive functions, especially helpful in anonymous recursive functions and scripts:
{if x==0 return 0 else if x fits even return recur(x/2)/2 else return recur((x-1)/2)/2-0.5}
ComputerScientist
#Python The Zen of Python Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't…
#Nile
Guidelines
when faced with an ambiguity, choose the obvious option based on the mixed contexts, if none or more than one exist, report back and do nothing.
Guidelines
when faced with an ambiguity, choose the obvious option based on the mixed contexts, if none or more than one exist, report back and do nothing.