DRAKON.SU

Текущее время: Пятница, 18 Июль, 2025 00:32

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 225 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 12  След.
Автор Сообщение
СообщениеДобавлено: Воскресенье, 17 Март, 2013 13:16 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Рэйлвэй Каген писал(а):
В связи с этим, вера в фудаментальность алгоритма тает на глазах. Остаётся просто слово "алгоритм" — и это слово-паразит, с помощью которого легко манипулировать, в том числе и "тупым наблюдателем".


Я скажу с позиций "прикладного фундаментализма" (т.е. с позиций конкретной практической потребности в теоретических абстракциях).

Есть очень важная сфера разработки управляющего ПО. Она традиционно выпадает за рамки внимания как в проф. образовании, так и в различных теоретизированиях. Особенности анализа и описания поведения систем отличаются от методов, применяемых в информационных системах. Не говоря про функциональные максимализмы, когда вообще понятие состояния объявляется вредным, а явное задание поведения - "прошлым днём".
Более того, информационная система - частный узкий случай: управление устройством "память", когда нас интересует только начальное и конечное состояние этого устройства.
Короче, очень нужна такая формулировка понятия алгоритма, которая сконцентрирует этот угол зрения и может удобно раскрываться во всякие конкретные формализмы, типа тех же конечных автоматов и проч. (и в обычные информационные алгоритмы тоже).
А то сейчас, если следовать любому из определений алгоритма, описанному в любом учебнике информатики для ВУЗов, то тот же конечный автомат вообще туда никаким боком... Хотя, как выше я говорил в примере про окно, достаточно нескольких доп. телодвижений, чтобы КА стал описанием алгоритма.
И даже самый обычный управляющий алгоритм оказывается не попадающим под эти вузовские определения, ибо там фундаментальное и безусловное свойство - конечность... А бесконечный рабочий цикл управляющей системы вне кругозора тех, кто эти определения придумывает.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 22 Март, 2013 12:08 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Те, у кого "бесконечный рабочий цикл управляющей системы вне кругозора..", пусть сдают лабу на масме ;)

По поводу формулировки, "которая сконцентрирует этот угол зрения и может удобно раскрываться во всякие конкретные формализмы" - всё далеко не так однозначно(имхо).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 26 Март, 2013 14:15 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1442
Да, а траектории, описываемые дифурами (непрерывно вообще) разве на том же уровне формализации, что и алгоритмическая модель как дискретный процесс?.. тут не зря же про конечные разности вспомнили?..


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 28 Март, 2013 19:24 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5999
Откуда: Москва
Насколько мне известно, все известные учебники алгоритмизации рассчитаны на подготовку программистов. За рамками такой подготовки традиционные учебники алгоритмизации не имеют социальной ценности.

Мой учебник "Основы алгоритмизации" (на основе языка ДРАКОН) существенно отличается от классических учебников алгоритмики.

===========================================

Чтобы пояснить это утверждение, я посмотрел некоторые современные зарубежные учебники алгоритмики.

Продолжение в следующем посте


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 28 Март, 2013 19:27 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5999
Откуда: Москва
Вот пример.

Цитата:
Algorithms (4th Edition)
by Robert Sedgewick and Kevin Wayne
Princeton University
Addison-Wesley, 2011
http://www.amazon.com/Algorithms-4th-Ed ... 032157351X

Текст учебника можно посмотреть здесь (прокручиваем по вертикали)
http://www.amazon.com/Algorithms-4th-Ed ... 032157351X

Цитата:
При́нстонский университет (англ. Princeton University) — частный университет, один из старейших и известнейших университетов в США. Является одним из самых престижных вузов страны[2]. Находится в городе Принстон, штат Нью-Джерси.

(Из Википедии)


Пояснение
Цитата:
Book Description
Publication Date: March 19, 2011 | ISBN-10: 032157351X | ISBN-13: 978-0321573513 | Edition: 4
Essential Information about Algorithms and Data Structures

The latest version of Sedgewick’s best-selling series, reflecting an indispensable body of knowledge developed over the past several decades.

Full treatment of data structures and algorithms for sorting, searching, graph processing, and string processing, including fifty algorithms every programmer should know. See algs4.cs.princeton.edu/code.

