*ORA-LITE:

Арыгінал артыкула: casos.cs.cmu.edu

*ORA-LITE – гэта дынамічны інструмент ацэнкі і аналізу метасетак, распрацаваны CASOS у Карнегі-Мелёне. Ён утрымлівае сотні сацыяльных сетак, дынамічныя метрыкі сеткі, метрыкі маршрутаў, працэдуры групоўкі вузлоў, ідэнтыфікацыі лакальных шаблонаў, параўнання і супастаўлення сетак, груп і асоб з пункту гледжання дынамічнай метасеткі. *ORA-LITE быў выкарыстаны для вывучэння таго, як сеткі змяняюцца ў прасторы і ў часе, утрымлівае працэдуры перамяшчэння наперад і назад паміж дадзенымі маршруту (напрыклад, хто быў дзе і калі) і сеткавымі дадзенымі (хто да каго падключаны, хто дзе падключаны … ), і мае мноства геапрасторавых паказчыкаў сеткі і метады выяўлення змен. *ORA-LITE можа працаваць з шматслаёвымі сеткамі. Ён можа вызначыць ключавых гульцоў, групы і ўразлівасці, мадэляваць змены сеткі з цягам часу і праводзіць аналіз COA. Хоць усе паказчыкі, даступныя ў *ORA-LITE, былі пратэставаны ў вялікіх сетках (10 ^ 6 вузлоў на 5 класаў сутнасці); *ORA-LITE мае максімум 2000 вузлоў на клас аб’екта. Такім чынам, вы можаце мець 2000 агентаў, 2000 арганізацый і гэтак далей. Прафесійная версія ORA, якую можна атрымаць у Netanomics (www.netanomics.com), не мае абмежаванняў на колькасць вузлоў. Дыстанцыйныя, алгарытмічныя і статыстычныя працэдуры для параўнання і супрацьпастаўлення сетак з’яўляюцца часткай гэтага набору інструментаў.

На аснове тэорыі сеткі, сацыяльнай псіхалогіі, даследаванняў аперацый і тэорыі кіравання ў CMU быў распрацаваны шэраг “крытычных” мер. Падобна як алгарытмы крытычнага шляху могуць быць выкарыстаны для пошуку тых задач, якія з’яўляюцца крытычна важнымі з пункту гледжання кіравання праектамі, алгарытмы *ORA-LITE могуць знайсці тых людзей, тыпы навыкаў альбо ведаў і задач, якія з’яўляюцца крытычна важнымі ў плане прадукцыйнасці і інфармацыйнай бяспекі. Кожны з распрацаваных намі вылічэнняў разлічваецца *ORA-LITE на аснове сеткавых дадзеных, такіх як у наступнай табліцы.

CASOS Галерэя

network science social network analysis dynamic network analysis ORA network visualizations geo-spatial network analysis GIS networks high dimensional networks


ЛюдзіВедыЗаданні
ЛюдзіСацыяльная сеткаХто каго ведае
Сетка ведаўХто каго ведае
Сетка прызначэнняХто што робіць
Веды
Інфармацыйная сеткаШто пра што паведамляеСетка патрабаванняЯкія веды неабходны для выканання задання
Заданні

Сетка перавагіЯкую задачу перад якой неабходна выканаць

* ORA-LITE можа прымяняцца як у традыцыйнай арганізацыі, так і ў схаваных сетках.

Для атрымання інфармацыі пра ORA-PRO

ORA-PRO прапануе Netanomics, наведайце іх вэб-сайт для атрымання дадатковай інфармацыі аб праграмным забеспячэнні. ORA-PRO падтрымлівае неабмежаваную колькасць вузлоў, геапрасторавую і часовую аналітыку і візуалізацыю. Акрамя таго, у ORA-PRO спецыялізаваныя падінструменты для імпарту твітэраў і блогаў, метрычныя геапрасторавыя сеткі. Таксама даступныя метады абразання дадзеных для вялікіх дадзеных. ORA-PRO даступны як для Mac, так і для ПК.

ORA Google Group

ORA Google Group забяспечвае форум для пытанняў, супрацоўніцтва і інфармацыі, звязанай з інструментамі CASOS. Калі ласка, наведайце гэтую спасылку, каб даведацца, як стаць членам ORA Google Group: Як далучыцца да ORA Google Group.

Перадапошняе модульнае арыгамі

Арыгінал артыкула: web.eecs.utk.edu

Джэймс Планк
[email protected]
Кафедра камп’ютэрных навук
універсітэт Тэнэсі
сакавік 1996

ПостСкрыпт гэтых інструкцый
PDF гэтых інструкцый

Увядзенне
Стварэнне модуляў
Стварэнне мнагаграннікаў
Часта задаваемыя пытанні: Больш падрабязна пра аб’яднанні модуляў

Увядзенне

Гэта апісанне таго, як зрабіць паліэдры з “папярэдняга” модуля. Гэты модуль першапачаткова апісаны ў кнізе Джэі Ансілы Арыгамі як Стыль Жыцця, дзе ён прыпісвае модуль Роберту Нілу. Я апусціў, як скласці модулі – купіце кнігу альбо разбярыцеся самі. Гэта даволі відавочна. Пяціугольны модуль паднімаецца прама з кніг (хаця мне падалося, што з паперай 3х4 лягчэй працаваць, чым з паперай 4х4), але астатнія – гэта мае ўласныя хітрасці.

Заметка пра выразанне і склейванне. Модулі трохвугольніка і квадрата, як паказана на малюнку, маюць выразы. Яны не патрэбныя – вы можаце выкарыстоўваць унутраныя сгібы для дасягнення той жа цэласці (г.зн. ўстаўкі, якія вы ўстаўляеце, будуць занадта доўгімі альбо шырокімі ў супрацьлеглым выпадку). Калі вы ўсё ж выкарыстоўваеце ўнутраныя зморшчыны, выступы становяцца тоўстымі, і патрабуецца больш цярплівасці, каб сабраць модулі. Акрамя таго, атрыманы мнагаграннік часта менш устойлівы. Аднак выбар за вамі. Калі вам больш важная чысціня мастацкай формы, чым стабільнасць мнагагранніка, гэта дасягальна. Я б рэкамендаваў дадэкаэдр і ўсечаны ікасаэдр як выдатныя мадэлі, якія вельмі стабільныя без парэзаў і клею.

Гэты спосаб вырабу модуляў мае мноства варыяцый, акрамя паказаных тут. Усё, што вам трэба, – гэта калькулятар з трыганаметрычнымі функцыямі, і вы можаце разабрацца ў гэтым самі. Акрамя платанаўскіх і архімедыйскіх цвёрдых целаў, я рабіў і іншыя: ромбічны дадэкаэдр, ромбічны трыакантаэдр, шматлікія прызмы і антыпрызмы, зорка-васьмікутнік, вялікая і меншая зорчатыя дадэкахра, злучэнне 5 тэтраэдраў, злучэнне 5 актаэдраў і г. д. Калі вы зацікаўлены, я магу даць апісанне модуляў, хоць, магчыма, не хутка. Фатаграфіі большасці з іх даступныя на сайце http://web.eecs.utk.edu/~jplank/plank/origami/origami.html.

Нумары мнагаграннікаў, на якія спасылаюцца ніжэй, прыведзены на малюнках Архімедавага цвёрдага цела ў кнізе Фьюза Адзінка Арыгамі. У арыгамі для знатака Касахары / Такахамы таксама ёсць выявы гэтых шматграннікаў з іншай нумарацыяй.

Я не ўключыў модулі для васьмі- або дзесяцівугольнікаў. Я зрабіў васьмігранныя, але яны даволі шчуплыя, гэта значыць, што атрыманыя мнагаграннікі не могуць існаваць у адным доме з кошкамі без дапамогі клею або пісталета. Калі вы не можаце зразумець, як зрабіць васьмігранныя альбо дзесяцігранныя модулі, адпраўце мне ліст, і я зраблю дыяграмы.

Калі вы зацікаўлены ў мнагагранніках, я б парэкамендаваў прачытаць Шматгранныя Мадэлі Веннінгера, Формы, Прастору і Сметрыю Холдена, а для больш матэматычнай апрацоўкі – Звычайныя Шматграннікі Коксета. На сайце есць вэб-старонка з прыгожымі візуалізацыямі аднастайных шматграннікаў http://www.mathconsult.ch/showroom/unipoly/index.html

Модульнае арыгамі сустракаецца ў многіх кнігах пра арыгамі. У іх адзначаюцца кнігі “Фуз” і “Касахара”, згаданыя вышэй, а таксама 3D Геаметрычныя Арыгамі Гуркевіца і Кусудама Ямагучы. Жанін Мозэлі вынайшла надзвычай просты модуль для большага і меншага зорчатых дванаццаціграннікаў. Калі вы зацікаўлены ў гэтым модулі, паведаміце мне, і я адкапаю яго для вас.

Нова гнучка техніка для калібрування камери

Оригінал статті: microsoft.com

Огляд

Ми пропонуємо нову гнучку техніку для легкого калібрування камери. Вона добре підходить для використання без спеціальних знань тривимірної геометрії або комп’ютерного зору. Техніка вимагає лише від камери спостерігати за площинним малюнком, що показаний у декількох (принаймні двох) різних орієнтаціях. Або камеру, або площинний малюнок можна вільно переміщувати. Рух не потрібно знати. Моделюється променеве спотворення кришталика. Запропонована процедура складається із рішення закритої форми з подальшим нелінійним уточненням на основі критерію максимальної вірогідності. Для тестування запропонованої техніки використовувались як комп’ютерне моделювання, так і реальні дані, де були отримані дуже хороші результати. Порівняно з класичними методами, в яких використовується дороге обладнання, таке як дві або три ортогональні площини, запропонована техніка більш проста у використанні та гнучка.

Експериментальні дані та результат калібрування камери

Модель площини містить візерунок 8×8 квадратів, тому є 256 кутів. Розмір візерунка 17 см х 17 см. Двовимірні координати (у дюймах) цих точок доступні тут. (Припускаємо, що площина знаходиться на Z = 0.)

Ми взяли п’ять готових CCD-камер PULNiX із 6-міліметровим об’єктивом. Роздільна здатність зображення – 640×480. П’ять зображень доступні тут: Зображення 1, Зображення 2, Зображення 3, Зображення 4 та Зображення 5. Перші два показані нижче. Ми можемо спостерігати значні спотворення лінз на зображеннях.

http://elelur.com/images/image1-300x225.gif
Зображення 1
http://elelur.com/images/image2-300x225.gif
Зображення 2

Кути були виявлені як перетин прямих ліній, пристосованих до кожного квадрата. Координати зображень доступні тут: точки зображення 1, точки зображення 2, точки зображення 3, точки зображення 4 та точки зображення 5. Нижче ми показуємо перші два зображення із виявленими точками, позначеними як +.

http://elelur.com/images/marked1-3-300x225.gif
Позначення 1-3
http://elelur.com/images/marked2-4-300x225.gif
Позначення 2-4

(інші зображення із позначеними точками доступні тут: позначення 3, позначення 4 та позначення 5.)

І ось те, що калібрування говорить нам про камеру: Піксель квадратний (співвідношення сторін = 1); фокусна відстань = 832,5 пікселів; центр зображення – (303.959, 206.585); спостерігається значне радіальне спотворення: k1 = -0,228601, k2 = 0,190353. Повний результат калібрування доступний тут. (Формат файлу калібрування: a, c, b, u0, v0, k1, k2, потім матриця обертання та вектор перекладу для першого зображення, матриця обертання та вектор перекладу для другого зображення тощо.)

Розрахункові параметри спотворення дозволяють нам виправити спотворення на вихідних зображеннях. Нижче ми показуємо перші два таких зображення з виправленими спотвореннями, які слід порівняти з першими двома зображеннями, показаними вище. Ми чітко бачимо, що вигнутий візерунок на вихідних зображеннях випрямлений.

