Kai Salomaa

Kai T. Salomaa is a Finnish Canadian theoretical computer scientist, known for his numerous contributions to the state complexity of finite automata.[1][2][3][4][5] His highly cited 1994 joint paper with Yu and Zhuang[6] laid the foundations of the area. He has published over 100 papers in scientific journals on various subjects in formal language theory. Salomaa is a full professor at Queen's University (Kingston, Ontario).

Kai Salomaa
Born
Alma materUniversity of Turku
Known forformal language theory, state complexity
Scientific career
FieldsAutomata theory
InstitutionsQueen's University
ThesisAlternation and Pushdown Stores in Computations of Tree Automata (1989)
Doctoral advisor

Biography

Salomaa did his undergraduate studies at the University of Turku, where he has earned his Ph.D. degree in 1989; his dissertation was jointly supervised by Ronald V. Book and Magnus Steinby. In the 1990s, Salomaa worked at the University of Western Ontario. Since 1999, he holds a professor position at Queen's University. His father, Arto Salomaa, is also a distinguished computer scientist with numerous contributions to the fields of automata theory and formal languages.

gollark: I was intending to make it catch segfaults and mmap in a new region or something to make them not segfault. Unfortunately, this *apparently* invokes vast amounts of horrible undefined behavior and "isn't allowed" and "will summon nasal demons which will destroy everything".
gollark: Unfortunately, my excellent code appears to not work properly.```c#include <stdio.h>#include <signal.h>#include <string.h>#include <stdlib.h>#include <sys/mman.h>#include <unistd.h>static void handler(int sig, siginfo_t *info, void *utterly_worthless_argument) { printf("oh bees segfault %08x\n", info->si_addr); int ps = getpagesize(); long ad = (long)info->si_addr; ad = ad - (ad % ps); mmap((void*)ad, 0x10000, PROT_NONE, MAP_ANONYMOUS|MAP_FIXED, -1, 0);}int main() { struct sigaction sa; sigemptyset(&sa.sa_mask); sa.sa_flags = SA_NODEFER; sa.sa_sigaction = handler; sigaction(SIGSEGV, &sa, NULL); *(int*)NULL = -3; printf("thing done\n"); return 0;}```
gollark: Why are people not arbitraging this?
gollark: I don't think you can do that without extra hardware.
gollark: No.

References

  1. Salomaa, Kai; Yu, Sheng (1997). "NFA to DFA transformation for finite languages". 1260: 149–158. doi:10.1007/3-540-63174-7_12. ISSN 0302-9743. Cite journal requires |journal= (help)
  2. Salomaa, Arto; Salomaa, Kai; Yu, Sheng (2007). "State complexity of combined operations". Theoretical Computer Science. 383 (2–3): 140–152. doi:10.1016/j.tcs.2007.04.015. ISSN 0304-3975.
  3. Domaratzki, Michael; Salomaa, Kai (2008). "Lower bounds for the transition complexity of NFAs". Journal of Computer and System Sciences. 74 (7): 1116–1130. doi:10.1016/j.jcss.2008.02.007. ISSN 0022-0000.
  4. Salomaa, Kai (2009). "State Complexity of Nested Word Automata". 5457: 59–70. doi:10.1007/978-3-642-00982-2_5. ISSN 0302-9743. Cite journal requires |journal= (help)
  5. Okhotin, Alexander; Salomaa, Kai (2014). "Complexity of input-driven pushdown automata". ACM SIGACT News. 45 (2): 47–67. doi:10.1145/2636805.2636821. ISSN 0163-5700.
  6. Yu, Sheng; Zhuang, Qingyu; Salomaa, Kai (1994). "The state complexities of some basic operations on regular languages". Theoretical Computer Science. 125 (2): 315–328. doi:10.1016/0304-3975(92)00011-F. ISSN 0304-3975.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.