New Java implementations written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use.

Algorithms are studied in the context of important scientific, engineering, and commercial applications. Clients and algorithms are expressed in real code, not the pseudo-code found in many other books.

Engages reader interest with clear, concise text, detailed examples with visuals, carefully crafted code, historical and scientific context, and exercises at all levels.

A Scientific Approach

Develops precise statements about performance, supported by appropriate mathematical models and empirical studies validating those models.

Integrated with the Web

Visit algs4.cs.princeton.edu for a freely accessible, comprehensive Web site, including text digests, program code, test data, programming projects, exercises, lecture slides, and other resources.

=============================================

Contents

Chapter 1: Fundamentals


Programming Model

Data Abstraction

Bags, Stacks, and Queues

Analysis of Algorithms

Case Study: Union-Find

Chapter 2: Sorting

Elementary Sorts

Mergesort

Quicksort

Priority Queues

Applications

Chapter 3: Searching

Symbol Tables

Binary Search Trees

Balanced Search Trees

Hash Tables

Applications

Chapter 4: Graphs

Undirected Graphs

Directed Graphs

Minimum Spanning Trees

Shortest Paths

Chapter 5: Strings

String Sorts

Tries

Substring Search

Regular Expressions

Data Compression

Chapter 6: Context


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 28 Март, 2013 19:54 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5999
Откуда: Москва
КТО ТАКИЕ АВТОРЫ АМЕРИКАНСКОГО УЧЕБНИКА?
http://www.amazon.com/dp/032157351X/ref=rdr_ext_tmb

Цитата:
Editorial Reviews

About the Author

Robert Sedgewick has been a Professor of Computer Science at Princeton University since 1985, where he was the founding Chairman of the Department of Computer Science.

He has held visiting research positions at Xerox PARC, Institute for Defense Analyses, and INRIA, and is member of the board of directors of Adobe Systems.

Professor Sedgewick’s research interests include analytic combinatorics, design and analysis of data structures and algorithms, and program visualization.

His landmark book, Algorithms, now in its fourth edition, has appeared in numerous versions and languages over the past thirty years.

In addition, with Kevin Wayne, he is the coauthor of the highly acclaimed textbook, Introduction to Programming in Java: An Interdisciplinary Approach (Addison-Wesley, 2008).

Kevin Wayne is the Phillip Y. Goldman Senior Lecturer in Computer Science at Princeton University, where he has been teaching since 1998.

He received a Ph.D. in operations research and industrial engineering from Cornell University.

His research interests include the design, analysis, and implementation of algorithms, especially for graphs and discrete optimization.

With Robert Sedgewick, he is the coauthor of the highly acclaimed textbook, Introduction to Programming in Java: An Interdisciplinary Approach (Addison-Wesley, 2008).


Последний раз редактировалось Владимир Паронджанов Четверг, 28 Март, 2013 20:34, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 28 Март, 2013 20:11 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5999
Откуда: Москва
Приглашаю всех желающих сравнить учебник уважаемых американских авторов (Robert Sedgewick и Kevin Wayneс из Принстонского университета) с моим учебником "Основы алгоритмизации".

По моему мнению, два подхода к изложению "Основ алгоритмики" имеют принципиальные отличия.

В чем заключаются отличия?

1. Американский учебник предназначен для подготовки программистов. Изложение алгоритмики ведется на основе языка Java. Американский учебник не рассчитан на НЕпрограммистов.

2. Американский учебник полностью игнорирует алгоритмические проблемы, которые встречаются в жизни и работе обычных людей (то есть специалистов-непрограммистов).

3. Американский учебник не учитывает, что число обычных специалистов (непрограммистов) во много раз больше, чем число программистов.

4. Американский учебник не ставит перед собой задачу ЛИКВИДИРОВАТЬ (или существенно ослабить) АЛГОРИТМИЧЕСКУЮ НЕГРАМОТНОСТЬ В ОБЩЕСТВЕ.

===========================================

Мой учебник, напротив, предназначен для того, чтобы:

