Costumo interagir com pessoas que desejam solicitar um algoritmo para um problema computacional (ou sua complexidade), mas não o expressam de maneira rigorosa para que nós (cientistas da computação) entendamos.
Referenciá-los a livros como o CLRS não é útil porque os exemplos geralmente têm uma maneira bastante direta de declarar rigorosamente, por exemplo, dada a lista de adjacências de um gráfico e dois vértices nele, o caminho mais curto entre esses vértices.
Existe algum livro bom (ou algum outro recurso) em que uma pessoa com conhecimento mínimo em CS possa aprender como alguém deve formular e declarar problemas computacionais de maneira rigorosa e compreensível para os cientistas da computação?
De preferência, o livro deve ter muitos exemplos de como formular problemas computacionais rigorosamente a partir de vários exemplos do domínio e do mundo real.
Esclarecimento
Para tornar a questão mais específica, vamos supor que eles conheçam a terminologia básica de matemática / CS, como conjuntos, funções, gráficos, listas, etc. no nível do 1º / 2º ano do estudante de graduação em CS (que é o caso das pessoas que eu tenho em mente). Por exemplo, eles leram alguns livros introdutórios como Aho e Ullman (embora possam não ter entendido completamente).
- Al Aho e Jeff Ullman, Fundamentos de Ciência da Computação , 1992.
Respostas:
um bom recurso a esse respeito, bastante conhecido pelos acadêmicos, mas não tão amplamente conhecido fora dos especialistas, é o Mathematics Writing de Donald E. Knuth, Tracy L. Larrabee e Paul M. Roberts. há um livro publicado, vídeos de palestras e um conjunto de notas. é mais escrito da perspectiva de pessoas que tentam dominar a escrita matemática, por exemplo, para criar trabalhos, mas todos os conselhos são altamente aplicáveis ao caso de leigos que tentam formular problemas com precisão. a escrita matemática, embora formidável para aprender, é a abordagem científica para definir / formular rigorosamente - e como o livro detalha, resolve , por exemplo, através de algoritmos ou provas - problemas computacionais / algorítmicos.
Informações do livro Mathematics Writing
Índice de vídeos de aulas de redação matemática
Notas matemáticas da classe CS1193
Além disso, o texto clássico da Garey & Johnson, Computers & Intratability , não descreve exatamente como formular problemas com precisão, mas fornece muitos exemplos e diversos "padrões" teóricos / conceituais / técnicos, organizados em seções de problemas semelhantes, que podem ser usado como "blocos de construção" para descrever problemas computacionais / algorítmicos.
fonte
apenas deparei com este bom / limpo, incomum, relativamente novo / desconhecido árbitro em sua home page de Emmanuele Viola , professor (T) CS da Northeastern University) aparentemente não publicado em outro lugar. 41pp. começa com conceitos matemáticos muito básicos, por exemplo, implicação e, em seguida, abrange tópicos avançados, como o teorema de Erdős-Szekeres e a teoria de Ramsey .
fonte
Compre o livro Algoritmos e estruturas de dados de Robert Lafore.
Neste livro, todo algoritmo é explicado como uma história, muito parecido com uma poesia. Em seguida, forneça à pessoa a versão Lafore de um algoritmo e, posteriormente, a versão CLRS.
Talvez assim, a pessoa tenha uma ideia de como traduzir da descrição intuitiva para a rigorosa.
fonte