http://elelur.com/images/UndistortIm1-5-300x225.gif
Неспотворене зображення 1-5
http://elelur.com/images/UndistortIm2-6-300x225.gif
Неспотворене зображення 2-6

Застосування для моделювання на основі зображень

Два зображення чайної упаковки (див. нижче) були зроблені тією ж камерою, що і вище для калібрування.

http://elelur.com/images/TeaBox1-7-300x225.gif
Чайна коробка 1-7
http://elelur.com/images/TeaBox2-8-300x225.gif
Чайна коробка 2-8

Видно в основному дві сторони. Після корекції променевих спотворень (чайна упаковка 1, чайна упаковка 2), ми вручну вибрали по 8 точок з кожного боку. Збіги тут для Зображення 1 і тут для Зображення 2

На цих 16 точках було створено програмне забезпечення структури-від-руху, яке ми розробили раніше, щоб побудувати часткову модель чайної форми. Реконструйована модель знаходиться у VRML. Реконструйовані точки з кожного боку дійсно є площинними, і ми обчислили кут між двома реконструйованими площинами, який дорівнює 94,7 градусів. Хоча у нас немає основної істини, але дві сторони чайної упаковки справді майже ортогональні одна одній.

HOWTO: Додавання менеджерів вікон без CDE до Dtlogin CDE

Оригінал: tiem.utk.edu

ОНОВЛЕННЯ: Як позбутися екрану заставки

Єдине питання, яке я коли-небудь собі задавав, заключається в наступному: “Коли я входжу в систему, я бачу “Запуск робочого столу openwindows”, як я можу змусити це зникнути?” На жаль, моя відповідь завжди була: “Не знаю, нічого, що я спробував, не спрацювало”. Тобто досі. Завдяки Девіду Занеллі мені зараз є щось корисне для передачі. Ось що ви робите:

  1. Відкрийте / usr / dt / bin / Xresources у вашому улюбленому редакторі.
  2. Шукайте рядки, що містять “dtstart_hello [0]”, і коментуйте їх.

Як приклад:

Перевірте це, спробуйте і дайте мені знати, що з цього вийшло. 

#
# Session startup clients and args
#
if [ “$SESSIONTYPE” = “altDt” ]; then dtstart_session[0]=”$SDT_ALT_SESSION”
# dtstart_hello[0]=”$SDT_ALT_HELLO”
else dtstart_session[0]=”$DT_BINPATH/dtsession”
# dtstart_hello[0]=”$DT_BINPATH/dthello &”
fi

СТАРА: оригінальна сторінка HOWTO

Оригінальний HOWTO знаходиться тут

ah4 class = news> НОВИЙ: скрипт оболонки make-dtlogin

Набридло намагатися з’ясовувати, як додати логіни до менеджера Dtlogin CDE? 

Набридло виривати волосся, намагаючись зрозуміти інструкції HOWTO? 

Нехай мій новий сценарій CDE DtLogin Creator зробить це за вас: 

make-dtlogin (Сценарій)

 make-dtlogin-1.1-1-sol2-sparc-usr.gz (Пакет Solaris у форматі потоку даних – встановлюється в /usr/bin за замовчуванням) 

Що вам знадобиться:

  • Сценарій make-dtlogin (вгорі)
  • Вибране ім’я для вашого нового сеансу входу в систему CDE (Наприклад: FVWM-2.x, KDE-3.x тощо…)
  • Два графічні файли розміром 237×237: один у форматі XPM, інший у форматі XBM
  • Якщо ви маєте намір запустити агент SSH, вам потрібно буде знати повний  шлях до програми ssh-agent (Наприклад: /usr/bin/ssh-agent)
  • Повний шлях до диспетчера нового вікна (Наприклад: /usr/local/bin/fvwm2,/usr/local/bin/startkde тощо…)
  • Для вас буде створено унікальне ім’я пакета з 9 символів, але вам буде запропоновано вказати власне (наприклад: DtKDE2, DtFVWM тощо…)

Що ви отримаєте:

Дайте відповідь на кілька простих запитань, і make-dtlogin представить вам файл пакету потоків даних Solaris у /var/spool/pkg/. Це дозволяє вам легко додавати файли конфігурації та видаляти файли конфігурації із системи за допомогою звичайних команд управління пакетами Solaris. Додайте файли за допомогою /usr/sbin/pkgadd, а потім введіть “/etc/init.d/dtlogin reset”, і коли dtlogin повернеться, ви побачите, що ваш новий логін відображається в меню “Параметри” -> “Сесія”.

Надійність:

Я доклав усіх зусиль, щоб спробувати переконатися, що make-dtlogin зрозумілий і надійний. Сценарій make-dtlogin буде:

  • Перевірте, чи не призведе надана інформація до генерування сеансу входу, який затьмарить існуючий сеанс входу, підказки перед продовженням. (Наприклад: я використовував make-dtlogin для прокатки мого власного сеансу входу в систему CDE для заміни системної версії, щоб я міг запустити програму ssh-agent разом з диспетчером вікон. Сценарій make-dtlogin помітив, що мій запропонований пакет замінить сеанс входу в систему CDE за замовчуванням і запросив мене, перед тим як продовжити.)
  • Перевірте, чи не буде інформація, запропонована для запропонованого пакету, генерувати файли, які конфліктуватимуть із файлами, що належать до існуючого сеансу входу, або замінюватимуть їх.
  • Перевірте правильність формату запропонованої назви пакета.
  • Перевірте систему, щоб переконатися, що запропонована назва пакета ще не існує, перед продовженням.
  • Переконайтеся, що запропонована назва сеансу ще не існує, перед тим як продовжити.
  • Перевірте наявність, дійсність та розміри даних файлів логотипів XPM та XBM.
  • Перевірте наявність та дійсність заданого шляху до менеджера вікон.

Тепер, наскільки це круто? 

Приклад:
Ось приклад сеансу. Я набирав символи жирним шрифтом білого кольору. ([Enter] означає, що я натиснув клавішу повернення.)Застереження: Я не несу відповідальності за будь-які збитки, спричинені використанням або неправильним використанням скрипта make-dtlogin.

ls
KDE.gif  KDE.xbm  KDE.xcf  KDE.xpm

make-dtlogin

CDE DtLogin Creator

This script will ask you a few questions about what kind of window manager you
would like to add to the CDE login screen, and then it will generate a Solaris
package datastream file for you that contains the new setup.

Before we begin, you will need the following:

1) A name for your new CDE login session. (Ex: FVWM)
2) The complete path to your window manager program. (Ex: /usr/local/bin/fvwm2)
3) Two 237×237 graphics files, one in XPM format, the other in XBM format.
4) If you intend to run the SSH agent along with your window manager, then you
   will need to know the full pathname to the ssh-agent program.  (Ex:
   /usr/bin/ssh-agent)

You should use your favorite graphics editor (such as the Gimp) to create a
pair of files to use as the logo for your new login.  (Your logos can look
like whatever you want, but you can also take a look at the files in
/usr/dt/appconfig/icons/C/ for examples.)

At any prompt, you may enter ‘?’ for help, or ‘q’ to quit.

Are you ready to continue? (y/n/q/?) [y]: ?
        If you can meet the above requirements then answer yes.  That is, if
        you have chosen a name for your login session, you know the complete
        path to your window manager (and optionally to your ssh-agent), and
        you have two, 237×237 graphics files, one in XPM format and the other
        in XBM format, then answer yes.  Otherwise answer no to exit the
        script and re-run it later when you are ready.

Are you ready to continue? (y/n/q/?) [y]: [enter]

What name would you like to use for this login? KDE-3.x

Generating filenames…
– /etc/dt/appconfig/icons/C/KDE-3.x-logo.pm
– /etc/dt/appconfig/icons/C/KDE-3.x-logo.bm
– /etc/dt/config/C/Xresources.d/Xresources.KDE-3.x
– /etc/dt/config/Xsession.KDE-3.x-phase1
– /etc/dt/config/Xsession.KDE-3.x-phase2
– /etc/dt/config/Xinitrc.KDE-3.x

Generating package name…
– Package Name: DtKDE3x

If you agree with the given package name, simply press
return, or enter your own package name below.

Package name for KDE-3.x CDE login? [DtKDE3x]: [enter]

Checking filenames…

Checking package name…


What is the full path to the XPM graphic logo file? ./KDE.gif

./KDE.gif does not appear to be a valid XPM graphics file, continue? (y/n/q/?)
[n]: [enter]
Okay, let’s try again then.

What is the full path to the XPM graphic logo file? ./KDE.xpm

What is the full path to the XBM graphic logo file? ./KDE.xbm

What is the full path to the window manager program? /usr/local/bin/startkde

Would you like to run the SSH agent inline with this window manager? 
(y/n/q/?) [y]: [enter]

What is the full path to the ssh-agent program? /usr/bin/ssh-agent



Okay, here’s what I have for your new CDE login:

Session name: KDE-3.x
XPM graphic logo: ./KDE.xpm
XBM graphic logo: ./KDE.xbm
Window manager: /usr/local/bin/startkde
Use SSH’s ssh-agent along with the window manager: y
ssh-agent: /usr/bin/ssh-agent




Is the above information correct? (y/n/?) [y]: [enter]



Creating package…
– Creating package in /tmp
– Making /tmp/DtKDE3x
– Making /tmp/DtKDE3x/etc
– Making /tmp/DtKDE3x/etc/dt
– Making /tmp/DtKDE3x/etc/dt/appconfig
– Making /tmp/DtKDE3x/etc/dt/appconfig/icons
– Making /tmp/DtKDE3x/etc/dt/appconfig/icons/C
– Making /tmp/DtKDE3x/etc/dt/config
– Making /tmp/DtKDE3x/etc/dt/config/C
– Making /tmp/DtKDE3x/etc/dt/config/C/Xresources.d
– Copying ./KDE.xpm
  to /tmp/DtKDE3x/etc/dt/appconfig/icons/C/KDE-3.x-logo.pm
– Copying ./KDE.xbm
  to /tmp/DtKDE3x/etc/dt/appconfig/icons/C/KDE-3.x-logo.bm
– Creating
  /tmp/DtKDE3x//etc/dt/config/C/Xresources.d/Xresources.KDE-3.x
– Creating
  /tmp/DtKDE3x//etc/dt/config/Xsession.KDE-3.x-phase1
– Creating
  /tmp/DtKDE3x//etc/dt/config/Xsession.KDE-3.x-phase2
– Creating
  /tmp/DtKDE3x//etc/dt/config/Xinitrc.KDE-3.x
– Creating /tmp/DtKDE3x/checkinstall
– Creating pkginfo file
– Creating prototype file
– Creating package spool directory
## Building pkgmap from package prototype file.
## Processing pkginfo file.
## Attempting to volumize 14 entries in pkgmap.
part  1 — 240 blocks, 19 entries
## Packaging one part.
/var/spool/pkg/DtKDE3x/pkgmap
/var/spool/pkg/DtKDE3x/pkginfo
/var/spool/pkg/DtKDE3x/install/checkinstall
/var/spool/pkg/DtKDE3x/reloc/etc/dt/appconfig/icons/C/KDE-3.x-logo.bm
/var/spool/pkg/DtKDE3x/reloc/etc/dt/appconfig/icons/C/KDE-3.x-logo.pm
/var/spool/pkg/DtKDE3x/reloc/etc/dt/config/C/Xresources.d/Xresources.KDE-3.x
/var/spool/pkg/DtKDE3x/reloc/etc/dt/config/Xinitrc.KDE-3.x
/var/spool/pkg/DtKDE3x/reloc/etc/dt/config/Xsession.KDE-3.x-phase1
/var/spool/pkg/DtKDE3x/reloc/etc/dt/config/Xsession.KDE-3.x-phase2
## Validating control scripts.
## Packaging complete.
– Transfering spool directory to datastream file
Transferring <DtKDE3x> package instance
– Checking datastream file: /var/spool/pkg/DtKDE3x-Solaris-root
Checking uninstalled stream format package <DtKDE3x> from </var/spool/pkg/DtKDE3x-Solaris-root>
## Checking control scripts.
## Checking package objects.
## Checking is complete.
– Removing /tmp/DtKDE3x
– Removing /var/spool/pkg/DtKDE3x