1. ЛИКВИДИРОВАТЬ (или существенно ослабить) АЛГОРИТМИЧЕСКУЮ НЕГРАМОТНОСТЬ В ОБЩЕСТВЕ.

2. научить программистов и непрограммистов разговаривать на одном языке, то есть устранить проблему взаимного непонимания и добиться взаимного понимания.

3. решить гуманитарную проблему, то есть улучшить работу человеческого ума. Улучшение работы ума и улучшение взаимопонимания между людьми — это не технические, а именно гуманитарные проблемы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 28 Март, 2013 20:59 

Зарегистрирован: Понедельник, 09 Август, 2010 22:28
Сообщения: 128
В предисловии к книге "Algorithms" FOURTH EDITION Robert Sedgewick and Kevin Wayne сказано:

"This book is intended to survey the most important computer algorithms in use today" - изначально авторы говорят о том, что книга посвящена компьютерным алгоритмам.

"It is intended for use as a textbook for a second course in computer science, after students have acquired basic programming skills and familiarity with computer systems. The book also may be useful for self-study or as a reference for people engaged in the development of computer systems or applications programs"

Она предназначается для студентов, обучающихся computer science. Или для программистов.
------------------------------------------------------------------------------------------------------------
Вашу критику книги считаю некорректной, потому что непрограммистов они и не собирались обучать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 29 Март, 2013 09:51 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1442
Да, тогда надо сравнивать с пособиями по массовой алгоритмике (как "программированию, очищенному от всего случайного" ((С) Ткачёв)). Тогда получается, что в основу удобнее всего по-любому класть идеи, высказанные Страуструпом и реализуемые группой Лаптева...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 30 Март, 2013 18:33 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5999
Откуда: Москва
В сообщении viewtopic.php?p=78921#p78921 Дмитрий Владимирович usr345 писал(а):
В предисловии к книге "Algorithms" FOURTH EDITION Robert Sedgewick and Kevin Wayne сказано:
Книга предназначается для студентов, обучающихся computer science. Или для программистов.
------------------------------------------------------------------------------------------------------------
Вашу критику книги считаю некорректной, потому что непрограммистов они и не собирались обучать.


Я вовсе не критикую эту книгу. Авторы (Robert Sedgewick и Kevin Wayne из Принстонского университета (США)) создали, судя по всему, один из лучших учебников по алгоритмике.

Я указал на эту книгу, как на пример современного учебника по теме "Алгоритмы". Он издан (я имею в виду Fourth edition) два года назад — в 2011 году.

Вместе с тем, мое сообщение действительно содержит критику. Но моя критика направлена не на этих уважаемых ученых. Точнее говоря, не только и не столько на них.

А на кого?

Моя критика направлена не на конкретных лиц, а на систему.
На всю (мировую) систему образования.


Точнее, на ведущих мировых специалистов по информатике. На тех, кто определяют стратегию развития информатики, как образовательной дисциплины.
На ведущих мировых ученых, которые определяют облик и содержание алгоритмики как учебной дисциплины. На тех, кто утверждают программу обучения по алгоритмике.

Я утверждаю: преподавание алгоритмов и алгоритмика отстали от жизни. В существующем виде мировая система образования не способна устранить — или значительно ослабить — алгоритмическую неграмотность населения.

Я рассматривая данную проблему (проблему преодоления алгоритмической неграмотности населения) как чрезвычайно важную и актуальную. Эта проблема похожа на заброшенную нищенку, сидящую у входа в сверкающий дворец информатики.

Моя цель — устранить эту несообразность. Мой учебник (и язык ДРАКОН) нацелены на решение этой проблемы.

Дмитрий Владимирович справедливо отмечает, что
Цитата:
Robert Sedgewick и Kevin Wayne из Принстонского университета не собирались обучать непрограммистов.


Возникает вопрос: КТО собирается обучать непрограммистов? Подчеркиваю: обучать алгоритмике, а не программированию.
Ответ простой — НИКТО.
Данная проблема почти полностью выпала из поля зрения общества.

Я исхожу из того, что эту ситуацию можно и нужно исправить.
Как? С помощью языка ДРАКОН. Для этого он и создан прежде всего.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 31 Март, 2013 11:29 

