ComputerScientist
174 subscribers
14 photos
3 files
206 links
▜ The Inventor

Stuff that inspire you to create.

See also: ▙ @LitMind
Download Telegram
Nile, the language of formalization of ideas
steepness of TreeView
Operator precedence leads to quasi-balanced parse tree.
#AI
AI-completeness
The most difficult problems are informally known as AI-complete or AI-hard, by analogy with NP-complete and NP-hard in complexity theory, implying that the difficulty of these computational problems is equivalent to that of solving the central artificial intelligence problem—making computers as intelligent as people, or strong AI. Since many AI problems have no formalisation yet, conventional complexity theory does not allow the definition of AI-completeness. To call a problem AI-complete reflects an attitude that it would not be solved by a simple specific algorithm. They include:
• Computer vision (and subproblems such as object recognition)
• Natural language understanding (and subproblems such as text mining, machine translation, and word sense disambiguation)
• Dealing with unexpected circumstances while solving any real world problem, whether it's navigation or planning or even the kind of reasoning done by expert systems.
• Peer Review
Bongard problems
• Automatic speech recognition
#HCI
Baby duck syndrome
- denotes the tendency for computer users to "imprint" on the first system they learn, then judge other systems by their similarity to that first system. The result is that "users generally prefer systems similar to those they learned on and dislike unfamiliar systems". The issue may present itself relatively early in a computer user's experience, and it has been observed to impede education of students in new software systems or user interfaces.
#Design
Software archaeology
- is the study of poorly documented or undocumented legacy software implementations, as part of software maintenance. It includes the reverse engineering of modules, and the application of a variety of tools and processes for extracting and understanding program structure and recovering design information.
#toRead #AI

📚 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.
Ambiguity := one source code having more than one acceptable target codes.
Psyche is the operating system of the mind.
Formalization and de-generalization leads to inventions.
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.
“There is nothing general except names.”
— John Stuart Mill
“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
Machine is fast but stupid;
Man is intelligent but slow.
“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
“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
Define define.
If I don't realize my vision, no one will.
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