Done.

There is now a file on this host named:

        /var/spool/pkg/DtKDE3x-Solaris-root
        
This file is a datastream-format Solaris package that contains your new CDE
login session setup.  To install this file, type:

        pkgadd -d /var/spool/pkg/DtKDE3x-Solaris-root DtKDE3x

And then notify dtlogin of the changes by selecting “Options” from the dtlogin
screen and then “Reset Login Screen” from the Options pull-down menu.

After this, you should be able to click on “Options” from the dtlogin screen,
and then “Session” from the Options pull-down menu to see your new CDE login
(which will be listed as “KDE-3.x”).

cd /var/spool/pkg/
ls -al
total 244
drwxrwxrwt   2 root     bin          512 Mar  7 10:58 .
drwxr-xr-x  10 root     bin          512 Feb 18  2002 ..
-rw-r–r–   1 root     other     112640 Mar  7 10:58 DtKDE3x-Solaris-root

pkgchk -l -d `pwd`/DtKDE3x-* DtKDE3x
Checking uninstalled stream format package <DtKDE3x> from </var/spool/pkg/DtKDE3x-Solaris-root>
## Checking control scripts.
## Checking package objects.
Pathname: checkinstall
Type: installation file
Expected file size (bytes): 1593
Expected sum(1) of contents: 63377
Expected last modification: Mar 07 10:58:43 2003

Pathname: etc
Type: directory
Expected mode: 0755
Expected owner: root
Expected group: sys
Current status: installed

Pathname: etc/dt
Type: directory
Expected mode: 0755
Expected owner: root
Expected group: root
Current status: installed

Pathname: etc/dt/appconfig
Type: directory
Expected mode: 0755
Expected owner: root
Expected group: root
Current status: installed

Pathname: etc/dt/appconfig/icons
Type: directory
Expected mode: 0755
Expected owner: bin
Expected group: bin
Current status: installed

Pathname: etc/dt/appconfig/icons/C
Type: directory
Expected mode: 0755
Expected owner: bin
Expected group: bin
Current status: installed

Pathname: etc/dt/appconfig/icons/C/KDE-3.x-logo.bm
Type: regular file
Expected mode: 0644
Expected owner: root
Expected group: other
Expected file size (bytes): 44513
Expected sum(1) of contents: 8650
Expected last modification: Mar 07 10:58:43 2003
Current status: installed

Pathname: etc/dt/appconfig/icons/C/KDE-3.x-logo.pm
Type: regular file
Expected mode: 0644
Expected owner: root
Expected group: other
Expected file size (bytes): 58144
Expected sum(1) of contents: 57476
Expected last modification: Mar 07 10:58:43 2003
Current status: installed

Pathname: etc/dt/config
Type: directory
Expected mode: 0755
Expected owner: root
Expected group: bin
Current status: installed

Pathname: etc/dt/config/C
Type: directory
Expected mode: 0755
Expected owner: root
Expected group: bin
Current status: installed

Pathname: etc/dt/config/C/Xresources.d
Type: directory
Expected mode: 0755
Expected owner: root
Expected group: bin
Current status: installed

Pathname: etc/dt/config/C/Xresources.d/Xresources.KDE-3.x
Type: regular file
Expected mode: 0444
Expected owner: bin
Expected group: bin
Expected file size (bytes): 194
Expected sum(1) of contents: 16849
Expected last modification: Mar 07 10:58:43 2003
Current status: installed

Pathname: etc/dt/config/Xinitrc.KDE-3.x
Type: regular file
Expected mode: 0444
Expected owner: bin
Expected group: bin
Expected file size (bytes): 391
Expected sum(1) of contents: 32144
Expected last modification: Mar 07 10:58:43 2003
Current status: installed

Pathname: etc/dt/config/Xsession.KDE-3.x-phase1
Type: regular file
Expected mode: 0555
Expected owner: bin
Expected group: bin
Expected file size (bytes): 971
Expected sum(1) of contents: 9644
Expected last modification: Mar 07 10:58:43 2003
Current status: installed

Pathname: etc/dt/config/Xsession.KDE-3.x-phase2
Type: regular file
Expected mode: 0555
Expected owner: bin
Expected group: bin
Expected file size (bytes): 862
Expected sum(1) of contents: 508
Expected last modification: Mar 07 10:58:43 2003
Current status: installed

Pathname: pkginfo
Type: installation file
Expected file size (bytes): 157
Expected sum(1) of contents: 11987
Expected last modification: Mar 07 10:58:43 2003

## Checking is complete.

Застереження: Я не несу відповідальності за будь-які збитки, спричинені використанням або неправильним використанням скрипта make-dtlogin.

Вступ до оптимізації, третє видання

Оригінал статті: engr.colostate.edu

https://www.engr.colostate.edu/~echong/book3/front_small.jpg

Едвін К.П. Чонг та Станіслав Х. Чак
Серія Уайлі-Міжнауки в дискретній математиці та оптимізації
John Wiley & Sons, Inc.
Нью-Йорк
Авторське право © 2008
ISBN 0-471-75800-0, xvi + 584 с.


З задньої сторінки:

Дослідіть новітні додатки теорії та методів оптимізації

Задня кришка

Оптимізація займає центральне місце в будь-якій проблемі, що стосується прийняття рішень, будь то в техніці, математиці, статистиці, економіці, дослідженнях або інформатиці. Зараз, як ніколи, життєво важливо чітко усвідомити цю тему завдяки швидкому прогресу в комп’ютерних технологіях, включаючи розробку та доступність зручного програмного забезпечення, високошвидкісних та паралельних процесорів та мереж. Повністю оновлений з урахуванням сучасних розробок у цій галузі, «Вступ до оптимізації», «Третє видання» заповнюють потребу в доступному, але суворому введенні в теорію та методи оптимізації.

Книга починається з огляду основних визначень та позначень, а також наводиться відповідне основне тло лінійної алгебри, геометрії та числення. З цією основою автори починають досліджувати основні теми необмежених задач оптимізації, задач лінійного програмування та нелінійної обмеженої оптимізації. Представлено перспективу оптимізації глобальних методів пошуку, що включає обговорення генетичних алгоритмів, оптимізацію частинок та модельований алгоритм відпалу. Крім того, книга включає елементарне ознайомлення зі штучними нейронними мережами, опуклу оптимізацію та багатоцільову оптимізацію, що все представляє надзвичайний інтерес для студентів, дослідників та практиків.

До додаткових функцій третього видання належать:

  • Нові обговорення напіввизначеного програмування та лагранжевих алгоритмів
  • Нова глава про методи глобального пошуку
  • Новий розділ про багатоцільову оптимізацію
  • Нові та модифіковані приклади та вправи в кожному розділі, а також оновлена бібліографія, що містить нові посилання
  • Оновлений Посібник інструктора з повністю відпрацьованими рішеннями вправ

Численні схеми та малюнки, знайдені у всьому тексті, доповнюють письмову презентацію ключових понять, і за кожною главою слідують вправи MATLAB® та розв’язування задач, що підсилюють обговорювану теорію та алгоритми. Завдяки інноваційному висвітленню та прямолінійному підходу „Вступ до оптимізації”, „Третє видання” є чудовою книгою для курсів теорії та методів оптимізації на вищому та нижчому рівнях. Він також служить корисним, самостійним довідником для дослідників та професіоналів у широкому спектрі галузей.


Помилка

Доступна актуальна помилка у форматах Postscript та PDF.


Короткий зміст

( Докладніший зміст доступний.)

Передмова

Частина I. Математичний огляд

1 Методи доказування та деякі позначення
2 Векторні пробіли та матриц
3 Трансформації
4 Поняття з геометрії
5 Елементи числення

Частина ІІ. Необмежена оптимізація

6 Основи оптимізації з обмеженими наборами та без обмежень
7 Одновимірних методів пошуку
8 Градієнтних методів
9 Метод Ньютона
10 Методи спряженого спрямування
11 Квазіньютонівських методів
12 Розв’язування лінійних рівнянь
13 Необмежена оптимізація та нейронні мережі
14 Алгоритми глобального пошуку

Частина III. Лінійне програмування

15 Вступ до лінійного програмування
16 Симплексний метод
17 Двоїстість
18 Непрості методи

Частина IV. Нелінійна обмежена оптимізація

19 Проблеми з обмеженнями рівності
20 Проблеми з обмеженнями нерівності
21 Опукла проблема оптимізації
22 Алгоритми обмеженої оптимізації
23 Багатоцільова оптимізація

Список літератури

Алфавітний покажчик


Інформація про замовлення

Уайлі має інформацію про те, як замовити книгу.

Тільки для інструкторів: Копії посібників з рішень зберігаються в офісі компанії Wiley в Нью-Йорку. Щоб отримати копію посібника з рішень, надішліть факсом офіційний лист із запитом на бланк університету на номер 201-748-6825 або зверніться до Кетлін Пагльяро ([email protected])


Веб-сайт для курсів:

Теорема чотирьох кольорів

Оригінал статті: people.math.gatech.edu

На цій сторінці подано короткий зміст нового доказу чотириколірної теореми та чотириколірного алгоритму, знайденого Нілом Робертсоном, Даніелем П. Сандерсом, Полом Сеймуром та Робіном Томасом.


http://people.math.gatech.edu/~thomas/FC/usa.gif

Зміст:

  1. Історія.
  2. Чому новий доказ?
  3. Контур доказу.
  4. Основні особливості нашого доказу.
  5. Конфігурації.
  6. Правила розряду.
  7. Покажчики.
  8. Квадратичний алгоритм.
  9. Обговорення.
  10. Список літератури.

Історія.

Проблема чотирьох кольорів датується 1852 роком, коли Френсіс Гатрі, намагаючись розфарбувати карту графств Англії, помітив, що достатньо чотирьох кольорів. Він запитав свого брата Фредеріка, чи правда, що будь-яка карта може бути забарвлена чотирма кольорами таким чином, що сусідні регіони (тобто ті, що мають спільний відрізок межі, а не лише точку) отримують різні кольори. Потім Фредерік Гатрі передав гіпотезу ДеМоргану. Перші друковані посилання надійшли Кейлі в 1878 році.

Через рік з’явився перший “доказ” Кемпе; на його неправильність вказав Хівуд через 11 років. Інший невдалий доказ – завдяки Тейту в 1880 році; на пробіл у аргументації вказав Петерсен у 1891 р. Обидва невдалі докази мали певне значення. Кемпе відкрив те, що стало відомим як ланцюжки Кемпе, а Тейт знайшов еквівалент формулювання Теореми чотирьох кольорів з точки зору 3-крайового забарвлення.

Наступний великий внесок зробив Біркгофф, робота якого дозволила Франкліну в 1922 році довести, що чотири кольорові домисли справедливі для карт із щонайбільше 25 регіонами. Він також використовувався іншими математиками для досягнення різних форм прогресу у чотириколірній задачі. Окремо слід згадати Хіша, який винайшов два основні інгредієнти, необхідні для остаточного доказу – скорочуваність та розряд. Хоча концепцію зводимості вивчали і інші дослідники, схоже, що ідея розряду, вирішальна для невідворотності частини доказу, пов’язана з Хішем, і що саме він здогадався, що відповідний розвиток цього методу вирішити задачу чотирьох кольорів.