Зарегистрирован: Понедельник, 09 Август, 2010 22:28
Сообщения: 128
Владимир Данилович, я согласен со всем, что вы говорите. Но хочу дополнить это высказывание парой своих идей:

Владимир Паронджанов писал(а):
Точнее, на ведущих мировых специалистов по информатике. На тех, кто определяют стратегию развития информатики, как образовательной дисциплины.
На ведущих мировых ученых, которые определяют облик и содержание алгоритмики как учебной дисциплины. На тех, кто утверждают программу обучения по алгоритмике.

В России облик и содержание учебных дисциплин определяют вовсе не ведущие мировые ученые, а несколько старперов из минобразования. Программа обучения не меняется десятилетиями. Я лично категорически против монополии минобразования на образовательные программы, потому что это ведет к застою в развитии учебных дисциплин. Я за частное образование и конкуренцию в этой сфере.

Если бы была конкуренция программ, и люди имели возможность платить за то, что они считают более качественным, то Дракон вытеснил бы старые старые блок-схемы из курсов. Возможно, потом что-то более совершенное вытеснило бы Дракон. Недавно посмотрел видеозапись урока В.Ф. Шаталова по тригонометрии:

http://www.youtube.com/watch?v=fThRkNA90es

Блестящая методика, высокая производительность труда учащихся. Больше 30 лет испытаний. Не внедрена до сих пор. И не будет внедрена, пока есть существующая система образования.

Сейчас продвижение новых идей возможно только через частную систему образования, минуя государственные учреждения, пораженные плесенью. Этим каждый из продвинутых участников форума занимается по мере сил.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 19 Июнь, 2013 09:47 

Зарегистрирован: Четверг, 23 Май, 2013 05:13
Сообщения: 401
Добавлю своих пару слов.

Объясняя применения языка алгоритмов Дракон, все как-то изящно обходят тему создания алгоритма как такового.
У всех есть алгоритм, и есть теперь проблема записать его на языке Дракон.
У меня сейчас проблема чуть иная: есть массив данных о происшедших событиях (судебная практика), но нет алгоритмов. Как записать эти события, чтобы потом на их основе выстраивать алгоритмы?
И поэтому есть трудность - как описать уже совершившиеся события так, чтобы в них можно было засечь какой-то алгоритм и потом записать этот алгоритм на основе записи уже происшедших событий.
То есть:
1. Нужна наглядность для описания происшедшего. Но не просто наглядность, а наглядность, которая давала бы возможность выявлять какие-то закономерности в этом происшедшем. На самом деле, вроде бы ничего, сложного: нужно только как-то одинаково показывать взаимодействия и состояния в описанных ситуациях. После этого можно уже нарабатывать "статистику". Делать выводы. И пытаться выстраивать "поверх" имеющихся событий алгоритмы, которые можно использовать в работе. И тут упираемся в описание состояний, которых вроде бы в языке Дракон нет, а есть только действия. А состояния как бы и так всем понятны. Но в судебной практике состояние много чего определяет, в том числе и действия субъектов. Поэтому приходится думать о данных.
2. Нужны способы выявления алгоритмов по описаниям происшедшего. и способы "лепки" этих алгоритмов из происшедших событий.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 19 Июнь, 2013 10:14 
Аватара пользователя

Зарегистрирован: Суббота, 12 Июль, 2008 22:49
Сообщения: 73
Откуда: Россия, Санкт-Петербург
Шилин Александр писал(а):
Добавлю своих пару слов.

Объясняя применения языка алгоритмов Дракон, все как-то изящно обходят тему создания алгоритма как такового.
У всех есть алгоритм, и есть теперь проблема записать его на языке Дракон.
У меня сейчас проблема чуть иная: есть массив данных о происшедших событиях (судебная практика), но нет алгоритмов. Как записать эти события, чтобы потом на их основе выстраивать алгоритмы?
И поэтому есть трудность - как описать уже совершившиеся события так, чтобы в них можно было засечь какой-то алгоритм и потом записать этот алгоритм на основе записи уже происшедших событий.
То есть:
1. Нужна наглядность для описания происшедшего. Но не просто наглядность, а наглядность, которая давала бы возможность выявлять какие-то закономерности в этом происшедшем. На самом деле, вроде бы ничего, сложного: нужно только как-то одинаково показывать взаимодействия и состояния в описанных ситуациях. После этого можно уже нарабатывать "статистику". Делать выводы. И пытаться выстраивать "поверх" имеющихся событий алгоритмы, которые можно использовать в работе. И тут упираемся в описание состояний, которых вроде бы в языке Дракон нет, а есть только действия. А состояния как бы и так всем понятны. Но в судебной практике состояние много чего определяет, в том числе и действия субъектов. Поэтому приходится думать о данных.
2. Нужны способы выявления алгоритмов по описаниям происшедшего. и способы "лепки" этих алгоритмов из происшедших событий.