Це підтвердили Аппель та Хакен у 1976 р., Коли вони опублікували доказ чотириколірної теореми [1,2].

Чому новий доказ?

Є дві причини, чому доказ Аппеля-Хакена не є повністю задовільним.

  • Частина доказу, це те, що Аппель-Хакен використовує комп’ютер, і не може бути перевірена вручну, і
  • Навіть та частина, яка нібито перевіряється вручну, надзвичайно складна і нудна, і, наскільки нам відомо, ніхто не перевірив її повністю.

Фактично ми намагались перевірити доказ Аппеля-Хакена, але незабаром відмовились. Перевірка комп’ютерної частини вимагала б не лише великого програмування, але й введення описів 1476 графіків, і це навіть не було найбільш суперечливою частиною доказу.

Ми вирішили, що було б вигідніше опрацювати власні докази. Тож ми зробили і придумали доказ та алгоритм, які описані нижче.

Контур доказу.

Основна ідея доказу така ж, як у Аппеля та Хакена. Ми демонструємо набір з 633 “конфігурацій” і доводимо, що кожна з них “скорочувана”. Це технічна концепція, яка передбачає, що жодна конфігурація з цією властивістю не може з’являтися в мінімальному контраприкладі до чотириколірної теореми. Він також може бути використаний в алгоритмі, оскільки, якщо зменшена конфігурація з’являється в площинному графіку G, тоді можна за постійний час побудувати менший плоский графік G’, такий, що будь-яке чотиризабарвлення G’ може бути перетворено в чотиризабарвлення G в лінійний час.

З 1913 р. Відомо, що кожен мінімальний контрприклад чотириколірної теореми – це внутрішньо 6-з’єднана тріангуляція. У другій частині доказу ми доводимо, що принаймні одна з наших 633 конфігурацій з’являється у кожній внутрішньо 6-з’єднаній площинній тріангуляції (не обов’язково мінімальному контраприкладі до 4CT). Це називається доведенням невідворотності і застосовується “метод розряду”, вперше запропонований Хішем. Тут наш метод відрізняється від методу Аппеля та Хакена.

Основні особливості нашого доказу.

Ми підтверджуємо припущення Хіша, що, доводячи неминучість, зводима конфігурація може бути знайдена у другому сусідстві “перезарядженої” вершини; саме таким чином ми уникаємо проблем “занурення”, які були основним джерелом ускладнень для Аппеля та Хакена. Наш неминучий набір має розмір 633, на відміну від набору 1476 членів Аппеля та Хакена, і наш метод розряду використовує лише 32 правила розряду, замість 300+ Аппеля та Хакена. Нарешті, ми отримуємо квадратичний алгоритм чотирьох кольорових площинних графіків (описаний пізніше), покращений порівняно з квадратичним алгоритмом Аппеля та Хакена.

Конфігурації.

Майже тріангуляція є ненульовим графіком, де підключений loopless таким чином, що кожна кінцева область являє собою трикутник. Конфігурація К складається з ближньої тріангуляції G і відображення карти g з V(G) до цілих чисел з наступними властивостями:

  1. для кожної вершини v, G\v має не більше двох складових, а якщо їх дві, то ступінь v дорівнює g (v) -2,
  2. для кожної вершини v, якщо v не інцидентна з нескінченною областю, тоді g (v) дорівнює ступеню v, а в іншому випадку g (v) більше за ступінь v; і в будь-якому випадку g (v)> 4,
  3. K має розмір кільця щонайменше 2, де розмір кільця K визначається як сума g (v) – deg (v) -1, підсумована по всіх вершинах v, що падають з нескінченною областю, така що G\v є підключена.

При малюванні зображень конфігурацій ми використовуємо домовленість, запроваджену Хішем. Форми вершин вказують значення g(v) наступним чином: Суцільне чорне коло означає g(v) = 5, крапка (або те, що на зображенні взагалі відсутнє як символ) означає g(v) = 6, порожнисте коло означає g(v) = 7, порожнистий квадрат означає g (v) = 8, трикутник означає g(v) = 9, а п’ятикутник означає g(v) = 10. (Нам не потрібні вершини v з g (v)> 11, і лише одна вершина з g (v) = 11, для якої ми не використовуємо жодного спеціального символу.) На малюнку нижче показано 17 наших 633 конфігурацій, що скорочуються використовуючи зазначену конвенцію. Весь набір можна переглянути, натиснувши тут. (Ми посилаємось на (3.2) нашого документу [7] щодо значення “товстих країв” і “напівребер” на цих малюнках.)


http://people.math.gatech.edu/~thomas/FC/confs.gif

Будь-яка конфігурація, ізоморфна одній з 633 конфігурацій, показаних у [7], називається хорошою конфігурацією. Нехай Т – тріангуляція. У T з’являється конфігурація K = (G, g), якщо G – індукований підграф T, кожна кінцева область G є областю T, а g(v) дорівнює ступеню v в T для кожної вершини v G. Доводимо наступні два твердження.

ТЕОРЕМА 1. Якщо T є мінімальним контраприкладом до чотириколірної теореми, то хорошої конфігурації в T немає.

ТЕОРЕМА 2. Для кожної внутрішньо 6-зв’язаної тріангуляції T, в T. з’являється якась хороша конфігурація.

З наведених вище двох теорем випливає, що не існує жодного мінімального контрприкладу, і тому 4CT є істинним. Для першого доказу потрібен комп’ютер. Другий можна перевірити вручну за кілька місяців, або, використовуючи комп’ютер, можна перевірити приблизно за 20 хвилин.

Правила розряду.

Нехай T – внутрішньо 6-сполучена тріангуляція. Спочатку кожній вершині v присвоюється заряд 10 (6-град (v)). З формули Ейлера випливає, що сума зарядів усіх вершин дорівнює 120; зокрема, це позитивно. Тепер ми розподіляємо звинувачення згідно з наступними правилами, як зазначено нижче. Всякий раз, коли T має підграф, ізоморфний одному з графіків на малюнку нижче, що задовольняє специфікаціям ступеня (для вершини v правила зі знаком мінус поруч із v це означає, що ступінь відповідної вершини T є щонайбільше значенням, що визначається формою v, і аналогічно вершинам зі знаком плюс поруч; для вершин без знаку поруч потрібна рівність) заряд одиниці (два у випадку першого правила) повинен бути надісланий уздовж краю, позначений стрілкою.


http://people.math.gatech.edu/~thomas/FC/rules.gif

Ця процедура визначає новий набір нарахувань із однаковою загальною сумою. Оскільки загальна сума позитивна, у Т є вершина v, новий заряд якої позитивний. Ми показуємо, що хороша конфігурація з’являється у другому районі v.

Якщо ступінь v не більше 6 або принаймні 12, то це можна побачити досить легко за допомогою прямого аргументу. Однак для решти випадків докази набагато складніші. Тому ми написали докази офіційною мовою, щоб їх можна було перевірити за допомогою комп’ютера. Кожен окремий етап цих доказів можна перевірити людиною, але самі докази насправді не перевіряються вручну через їх довжину.

Покажчики.

Теоретична частина нашого доказу описана в [7]. 10-сторінковий огляд доступний в режимі онлайн. Раніше комп’ютерні дані та програми знаходились на анонімному ftp-сервері, але цей сервер припинено. Ці самі файли тепер доступні за адресою http://people.math.gatech.edu/~thomas/OLDFTP/four/ і їх можна зручно переглядати. Незалежний набір програм під керівництвом Бояна Мохара написав Гаспер Фіжавз.

Квадратичний алгоритм.

Вхідними даними алгоритму буде плоска тріангуляція G з n вершинами. (Це відбувається без втрати загальності, оскільки будь-який площинний графік можна триангулювати за лінійний час.) На виході буде розмальовано вершини G чотирма кольорами.

Якщо G має не більше чотирьох вершин, кожна вершина забарвлюється в інший колір. В іншому випадку, якщо G має вершину x ступеня k <5, то оточуюча її ланцюг C є “k-кільцем”. Перейдіть до аналізу кільцевого кільця нижче. В іншому випадку G має мінімальний ступінь п’ять. Для кожної вершини ми обчислюємо її заряд, як пояснено вище, і знаходимо вершину v позитивного заряду. З нашого доказу теореми 2 випливає, що або хороша конфігурація з’являється у другій околиці v (у цьому випадку її можна знайти за лінійний час), або k-кільце, що порушує визначення внутрішнього 6-з’єднання, можна знайти в лінійний час. В останньому випадку ми переходимо до аналізу k-кільця нижче, в першому випадку ми застосовуємо рекурсію до певного меншого графіка. Потім із чотирьох забарвлень цього меншого графіку за лінійний час можна побудувати чотириколірне забарвлення G.

Враховуючи k-кільце R, що порушує визначення внутрішнього 6-з’єднання, може бути використана процедура, розроблена Біркгоффом. Ми застосовуємо рекурсію до двох ретельно відібраних підграфів G. Потім із чотирьох забарвлень двох менших графіків за лінійний час можна побудувати чотири забарвлення G.

Обговорення.

Слід зазначити, що обидві наші програми використовують лише цілочисельну арифметику, і тому нам не потрібно мати справу з помилками округлення та подібними небезпеками арифметики з плаваючою комою. Однак можна навести аргумент, що наш ’’доказ’’ не є доказом у традиційному розумінні, оскільки він містить етапи, які люди ніколи не можуть перевірити. Зокрема, ми не довели правильність компілятора, на якому ми компілювали наші програми, а також не довели безпомилковість апаратного забезпечення, на якому працювали наші програми. Вони повинні сприйматися з вірою і, можливо, саме вони є джерелом помилок. Однак, з практичної точки зору, ймовірність помилки комп’ютера, яка послідовно і однаково з’являється у всіх запусках наших програм на всіх компіляторах під усіма операційними системами, на яких працюють наші програми, нескінченно мала в порівнянні з ймовірністю помилки людини під час такої ж перевірки. Окрім цієї гіпотетичної можливості комп’ютер постійно дає неправильну відповідь, решту нашого доказу можна перевірити так само, як традиційні математичні докази. Однак ми визнаємо, що перевірка комп’ютерної програми набагато складніше, ніж перевірка математичного доказу тієї ж тривалості.

Подяка.

Ми дякуємо Томасу Фаулеру, Крістоферу Карлу Хекману та Барретту Уоллсу за допомогу у підготовці цієї сторінки. Наша робота була частково підтримана Національним науковим фондом.

Список літератури.

  1. К. Аппель та В. Хакен, Кожна площинна карта чотириколірна. Частина I. Розрядка, Іллінойс Дж. Мат. 21 (1977), 429-490.
  2. К. Аппель, В. Хакен та Дж. Кох, Кожна площинна карта чотириколірна. Частина ІІ. Зменшення, Іллінойс Дж. Мат. 21 (1977), 491–567.
  3. К. Аппел та В. Хакен, Кожна площинна карта чотириколірна, Сучасна математика. 98 (1989).
  4. Г. Д. Біркгоф, Зводимість карт, Амер. Математ.. 35 (1913), 114-128.
  5. Х. Хіш, Untersuchungen zum Vierfarbenproblem, Hochschulskriptum 810 / a/b, Bibliographisches Institut, Mannheim 1969.
  6. А. Б. Кемпе, Про географічну проблему чотирьох кольорів, Амер. Матем., 2 (1879), 193-200.
  7. Н. Робертсон, Д. П. Сандерс, П. Д. Сеймур і Р. Томас, теорема про чотири кольори, Дж. Комбін. Теорія Сер. Б. 70 (1997), 2-44.
  8. Н. Робертсон, Д. П. Сандерс, П. Д. Сеймур і Р. Томас, новий доказ чотириколірної теореми, Електрон. Рез. Анонс. Амер. Математика Соц. 2 (1996), 17-25 (електронна).
  9. Т. Л. Саті, Тринадцять барвистих варіацій чотириколірної гіпотези Гатрі, Амер. Математика Щомісячник 79 (1972), 2-43.
  10. Т. Л. Сааті та ПК Кайнен, чотириколірна проблема. Напади та завоювання, Публікації Дувра, Нью-Йорк, 1986.
  11. П. Г. Тейт, Примітка щодо теореми про геометрію положення, Пер. \ Рой. Соц. Едінбург 29 (1880), 657-660.
  12. Х. Уітні та В.Т.Тутте, ланцюги Кемпе та чотири кольорові проблеми”, у Дослідженнях з теорії графів, Частина II (за ред. Д.Р. Доц. Америки, 1975, 378-413.

Вступ до MathXpert

Оригінал статті: cs.sjsu.edu

MathXpert дозволяє своєму користувачеві вирішувати математичні задачі та складати графіки. При вирішенні проблеми це дозволяє користувачеві побудувати поетапне рішення, а не просто дати однорядкову відповідь. Кожен крок виконується шляхом застосування якоїсь математичної операції до попереднього рядка і подається з обґрунтуванням. Користувач створює новий рядок за допомогою миші, щоб вибрати частину поточного рядка для зміни. Потім з’являється меню операцій, і користувач вибирає операцію, яку потрібно застосувати. Комп’ютер виконує складні дії, пов’язані із фактичним застосуванням цієї операції. Отже, ви не можете зробити “помилку”, як опускання знака мінус. Ви також захищені від логічних помилок, таких як ділення на нуль, і від концептуальних помилок, таких як застосування неправильного закону, такого як ln (a + b) = ln a+ ln b. Такого некоректного закону не можна знайти в меню, тому ви не можете застосовувати його. Завершивши роботу над проблемою, ви можете роздрукувати її та здати для домашнього завдання.

MathXpert не тільки має можливість виконувати окремі кроки за командою, але він також містить складний набір правил, що дозволяє вирішити майже будь-яку проблему підручника із зазначених предметів. Він використовує цю здатність для надання допомоги студенту, який не знає, що робити. За необхідності він може сформувати повне поетапне рішення для вивчення студентом. Він пропонує кілька менш екстремальних варіантів: є кнопка Підказка, а є кнопка AutoStep, яка зробить за вас один крок; є також кнопка ShowStep, яка запропонує вибрати, який вираз змінити.

MathXpert відрізняється від таких програм, як Maple і Mathematica, у таких основних аспектах:

  • Вона виробляє покрокові рішення, використовуючи операції, яких навчають студентів
  • Вона не дозволить вам зробити логічну помилку
  • Нею повністю керують миша, меню та кнопки. Час, необхідний для ефективного використання, становить близько п’яти хвилин.

MathXpert може робити багато різних типів графіків. Існує кілька особливостей, які відрізняють грейфер MathXpert від інших грейферів:

  • Він правильно малює графіки, навіть якщо функція має особливості. Інші графіки вставляють неправильні вертикальні лінії або неправильно зображують асимптотичні частини.
  • Це дозволяє швидко малювати ряд графіків, змінюючи значення параметра у формулі, не редагуючи формулу.
  • Він може графічно відображати будь-яку функцію. Наприклад, ви можете графічно зобразити часткові суми ряду Фур’є з кількістю доданків як параметр.

На цьому прикладі ви бачите, наскільки помилявся відомий математик Леонард Ейлер у 1753 році, коли він заперечував твердження Бернуллі про те, що будь-яку функцію можна записати як суму тригонометричного ряду. Ейлер вважав, що оскільки тригонометричні функції неперервні, сума їх ряду також повинна бути неперервною. Якби у нього був MathXpert, він би не допустив цієї помилки – ви можете чітко бачити, як розрив зростає із збільшенням кількості доданків, і ви можете чітко бачити те, що фізики називають “феноменом Гіббса” коливання поблизу розриву. Як би там не було, вплив Ейлера затримав розвиток серії Фур’є на п’ятдесят років. Фур’є повинен був бути обраним до Французької академії, перш ніж він міг опублікувати свої основні праці в 1807 році. Але я відступаю…

MathXpert продається компанією Help With Math. На цьому веб-сайті ви можете знайти більше інформації про MathXpert, включаючи опис того, як ним користуватися, разом із зразками екранів.

Якщо ви хочете прочитати мої статті про MathXpert, я рекомендую [37] для початку.

Одним із принципів, на якому базується MathXpert, є принцип коректності. Це означає, що комп’ютер ніколи не генеруватиме математично неправильний результат. Це не стосується інших програм символічного обчислення, що використовуються загалом. Наприклад, для інших програм можна отримати рівняння a = 0 і ділити на сторони на a. Результат буде 1 = 0, оскільки вони містять правило a / a =1, а також правило 0/a = 0.

Для досягнення мети математичної правильності потрібно було вбудувати в MathXpert досить витончену теорему – доводитель. Тоді існує прямий зв’язок між цим проектом прикладного програмного забезпечення та моїми дослідженнями в галузі автоматизованої дедукції, яка зосереджується на відносинах між логікою та обчисленнями. Цей аспект проекту зосереджений на роботах [30] та [34]. Оскільки довідник є більш-менш “невидимим” у MathXpert, він може використовувати деякі езотеричні прийоми, якщо вони корисні, і я виявив цікаве застосування нестандартного аналізу до проблеми переконання у правильності відрахувань у зв’язку з граничними проблемами.

Проблема та її вирішення за допомогою нестандартного аналізу наведені в [36].

Кілька інших принципів проектування, на яких базується MathXpert, пояснюються в [31] та [37].

Про Kermit

Оригінал статті: kermitproject.org

Frank da Cruz, [email protected]

125-а вулиця та Бродвей, Нью-Йорк

НОВИНИ

Набуло чинності з 1 липня 2011 року

  • Проект Керміта в Колумбійському університеті було скасовано
  • Відкрито новий веб-сайт проекту “Керміт” за адресою http://www.kermitproject.org.
  • Все програмне забезпечення Керміт отримало ліцензію з відкритим кодом.
  • Архів і веб-сайт Kermit ftp у Колумбії залишаться на місці (але не змінюватимуться).

Ласкаво просимо до нового проекту Керміт з відкритим кодом.

Оголошення Перехідна дорожня карта  Kermit 95 C-Kermit E-Kermit Інше програмне забезпечення Kermit

ЩО ТАКЕ KERMIT?

Kermit – це назва протоколу передачі файлів та управління ними та набору комп’ютерних програм для багатьох типів комп’ютерів, що реалізує цей протокол, а також інших комунікаційних функцій, починаючи від емуляції терміналу і закінчуючи автоматизацією комунікаційних завдань через перехід високого рівня – мова сценаріїв платформи. Програмне забезпечення не залежить від транспорту, працює через з’єднання TCP / IP у традиційному режимі чистого тексту або захищене SSH, SSL / TLS або Kerberos IV або V, а також через з’єднання послідовних портів, модеми та інші способи зв’язку (X.25, DECnet, різні протоколи локальної мережі, такі як NETBIOS та LAT, паралельні порти тощо на певних платформах).

Проект Керміт був заснований в Комп’ютерному центрі Колумбійського університету (нині CUIT) в 1981 році для задоволення конкретних потреб, і до середини та кінця 90-х років Керміт був стандартним програмним забезпеченням для підключення до настільних комп’ютерів Columbia, які універсально використовувалися студентами, викладачами та персоналом для підключення з настільними мікрокомп’ютерами, ПК, Macintoshes та робочими станціями Unix з центральними обчислювальними засобами: мейнфреймами IBM (1963-2017), DECSYSTEM-20 (1977-1988), CLIO (перша інтерактивна бібліотечна інформаційна система Columbia, 1984-2003) та Cunix (наші сервери, що базуються на Unix, з 1986 року по сьогоднішній день), а також до відомчих VAX, PDP-11, Suns та інших міні комп’ютерів. У перші дні використання мікрокомп’ютерів та ПК, але до широкого розгортання локальних мереж та настільних робочих станцій, які підключалися до них, програмне забезпечення Kermit пов’язувало робочий стіл з електронною поштою, дошками оголошень, спільним використанням файлів, обробкою тексту, обміном повідомленнями та іншими аспектами нової культури онлайн, яка зараз сприймається як само собою зрозуміле, задовго до того, як досвід був доступний у більшості інших установ. У Колумбії DEC-20 та відомчі мінікомп’ютери давно вже відійшли, і мейнфрейми IBM тепер призначені лише для використання в режимі доменів, але програмне забезпечення Kermit все ще використовується для сеансів SSH від робочого столу до CUNIX, та технічним персоналом для виконання системних та мережевих завдань; наприклад, налаштування стійок, заповнених серверами блейд-серверів HP, коли вони надходять, управління телефонною системою університету, сценарії CGI, альфа-сторінки для персоналу по виклику, тощо. Плюс, звичайно, старожили, які просто віддають перевагу безпеці та ефективності сеансів оболонки в текстовому режимі для електронної пошти та для того, щоб зробити свою роботу; наприклад, розробка програмного забезпечення та управління веб-сайтами.

Протягом багатьох років проект Kermit перетворився на всесвітню спільну діяльність з розробки та розповсюдження некомерційного програмного забезпечення, штаб-квартира якої знаходиться і координується в Колумбійському університеті, оскільки програмне забезпечення Керміт було перенесено на все більшу кількість комп’ютерів та операційних систем (див. перелік). Проект Kermit присвячений виробництву міжплатформенного, довготривалого, стабільного, сумісного із стандартами програмного забезпечення для взаємодії, і брав активну участь у процесі стандартів. Програмне забезпечення Kermit використовується у всьому світі в усіх галузях економіки: національному уряді, державному та місцевому уряді, академічному уряді, медицині та охороні здоров’я, машинобудуванні, аерокосмічній, некомерційній та комерційній.

Океанський поплавок EM-APEX

Незважаючи на те, що емуляція терміналів в основному витіснена Інтернетом для онлайн-доступу, програмне забезпечення Kermit продовжує відігравати роль в інших додатках, таких як дистанційне зондування та збір даних, управління та усунення несправностей мережевого та телекомунікаційного обладнання, робота з бек-офісом, управління вантажами та інвентарем, подання позовів про медичне страхування, електронний переказ коштів та подання декларацій з податку на прибуток через Інтернет. Програмне забезпечення Kermit вбудоване в мережеві маршрутизатори та комутатори, у вишки стільникових телефонів, у обладнання для медичної діагностики та моніторингу, навіть у кардіостимулятори, не кажучи вже про каси немало відомих роздрібних торговців “великої скриньки”. У 2002 році Керміт вилетів на Міжнародну космічну станцію, а програмне забезпечення Керміта є методом зв’язку, яким користуються Океанські плаваючі апарати EM APEX (ліворуч), що постачають дані в режимі реального часу дослідникам ураганів і трекерам до цього дня (проект урагану вступив у нову розширену фазу в 2010 році на основі нової версії Embedded Kermit).

Боїнг 787

Починаючи з 1980-х років, протокол і програмне забезпечення Kermit використовуються на заводських поверхах у програмованому штампному пресі, прес-гальмі, ламінуванні, плоскокатаному зсуві, різці, обробці металу та пластику, деревообробній та інших машинах. Наприклад, при виготовленні Boeing 787, де Kermit використовується для управління стрічковим шаром, який утворює певні компоненти кузова. Детальніше про те, як Керміт використовується на фабриці, ви можете прочитати тут і тут.

У 90-х роках програмне забезпечення Kermit використовувалося в автоматизації поштових відділень США, воно відіграло ключову роль у виборах у Бразилії в 1994 році (найбільших в історії на той час) і було центральним для місії ООН з надання допомоги в Боснії, “Пов’язуючи весь спектр операцій проекту, починаючи від мейнфрейму, міні-комп’ютера, ПК, закінчуючи портативними пристроями та пристроями зчитування штрих-кодів”

Світшот СРСР "Керміт"

У 1980-х роках надійність протоколу Керміта ідеально підходила йому для служіння в Зеленій революції в Африці, спільної в Європі та СРСР космічної місії Джотто, і, можливо, найбільш значущою для відновлення передачі даних між американськими дослідницькими станціями в Антарктиді та на материку після того, як вони були обірвані в 1986 році внаслідок нещасного випадку з комп’ютером під час 9-місячної антарктичної зими. У 1989 р. В Москві (СРСР) відбулася міжнародна конференція з питань Керміта, і сесії Керміта були представлені на інших конференціях протягом 1980-х рр. В Токіо, Берні, Парижі, Нешвілі та інших місцях.

Сторінка календаря маппет з травня 1981 року

Протокол і програмне забезпечення Керміта названі на честь Жаби Керміта, зірки телевізійного серіалу “Маппет-шоу”; ім’я Kermit використовується з дозволу Henson Associates, Inc. Чому воно назване на честь Жаби Kermit? У травні 1981 року ми вже працювали з першими реалізаціями протоколу, але у нас ще не було назви протоколу чи програмного забезпечення. Група з нас обговорювала це (я, Білл Кетчінгс, Білл Шиліт, Джефф Даменс, я думаю, що це була група), насправді не надто турбуючись, оскільки ми ніколи не очікували, що програмне забезпечення пошириться по всьому світу і триватиме десятки років. Я випадково зіткнувся зі стіною, на якій був мапетський календар, і оскільки мої діти були такими великими шанувальниками Маппет-шоу, я сказав: Як щодо Керміта? Через тридцять років (травень 2011 р.) ч знайшов сторінку календаря, на яку я дивився, коли сказав, що її можна побачити ліворуч і натиснути на неї, щоб побачити більше зображення.

ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ KERMIT

Програмне забезпечення Kermit розроблено для сотень різних комп’ютерів та операційних систем, частина з них – програмістами-добровольцями у всьому світі, частина – професійним персоналом проекту Kermit. Основними особливостями найпопулярніших програм Kermit є:

  • Встановлення та обслуговування з’єднання для широкого спектру методів підключення (TCP / IP, X.25, локальна мережа, послідовний порт, модем тощо).
  • Емуляція терміналу.
  • Безпомилкова передача файлів.
  • Інтернет-протоколи, включаючи Telnet, Rlogin, FTP та HTTP.
  • Методи Інтернет-безпеки, включаючи Kerberos, SSL / TLS, SSH та SRP.
  • Перетворення набору символів під час емуляції терміналу та передачі файлів – унікальна особливість програмного забезпечення Kermit.
  • Числове та буквено-цифрове підкачування.
  • Програмування сценаріїв для автоматизації складних або повторюваних завдань.

Користувацький інтерфейс Kermit та мова програмування сценаріїв узгоджуються між платформами та методами комунікації, що дозволяє інвестуванню в навчання окупитися час від часу, коли ви переходите з однієї платформи на іншу, один спосіб спілкування на інший.

Наші прем’єрні реалізації програмного забезпечення Kermit:

  • Kermit 95 для Windows 95/98/ME, Windows NT /2000/ XP / Vista / 7/8/10 та OS / 2;
  • C-Kermit для UNIX, VMS, VOS та деяких інших сімейств операційних систем;
  • E-Kermit для вбудовування.
  • MS-DOS Kermit для DOS та Windows 3.x;
  • Керміт IBM Mainframe для VM / CMS, MVS / TSO та CICS.

C-Kermit та IBM Mainframe Kermit – це пакети, що базуються на хості та мають неперевершений спектр універсальності. Kermit 95 і MS-DOS Kermit – це повнофункціональні програми для обміну даними з настільними комп’ютерами, які конкурують за якістю будь-чого іншого на (або поза ним) ринку, за винятком, можливо, флексії інтерфейсу користувача: програми Kermit дотримуються текстового режиму командних рядків ще з того часу, що бентежить деяких людей, поки вони не зрозуміють всі переваги:

  • Набір команд є досить послідовним на всіх платформах і майже повністю узгоджується на сучасних платформах, таких як Windows, Mac OS X, Linux та VMS. Вивчіть це один раз, використовуйте скрізь.
  • Команди можуть бути об’єднані в “макроси” або “програми” для автоматизації будь-якого завдання, яке можна виконати вручну, як описано тут. Насправді в C-Kermit та Kermit 95 мова команд є повноцінною мовою програмування зі змінними, структурами управління, функціями, “підпрограмами”, а також кількома сюрпризами.
  • Вам не потрібно знати команди заздалегідь і не вводити їх повністю. Стиль команди називається “контекстне меню на вимогу” (ви бачите доступні варіанти, коли набираєте знак питання), а ключові слова можна скорочувати. Існує велика кількість вбудованої довідки, і набагато більше допомоги можна знайти на веб-сайті Kermit; наприклад, підручник з C-Kermit та Kermit 95, лише для початку.
  • Сенсорні друкарки можуть працювати швидше, коли їм не доводиться відводити руки від клавіш дому, і вони менше страждають від повторної напруги.
  • Деякі речі просто неможливо зробити ефективно або взагалі за допомогою графічного інтерфейсу. Ось цілком випадковий приклад, але він має сенс:

На ПК у мене є каталог, що містить тисячі зображень разом із їх ескізами. Для кожного зображення xxx.jpg є мініатюра xxx-t.jpg. Я хочу завантажити всі ескізи у Photoshop. За допомогою миші це зайняло б цілий день. За допомогою Kermit ви можете зробити це так (у командному рядку Kermit):

mkdir thumbnails

rename *-t.jpg thumbnails/

А потім у підкаталозі ескізів Ctrl-A, виберіть «виділити все», і перетягніть у Photoshop (а потім, за бажанням, перетягніть ескізи назад до вихідного каталогу одним рухом миші або перейменуйте їх назад за допомогою однієї команди Kermit).

Упакований в роздріб упаковку Kermit 95 2.1

Kermit 95 був розроблений не лише для задоволення потреб Колумбії у підключенні від Windows 95 (і пізніших версій) до центральних текстових служб, а й для збору грошей на підтримку проекту Kermit. На відміну від інших програм Kermit, K95 був суто комерційним, доступний як у роздрібній упакованій версії (праворуч), так і в масових ліцензіях на право копіювання. З моменту його випуску в 1995 році до середини 2011 року було придбано понад чверть мільйонів ліцензійних місць для масових ліцензій у понад 1000 ліцензій розміром від 100 до 10000 місць. Було продано близько 30 000 упакованих копій, ще тисячі придбано для завантаження з електронної академії, а K95 отримав ліцензію на сайт понад 100 університетів, а також цілих загальнодержавних університетських систем, таких як SUNY (64 студентських містечка з близько 400 000 студентів).

Проект “Керміт” був заснований на самофінансуванні в 1984 році, і з того часу і до його скасування в 2011 році він отримав 8 894 912,00 доларів США доходу для університету, плюс грант на обладнання (проект “Ерміт”) на суму 3 000 000,00 доларів. З 1984 р., коли розпочався “бізнес” Керміта, і до 1998 р., коли Інтернет захопив світ, ми здійснили 31 591 поставку програмного забезпечення Керміта на магнітних носіях (переважно 10-дюймові котушки з 9-доріжковою магнітною стрічкою); 4679 з них міжнародні до 107 різних країн, включаючи деякі, які вже не існують, такі як СРСР та Югославія, а до інших, яких ви, можливо, навіть не очікуєте, такі як Нова Каледонія.

Kermit книги  Kermit 95  C-Kermit  E-Kermit  G-Kermit  Поточні версії програмного забезпечення

ПРОТОКОЛ KERMIT

З моменту свого створення в 1981 році протокол Kermit перетворився на складний, потужний та розширюваний транспортно-незалежний інструмент для передачі та управління файлами, що включає, серед іншого:

Протокол Kermit використовує чітко визначені, послідовні, перевірені помилками пакети в кожному напрямку, щоб здійснити сеанс передачі файлів, дотримуючись стандартних правил шарування протоколів. Пакети розроблені для максимальної прозорості, тому вони можуть передавати будь-який комунікаційний носій, яким би обмежувальним він не був. Напівдуплекс (зупинка та очікування), повнодуплексний (розсувні вікна з вибірковою ретрансляцією) та безперервне потокове переміщення можуть бути використані для адаптації до будь-якого з’єднання.

Особливістю, яка відрізняє протокол Kermit від більшості інших, є широкий діапазон налаштувань, що дозволяють адаптувати до будь-якого виду та якості зв’язку між будь-якими двома типами комп’ютерів – довжина пакета, кодування пакетів, розмір вікна, набір символів, метод виявлення помилок, час очікування, робить паузи. Більшість інших протоколів призначені для роботи лише з певними видами або якостями з’єднань та/або між певними видами комп’ютерів або подібними файловими системами, і тому, погано працюють (або взагалі не працюють) в інших місцях і пропонують декілька, якщо такі є способи адаптації до незапланованих ситуацій. Kermit, навпаки, дозволяє досягти успішної передачі файлів і максимально можливої продуктивності на будь-якому з підключень.

На відміну від FTP або X-, Y- та ZMODEM (інші протоколи, з якими найчастіше порівнюється Kermit), протокол Kermit не передбачає і не вимагає:

  • повнодуплексне з’єднання;
  • з’єднання, яке є прозорим для керування символами;
  • 8-бітове з’єднання;
  • чисте з’єднання;
  • великі буфери по всьому шляху зв’язку;
  • управління потоком фізичного рівня зв’язку.

(Хоча Керміт не вимагає жодної з цих умов, він може скористатися ними, коли вони будуть доступні). У статті, присвяченій протоколу Керміта, Тім Кіенцле у лютому 1996 р. У журналіДоктор Добб” зазначається, що “підхід до віконних процесів Керміта швидший за протоколи, такі як XModem та YModem… Багато людей не усвідомлюють, що за менш ніж ідеальних умов підхід до віконних процесів Керміта значно швидший, ніж ZModem, протокол із заслуженою репутацією для швидких передач через якісні лінії. Ефективність протоколу Керміта детально аналізується тут і тут.

Таким чином Керміт виконує роботу “нестандартно” майже щоразу. А на вищому рівні командна мова Kermit дозволяє використовувати всілякі зручні критерії вибору файлів у будь-якій комбінації, наприклад:

  • Узагальнюючі символи та шаблони, що відповідають іменам файлів
  • Вибір за діапазонами дат
  • Вибір за діапазонами розмірів
  • Тільки текстові файли
  • Тільки двійкові файли
  • Тільки файли, яких не існує на іншому кінці або, які є новішими
  • Списки та шаблони винятків

Виконати майже будь-яке групування, яке ви можете собі уявити. При передачі файл може перетворити набір символів, його можна пропустити через фільтр тощо, а після успішної передачі вихідний файл можна видалити або перейменувати, файл призначення можна перейменувати або надіслати поштою тощо.

Специфікація протоколу Керміта

Оригінальна книга Керміта

Специфікація протоколу передачі файлів Керміта наведена в книзі Фернка да Круза, Керміт, Протокол передачі файлів, з передмовою Дональда Кнута (тепер доступна в Інтернеті у форматі PDF). Специфікація також доступна в Інтернеті у шостому виданні Посібника з протоколу Керміта (1986). В обох не вистачає деяких пізніших уточнень, але вони включають режим сервера, довгі пакети, розсувні вікна тощо. Документація для подальших доповнень до протоколу збирається та є загальнодоступною ТУТ. Формальна специфікація та верифікація протоколу Керміт був опублікований Джеймсом Хаггінс Університету штату Мічиган в 1995 році; завантажити його можна ТУТ.

ПРИКЛАД ПЕРЕДАЧИ ФАЙЛІВ KERMIT

Давайте розглянемо поширений випадок, коли у вас є настільний комп’ютер із будь-яким з’єднанням (модем, послідовний порт, звичайний Telnet, захищений Telnet, rlogin, захищений rlogin, SSH) – до сеансу оболонки на сервері Unix (” Unix “= Linux, Mac OS X, FreeBSD, Solaris, AIX, HP-UX тощо), і ви хочете перенести файл між своїм ПК та сервером Unix. Вашим емулятором терміналу в Windows є Kermit 95, а на сервері Unix встановлено C-Kermit або G-Kermit, який можна викликати, просто ввівши “kermit” у командному рядку (або, можливо, “ckermit” або “gkermit”).

Щоб завантажити файл, скажімо, message.txt, введіть таку команду в наступному рядку:

kermit -s message.txt

Файл буде надісланий до поточного каталогу Kermit 95 на вашому ПК (або до його ЗАГАЛЬНОГО КАТАЛОГУ, якщо ви його визначили). Не має значення, текстовий чи двійковий файл; Керміт розбирається і автоматично передає у відповідному режимі.

Подібним чином, якщо ви хочете перенести групу файлів, скажімо, усі файли, імена яких починаються на „daily”:

kermit -s daily. *

Kermit надсилає кожен відповідний файл, автоматично перемикаючись між текстовим та двійковим режимами відповідно до кожного файлу (daily.jpg, daily.xls, daily.txt, …)

Завантажити файл з ПК на Unix так само просто. Припустимо, у вас є файл під назвою “budget.xls” у поточному каталозі Kermit 95 на вашому ПК. Щоб завантажити його в UNIX, введіть це в підказці оболонки Unix:

kermit -g budget.xls

Це основи; є багато варіацій та уточнень; наприклад:

  • Передайте лише файли, новіші за аналоги з іншого боку.
  • Перетворюйте набори символів текстових файлів належним чином (наприклад, між ISO 8859-1 та Unicode UTF-8).
  • Відновити часткову передачу з місця відмови (лише двійковий режим).

Щоб заощадити набравши текст, ви можете визначити псевдоніми в Unix (у своєму профілі оболонки):

alias s=”kermit -Ys”
alias g=”kermit -Yg”

(s для Відправки, g для Отримання). І потім:

s message.txt
g budget.xls

Варто зазначити, що ви передаєте свої файли за тим самим з’єднанням, яке вже є; таким чином, немає необхідності встановлювати нове з’єднання, повторно аутентифікувати себе або подібну бюрократію. Якщо з’єднання захищене SSH, Kerberos, SSL, TLS або SRP, то передача файлів також захищена автоматично.

Це свідчить про неперевершений ступінь зручності. Коли ви говорите C-Kermit на Unix щоб надсилати або отримувати файл, його перший пакет передачі файлів автоматично розпізнається емулятором терміналу Kermit 95 і K95 з’являється в режим прийому або в режимі сервера, залежно від напрямку та часу передачі. закінчивши, K95 повертається до екрану емуляції терміналу. Якщо сталася помилка (наприклад, якщо у вас немає дозволу на запис у цільовому каталозі), K95 залишається на екрані передачі файлів, щоб ви могли побачити, в чому проблема.

Ті самі процедури також працюють Unix-to-Unix, K95-to-VMS, Unix-to-VMS, VMS to Unix або OS / 2 для VMS або Unix, якщо ви використовуєте K95 або C-Kermit в якості свого терміналу програми.

ПРОТИПОКАЗАННЯ

Також див.: Популярні помилки.

Протягом багатьох років проект Керміта та програмне забезпечення були предметом різних суперечок, зокрема:

Ліцензія

З самого початку ми хотіли, щоб програмне забезпечення Kermit було безкоштовним для всіх. Але починаючи з 1984 року, Колумбійський університет змусив нас знайти спосіб, щоб його окупити; тобто виплачувати заробітну плату персоналу, що працює повний та неповний робочий день, а також за обладнання, витратні матеріали, телефон тощо. Інакше нам не буде дозволено продовжувати розробляти, підтримувати, поширювати та підтримувати програмне забезпечення, яке до того часу мало стати популярними у всьому світі.

Наше рішення полягало в тому, щоб забезпечити безкоштовне програмне забезпечення для кожної особи та організації для його/її власного використання, але вимагати від компаній ліцензувати його, якщо вони збираються пов’язати його з продуктом або іншим чином надати його клієнтам або клієнтам; тобто якщо вони прагнули заробляти гроші на нашій праці. Таким чином вони могли заробляти гроші, але їм довелося б ділитися ними з тими, хто виконував роботу.

Оскільки рух за вільне програмне забезпечення прижився, його прихильники різко заперечували проти такого підходу, але це дозволило проекту Керміта продовжуватись ще 10 років. Потім, у 1994 році, з майбутнім випуском Microsoft Windows 95, ми вирішили випустити одну і єдину програму Kermit, яка була на 100% комерційною: Kermit 95. Цей продукт дозволив Проекту Керміта процвітати приблизно до 2003 року, коли економіка США та світової економіки почала руйнуватися, і продовжувати існувати у дедалі меншій формі до 2011 року, коли проект Керміта в Колумбійському університеті був остаточно скасований. На той момент, оскільки нічия робота від цього вже не залежала, все програмне забезпечення Kermit, на яке ми мали повні права, було розміщено під ліцензією з відкритим кодом, і тепер усі щасливі, крім тих, хто втратив роботу, і тих, хто зателефонував на наш безкоштовний номер технічної підтримки, коли їм потрібна допомога. І ті, хто дивується, чому ніколи не було чергового випуску Kermit 95.

Керміт проти X/Y/ZMODEM

Протокол передачі файлів XMODEM був розроблений в іншому місці в 1977 році для передачі файлів по телефонному з’єднанню з одного мікрокомп’ютера на інший і, таким чином, знайшов широке застосування серед любителів комп’ютерів, шанувальників журналів BYTE, користувачів та адміністраторів систем BBS тощо. Його наступники, такі як YMODEM та ZMODEM, виросли в одній культурі, обслуговуючи приблизно однакову базу користувачів. У світі BBS лінії зв’язку завжди були на 100% прозорими для всіх значень 256 байт, що дозволяє цим протоколам бути відносно простими і все ще добре працювати в цьому середовищі; таким чином мешканці культури BBS/любителів не мали підстав, щоб потребувати або дізнаватися про Керміт.

Протокол Kermit, навпаки, був розроблений для з’єднань на мікро-мейнфреймах, які були набагато менш терпимими та набагато вибагливішими, оскільки зв’язки рідко були прозорими, а основні комп’ютери кардинально різними; наприклад, вони можуть використовувати різні формати файлів та набори символів для зберігання файлів. Тоді Керміт був спрямований більше на установи – університети, лікарні, корпорації, державні установи – які мали машинні кабінети з великими центральними спільними комп’ютерами або різноманітними міні-комп’ютерами відомств, а також окремих користувачів із ПК або робочими станціями за своїми робочими столами, а не на любителів, відносно однорідних персональних мікрокомп’ютерів.

XMODEM був болісно повільним протоколом, тому поштовхом було переробити його у все швидші та швидші протоколи; звідси YMODEM та ZMODEM. Але новіші протоколи MODEM все-таки передбачали (більш-менш) 100% прозоре з’єднання між двома однаковими або дуже схожими комп’ютерами.

Коли з’явилися YMODEM і ZMODEM, люди почали критикувати протокол Kermit за повільність, як це було насправді у його первісному вигляді: короткі пакети, оскільки більшість мейнфреймів не витримували тривалих сплесків вхідних даних з терміналу; напівдуплексна зупинка та очікування, оскільки мейнфрейми IBM не підтримували повнодуплексний зв’язок; кодування для друку для керуючих символів та 8-бітових символів, оскільки вони не можуть пройти через драйвер терміналу мейнфрейма. Таким чином, оригінальний протокол Керміта був «найменшим спільним знаменником» серед усіх платформ, де він мав працювати (і багато інших, крім того, як виявилося). Його головна сила полягала в тому, що він був пристосований до будь-якої платформи або методу зв’язку, включаючи ті, де сімейство XMODEM взагалі не підходило; наприклад, у світі мейнфреймів IBM.

Тим часом деякі програмні пакети BBS пропонували протокол Kermit у своїх меню Завантажити та Завантажити, але ці реалізації Kermit були незмінно мінімальними (тобто повільними), часто помилковими, а іноді і абсолютно нефункціональними (див. Сторінку Помилки щодо реалізації сторонніх протоколів Kermit). Це мало посилити враження в культурі любителів, що протокол Керміта повільний.

Для розгляду скарг на продуктивність ми скористались внутрішньою розширюваністю конструкції протоколу Kermit (в якій передачі починаються з фази узгодження функцій), щоб додати опції для довших пакетів та повнодуплексних розсувних вікон із селективною ретрансляцією, а також можливості стиснення та використання переваг прозорих та/або безпомилкових з’єднань (наприклад, мережевих з’єднань), коли вони були доступні. Ці зміни зробили протокол Kermit таким же швидким або швидшим, ніж ZMODEM, не жертвуючи його універсальністю, функціями перетворення даних, надійністю та (що найважливіше) зворотною сумісністю (саме тому ви не бачите окремих протоколів: XKERMIT, YKERMIT, ZKERMIT). Зміни у виконанні датуються приблизно 1993 роком; див. орієнтири.

Незважаючи на це, кожен табір мав своїх прихильників, що базувались, в основному, на власній культурі, і кожен, як правило, відкидав іншого, ця тенденція триває до сьогодні. Більшість критиків Kermit базують свої спостереження на програмному забезпеченні Kermit з початку 1980-х років або на реалізаціях сторонніх протоколів Kermit, які, як правило, працюють погано. Для більш детального обговорення див. сторінку Неправильні уявлення.

У 2013 році я помітив дискусію Slashdot щодо скасування проекту Керміта в Колумбійському університеті. Це досить добре ілюструє поточну тему, оскільки в дискусії домінують любителі та користувачі BBS. Але кілька обізнаних користувачів Kermit також внесли свій внесок; ось кілька прикладів:

  • Нічого собі, у часи коледжу та післядипломного навчання я використовував цей протокол у багатьох місцях і так багато способів, що навіть не можу почати рахувати. Це був дуже консервативний протокол, який міг пройти майже все. Одного разу мені довелося перейти від портативного комп’ютера через модемне з’єднання до комутатора даних Equinox до AT&T 3b5 Unix, і назад до Equinox (щоб змінити швидкість з 300 бод на 9600 бод) на конвертер протоколу IBM 7171 до IBM 4361. І він міг фактично передавати файли. Іншого разу мені довелося зробити стрес-тест симулятора терміналу DECNET на Sun (стара версія виходила з ладу в середині дня в найзавантаженіші дні). Тому я використовував kermit для підключення до host1, потім до host 2, назад до host 1 , повернувшись до хосту 2, я думаю приблизно 40 разів. Потім я зробив передачу файлів через усі з’єднання. Це спрацювало.
  • На початку 90-х я відповідав за підключення до Інтернету перших румунських університетів (зокрема, Бухареста) до Інтернету. Оскільки нам не вдалося запустити IP через різні технічні причини, ми вирішили надіслати їм принаймні електронною поштою. Перша спроба була з uucp, але вони не змогли впоратися з його операціями на стороні Бухареста. Тоді телефонні лінії були недостатньо стабільними. Отже, протягом перших 6 місяців електронною поштою було надіслано до Бухареста за допомогою передачі файлів Керміта, ініційованою хадж-скриптом сценаріїв MDA, викликаним sendmail. Тоді Kermit був набагато надійнішим за будь-який інший протокол передачі файлів, і ми вважали, що врешті-решт він міг обробляти передачі бітів по мокрим лініям одягу.
  • Так, його багато використовують у світі. Один з небагатьох доступних інструментів для відновлення замурованого пристрою на базі RS232. Використовується для таких речей, як gumstix, beagleboard та багато інших SBC, таких як вбудовані пристрої на базі ARM. Якщо ви робите / замовляєте власні версії або ваш власний товар не містить таких альтернатив, як можливості завантаження з карт MMC/SD, c-kermit – це одна з небагатьох речей, яка дозволяє завантажувати, завантажувати код, а потім переходити до консолі всіх від одного інструменту на таких пристроях. Багато разів рятував свою дупу (і своїх роботодавців) на замурованих або вбудованих пристроях.

У тому ж обговоренні є деякі скарги на те, що не було надано адекватних пояснень, чому деякі модулі Kermit 95 не можуть бути випущені у відкритому коді. Пояснення було, і є, ТУТ.

Посилання 

СТРАНИЦА РАЗВИВАЕТСЯ ПО МЕРЕ ИСПОЛЬЗОВАНИЯ…

Оригинал статьи: portal.nersc.gov

– FY019: 41,205 (01 сентября 2018 г. – 29 июля 2019 г.)
– FY15: 38,795
– FY14: 26,439
– FY13: 27,403
– FY012: 24,303 программного обеспечения, 3-е место по количеству скачиваний в LBNL
– FY011: 16,876
– FY09: 9983

  • В коммерческих математических библиотеках: Cray’s LibSci, FEMLAB, HP MathLib, IMSL, NAG, OptimaNumerics.
  • Другое коммерческое использование:

– дизайн самолета (например, Boeing)
– нефтяная промышленность (например, Chevron, ExxonMobil)
– развлечения (например, полнометражная анимация Walt Disney Feature)
– схемы, моделирование устройств в полупроводниковой промышленности (например, AMD) моделирование и прогноз землетрясений -> экономическое моделирование ->
– разработка новых материалов (например, программное обеспечение для оптического моделирования PhoeniX)
– скрининг/диагностика рака груди (например, Delphinus Medical Technologies)
– изучение альтернативных источников энергии (например, General Atomics)

  • В кодах приложения академических/лабораторных:

– Alquimia: код биогеохимии, гидрология и моделирование реактивного переноса, LBNL / LANL, https://github.com/LBL-EESA/alquimia-dev
– ASCEM/Amanzi: Расширенные возможности моделирования для управления окружающей средой, реактивный поток, DOE / LBNL, http://esd1.lbl.gov/research/projects/ascem/
– Моделирование повреждений в материалах: https://link.springer.com/chapter/10.1007/978-3-319-18827-0_18
– Denovo: моделирование переноса излучения для ядерных реакторов, DOE / ORNL, https://www.olcf.ornl.gov/wpcontent/uploads/2012/06/Denovo_factsheet_v3.pdf
– DGDFT: Двунаправленный метод Галеркина для функциональной теории плотности, DOE/LBNL, https://sites.google.com/site/dgdftscidac/home
– FEAP: анализ методом конечных элементов, Калифорнийский университет в Беркли, http://www.ce.berkeley.edu/projects/feap/
– H2plus: код моделирования воды Маккарди, DOE/LBNL
– HEMP-DM3a: дизайн космического корабля, Германия, https://www.researchgate.net/profile/Julia_Duras/publication/312587157_Solutioin_of_Poisson’s_Equation_in_Electrostatic_Particle-on-cell_Simulation/links/5883a10caca272b7b44422d3/Solutioin-of-Poissons-Equation-in-Electrostatic-Particle-on-cell-Simulation.pdf
– HiFi: моделирование нескольких жидкостей для плазменных приложений, Военно-морская исследовательская лаборатория США, http://www.nrl.navy.mil/ssd/branches/7680/hifi
– HotSpot: моделирование методом конечных элементов тепловой модели для проектирования микросхем, Univ. из Вирджинии и IBM, http://lava.cs.virginia.edu/HotSpot/index.htm
– M3D-C1: энергия плазменного синтеза, DOE/PPPL, http://theorycodes.pppl.wikispaces.net/M3D-C1 (Особенности)
– NIMROD: плазменное моделирование токамаков, https://nimrodteam.org
– NekTar: решатель Навье-Стокса спектральных элементов высокого порядка, Имперский колледж Лондона и Univ. Юты, http://www.nektar.info
– Omega3P: конструкция полости ускорителя, DOE / SLAC, https://confluence.slac.stanford.edu/display/AdvComp/Omega3P
– OpenSees: инженерия землетрясений, Калифорнийский университет в Беркли, http://opensees.berkeley.edu
– PMAMR: код AMR пористой среды для связывания углерода, DOE/LBNL
– PHOENIX: код звездной и планетной атмосферы, Гамбургская обсерватория, Германия, http://www.hs.uni-hamburg.de/index.php?option=com_content&view=article&id=14&Itemid=294&lang=en
– QUEST: Набор инструментов для квантового электронного моделирования, Калифорнийский университет в Дэвисе, http://quest.ucdavis.edu
– VORPAL: код моделирования физики плазмы, Tech-X
– XGC1: плазма, кинетическая краевая турбулентность, DOE/PPPL, http://theorycodes.pppl.wikispaces.net/XGC1
– LaMEM: конечно-разностный 3D-код для геодинамических приложений, Университет Йоханнеса Гутенберга, Майнц, Германия, https://bitbucket.org/bkaus/lamem

В академических/лабораторных решателях HPC: Hypre, MueLu, PETSc, ShyLU, SUNDIALS, Trilinos и т.д.

DESERT: Программирования на основе фрагментов

Оригинал статьи: cs.brown.edu

Обзор

DESERT – это среда программирования, которая пытается достичь недорогой интеграции данных в дополнение к интеграции управления, обеспечиваемой такими средами, как FIELD. Интеграция управления предполагает взаимодействие инструментов между собой. Интеграция данных предполагает, что инструменты фактически обмениваются данными. Классически интеграция данных осуществлялась за счет наличия центрального хранилища, которое содержало все абстрактные синтаксические деревья и другую информацию из системы (например, представление Diana для Ada), и использование инструментов этого хранилища. Это оказывается непрактичным (по крайней мере, это было примерно в 1990 году, когда мы начали этот проект), поскольку размер базы данных, количество необходимых дополнительных обновлений и скорость доступа, необходимого для инструментов, намного превышали размер базы данных систем или машин в то время. Таким образом, системы, которые пытались интегрировать данные, работали слишком медленно. Другим фактором было то, что представления данных были довольно сложными, и было трудно найти подходящее представление, которое можно было бы легко обновить и использовать с помощью самых разных инструментов.

DESERT попытался предоставить преимущества интеграции данных без дополнительных затрат. Он поддерживал минимальное центральное хранилище, содержащее только ту информацию, которая действительно должна была быть разделена между инструментами. По большей части это была просто глобальная таблица символов с информацией о типе, данных, которые легко извлечь из компилятора и относительно легко поддерживать. Затем он разделил реальную программу на логические части, называемые фрагментами, и поддержал базу данных с информацией о фрагментах. Фрагменты представляли классы, методы, объявления и т.д. – по сути, они были логическими единицами, которые программист считал в терминах.

DESERT использовал базу данных символов для предоставления актуальной информации обо всей системе, редактируемой программистом. Он может определять природу каждого идентификатора и сообщать, когда идентификаторы были определены или не определены. Эта информация использовалась для форматирования, обработки пользовательских запросов и предоставления пользователям обратной связи относительно возможных ошибок. База данных фрагментов вместе с базой данных символов использовалась для создания виртуальных файлов, состоящих из фрагментов. Если пользователь хотел изменить определенную функцию, он/она мог создать виртуальный файл, содержащий эту функцию и все фрагменты, которые вызывали эту функцию. Затем этот виртуальный файл можно было отредактировать и сохранить. При сохранении различные фрагменты будут обновлены в своих исходных файлах. DESERT предоставил блокировку и другие услуги для поддержки совместного использования и разработки реального программного обеспечения с использованием виртуальных файлов.

Помимо использования фрагментов, DESERT показал, что вы можете предоставлять высококачественные просмотры программ во время редактирования. Основываясь на предыдущем исследовании Беккера и Маркуса о том, как наиболее эффективно представлять программы, DESERT использовал Adobe FrameMaker в качестве редактора программ, автоматически конвертируя исходный текст обычной программы в форматированный документ, который приближался к результатам Беккера-Маркуса. Более того, документ поддерживался динамически, поскольку пользователь вводил его по нажатию клавиши.

В DESERT мы также продолжили нашу предыдущую работу по визуализации программного обеспечения. DESERT включал систему 3D-визуализации, которая могла извлекать данные из различных баз данных и из других источников, таких как gprof. Первоначальная версия этой системы называлась CACTI, которая в конечном итоге эволюционировала в VALLEY.

Статьи

Framents: механизм низкозатратной интеграции данных

Упрощение интеграции данных: дизайн среды разработки программного обеспечения Desert

Редактирование программ в среде разработки программного обеспечения

Динамическое определение программных визуализаций

Управление конфигурацией с помощью логических структур

Формальная модель объектно-ориентированного управления конфигурациями

Визуализация программного обеспечения в пустынной среде

Пустынная среда

DESERT Изображения

http://cs.brown.edu/~spr/research/desert/fred01.xwd.jpg
http://cs.brown.edu/~spr/research/desert/fred02.xwd.jpg
http://cs.brown.edu/~spr/research/desert/fred03.xwd.jpg
http://cs.brown.edu/~spr/research/desert/fred04.xwd.jpg

Редактор программ на основе FrameMaker

http://cs.brown.edu/~spr/research/desert/fragedit.xwd.jpg
Редактирование фрагментов
http://cs.brown.edu/~spr/research/desert/fins.xwd.jpg
Динамическое встраивание фрагмента UML в редактор
http://cs.brown.edu/~spr/research/desert/food.xwd.jpg
Инструмент для поиска классов и методов-кандидатов посредством анализа части речи
http://cs.brown.edu/~spr/research/desert/litp.xwd.jpg
Расширение грамотного программирования до редактора
http://cs.brown.edu/~spr/research/desert/cacti01.xwd.jpg
Инструмент для определения новых визуализаций
http://cs.brown.edu/~spr/research/desert/cacti03.xwd.jpg
http://cs.brown.edu/~spr/research/desert/cacti07.xwd.jpg
http://cs.brown.edu/~spr/research/desert/cacti09.xwd.jpg
http://cs.brown.edu/~spr/research/desert/cacti10.xwd.jpg
http://cs.brown.edu/~spr/research/desert/cacti11.xwd.jpg

Примеры визуализации

http://cs.brown.edu/~spr/research/desert/mirage01.xwd.jpg
http://cs.brown.edu/~spr/research/desert/mirage02.xwd.jpg
http://cs.brown.edu/~spr/research/desert/mirage03.xwd.jpg
http://cs.brown.edu/~spr/research/desert/mirage04.xwd.jpg
http://cs.brown.edu/~spr/research/desert/mirage07.xwd.jpg

Больше визуализаций

Видео DESERT

http://streamod.cs.brown.edu:8801/J/n/mdres.mp4

http://streamod.cs.brown.edu:8801/J/l/mdres.mp4

Получить программное обеспечение

Программное обеспечение Desert по-прежнему компилируется и иногда даже работает на платформе Solaris. Тем не менее, я бы не ожидал, что это будет так полезно, поскольку он не был обновлен довольно давно, и компиляторы (он использует исходные возможности браузера Sun) и FrameMaker немного изменились с момента последнего тестирования. Я смог дать ограниченные демонстрации текущего программного обеспечения в Brown, но не был бы оптимистичен в отношении его использования в других местах.

Desert источник