Мне кажется, вы неправильно подходите к своей проблеме.
Вы пытаетесь использовать Дракон там, где необходимо использовать временные диаграммы.
Насколько я знаком с юриспруденцией временная последовательность событий имеет значение, причём даже если некоторое событие не наступило за определённое время - это тоже "событие".

Попробуйте использовать временные диаграммы. Посмотрите в сторону описания протоколов (потому что описания взаимодействия сторон - это и есть описание протоколов). В вашем случае нужно верифицировать правильность протокола (все ли действия участники выполнили или они нарушили где-то протокол).

Уверен, что когда вы опишете свои задачи правильными инструментами, то выделить общность и протокол (а потом уже и алгоритм) у вас не составит труда.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 19 Июнь, 2013 11:39 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Шилин Александр писал(а):
Объясняя применения языка алгоритмов Дракон, все как-то изящно обходят тему создания алгоритма как такового.

Ответил здесь.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 19 Июнь, 2013 11:51 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Шилин Александр писал(а):
.. упираемся в описание состояний, которых вроде бы в языке Дракон нет, а есть только действия. А состояния как бы и так всем понятны. Но в судебной практике состояние много чего определяет, в том числе и действия субъектов.
Ну, раз состояния уже есть, надо записать их в "Имя ветки" на силуэте, а действия, приводящие к изменению состояния располагать внутри ветки. "Адрес"-ами будут новые состояия. Т.е. воспользоваться способом представления конечного автомата от Ильи Ермакова.

И верификацию протокола останется свести к проверке разрешёных переходов между состояниями.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 19 Июнь, 2013 12:21 

Зарегистрирован: Четверг, 23 Май, 2013 05:13
Сообщения: 401
Madzi писал(а):
Попробуйте использовать временные диаграммы. Посмотрите в сторону описания протоколов (потому что описания взаимодействия сторон - это и есть описание протоколов). В вашем случае нужно верифицировать правильность протокола (все ли действия участники выполнили или они нарушили где-то протокол).
Уверен, что когда вы опишете свои задачи правильными инструментами, то выделить общность и протокол (а потом уже и алгоритм) у вас не составит труда.


Готов попробовать использовать временные диаграммы.
Не подскажете: в какой книге лучше всего посмотреть про это?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 19 Июнь, 2013 12:23 

Зарегистрирован: Четверг, 23 Май, 2013 05:13
Сообщения: 401
Рэйлвэй Каген писал(а):
Т.е. воспользоваться способом представления конечного автомата от Ильи Ермакова.
И верификацию протокола останется свести к проверке разрешёных переходов между состояниями.

А где найти: "представления конечного автомата от Ильи Ермакова".
Что-то поиск выдаёт только это сообщение.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 19 Июнь, 2013 12:29 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Если не ошибаюсь, то эта тема обобщает всё ранее сказанное про конечные автоматы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 19 Июнь, 2013 16:29 

Зарегистрирован: Четверг, 23 Май, 2013 05:13
Сообщения: 401
Рэйлвэй Каген писал(а):
Если не ошибаюсь, то эта тема обобщает всё ранее сказанное про конечные автоматы.

Как интересно-то!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 19 Июнь, 2013 22:06 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1097
Откуда: Россия, Чебоксары
Шилин Александр писал(а):
Как интересно-то!
Для кучи уж и классические диаграммы состояний посмотрите. Всяко полезнее, чем временные диаграммы в Вашем случае :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 225 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 12  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2025, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB